From: Maxious Date: Tue, 11 Oct 2011 12:14:52 +0000 Subject: Account for bus stations in myway timeliness calculate X-Git-Url: http://maxious.lambdacomplex.org/git/?p=busui.git&a=commitdiff&h=2fe8b7fdc62fb76b530905d04c8e416421669368 --- Account for bus stations in myway timeliness calculate --- --- /dev/null +++ b/.gitignore @@ -1,1 +1,9 @@ +/labs/tiles/12 +/labs/tiles/13 +/labs/tiles/14 +/labs/tiles/15 +/labs/tiles/16 +/labs/tiles/17 +/labs/tiles/19 +/nbproject/private/ --- a/about.php +++ b/about.php @@ -1,35 +1,55 @@

-Busness Time - An ACT bus timetable webapp
-Based on the maxious-canberra-transit-feed (download, -last updated )
-Source code for the transit -feed and this -site available from github.
-Uses jQuery Mobile, PHP, PostgreSQL, OpenTripPlanner, OpenLayers, OpenStreetMap, Cloudmade Geocoder and Tile Service
-
-Feedback encouraged; contact maxious@lambdacomplex.org
+ Busness Time - An ACT bus timetable webapp
+ Based on the maxious-canberra-transit-feed (download, + last updated )
+ Source code for the transit + feed and this + site available from github.
+ Uses jQuery Mobile, PHP, PostgreSQL, OpenTripPlanner, OpenLayers, OpenStreetMap, Cloudmade Geocoder and Tile Service
+ Suburb Geocoding Based on Australian Bureau of Statistics data.
+ Street geocoding based on work by OpenStreetMap contributors

-Some icons by Joseph Wain / glyphish.com
-Native clients also available for iPhone(cbrTimetable by Sandor Kolotenko -, ACT Buses by David Sullivan) -and Android (MyBus 2.0 by Imagine Team) -
-
-Disclaimer: The content of this website is of a general and informative nature. Please check with printed timetables or those available on http://action.act.gov.au before your trip. -Whilst every effort has been made to ensure the high quality and accuracy of the Site, the Author makes no warranty, -express or implied concerning the topicality, correctness, completeness or quality of the information, which is provided -"as is". The Author expressly disclaims all warranties, including but not limited to warranties of fitness for a particular purpose and warranties of merchantability. -All offers are not binding and without obligation. The Author expressly reserves the right, in his discretion, to suspend, -change, modify, add or remove portions of the Site and to restrict or terminate the use and accessibility of the Site -without prior notice. - + Feedback encouraged; contact maxious@lambdacomplex.org
+
+ Some icons by Joseph Wain / glyphish.com
+ Native clients also available for iPhone(cbrTimetable by Sandor Kolotenko + , ACT Buses by David Sullivan) + and Android (MyBus 2.0 by Imagine Team) +
+ GTFS-realtime API: + Alerts and Trip Updates (but only Cancelled or Stop Skipped) + Default format binary Protocol Buffer but can get JSON by adding ?ascii=yes +
+
+ Disclaimer: The content of this website is of a general and informative nature. Please check with printed timetables or those available on http://action.act.gov.au before your trip. + Whilst every effort has been made to ensure the high quality and accuracy of the Site, the Author makes no warranty, + express or implied concerning the topicality, correctness, completeness or quality of the information, which is provided + "as is". The Author expressly disclaims all warranties, including but not limited to warranties of fitness for a particular purpose and warranties of merchantability. + All offers are not binding and without obligation. The Author expressly reserves the right, in his discretion, to suspend, + change, modify, add or remove portions of the Site and to restrict or terminate the use and accessibility of the Site + without prior notice. + --- a/aws/awsStartup.sh +++ b/aws/awsStartup.sh @@ -5,38 +5,9 @@ #postgres postgres-server php-pg #http://www.how2forge.org/installing-lighttpd-with-php5-and-mysql-support-on-fedora-12 -cp /root/aws.php /tmp/ -mkdir /var/www/lib/staticmaplite/cache -chcon -h system_u:object_r:httpd_sys_content_t /var/www -chcon -R -h root:object_r:httpd_sys_content_t /var/www/* -chcon -R -t httpd_sys_content_rw_t /var/www/lib/staticmaplite/cache -chmod -R 777 /var/www/lib/staticmaplite/cache -chcon -R -t httpd_sys_content_rw_t /var/www/labs/tiles -chmod -R 777 /var/www/labs/tiles -wget http://s3-ap-southeast-1.amazonaws.com/busresources/cbrfeed.zip \ --O /var/www/cbrfeed.zip +sh busuiphp.sh +sh busuidb.sh +sh busuiotp.sh -createdb transitdata -createlang -d transitdata plpgsql -psql -d transitdata -f /var/www/lib/postgis.sql -# curl https://github.com/maxious/ACTBus-ui/raw/master/transitdata.cbrfeed.sql.gz -o transitdata.cbrfeed.sql.gz -#made with pg_dump transitdata | gzip -c > transitdata.cbrfeed.sql.gz -gunzip /var/www/transitdata.cbrfeed.sql.gz -psql -d transitdata -f /var/www/transitdata.cbrfeed.sql -#createuser transitdata -SDRP -#password transitdata -#psql -d transitdata -c \"GRANT SELECT ON TABLE agency,calendar,calendar_dates,routes,stop_times,stops,trips TO transitdata;\" -#psql -d transitdata -c "GRANT SELECT,INSERT ON TABLE myway_observations,myway_routes,myway_stops,myway_timingdeltas TO transitdata;" -#psql -d transitdata -c "GRANT SELECT,INSERT,UPDATE ON TABLE myway_routes,myway_stops TO transitdata;" -##psql -d transitdata -c "GRANT SELECT ON ALL TABLES IN SCHEMA public TO transitdata;" -php /var/www/updatedb.php -wget http://s3-ap-southeast-1.amazonaws.com/busresources/Graph.obj \ --O /tmp/Graph.obj -rm -rfv /usr/share/tomcat6/webapps/opentripplanner* -wget http://s3-ap-southeast-1.amazonaws.com/busresources/opentripplanner-webapp.war \ --O /usr/share/tomcat6/webapps/opentripplanner-webapp.war -wget http://s3-ap-southeast-1.amazonaws.com/busresources/opentripplanner-api-webapp.war \ --O /usr/share/tomcat6/webapps/opentripplanner-api-webapp.war -/etc/init.d/tomcat6 restart --- /dev/null +++ b/aws/busuidb.sh @@ -1,1 +1,14 @@ - +createdb transitdata +createlang -d transitdata plpgsql +psql -d transitdata -f /var/www/lib/postgis.sql +# curl https://github.com/maxious/ACTBus-ui/raw/master/transitdata.cbrfeed.sql.gz -o transitdata.cbrfeed.sql.gz +#made with pg_dump transitdata | gzip -c > transitdata.cbrfeed.sql.gz +gunzip /var/www/transitdata.cbrfeed.sql.gz +psql -d transitdata -f /var/www/transitdata.cbrfeed.sql +#createuser transitdata -SDRP +#password transitdata +#psql -d transitdata -c "GRANT SELECT ON TABLE agency,calendar,calendar_dates,routes,stop_times,stops,trips TO transitdata;" +#psql -d transitdata -c "GRANT SELECT,INSERT ON TABLE myway_observations,myway_routes,myway_stops,myway_timingdeltas TO transitdata;" +#psql -d transitdata -c "GRANT SELECT,INSERT,UPDATE ON TABLE myway_routes,myway_stops TO transitdata;" +##psql -d transitdata -c "GRANT SELECT ON ALL TABLES IN SCHEMA public TO transitdata;" +php /var/www/updatedb.php --- /dev/null +++ b/aws/busuiotp.sh @@ -1,1 +1,10 @@ +wget http://s3-ap-southeast-1.amazonaws.com/busresources/Graph.obj \ +-O /tmp/Graph.obj +/etc/init.d/tomcat6 stop +rm -rfv /usr/share/tomcat6/webapps/opentripplanner* +wget http://s3-ap-southeast-1.amazonaws.com/busresources/opentripplanner-webapp.war \ +-O /usr/share/tomcat6/webapps/opentripplanner-webapp.war +wget http://s3-ap-southeast-1.amazonaws.com/busresources/opentripplanner-api-webapp.war \ +-O /usr/share/tomcat6/webapps/opentripplanner-api-webapp.war +/etc/init.d/tomcat6 restart --- /dev/null +++ b/aws/busuiotp.testing.sh @@ -1,1 +1,10 @@ +wget http://s3-ap-southeast-1.amazonaws.com/busresources/testing/Graph.obj \ +-O /tmp/Graph.obj +/etc/init.d/tomcat6 stop +rm -rfv /usr/share/tomcat6/webapps/opentripplanner* +wget http://s3-ap-southeast-1.amazonaws.com/busresources/testing/opentripplanner-webapp.war \ +-O /usr/share/tomcat6/webapps/opentripplanner-webapp.war +wget http://s3-ap-southeast-1.amazonaws.com/busresources/testing/opentripplanner-api-webapp.war \ +-O /usr/share/tomcat6/webapps/opentripplanner-api-webapp.war +/etc/init.d/tomcat6 restart --- /dev/null +++ b/aws/busuiphp.sh @@ -1,1 +1,12 @@ +cp /root/aws.php /tmp/ +chmod 777 /var/cache/lighttpd/compress/ +chcon -h system_u:object_r:httpd_sys_content_t /var/www +chcon -R -h root:object_r:httpd_sys_content_t /var/www/* + +chcon -R -t httpd_sys_content_rw_t /var/www/labs/tiles +chmod -R 777 /var/www/labs/tiles + +wget http://s3-ap-southeast-1.amazonaws.com/busresources/cbrfeed.zip \ +-O /var/www/cbrfeed.zip + --- /dev/null +++ b/aws/data-sources.xml @@ -1,1 +1,13 @@ + + + + + + + + + + + --- /dev/null +++ b/aws/transitdata.sql @@ -1,1 +1,13761 @@ - +-- +-- PostgreSQL database dump +-- + +-- Dumped from database version 9.0.4 +-- Dumped by pg_dump version 9.0.4 +-- Started on 2011-10-10 16:28:13 + +SET statement_timeout = 0; +SET client_encoding = 'UTF8'; +SET standard_conforming_strings = off; +SET check_function_bodies = false; +SET client_min_messages = warning; +SET escape_string_warning = off; + +-- +-- TOC entry 2766 (class 1262 OID 18349) +-- Name: transitdata; Type: DATABASE; Schema: -; Owner: postgres +-- + +CREATE DATABASE transitdata WITH TEMPLATE = template0 ENCODING = 'UTF8' LC_COLLATE = 'English_Australia.1252' LC_CTYPE = 'English_Australia.1252'; + + +ALTER DATABASE transitdata OWNER TO postgres; + +\connect transitdata + +SET statement_timeout = 0; +SET client_encoding = 'UTF8'; +SET standard_conforming_strings = off; +SET check_function_bodies = false; +SET client_min_messages = warning; +SET escape_string_warning = off; + +-- +-- TOC entry 1167 (class 2612 OID 11574) +-- Name: plpgsql; Type: PROCEDURAL LANGUAGE; Schema: -; Owner: postgres +-- + +CREATE OR REPLACE PROCEDURAL LANGUAGE plpgsql; + + +ALTER PROCEDURAL LANGUAGE plpgsql OWNER TO postgres; + +SET search_path = public, pg_catalog; + +-- +-- TOC entry 1088 (class 0 OID 0) +-- Name: box2d; Type: SHELL TYPE; Schema: public; Owner: postgres +-- + +CREATE TYPE box2d; + + +-- +-- TOC entry 15 (class 1255 OID 18351) +-- Dependencies: 6 1088 +-- Name: box2d_in(cstring); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION box2d_in(cstring) RETURNS box2d + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'BOX2DFLOAT4_in'; + + +ALTER FUNCTION public.box2d_in(cstring) OWNER TO postgres; + +-- +-- TOC entry 19 (class 1255 OID 18352) +-- Dependencies: 6 1088 +-- Name: box2d_out(box2d); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION box2d_out(box2d) RETURNS cstring + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'BOX2DFLOAT4_out'; + + +ALTER FUNCTION public.box2d_out(box2d) OWNER TO postgres; + +-- +-- TOC entry 1087 (class 1247 OID 18350) +-- Dependencies: 19 6 15 +-- Name: box2d; Type: TYPE; Schema: public; Owner: postgres +-- + +CREATE TYPE box2d ( + INTERNALLENGTH = 16, + INPUT = box2d_in, + OUTPUT = box2d_out, + ALIGNMENT = int4, + STORAGE = plain +); + + +ALTER TYPE public.box2d OWNER TO postgres; + +-- +-- TOC entry 1091 (class 0 OID 0) +-- Name: box3d; Type: SHELL TYPE; Schema: public; Owner: postgres +-- + +CREATE TYPE box3d; + + +-- +-- TOC entry 20 (class 1255 OID 18355) +-- Dependencies: 6 1091 +-- Name: box3d_in(cstring); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION box3d_in(cstring) RETURNS box3d + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'BOX3D_in'; + + +ALTER FUNCTION public.box3d_in(cstring) OWNER TO postgres; + +-- +-- TOC entry 21 (class 1255 OID 18356) +-- Dependencies: 6 1091 +-- Name: box3d_out(box3d); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION box3d_out(box3d) RETURNS cstring + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'BOX3D_out'; + + +ALTER FUNCTION public.box3d_out(box3d) OWNER TO postgres; + +-- +-- TOC entry 1090 (class 1247 OID 18354) +-- Dependencies: 20 6 21 +-- Name: box3d; Type: TYPE; Schema: public; Owner: postgres +-- + +CREATE TYPE box3d ( + INTERNALLENGTH = 48, + INPUT = box3d_in, + OUTPUT = box3d_out, + ALIGNMENT = double, + STORAGE = plain +); + + +ALTER TYPE public.box3d OWNER TO postgres; + +-- +-- TOC entry 1094 (class 0 OID 0) +-- Name: box3d_extent; Type: SHELL TYPE; Schema: public; Owner: postgres +-- + +CREATE TYPE box3d_extent; + + +-- +-- TOC entry 22 (class 1255 OID 18359) +-- Dependencies: 6 1094 +-- Name: box3d_extent_in(cstring); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION box3d_extent_in(cstring) RETURNS box3d_extent + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'BOX3D_in'; + + +ALTER FUNCTION public.box3d_extent_in(cstring) OWNER TO postgres; + +-- +-- TOC entry 23 (class 1255 OID 18360) +-- Dependencies: 6 1094 +-- Name: box3d_extent_out(box3d_extent); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION box3d_extent_out(box3d_extent) RETURNS cstring + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'BOX3D_extent_out'; + + +ALTER FUNCTION public.box3d_extent_out(box3d_extent) OWNER TO postgres; + +-- +-- TOC entry 1093 (class 1247 OID 18358) +-- Dependencies: 6 22 23 +-- Name: box3d_extent; Type: TYPE; Schema: public; Owner: postgres +-- + +CREATE TYPE box3d_extent ( + INTERNALLENGTH = 48, + INPUT = box3d_extent_in, + OUTPUT = box3d_extent_out, + ALIGNMENT = double, + STORAGE = plain +); + + +ALTER TYPE public.box3d_extent OWNER TO postgres; + +-- +-- TOC entry 1097 (class 0 OID 0) +-- Name: chip; Type: SHELL TYPE; Schema: public; Owner: postgres +-- + +CREATE TYPE chip; + + +-- +-- TOC entry 24 (class 1255 OID 18363) +-- Dependencies: 6 1097 +-- Name: chip_in(cstring); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION chip_in(cstring) RETURNS chip + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'CHIP_in'; + + +ALTER FUNCTION public.chip_in(cstring) OWNER TO postgres; + +-- +-- TOC entry 25 (class 1255 OID 18364) +-- Dependencies: 6 1097 +-- Name: chip_out(chip); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION chip_out(chip) RETURNS cstring + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'CHIP_out'; + + +ALTER FUNCTION public.chip_out(chip) OWNER TO postgres; + +-- +-- TOC entry 1096 (class 1247 OID 18362) +-- Dependencies: 6 25 24 +-- Name: chip; Type: TYPE; Schema: public; Owner: postgres +-- + +CREATE TYPE chip ( + INTERNALLENGTH = variable, + INPUT = chip_in, + OUTPUT = chip_out, + ALIGNMENT = double, + STORAGE = extended +); + + +ALTER TYPE public.chip OWNER TO postgres; + +-- +-- TOC entry 1100 (class 0 OID 0) +-- Name: geography; Type: SHELL TYPE; Schema: public; Owner: postgres +-- + +CREATE TYPE geography; + + +-- +-- TOC entry 26 (class 1255 OID 18367) +-- Dependencies: 6 +-- Name: geography_analyze(internal); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION geography_analyze(internal) RETURNS boolean + LANGUAGE c STRICT + AS '$libdir/postgis-1.5', 'geography_analyze'; + + +ALTER FUNCTION public.geography_analyze(internal) OWNER TO postgres; + +-- +-- TOC entry 27 (class 1255 OID 18368) +-- Dependencies: 6 1100 +-- Name: geography_in(cstring, oid, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION geography_in(cstring, oid, integer) RETURNS geography + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'geography_in'; + + +ALTER FUNCTION public.geography_in(cstring, oid, integer) OWNER TO postgres; + +-- +-- TOC entry 28 (class 1255 OID 18369) +-- Dependencies: 6 1100 +-- Name: geography_out(geography); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION geography_out(geography) RETURNS cstring + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'geography_out'; + + +ALTER FUNCTION public.geography_out(geography) OWNER TO postgres; + +-- +-- TOC entry 29 (class 1255 OID 18370) +-- Dependencies: 6 +-- Name: geography_typmod_in(cstring[]); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION geography_typmod_in(cstring[]) RETURNS integer + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'geography_typmod_in'; + + +ALTER FUNCTION public.geography_typmod_in(cstring[]) OWNER TO postgres; + +-- +-- TOC entry 30 (class 1255 OID 18371) +-- Dependencies: 6 +-- Name: geography_typmod_out(integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION geography_typmod_out(integer) RETURNS cstring + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'geography_typmod_out'; + + +ALTER FUNCTION public.geography_typmod_out(integer) OWNER TO postgres; + +-- +-- TOC entry 1099 (class 1247 OID 18366) +-- Dependencies: 30 29 26 6 27 28 +-- Name: geography; Type: TYPE; Schema: public; Owner: postgres +-- + +CREATE TYPE geography ( + INTERNALLENGTH = variable, + INPUT = geography_in, + OUTPUT = geography_out, + TYPMOD_IN = geography_typmod_in, + TYPMOD_OUT = geography_typmod_out, + ANALYZE = geography_analyze, + ALIGNMENT = double, + STORAGE = main +); + + +ALTER TYPE public.geography OWNER TO postgres; + +-- +-- TOC entry 1103 (class 0 OID 0) +-- Name: geometry; Type: SHELL TYPE; Schema: public; Owner: postgres +-- + +CREATE TYPE geometry; + + +-- +-- TOC entry 31 (class 1255 OID 18374) +-- Dependencies: 6 +-- Name: geometry_analyze(internal); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION geometry_analyze(internal) RETURNS boolean + LANGUAGE c STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_analyze'; + + +ALTER FUNCTION public.geometry_analyze(internal) OWNER TO postgres; + +-- +-- TOC entry 32 (class 1255 OID 18375) +-- Dependencies: 6 1103 +-- Name: geometry_in(cstring); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION geometry_in(cstring) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_in'; + + +ALTER FUNCTION public.geometry_in(cstring) OWNER TO postgres; + +-- +-- TOC entry 33 (class 1255 OID 18376) +-- Dependencies: 6 1103 +-- Name: geometry_out(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION geometry_out(geometry) RETURNS cstring + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_out'; + + +ALTER FUNCTION public.geometry_out(geometry) OWNER TO postgres; + +-- +-- TOC entry 34 (class 1255 OID 18377) +-- Dependencies: 6 1103 +-- Name: geometry_recv(internal); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION geometry_recv(internal) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_recv'; + + +ALTER FUNCTION public.geometry_recv(internal) OWNER TO postgres; + +-- +-- TOC entry 35 (class 1255 OID 18378) +-- Dependencies: 6 1103 +-- Name: geometry_send(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION geometry_send(geometry) RETURNS bytea + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_send'; + + +ALTER FUNCTION public.geometry_send(geometry) OWNER TO postgres; + +-- +-- TOC entry 1102 (class 1247 OID 18373) +-- Dependencies: 6 31 35 34 33 32 +-- Name: geometry; Type: TYPE; Schema: public; Owner: postgres +-- + +CREATE TYPE geometry ( + INTERNALLENGTH = variable, + INPUT = geometry_in, + OUTPUT = geometry_out, + RECEIVE = geometry_recv, + SEND = geometry_send, + ANALYZE = geometry_analyze, + DELIMITER = ':', + ALIGNMENT = int4, + STORAGE = main +); + + +ALTER TYPE public.geometry OWNER TO postgres; + +-- +-- TOC entry 1105 (class 1247 OID 18382) +-- Dependencies: 6 2407 +-- Name: geometry_dump; Type: TYPE; Schema: public; Owner: postgres +-- + +CREATE TYPE geometry_dump AS ( + path integer[], + geom geometry +); + + +ALTER TYPE public.geometry_dump OWNER TO postgres; + +-- +-- TOC entry 1108 (class 0 OID 0) +-- Name: gidx; Type: SHELL TYPE; Schema: public; Owner: postgres +-- + +CREATE TYPE gidx; + + +-- +-- TOC entry 36 (class 1255 OID 18384) +-- Dependencies: 6 1108 +-- Name: gidx_in(cstring); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION gidx_in(cstring) RETURNS gidx + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'gidx_in'; + + +ALTER FUNCTION public.gidx_in(cstring) OWNER TO postgres; + +-- +-- TOC entry 37 (class 1255 OID 18385) +-- Dependencies: 6 1108 +-- Name: gidx_out(gidx); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION gidx_out(gidx) RETURNS cstring + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'gidx_out'; + + +ALTER FUNCTION public.gidx_out(gidx) OWNER TO postgres; + +-- +-- TOC entry 1107 (class 1247 OID 18383) +-- Dependencies: 37 6 36 +-- Name: gidx; Type: TYPE; Schema: public; Owner: postgres +-- + +CREATE TYPE gidx ( + INTERNALLENGTH = variable, + INPUT = gidx_in, + OUTPUT = gidx_out, + ALIGNMENT = double, + STORAGE = plain +); + + +ALTER TYPE public.gidx OWNER TO postgres; + +-- +-- TOC entry 1111 (class 0 OID 0) +-- Name: pgis_abs; Type: SHELL TYPE; Schema: public; Owner: postgres +-- + +CREATE TYPE pgis_abs; + + +-- +-- TOC entry 38 (class 1255 OID 18388) +-- Dependencies: 6 1111 +-- Name: pgis_abs_in(cstring); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION pgis_abs_in(cstring) RETURNS pgis_abs + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'pgis_abs_in'; + + +ALTER FUNCTION public.pgis_abs_in(cstring) OWNER TO postgres; + +-- +-- TOC entry 39 (class 1255 OID 18389) +-- Dependencies: 6 1111 +-- Name: pgis_abs_out(pgis_abs); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION pgis_abs_out(pgis_abs) RETURNS cstring + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'pgis_abs_out'; + + +ALTER FUNCTION public.pgis_abs_out(pgis_abs) OWNER TO postgres; + +-- +-- TOC entry 1110 (class 1247 OID 18387) +-- Dependencies: 39 38 6 +-- Name: pgis_abs; Type: TYPE; Schema: public; Owner: postgres +-- + +CREATE TYPE pgis_abs ( + INTERNALLENGTH = 8, + INPUT = pgis_abs_in, + OUTPUT = pgis_abs_out, + ALIGNMENT = double, + STORAGE = plain +); + + +ALTER TYPE public.pgis_abs OWNER TO postgres; + +-- +-- TOC entry 1114 (class 0 OID 0) +-- Name: spheroid; Type: SHELL TYPE; Schema: public; Owner: postgres +-- + +CREATE TYPE spheroid; + + +-- +-- TOC entry 40 (class 1255 OID 18392) +-- Dependencies: 6 1114 +-- Name: spheroid_in(cstring); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION spheroid_in(cstring) RETURNS spheroid + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'ellipsoid_in'; + + +ALTER FUNCTION public.spheroid_in(cstring) OWNER TO postgres; + +-- +-- TOC entry 41 (class 1255 OID 18393) +-- Dependencies: 6 1114 +-- Name: spheroid_out(spheroid); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION spheroid_out(spheroid) RETURNS cstring + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'ellipsoid_out'; + + +ALTER FUNCTION public.spheroid_out(spheroid) OWNER TO postgres; + +-- +-- TOC entry 1113 (class 1247 OID 18391) +-- Dependencies: 41 6 40 +-- Name: spheroid; Type: TYPE; Schema: public; Owner: postgres +-- + +CREATE TYPE spheroid ( + INTERNALLENGTH = 65, + INPUT = spheroid_in, + OUTPUT = spheroid_out, + ALIGNMENT = double, + STORAGE = plain +); + + +ALTER TYPE public.spheroid OWNER TO postgres; + +-- +-- TOC entry 42 (class 1255 OID 18395) +-- Dependencies: 6 1102 +-- Name: _st_asgeojson(integer, geometry, integer, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION _st_asgeojson(integer, geometry, integer, integer) RETURNS text + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_asGeoJson'; + + +ALTER FUNCTION public._st_asgeojson(integer, geometry, integer, integer) OWNER TO postgres; + +-- +-- TOC entry 43 (class 1255 OID 18396) +-- Dependencies: 6 1099 +-- Name: _st_asgeojson(integer, geography, integer, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION _st_asgeojson(integer, geography, integer, integer) RETURNS text + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'geography_as_geojson'; + + +ALTER FUNCTION public._st_asgeojson(integer, geography, integer, integer) OWNER TO postgres; + +-- +-- TOC entry 44 (class 1255 OID 18397) +-- Dependencies: 1102 6 +-- Name: _st_asgml(integer, geometry, integer, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION _st_asgml(integer, geometry, integer, integer) RETURNS text + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_asGML'; + + +ALTER FUNCTION public._st_asgml(integer, geometry, integer, integer) OWNER TO postgres; + +-- +-- TOC entry 45 (class 1255 OID 18398) +-- Dependencies: 6 1099 +-- Name: _st_asgml(integer, geography, integer, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION _st_asgml(integer, geography, integer, integer) RETURNS text + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'geography_as_gml'; + + +ALTER FUNCTION public._st_asgml(integer, geography, integer, integer) OWNER TO postgres; + +-- +-- TOC entry 46 (class 1255 OID 18399) +-- Dependencies: 6 1102 +-- Name: _st_askml(integer, geometry, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION _st_askml(integer, geometry, integer) RETURNS text + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_asKML'; + + +ALTER FUNCTION public._st_askml(integer, geometry, integer) OWNER TO postgres; + +-- +-- TOC entry 47 (class 1255 OID 18400) +-- Dependencies: 6 1099 +-- Name: _st_askml(integer, geography, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION _st_askml(integer, geography, integer) RETURNS text + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'geography_as_kml'; + + +ALTER FUNCTION public._st_askml(integer, geography, integer) OWNER TO postgres; + +-- +-- TOC entry 49 (class 1255 OID 18402) +-- Dependencies: 6 1099 +-- Name: _st_bestsrid(geography); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION _st_bestsrid(geography) RETURNS integer + LANGUAGE sql IMMUTABLE STRICT + AS $_$SELECT _ST_BestSRID($1,$1)$_$; + + +ALTER FUNCTION public._st_bestsrid(geography) OWNER TO postgres; + +-- +-- TOC entry 48 (class 1255 OID 18401) +-- Dependencies: 1099 6 1099 +-- Name: _st_bestsrid(geography, geography); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION _st_bestsrid(geography, geography) RETURNS integer + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'geography_bestsrid'; + + +ALTER FUNCTION public._st_bestsrid(geography, geography) OWNER TO postgres; + +-- +-- TOC entry 50 (class 1255 OID 18403) +-- Dependencies: 1102 6 1102 +-- Name: _st_buffer(geometry, double precision, cstring); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION _st_buffer(geometry, double precision, cstring) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT COST 100 + AS '$libdir/postgis-1.5', 'buffer'; + + +ALTER FUNCTION public._st_buffer(geometry, double precision, cstring) OWNER TO postgres; + +-- +-- TOC entry 51 (class 1255 OID 18404) +-- Dependencies: 1102 6 1102 +-- Name: _st_contains(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION _st_contains(geometry, geometry) RETURNS boolean + LANGUAGE c IMMUTABLE STRICT COST 100 + AS '$libdir/postgis-1.5', 'contains'; + + +ALTER FUNCTION public._st_contains(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 52 (class 1255 OID 18405) +-- Dependencies: 1102 6 1102 +-- Name: _st_containsproperly(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION _st_containsproperly(geometry, geometry) RETURNS boolean + LANGUAGE c IMMUTABLE STRICT COST 100 + AS '$libdir/postgis-1.5', 'containsproperly'; + + +ALTER FUNCTION public._st_containsproperly(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 53 (class 1255 OID 18406) +-- Dependencies: 1102 6 1102 +-- Name: _st_coveredby(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION _st_coveredby(geometry, geometry) RETURNS boolean + LANGUAGE c IMMUTABLE STRICT COST 100 + AS '$libdir/postgis-1.5', 'coveredby'; + + +ALTER FUNCTION public._st_coveredby(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 54 (class 1255 OID 18407) +-- Dependencies: 1102 1102 6 +-- Name: _st_covers(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION _st_covers(geometry, geometry) RETURNS boolean + LANGUAGE c IMMUTABLE STRICT COST 100 + AS '$libdir/postgis-1.5', 'covers'; + + +ALTER FUNCTION public._st_covers(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 55 (class 1255 OID 18408) +-- Dependencies: 1099 1099 6 +-- Name: _st_covers(geography, geography); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION _st_covers(geography, geography) RETURNS boolean + LANGUAGE c IMMUTABLE STRICT COST 100 + AS '$libdir/postgis-1.5', 'geography_covers'; + + +ALTER FUNCTION public._st_covers(geography, geography) OWNER TO postgres; + +-- +-- TOC entry 56 (class 1255 OID 18409) +-- Dependencies: 1102 6 1102 +-- Name: _st_crosses(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION _st_crosses(geometry, geometry) RETURNS boolean + LANGUAGE c IMMUTABLE STRICT COST 100 + AS '$libdir/postgis-1.5', 'crosses'; + + +ALTER FUNCTION public._st_crosses(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 57 (class 1255 OID 18410) +-- Dependencies: 1102 6 1102 +-- Name: _st_dfullywithin(geometry, geometry, double precision); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION _st_dfullywithin(geometry, geometry, double precision) RETURNS boolean + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_dfullywithin'; + + +ALTER FUNCTION public._st_dfullywithin(geometry, geometry, double precision) OWNER TO postgres; + +-- +-- TOC entry 58 (class 1255 OID 18411) +-- Dependencies: 1099 1099 6 +-- Name: _st_distance(geography, geography, double precision, boolean); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION _st_distance(geography, geography, double precision, boolean) RETURNS double precision + LANGUAGE c IMMUTABLE STRICT COST 100 + AS '$libdir/postgis-1.5', 'geography_distance'; + + +ALTER FUNCTION public._st_distance(geography, geography, double precision, boolean) OWNER TO postgres; + +-- +-- TOC entry 59 (class 1255 OID 18412) +-- Dependencies: 1102 6 1167 1105 +-- Name: _st_dumppoints(geometry, integer[]); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION _st_dumppoints(the_geom geometry, cur_path integer[]) RETURNS SETOF geometry_dump + LANGUAGE plpgsql + AS $$ +DECLARE + tmp geometry_dump; + tmp2 geometry_dump; + nb_points integer; + nb_geom integer; + i integer; + j integer; + g geometry; + +BEGIN + + RAISE DEBUG '%,%', cur_path, ST_GeometryType(the_geom); + + -- Special case (MULTI* OR GEOMETRYCOLLECTION) : iterate and return the DumpPoints of the geometries + SELECT ST_NumGeometries(the_geom) INTO nb_geom; + + IF (nb_geom IS NOT NULL) THEN + + i = 1; + FOR tmp2 IN SELECT (ST_Dump(the_geom)).* LOOP + + FOR tmp IN SELECT * FROM _ST_DumpPoints(tmp2.geom, cur_path || tmp2.path) LOOP + RETURN NEXT tmp; + END LOOP; + i = i + 1; + + END LOOP; + + RETURN; + END IF; + + + -- Special case (POLYGON) : return the points of the rings of a polygon + IF (ST_GeometryType(the_geom) = 'ST_Polygon') THEN + + FOR tmp IN SELECT * FROM _ST_DumpPoints(ST_ExteriorRing(the_geom), cur_path || ARRAY[1]) LOOP + RETURN NEXT tmp; + END LOOP; + + j := ST_NumInteriorRings(the_geom); + FOR i IN 1..j LOOP + FOR tmp IN SELECT * FROM _ST_DumpPoints(ST_InteriorRingN(the_geom, i), cur_path || ARRAY[i+1]) LOOP + RETURN NEXT tmp; + END LOOP; + END LOOP; + + RETURN; + END IF; + + + -- Special case (POINT) : return the point + IF (ST_GeometryType(the_geom) = 'ST_Point') THEN + + tmp.path = cur_path || ARRAY[1]; + tmp.geom = the_geom; + + RETURN NEXT tmp; + RETURN; + + END IF; + + + -- Use ST_NumPoints rather than ST_NPoints to have a NULL value if the_geom isn't + -- a LINESTRING or CIRCULARSTRING. + SELECT ST_NumPoints(the_geom) INTO nb_points; + + -- This should never happen + IF (nb_points IS NULL) THEN + RAISE EXCEPTION 'Unexpected error while dumping geometry %', ST_AsText(the_geom); + END IF; + + FOR i IN 1..nb_points LOOP + tmp.path = cur_path || ARRAY[i]; + tmp.geom := ST_PointN(the_geom, i); + RETURN NEXT tmp; + END LOOP; + +END +$$; + + +ALTER FUNCTION public._st_dumppoints(the_geom geometry, cur_path integer[]) OWNER TO postgres; + +-- +-- TOC entry 60 (class 1255 OID 18413) +-- Dependencies: 1102 6 1102 +-- Name: _st_dwithin(geometry, geometry, double precision); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION _st_dwithin(geometry, geometry, double precision) RETURNS boolean + LANGUAGE c IMMUTABLE STRICT COST 100 + AS '$libdir/postgis-1.5', 'LWGEOM_dwithin'; + + +ALTER FUNCTION public._st_dwithin(geometry, geometry, double precision) OWNER TO postgres; + +-- +-- TOC entry 61 (class 1255 OID 18414) +-- Dependencies: 1099 6 1099 +-- Name: _st_dwithin(geography, geography, double precision, boolean); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION _st_dwithin(geography, geography, double precision, boolean) RETURNS boolean + LANGUAGE c IMMUTABLE STRICT COST 100 + AS '$libdir/postgis-1.5', 'geography_dwithin'; + + +ALTER FUNCTION public._st_dwithin(geography, geography, double precision, boolean) OWNER TO postgres; + +-- +-- TOC entry 62 (class 1255 OID 18415) +-- Dependencies: 1102 6 1102 +-- Name: _st_equals(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION _st_equals(geometry, geometry) RETURNS boolean + LANGUAGE c IMMUTABLE STRICT COST 100 + AS '$libdir/postgis-1.5', 'geomequals'; + + +ALTER FUNCTION public._st_equals(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 63 (class 1255 OID 18416) +-- Dependencies: 6 1099 1099 +-- Name: _st_expand(geography, double precision); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION _st_expand(geography, double precision) RETURNS geography + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'geography_expand'; + + +ALTER FUNCTION public._st_expand(geography, double precision) OWNER TO postgres; + +-- +-- TOC entry 64 (class 1255 OID 18417) +-- Dependencies: 1102 6 1102 +-- Name: _st_intersects(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION _st_intersects(geometry, geometry) RETURNS boolean + LANGUAGE c IMMUTABLE STRICT COST 100 + AS '$libdir/postgis-1.5', 'intersects'; + + +ALTER FUNCTION public._st_intersects(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 65 (class 1255 OID 18418) +-- Dependencies: 1102 6 1102 +-- Name: _st_linecrossingdirection(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION _st_linecrossingdirection(geometry, geometry) RETURNS integer + LANGUAGE c IMMUTABLE STRICT COST 100 + AS '$libdir/postgis-1.5', 'ST_LineCrossingDirection'; + + +ALTER FUNCTION public._st_linecrossingdirection(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 66 (class 1255 OID 18419) +-- Dependencies: 1102 1102 1102 6 +-- Name: _st_longestline(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION _st_longestline(geometry, geometry) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_longestline2d'; + + +ALTER FUNCTION public._st_longestline(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 67 (class 1255 OID 18420) +-- Dependencies: 6 1102 1102 +-- Name: _st_maxdistance(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION _st_maxdistance(geometry, geometry) RETURNS double precision + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_maxdistance2d_linestring'; + + +ALTER FUNCTION public._st_maxdistance(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 68 (class 1255 OID 18421) +-- Dependencies: 1102 6 1102 +-- Name: _st_orderingequals(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION _st_orderingequals(geometry, geometry) RETURNS boolean + LANGUAGE c IMMUTABLE STRICT COST 100 + AS '$libdir/postgis-1.5', 'LWGEOM_same'; + + +ALTER FUNCTION public._st_orderingequals(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 69 (class 1255 OID 18422) +-- Dependencies: 1102 1102 6 +-- Name: _st_overlaps(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION _st_overlaps(geometry, geometry) RETURNS boolean + LANGUAGE c IMMUTABLE STRICT COST 100 + AS '$libdir/postgis-1.5', 'overlaps'; + + +ALTER FUNCTION public._st_overlaps(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 70 (class 1255 OID 18423) +-- Dependencies: 1099 6 1099 +-- Name: _st_pointoutside(geography); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION _st_pointoutside(geography) RETURNS geography + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'geography_point_outside'; + + +ALTER FUNCTION public._st_pointoutside(geography) OWNER TO postgres; + +-- +-- TOC entry 71 (class 1255 OID 18424) +-- Dependencies: 1102 1102 6 +-- Name: _st_touches(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION _st_touches(geometry, geometry) RETURNS boolean + LANGUAGE c IMMUTABLE STRICT COST 100 + AS '$libdir/postgis-1.5', 'touches'; + + +ALTER FUNCTION public._st_touches(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 72 (class 1255 OID 18425) +-- Dependencies: 6 1102 1102 +-- Name: _st_within(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION _st_within(geometry, geometry) RETURNS boolean + LANGUAGE c IMMUTABLE STRICT COST 100 + AS '$libdir/postgis-1.5', 'within'; + + +ALTER FUNCTION public._st_within(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 73 (class 1255 OID 18426) +-- Dependencies: 1167 6 +-- Name: addauth(text); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION addauth(text) RETURNS boolean + LANGUAGE plpgsql + AS $_$ +DECLARE + lockid alias for $1; + okay boolean; + myrec record; +BEGIN + -- check to see if table exists + -- if not, CREATE TEMP TABLE mylock (transid xid, lockcode text) + okay := 'f'; + FOR myrec IN SELECT * FROM pg_class WHERE relname = 'temp_lock_have_table' LOOP + okay := 't'; + END LOOP; + IF (okay <> 't') THEN + CREATE TEMP TABLE temp_lock_have_table (transid xid, lockcode text); + -- this will only work from pgsql7.4 up + -- ON COMMIT DELETE ROWS; + END IF; + + -- INSERT INTO mylock VALUES ( $1) +-- EXECUTE 'INSERT INTO temp_lock_have_table VALUES ( '|| +-- quote_literal(getTransactionID()) || ',' || +-- quote_literal(lockid) ||')'; + + INSERT INTO temp_lock_have_table VALUES (getTransactionID(), lockid); + + RETURN true::boolean; +END; +$_$; + + +ALTER FUNCTION public.addauth(text) OWNER TO postgres; + +-- +-- TOC entry 74 (class 1255 OID 18427) +-- Dependencies: 1102 6 1102 +-- Name: addbbox(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION addbbox(geometry) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_addBBOX'; + + +ALTER FUNCTION public.addbbox(geometry) OWNER TO postgres; + +-- +-- TOC entry 79 (class 1255 OID 18430) +-- Dependencies: 1167 6 +-- Name: addgeometrycolumn(character varying, character varying, integer, character varying, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION addgeometrycolumn(character varying, character varying, integer, character varying, integer) RETURNS text + LANGUAGE plpgsql STRICT + AS $_$ +DECLARE + ret text; +BEGIN + SELECT AddGeometryColumn('','',$1,$2,$3,$4,$5) into ret; + RETURN ret; +END; +$_$; + + +ALTER FUNCTION public.addgeometrycolumn(character varying, character varying, integer, character varying, integer) OWNER TO postgres; + +-- +-- TOC entry 78 (class 1255 OID 18429) +-- Dependencies: 6 1167 +-- Name: addgeometrycolumn(character varying, character varying, character varying, integer, character varying, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION addgeometrycolumn(character varying, character varying, character varying, integer, character varying, integer) RETURNS text + LANGUAGE plpgsql STABLE STRICT + AS $_$ +DECLARE + ret text; +BEGIN + SELECT AddGeometryColumn('',$1,$2,$3,$4,$5,$6) into ret; + RETURN ret; +END; +$_$; + + +ALTER FUNCTION public.addgeometrycolumn(character varying, character varying, character varying, integer, character varying, integer) OWNER TO postgres; + +-- +-- TOC entry 77 (class 1255 OID 18428) +-- Dependencies: 6 1167 +-- Name: addgeometrycolumn(character varying, character varying, character varying, character varying, integer, character varying, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION addgeometrycolumn(character varying, character varying, character varying, character varying, integer, character varying, integer) RETURNS text + LANGUAGE plpgsql STRICT + AS $_$ +DECLARE + catalog_name alias for $1; + schema_name alias for $2; + table_name alias for $3; + column_name alias for $4; + new_srid alias for $5; + new_type alias for $6; + new_dim alias for $7; + rec RECORD; + sr varchar; + real_schema name; + sql text; + +BEGIN + + -- Verify geometry type + IF ( NOT ( (new_type = 'GEOMETRY') OR + (new_type = 'GEOMETRYCOLLECTION') OR + (new_type = 'POINT') OR + (new_type = 'MULTIPOINT') OR + (new_type = 'POLYGON') OR + (new_type = 'MULTIPOLYGON') OR + (new_type = 'LINESTRING') OR + (new_type = 'MULTILINESTRING') OR + (new_type = 'GEOMETRYCOLLECTIONM') OR + (new_type = 'POINTM') OR + (new_type = 'MULTIPOINTM') OR + (new_type = 'POLYGONM') OR + (new_type = 'MULTIPOLYGONM') OR + (new_type = 'LINESTRINGM') OR + (new_type = 'MULTILINESTRINGM') OR + (new_type = 'CIRCULARSTRING') OR + (new_type = 'CIRCULARSTRINGM') OR + (new_type = 'COMPOUNDCURVE') OR + (new_type = 'COMPOUNDCURVEM') OR + (new_type = 'CURVEPOLYGON') OR + (new_type = 'CURVEPOLYGONM') OR + (new_type = 'MULTICURVE') OR + (new_type = 'MULTICURVEM') OR + (new_type = 'MULTISURFACE') OR + (new_type = 'MULTISURFACEM')) ) + THEN + RAISE EXCEPTION 'Invalid type name - valid ones are: + POINT, MULTIPOINT, + LINESTRING, MULTILINESTRING, + POLYGON, MULTIPOLYGON, + CIRCULARSTRING, COMPOUNDCURVE, MULTICURVE, + CURVEPOLYGON, MULTISURFACE, + GEOMETRY, GEOMETRYCOLLECTION, + POINTM, MULTIPOINTM, + LINESTRINGM, MULTILINESTRINGM, + POLYGONM, MULTIPOLYGONM, + CIRCULARSTRINGM, COMPOUNDCURVEM, MULTICURVEM + CURVEPOLYGONM, MULTISURFACEM, + or GEOMETRYCOLLECTIONM'; + RETURN 'fail'; + END IF; + + + -- Verify dimension + IF ( (new_dim >4) OR (new_dim <0) ) THEN + RAISE EXCEPTION 'invalid dimension'; + RETURN 'fail'; + END IF; + + IF ( (new_type LIKE '%M') AND (new_dim!=3) ) THEN + RAISE EXCEPTION 'TypeM needs 3 dimensions'; + RETURN 'fail'; + END IF; + + + -- Verify SRID + IF ( new_srid != -1 ) THEN + SELECT SRID INTO sr FROM spatial_ref_sys WHERE SRID = new_srid; + IF NOT FOUND THEN + RAISE EXCEPTION 'AddGeometryColumns() - invalid SRID'; + RETURN 'fail'; + END IF; + END IF; + + + -- Verify schema + IF ( schema_name IS NOT NULL AND schema_name != '' ) THEN + sql := 'SELECT nspname FROM pg_namespace ' || + 'WHERE text(nspname) = ' || quote_literal(schema_name) || + 'LIMIT 1'; + RAISE DEBUG '%', sql; + EXECUTE sql INTO real_schema; + + IF ( real_schema IS NULL ) THEN + RAISE EXCEPTION 'Schema % is not a valid schemaname', quote_literal(schema_name); + RETURN 'fail'; + END IF; + END IF; + + IF ( real_schema IS NULL ) THEN + RAISE DEBUG 'Detecting schema'; + sql := 'SELECT n.nspname AS schemaname ' || + 'FROM pg_catalog.pg_class c ' || + 'JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace ' || + 'WHERE c.relkind = ' || quote_literal('r') || + ' AND n.nspname NOT IN (' || quote_literal('pg_catalog') || ', ' || quote_literal('pg_toast') || ')' || + ' AND pg_catalog.pg_table_is_visible(c.oid)' || + ' AND c.relname = ' || quote_literal(table_name); + RAISE DEBUG '%', sql; + EXECUTE sql INTO real_schema; + + IF ( real_schema IS NULL ) THEN + RAISE EXCEPTION 'Table % does not occur in the search_path', quote_literal(table_name); + RETURN 'fail'; + END IF; + END IF; + + + -- Add geometry column to table + sql := 'ALTER TABLE ' || + quote_ident(real_schema) || '.' || quote_ident(table_name) + || ' ADD COLUMN ' || quote_ident(column_name) || + ' geometry '; + RAISE DEBUG '%', sql; + EXECUTE sql; + + + -- Delete stale record in geometry_columns (if any) + sql := 'DELETE FROM geometry_columns WHERE + f_table_catalog = ' || quote_literal('') || + ' AND f_table_schema = ' || + quote_literal(real_schema) || + ' AND f_table_name = ' || quote_literal(table_name) || + ' AND f_geometry_column = ' || quote_literal(column_name); + RAISE DEBUG '%', sql; + EXECUTE sql; + + + -- Add record in geometry_columns + sql := 'INSERT INTO geometry_columns (f_table_catalog,f_table_schema,f_table_name,' || + 'f_geometry_column,coord_dimension,srid,type)' || + ' VALUES (' || + quote_literal('') || ',' || + quote_literal(real_schema) || ',' || + quote_literal(table_name) || ',' || + quote_literal(column_name) || ',' || + new_dim::text || ',' || + new_srid::text || ',' || + quote_literal(new_type) || ')'; + RAISE DEBUG '%', sql; + EXECUTE sql; + + + -- Add table CHECKs + sql := 'ALTER TABLE ' || + quote_ident(real_schema) || '.' || quote_ident(table_name) + || ' ADD CONSTRAINT ' + || quote_ident('enforce_srid_' || column_name) + || ' CHECK (ST_SRID(' || quote_ident(column_name) || + ') = ' || new_srid::text || ')' ; + RAISE DEBUG '%', sql; + EXECUTE sql; + + sql := 'ALTER TABLE ' || + quote_ident(real_schema) || '.' || quote_ident(table_name) + || ' ADD CONSTRAINT ' + || quote_ident('enforce_dims_' || column_name) + || ' CHECK (ST_NDims(' || quote_ident(column_name) || + ') = ' || new_dim::text || ')' ; + RAISE DEBUG '%', sql; + EXECUTE sql; + + IF ( NOT (new_type = 'GEOMETRY')) THEN + sql := 'ALTER TABLE ' || + quote_ident(real_schema) || '.' || quote_ident(table_name) || ' ADD CONSTRAINT ' || + quote_ident('enforce_geotype_' || column_name) || + ' CHECK (GeometryType(' || + quote_ident(column_name) || ')=' || + quote_literal(new_type) || ' OR (' || + quote_ident(column_name) || ') is null)'; + RAISE DEBUG '%', sql; + EXECUTE sql; + END IF; + + RETURN + real_schema || '.' || + table_name || '.' || column_name || + ' SRID:' || new_srid::text || + ' TYPE:' || new_type || + ' DIMS:' || new_dim::text || ' '; +END; +$_$; + + +ALTER FUNCTION public.addgeometrycolumn(character varying, character varying, character varying, character varying, integer, character varying, integer) OWNER TO postgres; + +-- +-- TOC entry 80 (class 1255 OID 18431) +-- Dependencies: 1102 6 1102 1102 +-- Name: addpoint(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION addpoint(geometry, geometry) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_addpoint'; + + +ALTER FUNCTION public.addpoint(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 81 (class 1255 OID 18432) +-- Dependencies: 1102 1102 1102 6 +-- Name: addpoint(geometry, geometry, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION addpoint(geometry, geometry, integer) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_addpoint'; + + +ALTER FUNCTION public.addpoint(geometry, geometry, integer) OWNER TO postgres; + +-- +-- TOC entry 83 (class 1255 OID 18434) +-- Dependencies: 1102 1102 6 +-- Name: affine(geometry, double precision, double precision, double precision, double precision, double precision, double precision); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION affine(geometry, double precision, double precision, double precision, double precision, double precision, double precision) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$SELECT affine($1, $2, $3, 0, $4, $5, 0, 0, 0, 1, $6, $7, 0)$_$; + + +ALTER FUNCTION public.affine(geometry, double precision, double precision, double precision, double precision, double precision, double precision) OWNER TO postgres; + +-- +-- TOC entry 82 (class 1255 OID 18433) +-- Dependencies: 6 1102 1102 +-- Name: affine(geometry, double precision, double precision, double precision, double precision, double precision, double precision, double precision, double precision, double precision, double precision, double precision, double precision); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION affine(geometry, double precision, double precision, double precision, double precision, double precision, double precision, double precision, double precision, double precision, double precision, double precision, double precision) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_affine'; + + +ALTER FUNCTION public.affine(geometry, double precision, double precision, double precision, double precision, double precision, double precision, double precision, double precision, double precision, double precision, double precision, double precision) OWNER TO postgres; + +-- +-- TOC entry 84 (class 1255 OID 18435) +-- Dependencies: 1102 6 +-- Name: area(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION area(geometry) RETURNS double precision + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_area_polygon'; + + +ALTER FUNCTION public.area(geometry) OWNER TO postgres; + +-- +-- TOC entry 85 (class 1255 OID 18436) +-- Dependencies: 1102 6 +-- Name: area2d(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION area2d(geometry) RETURNS double precision + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_area_polygon'; + + +ALTER FUNCTION public.area2d(geometry) OWNER TO postgres; + +-- +-- TOC entry 86 (class 1255 OID 18437) +-- Dependencies: 6 1102 +-- Name: asbinary(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION asbinary(geometry) RETURNS bytea + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_asBinary'; + + +ALTER FUNCTION public.asbinary(geometry) OWNER TO postgres; + +-- +-- TOC entry 87 (class 1255 OID 18438) +-- Dependencies: 6 1102 +-- Name: asbinary(geometry, text); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION asbinary(geometry, text) RETURNS bytea + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_asBinary'; + + +ALTER FUNCTION public.asbinary(geometry, text) OWNER TO postgres; + +-- +-- TOC entry 88 (class 1255 OID 18439) +-- Dependencies: 1102 6 +-- Name: asewkb(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION asewkb(geometry) RETURNS bytea + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'WKBFromLWGEOM'; + + +ALTER FUNCTION public.asewkb(geometry) OWNER TO postgres; + +-- +-- TOC entry 89 (class 1255 OID 18440) +-- Dependencies: 1102 6 +-- Name: asewkb(geometry, text); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION asewkb(geometry, text) RETURNS bytea + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'WKBFromLWGEOM'; + + +ALTER FUNCTION public.asewkb(geometry, text) OWNER TO postgres; + +-- +-- TOC entry 90 (class 1255 OID 18441) +-- Dependencies: 1102 6 +-- Name: asewkt(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION asewkt(geometry) RETURNS text + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_asEWKT'; + + +ALTER FUNCTION public.asewkt(geometry) OWNER TO postgres; + +-- +-- TOC entry 92 (class 1255 OID 18443) +-- Dependencies: 1102 6 +-- Name: asgml(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION asgml(geometry) RETURNS text + LANGUAGE sql IMMUTABLE STRICT + AS $_$SELECT _ST_AsGML(2, $1, 15, 0)$_$; + + +ALTER FUNCTION public.asgml(geometry) OWNER TO postgres; + +-- +-- TOC entry 91 (class 1255 OID 18442) +-- Dependencies: 6 1102 +-- Name: asgml(geometry, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION asgml(geometry, integer) RETURNS text + LANGUAGE sql IMMUTABLE STRICT + AS $_$SELECT _ST_AsGML(2, $1, $2, 0)$_$; + + +ALTER FUNCTION public.asgml(geometry, integer) OWNER TO postgres; + +-- +-- TOC entry 93 (class 1255 OID 18444) +-- Dependencies: 6 1102 +-- Name: ashexewkb(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION ashexewkb(geometry) RETURNS text + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_asHEXEWKB'; + + +ALTER FUNCTION public.ashexewkb(geometry) OWNER TO postgres; + +-- +-- TOC entry 94 (class 1255 OID 18445) +-- Dependencies: 6 1102 +-- Name: ashexewkb(geometry, text); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION ashexewkb(geometry, text) RETURNS text + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_asHEXEWKB'; + + +ALTER FUNCTION public.ashexewkb(geometry, text) OWNER TO postgres; + +-- +-- TOC entry 96 (class 1255 OID 18447) +-- Dependencies: 6 1102 +-- Name: askml(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION askml(geometry) RETURNS text + LANGUAGE sql IMMUTABLE STRICT + AS $_$SELECT _ST_AsKML(2, transform($1,4326), 15)$_$; + + +ALTER FUNCTION public.askml(geometry) OWNER TO postgres; + +-- +-- TOC entry 95 (class 1255 OID 18446) +-- Dependencies: 6 1102 +-- Name: askml(geometry, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION askml(geometry, integer) RETURNS text + LANGUAGE sql IMMUTABLE STRICT + AS $_$SELECT _ST_AsKML(2, transform($1,4326), $2)$_$; + + +ALTER FUNCTION public.askml(geometry, integer) OWNER TO postgres; + +-- +-- TOC entry 97 (class 1255 OID 18448) +-- Dependencies: 6 1102 +-- Name: askml(integer, geometry, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION askml(integer, geometry, integer) RETURNS text + LANGUAGE sql IMMUTABLE STRICT + AS $_$SELECT _ST_AsKML($1, transform($2,4326), $3)$_$; + + +ALTER FUNCTION public.askml(integer, geometry, integer) OWNER TO postgres; + +-- +-- TOC entry 100 (class 1255 OID 18451) +-- Dependencies: 6 1102 +-- Name: assvg(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION assvg(geometry) RETURNS text + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'assvg_geometry'; + + +ALTER FUNCTION public.assvg(geometry) OWNER TO postgres; + +-- +-- TOC entry 99 (class 1255 OID 18450) +-- Dependencies: 6 1102 +-- Name: assvg(geometry, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION assvg(geometry, integer) RETURNS text + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'assvg_geometry'; + + +ALTER FUNCTION public.assvg(geometry, integer) OWNER TO postgres; + +-- +-- TOC entry 98 (class 1255 OID 18449) +-- Dependencies: 1102 6 +-- Name: assvg(geometry, integer, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION assvg(geometry, integer, integer) RETURNS text + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'assvg_geometry'; + + +ALTER FUNCTION public.assvg(geometry, integer, integer) OWNER TO postgres; + +-- +-- TOC entry 101 (class 1255 OID 18452) +-- Dependencies: 1102 6 +-- Name: astext(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION astext(geometry) RETURNS text + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_asText'; + + +ALTER FUNCTION public.astext(geometry) OWNER TO postgres; + +-- +-- TOC entry 102 (class 1255 OID 18453) +-- Dependencies: 1102 1102 6 +-- Name: azimuth(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION azimuth(geometry, geometry) RETURNS double precision + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_azimuth'; + + +ALTER FUNCTION public.azimuth(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 103 (class 1255 OID 18454) +-- Dependencies: 1102 1167 6 +-- Name: bdmpolyfromtext(text, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION bdmpolyfromtext(text, integer) RETURNS geometry + LANGUAGE plpgsql IMMUTABLE STRICT + AS $_$ +DECLARE + geomtext alias for $1; + srid alias for $2; + mline geometry; + geom geometry; +BEGIN + mline := MultiLineStringFromText(geomtext, srid); + + IF mline IS NULL + THEN + RAISE EXCEPTION 'Input is not a MultiLinestring'; + END IF; + + geom := multi(BuildArea(mline)); + + RETURN geom; +END; +$_$; + + +ALTER FUNCTION public.bdmpolyfromtext(text, integer) OWNER TO postgres; + +-- +-- TOC entry 75 (class 1255 OID 18455) +-- Dependencies: 6 1102 1167 +-- Name: bdpolyfromtext(text, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION bdpolyfromtext(text, integer) RETURNS geometry + LANGUAGE plpgsql IMMUTABLE STRICT + AS $_$ +DECLARE + geomtext alias for $1; + srid alias for $2; + mline geometry; + geom geometry; +BEGIN + mline := MultiLineStringFromText(geomtext, srid); + + IF mline IS NULL + THEN + RAISE EXCEPTION 'Input is not a MultiLinestring'; + END IF; + + geom := BuildArea(mline); + + IF GeometryType(geom) != 'POLYGON' + THEN + RAISE EXCEPTION 'Input returns more then a single polygon, try using BdMPolyFromText instead'; + END IF; + + RETURN geom; +END; +$_$; + + +ALTER FUNCTION public.bdpolyfromtext(text, integer) OWNER TO postgres; + +-- +-- TOC entry 76 (class 1255 OID 18456) +-- Dependencies: 1102 1102 6 +-- Name: boundary(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION boundary(geometry) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'boundary'; + + +ALTER FUNCTION public.boundary(geometry) OWNER TO postgres; + +-- +-- TOC entry 104 (class 1255 OID 18457) +-- Dependencies: 1102 6 +-- Name: box(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION box(geometry) RETURNS box + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_to_BOX'; + + +ALTER FUNCTION public.box(geometry) OWNER TO postgres; + +-- +-- TOC entry 105 (class 1255 OID 18458) +-- Dependencies: 1090 6 +-- Name: box(box3d); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION box(box3d) RETURNS box + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'BOX3D_to_BOX'; + + +ALTER FUNCTION public.box(box3d) OWNER TO postgres; + +-- +-- TOC entry 106 (class 1255 OID 18459) +-- Dependencies: 6 1093 1087 +-- Name: box2d(box3d_extent); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION box2d(box3d_extent) RETURNS box2d + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'BOX3D_to_BOX2DFLOAT4'; + + +ALTER FUNCTION public.box2d(box3d_extent) OWNER TO postgres; + +-- +-- TOC entry 107 (class 1255 OID 18460) +-- Dependencies: 1087 6 1102 +-- Name: box2d(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION box2d(geometry) RETURNS box2d + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_to_BOX2DFLOAT4'; + + +ALTER FUNCTION public.box2d(geometry) OWNER TO postgres; + +-- +-- TOC entry 108 (class 1255 OID 18461) +-- Dependencies: 1087 1090 6 +-- Name: box2d(box3d); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION box2d(box3d) RETURNS box2d + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'BOX3D_to_BOX2DFLOAT4'; + + +ALTER FUNCTION public.box2d(box3d) OWNER TO postgres; + +-- +-- TOC entry 109 (class 1255 OID 18462) +-- Dependencies: 6 1102 1090 +-- Name: box3d(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION box3d(geometry) RETURNS box3d + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_to_BOX3D'; + + +ALTER FUNCTION public.box3d(geometry) OWNER TO postgres; + +-- +-- TOC entry 110 (class 1255 OID 18463) +-- Dependencies: 1087 1090 6 +-- Name: box3d(box2d); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION box3d(box2d) RETURNS box3d + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'BOX2DFLOAT4_to_BOX3D'; + + +ALTER FUNCTION public.box3d(box2d) OWNER TO postgres; + +-- +-- TOC entry 111 (class 1255 OID 18464) +-- Dependencies: 1093 1090 6 +-- Name: box3d_extent(box3d_extent); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION box3d_extent(box3d_extent) RETURNS box3d + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'BOX3D_extent_to_BOX3D'; + + +ALTER FUNCTION public.box3d_extent(box3d_extent) OWNER TO postgres; + +-- +-- TOC entry 112 (class 1255 OID 18465) +-- Dependencies: 1090 6 +-- Name: box3dtobox(box3d); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION box3dtobox(box3d) RETURNS box + LANGUAGE sql IMMUTABLE STRICT + AS $_$SELECT box($1)$_$; + + +ALTER FUNCTION public.box3dtobox(box3d) OWNER TO postgres; + +-- +-- TOC entry 113 (class 1255 OID 18466) +-- Dependencies: 1102 6 1102 +-- Name: buffer(geometry, double precision); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION buffer(geometry, double precision) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT COST 100 + AS '$libdir/postgis-1.5', 'buffer'; + + +ALTER FUNCTION public.buffer(geometry, double precision) OWNER TO postgres; + +-- +-- TOC entry 114 (class 1255 OID 18467) +-- Dependencies: 6 1102 1102 +-- Name: buffer(geometry, double precision, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION buffer(geometry, double precision, integer) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$SELECT ST_Buffer($1, $2, $3)$_$; + + +ALTER FUNCTION public.buffer(geometry, double precision, integer) OWNER TO postgres; + +-- +-- TOC entry 115 (class 1255 OID 18468) +-- Dependencies: 1102 6 1102 +-- Name: buildarea(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION buildarea(geometry) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT COST 100 + AS '$libdir/postgis-1.5', 'LWGEOM_buildarea'; + + +ALTER FUNCTION public.buildarea(geometry) OWNER TO postgres; + +-- +-- TOC entry 116 (class 1255 OID 18469) +-- Dependencies: 1102 6 +-- Name: bytea(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION bytea(geometry) RETURNS bytea + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_to_bytea'; + + +ALTER FUNCTION public.bytea(geometry) OWNER TO postgres; + +-- +-- TOC entry 117 (class 1255 OID 18470) +-- Dependencies: 6 1102 1102 +-- Name: centroid(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION centroid(geometry) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'centroid'; + + +ALTER FUNCTION public.centroid(geometry) OWNER TO postgres; + +-- +-- TOC entry 119 (class 1255 OID 18472) +-- Dependencies: 6 +-- Name: checkauth(text, text); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION checkauth(text, text) RETURNS integer + LANGUAGE sql + AS $_$ SELECT CheckAuth('', $1, $2) $_$; + + +ALTER FUNCTION public.checkauth(text, text) OWNER TO postgres; + +-- +-- TOC entry 118 (class 1255 OID 18471) +-- Dependencies: 1167 6 +-- Name: checkauth(text, text, text); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION checkauth(text, text, text) RETURNS integer + LANGUAGE plpgsql + AS $_$ +DECLARE + schema text; +BEGIN + IF NOT LongTransactionsEnabled() THEN + RAISE EXCEPTION 'Long transaction support disabled, use EnableLongTransaction() to enable.'; + END IF; + + if ( $1 != '' ) THEN + schema = $1; + ELSE + SELECT current_schema() into schema; + END IF; + + -- TODO: check for an already existing trigger ? + + EXECUTE 'CREATE TRIGGER check_auth BEFORE UPDATE OR DELETE ON ' + || quote_ident(schema) || '.' || quote_ident($2) + ||' FOR EACH ROW EXECUTE PROCEDURE CheckAuthTrigger(' + || quote_literal($3) || ')'; + + RETURN 0; +END; +$_$; + + +ALTER FUNCTION public.checkauth(text, text, text) OWNER TO postgres; + +-- +-- TOC entry 120 (class 1255 OID 18473) +-- Dependencies: 6 +-- Name: checkauthtrigger(); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION checkauthtrigger() RETURNS trigger + LANGUAGE c + AS '$libdir/postgis-1.5', 'check_authorization'; + + +ALTER FUNCTION public.checkauthtrigger() OWNER TO postgres; + +-- +-- TOC entry 121 (class 1255 OID 18474) +-- Dependencies: 6 1102 1102 1102 +-- Name: collect(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION collect(geometry, geometry) RETURNS geometry + LANGUAGE c IMMUTABLE + AS '$libdir/postgis-1.5', 'LWGEOM_collect'; + + +ALTER FUNCTION public.collect(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 122 (class 1255 OID 18475) +-- Dependencies: 1087 6 1087 1102 +-- Name: combine_bbox(box2d, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION combine_bbox(box2d, geometry) RETURNS box2d + LANGUAGE c IMMUTABLE + AS '$libdir/postgis-1.5', 'BOX2DFLOAT4_combine'; + + +ALTER FUNCTION public.combine_bbox(box2d, geometry) OWNER TO postgres; + +-- +-- TOC entry 123 (class 1255 OID 18476) +-- Dependencies: 6 1093 1093 1102 +-- Name: combine_bbox(box3d_extent, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION combine_bbox(box3d_extent, geometry) RETURNS box3d_extent + LANGUAGE c IMMUTABLE + AS '$libdir/postgis-1.5', 'BOX3D_combine'; + + +ALTER FUNCTION public.combine_bbox(box3d_extent, geometry) OWNER TO postgres; + +-- +-- TOC entry 124 (class 1255 OID 18477) +-- Dependencies: 6 1090 1090 1102 +-- Name: combine_bbox(box3d, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION combine_bbox(box3d, geometry) RETURNS box3d + LANGUAGE c IMMUTABLE + AS '$libdir/postgis-1.5', 'BOX3D_combine'; + + +ALTER FUNCTION public.combine_bbox(box3d, geometry) OWNER TO postgres; + +-- +-- TOC entry 125 (class 1255 OID 18478) +-- Dependencies: 6 1096 +-- Name: compression(chip); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION compression(chip) RETURNS integer + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'CHIP_getCompression'; + + +ALTER FUNCTION public.compression(chip) OWNER TO postgres; + +-- +-- TOC entry 126 (class 1255 OID 18479) +-- Dependencies: 6 1102 1102 +-- Name: contains(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION contains(geometry, geometry) RETURNS boolean + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'contains'; + + +ALTER FUNCTION public.contains(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 127 (class 1255 OID 18480) +-- Dependencies: 1102 1102 6 +-- Name: convexhull(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION convexhull(geometry) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT COST 100 + AS '$libdir/postgis-1.5', 'convexhull'; + + +ALTER FUNCTION public.convexhull(geometry) OWNER TO postgres; + +-- +-- TOC entry 128 (class 1255 OID 18481) +-- Dependencies: 6 1102 1102 +-- Name: crosses(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION crosses(geometry, geometry) RETURNS boolean + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'crosses'; + + +ALTER FUNCTION public.crosses(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 129 (class 1255 OID 18482) +-- Dependencies: 1096 6 +-- Name: datatype(chip); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION datatype(chip) RETURNS integer + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'CHIP_getDatatype'; + + +ALTER FUNCTION public.datatype(chip) OWNER TO postgres; + +-- +-- TOC entry 130 (class 1255 OID 18483) +-- Dependencies: 1102 1102 1102 6 +-- Name: difference(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION difference(geometry, geometry) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'difference'; + + +ALTER FUNCTION public.difference(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 131 (class 1255 OID 18484) +-- Dependencies: 1102 6 +-- Name: dimension(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION dimension(geometry) RETURNS integer + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_dimension'; + + +ALTER FUNCTION public.dimension(geometry) OWNER TO postgres; + +-- +-- TOC entry 132 (class 1255 OID 18485) +-- Dependencies: 1167 6 +-- Name: disablelongtransactions(); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION disablelongtransactions() RETURNS text + LANGUAGE plpgsql + AS $$ +DECLARE + rec RECORD; + +BEGIN + + -- + -- Drop all triggers applied by CheckAuth() + -- + FOR rec IN + SELECT c.relname, t.tgname, t.tgargs FROM pg_trigger t, pg_class c, pg_proc p + WHERE p.proname = 'checkauthtrigger' and t.tgfoid = p.oid and t.tgrelid = c.oid + LOOP + EXECUTE 'DROP TRIGGER ' || quote_ident(rec.tgname) || + ' ON ' || quote_ident(rec.relname); + END LOOP; + + -- + -- Drop the authorization_table table + -- + FOR rec IN SELECT * FROM pg_class WHERE relname = 'authorization_table' LOOP + DROP TABLE authorization_table; + END LOOP; + + -- + -- Drop the authorized_tables view + -- + FOR rec IN SELECT * FROM pg_class WHERE relname = 'authorized_tables' LOOP + DROP VIEW authorized_tables; + END LOOP; + + RETURN 'Long transactions support disabled'; +END; +$$; + + +ALTER FUNCTION public.disablelongtransactions() OWNER TO postgres; + +-- +-- TOC entry 133 (class 1255 OID 18486) +-- Dependencies: 6 1102 1102 +-- Name: disjoint(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION disjoint(geometry, geometry) RETURNS boolean + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'disjoint'; + + +ALTER FUNCTION public.disjoint(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 134 (class 1255 OID 18487) +-- Dependencies: 1102 6 1102 +-- Name: distance(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION distance(geometry, geometry) RETURNS double precision + LANGUAGE c IMMUTABLE STRICT COST 100 + AS '$libdir/postgis-1.5', 'LWGEOM_mindistance2d'; + + +ALTER FUNCTION public.distance(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 135 (class 1255 OID 18488) +-- Dependencies: 1102 1102 6 +-- Name: distance_sphere(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION distance_sphere(geometry, geometry) RETURNS double precision + LANGUAGE c IMMUTABLE STRICT COST 100 + AS '$libdir/postgis-1.5', 'LWGEOM_distance_sphere'; + + +ALTER FUNCTION public.distance_sphere(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 136 (class 1255 OID 18489) +-- Dependencies: 1102 6 1113 1102 +-- Name: distance_spheroid(geometry, geometry, spheroid); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION distance_spheroid(geometry, geometry, spheroid) RETURNS double precision + LANGUAGE c IMMUTABLE STRICT COST 100 + AS '$libdir/postgis-1.5', 'LWGEOM_distance_ellipsoid'; + + +ALTER FUNCTION public.distance_spheroid(geometry, geometry, spheroid) OWNER TO postgres; + +-- +-- TOC entry 137 (class 1255 OID 18490) +-- Dependencies: 1102 1102 6 +-- Name: dropbbox(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION dropbbox(geometry) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_dropBBOX'; + + +ALTER FUNCTION public.dropbbox(geometry) OWNER TO postgres; + +-- +-- TOC entry 140 (class 1255 OID 18493) +-- Dependencies: 1167 6 +-- Name: dropgeometrycolumn(character varying, character varying); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION dropgeometrycolumn(character varying, character varying) RETURNS text + LANGUAGE plpgsql STRICT + AS $_$ +DECLARE + ret text; +BEGIN + SELECT DropGeometryColumn('','',$1,$2) into ret; + RETURN ret; +END; +$_$; + + +ALTER FUNCTION public.dropgeometrycolumn(character varying, character varying) OWNER TO postgres; + +-- +-- TOC entry 139 (class 1255 OID 18492) +-- Dependencies: 1167 6 +-- Name: dropgeometrycolumn(character varying, character varying, character varying); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION dropgeometrycolumn(character varying, character varying, character varying) RETURNS text + LANGUAGE plpgsql STRICT + AS $_$ +DECLARE + ret text; +BEGIN + SELECT DropGeometryColumn('',$1,$2,$3) into ret; + RETURN ret; +END; +$_$; + + +ALTER FUNCTION public.dropgeometrycolumn(character varying, character varying, character varying) OWNER TO postgres; + +-- +-- TOC entry 138 (class 1255 OID 18491) +-- Dependencies: 1167 6 +-- Name: dropgeometrycolumn(character varying, character varying, character varying, character varying); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION dropgeometrycolumn(character varying, character varying, character varying, character varying) RETURNS text + LANGUAGE plpgsql STRICT + AS $_$ +DECLARE + catalog_name alias for $1; + schema_name alias for $2; + table_name alias for $3; + column_name alias for $4; + myrec RECORD; + okay boolean; + real_schema name; + +BEGIN + + + -- Find, check or fix schema_name + IF ( schema_name != '' ) THEN + okay = 'f'; + + FOR myrec IN SELECT nspname FROM pg_namespace WHERE text(nspname) = schema_name LOOP + okay := 't'; + END LOOP; + + IF ( okay <> 't' ) THEN + RAISE NOTICE 'Invalid schema name - using current_schema()'; + SELECT current_schema() into real_schema; + ELSE + real_schema = schema_name; + END IF; + ELSE + SELECT current_schema() into real_schema; + END IF; + + -- Find out if the column is in the geometry_columns table + okay = 'f'; + FOR myrec IN SELECT * from geometry_columns where f_table_schema = text(real_schema) and f_table_name = table_name and f_geometry_column = column_name LOOP + okay := 't'; + END LOOP; + IF (okay <> 't') THEN + RAISE EXCEPTION 'column not found in geometry_columns table'; + RETURN 'f'; + END IF; + + -- Remove ref from geometry_columns table + EXECUTE 'delete from geometry_columns where f_table_schema = ' || + quote_literal(real_schema) || ' and f_table_name = ' || + quote_literal(table_name) || ' and f_geometry_column = ' || + quote_literal(column_name); + + -- Remove table column + EXECUTE 'ALTER TABLE ' || quote_ident(real_schema) || '.' || + quote_ident(table_name) || ' DROP COLUMN ' || + quote_ident(column_name); + + RETURN real_schema || '.' || table_name || '.' || column_name ||' effectively removed.'; + +END; +$_$; + + +ALTER FUNCTION public.dropgeometrycolumn(character varying, character varying, character varying, character varying) OWNER TO postgres; + +-- +-- TOC entry 143 (class 1255 OID 18496) +-- Dependencies: 6 +-- Name: dropgeometrytable(character varying); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION dropgeometrytable(character varying) RETURNS text + LANGUAGE sql STRICT + AS $_$ SELECT DropGeometryTable('','',$1) $_$; + + +ALTER FUNCTION public.dropgeometrytable(character varying) OWNER TO postgres; + +-- +-- TOC entry 142 (class 1255 OID 18495) +-- Dependencies: 6 +-- Name: dropgeometrytable(character varying, character varying); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION dropgeometrytable(character varying, character varying) RETURNS text + LANGUAGE sql STRICT + AS $_$ SELECT DropGeometryTable('',$1,$2) $_$; + + +ALTER FUNCTION public.dropgeometrytable(character varying, character varying) OWNER TO postgres; + +-- +-- TOC entry 141 (class 1255 OID 18494) +-- Dependencies: 6 1167 +-- Name: dropgeometrytable(character varying, character varying, character varying); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION dropgeometrytable(character varying, character varying, character varying) RETURNS text + LANGUAGE plpgsql STRICT + AS $_$ +DECLARE + catalog_name alias for $1; + schema_name alias for $2; + table_name alias for $3; + real_schema name; + +BEGIN + + IF ( schema_name = '' ) THEN + SELECT current_schema() into real_schema; + ELSE + real_schema = schema_name; + END IF; + + -- Remove refs from geometry_columns table + EXECUTE 'DELETE FROM geometry_columns WHERE ' || + 'f_table_schema = ' || quote_literal(real_schema) || + ' AND ' || + ' f_table_name = ' || quote_literal(table_name); + + -- Remove table + EXECUTE 'DROP TABLE ' + || quote_ident(real_schema) || '.' || + quote_ident(table_name); + + RETURN + real_schema || '.' || + table_name ||' dropped.'; + +END; +$_$; + + +ALTER FUNCTION public.dropgeometrytable(character varying, character varying, character varying) OWNER TO postgres; + +-- +-- TOC entry 144 (class 1255 OID 18497) +-- Dependencies: 1102 6 1105 +-- Name: dump(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION dump(geometry) RETURNS SETOF geometry_dump + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_dump'; + + +ALTER FUNCTION public.dump(geometry) OWNER TO postgres; + +-- +-- TOC entry 145 (class 1255 OID 18498) +-- Dependencies: 6 1105 1102 +-- Name: dumprings(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION dumprings(geometry) RETURNS SETOF geometry_dump + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_dump_rings'; + + +ALTER FUNCTION public.dumprings(geometry) OWNER TO postgres; + +-- +-- TOC entry 146 (class 1255 OID 18499) +-- Dependencies: 1167 6 +-- Name: enablelongtransactions(); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION enablelongtransactions() RETURNS text + LANGUAGE plpgsql + AS $$ +DECLARE + "query" text; + exists bool; + rec RECORD; + +BEGIN + + exists = 'f'; + FOR rec IN SELECT * FROM pg_class WHERE relname = 'authorization_table' + LOOP + exists = 't'; + END LOOP; + + IF NOT exists + THEN + "query" = 'CREATE TABLE authorization_table ( + toid oid, -- table oid + rid text, -- row id + expires timestamp, + authid text + )'; + EXECUTE "query"; + END IF; + + exists = 'f'; + FOR rec IN SELECT * FROM pg_class WHERE relname = 'authorized_tables' + LOOP + exists = 't'; + END LOOP; + + IF NOT exists THEN + "query" = 'CREATE VIEW authorized_tables AS ' || + 'SELECT ' || + 'n.nspname as schema, ' || + 'c.relname as table, trim(' || + quote_literal(chr(92) || '000') || + ' from t.tgargs) as id_column ' || + 'FROM pg_trigger t, pg_class c, pg_proc p ' || + ', pg_namespace n ' || + 'WHERE p.proname = ' || quote_literal('checkauthtrigger') || + ' AND c.relnamespace = n.oid' || + ' AND t.tgfoid = p.oid and t.tgrelid = c.oid'; + EXECUTE "query"; + END IF; + + RETURN 'Long transactions support enabled'; +END; +$$; + + +ALTER FUNCTION public.enablelongtransactions() OWNER TO postgres; + +-- +-- TOC entry 147 (class 1255 OID 18500) +-- Dependencies: 1102 6 1102 +-- Name: endpoint(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION endpoint(geometry) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_endpoint_linestring'; + + +ALTER FUNCTION public.endpoint(geometry) OWNER TO postgres; + +-- +-- TOC entry 148 (class 1255 OID 18501) +-- Dependencies: 6 1102 1102 +-- Name: envelope(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION envelope(geometry) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_envelope'; + + +ALTER FUNCTION public.envelope(geometry) OWNER TO postgres; + +-- +-- TOC entry 149 (class 1255 OID 18502) +-- Dependencies: 1102 1102 6 +-- Name: equals(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION equals(geometry, geometry) RETURNS boolean + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'geomequals'; + + +ALTER FUNCTION public.equals(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 151 (class 1255 OID 18504) +-- Dependencies: 6 1087 +-- Name: estimated_extent(text, text); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION estimated_extent(text, text) RETURNS box2d + LANGUAGE c IMMUTABLE STRICT SECURITY DEFINER + AS '$libdir/postgis-1.5', 'LWGEOM_estimated_extent'; + + +ALTER FUNCTION public.estimated_extent(text, text) OWNER TO postgres; + +-- +-- TOC entry 150 (class 1255 OID 18503) +-- Dependencies: 1087 6 +-- Name: estimated_extent(text, text, text); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION estimated_extent(text, text, text) RETURNS box2d + LANGUAGE c IMMUTABLE STRICT SECURITY DEFINER + AS '$libdir/postgis-1.5', 'LWGEOM_estimated_extent'; + + +ALTER FUNCTION public.estimated_extent(text, text, text) OWNER TO postgres; + +-- +-- TOC entry 152 (class 1255 OID 18505) +-- Dependencies: 6 1090 1090 +-- Name: expand(box3d, double precision); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION expand(box3d, double precision) RETURNS box3d + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'BOX3D_expand'; + + +ALTER FUNCTION public.expand(box3d, double precision) OWNER TO postgres; + +-- +-- TOC entry 153 (class 1255 OID 18506) +-- Dependencies: 1087 6 1087 +-- Name: expand(box2d, double precision); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION expand(box2d, double precision) RETURNS box2d + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'BOX2DFLOAT4_expand'; + + +ALTER FUNCTION public.expand(box2d, double precision) OWNER TO postgres; + +-- +-- TOC entry 154 (class 1255 OID 18507) +-- Dependencies: 1102 6 1102 +-- Name: expand(geometry, double precision); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION expand(geometry, double precision) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_expand'; + + +ALTER FUNCTION public.expand(geometry, double precision) OWNER TO postgres; + +-- +-- TOC entry 155 (class 1255 OID 18508) +-- Dependencies: 6 1102 1102 +-- Name: exteriorring(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION exteriorring(geometry) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_exteriorring_polygon'; + + +ALTER FUNCTION public.exteriorring(geometry) OWNER TO postgres; + +-- +-- TOC entry 156 (class 1255 OID 18509) +-- Dependencies: 1096 6 +-- Name: factor(chip); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION factor(chip) RETURNS real + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'CHIP_getFactor'; + + +ALTER FUNCTION public.factor(chip) OWNER TO postgres; + +-- +-- TOC entry 158 (class 1255 OID 18511) +-- Dependencies: 1087 1167 6 +-- Name: find_extent(text, text); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION find_extent(text, text) RETURNS box2d + LANGUAGE plpgsql IMMUTABLE STRICT + AS $_$ +DECLARE + tablename alias for $1; + columnname alias for $2; + myrec RECORD; + +BEGIN + FOR myrec IN EXECUTE 'SELECT extent("' || columnname || '") FROM "' || tablename || '"' LOOP + return myrec.extent; + END LOOP; +END; +$_$; + + +ALTER FUNCTION public.find_extent(text, text) OWNER TO postgres; + +-- +-- TOC entry 157 (class 1255 OID 18510) +-- Dependencies: 1087 1167 6 +-- Name: find_extent(text, text, text); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION find_extent(text, text, text) RETURNS box2d + LANGUAGE plpgsql IMMUTABLE STRICT + AS $_$ +DECLARE + schemaname alias for $1; + tablename alias for $2; + columnname alias for $3; + myrec RECORD; + +BEGIN + FOR myrec IN EXECUTE 'SELECT extent("' || columnname || '") FROM "' || schemaname || '"."' || tablename || '"' LOOP + return myrec.extent; + END LOOP; +END; +$_$; + + +ALTER FUNCTION public.find_extent(text, text, text) OWNER TO postgres; + +-- +-- TOC entry 159 (class 1255 OID 18512) +-- Dependencies: 6 1167 +-- Name: find_srid(character varying, character varying, character varying); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION find_srid(character varying, character varying, character varying) RETURNS integer + LANGUAGE plpgsql IMMUTABLE STRICT + AS $_$ +DECLARE + schem text; + tabl text; + sr int4; +BEGIN + IF $1 IS NULL THEN + RAISE EXCEPTION 'find_srid() - schema is NULL!'; + END IF; + IF $2 IS NULL THEN + RAISE EXCEPTION 'find_srid() - table name is NULL!'; + END IF; + IF $3 IS NULL THEN + RAISE EXCEPTION 'find_srid() - column name is NULL!'; + END IF; + schem = $1; + tabl = $2; +-- if the table contains a . and the schema is empty +-- split the table into a schema and a table +-- otherwise drop through to default behavior + IF ( schem = '' and tabl LIKE '%.%' ) THEN + schem = substr(tabl,1,strpos(tabl,'.')-1); + tabl = substr(tabl,length(schem)+2); + ELSE + schem = schem || '%'; + END IF; + + select SRID into sr from geometry_columns where f_table_schema like schem and f_table_name = tabl and f_geometry_column = $3; + IF NOT FOUND THEN + RAISE EXCEPTION 'find_srid() - couldnt find the corresponding SRID - is the geometry registered in the GEOMETRY_COLUMNS table? Is there an uppercase/lowercase missmatch?'; + END IF; + return sr; +END; +$_$; + + +ALTER FUNCTION public.find_srid(character varying, character varying, character varying) OWNER TO postgres; + +-- +-- TOC entry 160 (class 1255 OID 18513) +-- Dependencies: 6 1167 +-- Name: fix_geometry_columns(); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION fix_geometry_columns() RETURNS text + LANGUAGE plpgsql + AS $$ +DECLARE + mislinked record; + result text; + linked integer; + deleted integer; + foundschema integer; +BEGIN + + -- Since 7.3 schema support has been added. + -- Previous postgis versions used to put the database name in + -- the schema column. This needs to be fixed, so we try to + -- set the correct schema for each geometry_colums record + -- looking at table, column, type and srid. + UPDATE geometry_columns SET f_table_schema = n.nspname + FROM pg_namespace n, pg_class c, pg_attribute a, + pg_constraint sridcheck, pg_constraint typecheck + WHERE ( f_table_schema is NULL + OR f_table_schema = '' + OR f_table_schema NOT IN ( + SELECT nspname::varchar + FROM pg_namespace nn, pg_class cc, pg_attribute aa + WHERE cc.relnamespace = nn.oid + AND cc.relname = f_table_name::name + AND aa.attrelid = cc.oid + AND aa.attname = f_geometry_column::name)) + AND f_table_name::name = c.relname + AND c.oid = a.attrelid + AND c.relnamespace = n.oid + AND f_geometry_column::name = a.attname + + AND sridcheck.conrelid = c.oid + AND sridcheck.consrc LIKE '(srid(% = %)' + AND sridcheck.consrc ~ textcat(' = ', srid::text) + + AND typecheck.conrelid = c.oid + AND typecheck.consrc LIKE + '((geometrytype(%) = ''%''::text) OR (% IS NULL))' + AND typecheck.consrc ~ textcat(' = ''', type::text) + + AND NOT EXISTS ( + SELECT oid FROM geometry_columns gc + WHERE c.relname::varchar = gc.f_table_name + AND n.nspname::varchar = gc.f_table_schema + AND a.attname::varchar = gc.f_geometry_column + ); + + GET DIAGNOSTICS foundschema = ROW_COUNT; + + -- no linkage to system table needed + return 'fixed:'||foundschema::text; + +END; +$$; + + +ALTER FUNCTION public.fix_geometry_columns() OWNER TO postgres; + +-- +-- TOC entry 161 (class 1255 OID 18514) +-- Dependencies: 1102 6 1102 +-- Name: force_2d(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION force_2d(geometry) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_force_2d'; + + +ALTER FUNCTION public.force_2d(geometry) OWNER TO postgres; + +-- +-- TOC entry 162 (class 1255 OID 18515) +-- Dependencies: 1102 6 1102 +-- Name: force_3d(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION force_3d(geometry) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_force_3dz'; + + +ALTER FUNCTION public.force_3d(geometry) OWNER TO postgres; + +-- +-- TOC entry 163 (class 1255 OID 18516) +-- Dependencies: 1102 6 1102 +-- Name: force_3dm(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION force_3dm(geometry) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_force_3dm'; + + +ALTER FUNCTION public.force_3dm(geometry) OWNER TO postgres; + +-- +-- TOC entry 164 (class 1255 OID 18517) +-- Dependencies: 6 1102 1102 +-- Name: force_3dz(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION force_3dz(geometry) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_force_3dz'; + + +ALTER FUNCTION public.force_3dz(geometry) OWNER TO postgres; + +-- +-- TOC entry 165 (class 1255 OID 18518) +-- Dependencies: 1102 1102 6 +-- Name: force_4d(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION force_4d(geometry) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_force_4d'; + + +ALTER FUNCTION public.force_4d(geometry) OWNER TO postgres; + +-- +-- TOC entry 166 (class 1255 OID 18519) +-- Dependencies: 1102 6 1102 +-- Name: force_collection(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION force_collection(geometry) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_force_collection'; + + +ALTER FUNCTION public.force_collection(geometry) OWNER TO postgres; + +-- +-- TOC entry 167 (class 1255 OID 18520) +-- Dependencies: 1102 6 1102 +-- Name: forcerhr(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION forcerhr(geometry) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_forceRHR_poly'; + + +ALTER FUNCTION public.forcerhr(geometry) OWNER TO postgres; + +-- +-- TOC entry 169 (class 1255 OID 18522) +-- Dependencies: 6 1102 1099 +-- Name: geography(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION geography(geometry) RETURNS geography + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'geography_from_geometry'; + + +ALTER FUNCTION public.geography(geometry) OWNER TO postgres; + +-- +-- TOC entry 168 (class 1255 OID 18521) +-- Dependencies: 6 1099 1099 +-- Name: geography(geography, integer, boolean); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION geography(geography, integer, boolean) RETURNS geography + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'geography_enforce_typmod'; + + +ALTER FUNCTION public.geography(geography, integer, boolean) OWNER TO postgres; + +-- +-- TOC entry 170 (class 1255 OID 18523) +-- Dependencies: 1099 1099 6 +-- Name: geography_cmp(geography, geography); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION geography_cmp(geography, geography) RETURNS integer + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'geography_cmp'; + + +ALTER FUNCTION public.geography_cmp(geography, geography) OWNER TO postgres; + +-- +-- TOC entry 171 (class 1255 OID 18524) +-- Dependencies: 1099 6 1099 +-- Name: geography_eq(geography, geography); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION geography_eq(geography, geography) RETURNS boolean + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'geography_eq'; + + +ALTER FUNCTION public.geography_eq(geography, geography) OWNER TO postgres; + +-- +-- TOC entry 172 (class 1255 OID 18525) +-- Dependencies: 6 1099 1099 +-- Name: geography_ge(geography, geography); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION geography_ge(geography, geography) RETURNS boolean + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'geography_ge'; + + +ALTER FUNCTION public.geography_ge(geography, geography) OWNER TO postgres; + +-- +-- TOC entry 173 (class 1255 OID 18526) +-- Dependencies: 6 +-- Name: geography_gist_compress(internal); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION geography_gist_compress(internal) RETURNS internal + LANGUAGE c + AS '$libdir/postgis-1.5', 'geography_gist_compress'; + + +ALTER FUNCTION public.geography_gist_compress(internal) OWNER TO postgres; + +-- +-- TOC entry 174 (class 1255 OID 18527) +-- Dependencies: 6 1102 +-- Name: geography_gist_consistent(internal, geometry, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION geography_gist_consistent(internal, geometry, integer) RETURNS boolean + LANGUAGE c + AS '$libdir/postgis-1.5', 'geography_gist_consistent'; + + +ALTER FUNCTION public.geography_gist_consistent(internal, geometry, integer) OWNER TO postgres; + +-- +-- TOC entry 175 (class 1255 OID 18528) +-- Dependencies: 6 +-- Name: geography_gist_decompress(internal); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION geography_gist_decompress(internal) RETURNS internal + LANGUAGE c + AS '$libdir/postgis-1.5', 'geography_gist_decompress'; + + +ALTER FUNCTION public.geography_gist_decompress(internal) OWNER TO postgres; + +-- +-- TOC entry 176 (class 1255 OID 18529) +-- Dependencies: 6 +-- Name: geography_gist_join_selectivity(internal, oid, internal, smallint); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION geography_gist_join_selectivity(internal, oid, internal, smallint) RETURNS double precision + LANGUAGE c + AS '$libdir/postgis-1.5', 'geography_gist_join_selectivity'; + + +ALTER FUNCTION public.geography_gist_join_selectivity(internal, oid, internal, smallint) OWNER TO postgres; + +-- +-- TOC entry 177 (class 1255 OID 18530) +-- Dependencies: 6 +-- Name: geography_gist_penalty(internal, internal, internal); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION geography_gist_penalty(internal, internal, internal) RETURNS internal + LANGUAGE c + AS '$libdir/postgis-1.5', 'geography_gist_penalty'; + + +ALTER FUNCTION public.geography_gist_penalty(internal, internal, internal) OWNER TO postgres; + +-- +-- TOC entry 178 (class 1255 OID 18531) +-- Dependencies: 6 +-- Name: geography_gist_picksplit(internal, internal); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION geography_gist_picksplit(internal, internal) RETURNS internal + LANGUAGE c + AS '$libdir/postgis-1.5', 'geography_gist_picksplit'; + + +ALTER FUNCTION public.geography_gist_picksplit(internal, internal) OWNER TO postgres; + +-- +-- TOC entry 179 (class 1255 OID 18532) +-- Dependencies: 1087 6 1087 +-- Name: geography_gist_same(box2d, box2d, internal); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION geography_gist_same(box2d, box2d, internal) RETURNS internal + LANGUAGE c + AS '$libdir/postgis-1.5', 'geography_gist_same'; + + +ALTER FUNCTION public.geography_gist_same(box2d, box2d, internal) OWNER TO postgres; + +-- +-- TOC entry 180 (class 1255 OID 18533) +-- Dependencies: 6 +-- Name: geography_gist_selectivity(internal, oid, internal, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION geography_gist_selectivity(internal, oid, internal, integer) RETURNS double precision + LANGUAGE c + AS '$libdir/postgis-1.5', 'geography_gist_selectivity'; + + +ALTER FUNCTION public.geography_gist_selectivity(internal, oid, internal, integer) OWNER TO postgres; + +-- +-- TOC entry 181 (class 1255 OID 18534) +-- Dependencies: 6 +-- Name: geography_gist_union(bytea, internal); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION geography_gist_union(bytea, internal) RETURNS internal + LANGUAGE c + AS '$libdir/postgis-1.5', 'geography_gist_union'; + + +ALTER FUNCTION public.geography_gist_union(bytea, internal) OWNER TO postgres; + +-- +-- TOC entry 182 (class 1255 OID 18535) +-- Dependencies: 6 1099 1099 +-- Name: geography_gt(geography, geography); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION geography_gt(geography, geography) RETURNS boolean + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'geography_gt'; + + +ALTER FUNCTION public.geography_gt(geography, geography) OWNER TO postgres; + +-- +-- TOC entry 183 (class 1255 OID 18536) +-- Dependencies: 6 1099 1099 +-- Name: geography_le(geography, geography); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION geography_le(geography, geography) RETURNS boolean + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'geography_le'; + + +ALTER FUNCTION public.geography_le(geography, geography) OWNER TO postgres; + +-- +-- TOC entry 184 (class 1255 OID 18537) +-- Dependencies: 6 1099 1099 +-- Name: geography_lt(geography, geography); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION geography_lt(geography, geography) RETURNS boolean + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'geography_lt'; + + +ALTER FUNCTION public.geography_lt(geography, geography) OWNER TO postgres; + +-- +-- TOC entry 185 (class 1255 OID 18538) +-- Dependencies: 6 1099 1099 +-- Name: geography_overlaps(geography, geography); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION geography_overlaps(geography, geography) RETURNS boolean + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'geography_overlaps'; + + +ALTER FUNCTION public.geography_overlaps(geography, geography) OWNER TO postgres; + +-- +-- TOC entry 186 (class 1255 OID 18539) +-- Dependencies: 6 +-- Name: geography_typmod_dims(integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION geography_typmod_dims(integer) RETURNS integer + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'geography_typmod_dims'; + + +ALTER FUNCTION public.geography_typmod_dims(integer) OWNER TO postgres; + +-- +-- TOC entry 187 (class 1255 OID 18540) +-- Dependencies: 6 +-- Name: geography_typmod_srid(integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION geography_typmod_srid(integer) RETURNS integer + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'geography_typmod_srid'; + + +ALTER FUNCTION public.geography_typmod_srid(integer) OWNER TO postgres; + +-- +-- TOC entry 188 (class 1255 OID 18541) +-- Dependencies: 6 +-- Name: geography_typmod_type(integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION geography_typmod_type(integer) RETURNS text + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'geography_typmod_type'; + + +ALTER FUNCTION public.geography_typmod_type(integer) OWNER TO postgres; + +-- +-- TOC entry 190 (class 1255 OID 18543) +-- Dependencies: 6 1102 +-- Name: geomcollfromtext(text); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION geomcollfromtext(text) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$ + SELECT CASE + WHEN geometrytype(GeomFromText($1)) = 'GEOMETRYCOLLECTION' + THEN GeomFromText($1) + ELSE NULL END + $_$; + + +ALTER FUNCTION public.geomcollfromtext(text) OWNER TO postgres; + +-- +-- TOC entry 189 (class 1255 OID 18542) +-- Dependencies: 6 1102 +-- Name: geomcollfromtext(text, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION geomcollfromtext(text, integer) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$ + SELECT CASE + WHEN geometrytype(GeomFromText($1, $2)) = 'GEOMETRYCOLLECTION' + THEN GeomFromText($1,$2) + ELSE NULL END + $_$; + + +ALTER FUNCTION public.geomcollfromtext(text, integer) OWNER TO postgres; + +-- +-- TOC entry 192 (class 1255 OID 18545) +-- Dependencies: 6 1102 +-- Name: geomcollfromwkb(bytea); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION geomcollfromwkb(bytea) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$ + SELECT CASE + WHEN geometrytype(GeomFromWKB($1)) = 'GEOMETRYCOLLECTION' + THEN GeomFromWKB($1) + ELSE NULL END + $_$; + + +ALTER FUNCTION public.geomcollfromwkb(bytea) OWNER TO postgres; + +-- +-- TOC entry 191 (class 1255 OID 18544) +-- Dependencies: 6 1102 +-- Name: geomcollfromwkb(bytea, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION geomcollfromwkb(bytea, integer) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$ + SELECT CASE + WHEN geometrytype(GeomFromWKB($1, $2)) = 'GEOMETRYCOLLECTION' + THEN GeomFromWKB($1, $2) + ELSE NULL END + $_$; + + +ALTER FUNCTION public.geomcollfromwkb(bytea, integer) OWNER TO postgres; + +-- +-- TOC entry 193 (class 1255 OID 18546) +-- Dependencies: 6 1102 1093 +-- Name: geometry(box3d_extent); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION geometry(box3d_extent) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'BOX3D_to_LWGEOM'; + + +ALTER FUNCTION public.geometry(box3d_extent) OWNER TO postgres; + +-- +-- TOC entry 194 (class 1255 OID 18547) +-- Dependencies: 6 1102 1087 +-- Name: geometry(box2d); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION geometry(box2d) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'BOX2DFLOAT4_to_LWGEOM'; + + +ALTER FUNCTION public.geometry(box2d) OWNER TO postgres; + +-- +-- TOC entry 195 (class 1255 OID 18548) +-- Dependencies: 6 1102 1090 +-- Name: geometry(box3d); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION geometry(box3d) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'BOX3D_to_LWGEOM'; + + +ALTER FUNCTION public.geometry(box3d) OWNER TO postgres; + +-- +-- TOC entry 196 (class 1255 OID 18549) +-- Dependencies: 6 1102 +-- Name: geometry(text); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION geometry(text) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'parse_WKT_lwgeom'; + + +ALTER FUNCTION public.geometry(text) OWNER TO postgres; + +-- +-- TOC entry 197 (class 1255 OID 18550) +-- Dependencies: 6 1102 1096 +-- Name: geometry(chip); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION geometry(chip) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'CHIP_to_LWGEOM'; + + +ALTER FUNCTION public.geometry(chip) OWNER TO postgres; + +-- +-- TOC entry 198 (class 1255 OID 18551) +-- Dependencies: 6 1102 +-- Name: geometry(bytea); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION geometry(bytea) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_from_bytea'; + + +ALTER FUNCTION public.geometry(bytea) OWNER TO postgres; + +-- +-- TOC entry 199 (class 1255 OID 18552) +-- Dependencies: 6 1102 1099 +-- Name: geometry(geography); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION geometry(geography) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'geometry_from_geography'; + + +ALTER FUNCTION public.geometry(geography) OWNER TO postgres; + +-- +-- TOC entry 200 (class 1255 OID 18553) +-- Dependencies: 6 1102 1102 +-- Name: geometry_above(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION geometry_above(geometry, geometry) RETURNS boolean + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_above'; + + +ALTER FUNCTION public.geometry_above(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 201 (class 1255 OID 18554) +-- Dependencies: 6 1102 1102 +-- Name: geometry_below(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION geometry_below(geometry, geometry) RETURNS boolean + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_below'; + + +ALTER FUNCTION public.geometry_below(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 202 (class 1255 OID 18555) +-- Dependencies: 6 1102 1102 +-- Name: geometry_cmp(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION geometry_cmp(geometry, geometry) RETURNS integer + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'lwgeom_cmp'; + + +ALTER FUNCTION public.geometry_cmp(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 203 (class 1255 OID 18556) +-- Dependencies: 6 1102 1102 +-- Name: geometry_contain(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION geometry_contain(geometry, geometry) RETURNS boolean + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_contain'; + + +ALTER FUNCTION public.geometry_contain(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 204 (class 1255 OID 18557) +-- Dependencies: 6 1102 1102 +-- Name: geometry_contained(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION geometry_contained(geometry, geometry) RETURNS boolean + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_contained'; + + +ALTER FUNCTION public.geometry_contained(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 205 (class 1255 OID 18558) +-- Dependencies: 6 1102 1102 +-- Name: geometry_eq(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION geometry_eq(geometry, geometry) RETURNS boolean + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'lwgeom_eq'; + + +ALTER FUNCTION public.geometry_eq(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 206 (class 1255 OID 18559) +-- Dependencies: 6 1102 1102 +-- Name: geometry_ge(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION geometry_ge(geometry, geometry) RETURNS boolean + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'lwgeom_ge'; + + +ALTER FUNCTION public.geometry_ge(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 207 (class 1255 OID 18560) +-- Dependencies: 6 +-- Name: geometry_gist_joinsel(internal, oid, internal, smallint); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION geometry_gist_joinsel(internal, oid, internal, smallint) RETURNS double precision + LANGUAGE c + AS '$libdir/postgis-1.5', 'LWGEOM_gist_joinsel'; + + +ALTER FUNCTION public.geometry_gist_joinsel(internal, oid, internal, smallint) OWNER TO postgres; + +-- +-- TOC entry 208 (class 1255 OID 18561) +-- Dependencies: 6 +-- Name: geometry_gist_sel(internal, oid, internal, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION geometry_gist_sel(internal, oid, internal, integer) RETURNS double precision + LANGUAGE c + AS '$libdir/postgis-1.5', 'LWGEOM_gist_sel'; + + +ALTER FUNCTION public.geometry_gist_sel(internal, oid, internal, integer) OWNER TO postgres; + +-- +-- TOC entry 209 (class 1255 OID 18562) +-- Dependencies: 6 1102 1102 +-- Name: geometry_gt(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION geometry_gt(geometry, geometry) RETURNS boolean + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'lwgeom_gt'; + + +ALTER FUNCTION public.geometry_gt(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 210 (class 1255 OID 18563) +-- Dependencies: 1102 6 1102 +-- Name: geometry_le(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION geometry_le(geometry, geometry) RETURNS boolean + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'lwgeom_le'; + + +ALTER FUNCTION public.geometry_le(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 211 (class 1255 OID 18564) +-- Dependencies: 1102 6 1102 +-- Name: geometry_left(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION geometry_left(geometry, geometry) RETURNS boolean + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_left'; + + +ALTER FUNCTION public.geometry_left(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 212 (class 1255 OID 18565) +-- Dependencies: 1102 6 1102 +-- Name: geometry_lt(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION geometry_lt(geometry, geometry) RETURNS boolean + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'lwgeom_lt'; + + +ALTER FUNCTION public.geometry_lt(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 213 (class 1255 OID 18566) +-- Dependencies: 1102 6 1102 +-- Name: geometry_overabove(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION geometry_overabove(geometry, geometry) RETURNS boolean + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_overabove'; + + +ALTER FUNCTION public.geometry_overabove(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 214 (class 1255 OID 18567) +-- Dependencies: 1102 6 1102 +-- Name: geometry_overbelow(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION geometry_overbelow(geometry, geometry) RETURNS boolean + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_overbelow'; + + +ALTER FUNCTION public.geometry_overbelow(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 215 (class 1255 OID 18568) +-- Dependencies: 1102 6 1102 +-- Name: geometry_overlap(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION geometry_overlap(geometry, geometry) RETURNS boolean + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_overlap'; + + +ALTER FUNCTION public.geometry_overlap(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 216 (class 1255 OID 18569) +-- Dependencies: 1102 6 1102 +-- Name: geometry_overleft(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION geometry_overleft(geometry, geometry) RETURNS boolean + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_overleft'; + + +ALTER FUNCTION public.geometry_overleft(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 217 (class 1255 OID 18570) +-- Dependencies: 1102 6 1102 +-- Name: geometry_overright(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION geometry_overright(geometry, geometry) RETURNS boolean + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_overright'; + + +ALTER FUNCTION public.geometry_overright(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 218 (class 1255 OID 18571) +-- Dependencies: 1102 6 1102 +-- Name: geometry_right(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION geometry_right(geometry, geometry) RETURNS boolean + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_right'; + + +ALTER FUNCTION public.geometry_right(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 219 (class 1255 OID 18572) +-- Dependencies: 1102 6 1102 +-- Name: geometry_same(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION geometry_same(geometry, geometry) RETURNS boolean + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_samebox'; + + +ALTER FUNCTION public.geometry_same(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 220 (class 1255 OID 18573) +-- Dependencies: 1102 6 1102 +-- Name: geometry_samebox(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION geometry_samebox(geometry, geometry) RETURNS boolean + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_samebox'; + + +ALTER FUNCTION public.geometry_samebox(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 221 (class 1255 OID 18574) +-- Dependencies: 6 1102 +-- Name: geometryfromtext(text); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION geometryfromtext(text) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_from_text'; + + +ALTER FUNCTION public.geometryfromtext(text) OWNER TO postgres; + +-- +-- TOC entry 222 (class 1255 OID 18575) +-- Dependencies: 1102 6 +-- Name: geometryfromtext(text, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION geometryfromtext(text, integer) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_from_text'; + + +ALTER FUNCTION public.geometryfromtext(text, integer) OWNER TO postgres; + +-- +-- TOC entry 223 (class 1255 OID 18576) +-- Dependencies: 6 1102 1102 +-- Name: geometryn(geometry, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION geometryn(geometry, integer) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_geometryn_collection'; + + +ALTER FUNCTION public.geometryn(geometry, integer) OWNER TO postgres; + +-- +-- TOC entry 224 (class 1255 OID 18577) +-- Dependencies: 1102 6 +-- Name: geometrytype(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION geometrytype(geometry) RETURNS text + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_getTYPE'; + + +ALTER FUNCTION public.geometrytype(geometry) OWNER TO postgres; + +-- +-- TOC entry 225 (class 1255 OID 18578) +-- Dependencies: 6 1102 +-- Name: geomfromewkb(bytea); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION geomfromewkb(bytea) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOMFromWKB'; + + +ALTER FUNCTION public.geomfromewkb(bytea) OWNER TO postgres; + +-- +-- TOC entry 226 (class 1255 OID 18579) +-- Dependencies: 6 1102 +-- Name: geomfromewkt(text); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION geomfromewkt(text) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'parse_WKT_lwgeom'; + + +ALTER FUNCTION public.geomfromewkt(text) OWNER TO postgres; + +-- +-- TOC entry 227 (class 1255 OID 18580) +-- Dependencies: 6 1102 +-- Name: geomfromtext(text); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION geomfromtext(text) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$SELECT geometryfromtext($1)$_$; + + +ALTER FUNCTION public.geomfromtext(text) OWNER TO postgres; + +-- +-- TOC entry 228 (class 1255 OID 18581) +-- Dependencies: 6 1102 +-- Name: geomfromtext(text, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION geomfromtext(text, integer) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$SELECT geometryfromtext($1, $2)$_$; + + +ALTER FUNCTION public.geomfromtext(text, integer) OWNER TO postgres; + +-- +-- TOC entry 229 (class 1255 OID 18582) +-- Dependencies: 6 1102 +-- Name: geomfromwkb(bytea); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION geomfromwkb(bytea) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_from_WKB'; + + +ALTER FUNCTION public.geomfromwkb(bytea) OWNER TO postgres; + +-- +-- TOC entry 230 (class 1255 OID 18583) +-- Dependencies: 6 1102 +-- Name: geomfromwkb(bytea, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION geomfromwkb(bytea, integer) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$SELECT setSRID(GeomFromWKB($1), $2)$_$; + + +ALTER FUNCTION public.geomfromwkb(bytea, integer) OWNER TO postgres; + +-- +-- TOC entry 231 (class 1255 OID 18584) +-- Dependencies: 1102 6 1102 1102 +-- Name: geomunion(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION geomunion(geometry, geometry) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'geomunion'; + + +ALTER FUNCTION public.geomunion(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 232 (class 1255 OID 18585) +-- Dependencies: 6 1167 +-- Name: get_proj4_from_srid(integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION get_proj4_from_srid(integer) RETURNS text + LANGUAGE plpgsql IMMUTABLE STRICT + AS $_$ +BEGIN + RETURN proj4text::text FROM spatial_ref_sys WHERE srid= $1; +END; +$_$; + + +ALTER FUNCTION public.get_proj4_from_srid(integer) OWNER TO postgres; + +-- +-- TOC entry 233 (class 1255 OID 18586) +-- Dependencies: 1087 6 1102 +-- Name: getbbox(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION getbbox(geometry) RETURNS box2d + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_to_BOX2DFLOAT4'; + + +ALTER FUNCTION public.getbbox(geometry) OWNER TO postgres; + +-- +-- TOC entry 234 (class 1255 OID 18587) +-- Dependencies: 1102 6 +-- Name: getsrid(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION getsrid(geometry) RETURNS integer + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_getSRID'; + + +ALTER FUNCTION public.getsrid(geometry) OWNER TO postgres; + +-- +-- TOC entry 235 (class 1255 OID 18588) +-- Dependencies: 6 +-- Name: gettransactionid(); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION gettransactionid() RETURNS xid + LANGUAGE c + AS '$libdir/postgis-1.5', 'getTransactionID'; + + +ALTER FUNCTION public.gettransactionid() OWNER TO postgres; + +-- +-- TOC entry 236 (class 1255 OID 18589) +-- Dependencies: 1102 6 +-- Name: hasbbox(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION hasbbox(geometry) RETURNS boolean + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_hasBBOX'; + + +ALTER FUNCTION public.hasbbox(geometry) OWNER TO postgres; + +-- +-- TOC entry 237 (class 1255 OID 18590) +-- Dependencies: 6 1096 +-- Name: height(chip); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION height(chip) RETURNS integer + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'CHIP_getHeight'; + + +ALTER FUNCTION public.height(chip) OWNER TO postgres; + +-- +-- TOC entry 238 (class 1255 OID 18591) +-- Dependencies: 1102 1102 6 +-- Name: interiorringn(geometry, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION interiorringn(geometry, integer) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_interiorringn_polygon'; + + +ALTER FUNCTION public.interiorringn(geometry, integer) OWNER TO postgres; + +-- +-- TOC entry 239 (class 1255 OID 18592) +-- Dependencies: 1102 6 1102 1102 +-- Name: intersection(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION intersection(geometry, geometry) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'intersection'; + + +ALTER FUNCTION public.intersection(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 240 (class 1255 OID 18593) +-- Dependencies: 1102 6 1102 +-- Name: intersects(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION intersects(geometry, geometry) RETURNS boolean + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'intersects'; + + +ALTER FUNCTION public.intersects(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 241 (class 1255 OID 18594) +-- Dependencies: 6 1102 +-- Name: isclosed(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION isclosed(geometry) RETURNS boolean + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_isclosed_linestring'; + + +ALTER FUNCTION public.isclosed(geometry) OWNER TO postgres; + +-- +-- TOC entry 242 (class 1255 OID 18595) +-- Dependencies: 6 1102 +-- Name: isempty(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION isempty(geometry) RETURNS boolean + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_isempty'; + + +ALTER FUNCTION public.isempty(geometry) OWNER TO postgres; + +-- +-- TOC entry 243 (class 1255 OID 18596) +-- Dependencies: 1102 6 +-- Name: isring(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION isring(geometry) RETURNS boolean + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'isring'; + + +ALTER FUNCTION public.isring(geometry) OWNER TO postgres; + +-- +-- TOC entry 244 (class 1255 OID 18597) +-- Dependencies: 6 1102 +-- Name: issimple(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION issimple(geometry) RETURNS boolean + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'issimple'; + + +ALTER FUNCTION public.issimple(geometry) OWNER TO postgres; + +-- +-- TOC entry 245 (class 1255 OID 18598) +-- Dependencies: 6 1102 +-- Name: isvalid(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION isvalid(geometry) RETURNS boolean + LANGUAGE c IMMUTABLE STRICT COST 100 + AS '$libdir/postgis-1.5', 'isvalid'; + + +ALTER FUNCTION public.isvalid(geometry) OWNER TO postgres; + +-- +-- TOC entry 246 (class 1255 OID 18599) +-- Dependencies: 1102 6 +-- Name: length(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION length(geometry) RETURNS double precision + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_length_linestring'; + + +ALTER FUNCTION public.length(geometry) OWNER TO postgres; + +-- +-- TOC entry 247 (class 1255 OID 18600) +-- Dependencies: 6 1102 +-- Name: length2d(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION length2d(geometry) RETURNS double precision + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_length2d_linestring'; + + +ALTER FUNCTION public.length2d(geometry) OWNER TO postgres; + +-- +-- TOC entry 248 (class 1255 OID 18601) +-- Dependencies: 6 1102 1113 +-- Name: length2d_spheroid(geometry, spheroid); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION length2d_spheroid(geometry, spheroid) RETURNS double precision + LANGUAGE c IMMUTABLE STRICT COST 100 + AS '$libdir/postgis-1.5', 'LWGEOM_length2d_ellipsoid'; + + +ALTER FUNCTION public.length2d_spheroid(geometry, spheroid) OWNER TO postgres; + +-- +-- TOC entry 249 (class 1255 OID 18602) +-- Dependencies: 6 1102 +-- Name: length3d(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION length3d(geometry) RETURNS double precision + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_length_linestring'; + + +ALTER FUNCTION public.length3d(geometry) OWNER TO postgres; + +-- +-- TOC entry 250 (class 1255 OID 18603) +-- Dependencies: 6 1102 1113 +-- Name: length3d_spheroid(geometry, spheroid); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION length3d_spheroid(geometry, spheroid) RETURNS double precision + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_length_ellipsoid_linestring'; + + +ALTER FUNCTION public.length3d_spheroid(geometry, spheroid) OWNER TO postgres; + +-- +-- TOC entry 251 (class 1255 OID 18604) +-- Dependencies: 1113 6 1102 +-- Name: length_spheroid(geometry, spheroid); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION length_spheroid(geometry, spheroid) RETURNS double precision + LANGUAGE c IMMUTABLE STRICT COST 100 + AS '$libdir/postgis-1.5', 'LWGEOM_length_ellipsoid_linestring'; + + +ALTER FUNCTION public.length_spheroid(geometry, spheroid) OWNER TO postgres; + +-- +-- TOC entry 252 (class 1255 OID 18605) +-- Dependencies: 6 1102 1102 +-- Name: line_interpolate_point(geometry, double precision); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION line_interpolate_point(geometry, double precision) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_line_interpolate_point'; + + +ALTER FUNCTION public.line_interpolate_point(geometry, double precision) OWNER TO postgres; + +-- +-- TOC entry 253 (class 1255 OID 18606) +-- Dependencies: 6 1102 1102 +-- Name: line_locate_point(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION line_locate_point(geometry, geometry) RETURNS double precision + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_line_locate_point'; + + +ALTER FUNCTION public.line_locate_point(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 254 (class 1255 OID 18607) +-- Dependencies: 6 1102 1102 +-- Name: line_substring(geometry, double precision, double precision); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION line_substring(geometry, double precision, double precision) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_line_substring'; + + +ALTER FUNCTION public.line_substring(geometry, double precision, double precision) OWNER TO postgres; + +-- +-- TOC entry 255 (class 1255 OID 18608) +-- Dependencies: 6 1102 1102 +-- Name: linefrommultipoint(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION linefrommultipoint(geometry) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_line_from_mpoint'; + + +ALTER FUNCTION public.linefrommultipoint(geometry) OWNER TO postgres; + +-- +-- TOC entry 256 (class 1255 OID 18609) +-- Dependencies: 6 1102 +-- Name: linefromtext(text); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION linefromtext(text) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$ + SELECT CASE WHEN geometrytype(GeomFromText($1)) = 'LINESTRING' + THEN GeomFromText($1) + ELSE NULL END + $_$; + + +ALTER FUNCTION public.linefromtext(text) OWNER TO postgres; + +-- +-- TOC entry 257 (class 1255 OID 18610) +-- Dependencies: 6 1102 +-- Name: linefromtext(text, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION linefromtext(text, integer) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$ + SELECT CASE WHEN geometrytype(GeomFromText($1, $2)) = 'LINESTRING' + THEN GeomFromText($1,$2) + ELSE NULL END + $_$; + + +ALTER FUNCTION public.linefromtext(text, integer) OWNER TO postgres; + +-- +-- TOC entry 259 (class 1255 OID 18612) +-- Dependencies: 6 1102 +-- Name: linefromwkb(bytea); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION linefromwkb(bytea) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$ + SELECT CASE WHEN geometrytype(GeomFromWKB($1)) = 'LINESTRING' + THEN GeomFromWKB($1) + ELSE NULL END + $_$; + + +ALTER FUNCTION public.linefromwkb(bytea) OWNER TO postgres; + +-- +-- TOC entry 258 (class 1255 OID 18611) +-- Dependencies: 6 1102 +-- Name: linefromwkb(bytea, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION linefromwkb(bytea, integer) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$ + SELECT CASE WHEN geometrytype(GeomFromWKB($1, $2)) = 'LINESTRING' + THEN GeomFromWKB($1, $2) + ELSE NULL END + $_$; + + +ALTER FUNCTION public.linefromwkb(bytea, integer) OWNER TO postgres; + +-- +-- TOC entry 260 (class 1255 OID 18613) +-- Dependencies: 6 1102 1102 +-- Name: linemerge(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION linemerge(geometry) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT COST 100 + AS '$libdir/postgis-1.5', 'linemerge'; + + +ALTER FUNCTION public.linemerge(geometry) OWNER TO postgres; + +-- +-- TOC entry 261 (class 1255 OID 18614) +-- Dependencies: 6 1102 +-- Name: linestringfromtext(text); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION linestringfromtext(text) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$SELECT LineFromText($1)$_$; + + +ALTER FUNCTION public.linestringfromtext(text) OWNER TO postgres; + +-- +-- TOC entry 262 (class 1255 OID 18615) +-- Dependencies: 6 1102 +-- Name: linestringfromtext(text, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION linestringfromtext(text, integer) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$SELECT LineFromText($1, $2)$_$; + + +ALTER FUNCTION public.linestringfromtext(text, integer) OWNER TO postgres; + +-- +-- TOC entry 264 (class 1255 OID 18617) +-- Dependencies: 6 1102 +-- Name: linestringfromwkb(bytea); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION linestringfromwkb(bytea) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$ + SELECT CASE WHEN geometrytype(GeomFromWKB($1)) = 'LINESTRING' + THEN GeomFromWKB($1) + ELSE NULL END + $_$; + + +ALTER FUNCTION public.linestringfromwkb(bytea) OWNER TO postgres; + +-- +-- TOC entry 263 (class 1255 OID 18616) +-- Dependencies: 6 1102 +-- Name: linestringfromwkb(bytea, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION linestringfromwkb(bytea, integer) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$ + SELECT CASE WHEN geometrytype(GeomFromWKB($1, $2)) = 'LINESTRING' + THEN GeomFromWKB($1, $2) + ELSE NULL END + $_$; + + +ALTER FUNCTION public.linestringfromwkb(bytea, integer) OWNER TO postgres; + +-- +-- TOC entry 265 (class 1255 OID 18618) +-- Dependencies: 6 1102 1102 +-- Name: locate_along_measure(geometry, double precision); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION locate_along_measure(geometry, double precision) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$ SELECT locate_between_measures($1, $2, $2) $_$; + + +ALTER FUNCTION public.locate_along_measure(geometry, double precision) OWNER TO postgres; + +-- +-- TOC entry 266 (class 1255 OID 18619) +-- Dependencies: 6 1102 1102 +-- Name: locate_between_measures(geometry, double precision, double precision); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION locate_between_measures(geometry, double precision, double precision) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_locate_between_m'; + + +ALTER FUNCTION public.locate_between_measures(geometry, double precision, double precision) OWNER TO postgres; + +-- +-- TOC entry 269 (class 1255 OID 18622) +-- Dependencies: 6 +-- Name: lockrow(text, text, text); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION lockrow(text, text, text) RETURNS integer + LANGUAGE sql STRICT + AS $_$ SELECT LockRow(current_schema(), $1, $2, $3, now()::timestamp+'1:00'); $_$; + + +ALTER FUNCTION public.lockrow(text, text, text) OWNER TO postgres; + +-- +-- TOC entry 268 (class 1255 OID 18621) +-- Dependencies: 6 +-- Name: lockrow(text, text, text, text); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION lockrow(text, text, text, text) RETURNS integer + LANGUAGE sql STRICT + AS $_$ SELECT LockRow($1, $2, $3, $4, now()::timestamp+'1:00'); $_$; + + +ALTER FUNCTION public.lockrow(text, text, text, text) OWNER TO postgres; + +-- +-- TOC entry 270 (class 1255 OID 18623) +-- Dependencies: 6 +-- Name: lockrow(text, text, text, timestamp without time zone); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION lockrow(text, text, text, timestamp without time zone) RETURNS integer + LANGUAGE sql STRICT + AS $_$ SELECT LockRow(current_schema(), $1, $2, $3, $4); $_$; + + +ALTER FUNCTION public.lockrow(text, text, text, timestamp without time zone) OWNER TO postgres; + +-- +-- TOC entry 267 (class 1255 OID 18620) +-- Dependencies: 1167 6 +-- Name: lockrow(text, text, text, text, timestamp without time zone); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION lockrow(text, text, text, text, timestamp without time zone) RETURNS integer + LANGUAGE plpgsql STRICT + AS $_$ +DECLARE + myschema alias for $1; + mytable alias for $2; + myrid alias for $3; + authid alias for $4; + expires alias for $5; + ret int; + mytoid oid; + myrec RECORD; + +BEGIN + + IF NOT LongTransactionsEnabled() THEN + RAISE EXCEPTION 'Long transaction support disabled, use EnableLongTransaction() to enable.'; + END IF; + + EXECUTE 'DELETE FROM authorization_table WHERE expires < now()'; + + SELECT c.oid INTO mytoid FROM pg_class c, pg_namespace n + WHERE c.relname = mytable + AND c.relnamespace = n.oid + AND n.nspname = myschema; + + -- RAISE NOTICE 'toid: %', mytoid; + + FOR myrec IN SELECT * FROM authorization_table WHERE + toid = mytoid AND rid = myrid + LOOP + IF myrec.authid != authid THEN + RETURN 0; + ELSE + RETURN 1; + END IF; + END LOOP; + + EXECUTE 'INSERT INTO authorization_table VALUES ('|| + quote_literal(mytoid::text)||','||quote_literal(myrid)|| + ','||quote_literal(expires::text)|| + ','||quote_literal(authid) ||')'; + + GET DIAGNOSTICS ret = ROW_COUNT; + + RETURN ret; +END; +$_$; + + +ALTER FUNCTION public.lockrow(text, text, text, text, timestamp without time zone) OWNER TO postgres; + +-- +-- TOC entry 271 (class 1255 OID 18624) +-- Dependencies: 1167 6 +-- Name: longtransactionsenabled(); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION longtransactionsenabled() RETURNS boolean + LANGUAGE plpgsql + AS $$ +DECLARE + rec RECORD; +BEGIN + FOR rec IN SELECT oid FROM pg_class WHERE relname = 'authorized_tables' + LOOP + return 't'; + END LOOP; + return 'f'; +END; +$$; + + +ALTER FUNCTION public.longtransactionsenabled() OWNER TO postgres; + +-- +-- TOC entry 272 (class 1255 OID 18625) +-- Dependencies: 6 +-- Name: lwgeom_gist_compress(internal); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION lwgeom_gist_compress(internal) RETURNS internal + LANGUAGE c + AS '$libdir/postgis-1.5', 'LWGEOM_gist_compress'; + + +ALTER FUNCTION public.lwgeom_gist_compress(internal) OWNER TO postgres; + +-- +-- TOC entry 273 (class 1255 OID 18626) +-- Dependencies: 1102 6 +-- Name: lwgeom_gist_consistent(internal, geometry, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION lwgeom_gist_consistent(internal, geometry, integer) RETURNS boolean + LANGUAGE c + AS '$libdir/postgis-1.5', 'LWGEOM_gist_consistent'; + + +ALTER FUNCTION public.lwgeom_gist_consistent(internal, geometry, integer) OWNER TO postgres; + +-- +-- TOC entry 274 (class 1255 OID 18627) +-- Dependencies: 6 +-- Name: lwgeom_gist_decompress(internal); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION lwgeom_gist_decompress(internal) RETURNS internal + LANGUAGE c + AS '$libdir/postgis-1.5', 'LWGEOM_gist_decompress'; + + +ALTER FUNCTION public.lwgeom_gist_decompress(internal) OWNER TO postgres; + +-- +-- TOC entry 275 (class 1255 OID 18628) +-- Dependencies: 6 +-- Name: lwgeom_gist_penalty(internal, internal, internal); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION lwgeom_gist_penalty(internal, internal, internal) RETURNS internal + LANGUAGE c + AS '$libdir/postgis-1.5', 'LWGEOM_gist_penalty'; + + +ALTER FUNCTION public.lwgeom_gist_penalty(internal, internal, internal) OWNER TO postgres; + +-- +-- TOC entry 276 (class 1255 OID 18629) +-- Dependencies: 6 +-- Name: lwgeom_gist_picksplit(internal, internal); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION lwgeom_gist_picksplit(internal, internal) RETURNS internal + LANGUAGE c + AS '$libdir/postgis-1.5', 'LWGEOM_gist_picksplit'; + + +ALTER FUNCTION public.lwgeom_gist_picksplit(internal, internal) OWNER TO postgres; + +-- +-- TOC entry 277 (class 1255 OID 18630) +-- Dependencies: 1087 6 1087 +-- Name: lwgeom_gist_same(box2d, box2d, internal); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION lwgeom_gist_same(box2d, box2d, internal) RETURNS internal + LANGUAGE c + AS '$libdir/postgis-1.5', 'LWGEOM_gist_same'; + + +ALTER FUNCTION public.lwgeom_gist_same(box2d, box2d, internal) OWNER TO postgres; + +-- +-- TOC entry 278 (class 1255 OID 18631) +-- Dependencies: 6 +-- Name: lwgeom_gist_union(bytea, internal); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION lwgeom_gist_union(bytea, internal) RETURNS internal + LANGUAGE c + AS '$libdir/postgis-1.5', 'LWGEOM_gist_union'; + + +ALTER FUNCTION public.lwgeom_gist_union(bytea, internal) OWNER TO postgres; + +-- +-- TOC entry 279 (class 1255 OID 18632) +-- Dependencies: 1102 6 +-- Name: m(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION m(geometry) RETURNS double precision + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_m_point'; + + +ALTER FUNCTION public.m(geometry) OWNER TO postgres; + +-- +-- TOC entry 280 (class 1255 OID 18633) +-- Dependencies: 1087 6 1102 1102 +-- Name: makebox2d(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION makebox2d(geometry, geometry) RETURNS box2d + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'BOX2DFLOAT4_construct'; + + +ALTER FUNCTION public.makebox2d(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 281 (class 1255 OID 18634) +-- Dependencies: 1102 6 1102 1090 +-- Name: makebox3d(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION makebox3d(geometry, geometry) RETURNS box3d + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'BOX3D_construct'; + + +ALTER FUNCTION public.makebox3d(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 282 (class 1255 OID 18635) +-- Dependencies: 1102 6 1102 1102 +-- Name: makeline(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION makeline(geometry, geometry) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_makeline'; + + +ALTER FUNCTION public.makeline(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 283 (class 1255 OID 18636) +-- Dependencies: 6 1102 1104 +-- Name: makeline_garray(geometry[]); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION makeline_garray(geometry[]) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_makeline_garray'; + + +ALTER FUNCTION public.makeline_garray(geometry[]) OWNER TO postgres; + +-- +-- TOC entry 284 (class 1255 OID 18637) +-- Dependencies: 6 1102 +-- Name: makepoint(double precision, double precision); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION makepoint(double precision, double precision) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_makepoint'; + + +ALTER FUNCTION public.makepoint(double precision, double precision) OWNER TO postgres; + +-- +-- TOC entry 285 (class 1255 OID 18638) +-- Dependencies: 6 1102 +-- Name: makepoint(double precision, double precision, double precision); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION makepoint(double precision, double precision, double precision) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_makepoint'; + + +ALTER FUNCTION public.makepoint(double precision, double precision, double precision) OWNER TO postgres; + +-- +-- TOC entry 286 (class 1255 OID 18639) +-- Dependencies: 6 1102 +-- Name: makepoint(double precision, double precision, double precision, double precision); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION makepoint(double precision, double precision, double precision, double precision) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_makepoint'; + + +ALTER FUNCTION public.makepoint(double precision, double precision, double precision, double precision) OWNER TO postgres; + +-- +-- TOC entry 287 (class 1255 OID 18640) +-- Dependencies: 6 1102 +-- Name: makepointm(double precision, double precision, double precision); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION makepointm(double precision, double precision, double precision) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_makepoint3dm'; + + +ALTER FUNCTION public.makepointm(double precision, double precision, double precision) OWNER TO postgres; + +-- +-- TOC entry 289 (class 1255 OID 18642) +-- Dependencies: 1102 6 1102 +-- Name: makepolygon(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION makepolygon(geometry) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_makepoly'; + + +ALTER FUNCTION public.makepolygon(geometry) OWNER TO postgres; + +-- +-- TOC entry 288 (class 1255 OID 18641) +-- Dependencies: 6 1104 1102 1102 +-- Name: makepolygon(geometry, geometry[]); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION makepolygon(geometry, geometry[]) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_makepoly'; + + +ALTER FUNCTION public.makepolygon(geometry, geometry[]) OWNER TO postgres; + +-- +-- TOC entry 290 (class 1255 OID 18643) +-- Dependencies: 6 1102 1102 +-- Name: max_distance(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION max_distance(geometry, geometry) RETURNS double precision + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_maxdistance2d_linestring'; + + +ALTER FUNCTION public.max_distance(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 291 (class 1255 OID 18644) +-- Dependencies: 1102 6 +-- Name: mem_size(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION mem_size(geometry) RETURNS integer + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_mem_size'; + + +ALTER FUNCTION public.mem_size(geometry) OWNER TO postgres; + +-- +-- TOC entry 293 (class 1255 OID 18646) +-- Dependencies: 6 1102 +-- Name: mlinefromtext(text); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION mlinefromtext(text) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$ + SELECT CASE WHEN geometrytype(GeomFromText($1)) = 'MULTILINESTRING' + THEN GeomFromText($1) + ELSE NULL END + $_$; + + +ALTER FUNCTION public.mlinefromtext(text) OWNER TO postgres; + +-- +-- TOC entry 292 (class 1255 OID 18645) +-- Dependencies: 1102 6 +-- Name: mlinefromtext(text, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION mlinefromtext(text, integer) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$ + SELECT CASE + WHEN geometrytype(GeomFromText($1, $2)) = 'MULTILINESTRING' + THEN GeomFromText($1,$2) + ELSE NULL END + $_$; + + +ALTER FUNCTION public.mlinefromtext(text, integer) OWNER TO postgres; + +-- +-- TOC entry 295 (class 1255 OID 18648) +-- Dependencies: 1102 6 +-- Name: mlinefromwkb(bytea); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION mlinefromwkb(bytea) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$ + SELECT CASE WHEN geometrytype(GeomFromWKB($1)) = 'MULTILINESTRING' + THEN GeomFromWKB($1) + ELSE NULL END + $_$; + + +ALTER FUNCTION public.mlinefromwkb(bytea) OWNER TO postgres; + +-- +-- TOC entry 294 (class 1255 OID 18647) +-- Dependencies: 6 1102 +-- Name: mlinefromwkb(bytea, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION mlinefromwkb(bytea, integer) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$ + SELECT CASE WHEN geometrytype(GeomFromWKB($1, $2)) = 'MULTILINESTRING' + THEN GeomFromWKB($1, $2) + ELSE NULL END + $_$; + + +ALTER FUNCTION public.mlinefromwkb(bytea, integer) OWNER TO postgres; + +-- +-- TOC entry 297 (class 1255 OID 18650) +-- Dependencies: 6 1102 +-- Name: mpointfromtext(text); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION mpointfromtext(text) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$ + SELECT CASE WHEN geometrytype(GeomFromText($1)) = 'MULTIPOINT' + THEN GeomFromText($1) + ELSE NULL END + $_$; + + +ALTER FUNCTION public.mpointfromtext(text) OWNER TO postgres; + +-- +-- TOC entry 296 (class 1255 OID 18649) +-- Dependencies: 1102 6 +-- Name: mpointfromtext(text, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION mpointfromtext(text, integer) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$ + SELECT CASE WHEN geometrytype(GeomFromText($1,$2)) = 'MULTIPOINT' + THEN GeomFromText($1,$2) + ELSE NULL END + $_$; + + +ALTER FUNCTION public.mpointfromtext(text, integer) OWNER TO postgres; + +-- +-- TOC entry 299 (class 1255 OID 18652) +-- Dependencies: 6 1102 +-- Name: mpointfromwkb(bytea); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION mpointfromwkb(bytea) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$ + SELECT CASE WHEN geometrytype(GeomFromWKB($1)) = 'MULTIPOINT' + THEN GeomFromWKB($1) + ELSE NULL END + $_$; + + +ALTER FUNCTION public.mpointfromwkb(bytea) OWNER TO postgres; + +-- +-- TOC entry 298 (class 1255 OID 18651) +-- Dependencies: 1102 6 +-- Name: mpointfromwkb(bytea, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION mpointfromwkb(bytea, integer) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$ + SELECT CASE WHEN geometrytype(GeomFromWKB($1,$2)) = 'MULTIPOINT' + THEN GeomFromWKB($1, $2) + ELSE NULL END + $_$; + + +ALTER FUNCTION public.mpointfromwkb(bytea, integer) OWNER TO postgres; + +-- +-- TOC entry 301 (class 1255 OID 18654) +-- Dependencies: 1102 6 +-- Name: mpolyfromtext(text); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION mpolyfromtext(text) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$ + SELECT CASE WHEN geometrytype(GeomFromText($1)) = 'MULTIPOLYGON' + THEN GeomFromText($1) + ELSE NULL END + $_$; + + +ALTER FUNCTION public.mpolyfromtext(text) OWNER TO postgres; + +-- +-- TOC entry 300 (class 1255 OID 18653) +-- Dependencies: 6 1102 +-- Name: mpolyfromtext(text, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION mpolyfromtext(text, integer) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$ + SELECT CASE WHEN geometrytype(GeomFromText($1, $2)) = 'MULTIPOLYGON' + THEN GeomFromText($1,$2) + ELSE NULL END + $_$; + + +ALTER FUNCTION public.mpolyfromtext(text, integer) OWNER TO postgres; + +-- +-- TOC entry 303 (class 1255 OID 18656) +-- Dependencies: 6 1102 +-- Name: mpolyfromwkb(bytea); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION mpolyfromwkb(bytea) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$ + SELECT CASE WHEN geometrytype(GeomFromWKB($1)) = 'MULTIPOLYGON' + THEN GeomFromWKB($1) + ELSE NULL END + $_$; + + +ALTER FUNCTION public.mpolyfromwkb(bytea) OWNER TO postgres; + +-- +-- TOC entry 302 (class 1255 OID 18655) +-- Dependencies: 1102 6 +-- Name: mpolyfromwkb(bytea, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION mpolyfromwkb(bytea, integer) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$ + SELECT CASE WHEN geometrytype(GeomFromWKB($1, $2)) = 'MULTIPOLYGON' + THEN GeomFromWKB($1, $2) + ELSE NULL END + $_$; + + +ALTER FUNCTION public.mpolyfromwkb(bytea, integer) OWNER TO postgres; + +-- +-- TOC entry 304 (class 1255 OID 18657) +-- Dependencies: 1102 1102 6 +-- Name: multi(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION multi(geometry) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_force_multi'; + + +ALTER FUNCTION public.multi(geometry) OWNER TO postgres; + +-- +-- TOC entry 306 (class 1255 OID 18659) +-- Dependencies: 1102 6 +-- Name: multilinefromwkb(bytea); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION multilinefromwkb(bytea) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$ + SELECT CASE WHEN geometrytype(GeomFromWKB($1)) = 'MULTILINESTRING' + THEN GeomFromWKB($1) + ELSE NULL END + $_$; + + +ALTER FUNCTION public.multilinefromwkb(bytea) OWNER TO postgres; + +-- +-- TOC entry 305 (class 1255 OID 18658) +-- Dependencies: 1102 6 +-- Name: multilinefromwkb(bytea, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION multilinefromwkb(bytea, integer) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$ + SELECT CASE WHEN geometrytype(GeomFromWKB($1, $2)) = 'MULTILINESTRING' + THEN GeomFromWKB($1, $2) + ELSE NULL END + $_$; + + +ALTER FUNCTION public.multilinefromwkb(bytea, integer) OWNER TO postgres; + +-- +-- TOC entry 307 (class 1255 OID 18660) +-- Dependencies: 1102 6 +-- Name: multilinestringfromtext(text); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION multilinestringfromtext(text) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$SELECT ST_MLineFromText($1)$_$; + + +ALTER FUNCTION public.multilinestringfromtext(text) OWNER TO postgres; + +-- +-- TOC entry 308 (class 1255 OID 18661) +-- Dependencies: 1102 6 +-- Name: multilinestringfromtext(text, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION multilinestringfromtext(text, integer) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$SELECT MLineFromText($1, $2)$_$; + + +ALTER FUNCTION public.multilinestringfromtext(text, integer) OWNER TO postgres; + +-- +-- TOC entry 310 (class 1255 OID 18663) +-- Dependencies: 1102 6 +-- Name: multipointfromtext(text); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION multipointfromtext(text) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$SELECT MPointFromText($1)$_$; + + +ALTER FUNCTION public.multipointfromtext(text) OWNER TO postgres; + +-- +-- TOC entry 309 (class 1255 OID 18662) +-- Dependencies: 6 1102 +-- Name: multipointfromtext(text, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION multipointfromtext(text, integer) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$SELECT MPointFromText($1, $2)$_$; + + +ALTER FUNCTION public.multipointfromtext(text, integer) OWNER TO postgres; + +-- +-- TOC entry 312 (class 1255 OID 18665) +-- Dependencies: 6 1102 +-- Name: multipointfromwkb(bytea); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION multipointfromwkb(bytea) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$ + SELECT CASE WHEN geometrytype(GeomFromWKB($1)) = 'MULTIPOINT' + THEN GeomFromWKB($1) + ELSE NULL END + $_$; + + +ALTER FUNCTION public.multipointfromwkb(bytea) OWNER TO postgres; + +-- +-- TOC entry 311 (class 1255 OID 18664) +-- Dependencies: 6 1102 +-- Name: multipointfromwkb(bytea, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION multipointfromwkb(bytea, integer) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$ + SELECT CASE WHEN geometrytype(GeomFromWKB($1,$2)) = 'MULTIPOINT' + THEN GeomFromWKB($1, $2) + ELSE NULL END + $_$; + + +ALTER FUNCTION public.multipointfromwkb(bytea, integer) OWNER TO postgres; + +-- +-- TOC entry 314 (class 1255 OID 18667) +-- Dependencies: 1102 6 +-- Name: multipolyfromwkb(bytea); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION multipolyfromwkb(bytea) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$ + SELECT CASE WHEN geometrytype(GeomFromWKB($1)) = 'MULTIPOLYGON' + THEN GeomFromWKB($1) + ELSE NULL END + $_$; + + +ALTER FUNCTION public.multipolyfromwkb(bytea) OWNER TO postgres; + +-- +-- TOC entry 313 (class 1255 OID 18666) +-- Dependencies: 6 1102 +-- Name: multipolyfromwkb(bytea, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION multipolyfromwkb(bytea, integer) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$ + SELECT CASE WHEN geometrytype(GeomFromWKB($1, $2)) = 'MULTIPOLYGON' + THEN GeomFromWKB($1, $2) + ELSE NULL END + $_$; + + +ALTER FUNCTION public.multipolyfromwkb(bytea, integer) OWNER TO postgres; + +-- +-- TOC entry 316 (class 1255 OID 18669) +-- Dependencies: 6 1102 +-- Name: multipolygonfromtext(text); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION multipolygonfromtext(text) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$SELECT MPolyFromText($1)$_$; + + +ALTER FUNCTION public.multipolygonfromtext(text) OWNER TO postgres; + +-- +-- TOC entry 315 (class 1255 OID 18668) +-- Dependencies: 6 1102 +-- Name: multipolygonfromtext(text, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION multipolygonfromtext(text, integer) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$SELECT MPolyFromText($1, $2)$_$; + + +ALTER FUNCTION public.multipolygonfromtext(text, integer) OWNER TO postgres; + +-- +-- TOC entry 317 (class 1255 OID 18670) +-- Dependencies: 6 1102 +-- Name: ndims(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION ndims(geometry) RETURNS smallint + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_ndims'; + + +ALTER FUNCTION public.ndims(geometry) OWNER TO postgres; + +-- +-- TOC entry 318 (class 1255 OID 18671) +-- Dependencies: 6 1102 1102 +-- Name: noop(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION noop(geometry) RETURNS geometry + LANGUAGE c STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_noop'; + + +ALTER FUNCTION public.noop(geometry) OWNER TO postgres; + +-- +-- TOC entry 319 (class 1255 OID 18672) +-- Dependencies: 6 1102 +-- Name: npoints(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION npoints(geometry) RETURNS integer + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_npoints'; + + +ALTER FUNCTION public.npoints(geometry) OWNER TO postgres; + +-- +-- TOC entry 320 (class 1255 OID 18673) +-- Dependencies: 6 1102 +-- Name: nrings(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION nrings(geometry) RETURNS integer + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_nrings'; + + +ALTER FUNCTION public.nrings(geometry) OWNER TO postgres; + +-- +-- TOC entry 321 (class 1255 OID 18674) +-- Dependencies: 6 1102 +-- Name: numgeometries(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION numgeometries(geometry) RETURNS integer + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_numgeometries_collection'; + + +ALTER FUNCTION public.numgeometries(geometry) OWNER TO postgres; + +-- +-- TOC entry 322 (class 1255 OID 18675) +-- Dependencies: 6 1102 +-- Name: numinteriorring(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION numinteriorring(geometry) RETURNS integer + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_numinteriorrings_polygon'; + + +ALTER FUNCTION public.numinteriorring(geometry) OWNER TO postgres; + +-- +-- TOC entry 323 (class 1255 OID 18676) +-- Dependencies: 6 1102 +-- Name: numinteriorrings(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION numinteriorrings(geometry) RETURNS integer + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_numinteriorrings_polygon'; + + +ALTER FUNCTION public.numinteriorrings(geometry) OWNER TO postgres; + +-- +-- TOC entry 324 (class 1255 OID 18677) +-- Dependencies: 6 1102 +-- Name: numpoints(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION numpoints(geometry) RETURNS integer + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_numpoints_linestring'; + + +ALTER FUNCTION public.numpoints(geometry) OWNER TO postgres; + +-- +-- TOC entry 325 (class 1255 OID 18678) +-- Dependencies: 1102 1102 6 +-- Name: overlaps(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION "overlaps"(geometry, geometry) RETURNS boolean + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'overlaps'; + + +ALTER FUNCTION public."overlaps"(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 326 (class 1255 OID 18679) +-- Dependencies: 6 1102 +-- Name: perimeter(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION perimeter(geometry) RETURNS double precision + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_perimeter_poly'; + + +ALTER FUNCTION public.perimeter(geometry) OWNER TO postgres; + +-- +-- TOC entry 327 (class 1255 OID 18680) +-- Dependencies: 6 1102 +-- Name: perimeter2d(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION perimeter2d(geometry) RETURNS double precision + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_perimeter2d_poly'; + + +ALTER FUNCTION public.perimeter2d(geometry) OWNER TO postgres; + +-- +-- TOC entry 328 (class 1255 OID 18681) +-- Dependencies: 1102 6 +-- Name: perimeter3d(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION perimeter3d(geometry) RETURNS double precision + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_perimeter_poly'; + + +ALTER FUNCTION public.perimeter3d(geometry) OWNER TO postgres; + +-- +-- TOC entry 329 (class 1255 OID 18682) +-- Dependencies: 1104 6 1110 +-- Name: pgis_geometry_accum_finalfn(pgis_abs); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION pgis_geometry_accum_finalfn(pgis_abs) RETURNS geometry[] + LANGUAGE c + AS '$libdir/postgis-1.5', 'pgis_geometry_accum_finalfn'; + + +ALTER FUNCTION public.pgis_geometry_accum_finalfn(pgis_abs) OWNER TO postgres; + +-- +-- TOC entry 330 (class 1255 OID 18683) +-- Dependencies: 1110 6 1110 1102 +-- Name: pgis_geometry_accum_transfn(pgis_abs, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION pgis_geometry_accum_transfn(pgis_abs, geometry) RETURNS pgis_abs + LANGUAGE c + AS '$libdir/postgis-1.5', 'pgis_geometry_accum_transfn'; + + +ALTER FUNCTION public.pgis_geometry_accum_transfn(pgis_abs, geometry) OWNER TO postgres; + +-- +-- TOC entry 331 (class 1255 OID 18684) +-- Dependencies: 1110 6 1102 +-- Name: pgis_geometry_collect_finalfn(pgis_abs); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION pgis_geometry_collect_finalfn(pgis_abs) RETURNS geometry + LANGUAGE c + AS '$libdir/postgis-1.5', 'pgis_geometry_collect_finalfn'; + + +ALTER FUNCTION public.pgis_geometry_collect_finalfn(pgis_abs) OWNER TO postgres; + +-- +-- TOC entry 332 (class 1255 OID 18685) +-- Dependencies: 6 1102 1110 +-- Name: pgis_geometry_makeline_finalfn(pgis_abs); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION pgis_geometry_makeline_finalfn(pgis_abs) RETURNS geometry + LANGUAGE c + AS '$libdir/postgis-1.5', 'pgis_geometry_makeline_finalfn'; + + +ALTER FUNCTION public.pgis_geometry_makeline_finalfn(pgis_abs) OWNER TO postgres; + +-- +-- TOC entry 333 (class 1255 OID 18686) +-- Dependencies: 1110 6 1102 +-- Name: pgis_geometry_polygonize_finalfn(pgis_abs); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION pgis_geometry_polygonize_finalfn(pgis_abs) RETURNS geometry + LANGUAGE c + AS '$libdir/postgis-1.5', 'pgis_geometry_polygonize_finalfn'; + + +ALTER FUNCTION public.pgis_geometry_polygonize_finalfn(pgis_abs) OWNER TO postgres; + +-- +-- TOC entry 334 (class 1255 OID 18687) +-- Dependencies: 1102 6 1110 +-- Name: pgis_geometry_union_finalfn(pgis_abs); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION pgis_geometry_union_finalfn(pgis_abs) RETURNS geometry + LANGUAGE c + AS '$libdir/postgis-1.5', 'pgis_geometry_union_finalfn'; + + +ALTER FUNCTION public.pgis_geometry_union_finalfn(pgis_abs) OWNER TO postgres; + +-- +-- TOC entry 335 (class 1255 OID 18688) +-- Dependencies: 6 1102 +-- Name: point_inside_circle(geometry, double precision, double precision, double precision); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION point_inside_circle(geometry, double precision, double precision, double precision) RETURNS boolean + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_inside_circle_point'; + + +ALTER FUNCTION public.point_inside_circle(geometry, double precision, double precision, double precision) OWNER TO postgres; + +-- +-- TOC entry 336 (class 1255 OID 18689) +-- Dependencies: 6 1102 +-- Name: pointfromtext(text); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION pointfromtext(text) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$ + SELECT CASE WHEN geometrytype(GeomFromText($1)) = 'POINT' + THEN GeomFromText($1) + ELSE NULL END + $_$; + + +ALTER FUNCTION public.pointfromtext(text) OWNER TO postgres; + +-- +-- TOC entry 337 (class 1255 OID 18690) +-- Dependencies: 6 1102 +-- Name: pointfromtext(text, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION pointfromtext(text, integer) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$ + SELECT CASE WHEN geometrytype(GeomFromText($1, $2)) = 'POINT' + THEN GeomFromText($1,$2) + ELSE NULL END + $_$; + + +ALTER FUNCTION public.pointfromtext(text, integer) OWNER TO postgres; + +-- +-- TOC entry 339 (class 1255 OID 18692) +-- Dependencies: 1102 6 +-- Name: pointfromwkb(bytea); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION pointfromwkb(bytea) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$ + SELECT CASE WHEN geometrytype(GeomFromWKB($1)) = 'POINT' + THEN GeomFromWKB($1) + ELSE NULL END + $_$; + + +ALTER FUNCTION public.pointfromwkb(bytea) OWNER TO postgres; + +-- +-- TOC entry 338 (class 1255 OID 18691) +-- Dependencies: 6 1102 +-- Name: pointfromwkb(bytea, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION pointfromwkb(bytea, integer) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$ + SELECT CASE WHEN geometrytype(GeomFromWKB($1, $2)) = 'POINT' + THEN GeomFromWKB($1, $2) + ELSE NULL END + $_$; + + +ALTER FUNCTION public.pointfromwkb(bytea, integer) OWNER TO postgres; + +-- +-- TOC entry 340 (class 1255 OID 18693) +-- Dependencies: 6 1102 1102 +-- Name: pointn(geometry, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION pointn(geometry, integer) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_pointn_linestring'; + + +ALTER FUNCTION public.pointn(geometry, integer) OWNER TO postgres; + +-- +-- TOC entry 341 (class 1255 OID 18694) +-- Dependencies: 6 1102 1102 +-- Name: pointonsurface(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION pointonsurface(geometry) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'pointonsurface'; + + +ALTER FUNCTION public.pointonsurface(geometry) OWNER TO postgres; + +-- +-- TOC entry 342 (class 1255 OID 18695) +-- Dependencies: 6 1102 +-- Name: polyfromtext(text); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION polyfromtext(text) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$ + SELECT CASE WHEN geometrytype(GeomFromText($1)) = 'POLYGON' + THEN GeomFromText($1) + ELSE NULL END + $_$; + + +ALTER FUNCTION public.polyfromtext(text) OWNER TO postgres; + +-- +-- TOC entry 343 (class 1255 OID 18696) +-- Dependencies: 6 1102 +-- Name: polyfromtext(text, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION polyfromtext(text, integer) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$ + SELECT CASE WHEN geometrytype(GeomFromText($1, $2)) = 'POLYGON' + THEN GeomFromText($1,$2) + ELSE NULL END + $_$; + + +ALTER FUNCTION public.polyfromtext(text, integer) OWNER TO postgres; + +-- +-- TOC entry 345 (class 1255 OID 18698) +-- Dependencies: 6 1102 +-- Name: polyfromwkb(bytea); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION polyfromwkb(bytea) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$ + SELECT CASE WHEN geometrytype(GeomFromWKB($1)) = 'POLYGON' + THEN GeomFromWKB($1) + ELSE NULL END + $_$; + + +ALTER FUNCTION public.polyfromwkb(bytea) OWNER TO postgres; + +-- +-- TOC entry 344 (class 1255 OID 18697) +-- Dependencies: 6 1102 +-- Name: polyfromwkb(bytea, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION polyfromwkb(bytea, integer) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$ + SELECT CASE WHEN geometrytype(GeomFromWKB($1, $2)) = 'POLYGON' + THEN GeomFromWKB($1, $2) + ELSE NULL END + $_$; + + +ALTER FUNCTION public.polyfromwkb(bytea, integer) OWNER TO postgres; + +-- +-- TOC entry 347 (class 1255 OID 18700) +-- Dependencies: 6 1102 +-- Name: polygonfromtext(text); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION polygonfromtext(text) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$SELECT PolyFromText($1)$_$; + + +ALTER FUNCTION public.polygonfromtext(text) OWNER TO postgres; + +-- +-- TOC entry 346 (class 1255 OID 18699) +-- Dependencies: 6 1102 +-- Name: polygonfromtext(text, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION polygonfromtext(text, integer) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$SELECT PolyFromText($1, $2)$_$; + + +ALTER FUNCTION public.polygonfromtext(text, integer) OWNER TO postgres; + +-- +-- TOC entry 349 (class 1255 OID 18702) +-- Dependencies: 6 1102 +-- Name: polygonfromwkb(bytea); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION polygonfromwkb(bytea) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$ + SELECT CASE WHEN geometrytype(GeomFromWKB($1)) = 'POLYGON' + THEN GeomFromWKB($1) + ELSE NULL END + $_$; + + +ALTER FUNCTION public.polygonfromwkb(bytea) OWNER TO postgres; + +-- +-- TOC entry 348 (class 1255 OID 18701) +-- Dependencies: 6 1102 +-- Name: polygonfromwkb(bytea, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION polygonfromwkb(bytea, integer) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$ + SELECT CASE WHEN geometrytype(GeomFromWKB($1,$2)) = 'POLYGON' + THEN GeomFromWKB($1, $2) + ELSE NULL END + $_$; + + +ALTER FUNCTION public.polygonfromwkb(bytea, integer) OWNER TO postgres; + +-- +-- TOC entry 350 (class 1255 OID 18703) +-- Dependencies: 6 1102 1104 +-- Name: polygonize_garray(geometry[]); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION polygonize_garray(geometry[]) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT COST 100 + AS '$libdir/postgis-1.5', 'polygonize_garray'; + + +ALTER FUNCTION public.polygonize_garray(geometry[]) OWNER TO postgres; + +-- +-- TOC entry 351 (class 1255 OID 18704) +-- Dependencies: 6 1167 +-- Name: populate_geometry_columns(); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION populate_geometry_columns() RETURNS text + LANGUAGE plpgsql + AS $$ +DECLARE + inserted integer; + oldcount integer; + probed integer; + stale integer; + gcs RECORD; + gc RECORD; + gsrid integer; + gndims integer; + gtype text; + query text; + gc_is_valid boolean; + +BEGIN + SELECT count(*) INTO oldcount FROM geometry_columns; + inserted := 0; + + EXECUTE 'TRUNCATE geometry_columns'; + + -- Count the number of geometry columns in all tables and views + SELECT count(DISTINCT c.oid) INTO probed + FROM pg_class c, + pg_attribute a, + pg_type t, + pg_namespace n + WHERE (c.relkind = 'r' OR c.relkind = 'v') + AND t.typname = 'geometry' + AND a.attisdropped = false + AND a.atttypid = t.oid + AND a.attrelid = c.oid + AND c.relnamespace = n.oid + AND n.nspname NOT ILIKE 'pg_temp%'; + + -- Iterate through all non-dropped geometry columns + RAISE DEBUG 'Processing Tables.....'; + + FOR gcs IN + SELECT DISTINCT ON (c.oid) c.oid, n.nspname, c.relname + FROM pg_class c, + pg_attribute a, + pg_type t, + pg_namespace n + WHERE c.relkind = 'r' + AND t.typname = 'geometry' + AND a.attisdropped = false + AND a.atttypid = t.oid + AND a.attrelid = c.oid + AND c.relnamespace = n.oid + AND n.nspname NOT ILIKE 'pg_temp%' + LOOP + + inserted := inserted + populate_geometry_columns(gcs.oid); + END LOOP; + + -- Add views to geometry columns table + RAISE DEBUG 'Processing Views.....'; + FOR gcs IN + SELECT DISTINCT ON (c.oid) c.oid, n.nspname, c.relname + FROM pg_class c, + pg_attribute a, + pg_type t, + pg_namespace n + WHERE c.relkind = 'v' + AND t.typname = 'geometry' + AND a.attisdropped = false + AND a.atttypid = t.oid + AND a.attrelid = c.oid + AND c.relnamespace = n.oid + LOOP + + inserted := inserted + populate_geometry_columns(gcs.oid); + END LOOP; + + IF oldcount > inserted THEN + stale = oldcount-inserted; + ELSE + stale = 0; + END IF; + + RETURN 'probed:' ||probed|| ' inserted:'||inserted|| ' conflicts:'||probed-inserted|| ' deleted:'||stale; +END + +$$; + + +ALTER FUNCTION public.populate_geometry_columns() OWNER TO postgres; + +-- +-- TOC entry 352 (class 1255 OID 18705) +-- Dependencies: 6 1167 +-- Name: populate_geometry_columns(oid); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION populate_geometry_columns(tbl_oid oid) RETURNS integer + LANGUAGE plpgsql + AS $$ +DECLARE + gcs RECORD; + gc RECORD; + gsrid integer; + gndims integer; + gtype text; + query text; + gc_is_valid boolean; + inserted integer; + +BEGIN + inserted := 0; + + -- Iterate through all geometry columns in this table + FOR gcs IN + SELECT n.nspname, c.relname, a.attname + FROM pg_class c, + pg_attribute a, + pg_type t, + pg_namespace n + WHERE c.relkind = 'r' + AND t.typname = 'geometry' + AND a.attisdropped = false + AND a.atttypid = t.oid + AND a.attrelid = c.oid + AND c.relnamespace = n.oid + AND n.nspname NOT ILIKE 'pg_temp%' + AND c.oid = tbl_oid + LOOP + + RAISE DEBUG 'Processing table %.%.%', gcs.nspname, gcs.relname, gcs.attname; + + DELETE FROM geometry_columns + WHERE f_table_schema = quote_ident(gcs.nspname) + AND f_table_name = quote_ident(gcs.relname) + AND f_geometry_column = quote_ident(gcs.attname); + + gc_is_valid := true; + + -- Try to find srid check from system tables (pg_constraint) + gsrid := + (SELECT replace(replace(split_part(s.consrc, ' = ', 2), ')', ''), '(', '') + FROM pg_class c, pg_namespace n, pg_attribute a, pg_constraint s + WHERE n.nspname = gcs.nspname + AND c.relname = gcs.relname + AND a.attname = gcs.attname + AND a.attrelid = c.oid + AND s.connamespace = n.oid + AND s.conrelid = c.oid + AND a.attnum = ANY (s.conkey) + AND s.consrc LIKE '%srid(% = %'); + IF (gsrid IS NULL) THEN + -- Try to find srid from the geometry itself + EXECUTE 'SELECT srid(' || quote_ident(gcs.attname) || ') + FROM ONLY ' || quote_ident(gcs.nspname) || '.' || quote_ident(gcs.relname) || ' + WHERE ' || quote_ident(gcs.attname) || ' IS NOT NULL LIMIT 1' + INTO gc; + gsrid := gc.srid; + + -- Try to apply srid check to column + IF (gsrid IS NOT NULL) THEN + BEGIN + EXECUTE 'ALTER TABLE ONLY ' || quote_ident(gcs.nspname) || '.' || quote_ident(gcs.relname) || ' + ADD CONSTRAINT ' || quote_ident('enforce_srid_' || gcs.attname) || ' + CHECK (srid(' || quote_ident(gcs.attname) || ') = ' || gsrid || ')'; + EXCEPTION + WHEN check_violation THEN + RAISE WARNING 'Not inserting ''%'' in ''%.%'' into geometry_columns: could not apply constraint CHECK (srid(%) = %)', quote_ident(gcs.attname), quote_ident(gcs.nspname), quote_ident(gcs.relname), quote_ident(gcs.attname), gsrid; + gc_is_valid := false; + END; + END IF; + END IF; + + -- Try to find ndims check from system tables (pg_constraint) + gndims := + (SELECT replace(split_part(s.consrc, ' = ', 2), ')', '') + FROM pg_class c, pg_namespace n, pg_attribute a, pg_constraint s + WHERE n.nspname = gcs.nspname + AND c.relname = gcs.relname + AND a.attname = gcs.attname + AND a.attrelid = c.oid + AND s.connamespace = n.oid + AND s.conrelid = c.oid + AND a.attnum = ANY (s.conkey) + AND s.consrc LIKE '%ndims(% = %'); + IF (gndims IS NULL) THEN + -- Try to find ndims from the geometry itself + EXECUTE 'SELECT ndims(' || quote_ident(gcs.attname) || ') + FROM ONLY ' || quote_ident(gcs.nspname) || '.' || quote_ident(gcs.relname) || ' + WHERE ' || quote_ident(gcs.attname) || ' IS NOT NULL LIMIT 1' + INTO gc; + gndims := gc.ndims; + + -- Try to apply ndims check to column + IF (gndims IS NOT NULL) THEN + BEGIN + EXECUTE 'ALTER TABLE ONLY ' || quote_ident(gcs.nspname) || '.' || quote_ident(gcs.relname) || ' + ADD CONSTRAINT ' || quote_ident('enforce_dims_' || gcs.attname) || ' + CHECK (ndims(' || quote_ident(gcs.attname) || ') = '||gndims||')'; + EXCEPTION + WHEN check_violation THEN + RAISE WARNING 'Not inserting ''%'' in ''%.%'' into geometry_columns: could not apply constraint CHECK (ndims(%) = %)', quote_ident(gcs.attname), quote_ident(gcs.nspname), quote_ident(gcs.relname), quote_ident(gcs.attname), gndims; + gc_is_valid := false; + END; + END IF; + END IF; + + -- Try to find geotype check from system tables (pg_constraint) + gtype := + (SELECT replace(split_part(s.consrc, '''', 2), ')', '') + FROM pg_class c, pg_namespace n, pg_attribute a, pg_constraint s + WHERE n.nspname = gcs.nspname + AND c.relname = gcs.relname + AND a.attname = gcs.attname + AND a.attrelid = c.oid + AND s.connamespace = n.oid + AND s.conrelid = c.oid + AND a.attnum = ANY (s.conkey) + AND s.consrc LIKE '%geometrytype(% = %'); + IF (gtype IS NULL) THEN + -- Try to find geotype from the geometry itself + EXECUTE 'SELECT geometrytype(' || quote_ident(gcs.attname) || ') + FROM ONLY ' || quote_ident(gcs.nspname) || '.' || quote_ident(gcs.relname) || ' + WHERE ' || quote_ident(gcs.attname) || ' IS NOT NULL LIMIT 1' + INTO gc; + gtype := gc.geometrytype; + --IF (gtype IS NULL) THEN + -- gtype := 'GEOMETRY'; + --END IF; + + -- Try to apply geometrytype check to column + IF (gtype IS NOT NULL) THEN + BEGIN + EXECUTE 'ALTER TABLE ONLY ' || quote_ident(gcs.nspname) || '.' || quote_ident(gcs.relname) || ' + ADD CONSTRAINT ' || quote_ident('enforce_geotype_' || gcs.attname) || ' + CHECK ((geometrytype(' || quote_ident(gcs.attname) || ') = ' || quote_literal(gtype) || ') OR (' || quote_ident(gcs.attname) || ' IS NULL))'; + EXCEPTION + WHEN check_violation THEN + -- No geometry check can be applied. This column contains a number of geometry types. + RAISE WARNING 'Could not add geometry type check (%) to table column: %.%.%', gtype, quote_ident(gcs.nspname),quote_ident(gcs.relname),quote_ident(gcs.attname); + END; + END IF; + END IF; + + IF (gsrid IS NULL) THEN + RAISE WARNING 'Not inserting ''%'' in ''%.%'' into geometry_columns: could not determine the srid', quote_ident(gcs.attname), quote_ident(gcs.nspname), quote_ident(gcs.relname); + ELSIF (gndims IS NULL) THEN + RAISE WARNING 'Not inserting ''%'' in ''%.%'' into geometry_columns: could not determine the number of dimensions', quote_ident(gcs.attname), quote_ident(gcs.nspname), quote_ident(gcs.relname); + ELSIF (gtype IS NULL) THEN + RAISE WARNING 'Not inserting ''%'' in ''%.%'' into geometry_columns: could not determine the geometry type', quote_ident(gcs.attname), quote_ident(gcs.nspname), quote_ident(gcs.relname); + ELSE + -- Only insert into geometry_columns if table constraints could be applied. + IF (gc_is_valid) THEN + INSERT INTO geometry_columns (f_table_catalog,f_table_schema, f_table_name, f_geometry_column, coord_dimension, srid, type) + VALUES ('', gcs.nspname, gcs.relname, gcs.attname, gndims, gsrid, gtype); + inserted := inserted + 1; + END IF; + END IF; + END LOOP; + + -- Add views to geometry columns table + FOR gcs IN + SELECT n.nspname, c.relname, a.attname + FROM pg_class c, + pg_attribute a, + pg_type t, + pg_namespace n + WHERE c.relkind = 'v' + AND t.typname = 'geometry' + AND a.attisdropped = false + AND a.atttypid = t.oid + AND a.attrelid = c.oid + AND c.relnamespace = n.oid + AND n.nspname NOT ILIKE 'pg_temp%' + AND c.oid = tbl_oid + LOOP + RAISE DEBUG 'Processing view %.%.%', gcs.nspname, gcs.relname, gcs.attname; + + EXECUTE 'SELECT ndims(' || quote_ident(gcs.attname) || ') + FROM ' || quote_ident(gcs.nspname) || '.' || quote_ident(gcs.relname) || ' + WHERE ' || quote_ident(gcs.attname) || ' IS NOT NULL LIMIT 1' + INTO gc; + gndims := gc.ndims; + + EXECUTE 'SELECT srid(' || quote_ident(gcs.attname) || ') + FROM ' || quote_ident(gcs.nspname) || '.' || quote_ident(gcs.relname) || ' + WHERE ' || quote_ident(gcs.attname) || ' IS NOT NULL LIMIT 1' + INTO gc; + gsrid := gc.srid; + + EXECUTE 'SELECT geometrytype(' || quote_ident(gcs.attname) || ') + FROM ' || quote_ident(gcs.nspname) || '.' || quote_ident(gcs.relname) || ' + WHERE ' || quote_ident(gcs.attname) || ' IS NOT NULL LIMIT 1' + INTO gc; + gtype := gc.geometrytype; + + IF (gndims IS NULL) THEN + RAISE WARNING 'Not inserting ''%'' in ''%.%'' into geometry_columns: could not determine ndims', quote_ident(gcs.attname), quote_ident(gcs.nspname), quote_ident(gcs.relname); + ELSIF (gsrid IS NULL) THEN + RAISE WARNING 'Not inserting ''%'' in ''%.%'' into geometry_columns: could not determine srid', quote_ident(gcs.attname), quote_ident(gcs.nspname), quote_ident(gcs.relname); + ELSIF (gtype IS NULL) THEN + RAISE WARNING 'Not inserting ''%'' in ''%.%'' into geometry_columns: could not determine gtype', quote_ident(gcs.attname), quote_ident(gcs.nspname), quote_ident(gcs.relname); + ELSE + query := 'INSERT INTO geometry_columns (f_table_catalog,f_table_schema, f_table_name, f_geometry_column, coord_dimension, srid, type) ' || + 'VALUES ('''', ' || quote_literal(gcs.nspname) || ',' || quote_literal(gcs.relname) || ',' || quote_literal(gcs.attname) || ',' || gndims || ',' || gsrid || ',' || quote_literal(gtype) || ')'; + EXECUTE query; + inserted := inserted + 1; + END IF; + END LOOP; + + RETURN inserted; +END + +$$; + + +ALTER FUNCTION public.populate_geometry_columns(tbl_oid oid) OWNER TO postgres; + +-- +-- TOC entry 353 (class 1255 OID 18707) +-- Dependencies: 6 1102 1102 +-- Name: postgis_addbbox(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION postgis_addbbox(geometry) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_addBBOX'; + + +ALTER FUNCTION public.postgis_addbbox(geometry) OWNER TO postgres; + +-- +-- TOC entry 354 (class 1255 OID 18708) +-- Dependencies: 6 +-- Name: postgis_cache_bbox(); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION postgis_cache_bbox() RETURNS trigger + LANGUAGE c + AS '$libdir/postgis-1.5', 'cache_bbox'; + + +ALTER FUNCTION public.postgis_cache_bbox() OWNER TO postgres; + +-- +-- TOC entry 355 (class 1255 OID 18709) +-- Dependencies: 1102 1102 6 +-- Name: postgis_dropbbox(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION postgis_dropbbox(geometry) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_dropBBOX'; + + +ALTER FUNCTION public.postgis_dropbbox(geometry) OWNER TO postgres; + +-- +-- TOC entry 356 (class 1255 OID 18710) +-- Dependencies: 6 1167 +-- Name: postgis_full_version(); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION postgis_full_version() RETURNS text + LANGUAGE plpgsql IMMUTABLE + AS $$ +DECLARE + libver text; + projver text; + geosver text; + libxmlver text; + usestats bool; + dbproc text; + relproc text; + fullver text; +BEGIN + SELECT postgis_lib_version() INTO libver; + SELECT postgis_proj_version() INTO projver; + SELECT postgis_geos_version() INTO geosver; + SELECT postgis_libxml_version() INTO libxmlver; + SELECT postgis_uses_stats() INTO usestats; + SELECT postgis_scripts_installed() INTO dbproc; + SELECT postgis_scripts_released() INTO relproc; + + fullver = 'POSTGIS="' || libver || '"'; + + IF geosver IS NOT NULL THEN + fullver = fullver || ' GEOS="' || geosver || '"'; + END IF; + + IF projver IS NOT NULL THEN + fullver = fullver || ' PROJ="' || projver || '"'; + END IF; + + IF libxmlver IS NOT NULL THEN + fullver = fullver || ' LIBXML="' || libxmlver || '"'; + END IF; + + IF usestats THEN + fullver = fullver || ' USE_STATS'; + END IF; + + -- fullver = fullver || ' DBPROC="' || dbproc || '"'; + -- fullver = fullver || ' RELPROC="' || relproc || '"'; + + IF dbproc != relproc THEN + fullver = fullver || ' (procs from ' || dbproc || ' need upgrade)'; + END IF; + + RETURN fullver; +END +$$; + + +ALTER FUNCTION public.postgis_full_version() OWNER TO postgres; + +-- +-- TOC entry 357 (class 1255 OID 18711) +-- Dependencies: 6 +-- Name: postgis_geos_version(); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION postgis_geos_version() RETURNS text + LANGUAGE c IMMUTABLE + AS '$libdir/postgis-1.5', 'postgis_geos_version'; + + +ALTER FUNCTION public.postgis_geos_version() OWNER TO postgres; + +-- +-- TOC entry 358 (class 1255 OID 18712) +-- Dependencies: 1102 6 1087 +-- Name: postgis_getbbox(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION postgis_getbbox(geometry) RETURNS box2d + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_to_BOX2DFLOAT4'; + + +ALTER FUNCTION public.postgis_getbbox(geometry) OWNER TO postgres; + +-- +-- TOC entry 359 (class 1255 OID 18713) +-- Dependencies: 6 +-- Name: postgis_gist_joinsel(internal, oid, internal, smallint); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION postgis_gist_joinsel(internal, oid, internal, smallint) RETURNS double precision + LANGUAGE c + AS '$libdir/postgis-1.5', 'LWGEOM_gist_joinsel'; + + +ALTER FUNCTION public.postgis_gist_joinsel(internal, oid, internal, smallint) OWNER TO postgres; + +-- +-- TOC entry 360 (class 1255 OID 18714) +-- Dependencies: 6 +-- Name: postgis_gist_sel(internal, oid, internal, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION postgis_gist_sel(internal, oid, internal, integer) RETURNS double precision + LANGUAGE c + AS '$libdir/postgis-1.5', 'LWGEOM_gist_sel'; + + +ALTER FUNCTION public.postgis_gist_sel(internal, oid, internal, integer) OWNER TO postgres; + +-- +-- TOC entry 361 (class 1255 OID 18715) +-- Dependencies: 1102 6 +-- Name: postgis_hasbbox(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION postgis_hasbbox(geometry) RETURNS boolean + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_hasBBOX'; + + +ALTER FUNCTION public.postgis_hasbbox(geometry) OWNER TO postgres; + +-- +-- TOC entry 362 (class 1255 OID 18716) +-- Dependencies: 6 +-- Name: postgis_lib_build_date(); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION postgis_lib_build_date() RETURNS text + LANGUAGE c IMMUTABLE + AS '$libdir/postgis-1.5', 'postgis_lib_build_date'; + + +ALTER FUNCTION public.postgis_lib_build_date() OWNER TO postgres; + +-- +-- TOC entry 363 (class 1255 OID 18717) +-- Dependencies: 6 +-- Name: postgis_lib_version(); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION postgis_lib_version() RETURNS text + LANGUAGE c IMMUTABLE + AS '$libdir/postgis-1.5', 'postgis_lib_version'; + + +ALTER FUNCTION public.postgis_lib_version() OWNER TO postgres; + +-- +-- TOC entry 364 (class 1255 OID 18718) +-- Dependencies: 6 +-- Name: postgis_libxml_version(); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION postgis_libxml_version() RETURNS text + LANGUAGE c IMMUTABLE + AS '$libdir/postgis-1.5', 'postgis_libxml_version'; + + +ALTER FUNCTION public.postgis_libxml_version() OWNER TO postgres; + +-- +-- TOC entry 365 (class 1255 OID 18719) +-- Dependencies: 1102 6 1102 +-- Name: postgis_noop(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION postgis_noop(geometry) RETURNS geometry + LANGUAGE c STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_noop'; + + +ALTER FUNCTION public.postgis_noop(geometry) OWNER TO postgres; + +-- +-- TOC entry 366 (class 1255 OID 18720) +-- Dependencies: 6 +-- Name: postgis_proj_version(); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION postgis_proj_version() RETURNS text + LANGUAGE c IMMUTABLE + AS '$libdir/postgis-1.5', 'postgis_proj_version'; + + +ALTER FUNCTION public.postgis_proj_version() OWNER TO postgres; + +-- +-- TOC entry 367 (class 1255 OID 18721) +-- Dependencies: 6 +-- Name: postgis_scripts_build_date(); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION postgis_scripts_build_date() RETURNS text + LANGUAGE sql IMMUTABLE + AS $$SELECT '2010-03-11 19:15:17'::text AS version$$; + + +ALTER FUNCTION public.postgis_scripts_build_date() OWNER TO postgres; + +-- +-- TOC entry 368 (class 1255 OID 18722) +-- Dependencies: 6 +-- Name: postgis_scripts_installed(); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION postgis_scripts_installed() RETURNS text + LANGUAGE sql IMMUTABLE + AS $$SELECT '1.5 r5385'::text AS version$$; + + +ALTER FUNCTION public.postgis_scripts_installed() OWNER TO postgres; + +-- +-- TOC entry 369 (class 1255 OID 18723) +-- Dependencies: 6 +-- Name: postgis_scripts_released(); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION postgis_scripts_released() RETURNS text + LANGUAGE c IMMUTABLE + AS '$libdir/postgis-1.5', 'postgis_scripts_released'; + + +ALTER FUNCTION public.postgis_scripts_released() OWNER TO postgres; + +-- +-- TOC entry 370 (class 1255 OID 18724) +-- Dependencies: 1102 6 1102 +-- Name: postgis_transform_geometry(geometry, text, text, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION postgis_transform_geometry(geometry, text, text, integer) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'transform_geom'; + + +ALTER FUNCTION public.postgis_transform_geometry(geometry, text, text, integer) OWNER TO postgres; + +-- +-- TOC entry 371 (class 1255 OID 18725) +-- Dependencies: 6 +-- Name: postgis_uses_stats(); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION postgis_uses_stats() RETURNS boolean + LANGUAGE c IMMUTABLE + AS '$libdir/postgis-1.5', 'postgis_uses_stats'; + + +ALTER FUNCTION public.postgis_uses_stats() OWNER TO postgres; + +-- +-- TOC entry 372 (class 1255 OID 18726) +-- Dependencies: 6 +-- Name: postgis_version(); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION postgis_version() RETURNS text + LANGUAGE c IMMUTABLE + AS '$libdir/postgis-1.5', 'postgis_version'; + + +ALTER FUNCTION public.postgis_version() OWNER TO postgres; + +-- +-- TOC entry 373 (class 1255 OID 18727) +-- Dependencies: 6 1167 +-- Name: probe_geometry_columns(); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION probe_geometry_columns() RETURNS text + LANGUAGE plpgsql + AS $$ +DECLARE + inserted integer; + oldcount integer; + probed integer; + stale integer; +BEGIN + + SELECT count(*) INTO oldcount FROM geometry_columns; + + SELECT count(*) INTO probed + FROM pg_class c, pg_attribute a, pg_type t, + pg_namespace n, + pg_constraint sridcheck, pg_constraint typecheck + + WHERE t.typname = 'geometry' + AND a.atttypid = t.oid + AND a.attrelid = c.oid + AND c.relnamespace = n.oid + AND sridcheck.connamespace = n.oid + AND typecheck.connamespace = n.oid + AND sridcheck.conrelid = c.oid + AND sridcheck.consrc LIKE '(srid('||a.attname||') = %)' + AND typecheck.conrelid = c.oid + AND typecheck.consrc LIKE + '((geometrytype('||a.attname||') = ''%''::text) OR (% IS NULL))' + ; + + INSERT INTO geometry_columns SELECT + ''::varchar as f_table_catalogue, + n.nspname::varchar as f_table_schema, + c.relname::varchar as f_table_name, + a.attname::varchar as f_geometry_column, + 2 as coord_dimension, + trim(both ' =)' from + replace(replace(split_part( + sridcheck.consrc, ' = ', 2), ')', ''), '(', ''))::integer AS srid, + trim(both ' =)''' from substr(typecheck.consrc, + strpos(typecheck.consrc, '='), + strpos(typecheck.consrc, '::')- + strpos(typecheck.consrc, '=') + ))::varchar as type + FROM pg_class c, pg_attribute a, pg_type t, + pg_namespace n, + pg_constraint sridcheck, pg_constraint typecheck + WHERE t.typname = 'geometry' + AND a.atttypid = t.oid + AND a.attrelid = c.oid + AND c.relnamespace = n.oid + AND sridcheck.connamespace = n.oid + AND typecheck.connamespace = n.oid + AND sridcheck.conrelid = c.oid + AND sridcheck.consrc LIKE '(st_srid('||a.attname||') = %)' + AND typecheck.conrelid = c.oid + AND typecheck.consrc LIKE + '((geometrytype('||a.attname||') = ''%''::text) OR (% IS NULL))' + + AND NOT EXISTS ( + SELECT oid FROM geometry_columns gc + WHERE c.relname::varchar = gc.f_table_name + AND n.nspname::varchar = gc.f_table_schema + AND a.attname::varchar = gc.f_geometry_column + ); + + GET DIAGNOSTICS inserted = ROW_COUNT; + + IF oldcount > probed THEN + stale = oldcount-probed; + ELSE + stale = 0; + END IF; + + RETURN 'probed:'||probed::text|| + ' inserted:'||inserted::text|| + ' conflicts:'||(probed-inserted)::text|| + ' stale:'||stale::text; +END + +$$; + + +ALTER FUNCTION public.probe_geometry_columns() OWNER TO postgres; + +-- +-- TOC entry 374 (class 1255 OID 18728) +-- Dependencies: 6 1102 1102 +-- Name: relate(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION relate(geometry, geometry) RETURNS text + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'relate_full'; + + +ALTER FUNCTION public.relate(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 375 (class 1255 OID 18729) +-- Dependencies: 1102 6 1102 +-- Name: relate(geometry, geometry, text); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION relate(geometry, geometry, text) RETURNS boolean + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'relate_pattern'; + + +ALTER FUNCTION public.relate(geometry, geometry, text) OWNER TO postgres; + +-- +-- TOC entry 376 (class 1255 OID 18730) +-- Dependencies: 1102 6 1102 +-- Name: removepoint(geometry, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION removepoint(geometry, integer) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_removepoint'; + + +ALTER FUNCTION public.removepoint(geometry, integer) OWNER TO postgres; + +-- +-- TOC entry 377 (class 1255 OID 18731) +-- Dependencies: 6 +-- Name: rename_geometry_table_constraints(); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION rename_geometry_table_constraints() RETURNS text + LANGUAGE sql IMMUTABLE + AS $$ +SELECT 'rename_geometry_table_constraint() is obsoleted'::text +$$; + + +ALTER FUNCTION public.rename_geometry_table_constraints() OWNER TO postgres; + +-- +-- TOC entry 378 (class 1255 OID 18732) +-- Dependencies: 1102 6 1102 +-- Name: reverse(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION reverse(geometry) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_reverse'; + + +ALTER FUNCTION public.reverse(geometry) OWNER TO postgres; + +-- +-- TOC entry 379 (class 1255 OID 18733) +-- Dependencies: 1102 6 1102 +-- Name: rotate(geometry, double precision); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION rotate(geometry, double precision) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$SELECT rotateZ($1, $2)$_$; + + +ALTER FUNCTION public.rotate(geometry, double precision) OWNER TO postgres; + +-- +-- TOC entry 380 (class 1255 OID 18734) +-- Dependencies: 1102 6 1102 +-- Name: rotatex(geometry, double precision); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION rotatex(geometry, double precision) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$SELECT affine($1, 1, 0, 0, 0, cos($2), -sin($2), 0, sin($2), cos($2), 0, 0, 0)$_$; + + +ALTER FUNCTION public.rotatex(geometry, double precision) OWNER TO postgres; + +-- +-- TOC entry 381 (class 1255 OID 18735) +-- Dependencies: 1102 6 1102 +-- Name: rotatey(geometry, double precision); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION rotatey(geometry, double precision) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$SELECT affine($1, cos($2), 0, sin($2), 0, 1, 0, -sin($2), 0, cos($2), 0, 0, 0)$_$; + + +ALTER FUNCTION public.rotatey(geometry, double precision) OWNER TO postgres; + +-- +-- TOC entry 382 (class 1255 OID 18736) +-- Dependencies: 1102 6 1102 +-- Name: rotatez(geometry, double precision); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION rotatez(geometry, double precision) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$SELECT affine($1, cos($2), -sin($2), 0, sin($2), cos($2), 0, 0, 0, 1, 0, 0, 0)$_$; + + +ALTER FUNCTION public.rotatez(geometry, double precision) OWNER TO postgres; + +-- +-- TOC entry 384 (class 1255 OID 18738) +-- Dependencies: 6 1102 1102 +-- Name: scale(geometry, double precision, double precision); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION scale(geometry, double precision, double precision) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$SELECT scale($1, $2, $3, 1)$_$; + + +ALTER FUNCTION public.scale(geometry, double precision, double precision) OWNER TO postgres; + +-- +-- TOC entry 383 (class 1255 OID 18737) +-- Dependencies: 6 1102 1102 +-- Name: scale(geometry, double precision, double precision, double precision); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION scale(geometry, double precision, double precision, double precision) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$SELECT affine($1, $2, 0, 0, 0, $3, 0, 0, 0, $4, 0, 0, 0)$_$; + + +ALTER FUNCTION public.scale(geometry, double precision, double precision, double precision) OWNER TO postgres; + +-- +-- TOC entry 385 (class 1255 OID 18739) +-- Dependencies: 1102 6 1102 +-- Name: se_envelopesintersect(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION se_envelopesintersect(geometry, geometry) RETURNS boolean + LANGUAGE sql IMMUTABLE STRICT + AS $_$ + SELECT $1 && $2 + $_$; + + +ALTER FUNCTION public.se_envelopesintersect(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 386 (class 1255 OID 18740) +-- Dependencies: 6 1102 +-- Name: se_is3d(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION se_is3d(geometry) RETURNS boolean + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_hasz'; + + +ALTER FUNCTION public.se_is3d(geometry) OWNER TO postgres; + +-- +-- TOC entry 387 (class 1255 OID 18741) +-- Dependencies: 6 1102 +-- Name: se_ismeasured(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION se_ismeasured(geometry) RETURNS boolean + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_hasm'; + + +ALTER FUNCTION public.se_ismeasured(geometry) OWNER TO postgres; + +-- +-- TOC entry 388 (class 1255 OID 18742) +-- Dependencies: 1102 6 1102 +-- Name: se_locatealong(geometry, double precision); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION se_locatealong(geometry, double precision) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$ SELECT locate_between_measures($1, $2, $2) $_$; + + +ALTER FUNCTION public.se_locatealong(geometry, double precision) OWNER TO postgres; + +-- +-- TOC entry 389 (class 1255 OID 18743) +-- Dependencies: 1102 6 1102 +-- Name: se_locatebetween(geometry, double precision, double precision); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION se_locatebetween(geometry, double precision, double precision) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_locate_between_m'; + + +ALTER FUNCTION public.se_locatebetween(geometry, double precision, double precision) OWNER TO postgres; + +-- +-- TOC entry 390 (class 1255 OID 18744) +-- Dependencies: 6 1102 +-- Name: se_m(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION se_m(geometry) RETURNS double precision + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_m_point'; + + +ALTER FUNCTION public.se_m(geometry) OWNER TO postgres; + +-- +-- TOC entry 391 (class 1255 OID 18745) +-- Dependencies: 6 1102 +-- Name: se_z(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION se_z(geometry) RETURNS double precision + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_z_point'; + + +ALTER FUNCTION public.se_z(geometry) OWNER TO postgres; + +-- +-- TOC entry 392 (class 1255 OID 18746) +-- Dependencies: 1102 6 1102 +-- Name: segmentize(geometry, double precision); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION segmentize(geometry, double precision) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_segmentize2d'; + + +ALTER FUNCTION public.segmentize(geometry, double precision) OWNER TO postgres; + +-- +-- TOC entry 393 (class 1255 OID 18747) +-- Dependencies: 1096 6 1096 +-- Name: setfactor(chip, real); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION setfactor(chip, real) RETURNS chip + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'CHIP_setFactor'; + + +ALTER FUNCTION public.setfactor(chip, real) OWNER TO postgres; + +-- +-- TOC entry 394 (class 1255 OID 18748) +-- Dependencies: 1102 6 1102 1102 +-- Name: setpoint(geometry, integer, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION setpoint(geometry, integer, geometry) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_setpoint_linestring'; + + +ALTER FUNCTION public.setpoint(geometry, integer, geometry) OWNER TO postgres; + +-- +-- TOC entry 395 (class 1255 OID 18749) +-- Dependencies: 1096 6 1096 +-- Name: setsrid(chip, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION setsrid(chip, integer) RETURNS chip + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'CHIP_setSRID'; + + +ALTER FUNCTION public.setsrid(chip, integer) OWNER TO postgres; + +-- +-- TOC entry 396 (class 1255 OID 18750) +-- Dependencies: 1102 6 1102 +-- Name: setsrid(geometry, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION setsrid(geometry, integer) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_setSRID'; + + +ALTER FUNCTION public.setsrid(geometry, integer) OWNER TO postgres; + +-- +-- TOC entry 397 (class 1255 OID 18751) +-- Dependencies: 6 1102 1102 +-- Name: shift_longitude(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION shift_longitude(geometry) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_longitude_shift'; + + +ALTER FUNCTION public.shift_longitude(geometry) OWNER TO postgres; + +-- +-- TOC entry 398 (class 1255 OID 18752) +-- Dependencies: 1102 6 1102 +-- Name: simplify(geometry, double precision); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION simplify(geometry, double precision) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_simplify2d'; + + +ALTER FUNCTION public.simplify(geometry, double precision) OWNER TO postgres; + +-- +-- TOC entry 401 (class 1255 OID 18755) +-- Dependencies: 1102 6 1102 +-- Name: snaptogrid(geometry, double precision); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION snaptogrid(geometry, double precision) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$SELECT SnapToGrid($1, 0, 0, $2, $2)$_$; + + +ALTER FUNCTION public.snaptogrid(geometry, double precision) OWNER TO postgres; + +-- +-- TOC entry 400 (class 1255 OID 18754) +-- Dependencies: 1102 6 1102 +-- Name: snaptogrid(geometry, double precision, double precision); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION snaptogrid(geometry, double precision, double precision) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$SELECT SnapToGrid($1, 0, 0, $2, $3)$_$; + + +ALTER FUNCTION public.snaptogrid(geometry, double precision, double precision) OWNER TO postgres; + +-- +-- TOC entry 399 (class 1255 OID 18753) +-- Dependencies: 6 1102 1102 +-- Name: snaptogrid(geometry, double precision, double precision, double precision, double precision); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION snaptogrid(geometry, double precision, double precision, double precision, double precision) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_snaptogrid'; + + +ALTER FUNCTION public.snaptogrid(geometry, double precision, double precision, double precision, double precision) OWNER TO postgres; + +-- +-- TOC entry 402 (class 1255 OID 18756) +-- Dependencies: 1102 6 1102 1102 +-- Name: snaptogrid(geometry, geometry, double precision, double precision, double precision, double precision); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION snaptogrid(geometry, geometry, double precision, double precision, double precision, double precision) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_snaptogrid_pointoff'; + + +ALTER FUNCTION public.snaptogrid(geometry, geometry, double precision, double precision, double precision, double precision) OWNER TO postgres; + +-- +-- TOC entry 403 (class 1255 OID 18757) +-- Dependencies: 6 1096 +-- Name: srid(chip); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION srid(chip) RETURNS integer + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'CHIP_getSRID'; + + +ALTER FUNCTION public.srid(chip) OWNER TO postgres; + +-- +-- TOC entry 404 (class 1255 OID 18758) +-- Dependencies: 6 1102 +-- Name: srid(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION srid(geometry) RETURNS integer + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_getSRID'; + + +ALTER FUNCTION public.srid(geometry) OWNER TO postgres; + +-- +-- TOC entry 405 (class 1255 OID 18759) +-- Dependencies: 6 1102 1102 +-- Name: st_addmeasure(geometry, double precision, double precision); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_addmeasure(geometry, double precision, double precision) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'ST_AddMeasure'; + + +ALTER FUNCTION public.st_addmeasure(geometry, double precision, double precision) OWNER TO postgres; + +-- +-- TOC entry 406 (class 1255 OID 18760) +-- Dependencies: 6 1102 1102 1102 +-- Name: st_addpoint(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_addpoint(geometry, geometry) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_addpoint'; + + +ALTER FUNCTION public.st_addpoint(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 407 (class 1255 OID 18761) +-- Dependencies: 6 1102 1102 1102 +-- Name: st_addpoint(geometry, geometry, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_addpoint(geometry, geometry, integer) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_addpoint'; + + +ALTER FUNCTION public.st_addpoint(geometry, geometry, integer) OWNER TO postgres; + +-- +-- TOC entry 409 (class 1255 OID 18763) +-- Dependencies: 6 1102 1102 +-- Name: st_affine(geometry, double precision, double precision, double precision, double precision, double precision, double precision); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_affine(geometry, double precision, double precision, double precision, double precision, double precision, double precision) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$SELECT affine($1, $2, $3, 0, $4, $5, 0, 0, 0, 1, $6, $7, 0)$_$; + + +ALTER FUNCTION public.st_affine(geometry, double precision, double precision, double precision, double precision, double precision, double precision) OWNER TO postgres; + +-- +-- TOC entry 408 (class 1255 OID 18762) +-- Dependencies: 6 1102 1102 +-- Name: st_affine(geometry, double precision, double precision, double precision, double precision, double precision, double precision, double precision, double precision, double precision, double precision, double precision, double precision); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_affine(geometry, double precision, double precision, double precision, double precision, double precision, double precision, double precision, double precision, double precision, double precision, double precision, double precision) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_affine'; + + +ALTER FUNCTION public.st_affine(geometry, double precision, double precision, double precision, double precision, double precision, double precision, double precision, double precision, double precision, double precision, double precision, double precision) OWNER TO postgres; + +-- +-- TOC entry 410 (class 1255 OID 18764) +-- Dependencies: 6 1102 +-- Name: st_area(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_area(geometry) RETURNS double precision + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_area_polygon'; + + +ALTER FUNCTION public.st_area(geometry) OWNER TO postgres; + +-- +-- TOC entry 412 (class 1255 OID 18766) +-- Dependencies: 6 1099 +-- Name: st_area(geography); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_area(geography) RETURNS double precision + LANGUAGE sql IMMUTABLE STRICT + AS $_$SELECT ST_Area($1, true)$_$; + + +ALTER FUNCTION public.st_area(geography) OWNER TO postgres; + +-- +-- TOC entry 413 (class 1255 OID 18767) +-- Dependencies: 6 +-- Name: st_area(text); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_area(text) RETURNS double precision + LANGUAGE sql IMMUTABLE STRICT + AS $_$ SELECT ST_Area($1::geometry); $_$; + + +ALTER FUNCTION public.st_area(text) OWNER TO postgres; + +-- +-- TOC entry 411 (class 1255 OID 18765) +-- Dependencies: 6 1099 +-- Name: st_area(geography, boolean); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_area(geography, boolean) RETURNS double precision + LANGUAGE c IMMUTABLE STRICT COST 100 + AS '$libdir/postgis-1.5', 'geography_area'; + + +ALTER FUNCTION public.st_area(geography, boolean) OWNER TO postgres; + +-- +-- TOC entry 414 (class 1255 OID 18768) +-- Dependencies: 6 1102 +-- Name: st_area2d(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_area2d(geometry) RETURNS double precision + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_area_polygon'; + + +ALTER FUNCTION public.st_area2d(geometry) OWNER TO postgres; + +-- +-- TOC entry 415 (class 1255 OID 18769) +-- Dependencies: 6 1102 +-- Name: st_asbinary(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_asbinary(geometry) RETURNS bytea + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_asBinary'; + + +ALTER FUNCTION public.st_asbinary(geometry) OWNER TO postgres; + +-- +-- TOC entry 417 (class 1255 OID 18771) +-- Dependencies: 6 1099 +-- Name: st_asbinary(geography); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_asbinary(geography) RETURNS bytea + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'geography_as_binary'; + + +ALTER FUNCTION public.st_asbinary(geography) OWNER TO postgres; + +-- +-- TOC entry 418 (class 1255 OID 18772) +-- Dependencies: 6 +-- Name: st_asbinary(text); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_asbinary(text) RETURNS bytea + LANGUAGE sql IMMUTABLE STRICT + AS $_$ SELECT ST_AsBinary($1::geometry); $_$; + + +ALTER FUNCTION public.st_asbinary(text) OWNER TO postgres; + +-- +-- TOC entry 416 (class 1255 OID 18770) +-- Dependencies: 6 1102 +-- Name: st_asbinary(geometry, text); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_asbinary(geometry, text) RETURNS bytea + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_asBinary'; + + +ALTER FUNCTION public.st_asbinary(geometry, text) OWNER TO postgres; + +-- +-- TOC entry 419 (class 1255 OID 18773) +-- Dependencies: 6 1102 +-- Name: st_asewkb(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_asewkb(geometry) RETURNS bytea + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'WKBFromLWGEOM'; + + +ALTER FUNCTION public.st_asewkb(geometry) OWNER TO postgres; + +-- +-- TOC entry 420 (class 1255 OID 18774) +-- Dependencies: 6 1102 +-- Name: st_asewkb(geometry, text); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_asewkb(geometry, text) RETURNS bytea + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'WKBFromLWGEOM'; + + +ALTER FUNCTION public.st_asewkb(geometry, text) OWNER TO postgres; + +-- +-- TOC entry 421 (class 1255 OID 18775) +-- Dependencies: 6 1102 +-- Name: st_asewkt(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_asewkt(geometry) RETURNS text + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_asEWKT'; + + +ALTER FUNCTION public.st_asewkt(geometry) OWNER TO postgres; + +-- +-- TOC entry 423 (class 1255 OID 18777) +-- Dependencies: 6 1102 +-- Name: st_asgeojson(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_asgeojson(geometry) RETURNS text + LANGUAGE sql IMMUTABLE STRICT + AS $_$SELECT _ST_AsGeoJson(1, $1, 15, 0)$_$; + + +ALTER FUNCTION public.st_asgeojson(geometry) OWNER TO postgres; + +-- +-- TOC entry 429 (class 1255 OID 18783) +-- Dependencies: 6 1099 +-- Name: st_asgeojson(geography); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_asgeojson(geography) RETURNS text + LANGUAGE sql IMMUTABLE STRICT + AS $_$SELECT _ST_AsGeoJson(1, $1, 15, 0)$_$; + + +ALTER FUNCTION public.st_asgeojson(geography) OWNER TO postgres; + +-- +-- TOC entry 430 (class 1255 OID 18784) +-- Dependencies: 6 +-- Name: st_asgeojson(text); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_asgeojson(text) RETURNS text + LANGUAGE sql IMMUTABLE STRICT + AS $_$ SELECT ST_AsGeoJson($1::geometry); $_$; + + +ALTER FUNCTION public.st_asgeojson(text) OWNER TO postgres; + +-- +-- TOC entry 422 (class 1255 OID 18776) +-- Dependencies: 6 1102 +-- Name: st_asgeojson(geometry, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_asgeojson(geometry, integer) RETURNS text + LANGUAGE sql IMMUTABLE STRICT + AS $_$SELECT _ST_AsGeoJson(1, $1, $2, 0)$_$; + + +ALTER FUNCTION public.st_asgeojson(geometry, integer) OWNER TO postgres; + +-- +-- TOC entry 424 (class 1255 OID 18778) +-- Dependencies: 6 1102 +-- Name: st_asgeojson(integer, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_asgeojson(integer, geometry) RETURNS text + LANGUAGE sql IMMUTABLE STRICT + AS $_$SELECT _ST_AsGeoJson($1, $2, 15, 0)$_$; + + +ALTER FUNCTION public.st_asgeojson(integer, geometry) OWNER TO postgres; + +-- +-- TOC entry 428 (class 1255 OID 18782) +-- Dependencies: 6 1099 +-- Name: st_asgeojson(geography, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_asgeojson(geography, integer) RETURNS text + LANGUAGE sql IMMUTABLE STRICT + AS $_$SELECT _ST_AsGeoJson(1, $1, $2, 0)$_$; + + +ALTER FUNCTION public.st_asgeojson(geography, integer) OWNER TO postgres; + +-- +-- TOC entry 431 (class 1255 OID 18785) +-- Dependencies: 6 1099 +-- Name: st_asgeojson(integer, geography); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_asgeojson(integer, geography) RETURNS text + LANGUAGE sql IMMUTABLE STRICT + AS $_$SELECT _ST_AsGeoJson($1, $2, 15, 0)$_$; + + +ALTER FUNCTION public.st_asgeojson(integer, geography) OWNER TO postgres; + +-- +-- TOC entry 425 (class 1255 OID 18779) +-- Dependencies: 6 1102 +-- Name: st_asgeojson(integer, geometry, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_asgeojson(integer, geometry, integer) RETURNS text + LANGUAGE sql IMMUTABLE STRICT + AS $_$SELECT _ST_AsGeoJson($1, $2, $3, 0)$_$; + + +ALTER FUNCTION public.st_asgeojson(integer, geometry, integer) OWNER TO postgres; + +-- +-- TOC entry 426 (class 1255 OID 18780) +-- Dependencies: 6 1102 +-- Name: st_asgeojson(geometry, integer, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_asgeojson(geometry, integer, integer) RETURNS text + LANGUAGE sql IMMUTABLE STRICT + AS $_$SELECT _ST_AsGeoJson(1, $1, $2, $3)$_$; + + +ALTER FUNCTION public.st_asgeojson(geometry, integer, integer) OWNER TO postgres; + +-- +-- TOC entry 432 (class 1255 OID 18786) +-- Dependencies: 6 1099 +-- Name: st_asgeojson(integer, geography, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_asgeojson(integer, geography, integer) RETURNS text + LANGUAGE sql IMMUTABLE STRICT + AS $_$SELECT _ST_AsGeoJson($1, $2, $3, 0)$_$; + + +ALTER FUNCTION public.st_asgeojson(integer, geography, integer) OWNER TO postgres; + +-- +-- TOC entry 433 (class 1255 OID 18787) +-- Dependencies: 6 1099 +-- Name: st_asgeojson(geography, integer, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_asgeojson(geography, integer, integer) RETURNS text + LANGUAGE sql IMMUTABLE STRICT + AS $_$SELECT _ST_AsGeoJson(1, $1, $2, $3)$_$; + + +ALTER FUNCTION public.st_asgeojson(geography, integer, integer) OWNER TO postgres; + +-- +-- TOC entry 427 (class 1255 OID 18781) +-- Dependencies: 6 1102 +-- Name: st_asgeojson(integer, geometry, integer, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_asgeojson(integer, geometry, integer, integer) RETURNS text + LANGUAGE sql IMMUTABLE STRICT + AS $_$SELECT _ST_AsGeoJson($1, $2, $3, $4)$_$; + + +ALTER FUNCTION public.st_asgeojson(integer, geometry, integer, integer) OWNER TO postgres; + +-- +-- TOC entry 434 (class 1255 OID 18788) +-- Dependencies: 6 1099 +-- Name: st_asgeojson(integer, geography, integer, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_asgeojson(integer, geography, integer, integer) RETURNS text + LANGUAGE sql IMMUTABLE STRICT + AS $_$SELECT _ST_AsGeoJson($1, $2, $3, $4)$_$; + + +ALTER FUNCTION public.st_asgeojson(integer, geography, integer, integer) OWNER TO postgres; + +-- +-- TOC entry 436 (class 1255 OID 18790) +-- Dependencies: 6 1102 +-- Name: st_asgml(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_asgml(geometry) RETURNS text + LANGUAGE sql IMMUTABLE STRICT + AS $_$SELECT _ST_AsGML(2, $1, 15, 0)$_$; + + +ALTER FUNCTION public.st_asgml(geometry) OWNER TO postgres; + +-- +-- TOC entry 442 (class 1255 OID 18796) +-- Dependencies: 6 1099 +-- Name: st_asgml(geography); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_asgml(geography) RETURNS text + LANGUAGE sql IMMUTABLE STRICT + AS $_$SELECT _ST_AsGML(2, $1, 15, 0)$_$; + + +ALTER FUNCTION public.st_asgml(geography) OWNER TO postgres; + +-- +-- TOC entry 443 (class 1255 OID 18797) +-- Dependencies: 6 +-- Name: st_asgml(text); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_asgml(text) RETURNS text + LANGUAGE sql IMMUTABLE STRICT + AS $_$ SELECT ST_AsGML($1::geometry); $_$; + + +ALTER FUNCTION public.st_asgml(text) OWNER TO postgres; + +-- +-- TOC entry 435 (class 1255 OID 18789) +-- Dependencies: 6 1102 +-- Name: st_asgml(geometry, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_asgml(geometry, integer) RETURNS text + LANGUAGE sql IMMUTABLE STRICT + AS $_$SELECT _ST_AsGML(2, $1, $2, 0)$_$; + + +ALTER FUNCTION public.st_asgml(geometry, integer) OWNER TO postgres; + +-- +-- TOC entry 437 (class 1255 OID 18791) +-- Dependencies: 6 1102 +-- Name: st_asgml(integer, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_asgml(integer, geometry) RETURNS text + LANGUAGE sql IMMUTABLE STRICT + AS $_$SELECT _ST_AsGML($1, $2, 15, 0)$_$; + + +ALTER FUNCTION public.st_asgml(integer, geometry) OWNER TO postgres; + +-- +-- TOC entry 441 (class 1255 OID 18795) +-- Dependencies: 6 1099 +-- Name: st_asgml(geography, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_asgml(geography, integer) RETURNS text + LANGUAGE sql IMMUTABLE STRICT + AS $_$SELECT _ST_AsGML(2, $1, $2, 0)$_$; + + +ALTER FUNCTION public.st_asgml(geography, integer) OWNER TO postgres; + +-- +-- TOC entry 444 (class 1255 OID 18798) +-- Dependencies: 6 1099 +-- Name: st_asgml(integer, geography); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_asgml(integer, geography) RETURNS text + LANGUAGE sql IMMUTABLE STRICT + AS $_$SELECT _ST_AsGML($1, $2, 15, 0)$_$; + + +ALTER FUNCTION public.st_asgml(integer, geography) OWNER TO postgres; + +-- +-- TOC entry 438 (class 1255 OID 18792) +-- Dependencies: 6 1102 +-- Name: st_asgml(integer, geometry, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_asgml(integer, geometry, integer) RETURNS text + LANGUAGE sql IMMUTABLE STRICT + AS $_$SELECT _ST_AsGML($1, $2, $3, 0)$_$; + + +ALTER FUNCTION public.st_asgml(integer, geometry, integer) OWNER TO postgres; + +-- +-- TOC entry 439 (class 1255 OID 18793) +-- Dependencies: 6 1102 +-- Name: st_asgml(geometry, integer, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_asgml(geometry, integer, integer) RETURNS text + LANGUAGE sql IMMUTABLE STRICT + AS $_$SELECT _ST_AsGML(2, $1, $2, $3)$_$; + + +ALTER FUNCTION public.st_asgml(geometry, integer, integer) OWNER TO postgres; + +-- +-- TOC entry 445 (class 1255 OID 18799) +-- Dependencies: 6 1099 +-- Name: st_asgml(integer, geography, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_asgml(integer, geography, integer) RETURNS text + LANGUAGE sql IMMUTABLE STRICT + AS $_$SELECT _ST_AsGML($1, $2, $3, 0)$_$; + + +ALTER FUNCTION public.st_asgml(integer, geography, integer) OWNER TO postgres; + +-- +-- TOC entry 446 (class 1255 OID 18800) +-- Dependencies: 6 1099 +-- Name: st_asgml(geography, integer, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_asgml(geography, integer, integer) RETURNS text + LANGUAGE sql IMMUTABLE STRICT + AS $_$SELECT _ST_AsGML(2, $1, $2, $3)$_$; + + +ALTER FUNCTION public.st_asgml(geography, integer, integer) OWNER TO postgres; + +-- +-- TOC entry 440 (class 1255 OID 18794) +-- Dependencies: 6 1102 +-- Name: st_asgml(integer, geometry, integer, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_asgml(integer, geometry, integer, integer) RETURNS text + LANGUAGE sql IMMUTABLE STRICT + AS $_$SELECT _ST_AsGML($1, $2, $3, $4)$_$; + + +ALTER FUNCTION public.st_asgml(integer, geometry, integer, integer) OWNER TO postgres; + +-- +-- TOC entry 447 (class 1255 OID 18801) +-- Dependencies: 6 1099 +-- Name: st_asgml(integer, geography, integer, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_asgml(integer, geography, integer, integer) RETURNS text + LANGUAGE sql IMMUTABLE STRICT + AS $_$SELECT _ST_AsGML($1, $2, $3, $4)$_$; + + +ALTER FUNCTION public.st_asgml(integer, geography, integer, integer) OWNER TO postgres; + +-- +-- TOC entry 448 (class 1255 OID 18802) +-- Dependencies: 6 1102 +-- Name: st_ashexewkb(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_ashexewkb(geometry) RETURNS text + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_asHEXEWKB'; + + +ALTER FUNCTION public.st_ashexewkb(geometry) OWNER TO postgres; + +-- +-- TOC entry 449 (class 1255 OID 18803) +-- Dependencies: 6 1102 +-- Name: st_ashexewkb(geometry, text); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_ashexewkb(geometry, text) RETURNS text + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_asHEXEWKB'; + + +ALTER FUNCTION public.st_ashexewkb(geometry, text) OWNER TO postgres; + +-- +-- TOC entry 451 (class 1255 OID 18805) +-- Dependencies: 6 1102 +-- Name: st_askml(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_askml(geometry) RETURNS text + LANGUAGE sql IMMUTABLE STRICT + AS $_$SELECT _ST_AsKML(2, ST_Transform($1,4326), 15)$_$; + + +ALTER FUNCTION public.st_askml(geometry) OWNER TO postgres; + +-- +-- TOC entry 455 (class 1255 OID 18809) +-- Dependencies: 6 1099 +-- Name: st_askml(geography); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_askml(geography) RETURNS text + LANGUAGE sql IMMUTABLE STRICT + AS $_$SELECT _ST_AsKML(2, $1, 15)$_$; + + +ALTER FUNCTION public.st_askml(geography) OWNER TO postgres; + +-- +-- TOC entry 456 (class 1255 OID 18810) +-- Dependencies: 6 +-- Name: st_askml(text); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_askml(text) RETURNS text + LANGUAGE sql IMMUTABLE STRICT + AS $_$ SELECT ST_AsKML($1::geometry); $_$; + + +ALTER FUNCTION public.st_askml(text) OWNER TO postgres; + +-- +-- TOC entry 450 (class 1255 OID 18804) +-- Dependencies: 6 1102 +-- Name: st_askml(geometry, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_askml(geometry, integer) RETURNS text + LANGUAGE sql IMMUTABLE STRICT + AS $_$SELECT _ST_AsKML(2, ST_Transform($1,4326), $2)$_$; + + +ALTER FUNCTION public.st_askml(geometry, integer) OWNER TO postgres; + +-- +-- TOC entry 452 (class 1255 OID 18806) +-- Dependencies: 6 1102 +-- Name: st_askml(integer, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_askml(integer, geometry) RETURNS text + LANGUAGE sql IMMUTABLE STRICT + AS $_$SELECT _ST_AsKML($1, ST_Transform($2,4326), 15)$_$; + + +ALTER FUNCTION public.st_askml(integer, geometry) OWNER TO postgres; + +-- +-- TOC entry 454 (class 1255 OID 18808) +-- Dependencies: 1099 6 +-- Name: st_askml(geography, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_askml(geography, integer) RETURNS text + LANGUAGE sql IMMUTABLE STRICT + AS $_$SELECT _ST_AsKML(2, $1, $2)$_$; + + +ALTER FUNCTION public.st_askml(geography, integer) OWNER TO postgres; + +-- +-- TOC entry 457 (class 1255 OID 18811) +-- Dependencies: 6 1099 +-- Name: st_askml(integer, geography); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_askml(integer, geography) RETURNS text + LANGUAGE sql IMMUTABLE STRICT + AS $_$SELECT _ST_AsKML($1, $2, 15)$_$; + + +ALTER FUNCTION public.st_askml(integer, geography) OWNER TO postgres; + +-- +-- TOC entry 453 (class 1255 OID 18807) +-- Dependencies: 6 1102 +-- Name: st_askml(integer, geometry, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_askml(integer, geometry, integer) RETURNS text + LANGUAGE sql IMMUTABLE STRICT + AS $_$SELECT _ST_AsKML($1, ST_Transform($2,4326), $3)$_$; + + +ALTER FUNCTION public.st_askml(integer, geometry, integer) OWNER TO postgres; + +-- +-- TOC entry 458 (class 1255 OID 18812) +-- Dependencies: 6 1099 +-- Name: st_askml(integer, geography, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_askml(integer, geography, integer) RETURNS text + LANGUAGE sql IMMUTABLE STRICT + AS $_$SELECT _ST_AsKML($1, $2, $3)$_$; + + +ALTER FUNCTION public.st_askml(integer, geography, integer) OWNER TO postgres; + +-- +-- TOC entry 461 (class 1255 OID 18815) +-- Dependencies: 6 1102 +-- Name: st_assvg(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_assvg(geometry) RETURNS text + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'assvg_geometry'; + + +ALTER FUNCTION public.st_assvg(geometry) OWNER TO postgres; + +-- +-- TOC entry 464 (class 1255 OID 18818) +-- Dependencies: 6 1099 +-- Name: st_assvg(geography); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_assvg(geography) RETURNS text + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'geography_as_svg'; + + +ALTER FUNCTION public.st_assvg(geography) OWNER TO postgres; + +-- +-- TOC entry 465 (class 1255 OID 18819) +-- Dependencies: 6 +-- Name: st_assvg(text); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_assvg(text) RETURNS text + LANGUAGE sql IMMUTABLE STRICT + AS $_$ SELECT ST_AsSVG($1::geometry); $_$; + + +ALTER FUNCTION public.st_assvg(text) OWNER TO postgres; + +-- +-- TOC entry 460 (class 1255 OID 18814) +-- Dependencies: 6 1102 +-- Name: st_assvg(geometry, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_assvg(geometry, integer) RETURNS text + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'assvg_geometry'; + + +ALTER FUNCTION public.st_assvg(geometry, integer) OWNER TO postgres; + +-- +-- TOC entry 463 (class 1255 OID 18817) +-- Dependencies: 6 1099 +-- Name: st_assvg(geography, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_assvg(geography, integer) RETURNS text + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'geography_as_svg'; + + +ALTER FUNCTION public.st_assvg(geography, integer) OWNER TO postgres; + +-- +-- TOC entry 459 (class 1255 OID 18813) +-- Dependencies: 6 1102 +-- Name: st_assvg(geometry, integer, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_assvg(geometry, integer, integer) RETURNS text + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'assvg_geometry'; + + +ALTER FUNCTION public.st_assvg(geometry, integer, integer) OWNER TO postgres; + +-- +-- TOC entry 462 (class 1255 OID 18816) +-- Dependencies: 6 1099 +-- Name: st_assvg(geography, integer, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_assvg(geography, integer, integer) RETURNS text + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'geography_as_svg'; + + +ALTER FUNCTION public.st_assvg(geography, integer, integer) OWNER TO postgres; + +-- +-- TOC entry 466 (class 1255 OID 18820) +-- Dependencies: 6 1102 +-- Name: st_astext(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_astext(geometry) RETURNS text + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_asText'; + + +ALTER FUNCTION public.st_astext(geometry) OWNER TO postgres; + +-- +-- TOC entry 467 (class 1255 OID 18821) +-- Dependencies: 6 1099 +-- Name: st_astext(geography); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_astext(geography) RETURNS text + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'geography_as_text'; + + +ALTER FUNCTION public.st_astext(geography) OWNER TO postgres; + +-- +-- TOC entry 468 (class 1255 OID 18822) +-- Dependencies: 6 +-- Name: st_astext(text); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_astext(text) RETURNS text + LANGUAGE sql IMMUTABLE STRICT + AS $_$ SELECT ST_AsText($1::geometry); $_$; + + +ALTER FUNCTION public.st_astext(text) OWNER TO postgres; + +-- +-- TOC entry 469 (class 1255 OID 18823) +-- Dependencies: 6 1102 1102 +-- Name: st_azimuth(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_azimuth(geometry, geometry) RETURNS double precision + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_azimuth'; + + +ALTER FUNCTION public.st_azimuth(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 470 (class 1255 OID 18824) +-- Dependencies: 6 1167 1102 +-- Name: st_bdmpolyfromtext(text, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_bdmpolyfromtext(text, integer) RETURNS geometry + LANGUAGE plpgsql IMMUTABLE STRICT + AS $_$ +DECLARE + geomtext alias for $1; + srid alias for $2; + mline geometry; + geom geometry; +BEGIN + mline := ST_MultiLineStringFromText(geomtext, srid); + + IF mline IS NULL + THEN + RAISE EXCEPTION 'Input is not a MultiLinestring'; + END IF; + + geom := multi(ST_BuildArea(mline)); + + RETURN geom; +END; +$_$; + + +ALTER FUNCTION public.st_bdmpolyfromtext(text, integer) OWNER TO postgres; + +-- +-- TOC entry 471 (class 1255 OID 18825) +-- Dependencies: 6 1167 1102 +-- Name: st_bdpolyfromtext(text, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_bdpolyfromtext(text, integer) RETURNS geometry + LANGUAGE plpgsql IMMUTABLE STRICT + AS $_$ +DECLARE + geomtext alias for $1; + srid alias for $2; + mline geometry; + geom geometry; +BEGIN + mline := ST_MultiLineStringFromText(geomtext, srid); + + IF mline IS NULL + THEN + RAISE EXCEPTION 'Input is not a MultiLinestring'; + END IF; + + geom := ST_BuildArea(mline); + + IF GeometryType(geom) != 'POLYGON' + THEN + RAISE EXCEPTION 'Input returns more then a single polygon, try using BdMPolyFromText instead'; + END IF; + + RETURN geom; +END; +$_$; + + +ALTER FUNCTION public.st_bdpolyfromtext(text, integer) OWNER TO postgres; + +-- +-- TOC entry 472 (class 1255 OID 18826) +-- Dependencies: 6 1102 1102 +-- Name: st_boundary(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_boundary(geometry) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'boundary'; + + +ALTER FUNCTION public.st_boundary(geometry) OWNER TO postgres; + +-- +-- TOC entry 473 (class 1255 OID 18827) +-- Dependencies: 6 1102 +-- Name: st_box(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_box(geometry) RETURNS box + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_to_BOX'; + + +ALTER FUNCTION public.st_box(geometry) OWNER TO postgres; + +-- +-- TOC entry 474 (class 1255 OID 18828) +-- Dependencies: 6 1090 +-- Name: st_box(box3d); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_box(box3d) RETURNS box + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'BOX3D_to_BOX'; + + +ALTER FUNCTION public.st_box(box3d) OWNER TO postgres; + +-- +-- TOC entry 475 (class 1255 OID 18829) +-- Dependencies: 6 1087 1102 +-- Name: st_box2d(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_box2d(geometry) RETURNS box2d + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_to_BOX2DFLOAT4'; + + +ALTER FUNCTION public.st_box2d(geometry) OWNER TO postgres; + +-- +-- TOC entry 476 (class 1255 OID 18830) +-- Dependencies: 6 1087 1090 +-- Name: st_box2d(box3d); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_box2d(box3d) RETURNS box2d + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'BOX3D_to_BOX2DFLOAT4'; + + +ALTER FUNCTION public.st_box2d(box3d) OWNER TO postgres; + +-- +-- TOC entry 477 (class 1255 OID 18831) +-- Dependencies: 6 1087 1093 +-- Name: st_box2d(box3d_extent); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_box2d(box3d_extent) RETURNS box2d + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'BOX3D_to_BOX2DFLOAT4'; + + +ALTER FUNCTION public.st_box2d(box3d_extent) OWNER TO postgres; + +-- +-- TOC entry 478 (class 1255 OID 18832) +-- Dependencies: 6 1087 +-- Name: st_box2d_in(cstring); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_box2d_in(cstring) RETURNS box2d + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'BOX2DFLOAT4_in'; + + +ALTER FUNCTION public.st_box2d_in(cstring) OWNER TO postgres; + +-- +-- TOC entry 479 (class 1255 OID 18833) +-- Dependencies: 6 1087 +-- Name: st_box2d_out(box2d); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_box2d_out(box2d) RETURNS cstring + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'BOX2DFLOAT4_out'; + + +ALTER FUNCTION public.st_box2d_out(box2d) OWNER TO postgres; + +-- +-- TOC entry 480 (class 1255 OID 18834) +-- Dependencies: 6 1090 1102 +-- Name: st_box3d(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_box3d(geometry) RETURNS box3d + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_to_BOX3D'; + + +ALTER FUNCTION public.st_box3d(geometry) OWNER TO postgres; + +-- +-- TOC entry 481 (class 1255 OID 18835) +-- Dependencies: 6 1090 1087 +-- Name: st_box3d(box2d); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_box3d(box2d) RETURNS box3d + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'BOX2DFLOAT4_to_BOX3D'; + + +ALTER FUNCTION public.st_box3d(box2d) OWNER TO postgres; + +-- +-- TOC entry 482 (class 1255 OID 18836) +-- Dependencies: 6 1090 1093 +-- Name: st_box3d_extent(box3d_extent); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_box3d_extent(box3d_extent) RETURNS box3d + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'BOX3D_extent_to_BOX3D'; + + +ALTER FUNCTION public.st_box3d_extent(box3d_extent) OWNER TO postgres; + +-- +-- TOC entry 483 (class 1255 OID 18837) +-- Dependencies: 6 1090 +-- Name: st_box3d_in(cstring); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_box3d_in(cstring) RETURNS box3d + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'BOX3D_in'; + + +ALTER FUNCTION public.st_box3d_in(cstring) OWNER TO postgres; + +-- +-- TOC entry 484 (class 1255 OID 18838) +-- Dependencies: 6 1090 +-- Name: st_box3d_out(box3d); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_box3d_out(box3d) RETURNS cstring + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'BOX3D_out'; + + +ALTER FUNCTION public.st_box3d_out(box3d) OWNER TO postgres; + +-- +-- TOC entry 485 (class 1255 OID 18839) +-- Dependencies: 6 1102 1102 +-- Name: st_buffer(geometry, double precision); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_buffer(geometry, double precision) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT COST 100 + AS '$libdir/postgis-1.5', 'buffer'; + + +ALTER FUNCTION public.st_buffer(geometry, double precision) OWNER TO postgres; + +-- +-- TOC entry 488 (class 1255 OID 18842) +-- Dependencies: 6 1099 1099 +-- Name: st_buffer(geography, double precision); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_buffer(geography, double precision) RETURNS geography + LANGUAGE sql IMMUTABLE STRICT + AS $_$SELECT geography(ST_Transform(ST_Buffer(ST_Transform(geometry($1), _ST_BestSRID($1)), $2), 4326))$_$; + + +ALTER FUNCTION public.st_buffer(geography, double precision) OWNER TO postgres; + +-- +-- TOC entry 489 (class 1255 OID 18843) +-- Dependencies: 6 1102 +-- Name: st_buffer(text, double precision); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_buffer(text, double precision) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$ SELECT ST_Buffer($1::geometry, $2); $_$; + + +ALTER FUNCTION public.st_buffer(text, double precision) OWNER TO postgres; + +-- +-- TOC entry 486 (class 1255 OID 18840) +-- Dependencies: 6 1102 1102 +-- Name: st_buffer(geometry, double precision, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_buffer(geometry, double precision, integer) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$ SELECT _ST_Buffer($1, $2, + CAST('quad_segs='||CAST($3 AS text) as cstring)) + $_$; + + +ALTER FUNCTION public.st_buffer(geometry, double precision, integer) OWNER TO postgres; + +-- +-- TOC entry 487 (class 1255 OID 18841) +-- Dependencies: 6 1102 1102 +-- Name: st_buffer(geometry, double precision, text); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_buffer(geometry, double precision, text) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$ SELECT _ST_Buffer($1, $2, + CAST( regexp_replace($3, '^[0123456789]+$', + 'quad_segs='||$3) AS cstring) + ) + $_$; + + +ALTER FUNCTION public.st_buffer(geometry, double precision, text) OWNER TO postgres; + +-- +-- TOC entry 490 (class 1255 OID 18844) +-- Dependencies: 6 1102 1102 +-- Name: st_buildarea(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_buildarea(geometry) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT COST 100 + AS '$libdir/postgis-1.5', 'LWGEOM_buildarea'; + + +ALTER FUNCTION public.st_buildarea(geometry) OWNER TO postgres; + +-- +-- TOC entry 491 (class 1255 OID 18845) +-- Dependencies: 6 1102 +-- Name: st_bytea(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_bytea(geometry) RETURNS bytea + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_to_bytea'; + + +ALTER FUNCTION public.st_bytea(geometry) OWNER TO postgres; + +-- +-- TOC entry 492 (class 1255 OID 18846) +-- Dependencies: 6 1102 1102 +-- Name: st_centroid(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_centroid(geometry) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'centroid'; + + +ALTER FUNCTION public.st_centroid(geometry) OWNER TO postgres; + +-- +-- TOC entry 493 (class 1255 OID 18847) +-- Dependencies: 6 1096 +-- Name: st_chip_in(cstring); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_chip_in(cstring) RETURNS chip + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'CHIP_in'; + + +ALTER FUNCTION public.st_chip_in(cstring) OWNER TO postgres; + +-- +-- TOC entry 494 (class 1255 OID 18848) +-- Dependencies: 6 1096 +-- Name: st_chip_out(chip); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_chip_out(chip) RETURNS cstring + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'CHIP_out'; + + +ALTER FUNCTION public.st_chip_out(chip) OWNER TO postgres; + +-- +-- TOC entry 495 (class 1255 OID 18849) +-- Dependencies: 6 1102 1102 1102 +-- Name: st_closestpoint(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_closestpoint(geometry, geometry) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_closestpoint'; + + +ALTER FUNCTION public.st_closestpoint(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 497 (class 1255 OID 18851) +-- Dependencies: 6 1102 1104 +-- Name: st_collect(geometry[]); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_collect(geometry[]) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_collect_garray'; + + +ALTER FUNCTION public.st_collect(geometry[]) OWNER TO postgres; + +-- +-- TOC entry 496 (class 1255 OID 18850) +-- Dependencies: 6 1102 1102 1102 +-- Name: st_collect(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_collect(geometry, geometry) RETURNS geometry + LANGUAGE c IMMUTABLE + AS '$libdir/postgis-1.5', 'LWGEOM_collect'; + + +ALTER FUNCTION public.st_collect(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 498 (class 1255 OID 18852) +-- Dependencies: 6 1102 1102 +-- Name: st_collectionextract(geometry, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_collectionextract(geometry, integer) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'ST_CollectionExtract'; + + +ALTER FUNCTION public.st_collectionextract(geometry, integer) OWNER TO postgres; + +-- +-- TOC entry 499 (class 1255 OID 18853) +-- Dependencies: 6 1087 1087 1102 +-- Name: st_combine_bbox(box2d, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_combine_bbox(box2d, geometry) RETURNS box2d + LANGUAGE c IMMUTABLE + AS '$libdir/postgis-1.5', 'BOX2DFLOAT4_combine'; + + +ALTER FUNCTION public.st_combine_bbox(box2d, geometry) OWNER TO postgres; + +-- +-- TOC entry 500 (class 1255 OID 18854) +-- Dependencies: 6 1093 1093 1102 +-- Name: st_combine_bbox(box3d_extent, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_combine_bbox(box3d_extent, geometry) RETURNS box3d_extent + LANGUAGE c IMMUTABLE + AS '$libdir/postgis-1.5', 'BOX3D_combine'; + + +ALTER FUNCTION public.st_combine_bbox(box3d_extent, geometry) OWNER TO postgres; + +-- +-- TOC entry 501 (class 1255 OID 18855) +-- Dependencies: 6 1090 1090 1102 +-- Name: st_combine_bbox(box3d, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_combine_bbox(box3d, geometry) RETURNS box3d + LANGUAGE c IMMUTABLE + AS '$libdir/postgis-1.5', 'BOX3D_combine'; + + +ALTER FUNCTION public.st_combine_bbox(box3d, geometry) OWNER TO postgres; + +-- +-- TOC entry 502 (class 1255 OID 18856) +-- Dependencies: 6 1096 +-- Name: st_compression(chip); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_compression(chip) RETURNS integer + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'CHIP_getCompression'; + + +ALTER FUNCTION public.st_compression(chip) OWNER TO postgres; + +-- +-- TOC entry 503 (class 1255 OID 18857) +-- Dependencies: 6 1102 1102 +-- Name: st_contains(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_contains(geometry, geometry) RETURNS boolean + LANGUAGE sql IMMUTABLE + AS $_$SELECT $1 && $2 AND _ST_Contains($1,$2)$_$; + + +ALTER FUNCTION public.st_contains(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 504 (class 1255 OID 18858) +-- Dependencies: 6 1102 1102 +-- Name: st_containsproperly(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_containsproperly(geometry, geometry) RETURNS boolean + LANGUAGE sql IMMUTABLE + AS $_$SELECT $1 && $2 AND _ST_ContainsProperly($1,$2)$_$; + + +ALTER FUNCTION public.st_containsproperly(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 505 (class 1255 OID 18859) +-- Dependencies: 6 1102 1102 +-- Name: st_convexhull(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_convexhull(geometry) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT COST 100 + AS '$libdir/postgis-1.5', 'convexhull'; + + +ALTER FUNCTION public.st_convexhull(geometry) OWNER TO postgres; + +-- +-- TOC entry 506 (class 1255 OID 18860) +-- Dependencies: 6 1102 +-- Name: st_coorddim(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_coorddim(geometry) RETURNS smallint + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_ndims'; + + +ALTER FUNCTION public.st_coorddim(geometry) OWNER TO postgres; + +-- +-- TOC entry 507 (class 1255 OID 18861) +-- Dependencies: 6 1102 1102 +-- Name: st_coveredby(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_coveredby(geometry, geometry) RETURNS boolean + LANGUAGE sql IMMUTABLE + AS $_$SELECT $1 && $2 AND _ST_CoveredBy($1,$2)$_$; + + +ALTER FUNCTION public.st_coveredby(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 508 (class 1255 OID 18862) +-- Dependencies: 6 1099 1099 +-- Name: st_coveredby(geography, geography); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_coveredby(geography, geography) RETURNS boolean + LANGUAGE sql IMMUTABLE STRICT + AS $_$SELECT $1 && $2 AND _ST_Covers($2, $1)$_$; + + +ALTER FUNCTION public.st_coveredby(geography, geography) OWNER TO postgres; + +-- +-- TOC entry 509 (class 1255 OID 18863) +-- Dependencies: 6 +-- Name: st_coveredby(text, text); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_coveredby(text, text) RETURNS boolean + LANGUAGE sql IMMUTABLE STRICT + AS $_$ SELECT ST_CoveredBy($1::geometry, $2::geometry); $_$; + + +ALTER FUNCTION public.st_coveredby(text, text) OWNER TO postgres; + +-- +-- TOC entry 510 (class 1255 OID 18864) +-- Dependencies: 6 1102 1102 +-- Name: st_covers(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_covers(geometry, geometry) RETURNS boolean + LANGUAGE sql IMMUTABLE + AS $_$SELECT $1 && $2 AND _ST_Covers($1,$2)$_$; + + +ALTER FUNCTION public.st_covers(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 511 (class 1255 OID 18865) +-- Dependencies: 6 1099 1099 +-- Name: st_covers(geography, geography); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_covers(geography, geography) RETURNS boolean + LANGUAGE sql IMMUTABLE STRICT + AS $_$SELECT $1 && $2 AND _ST_Covers($1, $2)$_$; + + +ALTER FUNCTION public.st_covers(geography, geography) OWNER TO postgres; + +-- +-- TOC entry 512 (class 1255 OID 18866) +-- Dependencies: 6 +-- Name: st_covers(text, text); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_covers(text, text) RETURNS boolean + LANGUAGE sql IMMUTABLE STRICT + AS $_$ SELECT ST_Covers($1::geometry, $2::geometry); $_$; + + +ALTER FUNCTION public.st_covers(text, text) OWNER TO postgres; + +-- +-- TOC entry 513 (class 1255 OID 18867) +-- Dependencies: 6 1102 1102 +-- Name: st_crosses(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_crosses(geometry, geometry) RETURNS boolean + LANGUAGE sql IMMUTABLE + AS $_$SELECT $1 && $2 AND _ST_Crosses($1,$2)$_$; + + +ALTER FUNCTION public.st_crosses(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 515 (class 1255 OID 18869) +-- Dependencies: 6 1102 1102 +-- Name: st_curvetoline(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_curvetoline(geometry) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$SELECT ST_CurveToLine($1, 32)$_$; + + +ALTER FUNCTION public.st_curvetoline(geometry) OWNER TO postgres; + +-- +-- TOC entry 514 (class 1255 OID 18868) +-- Dependencies: 6 1102 1102 +-- Name: st_curvetoline(geometry, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_curvetoline(geometry, integer) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_curve_segmentize'; + + +ALTER FUNCTION public.st_curvetoline(geometry, integer) OWNER TO postgres; + +-- +-- TOC entry 516 (class 1255 OID 18870) +-- Dependencies: 6 1096 +-- Name: st_datatype(chip); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_datatype(chip) RETURNS integer + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'CHIP_getDatatype'; + + +ALTER FUNCTION public.st_datatype(chip) OWNER TO postgres; + +-- +-- TOC entry 517 (class 1255 OID 18871) +-- Dependencies: 6 1102 1102 +-- Name: st_dfullywithin(geometry, geometry, double precision); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_dfullywithin(geometry, geometry, double precision) RETURNS boolean + LANGUAGE sql IMMUTABLE + AS $_$SELECT $1 && ST_Expand($2,$3) AND $2 && ST_Expand($1,$3) AND _ST_DFullyWithin(ST_ConvexHull($1), ST_ConvexHull($2), $3)$_$; + + +ALTER FUNCTION public.st_dfullywithin(geometry, geometry, double precision) OWNER TO postgres; + +-- +-- TOC entry 518 (class 1255 OID 18872) +-- Dependencies: 6 1102 1102 1102 +-- Name: st_difference(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_difference(geometry, geometry) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'difference'; + + +ALTER FUNCTION public.st_difference(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 519 (class 1255 OID 18873) +-- Dependencies: 6 1102 +-- Name: st_dimension(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_dimension(geometry) RETURNS integer + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_dimension'; + + +ALTER FUNCTION public.st_dimension(geometry) OWNER TO postgres; + +-- +-- TOC entry 520 (class 1255 OID 18874) +-- Dependencies: 6 1102 1102 +-- Name: st_disjoint(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_disjoint(geometry, geometry) RETURNS boolean + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'disjoint'; + + +ALTER FUNCTION public.st_disjoint(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 521 (class 1255 OID 18875) +-- Dependencies: 6 1102 1102 +-- Name: st_distance(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_distance(geometry, geometry) RETURNS double precision + LANGUAGE c IMMUTABLE STRICT COST 100 + AS '$libdir/postgis-1.5', 'LWGEOM_mindistance2d'; + + +ALTER FUNCTION public.st_distance(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 523 (class 1255 OID 18877) +-- Dependencies: 6 1099 1099 +-- Name: st_distance(geography, geography); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_distance(geography, geography) RETURNS double precision + LANGUAGE sql IMMUTABLE STRICT + AS $_$SELECT _ST_Distance($1, $2, 0.0, true)$_$; + + +ALTER FUNCTION public.st_distance(geography, geography) OWNER TO postgres; + +-- +-- TOC entry 524 (class 1255 OID 18878) +-- Dependencies: 6 +-- Name: st_distance(text, text); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_distance(text, text) RETURNS double precision + LANGUAGE sql IMMUTABLE STRICT + AS $_$ SELECT ST_Distance($1::geometry, $2::geometry); $_$; + + +ALTER FUNCTION public.st_distance(text, text) OWNER TO postgres; + +-- +-- TOC entry 522 (class 1255 OID 18876) +-- Dependencies: 6 1099 1099 +-- Name: st_distance(geography, geography, boolean); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_distance(geography, geography, boolean) RETURNS double precision + LANGUAGE sql IMMUTABLE STRICT + AS $_$SELECT _ST_Distance($1, $2, 0.0, $3)$_$; + + +ALTER FUNCTION public.st_distance(geography, geography, boolean) OWNER TO postgres; + +-- +-- TOC entry 525 (class 1255 OID 18879) +-- Dependencies: 6 1102 1102 +-- Name: st_distance_sphere(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_distance_sphere(geometry, geometry) RETURNS double precision + LANGUAGE c IMMUTABLE STRICT COST 100 + AS '$libdir/postgis-1.5', 'LWGEOM_distance_sphere'; + + +ALTER FUNCTION public.st_distance_sphere(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 526 (class 1255 OID 18880) +-- Dependencies: 6 1102 1102 1113 +-- Name: st_distance_spheroid(geometry, geometry, spheroid); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_distance_spheroid(geometry, geometry, spheroid) RETURNS double precision + LANGUAGE c IMMUTABLE STRICT COST 100 + AS '$libdir/postgis-1.5', 'LWGEOM_distance_ellipsoid'; + + +ALTER FUNCTION public.st_distance_spheroid(geometry, geometry, spheroid) OWNER TO postgres; + +-- +-- TOC entry 527 (class 1255 OID 18881) +-- Dependencies: 6 1105 1102 +-- Name: st_dump(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_dump(geometry) RETURNS SETOF geometry_dump + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_dump'; + + +ALTER FUNCTION public.st_dump(geometry) OWNER TO postgres; + +-- +-- TOC entry 528 (class 1255 OID 18882) +-- Dependencies: 6 1105 1102 +-- Name: st_dumppoints(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_dumppoints(geometry) RETURNS SETOF geometry_dump + LANGUAGE sql + AS $_$ + SELECT * FROM _ST_DumpPoints($1, NULL); +$_$; + + +ALTER FUNCTION public.st_dumppoints(geometry) OWNER TO postgres; + +-- +-- TOC entry 529 (class 1255 OID 18883) +-- Dependencies: 6 1105 1102 +-- Name: st_dumprings(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_dumprings(geometry) RETURNS SETOF geometry_dump + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_dump_rings'; + + +ALTER FUNCTION public.st_dumprings(geometry) OWNER TO postgres; + +-- +-- TOC entry 530 (class 1255 OID 18884) +-- Dependencies: 6 1102 1102 +-- Name: st_dwithin(geometry, geometry, double precision); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_dwithin(geometry, geometry, double precision) RETURNS boolean + LANGUAGE sql IMMUTABLE + AS $_$SELECT $1 && ST_Expand($2,$3) AND $2 && ST_Expand($1,$3) AND _ST_DWithin($1, $2, $3)$_$; + + +ALTER FUNCTION public.st_dwithin(geometry, geometry, double precision) OWNER TO postgres; + +-- +-- TOC entry 532 (class 1255 OID 18886) +-- Dependencies: 6 1099 1099 +-- Name: st_dwithin(geography, geography, double precision); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_dwithin(geography, geography, double precision) RETURNS boolean + LANGUAGE sql IMMUTABLE + AS $_$SELECT $1 && _ST_Expand($2,$3) AND $2 && _ST_Expand($1,$3) AND _ST_DWithin($1, $2, $3, true)$_$; + + +ALTER FUNCTION public.st_dwithin(geography, geography, double precision) OWNER TO postgres; + +-- +-- TOC entry 533 (class 1255 OID 18887) +-- Dependencies: 6 +-- Name: st_dwithin(text, text, double precision); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_dwithin(text, text, double precision) RETURNS boolean + LANGUAGE sql IMMUTABLE STRICT + AS $_$ SELECT ST_DWithin($1::geometry, $2::geometry, $3); $_$; + + +ALTER FUNCTION public.st_dwithin(text, text, double precision) OWNER TO postgres; + +-- +-- TOC entry 531 (class 1255 OID 18885) +-- Dependencies: 6 1099 1099 +-- Name: st_dwithin(geography, geography, double precision, boolean); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_dwithin(geography, geography, double precision, boolean) RETURNS boolean + LANGUAGE sql IMMUTABLE + AS $_$SELECT $1 && _ST_Expand($2,$3) AND $2 && _ST_Expand($1,$3) AND _ST_DWithin($1, $2, $3, $4)$_$; + + +ALTER FUNCTION public.st_dwithin(geography, geography, double precision, boolean) OWNER TO postgres; + +-- +-- TOC entry 534 (class 1255 OID 18888) +-- Dependencies: 6 1102 1102 +-- Name: st_endpoint(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_endpoint(geometry) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_endpoint_linestring'; + + +ALTER FUNCTION public.st_endpoint(geometry) OWNER TO postgres; + +-- +-- TOC entry 535 (class 1255 OID 18889) +-- Dependencies: 6 1102 1102 +-- Name: st_envelope(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_envelope(geometry) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_envelope'; + + +ALTER FUNCTION public.st_envelope(geometry) OWNER TO postgres; + +-- +-- TOC entry 536 (class 1255 OID 18890) +-- Dependencies: 6 1102 1102 +-- Name: st_equals(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_equals(geometry, geometry) RETURNS boolean + LANGUAGE sql IMMUTABLE STRICT + AS $_$SELECT $1 && $2 AND _ST_Equals($1,$2)$_$; + + +ALTER FUNCTION public.st_equals(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 538 (class 1255 OID 18892) +-- Dependencies: 1087 6 +-- Name: st_estimated_extent(text, text); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_estimated_extent(text, text) RETURNS box2d + LANGUAGE c IMMUTABLE STRICT SECURITY DEFINER + AS '$libdir/postgis-1.5', 'LWGEOM_estimated_extent'; + + +ALTER FUNCTION public.st_estimated_extent(text, text) OWNER TO postgres; + +-- +-- TOC entry 537 (class 1255 OID 18891) +-- Dependencies: 6 1087 +-- Name: st_estimated_extent(text, text, text); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_estimated_extent(text, text, text) RETURNS box2d + LANGUAGE c IMMUTABLE STRICT SECURITY DEFINER + AS '$libdir/postgis-1.5', 'LWGEOM_estimated_extent'; + + +ALTER FUNCTION public.st_estimated_extent(text, text, text) OWNER TO postgres; + +-- +-- TOC entry 539 (class 1255 OID 18893) +-- Dependencies: 1090 1090 6 +-- Name: st_expand(box3d, double precision); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_expand(box3d, double precision) RETURNS box3d + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'BOX3D_expand'; + + +ALTER FUNCTION public.st_expand(box3d, double precision) OWNER TO postgres; + +-- +-- TOC entry 540 (class 1255 OID 18896) +-- Dependencies: 1087 1087 6 +-- Name: st_expand(box2d, double precision); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_expand(box2d, double precision) RETURNS box2d + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'BOX2DFLOAT4_expand'; + + +ALTER FUNCTION public.st_expand(box2d, double precision) OWNER TO postgres; + +-- +-- TOC entry 541 (class 1255 OID 18897) +-- Dependencies: 6 1102 1102 +-- Name: st_expand(geometry, double precision); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_expand(geometry, double precision) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_expand'; + + +ALTER FUNCTION public.st_expand(geometry, double precision) OWNER TO postgres; + +-- +-- TOC entry 542 (class 1255 OID 18898) +-- Dependencies: 6 1102 1102 +-- Name: st_exteriorring(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_exteriorring(geometry) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_exteriorring_polygon'; + + +ALTER FUNCTION public.st_exteriorring(geometry) OWNER TO postgres; + +-- +-- TOC entry 543 (class 1255 OID 18899) +-- Dependencies: 1096 6 +-- Name: st_factor(chip); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_factor(chip) RETURNS real + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'CHIP_getFactor'; + + +ALTER FUNCTION public.st_factor(chip) OWNER TO postgres; + +-- +-- TOC entry 545 (class 1255 OID 18901) +-- Dependencies: 1167 1087 6 +-- Name: st_find_extent(text, text); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_find_extent(text, text) RETURNS box2d + LANGUAGE plpgsql IMMUTABLE STRICT + AS $_$ +DECLARE + tablename alias for $1; + columnname alias for $2; + myrec RECORD; + +BEGIN + FOR myrec IN EXECUTE 'SELECT extent("' || columnname || '") FROM "' || tablename || '"' LOOP + return myrec.extent; + END LOOP; +END; +$_$; + + +ALTER FUNCTION public.st_find_extent(text, text) OWNER TO postgres; + +-- +-- TOC entry 544 (class 1255 OID 18900) +-- Dependencies: 1167 6 1087 +-- Name: st_find_extent(text, text, text); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_find_extent(text, text, text) RETURNS box2d + LANGUAGE plpgsql IMMUTABLE STRICT + AS $_$ +DECLARE + schemaname alias for $1; + tablename alias for $2; + columnname alias for $3; + myrec RECORD; + +BEGIN + FOR myrec IN EXECUTE 'SELECT extent("' || columnname || '") FROM "' || schemaname || '"."' || tablename || '"' LOOP + return myrec.extent; + END LOOP; +END; +$_$; + + +ALTER FUNCTION public.st_find_extent(text, text, text) OWNER TO postgres; + +-- +-- TOC entry 546 (class 1255 OID 18902) +-- Dependencies: 1102 6 1102 +-- Name: st_force_2d(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_force_2d(geometry) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_force_2d'; + + +ALTER FUNCTION public.st_force_2d(geometry) OWNER TO postgres; + +-- +-- TOC entry 547 (class 1255 OID 18903) +-- Dependencies: 1102 1102 6 +-- Name: st_force_3d(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_force_3d(geometry) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_force_3dz'; + + +ALTER FUNCTION public.st_force_3d(geometry) OWNER TO postgres; + +-- +-- TOC entry 548 (class 1255 OID 18904) +-- Dependencies: 6 1102 1102 +-- Name: st_force_3dm(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_force_3dm(geometry) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_force_3dm'; + + +ALTER FUNCTION public.st_force_3dm(geometry) OWNER TO postgres; + +-- +-- TOC entry 549 (class 1255 OID 18905) +-- Dependencies: 1102 6 1102 +-- Name: st_force_3dz(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_force_3dz(geometry) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_force_3dz'; + + +ALTER FUNCTION public.st_force_3dz(geometry) OWNER TO postgres; + +-- +-- TOC entry 550 (class 1255 OID 18906) +-- Dependencies: 1102 1102 6 +-- Name: st_force_4d(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_force_4d(geometry) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_force_4d'; + + +ALTER FUNCTION public.st_force_4d(geometry) OWNER TO postgres; + +-- +-- TOC entry 551 (class 1255 OID 18907) +-- Dependencies: 6 1102 1102 +-- Name: st_force_collection(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_force_collection(geometry) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_force_collection'; + + +ALTER FUNCTION public.st_force_collection(geometry) OWNER TO postgres; + +-- +-- TOC entry 552 (class 1255 OID 18908) +-- Dependencies: 6 1102 1102 +-- Name: st_forcerhr(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_forcerhr(geometry) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_forceRHR_poly'; + + +ALTER FUNCTION public.st_forcerhr(geometry) OWNER TO postgres; + +-- +-- TOC entry 553 (class 1255 OID 18909) +-- Dependencies: 6 1099 +-- Name: st_geogfromtext(text); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_geogfromtext(text) RETURNS geography + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'geography_from_text'; + + +ALTER FUNCTION public.st_geogfromtext(text) OWNER TO postgres; + +-- +-- TOC entry 554 (class 1255 OID 18910) +-- Dependencies: 1099 6 +-- Name: st_geogfromwkb(bytea); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_geogfromwkb(bytea) RETURNS geography + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'geography_from_binary'; + + +ALTER FUNCTION public.st_geogfromwkb(bytea) OWNER TO postgres; + +-- +-- TOC entry 555 (class 1255 OID 18911) +-- Dependencies: 1099 6 +-- Name: st_geographyfromtext(text); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_geographyfromtext(text) RETURNS geography + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'geography_from_text'; + + +ALTER FUNCTION public.st_geographyfromtext(text) OWNER TO postgres; + +-- +-- TOC entry 557 (class 1255 OID 18913) +-- Dependencies: 6 1102 +-- Name: st_geohash(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_geohash(geometry) RETURNS text + LANGUAGE sql IMMUTABLE STRICT + AS $_$SELECT ST_GeoHash($1, 0)$_$; + + +ALTER FUNCTION public.st_geohash(geometry) OWNER TO postgres; + +-- +-- TOC entry 556 (class 1255 OID 18912) +-- Dependencies: 1102 6 +-- Name: st_geohash(geometry, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_geohash(geometry, integer) RETURNS text + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'ST_GeoHash'; + + +ALTER FUNCTION public.st_geohash(geometry, integer) OWNER TO postgres; + +-- +-- TOC entry 559 (class 1255 OID 18915) +-- Dependencies: 6 1102 +-- Name: st_geomcollfromtext(text); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_geomcollfromtext(text) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$ + SELECT CASE + WHEN geometrytype(ST_GeomFromText($1)) = 'GEOMETRYCOLLECTION' + THEN ST_GeomFromText($1) + ELSE NULL END + $_$; + + +ALTER FUNCTION public.st_geomcollfromtext(text) OWNER TO postgres; + +-- +-- TOC entry 558 (class 1255 OID 18914) +-- Dependencies: 1102 6 +-- Name: st_geomcollfromtext(text, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_geomcollfromtext(text, integer) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$ + SELECT CASE + WHEN geometrytype(ST_GeomFromText($1, $2)) = 'GEOMETRYCOLLECTION' + THEN ST_GeomFromText($1,$2) + ELSE NULL END + $_$; + + +ALTER FUNCTION public.st_geomcollfromtext(text, integer) OWNER TO postgres; + +-- +-- TOC entry 561 (class 1255 OID 18917) +-- Dependencies: 1102 6 +-- Name: st_geomcollfromwkb(bytea); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_geomcollfromwkb(bytea) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$ + SELECT CASE + WHEN geometrytype(ST_GeomFromWKB($1)) = 'GEOMETRYCOLLECTION' + THEN ST_GeomFromWKB($1) + ELSE NULL END + $_$; + + +ALTER FUNCTION public.st_geomcollfromwkb(bytea) OWNER TO postgres; + +-- +-- TOC entry 560 (class 1255 OID 18916) +-- Dependencies: 1102 6 +-- Name: st_geomcollfromwkb(bytea, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_geomcollfromwkb(bytea, integer) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$ + SELECT CASE + WHEN geometrytype(GeomFromWKB($1, $2)) = 'GEOMETRYCOLLECTION' + THEN GeomFromWKB($1, $2) + ELSE NULL END + $_$; + + +ALTER FUNCTION public.st_geomcollfromwkb(bytea, integer) OWNER TO postgres; + +-- +-- TOC entry 562 (class 1255 OID 18918) +-- Dependencies: 1087 1102 6 +-- Name: st_geometry(box2d); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_geometry(box2d) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'BOX2DFLOAT4_to_LWGEOM'; + + +ALTER FUNCTION public.st_geometry(box2d) OWNER TO postgres; + +-- +-- TOC entry 563 (class 1255 OID 18919) +-- Dependencies: 1102 6 1090 +-- Name: st_geometry(box3d); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_geometry(box3d) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'BOX3D_to_LWGEOM'; + + +ALTER FUNCTION public.st_geometry(box3d) OWNER TO postgres; + +-- +-- TOC entry 564 (class 1255 OID 18920) +-- Dependencies: 6 1102 +-- Name: st_geometry(text); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_geometry(text) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'parse_WKT_lwgeom'; + + +ALTER FUNCTION public.st_geometry(text) OWNER TO postgres; + +-- +-- TOC entry 565 (class 1255 OID 18921) +-- Dependencies: 6 1096 1102 +-- Name: st_geometry(chip); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_geometry(chip) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'CHIP_to_LWGEOM'; + + +ALTER FUNCTION public.st_geometry(chip) OWNER TO postgres; + +-- +-- TOC entry 566 (class 1255 OID 18922) +-- Dependencies: 6 1102 +-- Name: st_geometry(bytea); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_geometry(bytea) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_from_bytea'; + + +ALTER FUNCTION public.st_geometry(bytea) OWNER TO postgres; + +-- +-- TOC entry 567 (class 1255 OID 18923) +-- Dependencies: 1102 6 1093 +-- Name: st_geometry(box3d_extent); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_geometry(box3d_extent) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'BOX3D_to_LWGEOM'; + + +ALTER FUNCTION public.st_geometry(box3d_extent) OWNER TO postgres; + +-- +-- TOC entry 568 (class 1255 OID 18924) +-- Dependencies: 6 1102 1102 +-- Name: st_geometry_above(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_geometry_above(geometry, geometry) RETURNS boolean + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_above'; + + +ALTER FUNCTION public.st_geometry_above(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 569 (class 1255 OID 18925) +-- Dependencies: 6 +-- Name: st_geometry_analyze(internal); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_geometry_analyze(internal) RETURNS boolean + LANGUAGE c STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_analyze'; + + +ALTER FUNCTION public.st_geometry_analyze(internal) OWNER TO postgres; + +-- +-- TOC entry 570 (class 1255 OID 18926) +-- Dependencies: 1102 1102 6 +-- Name: st_geometry_below(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_geometry_below(geometry, geometry) RETURNS boolean + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_below'; + + +ALTER FUNCTION public.st_geometry_below(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 571 (class 1255 OID 18927) +-- Dependencies: 1102 6 1102 +-- Name: st_geometry_cmp(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_geometry_cmp(geometry, geometry) RETURNS integer + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'lwgeom_cmp'; + + +ALTER FUNCTION public.st_geometry_cmp(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 572 (class 1255 OID 18928) +-- Dependencies: 1102 6 1102 +-- Name: st_geometry_contain(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_geometry_contain(geometry, geometry) RETURNS boolean + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_contain'; + + +ALTER FUNCTION public.st_geometry_contain(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 573 (class 1255 OID 18929) +-- Dependencies: 1102 1102 6 +-- Name: st_geometry_contained(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_geometry_contained(geometry, geometry) RETURNS boolean + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_contained'; + + +ALTER FUNCTION public.st_geometry_contained(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 574 (class 1255 OID 18930) +-- Dependencies: 6 1102 1102 +-- Name: st_geometry_eq(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_geometry_eq(geometry, geometry) RETURNS boolean + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'lwgeom_eq'; + + +ALTER FUNCTION public.st_geometry_eq(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 575 (class 1255 OID 18931) +-- Dependencies: 1102 1102 6 +-- Name: st_geometry_ge(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_geometry_ge(geometry, geometry) RETURNS boolean + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'lwgeom_ge'; + + +ALTER FUNCTION public.st_geometry_ge(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 576 (class 1255 OID 18932) +-- Dependencies: 1102 6 1102 +-- Name: st_geometry_gt(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_geometry_gt(geometry, geometry) RETURNS boolean + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'lwgeom_gt'; + + +ALTER FUNCTION public.st_geometry_gt(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 577 (class 1255 OID 18933) +-- Dependencies: 1102 6 +-- Name: st_geometry_in(cstring); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_geometry_in(cstring) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_in'; + + +ALTER FUNCTION public.st_geometry_in(cstring) OWNER TO postgres; + +-- +-- TOC entry 578 (class 1255 OID 18934) +-- Dependencies: 1102 6 1102 +-- Name: st_geometry_le(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_geometry_le(geometry, geometry) RETURNS boolean + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'lwgeom_le'; + + +ALTER FUNCTION public.st_geometry_le(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 579 (class 1255 OID 18935) +-- Dependencies: 1102 1102 6 +-- Name: st_geometry_left(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_geometry_left(geometry, geometry) RETURNS boolean + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_left'; + + +ALTER FUNCTION public.st_geometry_left(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 580 (class 1255 OID 18936) +-- Dependencies: 6 1102 1102 +-- Name: st_geometry_lt(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_geometry_lt(geometry, geometry) RETURNS boolean + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'lwgeom_lt'; + + +ALTER FUNCTION public.st_geometry_lt(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 581 (class 1255 OID 18937) +-- Dependencies: 1102 6 +-- Name: st_geometry_out(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_geometry_out(geometry) RETURNS cstring + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_out'; + + +ALTER FUNCTION public.st_geometry_out(geometry) OWNER TO postgres; + +-- +-- TOC entry 582 (class 1255 OID 18938) +-- Dependencies: 1102 6 1102 +-- Name: st_geometry_overabove(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_geometry_overabove(geometry, geometry) RETURNS boolean + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_overabove'; + + +ALTER FUNCTION public.st_geometry_overabove(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 583 (class 1255 OID 18939) +-- Dependencies: 1102 6 1102 +-- Name: st_geometry_overbelow(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_geometry_overbelow(geometry, geometry) RETURNS boolean + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_overbelow'; + + +ALTER FUNCTION public.st_geometry_overbelow(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 584 (class 1255 OID 18940) +-- Dependencies: 1102 6 1102 +-- Name: st_geometry_overlap(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_geometry_overlap(geometry, geometry) RETURNS boolean + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_overlap'; + + +ALTER FUNCTION public.st_geometry_overlap(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 585 (class 1255 OID 18941) +-- Dependencies: 1102 6 1102 +-- Name: st_geometry_overleft(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_geometry_overleft(geometry, geometry) RETURNS boolean + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_overleft'; + + +ALTER FUNCTION public.st_geometry_overleft(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 586 (class 1255 OID 18942) +-- Dependencies: 1102 6 1102 +-- Name: st_geometry_overright(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_geometry_overright(geometry, geometry) RETURNS boolean + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_overright'; + + +ALTER FUNCTION public.st_geometry_overright(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 587 (class 1255 OID 18943) +-- Dependencies: 6 1102 +-- Name: st_geometry_recv(internal); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_geometry_recv(internal) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_recv'; + + +ALTER FUNCTION public.st_geometry_recv(internal) OWNER TO postgres; + +-- +-- TOC entry 588 (class 1255 OID 18944) +-- Dependencies: 6 1102 1102 +-- Name: st_geometry_right(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_geometry_right(geometry, geometry) RETURNS boolean + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_right'; + + +ALTER FUNCTION public.st_geometry_right(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 589 (class 1255 OID 18945) +-- Dependencies: 1102 6 1102 +-- Name: st_geometry_same(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_geometry_same(geometry, geometry) RETURNS boolean + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_samebox'; + + +ALTER FUNCTION public.st_geometry_same(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 590 (class 1255 OID 18946) +-- Dependencies: 6 1102 +-- Name: st_geometry_send(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_geometry_send(geometry) RETURNS bytea + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_send'; + + +ALTER FUNCTION public.st_geometry_send(geometry) OWNER TO postgres; + +-- +-- TOC entry 591 (class 1255 OID 18947) +-- Dependencies: 6 1102 +-- Name: st_geometryfromtext(text); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_geometryfromtext(text) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_from_text'; + + +ALTER FUNCTION public.st_geometryfromtext(text) OWNER TO postgres; + +-- +-- TOC entry 592 (class 1255 OID 18948) +-- Dependencies: 6 1102 +-- Name: st_geometryfromtext(text, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_geometryfromtext(text, integer) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_from_text'; + + +ALTER FUNCTION public.st_geometryfromtext(text, integer) OWNER TO postgres; + +-- +-- TOC entry 593 (class 1255 OID 18949) +-- Dependencies: 1102 6 1102 +-- Name: st_geometryn(geometry, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_geometryn(geometry, integer) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_geometryn_collection'; + + +ALTER FUNCTION public.st_geometryn(geometry, integer) OWNER TO postgres; + +-- +-- TOC entry 594 (class 1255 OID 18950) +-- Dependencies: 6 1102 +-- Name: st_geometrytype(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_geometrytype(geometry) RETURNS text + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'geometry_geometrytype'; + + +ALTER FUNCTION public.st_geometrytype(geometry) OWNER TO postgres; + +-- +-- TOC entry 595 (class 1255 OID 18951) +-- Dependencies: 1102 6 +-- Name: st_geomfromewkb(bytea); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_geomfromewkb(bytea) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOMFromWKB'; + + +ALTER FUNCTION public.st_geomfromewkb(bytea) OWNER TO postgres; + +-- +-- TOC entry 596 (class 1255 OID 18952) +-- Dependencies: 6 1102 +-- Name: st_geomfromewkt(text); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_geomfromewkt(text) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'parse_WKT_lwgeom'; + + +ALTER FUNCTION public.st_geomfromewkt(text) OWNER TO postgres; + +-- +-- TOC entry 597 (class 1255 OID 18953) +-- Dependencies: 6 1102 +-- Name: st_geomfromgml(text); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_geomfromgml(text) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'geom_from_gml'; + + +ALTER FUNCTION public.st_geomfromgml(text) OWNER TO postgres; + +-- +-- TOC entry 598 (class 1255 OID 18954) +-- Dependencies: 1102 6 +-- Name: st_geomfromkml(text); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_geomfromkml(text) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'geom_from_kml'; + + +ALTER FUNCTION public.st_geomfromkml(text) OWNER TO postgres; + +-- +-- TOC entry 599 (class 1255 OID 18955) +-- Dependencies: 1102 6 +-- Name: st_geomfromtext(text); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_geomfromtext(text) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_from_text'; + + +ALTER FUNCTION public.st_geomfromtext(text) OWNER TO postgres; + +-- +-- TOC entry 600 (class 1255 OID 18956) +-- Dependencies: 1102 6 +-- Name: st_geomfromtext(text, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_geomfromtext(text, integer) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_from_text'; + + +ALTER FUNCTION public.st_geomfromtext(text, integer) OWNER TO postgres; + +-- +-- TOC entry 601 (class 1255 OID 18957) +-- Dependencies: 1102 6 +-- Name: st_geomfromwkb(bytea); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_geomfromwkb(bytea) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_from_WKB'; + + +ALTER FUNCTION public.st_geomfromwkb(bytea) OWNER TO postgres; + +-- +-- TOC entry 602 (class 1255 OID 18958) +-- Dependencies: 1102 6 +-- Name: st_geomfromwkb(bytea, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_geomfromwkb(bytea, integer) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$SELECT ST_SetSRID(ST_GeomFromWKB($1), $2)$_$; + + +ALTER FUNCTION public.st_geomfromwkb(bytea, integer) OWNER TO postgres; + +-- +-- TOC entry 603 (class 1255 OID 18959) +-- Dependencies: 6 1102 +-- Name: st_gmltosql(text); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_gmltosql(text) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'geom_from_gml'; + + +ALTER FUNCTION public.st_gmltosql(text) OWNER TO postgres; + +-- +-- TOC entry 604 (class 1255 OID 18960) +-- Dependencies: 1102 6 +-- Name: st_hasarc(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_hasarc(geometry) RETURNS boolean + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_has_arc'; + + +ALTER FUNCTION public.st_hasarc(geometry) OWNER TO postgres; + +-- +-- TOC entry 605 (class 1255 OID 18961) +-- Dependencies: 6 1102 1102 +-- Name: st_hausdorffdistance(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_hausdorffdistance(geometry, geometry) RETURNS double precision + LANGUAGE c IMMUTABLE STRICT COST 100 + AS '$libdir/postgis-1.5', 'hausdorffdistance'; + + +ALTER FUNCTION public.st_hausdorffdistance(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 606 (class 1255 OID 18962) +-- Dependencies: 1102 1102 6 +-- Name: st_hausdorffdistance(geometry, geometry, double precision); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_hausdorffdistance(geometry, geometry, double precision) RETURNS double precision + LANGUAGE c IMMUTABLE STRICT COST 100 + AS '$libdir/postgis-1.5', 'hausdorffdistancedensify'; + + +ALTER FUNCTION public.st_hausdorffdistance(geometry, geometry, double precision) OWNER TO postgres; + +-- +-- TOC entry 607 (class 1255 OID 18963) +-- Dependencies: 6 1096 +-- Name: st_height(chip); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_height(chip) RETURNS integer + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'CHIP_getHeight'; + + +ALTER FUNCTION public.st_height(chip) OWNER TO postgres; + +-- +-- TOC entry 608 (class 1255 OID 18964) +-- Dependencies: 6 1102 1102 +-- Name: st_interiorringn(geometry, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_interiorringn(geometry, integer) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_interiorringn_polygon'; + + +ALTER FUNCTION public.st_interiorringn(geometry, integer) OWNER TO postgres; + +-- +-- TOC entry 609 (class 1255 OID 18965) +-- Dependencies: 6 1102 1102 1102 +-- Name: st_intersection(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_intersection(geometry, geometry) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT COST 100 + AS '$libdir/postgis-1.5', 'intersection'; + + +ALTER FUNCTION public.st_intersection(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 610 (class 1255 OID 18966) +-- Dependencies: 6 1099 1099 1099 +-- Name: st_intersection(geography, geography); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_intersection(geography, geography) RETURNS geography + LANGUAGE sql IMMUTABLE STRICT + AS $_$SELECT geography(ST_Transform(ST_Intersection(ST_Transform(geometry($1), _ST_BestSRID($1, $2)), ST_Transform(geometry($2), _ST_BestSRID($1, $2))), 4326))$_$; + + +ALTER FUNCTION public.st_intersection(geography, geography) OWNER TO postgres; + +-- +-- TOC entry 611 (class 1255 OID 18967) +-- Dependencies: 6 1102 +-- Name: st_intersection(text, text); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_intersection(text, text) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$ SELECT ST_Intersection($1::geometry, $2::geometry); $_$; + + +ALTER FUNCTION public.st_intersection(text, text) OWNER TO postgres; + +-- +-- TOC entry 612 (class 1255 OID 18968) +-- Dependencies: 6 1102 1102 +-- Name: st_intersects(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_intersects(geometry, geometry) RETURNS boolean + LANGUAGE sql IMMUTABLE + AS $_$SELECT $1 && $2 AND _ST_Intersects($1,$2)$_$; + + +ALTER FUNCTION public.st_intersects(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 613 (class 1255 OID 18969) +-- Dependencies: 6 1099 1099 +-- Name: st_intersects(geography, geography); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_intersects(geography, geography) RETURNS boolean + LANGUAGE sql IMMUTABLE STRICT + AS $_$SELECT $1 && $2 AND _ST_Distance($1, $2, 0.0, false) < 0.00001$_$; + + +ALTER FUNCTION public.st_intersects(geography, geography) OWNER TO postgres; + +-- +-- TOC entry 614 (class 1255 OID 18970) +-- Dependencies: 6 +-- Name: st_intersects(text, text); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_intersects(text, text) RETURNS boolean + LANGUAGE sql IMMUTABLE STRICT + AS $_$ SELECT ST_Intersects($1::geometry, $2::geometry); $_$; + + +ALTER FUNCTION public.st_intersects(text, text) OWNER TO postgres; + +-- +-- TOC entry 615 (class 1255 OID 18971) +-- Dependencies: 6 1102 +-- Name: st_isclosed(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_isclosed(geometry) RETURNS boolean + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_isclosed_linestring'; + + +ALTER FUNCTION public.st_isclosed(geometry) OWNER TO postgres; + +-- +-- TOC entry 616 (class 1255 OID 18972) +-- Dependencies: 6 1102 +-- Name: st_isempty(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_isempty(geometry) RETURNS boolean + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_isempty'; + + +ALTER FUNCTION public.st_isempty(geometry) OWNER TO postgres; + +-- +-- TOC entry 617 (class 1255 OID 18973) +-- Dependencies: 6 1102 +-- Name: st_isring(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_isring(geometry) RETURNS boolean + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'isring'; + + +ALTER FUNCTION public.st_isring(geometry) OWNER TO postgres; + +-- +-- TOC entry 618 (class 1255 OID 18974) +-- Dependencies: 6 1102 +-- Name: st_issimple(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_issimple(geometry) RETURNS boolean + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'issimple'; + + +ALTER FUNCTION public.st_issimple(geometry) OWNER TO postgres; + +-- +-- TOC entry 619 (class 1255 OID 18975) +-- Dependencies: 6 1102 +-- Name: st_isvalid(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_isvalid(geometry) RETURNS boolean + LANGUAGE c IMMUTABLE STRICT COST 100 + AS '$libdir/postgis-1.5', 'isvalid'; + + +ALTER FUNCTION public.st_isvalid(geometry) OWNER TO postgres; + +-- +-- TOC entry 620 (class 1255 OID 18976) +-- Dependencies: 6 1102 +-- Name: st_isvalidreason(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_isvalidreason(geometry) RETURNS text + LANGUAGE c IMMUTABLE STRICT COST 100 + AS '$libdir/postgis-1.5', 'isvalidreason'; + + +ALTER FUNCTION public.st_isvalidreason(geometry) OWNER TO postgres; + +-- +-- TOC entry 621 (class 1255 OID 18977) +-- Dependencies: 6 1102 +-- Name: st_length(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_length(geometry) RETURNS double precision + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_length2d_linestring'; + + +ALTER FUNCTION public.st_length(geometry) OWNER TO postgres; + +-- +-- TOC entry 623 (class 1255 OID 18979) +-- Dependencies: 6 1099 +-- Name: st_length(geography); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_length(geography) RETURNS double precision + LANGUAGE sql IMMUTABLE + AS $_$SELECT ST_Length($1, true)$_$; + + +ALTER FUNCTION public.st_length(geography) OWNER TO postgres; + +-- +-- TOC entry 624 (class 1255 OID 18980) +-- Dependencies: 6 +-- Name: st_length(text); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_length(text) RETURNS double precision + LANGUAGE sql IMMUTABLE STRICT + AS $_$ SELECT ST_Length($1::geometry); $_$; + + +ALTER FUNCTION public.st_length(text) OWNER TO postgres; + +-- +-- TOC entry 622 (class 1255 OID 18978) +-- Dependencies: 6 1099 +-- Name: st_length(geography, boolean); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_length(geography, boolean) RETURNS double precision + LANGUAGE c IMMUTABLE STRICT COST 100 + AS '$libdir/postgis-1.5', 'geography_length'; + + +ALTER FUNCTION public.st_length(geography, boolean) OWNER TO postgres; + +-- +-- TOC entry 625 (class 1255 OID 18981) +-- Dependencies: 6 1102 +-- Name: st_length2d(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_length2d(geometry) RETURNS double precision + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_length2d_linestring'; + + +ALTER FUNCTION public.st_length2d(geometry) OWNER TO postgres; + +-- +-- TOC entry 626 (class 1255 OID 18982) +-- Dependencies: 6 1102 1113 +-- Name: st_length2d_spheroid(geometry, spheroid); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_length2d_spheroid(geometry, spheroid) RETURNS double precision + LANGUAGE c IMMUTABLE STRICT COST 100 + AS '$libdir/postgis-1.5', 'LWGEOM_length2d_ellipsoid'; + + +ALTER FUNCTION public.st_length2d_spheroid(geometry, spheroid) OWNER TO postgres; + +-- +-- TOC entry 627 (class 1255 OID 18983) +-- Dependencies: 6 1102 +-- Name: st_length3d(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_length3d(geometry) RETURNS double precision + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_length_linestring'; + + +ALTER FUNCTION public.st_length3d(geometry) OWNER TO postgres; + +-- +-- TOC entry 628 (class 1255 OID 18984) +-- Dependencies: 6 1102 1113 +-- Name: st_length3d_spheroid(geometry, spheroid); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_length3d_spheroid(geometry, spheroid) RETURNS double precision + LANGUAGE c IMMUTABLE STRICT COST 100 + AS '$libdir/postgis-1.5', 'LWGEOM_length_ellipsoid_linestring'; + + +ALTER FUNCTION public.st_length3d_spheroid(geometry, spheroid) OWNER TO postgres; + +-- +-- TOC entry 629 (class 1255 OID 18985) +-- Dependencies: 6 1102 1113 +-- Name: st_length_spheroid(geometry, spheroid); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_length_spheroid(geometry, spheroid) RETURNS double precision + LANGUAGE c IMMUTABLE STRICT COST 100 + AS '$libdir/postgis-1.5', 'LWGEOM_length_ellipsoid_linestring'; + + +ALTER FUNCTION public.st_length_spheroid(geometry, spheroid) OWNER TO postgres; + +-- +-- TOC entry 630 (class 1255 OID 18986) +-- Dependencies: 6 1102 1102 +-- Name: st_line_interpolate_point(geometry, double precision); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_line_interpolate_point(geometry, double precision) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_line_interpolate_point'; + + +ALTER FUNCTION public.st_line_interpolate_point(geometry, double precision) OWNER TO postgres; + +-- +-- TOC entry 631 (class 1255 OID 18987) +-- Dependencies: 6 1102 1102 +-- Name: st_line_locate_point(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_line_locate_point(geometry, geometry) RETURNS double precision + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_line_locate_point'; + + +ALTER FUNCTION public.st_line_locate_point(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 632 (class 1255 OID 18988) +-- Dependencies: 6 1102 1102 +-- Name: st_line_substring(geometry, double precision, double precision); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_line_substring(geometry, double precision, double precision) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_line_substring'; + + +ALTER FUNCTION public.st_line_substring(geometry, double precision, double precision) OWNER TO postgres; + +-- +-- TOC entry 633 (class 1255 OID 18989) +-- Dependencies: 6 1102 1102 +-- Name: st_linecrossingdirection(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_linecrossingdirection(geometry, geometry) RETURNS integer + LANGUAGE sql IMMUTABLE + AS $_$ SELECT CASE WHEN NOT $1 && $2 THEN 0 ELSE _ST_LineCrossingDirection($1,$2) END $_$; + + +ALTER FUNCTION public.st_linecrossingdirection(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 634 (class 1255 OID 18990) +-- Dependencies: 6 1102 1102 +-- Name: st_linefrommultipoint(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_linefrommultipoint(geometry) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_line_from_mpoint'; + + +ALTER FUNCTION public.st_linefrommultipoint(geometry) OWNER TO postgres; + +-- +-- TOC entry 635 (class 1255 OID 18991) +-- Dependencies: 6 1102 +-- Name: st_linefromtext(text); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_linefromtext(text) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$ + SELECT CASE WHEN geometrytype(ST_GeomFromText($1)) = 'LINESTRING' + THEN ST_GeomFromText($1) + ELSE NULL END + $_$; + + +ALTER FUNCTION public.st_linefromtext(text) OWNER TO postgres; + +-- +-- TOC entry 636 (class 1255 OID 18992) +-- Dependencies: 6 1102 +-- Name: st_linefromtext(text, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_linefromtext(text, integer) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$ + SELECT CASE WHEN geometrytype(GeomFromText($1, $2)) = 'LINESTRING' + THEN GeomFromText($1,$2) + ELSE NULL END + $_$; + + +ALTER FUNCTION public.st_linefromtext(text, integer) OWNER TO postgres; + +-- +-- TOC entry 638 (class 1255 OID 18994) +-- Dependencies: 6 1102 +-- Name: st_linefromwkb(bytea); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_linefromwkb(bytea) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$ + SELECT CASE WHEN geometrytype(ST_GeomFromWKB($1)) = 'LINESTRING' + THEN ST_GeomFromWKB($1) + ELSE NULL END + $_$; + + +ALTER FUNCTION public.st_linefromwkb(bytea) OWNER TO postgres; + +-- +-- TOC entry 637 (class 1255 OID 18993) +-- Dependencies: 6 1102 +-- Name: st_linefromwkb(bytea, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_linefromwkb(bytea, integer) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$ + SELECT CASE WHEN geometrytype(ST_GeomFromWKB($1, $2)) = 'LINESTRING' + THEN ST_GeomFromWKB($1, $2) + ELSE NULL END + $_$; + + +ALTER FUNCTION public.st_linefromwkb(bytea, integer) OWNER TO postgres; + +-- +-- TOC entry 639 (class 1255 OID 18995) +-- Dependencies: 6 1102 1102 +-- Name: st_linemerge(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_linemerge(geometry) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT COST 100 + AS '$libdir/postgis-1.5', 'linemerge'; + + +ALTER FUNCTION public.st_linemerge(geometry) OWNER TO postgres; + +-- +-- TOC entry 641 (class 1255 OID 18997) +-- Dependencies: 6 1102 +-- Name: st_linestringfromwkb(bytea); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_linestringfromwkb(bytea) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$ + SELECT CASE WHEN geometrytype(GeomFromWKB($1)) = 'LINESTRING' + THEN GeomFromWKB($1) + ELSE NULL END + $_$; + + +ALTER FUNCTION public.st_linestringfromwkb(bytea) OWNER TO postgres; + +-- +-- TOC entry 640 (class 1255 OID 18996) +-- Dependencies: 6 1102 +-- Name: st_linestringfromwkb(bytea, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_linestringfromwkb(bytea, integer) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$ + SELECT CASE WHEN geometrytype(ST_GeomFromWKB($1, $2)) = 'LINESTRING' + THEN ST_GeomFromWKB($1, $2) + ELSE NULL END + $_$; + + +ALTER FUNCTION public.st_linestringfromwkb(bytea, integer) OWNER TO postgres; + +-- +-- TOC entry 642 (class 1255 OID 18998) +-- Dependencies: 6 1102 1102 +-- Name: st_linetocurve(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_linetocurve(geometry) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_line_desegmentize'; + + +ALTER FUNCTION public.st_linetocurve(geometry) OWNER TO postgres; + +-- +-- TOC entry 643 (class 1255 OID 18999) +-- Dependencies: 6 1102 1102 +-- Name: st_locate_along_measure(geometry, double precision); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_locate_along_measure(geometry, double precision) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$ SELECT locate_between_measures($1, $2, $2) $_$; + + +ALTER FUNCTION public.st_locate_along_measure(geometry, double precision) OWNER TO postgres; + +-- +-- TOC entry 644 (class 1255 OID 19000) +-- Dependencies: 6 1102 1102 +-- Name: st_locate_between_measures(geometry, double precision, double precision); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_locate_between_measures(geometry, double precision, double precision) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_locate_between_m'; + + +ALTER FUNCTION public.st_locate_between_measures(geometry, double precision, double precision) OWNER TO postgres; + +-- +-- TOC entry 645 (class 1255 OID 19001) +-- Dependencies: 6 1102 1102 +-- Name: st_locatebetweenelevations(geometry, double precision, double precision); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_locatebetweenelevations(geometry, double precision, double precision) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'ST_LocateBetweenElevations'; + + +ALTER FUNCTION public.st_locatebetweenelevations(geometry, double precision, double precision) OWNER TO postgres; + +-- +-- TOC entry 646 (class 1255 OID 19002) +-- Dependencies: 6 1102 1102 1102 +-- Name: st_longestline(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_longestline(geometry, geometry) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$SELECT _ST_LongestLine(ST_ConvexHull($1), ST_ConvexHull($2))$_$; + + +ALTER FUNCTION public.st_longestline(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 647 (class 1255 OID 19003) +-- Dependencies: 6 1102 +-- Name: st_m(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_m(geometry) RETURNS double precision + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_m_point'; + + +ALTER FUNCTION public.st_m(geometry) OWNER TO postgres; + +-- +-- TOC entry 648 (class 1255 OID 19004) +-- Dependencies: 6 1087 1102 1102 +-- Name: st_makebox2d(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_makebox2d(geometry, geometry) RETURNS box2d + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'BOX2DFLOAT4_construct'; + + +ALTER FUNCTION public.st_makebox2d(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 649 (class 1255 OID 19005) +-- Dependencies: 6 1090 1102 1102 +-- Name: st_makebox3d(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_makebox3d(geometry, geometry) RETURNS box3d + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'BOX3D_construct'; + + +ALTER FUNCTION public.st_makebox3d(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 650 (class 1255 OID 19006) +-- Dependencies: 6 1102 +-- Name: st_makeenvelope(double precision, double precision, double precision, double precision, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_makeenvelope(double precision, double precision, double precision, double precision, integer) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'ST_MakeEnvelope'; + + +ALTER FUNCTION public.st_makeenvelope(double precision, double precision, double precision, double precision, integer) OWNER TO postgres; + +-- +-- TOC entry 651 (class 1255 OID 19007) +-- Dependencies: 6 1102 1104 +-- Name: st_makeline(geometry[]); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_makeline(geometry[]) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_makeline_garray'; + + +ALTER FUNCTION public.st_makeline(geometry[]) OWNER TO postgres; + +-- +-- TOC entry 652 (class 1255 OID 19008) +-- Dependencies: 6 1102 1102 1102 +-- Name: st_makeline(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_makeline(geometry, geometry) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_makeline'; + + +ALTER FUNCTION public.st_makeline(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 653 (class 1255 OID 19009) +-- Dependencies: 1102 6 1104 +-- Name: st_makeline_garray(geometry[]); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_makeline_garray(geometry[]) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_makeline_garray'; + + +ALTER FUNCTION public.st_makeline_garray(geometry[]) OWNER TO postgres; + +-- +-- TOC entry 654 (class 1255 OID 19010) +-- Dependencies: 6 1102 +-- Name: st_makepoint(double precision, double precision); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_makepoint(double precision, double precision) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_makepoint'; + + +ALTER FUNCTION public.st_makepoint(double precision, double precision) OWNER TO postgres; + +-- +-- TOC entry 655 (class 1255 OID 19011) +-- Dependencies: 6 1102 +-- Name: st_makepoint(double precision, double precision, double precision); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_makepoint(double precision, double precision, double precision) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_makepoint'; + + +ALTER FUNCTION public.st_makepoint(double precision, double precision, double precision) OWNER TO postgres; + +-- +-- TOC entry 656 (class 1255 OID 19012) +-- Dependencies: 6 1102 +-- Name: st_makepoint(double precision, double precision, double precision, double precision); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_makepoint(double precision, double precision, double precision, double precision) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_makepoint'; + + +ALTER FUNCTION public.st_makepoint(double precision, double precision, double precision, double precision) OWNER TO postgres; + +-- +-- TOC entry 657 (class 1255 OID 19013) +-- Dependencies: 6 1102 +-- Name: st_makepointm(double precision, double precision, double precision); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_makepointm(double precision, double precision, double precision) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_makepoint3dm'; + + +ALTER FUNCTION public.st_makepointm(double precision, double precision, double precision) OWNER TO postgres; + +-- +-- TOC entry 659 (class 1255 OID 19015) +-- Dependencies: 6 1102 1102 +-- Name: st_makepolygon(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_makepolygon(geometry) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_makepoly'; + + +ALTER FUNCTION public.st_makepolygon(geometry) OWNER TO postgres; + +-- +-- TOC entry 658 (class 1255 OID 19014) +-- Dependencies: 6 1102 1102 1104 +-- Name: st_makepolygon(geometry, geometry[]); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_makepolygon(geometry, geometry[]) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_makepoly'; + + +ALTER FUNCTION public.st_makepolygon(geometry, geometry[]) OWNER TO postgres; + +-- +-- TOC entry 660 (class 1255 OID 19016) +-- Dependencies: 6 1102 1102 +-- Name: st_maxdistance(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_maxdistance(geometry, geometry) RETURNS double precision + LANGUAGE sql IMMUTABLE STRICT + AS $_$SELECT _ST_MaxDistance(ST_ConvexHull($1), ST_ConvexHull($2))$_$; + + +ALTER FUNCTION public.st_maxdistance(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 661 (class 1255 OID 19017) +-- Dependencies: 6 1102 +-- Name: st_mem_size(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_mem_size(geometry) RETURNS integer + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_mem_size'; + + +ALTER FUNCTION public.st_mem_size(geometry) OWNER TO postgres; + +-- +-- TOC entry 663 (class 1255 OID 19020) +-- Dependencies: 6 1102 1102 +-- Name: st_minimumboundingcircle(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_minimumboundingcircle(geometry) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$SELECT ST_MinimumBoundingCircle($1, 48)$_$; + + +ALTER FUNCTION public.st_minimumboundingcircle(geometry) OWNER TO postgres; + +-- +-- TOC entry 662 (class 1255 OID 19018) +-- Dependencies: 6 1167 1102 1102 +-- Name: st_minimumboundingcircle(geometry, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_minimumboundingcircle(inputgeom geometry, segs_per_quarter integer) RETURNS geometry + LANGUAGE plpgsql IMMUTABLE STRICT + AS $$ + DECLARE + hull GEOMETRY; + ring GEOMETRY; + center GEOMETRY; + radius DOUBLE PRECISION; + dist DOUBLE PRECISION; + d DOUBLE PRECISION; + idx1 integer; + idx2 integer; + l1 GEOMETRY; + l2 GEOMETRY; + p1 GEOMETRY; + p2 GEOMETRY; + a1 DOUBLE PRECISION; + a2 DOUBLE PRECISION; + + + BEGIN + + -- First compute the ConvexHull of the geometry + hull = ST_ConvexHull(inputgeom); + --A point really has no MBC + IF ST_GeometryType(hull) = 'ST_Point' THEN + RETURN hull; + END IF; + -- convert the hull perimeter to a linestring so we can manipulate individual points + --If its already a linestring force it to a closed linestring + ring = CASE WHEN ST_GeometryType(hull) = 'ST_LineString' THEN ST_AddPoint(hull, ST_StartPoint(hull)) ELSE ST_ExteriorRing(hull) END; + + dist = 0; + -- Brute Force - check every pair + FOR i in 1 .. (ST_NumPoints(ring)-2) + LOOP + FOR j in i .. (ST_NumPoints(ring)-1) + LOOP + d = ST_Distance(ST_PointN(ring,i),ST_PointN(ring,j)); + -- Check the distance and update if larger + IF (d > dist) THEN + dist = d; + idx1 = i; + idx2 = j; + END IF; + END LOOP; + END LOOP; + + -- We now have the diameter of the convex hull. The following line returns it if desired. + -- RETURN MakeLine(PointN(ring,idx1),PointN(ring,idx2)); + + -- Now for the Minimum Bounding Circle. Since we know the two points furthest from each + -- other, the MBC must go through those two points. Start with those points as a diameter of a circle. + + -- The radius is half the distance between them and the center is midway between them + radius = ST_Distance(ST_PointN(ring,idx1),ST_PointN(ring,idx2)) / 2.0; + center = ST_Line_interpolate_point(ST_MakeLine(ST_PointN(ring,idx1),ST_PointN(ring,idx2)),0.5); + + -- Loop through each vertex and check if the distance from the center to the point + -- is greater than the current radius. + FOR k in 1 .. (ST_NumPoints(ring)-1) + LOOP + IF(k <> idx1 and k <> idx2) THEN + dist = ST_Distance(center,ST_PointN(ring,k)); + IF (dist > radius) THEN + -- We have to expand the circle. The new circle must pass trhough + -- three points - the two original diameters and this point. + + -- Draw a line from the first diameter to this point + l1 = ST_Makeline(ST_PointN(ring,idx1),ST_PointN(ring,k)); + -- Compute the midpoint + p1 = ST_line_interpolate_point(l1,0.5); + -- Rotate the line 90 degrees around the midpoint (perpendicular bisector) + l1 = ST_Translate(ST_Rotate(ST_Translate(l1,-X(p1),-Y(p1)),pi()/2),X(p1),Y(p1)); + -- Compute the azimuth of the bisector + a1 = ST_Azimuth(ST_PointN(l1,1),ST_PointN(l1,2)); + -- Extend the line in each direction the new computed distance to insure they will intersect + l1 = ST_AddPoint(l1,ST_Makepoint(X(ST_PointN(l1,2))+sin(a1)*dist,Y(ST_PointN(l1,2))+cos(a1)*dist),-1); + l1 = ST_AddPoint(l1,ST_Makepoint(X(ST_PointN(l1,1))-sin(a1)*dist,Y(ST_PointN(l1,1))-cos(a1)*dist),0); + + -- Repeat for the line from the point to the other diameter point + l2 = ST_Makeline(ST_PointN(ring,idx2),ST_PointN(ring,k)); + p2 = ST_Line_interpolate_point(l2,0.5); + l2 = ST_Translate(ST_Rotate(ST_Translate(l2,-X(p2),-Y(p2)),pi()/2),X(p2),Y(p2)); + a2 = ST_Azimuth(ST_PointN(l2,1),ST_PointN(l2,2)); + l2 = ST_AddPoint(l2,ST_Makepoint(X(ST_PointN(l2,2))+sin(a2)*dist,Y(ST_PointN(l2,2))+cos(a2)*dist),-1); + l2 = ST_AddPoint(l2,ST_Makepoint(X(ST_PointN(l2,1))-sin(a2)*dist,Y(ST_PointN(l2,1))-cos(a2)*dist),0); + + -- The new center is the intersection of the two bisectors + center = ST_Intersection(l1,l2); + -- The new radius is the distance to any of the three points + radius = ST_Distance(center,ST_PointN(ring,idx1)); + END IF; + END IF; + END LOOP; + --DONE!! Return the MBC via the buffer command + RETURN ST_Buffer(center,radius,segs_per_quarter); + + END; +$$; + + +ALTER FUNCTION public.st_minimumboundingcircle(inputgeom geometry, segs_per_quarter integer) OWNER TO postgres; + +-- +-- TOC entry 665 (class 1255 OID 19022) +-- Dependencies: 6 1102 +-- Name: st_mlinefromtext(text); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_mlinefromtext(text) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$ + SELECT CASE WHEN geometrytype(ST_GeomFromText($1)) = 'MULTILINESTRING' + THEN ST_GeomFromText($1) + ELSE NULL END + $_$; + + +ALTER FUNCTION public.st_mlinefromtext(text) OWNER TO postgres; + +-- +-- TOC entry 664 (class 1255 OID 19021) +-- Dependencies: 6 1102 +-- Name: st_mlinefromtext(text, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_mlinefromtext(text, integer) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$ + SELECT CASE + WHEN geometrytype(GeomFromText($1, $2)) = 'MULTILINESTRING' + THEN GeomFromText($1,$2) + ELSE NULL END + $_$; + + +ALTER FUNCTION public.st_mlinefromtext(text, integer) OWNER TO postgres; + +-- +-- TOC entry 667 (class 1255 OID 19024) +-- Dependencies: 6 1102 +-- Name: st_mlinefromwkb(bytea); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_mlinefromwkb(bytea) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$ + SELECT CASE WHEN geometrytype(ST_GeomFromWKB($1)) = 'MULTILINESTRING' + THEN ST_GeomFromWKB($1) + ELSE NULL END + $_$; + + +ALTER FUNCTION public.st_mlinefromwkb(bytea) OWNER TO postgres; + +-- +-- TOC entry 666 (class 1255 OID 19023) +-- Dependencies: 6 1102 +-- Name: st_mlinefromwkb(bytea, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_mlinefromwkb(bytea, integer) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$ + SELECT CASE WHEN geometrytype(ST_GeomFromWKB($1, $2)) = 'MULTILINESTRING' + THEN ST_GeomFromWKB($1, $2) + ELSE NULL END + $_$; + + +ALTER FUNCTION public.st_mlinefromwkb(bytea, integer) OWNER TO postgres; + +-- +-- TOC entry 669 (class 1255 OID 19026) +-- Dependencies: 6 1102 +-- Name: st_mpointfromtext(text); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_mpointfromtext(text) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$ + SELECT CASE WHEN geometrytype(ST_GeomFromText($1)) = 'MULTIPOINT' + THEN ST_GeomFromText($1) + ELSE NULL END + $_$; + + +ALTER FUNCTION public.st_mpointfromtext(text) OWNER TO postgres; + +-- +-- TOC entry 668 (class 1255 OID 19025) +-- Dependencies: 6 1102 +-- Name: st_mpointfromtext(text, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_mpointfromtext(text, integer) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$ + SELECT CASE WHEN geometrytype(GeomFromText($1, $2)) = 'MULTIPOINT' + THEN GeomFromText($1, $2) + ELSE NULL END + $_$; + + +ALTER FUNCTION public.st_mpointfromtext(text, integer) OWNER TO postgres; + +-- +-- TOC entry 672 (class 1255 OID 19028) +-- Dependencies: 6 1102 +-- Name: st_mpointfromwkb(bytea); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_mpointfromwkb(bytea) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$ + SELECT CASE WHEN geometrytype(ST_GeomFromWKB($1)) = 'MULTIPOINT' + THEN ST_GeomFromWKB($1) + ELSE NULL END + $_$; + + +ALTER FUNCTION public.st_mpointfromwkb(bytea) OWNER TO postgres; + +-- +-- TOC entry 671 (class 1255 OID 19027) +-- Dependencies: 6 1102 +-- Name: st_mpointfromwkb(bytea, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_mpointfromwkb(bytea, integer) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$ + SELECT CASE WHEN geometrytype(GeomFromWKB($1, $2)) = 'MULTIPOINT' + THEN GeomFromWKB($1, $2) + ELSE NULL END + $_$; + + +ALTER FUNCTION public.st_mpointfromwkb(bytea, integer) OWNER TO postgres; + +-- +-- TOC entry 674 (class 1255 OID 19030) +-- Dependencies: 6 1102 +-- Name: st_mpolyfromtext(text); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_mpolyfromtext(text) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$ + SELECT CASE WHEN geometrytype(ST_GeomFromText($1)) = 'MULTIPOLYGON' + THEN ST_GeomFromText($1) + ELSE NULL END + $_$; + + +ALTER FUNCTION public.st_mpolyfromtext(text) OWNER TO postgres; + +-- +-- TOC entry 673 (class 1255 OID 19029) +-- Dependencies: 6 1102 +-- Name: st_mpolyfromtext(text, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_mpolyfromtext(text, integer) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$ + SELECT CASE WHEN geometrytype(ST_GeomFromText($1, $2)) = 'MULTIPOLYGON' + THEN ST_GeomFromText($1,$2) + ELSE NULL END + $_$; + + +ALTER FUNCTION public.st_mpolyfromtext(text, integer) OWNER TO postgres; + +-- +-- TOC entry 676 (class 1255 OID 19032) +-- Dependencies: 6 1102 +-- Name: st_mpolyfromwkb(bytea); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_mpolyfromwkb(bytea) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$ + SELECT CASE WHEN geometrytype(ST_GeomFromWKB($1)) = 'MULTIPOLYGON' + THEN ST_GeomFromWKB($1) + ELSE NULL END + $_$; + + +ALTER FUNCTION public.st_mpolyfromwkb(bytea) OWNER TO postgres; + +-- +-- TOC entry 675 (class 1255 OID 19031) +-- Dependencies: 6 1102 +-- Name: st_mpolyfromwkb(bytea, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_mpolyfromwkb(bytea, integer) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$ + SELECT CASE WHEN geometrytype(ST_GeomFromWKB($1, $2)) = 'MULTIPOLYGON' + THEN ST_GeomFromWKB($1, $2) + ELSE NULL END + $_$; + + +ALTER FUNCTION public.st_mpolyfromwkb(bytea, integer) OWNER TO postgres; + +-- +-- TOC entry 677 (class 1255 OID 19033) +-- Dependencies: 6 1102 1102 +-- Name: st_multi(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_multi(geometry) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_force_multi'; + + +ALTER FUNCTION public.st_multi(geometry) OWNER TO postgres; + +-- +-- TOC entry 678 (class 1255 OID 19034) +-- Dependencies: 6 1102 +-- Name: st_multilinefromwkb(bytea); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_multilinefromwkb(bytea) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$ + SELECT CASE WHEN geometrytype(ST_GeomFromWKB($1)) = 'MULTILINESTRING' + THEN ST_GeomFromWKB($1) + ELSE NULL END + $_$; + + +ALTER FUNCTION public.st_multilinefromwkb(bytea) OWNER TO postgres; + +-- +-- TOC entry 679 (class 1255 OID 19035) +-- Dependencies: 6 1102 +-- Name: st_multilinestringfromtext(text); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_multilinestringfromtext(text) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$SELECT ST_MLineFromText($1)$_$; + + +ALTER FUNCTION public.st_multilinestringfromtext(text) OWNER TO postgres; + +-- +-- TOC entry 680 (class 1255 OID 19036) +-- Dependencies: 6 1102 +-- Name: st_multilinestringfromtext(text, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_multilinestringfromtext(text, integer) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$SELECT MLineFromText($1, $2)$_$; + + +ALTER FUNCTION public.st_multilinestringfromtext(text, integer) OWNER TO postgres; + +-- +-- TOC entry 681 (class 1255 OID 19037) +-- Dependencies: 6 1102 +-- Name: st_multipointfromtext(text); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_multipointfromtext(text) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$SELECT MPointFromText($1)$_$; + + +ALTER FUNCTION public.st_multipointfromtext(text) OWNER TO postgres; + +-- +-- TOC entry 683 (class 1255 OID 19039) +-- Dependencies: 6 1102 +-- Name: st_multipointfromwkb(bytea); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_multipointfromwkb(bytea) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$ + SELECT CASE WHEN geometrytype(ST_GeomFromWKB($1)) = 'MULTIPOINT' + THEN ST_GeomFromWKB($1) + ELSE NULL END + $_$; + + +ALTER FUNCTION public.st_multipointfromwkb(bytea) OWNER TO postgres; + +-- +-- TOC entry 682 (class 1255 OID 19038) +-- Dependencies: 6 1102 +-- Name: st_multipointfromwkb(bytea, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_multipointfromwkb(bytea, integer) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$ + SELECT CASE WHEN geometrytype(ST_GeomFromWKB($1,$2)) = 'MULTIPOINT' + THEN ST_GeomFromWKB($1, $2) + ELSE NULL END + $_$; + + +ALTER FUNCTION public.st_multipointfromwkb(bytea, integer) OWNER TO postgres; + +-- +-- TOC entry 685 (class 1255 OID 19041) +-- Dependencies: 6 1102 +-- Name: st_multipolyfromwkb(bytea); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_multipolyfromwkb(bytea) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$ + SELECT CASE WHEN geometrytype(ST_GeomFromWKB($1)) = 'MULTIPOLYGON' + THEN ST_GeomFromWKB($1) + ELSE NULL END + $_$; + + +ALTER FUNCTION public.st_multipolyfromwkb(bytea) OWNER TO postgres; + +-- +-- TOC entry 684 (class 1255 OID 19040) +-- Dependencies: 1102 6 +-- Name: st_multipolyfromwkb(bytea, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_multipolyfromwkb(bytea, integer) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$ + SELECT CASE WHEN geometrytype(ST_GeomFromWKB($1, $2)) = 'MULTIPOLYGON' + THEN ST_GeomFromWKB($1, $2) + ELSE NULL END + $_$; + + +ALTER FUNCTION public.st_multipolyfromwkb(bytea, integer) OWNER TO postgres; + +-- +-- TOC entry 687 (class 1255 OID 19043) +-- Dependencies: 6 1102 +-- Name: st_multipolygonfromtext(text); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_multipolygonfromtext(text) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$SELECT MPolyFromText($1)$_$; + + +ALTER FUNCTION public.st_multipolygonfromtext(text) OWNER TO postgres; + +-- +-- TOC entry 686 (class 1255 OID 19042) +-- Dependencies: 6 1102 +-- Name: st_multipolygonfromtext(text, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_multipolygonfromtext(text, integer) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$SELECT MPolyFromText($1, $2)$_$; + + +ALTER FUNCTION public.st_multipolygonfromtext(text, integer) OWNER TO postgres; + +-- +-- TOC entry 688 (class 1255 OID 19044) +-- Dependencies: 6 1102 +-- Name: st_ndims(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_ndims(geometry) RETURNS smallint + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_ndims'; + + +ALTER FUNCTION public.st_ndims(geometry) OWNER TO postgres; + +-- +-- TOC entry 689 (class 1255 OID 19045) +-- Dependencies: 6 1102 +-- Name: st_npoints(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_npoints(geometry) RETURNS integer + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_npoints'; + + +ALTER FUNCTION public.st_npoints(geometry) OWNER TO postgres; + +-- +-- TOC entry 690 (class 1255 OID 19046) +-- Dependencies: 6 1102 +-- Name: st_nrings(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_nrings(geometry) RETURNS integer + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_nrings'; + + +ALTER FUNCTION public.st_nrings(geometry) OWNER TO postgres; + +-- +-- TOC entry 691 (class 1255 OID 19047) +-- Dependencies: 6 1102 +-- Name: st_numgeometries(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_numgeometries(geometry) RETURNS integer + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_numgeometries_collection'; + + +ALTER FUNCTION public.st_numgeometries(geometry) OWNER TO postgres; + +-- +-- TOC entry 692 (class 1255 OID 19048) +-- Dependencies: 6 1102 +-- Name: st_numinteriorring(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_numinteriorring(geometry) RETURNS integer + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_numinteriorrings_polygon'; + + +ALTER FUNCTION public.st_numinteriorring(geometry) OWNER TO postgres; + +-- +-- TOC entry 693 (class 1255 OID 19049) +-- Dependencies: 6 1102 +-- Name: st_numinteriorrings(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_numinteriorrings(geometry) RETURNS integer + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_numinteriorrings_polygon'; + + +ALTER FUNCTION public.st_numinteriorrings(geometry) OWNER TO postgres; + +-- +-- TOC entry 694 (class 1255 OID 19050) +-- Dependencies: 6 1102 +-- Name: st_numpoints(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_numpoints(geometry) RETURNS integer + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_numpoints_linestring'; + + +ALTER FUNCTION public.st_numpoints(geometry) OWNER TO postgres; + +-- +-- TOC entry 695 (class 1255 OID 19051) +-- Dependencies: 6 1102 1102 +-- Name: st_orderingequals(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_orderingequals(geometry, geometry) RETURNS boolean + LANGUAGE sql IMMUTABLE STRICT + AS $_$ + SELECT $1 ~= $2 AND _ST_OrderingEquals($1, $2) + $_$; + + +ALTER FUNCTION public.st_orderingequals(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 696 (class 1255 OID 19052) +-- Dependencies: 6 1102 1102 +-- Name: st_overlaps(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_overlaps(geometry, geometry) RETURNS boolean + LANGUAGE sql IMMUTABLE + AS $_$SELECT $1 && $2 AND _ST_Overlaps($1,$2)$_$; + + +ALTER FUNCTION public.st_overlaps(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 697 (class 1255 OID 19053) +-- Dependencies: 6 1102 +-- Name: st_perimeter(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_perimeter(geometry) RETURNS double precision + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_perimeter2d_poly'; + + +ALTER FUNCTION public.st_perimeter(geometry) OWNER TO postgres; + +-- +-- TOC entry 698 (class 1255 OID 19054) +-- Dependencies: 6 1102 +-- Name: st_perimeter2d(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_perimeter2d(geometry) RETURNS double precision + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_perimeter2d_poly'; + + +ALTER FUNCTION public.st_perimeter2d(geometry) OWNER TO postgres; + +-- +-- TOC entry 699 (class 1255 OID 19055) +-- Dependencies: 6 1102 +-- Name: st_perimeter3d(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_perimeter3d(geometry) RETURNS double precision + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_perimeter_poly'; + + +ALTER FUNCTION public.st_perimeter3d(geometry) OWNER TO postgres; + +-- +-- TOC entry 700 (class 1255 OID 19056) +-- Dependencies: 6 1102 +-- Name: st_point(double precision, double precision); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_point(double precision, double precision) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_makepoint'; + + +ALTER FUNCTION public.st_point(double precision, double precision) OWNER TO postgres; + +-- +-- TOC entry 701 (class 1255 OID 19057) +-- Dependencies: 6 1102 +-- Name: st_point_inside_circle(geometry, double precision, double precision, double precision); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_point_inside_circle(geometry, double precision, double precision, double precision) RETURNS boolean + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_inside_circle_point'; + + +ALTER FUNCTION public.st_point_inside_circle(geometry, double precision, double precision, double precision) OWNER TO postgres; + +-- +-- TOC entry 702 (class 1255 OID 19058) +-- Dependencies: 6 1102 +-- Name: st_pointfromtext(text); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_pointfromtext(text) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$ + SELECT CASE WHEN geometrytype(ST_GeomFromText($1)) = 'POINT' + THEN ST_GeomFromText($1) + ELSE NULL END + $_$; + + +ALTER FUNCTION public.st_pointfromtext(text) OWNER TO postgres; + +-- +-- TOC entry 703 (class 1255 OID 19059) +-- Dependencies: 6 1102 +-- Name: st_pointfromtext(text, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_pointfromtext(text, integer) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$ + SELECT CASE WHEN geometrytype(ST_GeomFromText($1, $2)) = 'POINT' + THEN ST_GeomFromText($1, $2) + ELSE NULL END + $_$; + + +ALTER FUNCTION public.st_pointfromtext(text, integer) OWNER TO postgres; + +-- +-- TOC entry 706 (class 1255 OID 19061) +-- Dependencies: 6 1102 +-- Name: st_pointfromwkb(bytea); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_pointfromwkb(bytea) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$ + SELECT CASE WHEN geometrytype(ST_GeomFromWKB($1)) = 'POINT' + THEN ST_GeomFromWKB($1) + ELSE NULL END + $_$; + + +ALTER FUNCTION public.st_pointfromwkb(bytea) OWNER TO postgres; + +-- +-- TOC entry 705 (class 1255 OID 19060) +-- Dependencies: 6 1102 +-- Name: st_pointfromwkb(bytea, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_pointfromwkb(bytea, integer) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$ + SELECT CASE WHEN geometrytype(ST_GeomFromWKB($1, $2)) = 'POINT' + THEN ST_GeomFromWKB($1, $2) + ELSE NULL END + $_$; + + +ALTER FUNCTION public.st_pointfromwkb(bytea, integer) OWNER TO postgres; + +-- +-- TOC entry 707 (class 1255 OID 19062) +-- Dependencies: 6 1102 1102 +-- Name: st_pointn(geometry, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_pointn(geometry, integer) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_pointn_linestring'; + + +ALTER FUNCTION public.st_pointn(geometry, integer) OWNER TO postgres; + +-- +-- TOC entry 708 (class 1255 OID 19063) +-- Dependencies: 6 1102 1102 +-- Name: st_pointonsurface(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_pointonsurface(geometry) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT COST 100 + AS '$libdir/postgis-1.5', 'pointonsurface'; + + +ALTER FUNCTION public.st_pointonsurface(geometry) OWNER TO postgres; + +-- +-- TOC entry 709 (class 1255 OID 19064) +-- Dependencies: 6 1102 +-- Name: st_polyfromtext(text); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_polyfromtext(text) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$ + SELECT CASE WHEN geometrytype(ST_GeomFromText($1)) = 'POLYGON' + THEN ST_GeomFromText($1) + ELSE NULL END + $_$; + + +ALTER FUNCTION public.st_polyfromtext(text) OWNER TO postgres; + +-- +-- TOC entry 710 (class 1255 OID 19065) +-- Dependencies: 6 1102 +-- Name: st_polyfromtext(text, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_polyfromtext(text, integer) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$ + SELECT CASE WHEN geometrytype(ST_GeomFromText($1, $2)) = 'POLYGON' + THEN ST_GeomFromText($1, $2) + ELSE NULL END + $_$; + + +ALTER FUNCTION public.st_polyfromtext(text, integer) OWNER TO postgres; + +-- +-- TOC entry 712 (class 1255 OID 19067) +-- Dependencies: 6 1102 +-- Name: st_polyfromwkb(bytea); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_polyfromwkb(bytea) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$ + SELECT CASE WHEN geometrytype(ST_GeomFromWKB($1)) = 'POLYGON' + THEN ST_GeomFromWKB($1) + ELSE NULL END + $_$; + + +ALTER FUNCTION public.st_polyfromwkb(bytea) OWNER TO postgres; + +-- +-- TOC entry 711 (class 1255 OID 19066) +-- Dependencies: 6 1102 +-- Name: st_polyfromwkb(bytea, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_polyfromwkb(bytea, integer) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$ + SELECT CASE WHEN geometrytype(ST_GeomFromWKB($1, $2)) = 'POLYGON' + THEN ST_GeomFromWKB($1, $2) + ELSE NULL END + $_$; + + +ALTER FUNCTION public.st_polyfromwkb(bytea, integer) OWNER TO postgres; + +-- +-- TOC entry 713 (class 1255 OID 19068) +-- Dependencies: 6 1102 1102 +-- Name: st_polygon(geometry, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_polygon(geometry, integer) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$ + SELECT setSRID(makepolygon($1), $2) + $_$; + + +ALTER FUNCTION public.st_polygon(geometry, integer) OWNER TO postgres; + +-- +-- TOC entry 715 (class 1255 OID 19070) +-- Dependencies: 6 1102 +-- Name: st_polygonfromtext(text); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_polygonfromtext(text) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$SELECT ST_PolyFromText($1)$_$; + + +ALTER FUNCTION public.st_polygonfromtext(text) OWNER TO postgres; + +-- +-- TOC entry 714 (class 1255 OID 19069) +-- Dependencies: 6 1102 +-- Name: st_polygonfromtext(text, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_polygonfromtext(text, integer) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$SELECT PolyFromText($1, $2)$_$; + + +ALTER FUNCTION public.st_polygonfromtext(text, integer) OWNER TO postgres; + +-- +-- TOC entry 717 (class 1255 OID 19072) +-- Dependencies: 6 1102 +-- Name: st_polygonfromwkb(bytea); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_polygonfromwkb(bytea) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$ + SELECT CASE WHEN geometrytype(GeomFromWKB($1)) = 'POLYGON' + THEN GeomFromWKB($1) + ELSE NULL END + $_$; + + +ALTER FUNCTION public.st_polygonfromwkb(bytea) OWNER TO postgres; + +-- +-- TOC entry 716 (class 1255 OID 19071) +-- Dependencies: 6 1102 +-- Name: st_polygonfromwkb(bytea, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_polygonfromwkb(bytea, integer) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$ + SELECT CASE WHEN geometrytype(ST_GeomFromWKB($1,$2)) = 'POLYGON' + THEN ST_GeomFromWKB($1, $2) + ELSE NULL END + $_$; + + +ALTER FUNCTION public.st_polygonfromwkb(bytea, integer) OWNER TO postgres; + +-- +-- TOC entry 718 (class 1255 OID 19073) +-- Dependencies: 6 1102 1104 +-- Name: st_polygonize(geometry[]); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_polygonize(geometry[]) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT COST 100 + AS '$libdir/postgis-1.5', 'polygonize_garray'; + + +ALTER FUNCTION public.st_polygonize(geometry[]) OWNER TO postgres; + +-- +-- TOC entry 719 (class 1255 OID 19074) +-- Dependencies: 6 1104 1102 +-- Name: st_polygonize_garray(geometry[]); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_polygonize_garray(geometry[]) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT COST 100 + AS '$libdir/postgis-1.5', 'polygonize_garray'; + + +ALTER FUNCTION public.st_polygonize_garray(geometry[]) OWNER TO postgres; + +-- +-- TOC entry 720 (class 1255 OID 19075) +-- Dependencies: 6 +-- Name: st_postgis_gist_joinsel(internal, oid, internal, smallint); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_postgis_gist_joinsel(internal, oid, internal, smallint) RETURNS double precision + LANGUAGE c + AS '$libdir/postgis-1.5', 'LWGEOM_gist_joinsel'; + + +ALTER FUNCTION public.st_postgis_gist_joinsel(internal, oid, internal, smallint) OWNER TO postgres; + +-- +-- TOC entry 721 (class 1255 OID 19076) +-- Dependencies: 6 +-- Name: st_postgis_gist_sel(internal, oid, internal, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_postgis_gist_sel(internal, oid, internal, integer) RETURNS double precision + LANGUAGE c + AS '$libdir/postgis-1.5', 'LWGEOM_gist_sel'; + + +ALTER FUNCTION public.st_postgis_gist_sel(internal, oid, internal, integer) OWNER TO postgres; + +-- +-- TOC entry 722 (class 1255 OID 19077) +-- Dependencies: 1102 1102 6 +-- Name: st_relate(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_relate(geometry, geometry) RETURNS text + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'relate_full'; + + +ALTER FUNCTION public.st_relate(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 723 (class 1255 OID 19078) +-- Dependencies: 1102 6 1102 +-- Name: st_relate(geometry, geometry, text); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_relate(geometry, geometry, text) RETURNS boolean + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'relate_pattern'; + + +ALTER FUNCTION public.st_relate(geometry, geometry, text) OWNER TO postgres; + +-- +-- TOC entry 724 (class 1255 OID 19079) +-- Dependencies: 6 1102 1102 +-- Name: st_removepoint(geometry, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_removepoint(geometry, integer) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_removepoint'; + + +ALTER FUNCTION public.st_removepoint(geometry, integer) OWNER TO postgres; + +-- +-- TOC entry 725 (class 1255 OID 19080) +-- Dependencies: 1102 6 1102 +-- Name: st_reverse(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_reverse(geometry) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_reverse'; + + +ALTER FUNCTION public.st_reverse(geometry) OWNER TO postgres; + +-- +-- TOC entry 726 (class 1255 OID 19081) +-- Dependencies: 6 1102 1102 +-- Name: st_rotate(geometry, double precision); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_rotate(geometry, double precision) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$SELECT rotateZ($1, $2)$_$; + + +ALTER FUNCTION public.st_rotate(geometry, double precision) OWNER TO postgres; + +-- +-- TOC entry 727 (class 1255 OID 19082) +-- Dependencies: 6 1102 1102 +-- Name: st_rotatex(geometry, double precision); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_rotatex(geometry, double precision) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$SELECT affine($1, 1, 0, 0, 0, cos($2), -sin($2), 0, sin($2), cos($2), 0, 0, 0)$_$; + + +ALTER FUNCTION public.st_rotatex(geometry, double precision) OWNER TO postgres; + +-- +-- TOC entry 728 (class 1255 OID 19083) +-- Dependencies: 1102 1102 6 +-- Name: st_rotatey(geometry, double precision); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_rotatey(geometry, double precision) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$SELECT affine($1, cos($2), 0, sin($2), 0, 1, 0, -sin($2), 0, cos($2), 0, 0, 0)$_$; + + +ALTER FUNCTION public.st_rotatey(geometry, double precision) OWNER TO postgres; + +-- +-- TOC entry 729 (class 1255 OID 19084) +-- Dependencies: 1102 1102 6 +-- Name: st_rotatez(geometry, double precision); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_rotatez(geometry, double precision) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$SELECT affine($1, cos($2), -sin($2), 0, sin($2), cos($2), 0, 0, 0, 1, 0, 0, 0)$_$; + + +ALTER FUNCTION public.st_rotatez(geometry, double precision) OWNER TO postgres; + +-- +-- TOC entry 731 (class 1255 OID 19086) +-- Dependencies: 1102 1102 6 +-- Name: st_scale(geometry, double precision, double precision); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_scale(geometry, double precision, double precision) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$SELECT scale($1, $2, $3, 1)$_$; + + +ALTER FUNCTION public.st_scale(geometry, double precision, double precision) OWNER TO postgres; + +-- +-- TOC entry 730 (class 1255 OID 19085) +-- Dependencies: 1102 1102 6 +-- Name: st_scale(geometry, double precision, double precision, double precision); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_scale(geometry, double precision, double precision, double precision) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$SELECT affine($1, $2, 0, 0, 0, $3, 0, 0, 0, $4, 0, 0, 0)$_$; + + +ALTER FUNCTION public.st_scale(geometry, double precision, double precision, double precision) OWNER TO postgres; + +-- +-- TOC entry 732 (class 1255 OID 19087) +-- Dependencies: 1102 6 1102 +-- Name: st_segmentize(geometry, double precision); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_segmentize(geometry, double precision) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_segmentize2d'; + + +ALTER FUNCTION public.st_segmentize(geometry, double precision) OWNER TO postgres; + +-- +-- TOC entry 733 (class 1255 OID 19088) +-- Dependencies: 1096 1096 6 +-- Name: st_setfactor(chip, real); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_setfactor(chip, real) RETURNS chip + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'CHIP_setFactor'; + + +ALTER FUNCTION public.st_setfactor(chip, real) OWNER TO postgres; + +-- +-- TOC entry 734 (class 1255 OID 19089) +-- Dependencies: 6 1102 1102 1102 +-- Name: st_setpoint(geometry, integer, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_setpoint(geometry, integer, geometry) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_setpoint_linestring'; + + +ALTER FUNCTION public.st_setpoint(geometry, integer, geometry) OWNER TO postgres; + +-- +-- TOC entry 735 (class 1255 OID 19090) +-- Dependencies: 1102 6 1102 +-- Name: st_setsrid(geometry, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_setsrid(geometry, integer) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_setSRID'; + + +ALTER FUNCTION public.st_setsrid(geometry, integer) OWNER TO postgres; + +-- +-- TOC entry 736 (class 1255 OID 19091) +-- Dependencies: 1102 6 1102 +-- Name: st_shift_longitude(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_shift_longitude(geometry) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_longitude_shift'; + + +ALTER FUNCTION public.st_shift_longitude(geometry) OWNER TO postgres; + +-- +-- TOC entry 737 (class 1255 OID 19092) +-- Dependencies: 1102 6 1102 1102 +-- Name: st_shortestline(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_shortestline(geometry, geometry) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_shortestline2d'; + + +ALTER FUNCTION public.st_shortestline(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 738 (class 1255 OID 19093) +-- Dependencies: 6 1102 1102 +-- Name: st_simplify(geometry, double precision); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_simplify(geometry, double precision) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_simplify2d'; + + +ALTER FUNCTION public.st_simplify(geometry, double precision) OWNER TO postgres; + +-- +-- TOC entry 739 (class 1255 OID 19094) +-- Dependencies: 1102 6 1102 +-- Name: st_simplifypreservetopology(geometry, double precision); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_simplifypreservetopology(geometry, double precision) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT COST 100 + AS '$libdir/postgis-1.5', 'topologypreservesimplify'; + + +ALTER FUNCTION public.st_simplifypreservetopology(geometry, double precision) OWNER TO postgres; + +-- +-- TOC entry 740 (class 1255 OID 19097) +-- Dependencies: 1102 1102 6 +-- Name: st_snaptogrid(geometry, double precision); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_snaptogrid(geometry, double precision) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$SELECT ST_SnapToGrid($1, 0, 0, $2, $2)$_$; + + +ALTER FUNCTION public.st_snaptogrid(geometry, double precision) OWNER TO postgres; + +-- +-- TOC entry 704 (class 1255 OID 19096) +-- Dependencies: 1102 1102 6 +-- Name: st_snaptogrid(geometry, double precision, double precision); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_snaptogrid(geometry, double precision, double precision) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$SELECT ST_SnapToGrid($1, 0, 0, $2, $3)$_$; + + +ALTER FUNCTION public.st_snaptogrid(geometry, double precision, double precision) OWNER TO postgres; + +-- +-- TOC entry 670 (class 1255 OID 19095) +-- Dependencies: 1102 6 1102 +-- Name: st_snaptogrid(geometry, double precision, double precision, double precision, double precision); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_snaptogrid(geometry, double precision, double precision, double precision, double precision) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_snaptogrid'; + + +ALTER FUNCTION public.st_snaptogrid(geometry, double precision, double precision, double precision, double precision) OWNER TO postgres; + +-- +-- TOC entry 741 (class 1255 OID 19098) +-- Dependencies: 6 1102 1102 1102 +-- Name: st_snaptogrid(geometry, geometry, double precision, double precision, double precision, double precision); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_snaptogrid(geometry, geometry, double precision, double precision, double precision, double precision) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_snaptogrid_pointoff'; + + +ALTER FUNCTION public.st_snaptogrid(geometry, geometry, double precision, double precision, double precision, double precision) OWNER TO postgres; + +-- +-- TOC entry 742 (class 1255 OID 19099) +-- Dependencies: 6 1113 +-- Name: st_spheroid_in(cstring); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_spheroid_in(cstring) RETURNS spheroid + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'ellipsoid_in'; + + +ALTER FUNCTION public.st_spheroid_in(cstring) OWNER TO postgres; + +-- +-- TOC entry 743 (class 1255 OID 19100) +-- Dependencies: 1113 6 +-- Name: st_spheroid_out(spheroid); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_spheroid_out(spheroid) RETURNS cstring + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'ellipsoid_out'; + + +ALTER FUNCTION public.st_spheroid_out(spheroid) OWNER TO postgres; + +-- +-- TOC entry 744 (class 1255 OID 19101) +-- Dependencies: 1096 6 +-- Name: st_srid(chip); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_srid(chip) RETURNS integer + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'CHIP_getSRID'; + + +ALTER FUNCTION public.st_srid(chip) OWNER TO postgres; + +-- +-- TOC entry 745 (class 1255 OID 19102) +-- Dependencies: 6 1102 +-- Name: st_srid(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_srid(geometry) RETURNS integer + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_getSRID'; + + +ALTER FUNCTION public.st_srid(geometry) OWNER TO postgres; + +-- +-- TOC entry 746 (class 1255 OID 19103) +-- Dependencies: 6 1102 1102 +-- Name: st_startpoint(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_startpoint(geometry) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_startpoint_linestring'; + + +ALTER FUNCTION public.st_startpoint(geometry) OWNER TO postgres; + +-- +-- TOC entry 747 (class 1255 OID 19104) +-- Dependencies: 1102 6 +-- Name: st_summary(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_summary(geometry) RETURNS text + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_summary'; + + +ALTER FUNCTION public.st_summary(geometry) OWNER TO postgres; + +-- +-- TOC entry 748 (class 1255 OID 19105) +-- Dependencies: 1102 6 1102 1102 +-- Name: st_symdifference(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_symdifference(geometry, geometry) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'symdifference'; + + +ALTER FUNCTION public.st_symdifference(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 749 (class 1255 OID 19106) +-- Dependencies: 1102 6 1102 1102 +-- Name: st_symmetricdifference(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_symmetricdifference(geometry, geometry) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'symdifference'; + + +ALTER FUNCTION public.st_symmetricdifference(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 750 (class 1255 OID 19107) +-- Dependencies: 6 1102 +-- Name: st_text(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_text(geometry) RETURNS text + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_to_text'; + + +ALTER FUNCTION public.st_text(geometry) OWNER TO postgres; + +-- +-- TOC entry 751 (class 1255 OID 19108) +-- Dependencies: 1102 6 1102 +-- Name: st_touches(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_touches(geometry, geometry) RETURNS boolean + LANGUAGE sql IMMUTABLE + AS $_$SELECT $1 && $2 AND _ST_Touches($1,$2)$_$; + + +ALTER FUNCTION public.st_touches(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 752 (class 1255 OID 19109) +-- Dependencies: 1102 6 1102 +-- Name: st_transform(geometry, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_transform(geometry, integer) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'transform'; + + +ALTER FUNCTION public.st_transform(geometry, integer) OWNER TO postgres; + +-- +-- TOC entry 754 (class 1255 OID 19111) +-- Dependencies: 6 1102 1102 +-- Name: st_translate(geometry, double precision, double precision); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_translate(geometry, double precision, double precision) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$SELECT translate($1, $2, $3, 0)$_$; + + +ALTER FUNCTION public.st_translate(geometry, double precision, double precision) OWNER TO postgres; + +-- +-- TOC entry 753 (class 1255 OID 19110) +-- Dependencies: 1102 6 1102 +-- Name: st_translate(geometry, double precision, double precision, double precision); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_translate(geometry, double precision, double precision, double precision) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$SELECT affine($1, 1, 0, 0, 0, 1, 0, 0, 0, 1, $2, $3, $4)$_$; + + +ALTER FUNCTION public.st_translate(geometry, double precision, double precision, double precision) OWNER TO postgres; + +-- +-- TOC entry 755 (class 1255 OID 19112) +-- Dependencies: 1102 1102 6 +-- Name: st_transscale(geometry, double precision, double precision, double precision, double precision); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_transscale(geometry, double precision, double precision, double precision, double precision) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$SELECT affine($1, $4, 0, 0, 0, $5, 0, + 0, 0, 1, $2 * $4, $3 * $5, 0)$_$; + + +ALTER FUNCTION public.st_transscale(geometry, double precision, double precision, double precision, double precision) OWNER TO postgres; + +-- +-- TOC entry 757 (class 1255 OID 19114) +-- Dependencies: 6 1104 1102 +-- Name: st_union(geometry[]); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_union(geometry[]) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'pgis_union_geometry_array'; + + +ALTER FUNCTION public.st_union(geometry[]) OWNER TO postgres; + +-- +-- TOC entry 756 (class 1255 OID 19113) +-- Dependencies: 1102 6 1102 1102 +-- Name: st_union(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_union(geometry, geometry) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'geomunion'; + + +ALTER FUNCTION public.st_union(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 758 (class 1255 OID 19115) +-- Dependencies: 6 1104 1102 +-- Name: st_unite_garray(geometry[]); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_unite_garray(geometry[]) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'pgis_union_geometry_array'; + + +ALTER FUNCTION public.st_unite_garray(geometry[]) OWNER TO postgres; + +-- +-- TOC entry 759 (class 1255 OID 19116) +-- Dependencies: 1096 6 +-- Name: st_width(chip); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_width(chip) RETURNS integer + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'CHIP_getWidth'; + + +ALTER FUNCTION public.st_width(chip) OWNER TO postgres; + +-- +-- TOC entry 760 (class 1255 OID 19117) +-- Dependencies: 1102 6 1102 +-- Name: st_within(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_within(geometry, geometry) RETURNS boolean + LANGUAGE sql IMMUTABLE + AS $_$SELECT $1 && $2 AND _ST_Within($1,$2)$_$; + + +ALTER FUNCTION public.st_within(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 761 (class 1255 OID 19118) +-- Dependencies: 1102 6 +-- Name: st_wkbtosql(bytea); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_wkbtosql(bytea) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_from_WKB'; + + +ALTER FUNCTION public.st_wkbtosql(bytea) OWNER TO postgres; + +-- +-- TOC entry 762 (class 1255 OID 19119) +-- Dependencies: 6 1102 +-- Name: st_wkttosql(text); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_wkttosql(text) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_from_text'; + + +ALTER FUNCTION public.st_wkttosql(text) OWNER TO postgres; + +-- +-- TOC entry 763 (class 1255 OID 19120) +-- Dependencies: 6 1102 +-- Name: st_x(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_x(geometry) RETURNS double precision + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_x_point'; + + +ALTER FUNCTION public.st_x(geometry) OWNER TO postgres; + +-- +-- TOC entry 764 (class 1255 OID 19121) +-- Dependencies: 6 1090 +-- Name: st_xmax(box3d); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_xmax(box3d) RETURNS double precision + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'BOX3D_xmax'; + + +ALTER FUNCTION public.st_xmax(box3d) OWNER TO postgres; + +-- +-- TOC entry 765 (class 1255 OID 19122) +-- Dependencies: 1090 6 +-- Name: st_xmin(box3d); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_xmin(box3d) RETURNS double precision + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'BOX3D_xmin'; + + +ALTER FUNCTION public.st_xmin(box3d) OWNER TO postgres; + +-- +-- TOC entry 766 (class 1255 OID 19123) +-- Dependencies: 1102 6 +-- Name: st_y(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_y(geometry) RETURNS double precision + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_y_point'; + + +ALTER FUNCTION public.st_y(geometry) OWNER TO postgres; + +-- +-- TOC entry 767 (class 1255 OID 19124) +-- Dependencies: 1090 6 +-- Name: st_ymax(box3d); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_ymax(box3d) RETURNS double precision + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'BOX3D_ymax'; + + +ALTER FUNCTION public.st_ymax(box3d) OWNER TO postgres; + +-- +-- TOC entry 768 (class 1255 OID 19125) +-- Dependencies: 6 1090 +-- Name: st_ymin(box3d); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_ymin(box3d) RETURNS double precision + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'BOX3D_ymin'; + + +ALTER FUNCTION public.st_ymin(box3d) OWNER TO postgres; + +-- +-- TOC entry 769 (class 1255 OID 19126) +-- Dependencies: 6 1102 +-- Name: st_z(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_z(geometry) RETURNS double precision + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_z_point'; + + +ALTER FUNCTION public.st_z(geometry) OWNER TO postgres; + +-- +-- TOC entry 770 (class 1255 OID 19127) +-- Dependencies: 6 1090 +-- Name: st_zmax(box3d); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_zmax(box3d) RETURNS double precision + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'BOX3D_zmax'; + + +ALTER FUNCTION public.st_zmax(box3d) OWNER TO postgres; + +-- +-- TOC entry 771 (class 1255 OID 19128) +-- Dependencies: 6 1102 +-- Name: st_zmflag(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_zmflag(geometry) RETURNS smallint + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_zmflag'; + + +ALTER FUNCTION public.st_zmflag(geometry) OWNER TO postgres; + +-- +-- TOC entry 772 (class 1255 OID 19129) +-- Dependencies: 6 1090 +-- Name: st_zmin(box3d); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION st_zmin(box3d) RETURNS double precision + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'BOX3D_zmin'; + + +ALTER FUNCTION public.st_zmin(box3d) OWNER TO postgres; + +-- +-- TOC entry 773 (class 1255 OID 19130) +-- Dependencies: 6 1102 1102 +-- Name: startpoint(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION startpoint(geometry) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_startpoint_linestring'; + + +ALTER FUNCTION public.startpoint(geometry) OWNER TO postgres; + +-- +-- TOC entry 774 (class 1255 OID 19131) +-- Dependencies: 1102 6 +-- Name: summary(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION summary(geometry) RETURNS text + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_summary'; + + +ALTER FUNCTION public.summary(geometry) OWNER TO postgres; + +-- +-- TOC entry 775 (class 1255 OID 19132) +-- Dependencies: 1102 6 1102 1102 +-- Name: symdifference(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION symdifference(geometry, geometry) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'symdifference'; + + +ALTER FUNCTION public.symdifference(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 776 (class 1255 OID 19133) +-- Dependencies: 1102 6 1102 1102 +-- Name: symmetricdifference(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION symmetricdifference(geometry, geometry) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'symdifference'; + + +ALTER FUNCTION public.symmetricdifference(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 777 (class 1255 OID 19134) +-- Dependencies: 6 1102 +-- Name: text(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION text(geometry) RETURNS text + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_to_text'; + + +ALTER FUNCTION public.text(geometry) OWNER TO postgres; + +-- +-- TOC entry 778 (class 1255 OID 19135) +-- Dependencies: 1102 6 1102 +-- Name: touches(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION touches(geometry, geometry) RETURNS boolean + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'touches'; + + +ALTER FUNCTION public.touches(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 779 (class 1255 OID 19136) +-- Dependencies: 1102 6 1102 +-- Name: transform(geometry, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION transform(geometry, integer) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'transform'; + + +ALTER FUNCTION public.transform(geometry, integer) OWNER TO postgres; + +-- +-- TOC entry 781 (class 1255 OID 19138) +-- Dependencies: 6 1102 1102 +-- Name: translate(geometry, double precision, double precision); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION translate(geometry, double precision, double precision) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$SELECT translate($1, $2, $3, 0)$_$; + + +ALTER FUNCTION public.translate(geometry, double precision, double precision) OWNER TO postgres; + +-- +-- TOC entry 780 (class 1255 OID 19137) +-- Dependencies: 1102 1102 6 +-- Name: translate(geometry, double precision, double precision, double precision); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION translate(geometry, double precision, double precision, double precision) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$SELECT affine($1, 1, 0, 0, 0, 1, 0, 0, 0, 1, $2, $3, $4)$_$; + + +ALTER FUNCTION public.translate(geometry, double precision, double precision, double precision) OWNER TO postgres; + +-- +-- TOC entry 782 (class 1255 OID 19139) +-- Dependencies: 1102 6 1102 +-- Name: transscale(geometry, double precision, double precision, double precision, double precision); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION transscale(geometry, double precision, double precision, double precision, double precision) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$SELECT affine($1, $4, 0, 0, 0, $5, 0, + 0, 0, 1, $2 * $4, $3 * $5, 0)$_$; + + +ALTER FUNCTION public.transscale(geometry, double precision, double precision, double precision, double precision) OWNER TO postgres; + +-- +-- TOC entry 783 (class 1255 OID 19140) +-- Dependencies: 1102 6 1104 +-- Name: unite_garray(geometry[]); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION unite_garray(geometry[]) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'pgis_union_geometry_array'; + + +ALTER FUNCTION public.unite_garray(geometry[]) OWNER TO postgres; + +-- +-- TOC entry 784 (class 1255 OID 19141) +-- Dependencies: 1167 6 +-- Name: unlockrows(text); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION unlockrows(text) RETURNS integer + LANGUAGE plpgsql STRICT + AS $_$ +DECLARE + ret int; +BEGIN + + IF NOT LongTransactionsEnabled() THEN + RAISE EXCEPTION 'Long transaction support disabled, use EnableLongTransaction() to enable.'; + END IF; + + EXECUTE 'DELETE FROM authorization_table where authid = ' || + quote_literal($1); + + GET DIAGNOSTICS ret = ROW_COUNT; + + RETURN ret; +END; +$_$; + + +ALTER FUNCTION public.unlockrows(text) OWNER TO postgres; + +-- +-- TOC entry 787 (class 1255 OID 19144) +-- Dependencies: 1167 6 +-- Name: updategeometrysrid(character varying, character varying, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION updategeometrysrid(character varying, character varying, integer) RETURNS text + LANGUAGE plpgsql STRICT + AS $_$ +DECLARE + ret text; +BEGIN + SELECT UpdateGeometrySRID('','',$1,$2,$3) into ret; + RETURN ret; +END; +$_$; + + +ALTER FUNCTION public.updategeometrysrid(character varying, character varying, integer) OWNER TO postgres; + +-- +-- TOC entry 786 (class 1255 OID 19143) +-- Dependencies: 6 1167 +-- Name: updategeometrysrid(character varying, character varying, character varying, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION updategeometrysrid(character varying, character varying, character varying, integer) RETURNS text + LANGUAGE plpgsql STRICT + AS $_$ +DECLARE + ret text; +BEGIN + SELECT UpdateGeometrySRID('',$1,$2,$3,$4) into ret; + RETURN ret; +END; +$_$; + + +ALTER FUNCTION public.updategeometrysrid(character varying, character varying, character varying, integer) OWNER TO postgres; + +-- +-- TOC entry 785 (class 1255 OID 19142) +-- Dependencies: 1167 6 +-- Name: updategeometrysrid(character varying, character varying, character varying, character varying, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION updategeometrysrid(character varying, character varying, character varying, character varying, integer) RETURNS text + LANGUAGE plpgsql STRICT + AS $_$ +DECLARE + catalog_name alias for $1; + schema_name alias for $2; + table_name alias for $3; + column_name alias for $4; + new_srid alias for $5; + myrec RECORD; + okay boolean; + cname varchar; + real_schema name; + +BEGIN + + + -- Find, check or fix schema_name + IF ( schema_name != '' ) THEN + okay = 'f'; + + FOR myrec IN SELECT nspname FROM pg_namespace WHERE text(nspname) = schema_name LOOP + okay := 't'; + END LOOP; + + IF ( okay <> 't' ) THEN + RAISE EXCEPTION 'Invalid schema name'; + ELSE + real_schema = schema_name; + END IF; + ELSE + SELECT INTO real_schema current_schema()::text; + END IF; + + -- Find out if the column is in the geometry_columns table + okay = 'f'; + FOR myrec IN SELECT * from geometry_columns where f_table_schema = text(real_schema) and f_table_name = table_name and f_geometry_column = column_name LOOP + okay := 't'; + END LOOP; + IF (okay <> 't') THEN + RAISE EXCEPTION 'column not found in geometry_columns table'; + RETURN 'f'; + END IF; + + -- Update ref from geometry_columns table + EXECUTE 'UPDATE geometry_columns SET SRID = ' || new_srid::text || + ' where f_table_schema = ' || + quote_literal(real_schema) || ' and f_table_name = ' || + quote_literal(table_name) || ' and f_geometry_column = ' || + quote_literal(column_name); + + -- Make up constraint name + cname = 'enforce_srid_' || column_name; + + -- Drop enforce_srid constraint + EXECUTE 'ALTER TABLE ' || quote_ident(real_schema) || + '.' || quote_ident(table_name) || + ' DROP constraint ' || quote_ident(cname); + + -- Update geometries SRID + EXECUTE 'UPDATE ' || quote_ident(real_schema) || + '.' || quote_ident(table_name) || + ' SET ' || quote_ident(column_name) || + ' = setSRID(' || quote_ident(column_name) || + ', ' || new_srid::text || ')'; + + -- Reset enforce_srid constraint + EXECUTE 'ALTER TABLE ' || quote_ident(real_schema) || + '.' || quote_ident(table_name) || + ' ADD constraint ' || quote_ident(cname) || + ' CHECK (srid(' || quote_ident(column_name) || + ') = ' || new_srid::text || ')'; + + RETURN real_schema || '.' || table_name || '.' || column_name ||' SRID changed to ' || new_srid::text; + +END; +$_$; + + +ALTER FUNCTION public.updategeometrysrid(character varying, character varying, character varying, character varying, integer) OWNER TO postgres; + +-- +-- TOC entry 788 (class 1255 OID 19145) +-- Dependencies: 1096 6 +-- Name: width(chip); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION width(chip) RETURNS integer + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'CHIP_getWidth'; + + +ALTER FUNCTION public.width(chip) OWNER TO postgres; + +-- +-- TOC entry 789 (class 1255 OID 19146) +-- Dependencies: 1102 6 1102 +-- Name: within(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION within(geometry, geometry) RETURNS boolean + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'within'; + + +ALTER FUNCTION public.within(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 790 (class 1255 OID 19147) +-- Dependencies: 1102 6 +-- Name: x(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION x(geometry) RETURNS double precision + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_x_point'; + + +ALTER FUNCTION public.x(geometry) OWNER TO postgres; + +-- +-- TOC entry 791 (class 1255 OID 19148) +-- Dependencies: 6 1090 +-- Name: xmax(box3d); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION xmax(box3d) RETURNS double precision + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'BOX3D_xmax'; + + +ALTER FUNCTION public.xmax(box3d) OWNER TO postgres; + +-- +-- TOC entry 792 (class 1255 OID 19149) +-- Dependencies: 1090 6 +-- Name: xmin(box3d); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION xmin(box3d) RETURNS double precision + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'BOX3D_xmin'; + + +ALTER FUNCTION public.xmin(box3d) OWNER TO postgres; + +-- +-- TOC entry 793 (class 1255 OID 19150) +-- Dependencies: 1102 6 +-- Name: y(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION y(geometry) RETURNS double precision + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_y_point'; + + +ALTER FUNCTION public.y(geometry) OWNER TO postgres; + +-- +-- TOC entry 794 (class 1255 OID 19151) +-- Dependencies: 6 1090 +-- Name: ymax(box3d); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION ymax(box3d) RETURNS double precision + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'BOX3D_ymax'; + + +ALTER FUNCTION public.ymax(box3d) OWNER TO postgres; + +-- +-- TOC entry 795 (class 1255 OID 19152) +-- Dependencies: 1090 6 +-- Name: ymin(box3d); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION ymin(box3d) RETURNS double precision + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'BOX3D_ymin'; + + +ALTER FUNCTION public.ymin(box3d) OWNER TO postgres; + +-- +-- TOC entry 796 (class 1255 OID 19153) +-- Dependencies: 1102 6 +-- Name: z(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION z(geometry) RETURNS double precision + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_z_point'; + + +ALTER FUNCTION public.z(geometry) OWNER TO postgres; + +-- +-- TOC entry 797 (class 1255 OID 19154) +-- Dependencies: 1090 6 +-- Name: zmax(box3d); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION zmax(box3d) RETURNS double precision + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'BOX3D_zmax'; + + +ALTER FUNCTION public.zmax(box3d) OWNER TO postgres; + +-- +-- TOC entry 798 (class 1255 OID 19155) +-- Dependencies: 1102 6 +-- Name: zmflag(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION zmflag(geometry) RETURNS smallint + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_zmflag'; + + +ALTER FUNCTION public.zmflag(geometry) OWNER TO postgres; + +-- +-- TOC entry 799 (class 1255 OID 19156) +-- Dependencies: 1090 6 +-- Name: zmin(box3d); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION zmin(box3d) RETURNS double precision + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'BOX3D_zmin'; + + +ALTER FUNCTION public.zmin(box3d) OWNER TO postgres; + +-- +-- TOC entry 1172 (class 1255 OID 19157) +-- Dependencies: 1104 1102 330 329 6 +-- Name: accum(geometry); Type: AGGREGATE; Schema: public; Owner: postgres +-- + +CREATE AGGREGATE accum(geometry) ( + SFUNC = pgis_geometry_accum_transfn, + STYPE = pgis_abs, + FINALFUNC = pgis_geometry_accum_finalfn +); + + +ALTER AGGREGATE public.accum(geometry) OWNER TO postgres; + +-- +-- TOC entry 1173 (class 1255 OID 19158) +-- Dependencies: 331 6 1102 1102 330 +-- Name: collect(geometry); Type: AGGREGATE; Schema: public; Owner: postgres +-- + +CREATE AGGREGATE collect(geometry) ( + SFUNC = pgis_geometry_accum_transfn, + STYPE = pgis_abs, + FINALFUNC = pgis_geometry_collect_finalfn +); + + +ALTER AGGREGATE public.collect(geometry) OWNER TO postgres; + +-- +-- TOC entry 1174 (class 1255 OID 19159) +-- Dependencies: 6 1102 500 1093 +-- Name: extent(geometry); Type: AGGREGATE; Schema: public; Owner: postgres +-- + +CREATE AGGREGATE extent(geometry) ( + SFUNC = public.st_combine_bbox, + STYPE = box3d_extent +); + + +ALTER AGGREGATE public.extent(geometry) OWNER TO postgres; + +-- +-- TOC entry 1175 (class 1255 OID 19160) +-- Dependencies: 124 1102 1090 6 +-- Name: extent3d(geometry); Type: AGGREGATE; Schema: public; Owner: postgres +-- + +CREATE AGGREGATE extent3d(geometry) ( + SFUNC = public.combine_bbox, + STYPE = box3d +); + + +ALTER AGGREGATE public.extent3d(geometry) OWNER TO postgres; + +-- +-- TOC entry 1176 (class 1255 OID 19161) +-- Dependencies: 1102 1102 330 6 332 +-- Name: makeline(geometry); Type: AGGREGATE; Schema: public; Owner: postgres +-- + +CREATE AGGREGATE makeline(geometry) ( + SFUNC = pgis_geometry_accum_transfn, + STYPE = pgis_abs, + FINALFUNC = pgis_geometry_makeline_finalfn +); + + +ALTER AGGREGATE public.makeline(geometry) OWNER TO postgres; + +-- +-- TOC entry 1177 (class 1255 OID 19162) +-- Dependencies: 1102 496 1102 6 +-- Name: memcollect(geometry); Type: AGGREGATE; Schema: public; Owner: postgres +-- + +CREATE AGGREGATE memcollect(geometry) ( + SFUNC = public.st_collect, + STYPE = geometry +); + + +ALTER AGGREGATE public.memcollect(geometry) OWNER TO postgres; + +-- +-- TOC entry 1178 (class 1255 OID 19163) +-- Dependencies: 231 1102 1102 6 +-- Name: memgeomunion(geometry); Type: AGGREGATE; Schema: public; Owner: postgres +-- + +CREATE AGGREGATE memgeomunion(geometry) ( + SFUNC = geomunion, + STYPE = geometry +); + + +ALTER AGGREGATE public.memgeomunion(geometry) OWNER TO postgres; + +-- +-- TOC entry 1179 (class 1255 OID 19164) +-- Dependencies: 6 333 330 1102 1102 +-- Name: polygonize(geometry); Type: AGGREGATE; Schema: public; Owner: postgres +-- + +CREATE AGGREGATE polygonize(geometry) ( + SFUNC = pgis_geometry_accum_transfn, + STYPE = pgis_abs, + FINALFUNC = pgis_geometry_polygonize_finalfn +); + + +ALTER AGGREGATE public.polygonize(geometry) OWNER TO postgres; + +-- +-- TOC entry 1180 (class 1255 OID 19165) +-- Dependencies: 329 330 1102 1104 6 +-- Name: st_accum(geometry); Type: AGGREGATE; Schema: public; Owner: postgres +-- + +CREATE AGGREGATE st_accum(geometry) ( + SFUNC = pgis_geometry_accum_transfn, + STYPE = pgis_abs, + FINALFUNC = pgis_geometry_accum_finalfn +); + + +ALTER AGGREGATE public.st_accum(geometry) OWNER TO postgres; + +-- +-- TOC entry 1181 (class 1255 OID 19166) +-- Dependencies: 331 330 1102 1102 6 +-- Name: st_collect(geometry); Type: AGGREGATE; Schema: public; Owner: postgres +-- + +CREATE AGGREGATE st_collect(geometry) ( + SFUNC = pgis_geometry_accum_transfn, + STYPE = pgis_abs, + FINALFUNC = pgis_geometry_collect_finalfn +); + + +ALTER AGGREGATE public.st_collect(geometry) OWNER TO postgres; + +-- +-- TOC entry 1182 (class 1255 OID 19167) +-- Dependencies: 500 1102 1093 6 +-- Name: st_extent(geometry); Type: AGGREGATE; Schema: public; Owner: postgres +-- + +CREATE AGGREGATE st_extent(geometry) ( + SFUNC = public.st_combine_bbox, + STYPE = box3d_extent +); + + +ALTER AGGREGATE public.st_extent(geometry) OWNER TO postgres; + +-- +-- TOC entry 1168 (class 1255 OID 19168) +-- Dependencies: 501 1102 1090 6 +-- Name: st_extent3d(geometry); Type: AGGREGATE; Schema: public; Owner: postgres +-- + +CREATE AGGREGATE st_extent3d(geometry) ( + SFUNC = public.st_combine_bbox, + STYPE = box3d +); + + +ALTER AGGREGATE public.st_extent3d(geometry) OWNER TO postgres; + +-- +-- TOC entry 1169 (class 1255 OID 19169) +-- Dependencies: 1102 6 330 332 1102 +-- Name: st_makeline(geometry); Type: AGGREGATE; Schema: public; Owner: postgres +-- + +CREATE AGGREGATE st_makeline(geometry) ( + SFUNC = pgis_geometry_accum_transfn, + STYPE = pgis_abs, + FINALFUNC = pgis_geometry_makeline_finalfn +); + + +ALTER AGGREGATE public.st_makeline(geometry) OWNER TO postgres; + +-- +-- TOC entry 1170 (class 1255 OID 19170) +-- Dependencies: 6 496 1102 1102 +-- Name: st_memcollect(geometry); Type: AGGREGATE; Schema: public; Owner: postgres +-- + +CREATE AGGREGATE st_memcollect(geometry) ( + SFUNC = public.st_collect, + STYPE = geometry +); + + +ALTER AGGREGATE public.st_memcollect(geometry) OWNER TO postgres; + +-- +-- TOC entry 1171 (class 1255 OID 19171) +-- Dependencies: 756 1102 6 1102 +-- Name: st_memunion(geometry); Type: AGGREGATE; Schema: public; Owner: postgres +-- + +CREATE AGGREGATE st_memunion(geometry) ( + SFUNC = public.st_union, + STYPE = geometry +); + + +ALTER AGGREGATE public.st_memunion(geometry) OWNER TO postgres; + +-- +-- TOC entry 1183 (class 1255 OID 19172) +-- Dependencies: 6 1102 330 1102 333 +-- Name: st_polygonize(geometry); Type: AGGREGATE; Schema: public; Owner: postgres +-- + +CREATE AGGREGATE st_polygonize(geometry) ( + SFUNC = pgis_geometry_accum_transfn, + STYPE = pgis_abs, + FINALFUNC = pgis_geometry_polygonize_finalfn +); + + +ALTER AGGREGATE public.st_polygonize(geometry) OWNER TO postgres; + +-- +-- TOC entry 1184 (class 1255 OID 19173) +-- Dependencies: 6 330 334 1102 1102 +-- Name: st_union(geometry); Type: AGGREGATE; Schema: public; Owner: postgres +-- + +CREATE AGGREGATE st_union(geometry) ( + SFUNC = pgis_geometry_accum_transfn, + STYPE = pgis_abs, + FINALFUNC = pgis_geometry_union_finalfn +); + + +ALTER AGGREGATE public.st_union(geometry) OWNER TO postgres; + +-- +-- TOC entry 1890 (class 2617 OID 19174) +-- Dependencies: 208 207 6 1102 1102 215 +-- Name: &&; Type: OPERATOR; Schema: public; Owner: postgres +-- + +CREATE OPERATOR && ( + PROCEDURE = geometry_overlap, + LEFTARG = geometry, + RIGHTARG = geometry, + COMMUTATOR = &&, + RESTRICT = geometry_gist_sel, + JOIN = geometry_gist_joinsel +); + + +ALTER OPERATOR public.&& (geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 1891 (class 2617 OID 19175) +-- Dependencies: 180 185 1099 1099 6 176 +-- Name: &&; Type: OPERATOR; Schema: public; Owner: postgres +-- + +CREATE OPERATOR && ( + PROCEDURE = geography_overlaps, + LEFTARG = geography, + RIGHTARG = geography, + COMMUTATOR = &&, + RESTRICT = geography_gist_selectivity, + JOIN = geography_gist_join_selectivity +); + + +ALTER OPERATOR public.&& (geography, geography) OWNER TO postgres; + +-- +-- TOC entry 1892 (class 2617 OID 19177) +-- Dependencies: 216 6 1102 1102 +-- Name: &<; Type: OPERATOR; Schema: public; Owner: postgres +-- + +CREATE OPERATOR &< ( + PROCEDURE = geometry_overleft, + LEFTARG = geometry, + RIGHTARG = geometry, + COMMUTATOR = &>, + RESTRICT = positionsel, + JOIN = positionjoinsel +); + + +ALTER OPERATOR public.&< (geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 1893 (class 2617 OID 19179) +-- Dependencies: 1102 214 1102 6 +-- Name: &<|; Type: OPERATOR; Schema: public; Owner: postgres +-- + +CREATE OPERATOR &<| ( + PROCEDURE = geometry_overbelow, + LEFTARG = geometry, + RIGHTARG = geometry, + COMMUTATOR = |&>, + RESTRICT = positionsel, + JOIN = positionjoinsel +); + + +ALTER OPERATOR public.&<| (geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 1894 (class 2617 OID 19176) +-- Dependencies: 1102 1102 217 6 +-- Name: &>; Type: OPERATOR; Schema: public; Owner: postgres +-- + +CREATE OPERATOR &> ( + PROCEDURE = geometry_overright, + LEFTARG = geometry, + RIGHTARG = geometry, + COMMUTATOR = &<, + RESTRICT = positionsel, + JOIN = positionjoinsel +); + + +ALTER OPERATOR public.&> (geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 1895 (class 2617 OID 19182) +-- Dependencies: 6 1102 212 1102 +-- Name: <; Type: OPERATOR; Schema: public; Owner: postgres +-- + +CREATE OPERATOR < ( + PROCEDURE = geometry_lt, + LEFTARG = geometry, + RIGHTARG = geometry, + COMMUTATOR = >, + NEGATOR = >=, + RESTRICT = contsel, + JOIN = contjoinsel +); + + +ALTER OPERATOR public.< (geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 1898 (class 2617 OID 19185) +-- Dependencies: 184 1099 6 1099 +-- Name: <; Type: OPERATOR; Schema: public; Owner: postgres +-- + +CREATE OPERATOR < ( + PROCEDURE = geography_lt, + LEFTARG = geography, + RIGHTARG = geography, + COMMUTATOR = >, + NEGATOR = >=, + RESTRICT = contsel, + JOIN = contjoinsel +); + + +ALTER OPERATOR public.< (geography, geography) OWNER TO postgres; + +-- +-- TOC entry 1899 (class 2617 OID 19187) +-- Dependencies: 1102 6 211 1102 +-- Name: <<; Type: OPERATOR; Schema: public; Owner: postgres +-- + +CREATE OPERATOR << ( + PROCEDURE = geometry_left, + LEFTARG = geometry, + RIGHTARG = geometry, + COMMUTATOR = >>, + RESTRICT = positionsel, + JOIN = positionjoinsel +); + + +ALTER OPERATOR public.<< (geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 1900 (class 2617 OID 19189) +-- Dependencies: 201 1102 6 1102 +-- Name: <<|; Type: OPERATOR; Schema: public; Owner: postgres +-- + +CREATE OPERATOR <<| ( + PROCEDURE = geometry_below, + LEFTARG = geometry, + RIGHTARG = geometry, + COMMUTATOR = |>>, + RESTRICT = positionsel, + JOIN = positionjoinsel +); + + +ALTER OPERATOR public.<<| (geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 1901 (class 2617 OID 19190) +-- Dependencies: 1102 210 6 1102 +-- Name: <=; Type: OPERATOR; Schema: public; Owner: postgres +-- + +CREATE OPERATOR <= ( + PROCEDURE = geometry_le, + LEFTARG = geometry, + RIGHTARG = geometry, + COMMUTATOR = >=, + NEGATOR = >, + RESTRICT = contsel, + JOIN = contjoinsel +); + + +ALTER OPERATOR public.<= (geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 1902 (class 2617 OID 19191) +-- Dependencies: 1099 6 183 1099 +-- Name: <=; Type: OPERATOR; Schema: public; Owner: postgres +-- + +CREATE OPERATOR <= ( + PROCEDURE = geography_le, + LEFTARG = geography, + RIGHTARG = geography, + COMMUTATOR = >=, + NEGATOR = >, + RESTRICT = contsel, + JOIN = contjoinsel +); + + +ALTER OPERATOR public.<= (geography, geography) OWNER TO postgres; + +-- +-- TOC entry 1903 (class 2617 OID 19192) +-- Dependencies: 205 1102 6 1102 +-- Name: =; Type: OPERATOR; Schema: public; Owner: postgres +-- + +CREATE OPERATOR = ( + PROCEDURE = geometry_eq, + LEFTARG = geometry, + RIGHTARG = geometry, + COMMUTATOR = =, + RESTRICT = contsel, + JOIN = contjoinsel +); + + +ALTER OPERATOR public.= (geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 1904 (class 2617 OID 19193) +-- Dependencies: 1099 6 171 1099 +-- Name: =; Type: OPERATOR; Schema: public; Owner: postgres +-- + +CREATE OPERATOR = ( + PROCEDURE = geography_eq, + LEFTARG = geography, + RIGHTARG = geography, + COMMUTATOR = =, + RESTRICT = contsel, + JOIN = contjoinsel +); + + +ALTER OPERATOR public.= (geography, geography) OWNER TO postgres; + +-- +-- TOC entry 1896 (class 2617 OID 19180) +-- Dependencies: 1102 6 1102 209 +-- Name: >; Type: OPERATOR; Schema: public; Owner: postgres +-- + +CREATE OPERATOR > ( + PROCEDURE = geometry_gt, + LEFTARG = geometry, + RIGHTARG = geometry, + COMMUTATOR = <, + NEGATOR = <=, + RESTRICT = contsel, + JOIN = contjoinsel +); + + +ALTER OPERATOR public.> (geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 1905 (class 2617 OID 19183) +-- Dependencies: 1099 6 182 1099 +-- Name: >; Type: OPERATOR; Schema: public; Owner: postgres +-- + +CREATE OPERATOR > ( + PROCEDURE = geography_gt, + LEFTARG = geography, + RIGHTARG = geography, + COMMUTATOR = <, + NEGATOR = <=, + RESTRICT = contsel, + JOIN = contjoinsel +); + + +ALTER OPERATOR public.> (geography, geography) OWNER TO postgres; + +-- +-- TOC entry 1906 (class 2617 OID 19181) +-- Dependencies: 1102 1102 6 206 +-- Name: >=; Type: OPERATOR; Schema: public; Owner: postgres +-- + +CREATE OPERATOR >= ( + PROCEDURE = geometry_ge, + LEFTARG = geometry, + RIGHTARG = geometry, + COMMUTATOR = <=, + NEGATOR = <, + RESTRICT = contsel, + JOIN = contjoinsel +); + + +ALTER OPERATOR public.>= (geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 1907 (class 2617 OID 19184) +-- Dependencies: 1099 172 1099 6 +-- Name: >=; Type: OPERATOR; Schema: public; Owner: postgres +-- + +CREATE OPERATOR >= ( + PROCEDURE = geography_ge, + LEFTARG = geography, + RIGHTARG = geography, + COMMUTATOR = <=, + NEGATOR = <, + RESTRICT = contsel, + JOIN = contjoinsel +); + + +ALTER OPERATOR public.>= (geography, geography) OWNER TO postgres; + +-- +-- TOC entry 1908 (class 2617 OID 19186) +-- Dependencies: 6 218 1102 1102 +-- Name: >>; Type: OPERATOR; Schema: public; Owner: postgres +-- + +CREATE OPERATOR >> ( + PROCEDURE = geometry_right, + LEFTARG = geometry, + RIGHTARG = geometry, + COMMUTATOR = <<, + RESTRICT = positionsel, + JOIN = positionjoinsel +); + + +ALTER OPERATOR public.>> (geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 1909 (class 2617 OID 19195) +-- Dependencies: 1102 6 1102 204 +-- Name: @; Type: OPERATOR; Schema: public; Owner: postgres +-- + +CREATE OPERATOR @ ( + PROCEDURE = geometry_contained, + LEFTARG = geometry, + RIGHTARG = geometry, + COMMUTATOR = ~, + RESTRICT = contsel, + JOIN = contjoinsel +); + + +ALTER OPERATOR public.@ (geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 1897 (class 2617 OID 19178) +-- Dependencies: 1102 6 213 1102 +-- Name: |&>; Type: OPERATOR; Schema: public; Owner: postgres +-- + +CREATE OPERATOR |&> ( + PROCEDURE = geometry_overabove, + LEFTARG = geometry, + RIGHTARG = geometry, + COMMUTATOR = &<|, + RESTRICT = positionsel, + JOIN = positionjoinsel +); + + +ALTER OPERATOR public.|&> (geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 1910 (class 2617 OID 19188) +-- Dependencies: 1102 6 1102 200 +-- Name: |>>; Type: OPERATOR; Schema: public; Owner: postgres +-- + +CREATE OPERATOR |>> ( + PROCEDURE = geometry_above, + LEFTARG = geometry, + RIGHTARG = geometry, + COMMUTATOR = <<|, + RESTRICT = positionsel, + JOIN = positionjoinsel +); + + +ALTER OPERATOR public.|>> (geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 1911 (class 2617 OID 19194) +-- Dependencies: 6 1102 1102 203 +-- Name: ~; Type: OPERATOR; Schema: public; Owner: postgres +-- + +CREATE OPERATOR ~ ( + PROCEDURE = geometry_contain, + LEFTARG = geometry, + RIGHTARG = geometry, + COMMUTATOR = @, + RESTRICT = contsel, + JOIN = contjoinsel +); + + +ALTER OPERATOR public.~ (geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 1912 (class 2617 OID 19196) +-- Dependencies: 1102 220 1102 6 +-- Name: ~=; Type: OPERATOR; Schema: public; Owner: postgres +-- + +CREATE OPERATOR ~= ( + PROCEDURE = geometry_samebox, + LEFTARG = geometry, + RIGHTARG = geometry, + COMMUTATOR = ~=, + RESTRICT = eqsel, + JOIN = eqjoinsel +); + + +ALTER OPERATOR public.~= (geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 2025 (class 2616 OID 19198) +-- Dependencies: 1099 2136 6 +-- Name: btree_geography_ops; Type: OPERATOR CLASS; Schema: public; Owner: postgres +-- + +CREATE OPERATOR CLASS btree_geography_ops + DEFAULT FOR TYPE geography USING btree AS + OPERATOR 1 <(geography,geography) , + OPERATOR 2 <=(geography,geography) , + OPERATOR 3 =(geography,geography) , + OPERATOR 4 >=(geography,geography) , + OPERATOR 5 >(geography,geography) , + FUNCTION 1 geography_cmp(geography,geography); + + +ALTER OPERATOR CLASS public.btree_geography_ops USING btree OWNER TO postgres; + +-- +-- TOC entry 2026 (class 2616 OID 19206) +-- Dependencies: 6 1102 2137 +-- Name: btree_geometry_ops; Type: OPERATOR CLASS; Schema: public; Owner: postgres +-- + +CREATE OPERATOR CLASS btree_geometry_ops + DEFAULT FOR TYPE geometry USING btree AS + OPERATOR 1 <(geometry,geometry) , + OPERATOR 2 <=(geometry,geometry) , + OPERATOR 3 =(geometry,geometry) , + OPERATOR 4 >=(geometry,geometry) , + OPERATOR 5 >(geometry,geometry) , + FUNCTION 1 geometry_cmp(geometry,geometry); + + +ALTER OPERATOR CLASS public.btree_geometry_ops USING btree OWNER TO postgres; + +-- +-- TOC entry 2027 (class 2616 OID 19214) +-- Dependencies: 2138 6 1099 1107 +-- Name: gist_geography_ops; Type: OPERATOR CLASS; Schema: public; Owner: postgres +-- + +CREATE OPERATOR CLASS gist_geography_ops + DEFAULT FOR TYPE geography USING gist AS + STORAGE gidx , + OPERATOR 3 &&(geography,geography) , + FUNCTION 1 geography_gist_consistent(internal,geometry,integer) , + FUNCTION 2 geography_gist_union(bytea,internal) , + FUNCTION 3 geography_gist_compress(internal) , + FUNCTION 4 geography_gist_decompress(internal) , + FUNCTION 5 geography_gist_penalty(internal,internal,internal) , + FUNCTION 6 geography_gist_picksplit(internal,internal) , + FUNCTION 7 geography_gist_same(box2d,box2d,internal); + + +ALTER OPERATOR CLASS public.gist_geography_ops USING gist OWNER TO postgres; + +-- +-- TOC entry 2028 (class 2616 OID 19224) +-- Dependencies: 6 1087 1102 2139 +-- Name: gist_geometry_ops; Type: OPERATOR CLASS; Schema: public; Owner: postgres +-- + +CREATE OPERATOR CLASS gist_geometry_ops + DEFAULT FOR TYPE geometry USING gist AS + STORAGE box2d , + OPERATOR 1 <<(geometry,geometry) , + OPERATOR 2 &<(geometry,geometry) , + OPERATOR 3 &&(geometry,geometry) , + OPERATOR 4 &>(geometry,geometry) , + OPERATOR 5 >>(geometry,geometry) , + OPERATOR 6 ~=(geometry,geometry) , + OPERATOR 7 ~(geometry,geometry) , + OPERATOR 8 @(geometry,geometry) , + OPERATOR 9 &<|(geometry,geometry) , + OPERATOR 10 <<|(geometry,geometry) , + OPERATOR 11 |>>(geometry,geometry) , + OPERATOR 12 |&>(geometry,geometry) , + FUNCTION 1 lwgeom_gist_consistent(internal,geometry,integer) , + FUNCTION 2 lwgeom_gist_union(bytea,internal) , + FUNCTION 3 lwgeom_gist_compress(internal) , + FUNCTION 4 lwgeom_gist_decompress(internal) , + FUNCTION 5 lwgeom_gist_penalty(internal,internal,internal) , + FUNCTION 6 lwgeom_gist_picksplit(internal,internal) , + FUNCTION 7 lwgeom_gist_same(box2d,box2d,internal); + + +ALTER OPERATOR CLASS public.gist_geometry_ops USING gist OWNER TO postgres; + +SET search_path = pg_catalog; + +-- +-- TOC entry 2708 (class 2605 OID 19244) +-- Dependencies: 110 1090 1087 110 +-- Name: CAST (public.box2d AS public.box3d); Type: CAST; Schema: pg_catalog; Owner: +-- + +CREATE CAST (public.box2d AS public.box3d) WITH FUNCTION public.box3d(public.box2d) AS IMPLICIT; + + +-- +-- TOC entry 2709 (class 2605 OID 19245) +-- Dependencies: 194 1087 1102 194 +-- Name: CAST (public.box2d AS public.geometry); Type: CAST; Schema: pg_catalog; Owner: +-- + +CREATE CAST (public.box2d AS public.geometry) WITH FUNCTION public.geometry(public.box2d) AS IMPLICIT; + + +-- +-- TOC entry 2710 (class 2605 OID 19246) +-- Dependencies: 105 105 1090 +-- Name: CAST (public.box3d AS box); Type: CAST; Schema: pg_catalog; Owner: +-- + +CREATE CAST (public.box3d AS box) WITH FUNCTION public.box(public.box3d) AS IMPLICIT; + + +-- +-- TOC entry 2711 (class 2605 OID 19247) +-- Dependencies: 108 1087 1090 108 +-- Name: CAST (public.box3d AS public.box2d); Type: CAST; Schema: pg_catalog; Owner: +-- + +CREATE CAST (public.box3d AS public.box2d) WITH FUNCTION public.box2d(public.box3d) AS IMPLICIT; + + +-- +-- TOC entry 2712 (class 2605 OID 19248) +-- Dependencies: 195 195 1102 1090 +-- Name: CAST (public.box3d AS public.geometry); Type: CAST; Schema: pg_catalog; Owner: +-- + +CREATE CAST (public.box3d AS public.geometry) WITH FUNCTION public.geometry(public.box3d) AS IMPLICIT; + + +-- +-- TOC entry 2713 (class 2605 OID 19249) +-- Dependencies: 106 1087 1093 106 +-- Name: CAST (public.box3d_extent AS public.box2d); Type: CAST; Schema: pg_catalog; Owner: +-- + +CREATE CAST (public.box3d_extent AS public.box2d) WITH FUNCTION public.box2d(public.box3d_extent) AS IMPLICIT; + + +-- +-- TOC entry 2714 (class 2605 OID 19250) +-- Dependencies: 111 1090 1093 111 +-- Name: CAST (public.box3d_extent AS public.box3d); Type: CAST; Schema: pg_catalog; Owner: +-- + +CREATE CAST (public.box3d_extent AS public.box3d) WITH FUNCTION public.box3d_extent(public.box3d_extent) AS IMPLICIT; + + +-- +-- TOC entry 2715 (class 2605 OID 19251) +-- Dependencies: 193 1102 193 1093 +-- Name: CAST (public.box3d_extent AS public.geometry); Type: CAST; Schema: pg_catalog; Owner: +-- + +CREATE CAST (public.box3d_extent AS public.geometry) WITH FUNCTION public.geometry(public.box3d_extent) AS IMPLICIT; + + +-- +-- TOC entry 2519 (class 2605 OID 19252) +-- Dependencies: 198 198 1102 +-- Name: CAST (bytea AS public.geometry); Type: CAST; Schema: pg_catalog; Owner: +-- + +CREATE CAST (bytea AS public.geometry) WITH FUNCTION public.geometry(bytea) AS IMPLICIT; + + +-- +-- TOC entry 2716 (class 2605 OID 19253) +-- Dependencies: 197 1102 197 1096 +-- Name: CAST (public.chip AS public.geometry); Type: CAST; Schema: pg_catalog; Owner: +-- + +CREATE CAST (public.chip AS public.geometry) WITH FUNCTION public.geometry(public.chip) AS IMPLICIT; + + +-- +-- TOC entry 2717 (class 2605 OID 19254) +-- Dependencies: 168 1099 168 1099 +-- Name: CAST (public.geography AS public.geography); Type: CAST; Schema: pg_catalog; Owner: +-- + +CREATE CAST (public.geography AS public.geography) WITH FUNCTION public.geography(public.geography, integer, boolean) AS IMPLICIT; + + +-- +-- TOC entry 2718 (class 2605 OID 19255) +-- Dependencies: 199 1102 199 1099 +-- Name: CAST (public.geography AS public.geometry); Type: CAST; Schema: pg_catalog; Owner: +-- + +CREATE CAST (public.geography AS public.geometry) WITH FUNCTION public.geometry(public.geography); + + +-- +-- TOC entry 2721 (class 2605 OID 19256) +-- Dependencies: 104 104 1102 +-- Name: CAST (public.geometry AS box); Type: CAST; Schema: pg_catalog; Owner: +-- + +CREATE CAST (public.geometry AS box) WITH FUNCTION public.box(public.geometry) AS IMPLICIT; + + +-- +-- TOC entry 2722 (class 2605 OID 19257) +-- Dependencies: 107 107 1102 1087 +-- Name: CAST (public.geometry AS public.box2d); Type: CAST; Schema: pg_catalog; Owner: +-- + +CREATE CAST (public.geometry AS public.box2d) WITH FUNCTION public.box2d(public.geometry) AS IMPLICIT; + + +-- +-- TOC entry 2723 (class 2605 OID 19258) +-- Dependencies: 109 1090 1102 109 +-- Name: CAST (public.geometry AS public.box3d); Type: CAST; Schema: pg_catalog; Owner: +-- + +CREATE CAST (public.geometry AS public.box3d) WITH FUNCTION public.box3d(public.geometry) AS IMPLICIT; + + +-- +-- TOC entry 2719 (class 2605 OID 19259) +-- Dependencies: 116 1102 116 +-- Name: CAST (public.geometry AS bytea); Type: CAST; Schema: pg_catalog; Owner: +-- + +CREATE CAST (public.geometry AS bytea) WITH FUNCTION public.bytea(public.geometry) AS IMPLICIT; + + +-- +-- TOC entry 2724 (class 2605 OID 19260) +-- Dependencies: 169 1099 1102 169 +-- Name: CAST (public.geometry AS public.geography); Type: CAST; Schema: pg_catalog; Owner: +-- + +CREATE CAST (public.geometry AS public.geography) WITH FUNCTION public.geography(public.geometry) AS IMPLICIT; + + +-- +-- TOC entry 2720 (class 2605 OID 19261) +-- Dependencies: 777 777 1102 +-- Name: CAST (public.geometry AS text); Type: CAST; Schema: pg_catalog; Owner: +-- + +CREATE CAST (public.geometry AS text) WITH FUNCTION public.text(public.geometry) AS IMPLICIT; + + +-- +-- TOC entry 2585 (class 2605 OID 19262) +-- Dependencies: 196 196 1102 +-- Name: CAST (text AS public.geometry); Type: CAST; Schema: pg_catalog; Owner: +-- + +CREATE CAST (text AS public.geometry) WITH FUNCTION public.geometry(text) AS IMPLICIT; + + +SET search_path = public, pg_catalog; + +SET default_tablespace = ''; + +SET default_with_oids = false; + +-- +-- TOC entry 2427 (class 1259 OID 40481) +-- Dependencies: 6 +-- Name: agency; Type: TABLE; Schema: public; Owner: postgres; Tablespace: +-- + +CREATE TABLE agency ( + agency_name text NOT NULL, + agency_url text, + agency_timezone text, + agency_lang text, + agency_phone text +); + + +ALTER TABLE public.agency OWNER TO postgres; + +-- +-- TOC entry 2408 (class 1259 OID 19269) +-- Dependencies: 6 +-- Name: calendar; Type: TABLE; Schema: public; Owner: postgres; Tablespace: +-- + +CREATE TABLE calendar ( + service_id text NOT NULL, + start_date text, + end_date text, + monday integer, + tuesday integer, + wednesday integer, + thursday integer, + friday integer, + saturday integer, + sunday integer +); + + +ALTER TABLE public.calendar OWNER TO postgres; + +-- +-- TOC entry 2409 (class 1259 OID 19275) +-- Dependencies: 6 +-- Name: calendar_dates; Type: TABLE; Schema: public; Owner: postgres; Tablespace: +-- + +CREATE TABLE calendar_dates ( + service_id text NOT NULL, + date text NOT NULL, + exception_type text +); + + +ALTER TABLE public.calendar_dates OWNER TO postgres; + +-- +-- TOC entry 2410 (class 1259 OID 19281) +-- Dependencies: 2514 6 +-- Name: geography_columns; Type: VIEW; Schema: public; Owner: postgres +-- + +CREATE VIEW geography_columns AS + SELECT current_database() AS f_table_catalog, n.nspname AS f_table_schema, c.relname AS f_table_name, a.attname AS f_geography_column, geography_typmod_dims(a.atttypmod) AS coord_dimension, geography_typmod_srid(a.atttypmod) AS srid, geography_typmod_type(a.atttypmod) AS type FROM pg_class c, pg_attribute a, pg_type t, pg_namespace n WHERE ((((((c.relkind = ANY (ARRAY['r'::"char", 'v'::"char"])) AND (t.typname = 'geography'::name)) AND (a.attisdropped = false)) AND (a.atttypid = t.oid)) AND (a.attrelid = c.oid)) AND (c.relnamespace = n.oid)); + + +ALTER TABLE public.geography_columns OWNER TO postgres; + +SET default_with_oids = true; + +-- +-- TOC entry 2411 (class 1259 OID 19286) +-- Dependencies: 6 +-- Name: geometry_columns; Type: TABLE; Schema: public; Owner: postgres; Tablespace: +-- + +CREATE TABLE geometry_columns ( + f_table_catalog character varying(256) NOT NULL, + f_table_schema character varying(256) NOT NULL, + f_table_name character varying(256) NOT NULL, + f_geometry_column character varying(256) NOT NULL, + coord_dimension integer NOT NULL, + srid integer NOT NULL, + type character varying(30) NOT NULL +); + + +ALTER TABLE public.geometry_columns OWNER TO postgres; + +SET default_with_oids = false; + +-- +-- TOC entry 2412 (class 1259 OID 19292) +-- Dependencies: 6 +-- Name: myway_observations; Type: TABLE; Schema: public; Owner: postgres; Tablespace: +-- + +CREATE TABLE myway_observations ( + observation_id text NOT NULL, + myway_stop text, + "time" timestamp with time zone, + myway_route text +); + + +ALTER TABLE public.myway_observations OWNER TO postgres; + +-- +-- TOC entry 2413 (class 1259 OID 19298) +-- Dependencies: 6 +-- Name: myway_routes; Type: TABLE; Schema: public; Owner: postgres; Tablespace: +-- + +CREATE TABLE myway_routes ( + myway_route text NOT NULL, + route_full_name text +); + + +ALTER TABLE public.myway_routes OWNER TO postgres; + +-- +-- TOC entry 2414 (class 1259 OID 19304) +-- Dependencies: 2413 6 +-- Name: myway_routes_myway_route_seq; Type: SEQUENCE; Schema: public; Owner: postgres +-- + +CREATE SEQUENCE myway_routes_myway_route_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1; + + +ALTER TABLE public.myway_routes_myway_route_seq OWNER TO postgres; + +-- +-- TOC entry 2769 (class 0 OID 0) +-- Dependencies: 2414 +-- Name: myway_routes_myway_route_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: postgres +-- + +ALTER SEQUENCE myway_routes_myway_route_seq OWNED BY myway_routes.myway_route; + + +-- +-- TOC entry 2415 (class 1259 OID 19306) +-- Dependencies: 2413 6 +-- Name: myway_routes_route_full_name_seq; Type: SEQUENCE; Schema: public; Owner: postgres +-- + +CREATE SEQUENCE myway_routes_route_full_name_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1; + + +ALTER TABLE public.myway_routes_route_full_name_seq OWNER TO postgres; + +-- +-- TOC entry 2770 (class 0 OID 0) +-- Dependencies: 2415 +-- Name: myway_routes_route_full_name_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: postgres +-- + +ALTER SEQUENCE myway_routes_route_full_name_seq OWNED BY myway_routes.route_full_name; + + +-- +-- TOC entry 2416 (class 1259 OID 19314) +-- Dependencies: 6 +-- Name: myway_timingdeltas; Type: TABLE; Schema: public; Owner: postgres; Tablespace: +-- + +CREATE TABLE myway_timingdeltas ( + observation_id text NOT NULL, + route_full_name text, + stop_code text, + timing_delta integer, + "time" time with time zone, + date date, + timing_period text, + stop_sequence integer +); + + +ALTER TABLE public.myway_timingdeltas OWNER TO postgres; + +-- +-- TOC entry 2417 (class 1259 OID 19320) +-- Dependencies: 6 2416 +-- Name: myway_timingdeltas_timing_period_seq; Type: SEQUENCE; Schema: public; Owner: postgres +-- + +CREATE SEQUENCE myway_timingdeltas_timing_period_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1; + + +ALTER TABLE public.myway_timingdeltas_timing_period_seq OWNER TO postgres; + +-- +-- TOC entry 2771 (class 0 OID 0) +-- Dependencies: 2417 +-- Name: myway_timingdeltas_timing_period_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: postgres +-- + +ALTER SEQUENCE myway_timingdeltas_timing_period_seq OWNED BY myway_timingdeltas.timing_period; + + +-- +-- TOC entry 2424 (class 1259 OID 40443) +-- Dependencies: 6 +-- Name: routes; Type: TABLE; Schema: public; Owner: postgres; Tablespace: +-- + +CREATE TABLE routes ( + route_id text NOT NULL, + route_short_name text, + route_long_name text, + route_desc text, + route_type integer, + route_url text, + route_text_color text, + route_color text +); + + +ALTER TABLE public.routes OWNER TO postgres; + +-- +-- TOC entry 2418 (class 1259 OID 19328) +-- Dependencies: 6 +-- Name: servicealerts_alerts; Type: TABLE; Schema: public; Owner: postgres; Tablespace: +-- + +CREATE TABLE servicealerts_alerts ( + id integer NOT NULL, + url text, + description text, + start timestamp with time zone, + "end" timestamp with time zone +); + + +ALTER TABLE public.servicealerts_alerts OWNER TO postgres; + +-- +-- TOC entry 2419 (class 1259 OID 19334) +-- Dependencies: 6 2418 +-- Name: servicealerts_alerts_id_seq; Type: SEQUENCE; Schema: public; Owner: postgres +-- + +CREATE SEQUENCE servicealerts_alerts_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1; + + +ALTER TABLE public.servicealerts_alerts_id_seq OWNER TO postgres; + +-- +-- TOC entry 2772 (class 0 OID 0) +-- Dependencies: 2419 +-- Name: servicealerts_alerts_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: postgres +-- + +ALTER SEQUENCE servicealerts_alerts_id_seq OWNED BY servicealerts_alerts.id; + + +-- +-- TOC entry 2420 (class 1259 OID 19336) +-- Dependencies: 6 +-- Name: servicealerts_informed; Type: TABLE; Schema: public; Owner: postgres; Tablespace: +-- + +CREATE TABLE servicealerts_informed ( + servicealert_id integer NOT NULL, + informed_class text NOT NULL, + informed_id text NOT NULL, + informed_action text +); + + +ALTER TABLE public.servicealerts_informed OWNER TO postgres; + +-- +-- TOC entry 2421 (class 1259 OID 19342) +-- Dependencies: 6 +-- Name: shapes; Type: TABLE; Schema: public; Owner: postgres; Tablespace: +-- + +CREATE TABLE shapes ( + shape_id text NOT NULL, + shape_pt_lat double precision, + shape_pt_lon double precision, + shape_pt_sequence integer NOT NULL, + shape_dist_traveled integer +); + + +ALTER TABLE public.shapes OWNER TO postgres; + +-- +-- TOC entry 2422 (class 1259 OID 19348) +-- Dependencies: 6 +-- Name: spatial_ref_sys; Type: TABLE; Schema: public; Owner: postgres; Tablespace: +-- + +CREATE TABLE spatial_ref_sys ( + srid integer NOT NULL, + auth_name character varying(256), + auth_srid integer, + srtext character varying(2048), + proj4text character varying(2048) +); + + +ALTER TABLE public.spatial_ref_sys OWNER TO postgres; + +-- +-- TOC entry 2423 (class 1259 OID 20682) +-- Dependencies: 6 +-- Name: stop_times; Type: TABLE; Schema: public; Owner: postgres; Tablespace: +-- + +CREATE TABLE stop_times ( + trip_id text NOT NULL, + arrival_time time without time zone, + departure_time time without time zone, + stop_id text, + stop_sequence integer NOT NULL, + stop_headsign text, + pickup_type text, + drop_off_type text, + shape_dist_travelled text +); + + +ALTER TABLE public.stop_times OWNER TO postgres; + +-- +-- TOC entry 2425 (class 1259 OID 40452) +-- Dependencies: 1099 6 +-- Name: stops; Type: TABLE; Schema: public; Owner: postgres; Tablespace: +-- + +CREATE TABLE stops ( + stop_id text NOT NULL, + stop_code text, + stop_name text, + stop_desc text, + stop_lat double precision, + stop_lon double precision, + zone_id text, + stop_url text, + location_type integer, + "position" geography +); + + +ALTER TABLE public.stops OWNER TO postgres; + +-- +-- TOC entry 2426 (class 1259 OID 40466) +-- Dependencies: 6 +-- Name: trips; Type: TABLE; Schema: public; Owner: postgres; Tablespace: +-- + +CREATE TABLE trips ( + route_id text, + service_id text, + trip_id text NOT NULL, + trip_headsign text, + direction_id text, + block_id text, + shape_id text +); + + +ALTER TABLE public.trips OWNER TO postgres; + +-- +-- TOC entry 2725 (class 2604 OID 19372) +-- Dependencies: 2419 2418 +-- Name: id; Type: DEFAULT; Schema: public; Owner: postgres +-- + +ALTER TABLE servicealerts_alerts ALTER COLUMN id SET DEFAULT nextval('servicealerts_alerts_id_seq'::regclass); + + +-- +-- TOC entry 2762 (class 2606 OID 40488) +-- Dependencies: 2427 2427 +-- Name: agency_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres; Tablespace: +-- + +ALTER TABLE ONLY agency + ADD CONSTRAINT agency_pkey PRIMARY KEY (agency_name); + + +-- +-- TOC entry 2729 (class 2606 OID 19376) +-- Dependencies: 2409 2409 2409 +-- Name: calendar_dates_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres; Tablespace: +-- + +ALTER TABLE ONLY calendar_dates + ADD CONSTRAINT calendar_dates_pkey PRIMARY KEY (service_id, date); + + +-- +-- TOC entry 2727 (class 2606 OID 19378) +-- Dependencies: 2408 2408 +-- Name: calendar_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres; Tablespace: +-- + +ALTER TABLE ONLY calendar + ADD CONSTRAINT calendar_pkey PRIMARY KEY (service_id); + + +-- +-- TOC entry 2731 (class 2606 OID 19380) +-- Dependencies: 2411 2411 2411 2411 2411 +-- Name: geometry_columns_pk; Type: CONSTRAINT; Schema: public; Owner: postgres; Tablespace: +-- + +ALTER TABLE ONLY geometry_columns + ADD CONSTRAINT geometry_columns_pk PRIMARY KEY (f_table_catalog, f_table_schema, f_table_name, f_geometry_column); + + +-- +-- TOC entry 2733 (class 2606 OID 19382) +-- Dependencies: 2412 2412 +-- Name: myway_observations_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres; Tablespace: +-- + +ALTER TABLE ONLY myway_observations + ADD CONSTRAINT myway_observations_pkey PRIMARY KEY (observation_id); + + +-- +-- TOC entry 2735 (class 2606 OID 19384) +-- Dependencies: 2413 2413 +-- Name: myway_routes_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres; Tablespace: +-- + +ALTER TABLE ONLY myway_routes + ADD CONSTRAINT myway_routes_pkey PRIMARY KEY (myway_route); + + +-- +-- TOC entry 2737 (class 2606 OID 19386) +-- Dependencies: 2416 2416 +-- Name: myway_timingdeltas_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres; Tablespace: +-- + +ALTER TABLE ONLY myway_timingdeltas + ADD CONSTRAINT myway_timingdeltas_pkey PRIMARY KEY (observation_id); + + +-- +-- TOC entry 2753 (class 2606 OID 40450) +-- Dependencies: 2424 2424 +-- Name: routes_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres; Tablespace: +-- + +ALTER TABLE ONLY routes + ADD CONSTRAINT routes_pkey PRIMARY KEY (route_id); + + +-- +-- TOC entry 2739 (class 2606 OID 19392) +-- Dependencies: 2418 2418 +-- Name: servicealerts_alerts_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres; Tablespace: +-- + +ALTER TABLE ONLY servicealerts_alerts + ADD CONSTRAINT servicealerts_alerts_pkey PRIMARY KEY (id); + + +-- +-- TOC entry 2741 (class 2606 OID 19394) +-- Dependencies: 2420 2420 2420 2420 +-- Name: servicealerts_informed_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres; Tablespace: +-- + +ALTER TABLE ONLY servicealerts_informed + ADD CONSTRAINT servicealerts_informed_pkey PRIMARY KEY (servicealert_id, informed_class, informed_id); + + +-- +-- TOC entry 2743 (class 2606 OID 19396) +-- Dependencies: 2421 2421 2421 +-- Name: shapes_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres; Tablespace: +-- + +ALTER TABLE ONLY shapes + ADD CONSTRAINT shapes_pkey PRIMARY KEY (shape_id, shape_pt_sequence); + + +-- +-- TOC entry 2745 (class 2606 OID 19398) +-- Dependencies: 2422 2422 +-- Name: spatial_ref_sys_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres; Tablespace: +-- + +ALTER TABLE ONLY spatial_ref_sys + ADD CONSTRAINT spatial_ref_sys_pkey PRIMARY KEY (srid); + + +-- +-- TOC entry 2748 (class 2606 OID 40421) +-- Dependencies: 2423 2423 2423 +-- Name: stop_times_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres; Tablespace: +-- + +ALTER TABLE ONLY stop_times + ADD CONSTRAINT stop_times_pkey PRIMARY KEY (trip_id, stop_sequence); + + +-- +-- TOC entry 2755 (class 2606 OID 40459) +-- Dependencies: 2425 2425 +-- Name: stops_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres; Tablespace: +-- + +ALTER TABLE ONLY stops + ADD CONSTRAINT stops_pkey PRIMARY KEY (stop_id); + + +-- +-- TOC entry 2757 (class 2606 OID 40461) +-- Dependencies: 2425 2425 +-- Name: stops_stop_code_key; Type: CONSTRAINT; Schema: public; Owner: postgres; Tablespace: +-- + +ALTER TABLE ONLY stops + ADD CONSTRAINT stops_stop_code_key UNIQUE (stop_code); + + +-- +-- TOC entry 2760 (class 2606 OID 40473) +-- Dependencies: 2426 2426 +-- Name: trips_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres; Tablespace: +-- + +ALTER TABLE ONLY trips + ADD CONSTRAINT trips_pkey PRIMARY KEY (trip_id); + + +-- +-- TOC entry 2751 (class 1259 OID 40451) +-- Dependencies: 2424 +-- Name: routenumber; Type: INDEX; Schema: public; Owner: postgres; Tablespace: +-- + +CREATE INDEX routenumber ON routes USING btree (route_short_name); + + +-- +-- TOC entry 2758 (class 1259 OID 40474) +-- Dependencies: 2426 +-- Name: routetrips; Type: INDEX; Schema: public; Owner: postgres; Tablespace: +-- + +CREATE INDEX routetrips ON trips USING btree (route_id); + + +-- +-- TOC entry 2746 (class 1259 OID 40418) +-- Dependencies: 2423 2423 2423 +-- Name: starttime; Type: INDEX; Schema: public; Owner: postgres; Tablespace: +-- + +CREATE UNIQUE INDEX starttime ON stop_times USING btree (trip_id, stop_id, stop_sequence); + + +-- +-- TOC entry 2749 (class 1259 OID 40406) +-- Dependencies: 2423 2423 +-- Name: stoptimes; Type: INDEX; Schema: public; Owner: postgres; Tablespace: +-- + +CREATE INDEX stoptimes ON stop_times USING btree (arrival_time, stop_id); + + +-- +-- TOC entry 2750 (class 1259 OID 40419) +-- Dependencies: 2423 2423 +-- Name: triptimes; Type: INDEX; Schema: public; Owner: postgres; Tablespace: +-- + +CREATE INDEX triptimes ON stop_times USING btree (trip_id, arrival_time); + + +-- +-- TOC entry 2763 (class 2606 OID 19412) +-- Dependencies: 2418 2420 2738 +-- Name: servicealerts_alertid; Type: FK CONSTRAINT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY servicealerts_informed + ADD CONSTRAINT servicealerts_alertid FOREIGN KEY (servicealert_id) REFERENCES servicealerts_alerts(id); + + +-- +-- TOC entry 2768 (class 0 OID 0) +-- Dependencies: 6 +-- Name: public; Type: ACL; Schema: -; Owner: postgres +-- + +REVOKE ALL ON SCHEMA public FROM PUBLIC; +REVOKE ALL ON SCHEMA public FROM postgres; +GRANT ALL ON SCHEMA public TO postgres; +GRANT ALL ON SCHEMA public TO PUBLIC; + + +-- Completed on 2011-10-10 16:28:14 + +-- +-- PostgreSQL database dump complete +-- + + --- a/css/jquery.mobile-1.0b1.css +++ /dev/null @@ -1,1662 +1,1 @@ -/*! - * jQuery Mobile v1.0b1 - * http://jquerymobile.com/ - * - * Copyright 2010, jQuery Project - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - */ -/* -* jQuery Mobile Framework -* Copyright (c) jQuery Project -* Dual licensed under the MIT (MIT-LICENSE.txt) and GPL (GPL-LICENSE.txt) licenses. -* Note: Code is in draft form and is subject to change -*/ - -/* A ------------------------------------------------------------------------------------------------------------*/ - -.ui-bar-a { - border: 1px solid #2A2A2A; - background: #111111; - color: #ffffff; - font-weight: bold; - text-shadow: 0 -1px 1px #000000; - background-image: -moz-linear-gradient(top, - #3c3c3c, - #111111); - background-image: -webkit-gradient(linear,left top,left bottom, - color-stop(0, #3c3c3c), - color-stop(1, #111111)); - -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#3c3c3c', EndColorStr='#111111')"; -} -.ui-bar-a, -.ui-bar-a input, -.ui-bar-a select, -.ui-bar-a textarea, -.ui-bar-a button { - font-family: Helvetica, Arial, sans-serif; -} -.ui-bar-a .ui-link-inherit { - color: #fff; -} -.ui-bar-a .ui-link { - color: #7cc4e7; - font-weight: bold; -} -.ui-body-a { - border: 1px solid #2A2A2A; - background: #222222; - color: #fff; - text-shadow: 0 1px 0 #000; - font-weight: normal; - background-image: -moz-linear-gradient(top, - #666666, - #222222); - background-image: -webkit-gradient(linear,left top,left bottom, - color-stop(0, #666666), - color-stop(1, #222222)); - -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#666666', EndColorStr='#222222)')"; -} -.ui-body-a, -.ui-body-a input, -.ui-body-a select, -.ui-body-a textarea, -.ui-body-a button { - font-family: Helvetica, Arial, sans-serif; -} -.ui-body-a .ui-link-inherit { - color: #fff; -} -.ui-body-a .ui-link { - color: #2489CE; - font-weight: bold; -} -.ui-br { - border-bottom: rgb(130,130,130); - border-bottom: rgba(130,130,130,.3); - border-bottom-width: 1px; - border-bottom-style: solid; -} -.ui-btn-up-a { - border: 1px solid #222; - background: #333333; - font-weight: bold; - color: #fff; - text-shadow: 0 -1px 1px #000; - background-image: -moz-linear-gradient(top, - #555555, - #333333); - background-image: -webkit-gradient(linear,left top,left bottom, - color-stop(0, #555555), - color-stop(1, #333333)); - -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#555555', EndColorStr='#333333')"; -} -.ui-btn-up-a a.ui-link-inherit { - color: #fff; -} -.ui-btn-hover-a { - border: 1px solid #000; - background: #444444; - font-weight: bold; - color: #fff; - text-shadow: 0 -1px 1px #000; - background-image: -moz-linear-gradient(top, - #666666, - #444444); - background-image: -webkit-gradient(linear,left top,left bottom, - color-stop(0, #666666), - color-stop(1, #444444)); - -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#666666', EndColorStr='#444444')"; -} -.ui-btn-hover-a a.ui-link-inherit { - color: #fff; -} -.ui-btn-down-a { - border: 1px solid #000; - background: #3d3d3d; - font-weight: bold; - color: #fff; - text-shadow: 0 -1px 1px #000; - background-image: -moz-linear-gradient(top, - #333333, - #5a5a5a); - background-image: -webkit-gradient(linear,left top,left bottom, - color-stop(0, #333333), - color-stop(1, #5a5a5a)); - -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#333333', EndColorStr='#5a5a5a')"; -} -.ui-btn-down-a a.ui-link-inherit { - color: #fff; -} -.ui-btn-up-a, -.ui-btn-hover-a, -.ui-btn-down-a { - font-family: Helvetica, Arial, sans-serif; - text-decoration: none; -} - - -/* B ------------------------------------------------------------------------------------------------------------*/ - -.ui-bar-b { - border: 1px solid #456f9a; - background: #5e87b0; - color: #fff; - font-weight: bold; - text-shadow: 0 -1px 1px #254f7a; - background-image: -moz-linear-gradient(top, - #81a8ce, - #5e87b0); - background-image: -webkit-gradient(linear,left top,left bottom, - color-stop(0, #81a8ce), - color-stop(1, #5e87b0)); - -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#81a8ce', EndColorStr='#5e87b0')"; -} -.ui-bar-b, -.ui-bar-b input, -.ui-bar-b select, -.ui-bar-b textarea, -.ui-bar-b button { - font-family: Helvetica, Arial, sans-serif; -} -.ui-bar-b .ui-link-inherit { - color: #fff; -} -.ui-bar-b .ui-link { - color: #7cc4e7; - font-weight: bold; -} - -.ui-body-b { - border: 1px solid #C6C6C6; - background: #cccccc; - color: #333333; - text-shadow: 0 1px 0 #fff; - font-weight: normal; - background-image: -moz-linear-gradient(top, - #e6e6e6, - #cccccc); - background-image: -webkit-gradient(linear,left top,left bottom, - color-stop(0, #e6e6e6), - color-stop(1, #cccccc)); - -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#e6e6e6', EndColorStr='#cccccc')"; -} -.ui-body-b, -.ui-body-b input, -.ui-body-b select, -.ui-body-b textarea, -.ui-body-b button { - font-family: Helvetica, Arial, sans-serif; -} -.ui-body-b .ui-link-inherit { - color: #333333; -} -.ui-body-b .ui-link { - color: #2489CE; - font-weight: bold; -} -.ui-btn-up-b { - border: 1px solid #145072; - background: #2567ab; - font-weight: bold; - color: #fff; - text-shadow: 0 -1px 1px #145072; - background-image: -moz-linear-gradient(top, - #4e89c5, - #2567ab); - background-image: -webkit-gradient(linear,left top,left bottom, - color-stop(0, #5f9cc5), - color-stop(1, #396b9e)); - -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#4e89c5', EndColorStr='#2567ab')"; -} -.ui-btn-up-b a.ui-link-inherit { - color: #fff; -} -.ui-btn-hover-b { - border: 1px solid #00516e; - background: #4b88b6; - font-weight: bold; - color: #fff; - text-shadow: 0 -1px 1px #014D68; - background-image: -moz-linear-gradient(top, - #72b0d4, - #4b88b6); - background-image: -webkit-gradient(linear,left top,left bottom, - color-stop(0, #72b0d4), - color-stop(1, #4b88b6)); - -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#72b0d4', EndColorStr='#4b88b6')"; -} -.ui-btn-hover-b a.ui-link-inherit { - color: #fff; -} -.ui-btn-down-b { - border: 1px solid #225377; - background: #4e89c5; - font-weight: bold; - color: #fff; - text-shadow: 0 -1px 1px #225377; - background-image: -moz-linear-gradient(top, - #396b9e, - #4e89c5); - background-image: -webkit-gradient(linear,left top,left bottom, - color-stop(0, #396b9e), - color-stop(1, #4e89c5)); - -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#396b9e', EndColorStr='#4e89c5')"; -} -.ui-btn-down-b a.ui-link-inherit { - color: #fff; -} -.ui-btn-up-b, -.ui-btn-hover-b, -.ui-btn-down-b { - font-family: Helvetica, Arial, sans-serif; - text-decoration: none; -} - - -/* C ------------------------------------------------------------------------------------------------------------*/ - -.ui-bar-c { - border: 1px solid #B3B3B3; - background: #e9eaeb; - color: #3E3E3E; - font-weight: bold; - text-shadow: 0 1px 1px #fff; - background-image: -moz-linear-gradient(top, - #f0f0f0, - #e9eaeb); - background-image: -webkit-gradient(linear,left top,left bottom, - color-stop(0, #f0f0f0), - color-stop(1, #e9eaeb)); - -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#f0f0f0', EndColorStr='#e9eaeb')"; -} -.ui-bar-c, -.ui-bar-c input, -.ui-bar-c select, -.ui-bar-c textarea, -.ui-bar-c button { - font-family: Helvetica, Arial, sans-serif; -} -.ui-body-c { - border: 1px solid #B3B3B3; - color: #333333; - text-shadow: 0 1px 0 #fff; - background: #f0f0f0; - background-image: -moz-linear-gradient(top, - #eeeeee, - #dddddd); - background-image: -webkit-gradient(linear,left top,left bottom, - color-stop(0, #eeeeee), - color-stop(1, #dddddd)); - -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#eeeeee', EndColorStr='#dddddd')"; -} -.ui-body-c, -.ui-body-c input, -.ui-body-c select, -.ui-body-c textarea, -.ui-body-c button { - font-family: Helvetica, Arial, sans-serif; -} -.ui-body-c .ui-link-inherit { - color: #333333; -} -.ui-body-c .ui-link { - color: #2489CE; - font-weight: bold; -} - -.ui-btn-up-c { - border: 1px solid #ccc; - background: #eee; - font-weight: bold; - color: #444; - text-shadow: 0 1px 1px #f6f6f6; - background-image: -moz-linear-gradient(top, - #fefefe, - #eeeeee); - background-image: -webkit-gradient(linear,left top,left bottom, - color-stop(0, #fdfdfd), - color-stop(1, #eeeeee)); - -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#fdfdfd', EndColorStr='#eeeeee')"; -} -.ui-btn-up-c a.ui-link-inherit { - color: #2F3E46; -} - -.ui-btn-hover-c { - border: 1px solid #bbb; - background: #dadada; - font-weight: bold; - color: #101010; - text-shadow: 0 1px 1px #fff; - background-image: -moz-linear-gradient(top, - #ededed, - #dadada); - background-image: -webkit-gradient(linear,left top,left bottom, - color-stop(0, #ededed), - color-stop(1, #dadada)); - -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#ededed', EndColorStr='#dadada')"; -} -.ui-btn-hover-c a.ui-link-inherit { - color: #2F3E46; -} -.ui-btn-down-c { - border: 1px solid #808080; - background: #fdfdfd; - font-weight: bold; - color: #111111; - text-shadow: 0 1px 1px #ffffff; - background-image: -moz-linear-gradient(top, - #eeeeee, - #fdfdfd); - background-image: -webkit-gradient(linear,left top,left bottom, - color-stop(0, #eeeeee), - color-stop(1, #fdfdfd)); - -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#eeeeee', EndColorStr='#fdfdfd')"; -} -.ui-btn-down-c a.ui-link-inherit { - color: #2F3E46; -} -.ui-btn-up-c, -.ui-btn-hover-c, -.ui-btn-down-c { - font-family: Helvetica, Arial, sans-serif; - text-decoration: none; -} - - -/* D ------------------------------------------------------------------------------------------------------------*/ - -.ui-bar-d { - border: 1px solid #ccc; - background: #bbb; - color: #333; - text-shadow: 0 1px 0 #eee; - background-image: -moz-linear-gradient(top, - #ddd, - #bbb); - background-image: -webkit-gradient(linear,left top,left bottom, - color-stop(0, #ddd), - color-stop(1, #bbb)); - -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#dddddd', EndColorStr='#bbbbbb')"; -} -.ui-bar-d, -.ui-bar-d input, -.ui-bar-d select, -.ui-bar-d textarea, -.ui-bar-d button { - font-family: Helvetica, Arial, sans-serif; -} -.ui-bar-d .ui-link-inherit { - color: #333; -} -.ui-bar-d .ui-link { - color: #2489CE; - font-weight: bold; -} -.ui-body-d { - border: 1px solid #ccc; - color: #333333; - text-shadow: 0 1px 0 #fff; - background: #ffffff; -} -.ui-body-d, -.ui-body-d input, -.ui-body-d select, -.ui-body-d textarea, -.ui-body-d button { - font-family: Helvetica, Arial, sans-serif; -} -.ui-body-d .ui-link-inherit { - color: #333333; -} -.ui-body-d .ui-link { - color: #2489CE; - font-weight: bold; -} -.ui-btn-up-d { - border: 1px solid #ccc; - background: #fff; - font-weight: bold; - color: #444; - text-shadow: 0 1px 1px #fff; -} -.ui-btn-up-d a.ui-link-inherit { - color: #333; -} -.ui-btn-hover-d { - border: 1px solid #aaa; - background: #eeeeee; - font-weight: bold; - color: #222; - cursor: pointer; - text-shadow: 0 1px 1px #fff; - background-image: -moz-linear-gradient(top, - #fdfdfd, - #eeeeee); - background-image: -webkit-gradient(linear,left top,left bottom, - color-stop(0, #fdfdfd), - color-stop(1, #eeeeee)); - -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#fdfdfd', EndColorStr='#eeeeee')"; -} -.ui-btn-hover-d a.ui-link-inherit { - color: #222; -} -.ui-btn-down-d { - border: 1px solid #aaaaaa; - background: #ffffff; - font-weight: bold; - color: #111; - text-shadow: 0 1px 1px #ffffff; - background-image: -moz-linear-gradient(top, - #eeeeee, - #ffffff); - background-image: -webkit-gradient(linear,left top,left bottom, - color-stop(0, #eeeeee), - color-stop(1, #ffffff)); - -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#eeeeee', EndColorStr='#ffffff')"; -} -.ui-btn-down-d a.ui-link-inherit { - color: #111; -} -.ui-btn-up-d, -.ui-btn-hover-d, -.ui-btn-down-d { - font-family: Helvetica, Arial, sans-serif; - text-decoration: none; -} - - -/* E ------------------------------------------------------------------------------------------------------------*/ - -.ui-bar-e { - border: 1px solid #F7C942; - background: #fadb4e; - color: #333; - text-shadow: 0 1px 0 #fff; - background-image: -moz-linear-gradient(top, - #fceda7, - #fadb4e); - background-image: -webkit-gradient(linear,left top,left bottom, - color-stop(0, #fceda7), - color-stop(1, #fadb4e)); - -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#fceda7', EndColorStr='#fadb4e')"; -} -.ui-bar-e, -.ui-bar-e input, -.ui-bar-e select, -.ui-bar-e textarea, -.ui-bar-d button { - font-family: Helvetica, Arial, sans-serif; -} -.ui-bar-e .ui-link-inherit { - color: #333; -} -.ui-bar-e .ui-link { - color: #2489CE; - font-weight: bold; -} -.ui-body-e { - border: 1px solid #F7C942; - color: #333333; - text-shadow: 0 1px 0 #fff; - background: #faeb9e; - background-image: -moz-linear-gradient(top, - #fff, - #faeb9e); - background-image: -webkit-gradient(linear,left top,left bottom, - color-stop(0, #fff), - color-stop(1, #faeb9e)); - -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#ffffff', EndColorStr='#faeb9e')"; -} -.ui-body-e, -.ui-body-e input, -.ui-body-e select, -.ui-body-e textarea, -.ui-body-e button { - font-family: Helvetica, Arial, sans-serif; -} -.ui-body-e .ui-link-inherit { - color: #333333; -} -.ui-body-e .ui-link { - color: #2489CE; - font-weight: bold; -} -.ui-btn-up-e { - border: 1px solid #F7C942; - background: #fadb4e; - font-weight: bold; - color: #333; - text-shadow: 0 1px 0 #fff; - background-image: -moz-linear-gradient(top, - #fceda7, - #fadb4e); - background-image: -webkit-gradient(linear,left top,left bottom, - color-stop(0, #fceda7), - color-stop(1, #fadb4e)); - -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#fceda7', EndColorStr='#fadb4e')"; -} -.ui-btn-up-e a.ui-link-inherit { - color: #333; -} -.ui-btn-hover-e { - border: 1px solid #e79952; - background: #fbe26f; - font-weight: bold; - color: #111; - text-shadow: 0 1px 1px #fff; - background-image: -moz-linear-gradient(top, - #fcf0b5, - #fbe26f); - background-image: -webkit-gradient(linear,left top,left bottom, - color-stop(0, #fcf0b5), - color-stop(1, #fbe26f)); - -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#fcf0b5', EndColorStr='#fbe26f')"; -} - -.ui-btn-hover-e a.ui-link-inherit { - color: #333; -} -.ui-btn-down-e { - border: 1px solid #F7C942; - background: #fceda7; - font-weight: bold; - color: #111; - text-shadow: 0 1px 1px #ffffff; - background-image: -moz-linear-gradient(top, - #fadb4e, - #fceda7); - background-image: -webkit-gradient(linear,left top,left bottom, - color-stop(0, #fadb4e), - color-stop(1, #fceda7)); - -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#fadb4e', EndColorStr='#fceda7')"; -} -.ui-btn-down-e a.ui-link-inherit { - color: #333; -} -.ui-btn-up-e, -.ui-btn-hover-e, -.ui-btn-down-e { - font-family: Helvetica, Arial, sans-serif; - text-decoration: none; -} - - -/* links within "buttons" ------------------------------------------------------------------------------------------------------------*/ - -a.ui-link-inherit { - text-decoration: none !important; -} - - -/* Active class used as the "on" state across all themes ------------------------------------------------------------------------------------------------------------*/ - -.ui-btn-active { - border: 1px solid #155678; - background: #4596ce; - font-weight: bold; - color: #fff; - cursor: pointer; - text-shadow: 0 -1px 1px #145072; - text-decoration: none; - background-image: -moz-linear-gradient(top, - #85bae4, - #5393c5); - background-image: -webkit-gradient(linear,left top,left bottom, - color-stop(0, #85bae4), - color-stop(1, #5393c5)); - -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#85bae4', EndColorStr='#5393c5')"; - outline: none; -} -.ui-btn-active a.ui-link-inherit { - color: #fff; -} - - -/* button inner top highlight ------------------------------------------------------------------------------------------------------------*/ - -.ui-btn-inner { - border-top: 1px solid #fff; - border-color: rgba(255,255,255,.3); -} - - -/* corner rounding classes ------------------------------------------------------------------------------------------------------------*/ - -.ui-corner-tl { - -moz-border-radius-topleft: .6em; - -webkit-border-top-left-radius: .6em; - border-top-left-radius: .6em; -} -.ui-corner-tr { - -moz-border-radius-topright: .6em; - -webkit-border-top-right-radius: .6em; - border-top-right-radius: .6em; -} -.ui-corner-bl { - -moz-border-radius-bottomleft: .6em; - -webkit-border-bottom-left-radius: .6em; - border-bottom-left-radius: .6em; -} -.ui-corner-br { - -moz-border-radius-bottomright: .6em; - -webkit-border-bottom-right-radius: .6em; - border-bottom-right-radius: .6em; -} -.ui-corner-top { - -moz-border-radius-topleft: .6em; - -webkit-border-top-left-radius: .6em; - border-top-left-radius: .6em; - -moz-border-radius-topright: .6em; - -webkit-border-top-right-radius: .6em; - border-top-right-radius: .6em; -} -.ui-corner-bottom { - -moz-border-radius-bottomleft: .6em; - -webkit-border-bottom-left-radius: .6em; - border-bottom-left-radius: .6em; - -moz-border-radius-bottomright: .6em; - -webkit-border-bottom-right-radius: .6em; - border-bottom-right-radius: .6em; - } -.ui-corner-right { - -moz-border-radius-topright: .6em; - -webkit-border-top-right-radius: .6em; - border-top-right-radius: .6em; - -moz-border-radius-bottomright: .6em; - -webkit-border-bottom-right-radius: .6em; - border-bottom-right-radius: .6em; -} -.ui-corner-left { - -moz-border-radius-topleft: .6em; - -webkit-border-top-left-radius: .6em; - border-top-left-radius: .6em; - -moz-border-radius-bottomleft: .6em; - -webkit-border-bottom-left-radius: .6em; - border-bottom-left-radius: .6em; -} -.ui-corner-all { - -moz-border-radius: .6em; - -webkit-border-radius: .6em; - border-radius: .6em; -} - - - -/* Interaction cues ------------------------------------------------------------------------------------------------------------*/ -.ui-disabled { - opacity: .3; -} -.ui-disabled, -.ui-disabled a { - cursor: default; -} - -/* Icons ------------------------------------------------------------------------------------------------------------*/ - -.ui-icon { - background: #666; - background: rgba(0,0,0,.4); - background-image: url(images/icons-18-white.png); - background-repeat: no-repeat; - -moz-border-radius: 9px; - -webkit-border-radius: 9px; - border-radius: 9px; -} - - -/* Alt icon color ------------------------------------------------------------------------------------------------------------*/ - -.ui-icon-alt { - background: #fff; - background: rgba(255,255,255,.3); - background-image: url(images/icons-18-black.png); - background-repeat: no-repeat; -} - -/* HD/"retina" sprite ------------------------------------------------------------------------------------------------------------*/ - -@media only screen and (-webkit-min-device-pixel-ratio: 1.5), - only screen and (min--moz-device-pixel-ratio: 1.5), - only screen and (min-resolution: 240dpi) { - - .ui-icon-plus, .ui-icon-minus, .ui-icon-delete, .ui-icon-arrow-r, - .ui-icon-arrow-l, .ui-icon-arrow-u, .ui-icon-arrow-d, .ui-icon-check, - .ui-icon-gear, .ui-icon-refresh, .ui-icon-forward, .ui-icon-back, - .ui-icon-grid, .ui-icon-star, .ui-icon-alert, .ui-icon-info, .ui-icon-home, .ui-icon-search, - .ui-icon-checkbox-off, .ui-icon-checkbox-on, .ui-icon-radio-off, .ui-icon-radio-on { - background-image: url(images/icons-36-white.png); - -moz-background-size: 776px 18px; - -o-background-size: 776px 18px; - -webkit-background-size: 776px 18px; - background-size: 776px 18px; - } - .ui-icon-alt { - background-image: url(images/icons-36-black.png); - } -} - -/* plus minus */ -.ui-icon-plus { - background-position: -0 50%; -} -.ui-icon-minus { - background-position: -36px 50%; -} - -/* delete/close */ -.ui-icon-delete { - background-position: -72px 50%; -} - -/* arrows */ -.ui-icon-arrow-r { - background-position: -108px 50%; -} -.ui-icon-arrow-l { - background-position: -144px 50%; -} -.ui-icon-arrow-u { - background-position: -180px 50%; -} -.ui-icon-arrow-d { - background-position: -216px 50%; -} - -/* misc */ -.ui-icon-check { - background-position: -252px 50%; -} -.ui-icon-gear { - background-position: -288px 50%; -} -.ui-icon-refresh { - background-position: -324px 50%; -} -.ui-icon-forward { - background-position: -360px 50%; -} -.ui-icon-back { - background-position: -396px 50%; -} -.ui-icon-grid { - background-position: -432px 50%; -} -.ui-icon-star { - background-position: -468px 50%; -} -.ui-icon-alert { - background-position: -504px 50%; -} -.ui-icon-info { - background-position: -540px 50%; -} -.ui-icon-home { - background-position: -576px 50%; -} -.ui-icon-search { - background-position: -612px 50%; -} -.ui-icon-checkbox-off { - background-position: -684px 50%; -} -.ui-icon-checkbox-on { - background-position: -648px 50%; -} -.ui-icon-radio-off { - background-position: -756px 50%; -} -.ui-icon-radio-on { - background-position: -720px 50%; -} - - -/* checks,radios */ -.ui-icon-checkbox-off, -.ui-icon-checkbox-on, -.ui-icon-radio-off, -.ui-icon-radio-on { - background-color: transparent; - -moz-border-radius: 0; - -webkit-border-radius: 0; - border-radius: 0; -} -.ui-icon-searchfield { - background-image: url(images/icon-search-black.png); - background-size: 16px 16px; -} - -/* loading icon */ -.ui-icon-loading { - background-image: url(images/ajax-loader.png); - width: 40px; - height: 40px; - -moz-border-radius: 20px; - -webkit-border-radius: 20px; - border-radius: 20px; - background-size: 35px 35px; -} - - -/* Button corner classes ------------------------------------------------------------------------------------------------------------*/ - -.ui-btn-corner-tl { - -moz-border-radius-topleft: 1em; - -webkit-border-top-left-radius: 1em; - border-top-left-radius: 1em; -} -.ui-btn-corner-tr { - -moz-border-radius-topright: 1em; - -webkit-border-top-right-radius: 1em; - border-top-right-radius: 1em; -} -.ui-btn-corner-bl { - -moz-border-radius-bottomleft: 1em; - -webkit-border-bottom-left-radius: 1em; - border-bottom-left-radius: 1em; -} -.ui-btn-corner-br { - -moz-border-radius-bottomright: 1em; - -webkit-border-bottom-right-radius: 1em; - border-bottom-right-radius: 1em; -} -.ui-btn-corner-top { - -moz-border-radius-topleft: 1em; - -webkit-border-top-left-radius: 1em; - border-top-left-radius: 1em; - -moz-border-radius-topright: 1em; - -webkit-border-top-right-radius: 1em; - border-top-right-radius: 1em; -} -.ui-btn-corner-bottom { - -moz-border-radius-bottomleft: 1em; - -webkit-border-bottom-left-radius: 1em; - border-bottom-left-radius: 1em; - -moz-border-radius-bottomright: 1em; - -webkit-border-bottom-right-radius: 1em; - border-bottom-right-radius: 1em; -} -.ui-btn-corner-right { - -moz-border-radius-topright: 1em; - -webkit-border-top-right-radius: 1em; - border-top-right-radius: 1em; - -moz-border-radius-bottomright: 1em; - -webkit-border-bottom-right-radius: 1em; - border-bottom-right-radius: 1em; -} -.ui-btn-corner-left { - -moz-border-radius-topleft: 1em; - -webkit-border-top-left-radius: 1em; - border-top-left-radius: 1em; - -moz-border-radius-bottomleft: 1em; - -webkit-border-bottom-left-radius: 1em; - border-bottom-left-radius: 1em; -} -.ui-btn-corner-all { - -moz-border-radius: 1em; - -webkit-border-radius: 1em; - border-radius: 1em; -} - -/* radius clip workaround for cleaning up corner trapping */ -.ui-corner-tl, -.ui-corner-tr, -.ui-corner-bl, -.ui-corner-br, -.ui-corner-top, -.ui-corner-bottom, -.ui-corner-right, -.ui-corner-left, -.ui-corner-all, -.ui-btn-corner-tl, -.ui-btn-corner-tr, -.ui-btn-corner-bl, -.ui-btn-corner-br, -.ui-btn-corner-top, -.ui-btn-corner-bottom, -.ui-btn-corner-right, -.ui-btn-corner-left, -.ui-btn-corner-all { - -webkit-background-clip: padding-box; - -moz-background-clip: padding-box; - background-clip: padding-box; -} - -/* Overlay / modal ------------------------------------------------------------------------------------------------------------*/ - -.ui-overlay { - background: #666; - opacity: .5; - filter: Alpha(Opacity=50); - position: absolute; - width: 100%; - height: 100%; -} -.ui-overlay-shadow { - -moz-box-shadow: 0px 0px 12px rgba(0,0,0,.6); - -webkit-box-shadow: 0px 0px 12px rgba(0,0,0,.6); - box-shadow: 0px 0px 12px rgba(0,0,0,.6); -} -.ui-shadow { - -moz-box-shadow: 0px 1px 4px rgba(0,0,0,.3); - -webkit-box-shadow: 0px 1px 4px rgba(0,0,0,.3); - box-shadow: 0px 1px 4px rgba(0,0,0,.3); -} -.ui-bar-a .ui-shadow, -.ui-bar-b .ui-shadow , -.ui-bar-c .ui-shadow { - -moz-box-shadow: 0px 1px 0 rgba(255,255,255,.3); - -webkit-box-shadow: 0px 1px 0 rgba(255,255,255,.3); - box-shadow: 0px 1px 0 rgba(255,255,255,.3); -} -.ui-shadow-inset { - -moz-box-shadow: inset 0px 1px 4px rgba(0,0,0,.2); - -webkit-box-shadow: inset 0px 1px 4px rgba(0,0,0,.2); - box-shadow: inset 0px 1px 4px rgba(0,0,0,.2); -} -.ui-icon-shadow { - -moz-box-shadow: 0px 1px 0 rgba(255,255,255,.4); - -webkit-box-shadow: 0px 1px 0 rgba(255,255,255,.4); - box-shadow: 0px 1px 0 rgba(255,255,255,.4); -} - - -/* Focus state - set here for specificity ------------------------------------------------------------------------------------------------------------*/ - -.ui-focus { - -moz-box-shadow: 0px 0px 12px #387bbe; - -webkit-box-shadow: 0px 0px 12px #387bbe; - box-shadow: 0px 0px 12px #387bbe; -} - -/* unset box shadow in browsers that don't do it right ------------------------------------------------------------------------------------------------------------*/ - -.ui-mobile-nosupport-boxshadow * { - -moz-box-shadow: none !important; - -webkit-box-shadow: none !important; - box-shadow: none !important; -} - -/* ...and bring back focus */ -.ui-mobile-nosupport-boxshadow .ui-focus { - outline-width: 2px; -}/* -* jQuery Mobile Framework -* Copyright (c) jQuery Project -* Dual licensed under the MIT (MIT-LICENSE.txt) and GPL (GPL-LICENSE.txt) licenses. -* Note: Code is in draft form and is subject to change -*/ - -/* some unsets - more probably needed */ -.ui-mobile, .ui-mobile body { height: 100%; } -.ui-mobile fieldset, .ui-page { padding: 0; margin: 0; } -.ui-mobile a img, .ui-mobile fieldset { border: 0; } - -/* responsive page widths */ -.ui-mobile-viewport { margin: 0; overflow-x: hidden; -webkit-text-size-adjust: none; -ms-text-size-adjust:none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } - -/* "page" containers - full-screen views, one should always be in view post-pageload */ -.ui-mobile [data-role=page], .ui-mobile [data-role=dialog], .ui-page { top: 0; left: 0; width: 100%; min-height: 100%; position: absolute; display: none; border: 0; } -.ui-mobile .ui-page-active { display: block; overflow: visible; } - -/*orientations from js are available */ -.portrait, -.portrait .ui-page { min-height: 420px; } -.landscape, -.landscape .ui-page { min-height: 300px; } - -/* loading screen */ -.ui-loading .ui-mobile-viewport { overflow: hidden !important; } -.ui-loading .ui-loader { display: block; } -.ui-loading .ui-page { overflow: hidden; } -.ui-loader { display: none; position: absolute; opacity: .85; z-index: 100; left: 50%; width: 200px; margin-left: -130px; margin-top: -35px; padding: 10px 30px; } -.ui-loader h1 { font-size: 15px; text-align: center; } -.ui-loader .ui-icon { position: static; display: block; opacity: .9; margin: 0 auto; width: 35px; height: 35px; background-color: transparent; } - -/*fouc*/ -.ui-mobile-rendering > * { visibility: hidden; } - -/*headers, content panels*/ -.ui-bar, .ui-body { position: relative; padding: .4em 15px; overflow: hidden; display: block; clear:both; } -.ui-bar { font-size: 16px; margin: 0; } -.ui-bar h1, .ui-bar h2, .ui-bar h3, .ui-bar h4, .ui-bar h5, .ui-bar h6 { margin: 0; padding: 0; font-size: 16px; display: inline-block; } - -.ui-header, .ui-footer { display: block; } -.ui-page .ui-header, .ui-page .ui-footer { position: relative; } -.ui-header .ui-btn-left { position: absolute; left: 10px; top: .4em; } -.ui-header .ui-btn-right { position: absolute; right: 10px; top: .4em; } -.ui-header .ui-title, .ui-footer .ui-title { min-height: 1.1em; text-align: center; font-size: 16px; display: block; margin: .6em 90px .8em; padding: 0; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; outline: 0 !important; } - -/*content area*/ -.ui-content { border-width: 0; overflow: visible; overflow-x: hidden; padding: 15px; } -.ui-page-fullscreen .ui-content { padding:0; } - -/* icons sizing */ -.ui-icon { width: 18px; height: 18px; } - -/* fullscreen class on ui-content div */ -.ui-fullscreen { } -.ui-fullscreen img { max-width: 100%; } - -/* non-js content hiding */ -.ui-nojs { position: absolute; left: -9999px; } -/* -* jQuery Mobile Framework -* Copyright (c) jQuery Project -* Dual licensed under the MIT (MIT-LICENSE.txt) or GPL (GPL-LICENSE.txt) licenses. -*/ -.spin { - -webkit-transform: rotate(360deg); - -webkit-animation-name: spin; - -webkit-animation-duration: 1s; - -webkit-animation-iteration-count: infinite; -} -@-webkit-keyframes spin { - from {-webkit-transform: rotate(0deg);} - to {-webkit-transform: rotate(360deg);} -} - -/* Transitions from jQtouch (with small modifications): http://www.jqtouch.com/ -Built by David Kaneda and maintained by Jonathan Stark. -*/ -.in, .out { - -webkit-animation-timing-function: ease-in-out; - -webkit-animation-duration: 350ms; -} - -.slide.in { - -webkit-transform: translateX(0); - -webkit-animation-name: slideinfromright; -} - -.slide.out { - -webkit-transform: translateX(-100%); - -webkit-animation-name: slideouttoleft; -} - -.slide.in.reverse { - -webkit-transform: translateX(0); - -webkit-animation-name: slideinfromleft; -} - -.slide.out.reverse { - -webkit-transform: translateX(100%); - -webkit-animation-name: slideouttoright; -} - -.slideup.in { - -webkit-transform: translateY(0); - -webkit-animation-name: slideinfrombottom; - z-index: 10; -} - -.slideup.out { - -webkit-animation-name: dontmove; - z-index: 0; -} - -.slideup.out.reverse { - -webkit-transform: translateY(100%); - z-index: 10; - -webkit-animation-name: slideouttobottom; -} - -.slideup.in.reverse { - z-index: 0; - -webkit-animation-name: dontmove; -} -.slidedown.in { - -webkit-transform: translateY(0); - -webkit-animation-name: slideinfromtop; - z-index: 10; -} - -.slidedown.out { - -webkit-animation-name: dontmove; - z-index: 0; -} - -.slidedown.out.reverse { - -webkit-transform: translateY(-100%); - z-index: 10; - -webkit-animation-name: slideouttotop; -} - -.slidedown.in.reverse { - z-index: 0; - -webkit-animation-name: dontmove; -} - -@-webkit-keyframes slideinfromright { - from { -webkit-transform: translateX(100%); } - to { -webkit-transform: translateX(0); } -} - -@-webkit-keyframes slideinfromleft { - from { -webkit-transform: translateX(-100%); } - to { -webkit-transform: translateX(0); } -} - -@-webkit-keyframes slideouttoleft { - from { -webkit-transform: translateX(0); } - to { -webkit-transform: translateX(-100%); } -} - -@-webkit-keyframes slideouttoright { - from { -webkit-transform: translateX(0); } - to { -webkit-transform: translateX(100%); } -} - - -@-webkit-keyframes slideinfromtop { - from { -webkit-transform: translateY(-100%); } - to { -webkit-transform: translateY(0); } -} - -@-webkit-keyframes slideinfrombottom { - from { -webkit-transform: translateY(100%); } - to { -webkit-transform: translateY(0); } -} - -@-webkit-keyframes slideouttobottom { - from { -webkit-transform: translateY(0); } - to { -webkit-transform: translateY(100%); } -} - -@-webkit-keyframes slideouttotop { - from { -webkit-transform: translateY(0); } - to { -webkit-transform: translateY(-100%); } -} -@-webkit-keyframes fadein { - from { opacity: 0; } - to { opacity: 1; } -} - -@-webkit-keyframes fadeout { - from { opacity: 1; } - to { opacity: 0; } -} - -.fade.in { - opacity: 1; - z-index: 10; - -webkit-animation-name: fadein; -} -.fade.out { - z-index: 0; - -webkit-animation-name: fadeout; -} - -/* The properties in this rule are only necessary for the 'flip' transition. - * We need specify the perspective to create a projection matrix. This will add - * some depth as the element flips. The depth number represents the distance of - * the viewer from the z-plane. According to the CSS3 spec, 1000 is a moderate - * value. - */ -.viewport-flip { - -webkit-perspective: 1000; - position: absolute; -} - -.ui-mobile-viewport-transitioning, -.ui-mobile-viewport-transitioning .ui-page { - width: 100%; - height: 100%; - overflow: hidden; -} - -.flip { - -webkit-animation-duration: .65s; - -webkit-backface-visibility:hidden; - -webkit-transform:translateX(0); /* Needed to work around an iOS 3.1 bug that causes listview thumbs to disappear when -webkit-visibility:hidden is used. */ -} - -.flip.in { - -webkit-transform: rotateY(0) scale(1); - -webkit-animation-name: flipinfromleft; -} - -.flip.out { - -webkit-transform: rotateY(-180deg) scale(.8); - -webkit-animation-name: flipouttoleft; -} - -/* Shake it all about */ - -.flip.in.reverse { - -webkit-transform: rotateY(0) scale(1); - -webkit-animation-name: flipinfromright; -} - -.flip.out.reverse { - -webkit-transform: rotateY(180deg) scale(.8); - -webkit-animation-name: flipouttoright; -} - -@-webkit-keyframes flipinfromright { - from { -webkit-transform: rotateY(-180deg) scale(.8); } - to { -webkit-transform: rotateY(0) scale(1); } -} - -@-webkit-keyframes flipinfromleft { - from { -webkit-transform: rotateY(180deg) scale(.8); } - to { -webkit-transform: rotateY(0) scale(1); } -} - -@-webkit-keyframes flipouttoleft { - from { -webkit-transform: rotateY(0) scale(1); } - to { -webkit-transform: rotateY(-180deg) scale(.8); } -} - -@-webkit-keyframes flipouttoright { - from { -webkit-transform: rotateY(0) scale(1); } - to { -webkit-transform: rotateY(180deg) scale(.8); } -} - - -/* Hackish, but reliable. */ - -@-webkit-keyframes dontmove { - from { opacity: 1; } - to { opacity: 1; } -} - -.pop { - -webkit-transform-origin: 50% 50%; -} - -.pop.in { - -webkit-transform: scale(1); - opacity: 1; - -webkit-animation-name: popin; - z-index: 10; -} - -.pop.out.reverse { - -webkit-transform: scale(.2); - opacity: 0; - -webkit-animation-name: popout; - z-index: 10; -} - -.pop.in.reverse { - z-index: 0; - -webkit-animation-name: dontmove; -} - -@-webkit-keyframes popin { - from { - -webkit-transform: scale(.2); - opacity: 0; - } - to { - -webkit-transform: scale(1); - opacity: 1; - } -} - -@-webkit-keyframes popout { - from { - -webkit-transform: scale(1); - opacity: 1; - } - to { - -webkit-transform: scale(.2); - opacity: 0; - } -}/* -* jQuery Mobile Framework -* Copyright (c) jQuery Project -* Dual licensed under the MIT (MIT-LICENSE.txt) or GPL (GPL-LICENSE.txt) licenses. -*/ - -/* content configurations. */ -.ui-grid-a, .ui-grid-b, .ui-grid-c, .ui-grid-d { overflow: hidden; } -.ui-block-a, .ui-block-b, .ui-block-c, .ui-block-d, .ui-block-e { margin: 0; padding: 0; border: 0; float: left; min-height:1px;} - -/* grid solo: 100 - single item fallback */ -.ui-grid-solo .ui-block-a { width: 100%; float: none; } - -/* grid a: 50/50 */ -.ui-grid-a .ui-block-a, .ui-grid-a .ui-block-b { width: 50%; } -.ui-grid-a .ui-block-a { clear: left; } - -/* grid b: 33/33/33 */ -.ui-grid-b .ui-block-a, .ui-grid-b .ui-block-b, .ui-grid-b .ui-block-c { width: 33.333%; } -.ui-grid-b .ui-block-a { clear: left; } - -/* grid c: 25/25/25/25 */ -.ui-grid-c .ui-block-a, .ui-grid-c .ui-block-b, .ui-grid-c .ui-block-c, .ui-grid-c .ui-block-d { width: 25%; } -.ui-grid-c .ui-block-a { clear: left; } - -/* grid d: 20/20/20/20/20 */ -.ui-grid-d .ui-block-a, .ui-grid-d .ui-block-b, .ui-grid-d .ui-block-c, .ui-grid-d .ui-block-d, .ui-grid-d .ui-block-e { width: 20%; } -.ui-grid-d .ui-block-a { clear: left; } -/* -* jQuery Mobile Framework -* Copyright (c) jQuery Project -* Dual licensed under the MIT (MIT-LICENSE.txt) or GPL (GPL-LICENSE.txt) licenses. -*/ -/* fixed page header & footer configuration */ -.ui-header, .ui-footer, .ui-page-fullscreen .ui-header, .ui-page-fullscreen .ui-footer { position: absolute; overflow: hidden; width: 100%; border-left-width: 0; border-right-width: 0; } -.ui-header-fixed, .ui-footer-fixed { - z-index: 1000; - -webkit-transform: translateZ(0); /* Force header/footer rendering to go through the same rendering pipeline as native page scrolling. */ -} -.ui-footer-duplicate, .ui-page-fullscreen .ui-fixed-inline { display: none; } -.ui-page-fullscreen .ui-header, .ui-page-fullscreen .ui-footer { opacity: .9; } -/* -* jQuery Mobile Framework -* Copyright (c) jQuery Project -* Dual licensed under the MIT (MIT-LICENSE.txt) or GPL (GPL-LICENSE.txt) licenses. -*/ -.ui-navbar { overflow: hidden; } -.ui-navbar ul, .ui-navbar-expanded ul { list-style:none; padding: 0; margin: 0; position: relative; display: block; border: 0;} -.ui-navbar-collapsed ul { float: left; width: 75%; margin-right: -2px; } -.ui-navbar-collapsed .ui-navbar-toggle { float: left; width: 25%; } -.ui-navbar li.ui-navbar-truncate { position: absolute; left: -9999px; top: -9999px; } -.ui-navbar li .ui-btn, .ui-navbar .ui-navbar-toggle .ui-btn { display: block; font-size: 12px; text-align: center; margin: 0; border-right-width: 0; } -.ui-navbar li .ui-btn { margin-right: -1px; } -.ui-navbar li .ui-btn:last-child { margin-right: 0; } -.ui-header .ui-navbar li .ui-btn, .ui-header .ui-navbar .ui-navbar-toggle .ui-btn, -.ui-footer .ui-navbar li .ui-btn, .ui-footer .ui-navbar .ui-navbar-toggle .ui-btn { border-top-width: 0; border-bottom-width: 0; } -.ui-navbar .ui-btn-inner { padding-left: 2px; padding-right: 2px; } -.ui-navbar-noicons li .ui-btn .ui-btn-inner, .ui-navbar-noicons .ui-navbar-toggle .ui-btn-inner { padding-top: .8em; padding-bottom: .9em; } -/*expanded page styles*/ -.ui-navbar-expanded .ui-btn { margin: 0; font-size: 14px; } -.ui-navbar-expanded .ui-btn-inner { padding-left: 5px; padding-right: 5px; } -.ui-navbar-expanded .ui-btn-icon-top .ui-btn-inner { padding: 45px 5px 15px; text-align: center; } -.ui-navbar-expanded .ui-btn-icon-top .ui-icon { top: 15px; } -.ui-navbar-expanded .ui-btn-icon-bottom .ui-btn-inner { padding: 15px 5px 45px; text-align: center; } -.ui-navbar-expanded .ui-btn-icon-bottom .ui-icon { bottom: 15px; } -.ui-navbar-expanded li .ui-btn .ui-btn-inner { min-height: 2.5em; } -.ui-navbar-expanded .ui-navbar-noicons .ui-btn .ui-btn-inner { padding-top: 1.8em; padding-bottom: 1.9em; } -/* -* jQuery Mobile Framework -* Copyright (c) jQuery Project -* Dual licensed under the MIT (MIT-LICENSE.txt) or GPL (GPL-LICENSE.txt) licenses. -*/ -.ui-btn { display: block; text-align: center; cursor:pointer; position: relative; margin: .5em 5px; padding: 0; } -.ui-btn:focus, .ui-btn:active { outline: none; } -.ui-header .ui-btn, .ui-footer .ui-btn, .ui-bar .ui-btn { display: inline-block; font-size: 13px; margin: 0; } -.ui-btn-inline { display: inline-block; } -.ui-btn-inner { padding: .6em 25px; display: block; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; position: relative; } -.ui-header .ui-btn-inner, .ui-footer .ui-btn-inner, .ui-bar .ui-btn-inner { padding: .4em 8px .5em; } -.ui-btn-icon-notext { display: inline-block; width: 20px; height: 20px; padding: 2px 1px 2px 3px; text-indent: -9999px; } -.ui-btn-icon-notext .ui-btn-inner { padding: 0; } -.ui-btn-icon-notext .ui-btn-text { position: absolute; left: -999px; } -.ui-btn-icon-left .ui-btn-inner { padding-left: 33px; } -.ui-header .ui-btn-icon-left .ui-btn-inner, -.ui-footer .ui-btn-icon-left .ui-btn-inner, -.ui-bar .ui-btn-icon-left .ui-btn-inner { padding-left: 27px; } -.ui-btn-icon-right .ui-btn-inner { padding-right: 33px; } -.ui-header .ui-btn-icon-right .ui-btn-inner, -.ui-footer .ui-btn-icon-right .ui-btn-inner, -.ui-bar .ui-btn-icon-right .ui-btn-inner { padding-right: 27px; } -.ui-btn-icon-top .ui-btn-inner { padding-top: 33px; } -.ui-header .ui-btn-icon-top .ui-btn-inner, -.ui-footer .ui-btn-icon-top .ui-btn-inner, -.ui-bar .ui-btn-icon-top .ui-btn-inner { padding-top: 27px; } -.ui-btn-icon-bottom .ui-btn-inner { padding-bottom: 33px; } -.ui-header .ui-btn-icon-bottom .ui-btn-inner, -.ui-footer .ui-btn-icon-bottom .ui-btn-inner, -.ui-bar .ui-btn-icon-bottom .ui-btn-inner { padding-bottom: 27px; } - -/*btn icon positioning*/ -.ui-btn-icon-notext .ui-icon { display: block; } -.ui-btn-icon-left .ui-icon, .ui-btn-icon-right .ui-icon { position: absolute; top: 50%; margin-top: -9px; } -.ui-btn-icon-top .ui-icon, .ui-btn-icon-bottom .ui-icon { position: absolute; left: 50%; margin-left: -9px; } -.ui-btn-icon-left .ui-icon { left: 10px; } -.ui-btn-icon-right .ui-icon {right: 10px; } -.ui-header .ui-btn-icon-left .ui-icon, -.ui-footer .ui-btn-icon-left .ui-icon, -.ui-bar .ui-btn-icon-left .ui-icon { left: 4px; } -.ui-header .ui-btn-icon-right .ui-icon, -.ui-footer .ui-btn-icon-right .ui-icon, -.ui-bar .ui-btn-icon-right .ui-icon { right: 4px; } -.ui-header .ui-btn-icon-top .ui-icon, -.ui-footer .ui-btn-icon-top .ui-icon, -.ui-bar .ui-btn-icon-top .ui-icon { top: 4px; } -.ui-header .ui-btn-icon-bottom .ui-icon, -.ui-footer .ui-btn-icon-bottom .ui-icon, -.ui-bar .ui-btn-icon-bottom .ui-icon { bottom: 4px; } -.ui-btn-icon-top .ui-icon { top: 5px; } -.ui-btn-icon-bottom .ui-icon { bottom: 5px; } -/*hiding native button,inputs */ -.ui-btn-hidden { position: absolute; top: 0; left: 0; width: 100%; height: 100%; -webkit-appearance: button; opacity: 0; cursor: pointer; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; filter: alpha(opacity=0); background: transparent; } -/* -* jQuery Mobile Framework -* Copyright (c) jQuery Project -* Dual licensed under the MIT (MIT-LICENSE.txt) or GPL (GPL-LICENSE.txt) licenses. -*/ -.ui-collapsible-contain { margin: .5em 0; } -.ui-collapsible-heading { font-size: 16px; display: block; margin: 0 -8px; padding: 0; border-width: 0 0 1px 0; position: relative; } -.ui-collapsible-heading a { text-align: left; margin: 0; } -.ui-collapsible-heading a .ui-btn-inner { padding-left: 40px; } -.ui-collapsible-heading a span.ui-btn { position: absolute; left: 6px; top: 50%; margin: -12px 0 0 0; width: 20px; height: 20px; padding: 1px 0px 1px 2px; text-indent: -9999px; } -.ui-collapsible-heading a span.ui-btn .ui-btn-inner { padding: 10px 0; } -.ui-collapsible-heading a span.ui-btn .ui-icon { left: 0; margin-top: -10px; } -.ui-collapsible-heading-status { position:absolute; left:-9999px; } -.ui-collapsible-content { display: block; padding: 10px 0 10px 8px; } -.ui-collapsible-content-collapsed { display: none; } - -.ui-collapsible-set { margin: .5em 0; } -.ui-collapsible-set .ui-collapsible-contain { margin: -1px 0 0; } -/* -* jQuery Mobile Framework -* Copyright (c) jQuery Project -* Dual licensed under the MIT (MIT-LICENSE.txt) or GPL (GPL-LICENSE.txt) licenses. -*/ -.ui-controlgroup, fieldset.ui-controlgroup { padding: 0; margin: .5em 0 1em; } -.ui-bar .ui-controlgroup { margin: 0 .3em; } -.ui-controlgroup-label { font-size: 16px; line-height: 1.4; font-weight: normal; margin: 0 0 .3em; } -.ui-controlgroup-controls { display: block; width: 95%;} -.ui-controlgroup li { list-style: none; } -.ui-controlgroup-vertical .ui-btn, -.ui-controlgroup-vertical .ui-checkbox, .ui-controlgroup-vertical .ui-radio { margin: 0; border-bottom-width: 0; } -.ui-controlgroup-vertical .ui-controlgroup-last { border-bottom-width: 1px; } -.ui-controlgroup-horizontal { padding: 0; } -.ui-controlgroup-horizontal .ui-btn, -.ui-controlgroup-horizontal .ui-checkbox, .ui-controlgroup-horizontal .ui-radio { display: inline-block; margin: 0 -5px 0 0; } -.ui-controlgroup-horizontal .ui-checkbox, .ui-controlgroup-horizontal .ui-radio { display: inline; } -.ui-controlgroup-horizontal .ui-checkbox .ui-btn, .ui-controlgroup-horizontal .ui-radio .ui-btn, -.ui-controlgroup-horizontal .ui-checkbox:last-child, .ui-controlgroup-horizontal .ui-radio:last-child { margin-right: 0; } -.ui-controlgroup-horizontal .ui-controlgroup-last { margin-right: 0; } -.ui-controlgroup .ui-checkbox label, .ui-controlgroup .ui-radio label { font-size: 16px; } -/* conflicts with listview.. -.ui-controlgroup .ui-btn-icon-notext { width: 30px; height: 30px; text-indent: -9999px; } -.ui-controlgroup .ui-btn-icon-notext .ui-btn-inner { padding: 5px 6px 5px 5px; } -*/ - -@media all and (min-width: 450px){ - .ui-controlgroup-label { vertical-align: top; display: inline-block; width: 20%; margin: 0 2% 0 0; } - .ui-controlgroup-controls { width: 60%; display: inline-block; } -} /* -* jQuery Mobile Framework -* Copyright (c) jQuery Project -* Dual licensed under the MIT (MIT-LICENSE.txt) or GPL (GPL-LICENSE.txt) licenses. -*/ -.ui-dialog { min-height: 480px; } -.ui-dialog .ui-header, .ui-dialog .ui-content, .ui-dialog .ui-footer { margin: 15px; position: relative; } -.ui-dialog .ui-header, .ui-dialog .ui-footer { z-index: 10; width: auto; } -.ui-dialog .ui-content, .ui-dialog .ui-footer { margin-top: -15px; }/* -* jQuery Mobile Framework -* Copyright (c) jQuery Project -* Dual licensed under the MIT (MIT-LICENSE.txt) or GPL (GPL-LICENSE.txt) licenses. -*/ -.ui-checkbox, .ui-radio { position:relative; margin: .2em 0 .5em; z-index: 1; } -.ui-checkbox .ui-btn, .ui-radio .ui-btn { margin: 0; text-align: left; z-index: 2; } -.ui-checkbox .ui-btn-inner, .ui-radio .ui-btn-inner { white-space: normal; } -.ui-checkbox .ui-btn-icon-left .ui-btn-inner,.ui-radio .ui-btn-icon-left .ui-btn-inner { padding-left: 45px; } -.ui-checkbox .ui-btn-icon-right .ui-btn-inner, .ui-radio .ui-btn-icon-right .ui-btn-inner { padding-right: 45px; } -.ui-checkbox .ui-icon, .ui-radio .ui-icon { top: 1.1em; } -.ui-checkbox .ui-btn-icon-left .ui-icon, .ui-radio .ui-btn-icon-left .ui-icon {left: 15px; } -.ui-checkbox .ui-btn-icon-right .ui-icon, .ui-radio .ui-btn-icon-right .ui-icon {right: 15px; } -/* input, label positioning */ -.ui-checkbox input,.ui-radio input { position:absolute; left:20px; top:50%; width: 10px; height: 10px; margin:-5px 0 0 0; outline: 0 !important; z-index: 1; }/* -* jQuery Mobile Framework -* Copyright (c) jQuery Project -* Dual licensed under the MIT (MIT-LICENSE.txt) or GPL (GPL-LICENSE.txt) licenses. -*/ -.ui-field-contain { background: none; padding: 1.5em 0; margin: 0; border-bottom-width: 1px; overflow: visible; } -.ui-field-contain:first-child { border-top-width: 0; } -@media all and (min-width: 450px){ - .ui-field-contain { border-width: 0; padding: 0; margin: 1em 0; } -} /* -* jQuery Mobile Framework -* Copyright (c) jQuery Project -* Dual licensed under the MIT (MIT-LICENSE.txt) or GPL (GPL-LICENSE.txt) licenses. -*/ -.ui-select { display: block; position: relative; } -.ui-select select { position: absolute; left: -9999px; top: -9999px; } -.ui-select .ui-btn { overflow: hidden; } -.ui-select .ui-btn select { cursor: pointer; -webkit-appearance: button; left: 0; top:0; width: 100%; height: 100%; opacity: 0; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; filter: alpha(opacity=0); } -@-moz-document url-prefix() {.ui-select .ui-btn select { opacity: 0.0001; }} -.ui-select .ui-btn select.ui-select-nativeonly { opacity: 1; text-indent: 0; } - -.ui-select .ui-btn-icon-right .ui-btn-inner { padding-right: 45px; } -.ui-select .ui-btn-icon-right .ui-icon { right: 15px; } - -/* labels */ -label.ui-select { font-size: 16px; line-height: 1.4; font-weight: normal; margin: 0 0 .3em; display: block; } - -/*listbox*/ -.ui-select .ui-btn-text, .ui-selectmenu .ui-btn-text { display: inline-block; min-height: 1em; } -.ui-select .ui-btn-text { text-overflow: ellipsis; overflow: hidden; display: block;} - -.ui-selectmenu { position: absolute; padding: 0; z-index: 100 !important; width: 80%; max-width: 350px; padding: 6px; } -.ui-selectmenu .ui-listview { margin: 0; } -.ui-selectmenu .ui-btn.ui-li-divider { cursor: default; } -.ui-selectmenu-hidden { top: -9999px; left: -9999px; } -.ui-selectmenu-screen { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 99; } -.ui-screen-hidden, .ui-selectmenu-list .ui-li .ui-icon { display: none; } -.ui-selectmenu-list .ui-li .ui-icon { display: block; } -.ui-li.ui-selectmenu-placeholder { display: none; } -.ui-selectmenu .ui-header .ui-title { margin: 0.6em 46px 0.8em; } - -@media all and (min-width: 450px){ - label.ui-select { display: inline-block; width: 20%; margin: 0 2% 0 0; } - .ui-select { width: 60%; display: inline-block; } -} - -/* when no placeholder is defined in a multiple select, the header height doesn't even extend past the close button. this shim's content in there */ -.ui-selectmenu .ui-header h1:after { content: '.'; visibility: hidden; }/* -* jQuery Mobile Framework -* Copyright (c) jQuery Project -* Dual licensed under the MIT (MIT-LICENSE.txt) or GPL (GPL-LICENSE.txt) licenses. -*/ -label.ui-input-text { font-size: 16px; line-height: 1.4; display: block; font-weight: normal; margin: 0 0 .3em; } -input.ui-input-text, textarea.ui-input-text { background-image: none; padding: .4em; line-height: 1.4; font-size: 16px; display: block; width: 95%; } -input.ui-input-text { -webkit-appearance: none; } -textarea.ui-input-text { height: 50px; -webkit-transition: height 200ms linear; -moz-transition: height 200ms linear; -o-transition: height 200ms linear; transition: height 200ms linear; } -.ui-input-search { padding: 0 30px; width: 77%; background-position: 8px 50%; background-repeat: no-repeat; position: relative; } -.ui-input-search input.ui-input-text { border: none; width: 98%; padding: .4em 0; margin: 0; display: block; background: transparent none; outline: 0 !important; } -.ui-input-search .ui-input-clear { position: absolute; right: 0; top: 50%; margin-top: -14px; } -.ui-input-search .ui-input-clear-hidden { display: none; } - -/* orientation adjustments - incomplete!*/ -@media all and (min-width: 450px){ - label.ui-input-text { vertical-align: top; display: inline-block; width: 20%; margin: 0 2% 0 0 } - input.ui-input-text, - textarea.ui-input-text, - .ui-input-search { width: 60%; display: inline-block; } - .ui-input-search { width: 50%; } - .ui-input-search input.ui-input-text { width: 98%; /*echos rule from above*/ } -}/* -* jQuery Mobile Framework -* Copyright (c) jQuery Project -* Dual licensed under the MIT (MIT-LICENSE.txt) or GPL (GPL-LICENSE.txt) licenses. -*/ -.ui-listview { margin: 0; counter-reset: listnumbering; } -.ui-content .ui-listview { margin: -15px; } -.ui-content .ui-listview-inset { margin: 1em 0; } -.ui-listview, .ui-li { list-style:none; padding:0; } -.ui-li, .ui-li.ui-field-contain { display: block; margin:0; position: relative; overflow: visible; text-align: left; border-width: 0; border-top-width: 1px; } -.ui-li .ui-btn-text a.ui-link-inherit { text-overflow: ellipsis; overflow: hidden; white-space: nowrap; } -.ui-li-divider, .ui-li-static { padding: .5em 15px; font-size: 14px; font-weight: bold; } -.ui-li-divider { counter-reset: listnumbering; } -ol.ui-listview .ui-link-inherit:before, ol.ui-listview .ui-li-static:before, .ui-li-dec { font-size: .8em; display: inline-block; padding-right: .3em; font-weight: normal;counter-increment: listnumbering; content: counter(listnumbering) ". "; } -ol.ui-listview .ui-li-jsnumbering:before { content: "" !important; } /* to avoid chance of duplication */ -.ui-listview-inset .ui-li { border-right-width: 1px; border-left-width: 1px; } -.ui-li:last-child, .ui-li.ui-field-contain:last-child { border-bottom-width: 1px; } -.ui-li>.ui-btn-inner { display: block; position: relative; padding: 0; } -.ui-li .ui-btn-inner a.ui-link-inherit, .ui-li-static.ui-li { padding: .7em 75px .7em 15px; display: block; } -.ui-li-has-thumb .ui-btn-inner a.ui-link-inherit, .ui-li-static.ui-li-has-thumb { min-height: 60px; padding-left: 100px; } -.ui-li-has-icon .ui-btn-inner a.ui-link-inherit, .ui-li-static.ui-li-has-icon { min-height: 20px; padding-left: 40px; } -.ui-li-heading { font-size: 16px; font-weight: bold; display: block; margin: .6em 0; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; } -.ui-li-desc { font-size: 12px; font-weight: normal; display: block; margin: -.5em 0 .6em; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; } -.ui-li-thumb, .ui-li-icon { position: absolute; left: 1px; top: 0; max-height: 80px; max-width: 80px; } -.ui-li-icon { max-height: 40px; max-width: 40px; left: 10px; top: .9em; } -.ui-li-thumb, .ui-li-icon, .ui-li-content { float: left; margin-right: 10px; } - -.ui-li-aside { float: right; width: 50%; text-align: right; margin: .3em 0; } -@media all and (min-width: 480px){ - .ui-li-aside { width: 45%; } -} -.ui-li-divider { cursor: default; } -.ui-li-has-alt .ui-btn-inner a.ui-link-inherit, .ui-li-static.ui-li-has-alt { padding-right: 95px; } -.ui-li-count { position: absolute; font-size: 11px; font-weight: bold; padding: .2em .5em; top: 50%; margin-top: -.9em; right: 38px; } -.ui-li-divider .ui-li-count, .ui-li-static .ui-li-count { right: 10px; } -.ui-li-has-alt .ui-li-count { right: 55px; } -.ui-li-link-alt { position: absolute; width: 40px; height: 100%; border-width: 0; border-left-width: 1px; top: 0; right: 0; margin: 0; padding: 0; } -.ui-li-link-alt .ui-btn { overflow: hidden; position: absolute; right: 8px; top: 50%; margin: -11px 0 0 0; border-bottom-width: 1px; } -.ui-li-link-alt .ui-btn-inner { padding: 0; position: static; } -.ui-li-link-alt .ui-btn .ui-icon { right: 50%; margin-right: -9px; } - -.ui-listview-filter { border-width: 0; overflow: hidden; margin: -15px -15px 15px -15px } -.ui-listview-filter .ui-input-search { margin: 5px; width: auto; display: block; } - -.ui-listview-filter-inset { margin: -15px -5px -15px -5px; background: transparent; } -.ui-li.ui-screen-hidden{display:none;} -/* Odd iPad positioning issue. */ -@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) { - .ui-li .ui-btn-text { overflow: visible; } -}/* -* jQuery Mobile Framework -* Copyright (c) jQuery Project -* Dual licensed under the MIT (MIT-LICENSE.txt) or GPL (GPL-LICENSE.txt) licenses. -*/ -label.ui-slider { display: block; } -input.ui-slider-input { display: inline-block; width: 50px; } -select.ui-slider-switch { display: none; } -div.ui-slider { position: relative; display: inline-block; overflow: visible; height: 15px; padding: 0; margin: 0 2% 0 20px; top: 4px; width: 66%; } -a.ui-slider-handle { position: absolute; z-index: 10; top: 50%; width: 28px; height: 28px; margin-top: -15px; margin-left: -15px; } -a.ui-slider-handle .ui-btn-inner { padding-left: 0; padding-right: 0; } -@media all and (min-width: 480px){ - label.ui-slider { display: inline-block; width: 20%; margin: 0 2% 0 0; } - div.ui-slider { width: 45%; } -} - -div.ui-slider-switch { height: 32px; overflow: hidden; margin-left: 0; } -div.ui-slider-inneroffset { margin-left: 50%; position: absolute; top: 1px; height: 100%; width: 50%; } -div.ui-slider-handle-snapping { -webkit-transition: left 100ms linear; } -div.ui-slider-labelbg { position: absolute; top:0; margin: 0; border-width: 0; } -div.ui-slider-switch div.ui-slider-labelbg-a { width: 60%; height: 100%; left: 0; } -div.ui-slider-switch div.ui-slider-labelbg-b { width: 60%; height: 100%; right: 0; } -.ui-slider-switch-a div.ui-slider-labelbg-a, .ui-slider-switch-b div.ui-slider-labelbg-b { z-index: -1; } -.ui-slider-switch-a div.ui-slider-labelbg-b, .ui-slider-switch-b div.ui-slider-labelbg-a { z-index: 0; } - -div.ui-slider-switch a.ui-slider-handle { z-index: 20; width: 101%; height: 32px; margin-top: -18px; margin-left: -101%; } -span.ui-slider-label { width: 100%; position: absolute;height: 32px; font-size: 16px; text-align: center; line-height: 2; background: none; border-color: transparent; } -span.ui-slider-label-a { left: -100%; margin-right: -1px } -span.ui-slider-label-b { right: -100%; margin-left: -1px } - --- /dev/null +++ b/css/jquery.mobile-1.0rc1.css @@ -1,1 +1,1750 @@ - +/*! + * jQuery Mobile v1.0rc1 + * http://jquerymobile.com/ + * + * Copyright 2010, jQuery Project + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + */ +/*! +* jQuery Mobile Framework +* Copyright (c) jQuery Project +* Dual licensed under the MIT (MIT-LICENSE.txt) and GPL (GPL-LICENSE.txt) licenses. +*/ + +/* Swatches */ + +/* A +-----------------------------------------------------------------------------------------------------------*/ + +.ui-bar-a { + border: 1px solid #2A2A2A /*{a-bar-border}*/; + background: #111111 /*{a-bar-background-color}*/; + color: #ffffff /*{a-bar-color}*/; + font-weight: bold; + text-shadow: 0 /*{a-bar-shadow-x}*/ -1px /*{a-bar-shadow-y}*/ 1px /*{a-bar-shadow-radius}*/ #000000 /*{a-bar-shadow-color}*/; + background-image: -webkit-gradient(linear, left top, left bottom, from(#3c3c3c /*{a-bar-background-start}*/), to(#111 /*{a-bar-background-end}*/)); /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #3c3c3c /*{a-bar-background-start}*/, #111 /*{a-bar-background-end}*/); /* Chrome 10+, Saf5.1+ */ + background-image: -moz-linear-gradient(top, #3c3c3c /*{a-bar-background-start}*/, #111 /*{a-bar-background-end}*/); /* FF3.6 */ + background-image: -ms-linear-gradient(top, #3c3c3c /*{a-bar-background-start}*/, #111 /*{a-bar-background-end}*/); /* IE10 */ + background-image: -o-linear-gradient(top, #3c3c3c /*{a-bar-background-start}*/, #111 /*{a-bar-background-end}*/); /* Opera 11.10+ */ + background-image: linear-gradient(top, #3c3c3c /*{a-bar-background-start}*/, #111 /*{a-bar-background-end}*/); +} +.ui-bar-a, +.ui-bar-a input, +.ui-bar-a select, +.ui-bar-a textarea, +.ui-bar-a button { + font-family: Helvetica, Arial, sans-serif /*{a-bar-font}*/; +} +.ui-bar-a .ui-link-inherit { + color: #fff /*{a-bar-color}*/; +} +.ui-bar-a .ui-link { + color: #7cc4e7 /*{global-link-color}*/; + font-weight: bold; +} +.ui-body-a { + border: 1px solid #2A2A2A /*{a-body-border}*/; + background: #222222 /*{a-body-background-color}*/; + color: #fff /*{a-body-color}*/; + text-shadow: 0 /*{a-body-shadow-x}*/ 1px /*{a-body-shadow-y}*/ 0 /*{a-body-shadow-radius}*/ #000 /*{a-body-shadow-color}*/; + font-weight: normal; + background-image: -webkit-gradient(linear, left top, left bottom, from(#666 /*{a-body-background-start}*/), to(#222 /*{a-body-background-end}*/)); /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #666 /*{a-body-background-start}*/, #222 /*{a-body-background-end}*/); /* Chrome 10+, Saf5.1+ */ + background-image: -moz-linear-gradient(top, #666 /*{a-body-background-start}*/, #222 /*{a-body-background-end}*/); /* FF3.6 */ + background-image: -ms-linear-gradient(top, #666 /*{a-body-background-start}*/, #222 /*{a-body-background-end}*/); /* IE10 */ + background-image: -o-linear-gradient(top, #666 /*{a-body-background-start}*/, #222 /*{a-body-background-end}*/); /* Opera 11.10+ */ + background-image: linear-gradient(top, #666 /*{a-body-background-start}*/, #222 /*{a-body-background-end}*/); +} +.ui-body-a, +.ui-body-a input, +.ui-body-a select, +.ui-body-a textarea, +.ui-body-a button { + font-family: Helvetica, Arial, sans-serif /*{a-body-font}*/; +} +.ui-body-a .ui-link-inherit { + color: #fff /*{a-body-color}*/; +} +.ui-body-a .ui-link { + color: #2489CE /*{global-link-color}*/; + font-weight: bold; +} +.ui-br { + border-bottom: rgb(130,130,130); + border-bottom: rgba(130,130,130,.3); + border-bottom-width: 1px; + border-bottom-style: solid; +} +.ui-btn-up-a { + border: 1px solid #222 /*{a-bup-border}*/; + background: #333333 /*{a-bup-background-color}*/; + font-weight: bold; + color: #fff /*{a-bup-color}*/; + text-shadow: 0 /*{a-bup-shadow-x}*/ -1px /*{a-bup-shadow-y}*/ 1px /*{a-bup-shadow-radius}*/ #000 /*{a-bup-shadow-color}*/; + background-image: -webkit-gradient(linear, left top, left bottom, from(#555 /*{a-bup-background-start}*/), to(#333 /*{a-bup-background-end}*/)); /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #555 /*{a-bup-background-start}*/, #333 /*{a-bup-background-end}*/); /* Chrome 10+, Saf5.1+ */ + background-image: -moz-linear-gradient(top, #555 /*{a-bup-background-start}*/, #333 /*{a-bup-background-end}*/); /* FF3.6 */ + background-image: -ms-linear-gradient(top, #555 /*{a-bup-background-start}*/, #333 /*{a-bup-background-end}*/); /* IE10 */ + background-image: -o-linear-gradient(top, #555 /*{a-bup-background-start}*/, #333 /*{a-bup-background-end}*/); /* Opera 11.10+ */ + background-image: linear-gradient(top, #555 /*{a-bup-background-start}*/, #333 /*{a-bup-background-end}*/); +} +.ui-btn-up-a a.ui-link-inherit { + color: #fff /*{a-bup-color}*/; +} +.ui-btn-hover-a { + border: 1px solid #000 /*{a-bhover-border}*/; + background: #444444 /*{a-bhover-background-color}*/; + font-weight: bold; + color: #fff /*{a-bhover-color}*/; + text-shadow: 0 /*{a-bhover-shadow-x}*/ -1px /*{a-bhover-shadow-y}*/ 1px /*{a-bhover-shadow-radius}*/ #000 /*{a-bhover-shadow-color}*/; + background-image: -webkit-gradient(linear, left top, left bottom, from(#666 /*{a-bhover-background-start}*/), to(#444 /*{a-bhover-background-end}*/)); /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #666 /*{a-bhover-background-start}*/, #444 /*{a-bhover-background-end}*/); /* Chrome 10+, Saf5.1+ */ + background-image: -moz-linear-gradient(top, #666 /*{a-bhover-background-start}*/, #444 /*{a-bhover-background-end}*/); /* FF3.6 */ + background-image: -ms-linear-gradient(top, #666 /*{a-bhover-background-start}*/, #444 /*{a-bhover-background-end}*/); /* IE10 */ + background-image: -o-linear-gradient(top, #666 /*{a-bhover-background-start}*/, #444 /*{a-bhover-background-end}*/); /* Opera 11.10+ */ + background-image: linear-gradient(top, #666 /*{a-bhover-background-start}*/, #444 /*{a-bhover-background-end}*/); +} +.ui-btn-hover-a a.ui-link-inherit { + color: #fff /*{a-bhover-color}*/; +} +.ui-btn-down-a { + border: 1px solid #000 /*{a-bdown-border}*/; + background: #3d3d3d /*{a-bdown-background-color}*/; + font-weight: bold; + color: #fff /*{a-bdown-color}*/; + text-shadow: 0 /*{a-bdown-shadow-x}*/ -1px /*{a-bdown-shadow-y}*/ 1px /*{a-bdown-shadow-radius}*/ #000 /*{a-bdown-shadow-color}*/; + background-image: -webkit-gradient(linear, left top, left bottom, from(#333 /*{a-bdown-background-start}*/), to(#5a5a5a /*{a-bdown-background-end}*/)); /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #333 /*{a-bdown-background-start}*/, #5a5a5a /*{a-bdown-background-end}*/); /* Chrome 10+, Saf5.1+ */ + background-image: -moz-linear-gradient(top, #333 /*{a-bdown-background-start}*/, #5a5a5a /*{a-bdown-background-end}*/); /* FF3.6 */ + background-image: -ms-linear-gradient(top, #333 /*{a-bdown-background-start}*/, #5a5a5a /*{a-bdown-background-end}*/); /* IE10 */ + background-image: -o-linear-gradient(top, #333 /*{a-bdown-background-start}*/, #5a5a5a /*{a-bdown-background-end}*/); /* Opera 11.10+ */ + background-image: linear-gradient(top, #333 /*{a-bdown-background-start}*/, #5a5a5a /*{a-bdown-background-end}*/); +} +.ui-btn-down-a a.ui-link-inherit { + color: #fff /*{a-bdown-color}*/; +} +.ui-btn-up-a, +.ui-btn-hover-a, +.ui-btn-down-a { + font-family: Helvetica, Arial, sans-serif /*{a-button-font}*/; + text-decoration: none; +} + + +/* B +-----------------------------------------------------------------------------------------------------------*/ + +.ui-bar-b { + border: 1px solid #456f9a /*{b-bar-border}*/; + background: #5e87b0 /*{b-bar-background-color}*/; + color: #fff /*{b-bar-color}*/; + font-weight: bold; + text-shadow: 0 /*{b-bar-shadow-x}*/ -1px /*{b-bar-shadow-y}*/ 1px /*{b-bar-shadow-radius}*/ #254f7a /*{b-bar-shadow-color}*/; + background-image: -webkit-gradient(linear, left top, left bottom, from(#81a8ce /*{b-bar-background-start}*/), to(#5e87b0 /*{b-bar-background-end}*/)); /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #81a8ce /*{b-bar-background-start}*/, #5e87b0 /*{b-bar-background-end}*/); /* Chrome 10+, Saf5.1+ */ + background-image: -moz-linear-gradient(top, #81a8ce /*{b-bar-background-start}*/, #5e87b0 /*{b-bar-background-end}*/); /* FF3.6 */ + background-image: -ms-linear-gradient(top, #81a8ce /*{b-bar-background-start}*/, #5e87b0 /*{b-bar-background-end}*/); /* IE10 */ + background-image: -o-linear-gradient(top, #81a8ce /*{b-bar-background-start}*/, #5e87b0 /*{b-bar-background-end}*/); /* Opera 11.10+ */ + background-image: linear-gradient(top, #81a8ce /*{b-bar-background-start}*/, #5e87b0 /*{b-bar-background-end}*/); +} +.ui-bar-b, +.ui-bar-b input, +.ui-bar-b select, +.ui-bar-b textarea, +.ui-bar-b button { + font-family: Helvetica, Arial, sans-serif /*{b-bar-font}*/; +} +.ui-bar-b .ui-link-inherit { + color: #fff /*{b-bar-color}*/; +} +.ui-bar-b .ui-link { + color: #7cc4e7 /*{global-link-color}*/; + font-weight: bold; +} + +.ui-body-b { + border: 1px solid #C6C6C6 /*{b-body-border}*/; + background: #cccccc /*{b-body-background-color}*/; + color: #333333 /*{b-body-color}*/; + text-shadow: 0 /*{b-body-shadow-x}*/ 1px /*{b-body-shadow-y}*/ 0 /*{b-body-shadow-radius}*/ #fff /*{b-body-shadow-color}*/; + font-weight: normal; + background-image: -webkit-gradient(linear, left top, left bottom, from(#e6e6e6 /*{b-body-background-start}*/), to(#ccc /*{b-body-background-end}*/)); /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #e6e6e6 /*{b-body-background-start}*/, #ccc /*{b-body-background-end}*/); /* Chrome 10+, Saf5.1+ */ + background-image: -moz-linear-gradient(top, #e6e6e6 /*{b-body-background-start}*/, #ccc /*{b-body-background-end}*/); /* FF3.6 */ + background-image: -ms-linear-gradient(top, #e6e6e6 /*{b-body-background-start}*/, #ccc /*{b-body-background-end}*/); /* IE10 */ + background-image: -o-linear-gradient(top, #e6e6e6 /*{b-body-background-start}*/, #ccc /*{b-body-background-end}*/); /* Opera 11.10+ */ + background-image: linear-gradient(top, #e6e6e6 /*{b-body-background-start}*/, #ccc /*{b-body-background-end}*/); +} +.ui-body-b, +.ui-body-b input, +.ui-body-b select, +.ui-body-b textarea, +.ui-body-b button { + font-family: Helvetica, Arial, sans-serif /*{b-body-font}*/; +} +.ui-body-b .ui-link-inherit { + color: #333333 /*{b-body-color}*/; +} +.ui-body-b .ui-link { + color: #2489CE /*{global-link-color}*/; + font-weight: bold; +} +.ui-btn-up-b { + border: 1px solid #145072 /*{b-bup-border}*/; + background: #2567ab /*{b-bup-background-color}*/; + font-weight: bold; + color: #fff /*{b-bup-color}*/; + text-shadow: 0 /*{b-bup-shadow-x}*/ -1px /*{b-bup-shadow-y}*/ 1px /*{b-bup-shadow-radius}*/ #145072 /*{b-bup-shadow-color}*/; + background-image: -webkit-gradient(linear, left top, left bottom, from(#5f9cc5 /*{b-bup-background-start}*/), to(#396b9e /*{b-bup-background-end}*/)); /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #5f9cc5 /*{b-bup-background-start}*/, #396b9e /*{b-bup-background-end}*/); /* Chrome 10+, Saf5.1+ */ + background-image: -moz-linear-gradient(top, #5f9cc5 /*{b-bup-background-start}*/, #396b9e /*{b-bup-background-end}*/); /* FF3.6 */ + background-image: -ms-linear-gradient(top, #5f9cc5 /*{b-bup-background-start}*/, #396b9e /*{b-bup-background-end}*/); /* IE10 */ + background-image: -o-linear-gradient(top, #5f9cc5 /*{b-bup-background-start}*/, #396b9e /*{b-bup-background-end}*/); /* Opera 11.10+ */ + background-image: linear-gradient(top, #5f9cc5 /*{b-bup-background-start}*/, #396b9e /*{b-bup-background-end}*/); +} +.ui-btn-up-b a.ui-link-inherit { + color: #fff /*{b-bup-color}*/; +} +.ui-btn-hover-b { + border: 1px solid #00516e /*{b-bhover-border}*/; + background: #4b88b6 /*{b-bhover-background-color}*/; + font-weight: bold; + color: #fff /*{b-bhover-color}*/; + text-shadow: 0 /*{b-bhover-shadow-x}*/ -1px /*{b-bhover-shadow-y}*/ 1px /*{b-bhover-shadow-radius}*/ #014D68 /*{b-bhover-shadow-color}*/; + background-image: -webkit-gradient(linear, left top, left bottom, from(#72b0d4 /*{b-bhover-background-start}*/), to(#4b88b6 /*{b-bhover-background-end}*/)); /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #72b0d4 /*{b-bhover-background-start}*/, #4b88b6 /*{b-bhover-background-end}*/); /* Chrome 10+, Saf5.1+ */ + background-image: -moz-linear-gradient(top, #72b0d4 /*{b-bhover-background-start}*/, #4b88b6 /*{b-bhover-background-end}*/); /* FF3.6 */ + background-image: -ms-linear-gradient(top, #72b0d4 /*{b-bhover-background-start}*/, #4b88b6 /*{b-bhover-background-end}*/); /* IE10 */ + background-image: -o-linear-gradient(top, #72b0d4 /*{b-bhover-background-start}*/, #4b88b6 /*{b-bhover-background-end}*/); /* Opera 11.10+ */ + background-image: linear-gradient(top, #72b0d4 /*{b-bhover-background-start}*/, #4b88b6 /*{b-bhover-background-end}*/); +} +.ui-btn-hover-b a.ui-link-inherit { + color: #fff /*{b-bhover-color}*/; +} +.ui-btn-down-b { + border: 1px solid #225377 /*{b-bdown-border}*/; + background: #4e89c5 /*{b-bdown-background-color}*/; + font-weight: bold; + color: #fff /*{b-bdown-color}*/; + text-shadow: 0 /*{b-bdown-shadow-x}*/ -1px /*{b-bdown-shadow-y}*/ 1px /*{b-bdown-shadow-radius}*/ #225377 /*{b-bdown-shadow-color}*/; + background-image: -webkit-gradient(linear, left top, left bottom, from(#396b9e /*{b-bdown-background-start}*/), to(#4e89c5 /*{b-bdown-background-end}*/)); /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #396b9e /*{b-bdown-background-start}*/, #4e89c5 /*{b-bdown-background-end}*/); /* Chrome 10+, Saf5.1+ */ + background-image: -moz-linear-gradient(top, #396b9e /*{b-bdown-background-start}*/, #4e89c5 /*{b-bdown-background-end}*/); /* FF3.6 */ + background-image: -ms-linear-gradient(top, #396b9e /*{b-bdown-background-start}*/, #4e89c5 /*{b-bdown-background-end}*/); /* IE10 */ + background-image: -o-linear-gradient(top, #396b9e /*{b-bdown-background-start}*/, #4e89c5 /*{b-bdown-background-end}*/); /* Opera 11.10+ */ + background-image: linear-gradient(top, #396b9e /*{b-bdown-background-start}*/, #4e89c5 /*{b-bdown-background-end}*/); +} +.ui-btn-down-b a.ui-link-inherit { + color: #fff /*{b-bdown-color}*/; +} +.ui-btn-up-b, +.ui-btn-hover-b, +.ui-btn-down-b { + font-family: Helvetica, Arial, sans-serif /*{b-button-font}*/; + text-decoration: none; +} + + +/* C +-----------------------------------------------------------------------------------------------------------*/ + +.ui-bar-c { + border: 1px solid #B3B3B3 /*{c-bar-border}*/; + background: #e9eaeb /*{c-bar-background-color}*/; + color: #3E3E3E /*{c-bar-color}*/; + font-weight: bold; + text-shadow: 0 /*{c-bar-shadow-x}*/ 1px /*{c-bar-shadow-y}*/ 1px /*{c-bar-shadow-radius}*/ #fff /*{c-bar-shadow-color}*/; + background-image: -webkit-gradient(linear, left top, left bottom, from(#f0f0f0 /*{c-bar-background-start}*/), to(#e9eaeb /*{c-bar-background-end}*/)); /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #f0f0f0 /*{c-bar-background-start}*/, #e9eaeb /*{c-bar-background-end}*/); /* Chrome 10+, Saf5.1+ */ + background-image: -moz-linear-gradient(top, #f0f0f0 /*{c-bar-background-start}*/, #e9eaeb /*{c-bar-background-end}*/); /* FF3.6 */ + background-image: -ms-linear-gradient(top, #f0f0f0 /*{c-bar-background-start}*/, #e9eaeb /*{c-bar-background-end}*/); /* IE10 */ + background-image: -o-linear-gradient(top, #f0f0f0 /*{c-bar-background-start}*/, #e9eaeb /*{c-bar-background-end}*/); /* Opera 11.10+ */ + background-image: linear-gradient(top, #f0f0f0 /*{c-bar-background-start}*/, #e9eaeb /*{c-bar-background-end}*/); +} + +.ui-bar-c .ui-link { + color: #2489CE /*{global-link-color}*/; + font-weight: bold; +} + +.ui-bar-c, +.ui-bar-c input, +.ui-bar-c select, +.ui-bar-c textarea, +.ui-bar-c button { + font-family: Helvetica, Arial, sans-serif /*{c-bar-font}*/; +} +.ui-body-c { + border: 1px solid #B3B3B3 /*{c-body-border}*/; + color: #333333 /*{c-body-color}*/; + text-shadow: 0 /*{c-body-shadow-x}*/ 1px /*{c-body-shadow-y}*/ 0 /*{c-body-shadow-radius}*/ #fff /*{c-body-shadow-color}*/; + background: #f0f0f0 /*{c-body-background-color}*/; + background-image: -webkit-gradient(linear, left top, left bottom, from(#eee /*{c-body-background-start}*/), to(#ddd /*{c-body-background-end}*/)); /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #eee /*{c-body-background-start}*/, #ddd /*{c-body-background-end}*/); /* Chrome 10+, Saf5.1+ */ + background-image: -moz-linear-gradient(top, #eee /*{c-body-background-start}*/, #ddd /*{c-body-background-end}*/); /* FF3.6 */ + background-image: -ms-linear-gradient(top, #eee /*{c-body-background-start}*/, #ddd /*{c-body-background-end}*/); /* IE10 */ + background-image: -o-linear-gradient(top, #eee /*{c-body-background-start}*/, #ddd /*{c-body-background-end}*/); /* Opera 11.10+ */ + background-image: linear-gradient(top, #eee /*{c-body-background-start}*/, #ddd /*{c-body-background-end}*/); +} +.ui-body-c, +.ui-body-c input, +.ui-body-c select, +.ui-body-c textarea, +.ui-body-c button { + font-family: Helvetica, Arial, sans-serif /*{c-body-font}*/; +} +.ui-body-c .ui-link-inherit { + color: #333333 /*{c-body-color}*/; +} +.ui-body-c .ui-link { + color: #2489CE /*{global-link-color}*/; + font-weight: bold; +} + +.ui-btn-up-c { + border: 1px solid #ccc /*{c-bup-border}*/; + background: #eee /*{c-bup-background-color}*/; + font-weight: bold; + color: #444 /*{c-bup-color}*/; + text-shadow: 0 /*{c-bup-shadow-x}*/ 1px /*{c-bup-shadow-y}*/ 1px /*{c-bup-shadow-radius}*/ #f6f6f6 /*{c-bup-shadow-color}*/; + background-image: -webkit-gradient(linear, left top, left bottom, from(#fdfdfd /*{c-bup-background-start}*/), to(#eee /*{c-bup-background-end}*/)); /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #fdfdfd /*{c-bup-background-start}*/, #eee /*{c-bup-background-end}*/); /* Chrome 10+, Saf5.1+ */ + background-image: -moz-linear-gradient(top, #fdfdfd /*{c-bup-background-start}*/, #eee /*{c-bup-background-end}*/); /* FF3.6 */ + background-image: -ms-linear-gradient(top, #fdfdfd /*{c-bup-background-start}*/, #eee /*{c-bup-background-end}*/); /* IE10 */ + background-image: -o-linear-gradient(top, #fdfdfd /*{c-bup-background-start}*/, #eee /*{c-bup-background-end}*/); /* Opera 11.10+ */ + background-image: linear-gradient(top, #fdfdfd /*{c-bup-background-start}*/, #eee /*{c-bup-background-end}*/); +} +.ui-btn-up-c a.ui-link-inherit { + color: #2F3E46 /*{c-bup-color}*/; +} + +.ui-btn-hover-c { + border: 1px solid #bbb /*{c-bhover-border}*/; + background: #dadada /*{c-bhover-background-color}*/; + font-weight: bold; + color: #101010 /*{c-bhover-color}*/; + text-shadow: 0 /*{c-bhover-shadow-x}*/ 1px /*{c-bhover-shadow-y}*/ 1px /*{c-bhover-shadow-radius}*/ #fff /*{c-bhover-shadow-color}*/; + background-image: -webkit-gradient(linear, left top, left bottom, from(#ededed /*{c-bhover-background-start}*/), to(#dadada /*{c-bhover-background-end}*/)); /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #ededed /*{c-bhover-background-start}*/, #dadada /*{c-bhover-background-end}*/); /* Chrome 10+, Saf5.1+ */ + background-image: -moz-linear-gradient(top, #ededed /*{c-bhover-background-start}*/, #dadada /*{c-bhover-background-end}*/); /* FF3.6 */ + background-image: -ms-linear-gradient(top, #ededed /*{c-bhover-background-start}*/, #dadada /*{c-bhover-background-end}*/); /* IE10 */ + background-image: -o-linear-gradient(top, #ededed /*{c-bhover-background-start}*/, #dadada /*{c-bhover-background-end}*/); /* Opera 11.10+ */ + background-image: linear-gradient(top, #ededed /*{c-bhover-background-start}*/, #dadada /*{c-bhover-background-end}*/); +} +.ui-btn-hover-c a.ui-link-inherit { + color: #2F3E46 /*{c-bhover-color}*/; +} +.ui-btn-down-c { + border: 1px solid #808080 /*{c-bdown-border}*/; + background: #fdfdfd /*{c-bdown-background-color}*/; + font-weight: bold; + color: #111111 /*{c-bdown-color}*/; + text-shadow: 0 /*{c-bdown-shadow-x}*/ 1px /*{c-bdown-shadow-y}*/ 1px /*{c-bdown-shadow-radius}*/ #ffffff /*{c-bdown-shadow-color}*/; + background-image: -webkit-gradient(linear, left top, left bottom, from(#eee /*{c-bdown-background-start}*/), to(#fdfdfd /*{c-bdown-background-end}*/)); /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #eee /*{c-bdown-background-start}*/, #fdfdfd /*{c-bdown-background-end}*/); /* Chrome 10+, Saf5.1+ */ + background-image: -moz-linear-gradient(top, #eee /*{c-bdown-background-start}*/, #fdfdfd /*{c-bdown-background-end}*/); /* FF3.6 */ + background-image: -ms-linear-gradient(top, #eee /*{c-bdown-background-start}*/, #fdfdfd /*{c-bdown-background-end}*/); /* IE10 */ + background-image: -o-linear-gradient(top, #eee /*{c-bdown-background-start}*/, #fdfdfd /*{c-bdown-background-end}*/); /* Opera 11.10+ */ + background-image: linear-gradient(top, #eee /*{c-bdown-background-start}*/, #fdfdfd /*{c-bdown-background-end}*/); +} +.ui-btn-down-c a.ui-link-inherit { + color: #2F3E46 /*{c-bdown-color}*/; +} +.ui-btn-up-c, +.ui-btn-hover-c, +.ui-btn-down-c { + font-family: Helvetica, Arial, sans-serif /*{c-button-font}*/; + text-decoration: none; +} + + +/* D +-----------------------------------------------------------------------------------------------------------*/ + +.ui-bar-d { + border: 1px solid #ccc /*{d-bar-border}*/; + background: #bbb /*{d-bar-background-color}*/; + color: #333 /*{d-bar-color}*/; + text-shadow: 0 /*{d-bar-shadow-x}*/ 1px /*{d-bar-shadow-y}*/ 0 /*{d-bar-shadow-radius}*/ #eee /*{d-bar-shadow-color}*/; + background-image: -webkit-gradient(linear, left top, left bottom, from(#ddd /*{d-bar-background-start}*/), to(#bbb /*{d-bar-background-end}*/)); /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #ddd /*{d-bar-background-start}*/, #bbb /*{d-bar-background-end}*/); /* Chrome 10+, Saf5.1+ */ + background-image: -moz-linear-gradient(top, #ddd /*{d-bar-background-start}*/, #bbb /*{d-bar-background-end}*/); /* FF3.6 */ + background-image: -ms-linear-gradient(top, #ddd /*{d-bar-background-start}*/, #bbb /*{d-bar-background-end}*/); /* IE10 */ + background-image: -o-linear-gradient(top, #ddd /*{d-bar-background-start}*/, #bbb /*{d-bar-background-end}*/); /* Opera 11.10+ */ + background-image: linear-gradient(top, #ddd /*{d-bar-background-start}*/, #bbb /*{d-bar-background-end}*/); +} +.ui-bar-d, +.ui-bar-d input, +.ui-bar-d select, +.ui-bar-d textarea, +.ui-bar-d button { + font-family: Helvetica, Arial, sans-serif /*{d-bar-font}*/; +} +.ui-bar-d .ui-link-inherit { + color: #333 /*{d-bar-color}*/; +} +.ui-bar-d .ui-link { + color: #2489CE /*{global-link-color}*/; + font-weight: bold; +} +.ui-body-d { + border: 1px solid #ccc /*{d-body-border}*/; + color: #333333 /*{d-body-color}*/; + text-shadow: 0 /*{d-body-shadow-x}*/ 1px /*{d-body-shadow-y}*/ 0 /*{d-body-shadow-radius}*/ #fff /*{d-body-shadow-color}*/; + background: #ffffff /*{d-body-background-color}*/; + background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#fff /*{d-body-background-end}*/)); /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #fff /*{d-body-background-start}*/, #fff /*{d-body-background-end}*/); /* Chrome 10+, Saf5.1+ */ + background-image: -moz-linear-gradient(top, #fff /*{d-body-background-start}*/, #fff /*{d-body-background-end}*/); /* FF3.6 */ + background-image: -ms-linear-gradient(top, #fff /*{d-body-background-start}*/, #fff /*{d-body-background-end}*/); /* IE10 */ + background-image: -o-linear-gradient(top, #fff /*{d-body-background-start}*/, #fff /*{d-body-background-end}*/); /* Opera 11.10+ */ + background-image: linear-gradient(top, #fff /*{d-body-background-start}*/, #fff /*{d-body-background-end}*/); +} +.ui-body-d, +.ui-body-d input, +.ui-body-d select, +.ui-body-d textarea, +.ui-body-d button { + font-family: Helvetica, Arial, sans-serif /*{d-body-font}*/; +} +.ui-body-d .ui-link-inherit { + color: #333333 /*{d-body-color}*/; +} +.ui-body-d .ui-link { + color: #2489CE /*{global-link-color}*/; + font-weight: bold; +} +.ui-btn-up-d { + border: 1px solid #ccc /*{d-bup-border}*/; + background: #fff /*{d-bup-background-color}*/; + font-weight: bold; + color: #444 /*{d-bup-color}*/; + text-shadow: 0 /*{d-bup-shadow-x}*/ 1px /*{d-bup-shadow-y}*/ 1px /*{d-bup-shadow-radius}*/ #fff /*{d-bup-shadow-color}*/; + background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#fff /*{d-bup-background-end}*/)); /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #fff /*{d-bup-background-start}*/, #fff /*{d-bup-background-end}*/); /* Chrome 10+, Saf5.1+ */ + background-image: -moz-linear-gradient(top, #fff /*{d-bup-background-start}*/, #fff /*{d-bup-background-end}*/); /* FF3.6 */ + background-image: -ms-linear-gradient(top, #fff /*{d-bup-background-start}*/, #fff /*{d-bup-background-end}*/); /* IE10 */ + background-image: -o-linear-gradient(top, #fff /*{d-bup-background-start}*/, #fff /*{d-bup-background-end}*/); /* Opera 11.10+ */ + background-image: linear-gradient(top, #fff /*{d-bup-background-start}*/, #fff /*{d-bup-background-end}*/); +} +.ui-btn-up-d a.ui-link-inherit { + color: #333 /*{d-bup-color}*/; +} +.ui-btn-hover-d { + border: 1px solid #aaa /*{d-bhover-border}*/; + background: #eeeeee /*{d-bhover-background-color}*/; + font-weight: bold; + color: #222 /*{d-bhover-color}*/; + cursor: pointer; + text-shadow: 0 /*{d-bhover-shadow-x}*/ 1px /*{d-bhover-shadow-y}*/ 1px /*{d-bhover-shadow-radius}*/ #fff /*{d-bhover-shadow-color}*/; + background-image: -webkit-gradient(linear, left top, left bottom, from(#fdfdfd), to(#eee /*{d-bhover-background-end}*/)); /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #fdfdfd /*{d-bhover-background-start}*/, #eee /*{d-bhover-background-end}*/); /* Chrome 10+, Saf5.1+ */ + background-image: -moz-linear-gradient(top, #fdfdfd /*{d-bhover-background-start}*/, #eee /*{d-bhover-background-end}*/); /* FF3.6 */ + background-image: -ms-linear-gradient(top, #fdfdfd /*{d-bhover-background-start}*/, #eee /*{d-bhover-background-end}*/); /* IE10 */ + background-image: -o-linear-gradient(top, #fdfdfd /*{d-bhover-background-start}*/, #eee /*{d-bhover-background-end}*/); /* Opera 11.10+ */ + background-image: linear-gradient(top, #fdfdfd /*{d-bhover-background-start}*/, #eee /*{d-bhover-background-end}*/); +} +.ui-btn-hover-d a.ui-link-inherit { + color: #222 /*{d-bhover-color}*/; +} +.ui-btn-down-d { + border: 1px solid #aaaaaa /*{d-bdown-border}*/; + background: #ffffff /*{d-bdown-background-color}*/; + font-weight: bold; + color: #111 /*{d-bdown-color}*/; + text-shadow: 0 /*{d-bdown-shadow-x}*/ 1px /*{d-bdown-shadow-y}*/ 1px /*{d-bdown-shadow-radius}*/ #ffffff /*{d-bdown-shadow-color}*/; + background-image: -webkit-gradient(linear, left top, left bottom, from(#eee /*{d-bdown-background-start}*/), to(#fff /*{d-bdown-background-end}*/)); /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #eee /*{d-bdown-background-start}*/, #fff /*{d-bdown-background-end}*/); /* Chrome 10+, Saf5.1+ */ + background-image: -moz-linear-gradient(top, #eee /*{d-bdown-background-start}*/, #fff /*{d-bdown-background-end}*/); /* FF3.6 */ + background-image: -ms-linear-gradient(top, #eee /*{d-bdown-background-start}*/, #fff /*{d-bdown-background-end}*/); /* IE10 */ + background-image: -o-linear-gradient(top, #eee /*{d-bdown-background-start}*/, #fff /*{d-bdown-background-end}*/); /* Opera 11.10+ */ + background-image: linear-gradient(top, #eee /*{d-bdown-background-start}*/, #fff /*{d-bdown-background-end}*/); +} +.ui-btn-down-d a.ui-link-inherit { + color: #111 /*{d-bdown-color}*/; +} +.ui-btn-up-d, +.ui-btn-hover-d, +.ui-btn-down-d { + font-family: Helvetica, Arial, sans-serif /*{d-button-font}*/; + text-decoration: none; +} + + +/* E +-----------------------------------------------------------------------------------------------------------*/ + +.ui-bar-e { + border: 1px solid #F7C942 /*{e-bar-border}*/; + background: #fadb4e /*{e-bar-background-color}*/; + color: #333 /*{e-bar-color}*/; + text-shadow: 0 /*{e-bar-shadow-x}*/ 1px /*{e-bar-shadow-y}*/ 0 /*{e-bar-shadow-radius}*/ #fff /*{e-bar-shadow-color}*/; + background-image: -webkit-gradient(linear, left top, left bottom, from(#fceda7 /*{e-bar-background-start}*/), to(#fadb4e /*{e-bar-background-end}*/)); /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #fceda7 /*{e-bar-background-start}*/, #fadb4e /*{e-bar-background-end}*/); /* Chrome 10+, Saf5.1+ */ + background-image: -moz-linear-gradient(top, #fceda7 /*{e-bar-background-start}*/, #fadb4e /*{e-bar-background-end}*/); /* FF3.6 */ + background-image: -ms-linear-gradient(top, #fceda7 /*{e-bar-background-start}*/, #fadb4e /*{e-bar-background-end}*/); /* IE10 */ + background-image: -o-linear-gradient(top, #fceda7 /*{e-bar-background-start}*/, #fadb4e /*{e-bar-background-end}*/); /* Opera 11.10+ */ + background-image: linear-gradient(top, #fceda7 /*{e-bar-background-start}*/, #fadb4e /*{e-bar-background-end}*/); +} +.ui-bar-e, +.ui-bar-e input, +.ui-bar-e select, +.ui-bar-e textarea, +.ui-bar-e button { + font-family: Helvetica, Arial, sans-serif /*{e-bar-font}*/; +} +.ui-bar-e .ui-link-inherit { + color: #333 /*{e-bar-color}*/; +} +.ui-bar-e .ui-link { + color: #2489CE /*{global-link-color}*/; + font-weight: bold; +} +.ui-body-e { + border: 1px solid #F7C942 /*{e-body-border}*/; + color: #333333 /*{e-body-color}*/; + text-shadow: 0 /*{e-body-shadow-x}*/ 1px /*{e-body-shadow-y}*/ 0 /*{e-body-shadow-radius}*/ #fff /*{e-body-shadow-color}*/; + background: #faeb9e /*{e-body-background-color}*/; + background-image: -webkit-gradient(linear, left top, left bottom, from(#fff /*{e-body-background-start}*/), to(#faeb9e /*{e-body-background-end}*/)); /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #fff /*{e-body-background-start}*/, #faeb9e /*{e-body-background-end}*/); /* Chrome 10+, Saf5.1+ */ + background-image: -moz-linear-gradient(top, #fff /*{e-body-background-start}*/, #faeb9e /*{e-body-background-end}*/); /* FF3.6 */ + background-image: -ms-linear-gradient(top, #fff /*{e-body-background-start}*/, #faeb9e /*{e-body-background-end}*/); /* IE10 */ + background-image: -o-linear-gradient(top, #fff /*{e-body-background-start}*/, #faeb9e /*{e-body-background-end}*/); /* Opera 11.10+ */ + background-image: linear-gradient(top, #fff /*{e-body-background-start}*/, #faeb9e /*{e-body-background-end}*/); +} +.ui-body-e, +.ui-body-e input, +.ui-body-e select, +.ui-body-e textarea, +.ui-body-e button { + font-family: Helvetica, Arial, sans-serif /*{e-body-font}*/; +} +.ui-body-e .ui-link-inherit { + color: #333333 /*{e-body-color}*/; +} +.ui-body-e .ui-link { + color: #2489CE /*{global-link-color}*/; + font-weight: bold; +} +.ui-btn-up-e { + border: 1px solid #F7C942 /*{e-bup-border}*/; + background: #fadb4e /*{e-bup-background-color}*/; + font-weight: bold; + color: #333 /*{e-bup-color}*/; + text-shadow: 0 /*{e-bup-shadow-x}*/ 1px /*{e-bup-shadow-y}*/ 0 /*{e-bup-shadow-radius}*/ #fff /*{e-bup-shadow-color}*/; + background-image: -webkit-gradient(linear, left top, left bottom, from(#fceda7 /*{e-bup-background-start}*/), to(#fadb4e /*{e-bup-background-end}*/)); /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #fceda7 /*{e-bup-background-start}*/, #fadb4e /*{e-bup-background-end}*/); /* Chrome 10+, Saf5.1+ */ + background-image: -moz-linear-gradient(top, #fceda7 /*{e-bup-background-start}*/, #fadb4e /*{e-bup-background-end}*/); /* FF3.6 */ + background-image: -ms-linear-gradient(top, #fceda7 /*{e-bup-background-start}*/, #fadb4e /*{e-bup-background-end}*/); /* IE10 */ + background-image: -o-linear-gradient(top, #fceda7 /*{e-bup-background-start}*/, #fadb4e /*{e-bup-background-end}*/); /* Opera 11.10+ */ + background-image: linear-gradient(top, #fceda7 /*{e-bup-background-start}*/, #fadb4e /*{e-bup-background-end}*/); +} +.ui-btn-up-e a.ui-link-inherit { + color: #333 /*{e-bup-color}*/; +} +.ui-btn-hover-e { + border: 1px solid #e79952 /*{e-bhover-border}*/; + background: #fbe26f /*{e-bhover-background-color}*/; + font-weight: bold; + color: #111 /*{e-bhover-color}*/; + text-shadow: 0 /*{e-bhover-shadow-x}*/ 1px /*{e-bhover-shadow-y}*/ 1px /*{e-bhover-shadow-radius}*/ #fff /*{e-bhover-shadow-color}*/; + background-image: -webkit-gradient(linear, left top, left bottom, from(#fcf0b5 /*{e-bhover-background-start}*/), to(#fbe26f /*{e-bhover-background-end}*/)); /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #fcf0b5 /*{e-bhover-background-start}*/, #fbe26f /*{e-bhover-background-end}*/); /* Chrome 10+, Saf5.1+ */ + background-image: -moz-linear-gradient(top, #fcf0b5 /*{e-bhover-background-start}*/, #fbe26f /*{e-bhover-background-end}*/); /* FF3.6 */ + background-image: -ms-linear-gradient(top, #fcf0b5 /*{e-bhover-background-start}*/, #fbe26f /*{e-bhover-background-end}*/); /* IE10 */ + background-image: -o-linear-gradient(top, #fcf0b5 /*{e-bhover-background-start}*/, #fbe26f /*{e-bhover-background-end}*/); /* Opera 11.10+ */ + background-image: linear-gradient(top, #fcf0b5 /*{e-bhover-background-start}*/, #fbe26f /*{e-bhover-background-end}*/); +} + +.ui-btn-hover-e a.ui-link-inherit { + color: #333 /*{e-bhover-color}*/; +} +.ui-btn-down-e { + border: 1px solid #F7C942 /*{e-bdown-border}*/; + background: #fceda7 /*{e-bdown-background-color}*/; + font-weight: bold; + color: #111 /*{e-bdown-color}*/; + text-shadow: 0 /*{e-bdown-shadow-x}*/ 1px /*{e-bdown-shadow-y}*/ 1px /*{e-bdown-shadow-radius}*/ #ffffff /*{e-bdown-shadow-color}*/; + background-image: -webkit-gradient(linear, left top, left bottom, from(#fadb4e /*{e-bdown-background-start}*/), to(#fceda7 /*{e-bdown-background-end}*/)); /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #fadb4e /*{e-bdown-background-start}*/, #fceda7 /*{e-bdown-background-end}*/); /* Chrome 10+, Saf5.1+ */ + background-image: -moz-linear-gradient(top, #fadb4e /*{e-bdown-background-start}*/, #fceda7 /*{e-bdown-background-end}*/); /* FF3.6 */ + background-image: -ms-linear-gradient(top, #fadb4e /*{e-bdown-background-start}*/, #fceda7 /*{e-bdown-background-end}*/); /* IE10 */ + background-image: -o-linear-gradient(top, #fadb4e /*{e-bdown-background-start}*/, #fceda7 /*{e-bdown-background-end}*/); /* Opera 11.10+ */ + background-image: linear-gradient(top, #fadb4e /*{e-bdown-background-start}*/, #fceda7 /*{e-bdown-background-end}*/); +} +.ui-btn-down-e a.ui-link-inherit { + color: #333 /*{e-bdown-color}*/; +} +.ui-btn-up-e, +.ui-btn-hover-e, +.ui-btn-down-e { + font-family: Helvetica, Arial, sans-serif /*{e-button-font}*/; + text-decoration: none; +} + +/* Structure */ + +/* links within "buttons" +-----------------------------------------------------------------------------------------------------------*/ + +a.ui-link-inherit { + text-decoration: none !important; +} + +/* links and their different states +-----------------------------------------------------------------------------------------------------------*/ + +.ui-link{ + color: #2489CE /*{global-link-color}*/ +} + +.ui-link:hover{ + color: #2489CE /*{global-link-hover}*/ +} + +.ui-link:active{ + color: #2489CE /*{global-link-active}*/ +} + +.ui-link:visited{ + color: #2489CE /*{global-link-visited}*/ +} + +/* Active class used as the "on" state across all themes +-----------------------------------------------------------------------------------------------------------*/ + +.ui-btn-active { + border: 1px solid #155678 /*{global-active-border}*/; + background: #4596ce /*{global-active-background-color}*/; + font-weight: bold; + color: #fff /*{global-active-color}*/; + cursor: pointer; + text-shadow: 0 /*{global-active-shadow-x}*/ -1px /*{global-active-shadow-y}*/ 1px /*{global-active-shadow-radius}*/ #145072 /*{global-active-shadow-color}*/; + text-decoration: none; + background-image: -webkit-gradient(linear, left top, left bottom, from(#85bae4 /*{global-active-background-start}*/), to(#5393c5 /*{global-active-background-end}*/)); /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #85bae4 /*{global-active-background-start}*/, #5393c5 /*{global-active-background-end}*/); /* Chrome 10+, Saf5.1+ */ + background-image: -moz-linear-gradient(top, #85bae4 /*{global-active-background-start}*/, #5393c5 /*{global-active-background-end}*/); /* FF3.6 */ + background-image: -ms-linear-gradient(top, #85bae4 /*{global-active-background-start}*/, #5393c5 /*{global-active-background-end}*/); /* IE10 */ + background-image: -o-linear-gradient(top, #85bae4 /*{global-active-background-start}*/, #5393c5 /*{global-active-background-end}*/); /* Opera 11.10+ */ + background-image: linear-gradient(top, #85bae4 /*{global-active-background-start}*/, #5393c5 /*{global-active-background-end}*/); + outline: none; + font-family: Helvetica, Arial, sans-serif /*{global-active-font}*/; +} +.ui-btn-active a.ui-link-inherit { + color: #fff /*{global-active-color}*/; +} + + +/* button inner top highlight +-----------------------------------------------------------------------------------------------------------*/ + +.ui-btn-inner { + border-top: 1px solid #fff; + border-color: rgba(255,255,255,.3); +} + + +/* corner rounding classes +-----------------------------------------------------------------------------------------------------------*/ + +.ui-corner-tl { + -moz-border-radius-topleft: .6em /*{global-radii-blocks}*/; + -webkit-border-top-left-radius: .6em /*{global-radii-blocks}*/; + border-top-left-radius: .6em /*{global-radii-blocks}*/; +} +.ui-corner-tr { + -moz-border-radius-topright: .6em /*{global-radii-blocks}*/; + -webkit-border-top-right-radius: .6em /*{global-radii-blocks}*/; + border-top-right-radius: .6em /*{global-radii-blocks}*/; +} +.ui-corner-bl { + -moz-border-radius-bottomleft: .6em /*{global-radii-blocks}*/; + -webkit-border-bottom-left-radius: .6em /*{global-radii-blocks}*/; + border-bottom-left-radius: .6em /*{global-radii-blocks}*/; +} +.ui-corner-br { + -moz-border-radius-bottomright: .6em /*{global-radii-blocks}*/; + -webkit-border-bottom-right-radius: .6em /*{global-radii-blocks}*/; + border-bottom-right-radius: .6em /*{global-radii-blocks}*/; +} +.ui-corner-top { + -moz-border-radius-topleft: .6em /*{global-radii-blocks}*/; + -webkit-border-top-left-radius: .6em /*{global-radii-blocks}*/; + border-top-left-radius: .6em /*{global-radii-blocks}*/; + -moz-border-radius-topright: .6em /*{global-radii-blocks}*/; + -webkit-border-top-right-radius: .6em /*{global-radii-blocks}*/; + border-top-right-radius: .6em /*{global-radii-blocks}*/; +} +.ui-corner-bottom { + -moz-border-radius-bottomleft: .6em /*{global-radii-blocks}*/; + -webkit-border-bottom-left-radius: .6em /*{global-radii-blocks}*/; + border-bottom-left-radius: .6em /*{global-radii-blocks}*/; + -moz-border-radius-bottomright: .6em /*{global-radii-blocks}*/; + -webkit-border-bottom-right-radius: .6em /*{global-radii-blocks}*/; + border-bottom-right-radius: .6em /*{global-radii-blocks}*/; + } +.ui-corner-right { + -moz-border-radius-topright: .6em /*{global-radii-blocks}*/; + -webkit-border-top-right-radius: .6em /*{global-radii-blocks}*/; + border-top-right-radius: .6em /*{global-radii-blocks}*/; + -moz-border-radius-bottomright: .6em /*{global-radii-blocks}*/; + -webkit-border-bottom-right-radius: .6em /*{global-radii-blocks}*/; + border-bottom-right-radius: .6em /*{global-radii-blocks}*/; +} +.ui-corner-left { + -moz-border-radius-topleft: .6em /*{global-radii-blocks}*/; + -webkit-border-top-left-radius: .6em /*{global-radii-blocks}*/; + border-top-left-radius: .6em /*{global-radii-blocks}*/; + -moz-border-radius-bottomleft: .6em /*{global-radii-blocks}*/; + -webkit-border-bottom-left-radius: .6em /*{global-radii-blocks}*/; + border-bottom-left-radius: .6em /*{global-radii-blocks}*/; +} +.ui-corner-all { + -moz-border-radius: .6em /*{global-radii-blocks}*/; + -webkit-border-radius: .6em /*{global-radii-blocks}*/; + border-radius: .6em /*{global-radii-blocks}*/; +} +.ui-corner-none { + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; +} + +/* Interaction cues +-----------------------------------------------------------------------------------------------------------*/ +.ui-disabled { + opacity: .3; +} +.ui-disabled, +.ui-disabled a { + cursor: default; +} + +/* Icons +-----------------------------------------------------------------------------------------------------------*/ + +.ui-icon, +.ui-icon-searchfield:after { + background: #666 /*{global-icon-color}*/; + background: rgba(0,0,0,.4) /*{global-icon-disc}*/; + background-image: url(images/icons-18-white.png) /*{global-icon-set}*/; + background-repeat: no-repeat; + -moz-border-radius: 9px; + -webkit-border-radius: 9px; + border-radius: 9px; +} + + +/* Alt icon color +-----------------------------------------------------------------------------------------------------------*/ + +.ui-icon-alt { + background: #fff; + background: rgba(255,255,255,.3); + background-image: url(images/icons-18-black.png); + background-repeat: no-repeat; +} + +/* HD/"retina" sprite +-----------------------------------------------------------------------------------------------------------*/ + +@media only screen and (-webkit-min-device-pixel-ratio: 1.5), + only screen and (min--moz-device-pixel-ratio: 1.5), + only screen and (min-resolution: 240dpi) { + + .ui-icon-plus, .ui-icon-minus, .ui-icon-delete, .ui-icon-arrow-r, + .ui-icon-arrow-l, .ui-icon-arrow-u, .ui-icon-arrow-d, .ui-icon-check, + .ui-icon-gear, .ui-icon-refresh, .ui-icon-forward, .ui-icon-back, + .ui-icon-grid, .ui-icon-star, .ui-icon-alert, .ui-icon-info, .ui-icon-home, .ui-icon-search, .ui-icon-searchfield:after, + .ui-icon-checkbox-off, .ui-icon-checkbox-on, .ui-icon-radio-off, .ui-icon-radio-on { + background-image: url(images/icons-36-white.png); + -moz-background-size: 776px 18px; + -o-background-size: 776px 18px; + -webkit-background-size: 776px 18px; + background-size: 776px 18px; + } + .ui-icon-alt { + background-image: url(images/icons-36-black.png); + } +} + +/* plus minus */ +.ui-icon-plus { + background-position: -0 50%; +} +.ui-icon-minus { + background-position: -36px 50%; +} + +/* delete/close */ +.ui-icon-delete { + background-position: -72px 50%; +} + +/* arrows */ +.ui-icon-arrow-r { + background-position: -108px 50%; +} +.ui-icon-arrow-l { + background-position: -144px 50%; +} +.ui-icon-arrow-u { + background-position: -180px 50%; +} +.ui-icon-arrow-d { + background-position: -216px 50%; +} + +/* misc */ +.ui-icon-check { + background-position: -252px 50%; +} +.ui-icon-gear { + background-position: -288px 50%; +} +.ui-icon-refresh { + background-position: -324px 50%; +} +.ui-icon-forward { + background-position: -360px 50%; +} +.ui-icon-back { + background-position: -396px 50%; +} +.ui-icon-grid { + background-position: -432px 50%; +} +.ui-icon-star { + background-position: -468px 50%; +} +.ui-icon-alert { + background-position: -504px 50%; +} +.ui-icon-info { + background-position: -540px 50%; +} +.ui-icon-home { + background-position: -576px 50%; +} +.ui-icon-search, +.ui-icon-searchfield:after { + background-position: -612px 50%; +} +.ui-icon-checkbox-off { + background-position: -684px 50%; +} +.ui-icon-checkbox-on { + background-position: -648px 50%; +} +.ui-icon-radio-off { + background-position: -756px 50%; +} +.ui-icon-radio-on { + background-position: -720px 50%; +} + + +/* checks,radios */ +.ui-checkbox .ui-icon { + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; +} +.ui-icon-checkbox-off, +.ui-icon-radio-off { + background-color: transparent; +} +.ui-checkbox-on .ui-icon, +.ui-radio-on .ui-icon { + background-color: #4596ce /*{global-active-background-color}*/; /* NOTE: this hex should match the active state color. It's repeated here for cascade */ +} + +/* loading icon */ +.ui-icon-loading { + background-image: url(images/ajax-loader.png); + width: 40px; + height: 40px; + -moz-border-radius: 20px; + -webkit-border-radius: 20px; + border-radius: 20px; + background-size: 35px 35px; +} + + +/* Button corner classes +-----------------------------------------------------------------------------------------------------------*/ + +.ui-btn-corner-tl { + -moz-border-radius-topleft: 1em /*{global-radii-buttons}*/; + -webkit-border-top-left-radius: 1em /*{global-radii-buttons}*/; + border-top-left-radius: 1em /*{global-radii-buttons}*/; +} +.ui-btn-corner-tr { + -moz-border-radius-topright: 1em /*{global-radii-buttons}*/; + -webkit-border-top-right-radius: 1em /*{global-radii-buttons}*/; + border-top-right-radius: 1em /*{global-radii-buttons}*/; +} +.ui-btn-corner-bl { + -moz-border-radius-bottomleft: 1em /*{global-radii-buttons}*/; + -webkit-border-bottom-left-radius: 1em /*{global-radii-buttons}*/; + border-bottom-left-radius: 1em /*{global-radii-buttons}*/; +} +.ui-btn-corner-br { + -moz-border-radius-bottomright: 1em /*{global-radii-buttons}*/; + -webkit-border-bottom-right-radius: 1em /*{global-radii-buttons}*/; + border-bottom-right-radius: 1em /*{global-radii-buttons}*/; +} +.ui-btn-corner-top { + -moz-border-radius-topleft: 1em /*{global-radii-buttons}*/; + -webkit-border-top-left-radius: 1em /*{global-radii-buttons}*/; + border-top-left-radius: 1em /*{global-radii-buttons}*/; + -moz-border-radius-topright: 1em /*{global-radii-buttons}*/; + -webkit-border-top-right-radius: 1em /*{global-radii-buttons}*/; + border-top-right-radius: 1em /*{global-radii-buttons}*/; +} +.ui-btn-corner-bottom { + -moz-border-radius-bottomleft: 1em /*{global-radii-buttons}*/; + -webkit-border-bottom-left-radius: 1em /*{global-radii-buttons}*/; + border-bottom-left-radius: 1em /*{global-radii-buttons}*/; + -moz-border-radius-bottomright: 1em /*{global-radii-buttons}*/; + -webkit-border-bottom-right-radius: 1em /*{global-radii-buttons}*/; + border-bottom-right-radius: 1em /*{global-radii-buttons}*/; +} +.ui-btn-corner-right { + -moz-border-radius-topright: 1em /*{global-radii-buttons}*/; + -webkit-border-top-right-radius: 1em /*{global-radii-buttons}*/; + border-top-right-radius: 1em /*{global-radii-buttons}*/; + -moz-border-radius-bottomright: 1em /*{global-radii-buttons}*/; + -webkit-border-bottom-right-radius: 1em /*{global-radii-buttons}*/; + border-bottom-right-radius: 1em /*{global-radii-buttons}*/; +} +.ui-btn-corner-left { + -moz-border-radius-topleft: 1em /*{global-radii-buttons}*/; + -webkit-border-top-left-radius: 1em /*{global-radii-buttons}*/; + border-top-left-radius: 1em /*{global-radii-buttons}*/; + -moz-border-radius-bottomleft: 1em /*{global-radii-buttons}*/; + -webkit-border-bottom-left-radius: 1em /*{global-radii-buttons}*/; + border-bottom-left-radius: 1em /*{global-radii-buttons}*/; +} +.ui-btn-corner-all { + -moz-border-radius: 1em /*{global-radii-buttons}*/; + -webkit-border-radius: 1em /*{global-radii-buttons}*/; + border-radius: 1em /*{global-radii-buttons}*/; +} + +/* radius clip workaround for cleaning up corner trapping */ +.ui-corner-tl, +.ui-corner-tr, +.ui-corner-bl, +.ui-corner-br, +.ui-corner-top, +.ui-corner-bottom, +.ui-corner-right, +.ui-corner-left, +.ui-corner-all, +.ui-btn-corner-tl, +.ui-btn-corner-tr, +.ui-btn-corner-bl, +.ui-btn-corner-br, +.ui-btn-corner-top, +.ui-btn-corner-bottom, +.ui-btn-corner-right, +.ui-btn-corner-left, +.ui-btn-corner-all { + -webkit-background-clip: padding-box; + -moz-background-clip: padding; + background-clip: padding-box; +} + +/* Overlay / modal +-----------------------------------------------------------------------------------------------------------*/ + +.ui-overlay { + background: #666; + opacity: .5; + filter: Alpha(Opacity=50); + position: absolute; + width: 100%; + height: 100%; +} +.ui-overlay-shadow { + -moz-box-shadow: 0px 0px 12px rgba(0,0,0,.6); + -webkit-box-shadow: 0px 0px 12px rgba(0,0,0,.6); + box-shadow: 0px 0px 12px rgba(0,0,0,.6); +} +.ui-shadow { + -moz-box-shadow: 0px 1px 4px /*{global-box-shadow-size}*/ rgba(0,0,0,.3) /*{global-box-shadow-color}*/; + -webkit-box-shadow: 0px 1px 4px /*{global-box-shadow-size}*/ rgba(0,0,0,.3) /*{global-box-shadow-color}*/; + box-shadow: 0px 1px 4px /*{global-box-shadow-size}*/ rgba(0,0,0,.3) /*{global-box-shadow-color}*/; +} +.ui-bar-a .ui-shadow, +.ui-bar-b .ui-shadow , +.ui-bar-c .ui-shadow { + -moz-box-shadow: 0px 1px 0 rgba(255,255,255,.3); + -webkit-box-shadow: 0px 1px 0 rgba(255,255,255,.3); + box-shadow: 0px 1px 0 rgba(255,255,255,.3); +} +.ui-shadow-inset { + -moz-box-shadow: inset 0px 1px 4px rgba(0,0,0,.2); + -webkit-box-shadow: inset 0px 1px 4px rgba(0,0,0,.2); + box-shadow: inset 0px 1px 4px rgba(0,0,0,.2); +} +.ui-icon-shadow { + -moz-box-shadow: 0px 1px 0 rgba(255,255,255,.4); + -webkit-box-shadow: 0px 1px 0 rgba(255,255,255,.4); + box-shadow: 0px 1px 0 rgba(255,255,255,.4); +} + +/* Focus state - set here for specificity +-----------------------------------------------------------------------------------------------------------*/ + +.ui-focus { + -moz-box-shadow: 0px 0px 12px #387bbe /*{global-active-background-color}*/; + -webkit-box-shadow: 0px 0px 12px #387bbe /*{global-active-background-color}*/; + box-shadow: 0px 0px 12px #387bbe /*{global-active-background-color}*/; +} + +/* unset box shadow in browsers that don't do it right +-----------------------------------------------------------------------------------------------------------*/ + +.ui-mobile-nosupport-boxshadow * { + -moz-box-shadow: none !important; + -webkit-box-shadow: none !important; + box-shadow: none !important; +} + +/* ...and bring back focus */ +.ui-mobile-nosupport-boxshadow .ui-focus { + outline-width: 2px; +}/* +* jQuery Mobile Framework +* Copyright (c) jQuery Project +* Dual licensed under the MIT (MIT-LICENSE.txt) and GPL (GPL-LICENSE.txt) licenses. +*/ + +/* some unsets - more probably needed */ +.ui-mobile, .ui-mobile body { height: 100%; } +.ui-mobile fieldset, .ui-page { padding: 0; margin: 0; } +.ui-mobile a img, .ui-mobile fieldset { border: 0; } + +/* responsive page widths */ +.ui-mobile-viewport { margin: 0; overflow-x: hidden; -webkit-text-size-adjust: none; -ms-text-size-adjust:none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } + +/* "page" containers - full-screen views, one should always be in view post-pageload */ +.ui-mobile [data-role=page], .ui-mobile [data-role=dialog], .ui-page { top: 0; left: 0; width: 100%; min-height: 100%; position: absolute; display: none; border: 0; } +.ui-mobile .ui-page-active { display: block; overflow: visible; } + +/* on ios4, setting focus on the page element causes flashing during transitions when there is an outline, so we turn off outlines */ +.ui-page { outline: none; } + +/* native overflow scrolling */ +.ui-page.ui-mobile-touch-overflow, +.ui-mobile-touch-overflow.ui-native-fixed .ui-content { + overflow: auto; + height: 100%; + -webkit-overflow-scrolling: touch; + -moz-overflow-scrolling: touch; + -o-overflow-scrolling: touch; + -ms-overflow-scrolling: touch; + overflow-scrolling: touch; +} +.ui-page.ui-mobile-touch-overflow, +.ui-page.ui-mobile-touch-overflow * { + /* some level of transform keeps elements from blinking out of visibility on iOS */ + -webkit-transform: rotateY(0); +} +.ui-page.ui-mobile-pre-transition { + display: block; +} + +/* loading screen */ +.ui-loading .ui-mobile-viewport { overflow: hidden !important; } +.ui-loading .ui-loader { display: block; } +.ui-loading .ui-page { overflow: hidden; } +.ui-loader { display: none; position: absolute; opacity: .85; z-index: 100; left: 50%; width: 200px; margin-left: -130px; margin-top: -35px; padding: 10px 30px; } +.ui-loader h1 { font-size: 15px; text-align: center; } +.ui-loader .ui-icon { position: static; display: block; opacity: .9; margin: 0 auto; width: 35px; height: 35px; background-color: transparent; } + +/*fouc*/ +.ui-mobile-rendering > * { visibility: hidden; } + +/*headers, content panels*/ +.ui-bar, .ui-body { position: relative; padding: .4em 15px; overflow: hidden; display: block; clear:both; } +.ui-bar { font-size: 16px; margin: 0; } +.ui-bar h1, .ui-bar h2, .ui-bar h3, .ui-bar h4, .ui-bar h5, .ui-bar h6 { margin: 0; padding: 0; font-size: 16px; display: inline-block; } + +.ui-header, .ui-footer { display: block; } +.ui-page .ui-header, .ui-page .ui-footer { position: relative; } +.ui-header .ui-btn-left { position: absolute; left: 10px; top: .4em; } +.ui-header .ui-btn-right { position: absolute; right: 10px; top: .4em; } +.ui-header .ui-title, .ui-footer .ui-title { min-height: 1.1em; text-align: center; font-size: 16px; display: block; margin: .6em 90px .8em; padding: 0; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; outline: 0 !important; } + +/*content area*/ +.ui-content { border-width: 0; overflow: visible; overflow-x: hidden; padding: 15px; } +.ui-page-fullscreen .ui-content { padding:0; } + +/* native fixed headers and footers */ +.ui-mobile-touch-overflow.ui-page.ui-native-fixed, +.ui-mobile-touch-overflow.ui-page.ui-native-fullscreen { + overflow: visible; +} +.ui-mobile-touch-overflow.ui-native-fixed .ui-header, +.ui-mobile-touch-overflow.ui-native-fixed .ui-footer { + position: fixed; + left: 0; + right: 0; + top: 0; + z-index: 200; +} +.ui-mobile-touch-overflow.ui-page.ui-native-fixed .ui-footer { + top: auto; + bottom: 0; +} +.ui-mobile-touch-overflow.ui-native-fixed .ui-content { + padding-top: 2.5em; + padding-bottom: 3em; + top: 0; + bottom: 0; + height: auto; + position: absolute; +} +.ui-mobile-touch-overflow.ui-native-fullscreen .ui-content { + padding-top: 0; + padding-bottom: 0; +} +.ui-mobile-touch-overflow.ui-native-fullscreen .ui-header, +.ui-mobile-touch-overflow.ui-native-fullscreen .ui-footer { + opacity: .9; +} +.ui-native-bars-hidden { + display: none; +} + +/* icons sizing */ +.ui-icon { width: 18px; height: 18px; } + +/* fullscreen class on ui-content div */ +.ui-fullscreen { } +.ui-fullscreen img { max-width: 100%; } + +/* non-js content hiding */ +.ui-nojs { position: absolute; left: -9999px; } +/* +* jQuery Mobile Framework +* Copyright (c) jQuery Project +* Dual licensed under the MIT (MIT-LICENSE.txt) or GPL (GPL-LICENSE.txt) licenses. +*/ +.spin { + -webkit-transform: rotate(360deg); + -webkit-animation-name: spin; + -webkit-animation-duration: 1s; + -webkit-animation-iteration-count: infinite; + -webkit-animation-timing-function: linear; +} +@-webkit-keyframes spin { + from {-webkit-transform: rotate(0deg);} + to {-webkit-transform: rotate(360deg);} +} + +/* Transitions from jQtouch (with small modifications): http://www.jqtouch.com/ +Built by David Kaneda and maintained by Jonathan Stark. +*/ +.in, .out { + -webkit-animation-timing-function: ease-in-out; + -webkit-animation-duration: 350ms; +} + + +.slide.out { + -webkit-transform: translateX(-100%); + -webkit-animation-name: slideouttoleft; +} + +.slide.in { + -webkit-transform: translateX(0); + -webkit-animation-name: slideinfromright; +} + +.slide.out.reverse { + -webkit-transform: translateX(100%); + -webkit-animation-name: slideouttoright; +} + +.slide.in.reverse { + -webkit-transform: translateX(0); + -webkit-animation-name: slideinfromleft; +} + +.slideup.out { + -webkit-animation-name: dontmove; + z-index: 0; +} + +.slideup.in { + -webkit-transform: translateY(0); + -webkit-animation-name: slideinfrombottom; + z-index: 10; +} + +.slideup.in.reverse { + z-index: 0; + -webkit-animation-name: dontmove; +} + +.slideup.out.reverse { + -webkit-transform: translateY(100%); + z-index: 10; + -webkit-animation-name: slideouttobottom; +} + +.slidedown.out { + -webkit-animation-name: dontmove; + z-index: 0; +} + +.slidedown.in { + -webkit-transform: translateY(0); + -webkit-animation-name: slideinfromtop; + z-index: 10; +} + +.slidedown.in.reverse { + z-index: 0; + -webkit-animation-name: dontmove; +} + +.slidedown.out.reverse { + -webkit-transform: translateY(-100%); + z-index: 10; + -webkit-animation-name: slideouttotop; +} + +@-webkit-keyframes slideinfromright { + from { -webkit-transform: translateX(100%); } + to { -webkit-transform: translateX(0); } +} + +@-webkit-keyframes slideinfromleft { + from { -webkit-transform: translateX(-100%); } + to { -webkit-transform: translateX(0); } +} + +@-webkit-keyframes slideouttoleft { + from { -webkit-transform: translateX(0); } + to { -webkit-transform: translateX(-100%); } +} + +@-webkit-keyframes slideouttoright { + from { -webkit-transform: translateX(0); } + to { -webkit-transform: translateX(100%); } +} + +@-webkit-keyframes slideinfromtop { + from { -webkit-transform: translateY(-100%); } + to { -webkit-transform: translateY(0); } +} + +@-webkit-keyframes slideinfrombottom { + from { -webkit-transform: translateY(100%); } + to { -webkit-transform: translateY(0); } +} + +@-webkit-keyframes slideouttobottom { + from { -webkit-transform: translateY(0); } + to { -webkit-transform: translateY(100%); } +} + +@-webkit-keyframes slideouttotop { + from { -webkit-transform: translateY(0); } + to { -webkit-transform: translateY(-100%); } +} +@-webkit-keyframes fadein { + from { opacity: 0; } + to { opacity: 1; } +} + +@-webkit-keyframes fadeout { + from { opacity: 1; } + to { opacity: 0; } +} + +.fade.out { + z-index: 0; + -webkit-animation-name: fadeout; +} + +.fade.in { + opacity: 1; + z-index: 10; + -webkit-animation-name: fadein; +} + +/* The properties in this rule are only necessary for the 'flip' transition. + * We need specify the perspective to create a projection matrix. This will add + * some depth as the element flips. The depth number represents the distance of + * the viewer from the z-plane. According to the CSS3 spec, 1000 is a moderate + * value. + */ +.viewport-flip { + -webkit-perspective: 1000; + position: absolute; +} + +.ui-mobile-viewport-transitioning, +.ui-mobile-viewport-transitioning .ui-page { + width: 100%; + height: 100%; + overflow: hidden; +} + +.flip { + -webkit-animation-duration: .65s; + -webkit-backface-visibility:hidden; + -webkit-transform:translateX(0); /* Needed to work around an iOS 3.1 bug that causes listview thumbs to disappear when -webkit-visibility:hidden is used. */ +} + +.flip.out { + -webkit-transform: rotateY(-180deg) scale(.8); + -webkit-animation-name: flipouttoleft; +} + +.flip.in { + -webkit-transform: rotateY(0) scale(1); + -webkit-animation-name: flipinfromleft; +} + +/* Shake it all about */ + +.flip.out.reverse { + -webkit-transform: rotateY(180deg) scale(.8); + -webkit-animation-name: flipouttoright; +} + +.flip.in.reverse { + -webkit-transform: rotateY(0) scale(1); + -webkit-animation-name: flipinfromright; +} + +@-webkit-keyframes flipinfromright { + from { -webkit-transform: rotateY(-180deg) scale(.8); } + to { -webkit-transform: rotateY(0) scale(1); } +} + +@-webkit-keyframes flipinfromleft { + from { -webkit-transform: rotateY(180deg) scale(.8); } + to { -webkit-transform: rotateY(0) scale(1); } +} + +@-webkit-keyframes flipouttoleft { + from { -webkit-transform: rotateY(0) scale(1); } + to { -webkit-transform: rotateY(-180deg) scale(.8); } +} + +@-webkit-keyframes flipouttoright { + from { -webkit-transform: rotateY(0) scale(1); } + to { -webkit-transform: rotateY(180deg) scale(.8); } +} + + +/* Hackish, but reliable. */ + +@-webkit-keyframes dontmove { + from { opacity: 1; } + to { opacity: 1; } +} + +.pop { + -webkit-transform-origin: 50% 50%; +} + +.pop.in { + -webkit-transform: scale(1); + opacity: 1; + -webkit-animation-name: popin; + z-index: 10; +} + +.pop.in.reverse { + z-index: 0; + -webkit-animation-name: dontmove; +} + +.pop.out.reverse { + -webkit-transform: scale(.2); + opacity: 0; + -webkit-animation-name: popout; + z-index: 10; +} + +@-webkit-keyframes popin { + from { + -webkit-transform: scale(.2); + opacity: 0; + } + to { + -webkit-transform: scale(1); + opacity: 1; + } +} + +@-webkit-keyframes popout { + from { + -webkit-transform: scale(1); + opacity: 1; + } + to { + -webkit-transform: scale(.2); + opacity: 0; + } +}/* +* jQuery Mobile Framework +* Copyright (c) jQuery Project +* Dual licensed under the MIT (MIT-LICENSE.txt) or GPL (GPL-LICENSE.txt) licenses. +*/ + +/* content configurations. */ +.ui-grid-a, .ui-grid-b, .ui-grid-c, .ui-grid-d { overflow: hidden; } +.ui-block-a, .ui-block-b, .ui-block-c, .ui-block-d, .ui-block-e { margin: 0; padding: 0; border: 0; float: left; min-height:1px;} + +/* grid solo: 100 - single item fallback */ +.ui-grid-solo .ui-block-a { width: 100%; float: none; } + +/* grid a: 50/50 */ +.ui-grid-a .ui-block-a, .ui-grid-a .ui-block-b { width: 50%; } +.ui-grid-a .ui-block-a { clear: left; } + +/* grid b: 33/33/33 */ +.ui-grid-b .ui-block-a, .ui-grid-b .ui-block-b, .ui-grid-b .ui-block-c { width: 33.333%; } +.ui-grid-b .ui-block-a { clear: left; } + +/* grid c: 25/25/25/25 */ +.ui-grid-c .ui-block-a, .ui-grid-c .ui-block-b, .ui-grid-c .ui-block-c, .ui-grid-c .ui-block-d { width: 25%; } +.ui-grid-c .ui-block-a { clear: left; } + +/* grid d: 20/20/20/20/20 */ +.ui-grid-d .ui-block-a, .ui-grid-d .ui-block-b, .ui-grid-d .ui-block-c, .ui-grid-d .ui-block-d, .ui-grid-d .ui-block-e { width: 20%; } +.ui-grid-d .ui-block-a { clear: left; } +/* +* jQuery Mobile Framework +* Copyright (c) jQuery Project +* Dual licensed under the MIT (MIT-LICENSE.txt) or GPL (GPL-LICENSE.txt) licenses. +*/ +/* fixed page header & footer configuration */ +.ui-header, .ui-footer, .ui-page-fullscreen .ui-header, .ui-page-fullscreen .ui-footer { position: absolute; overflow: hidden; width: 100%; border-left-width: 0; border-right-width: 0; } +.ui-header-fixed, .ui-footer-fixed { + z-index: 1000; + -webkit-transform: translateZ(0); /* Force header/footer rendering to go through the same rendering pipeline as native page scrolling. */ +} +.ui-footer-duplicate, .ui-page-fullscreen .ui-fixed-inline { display: none; } +.ui-page-fullscreen .ui-header, .ui-page-fullscreen .ui-footer { opacity: .9; } +/* +* jQuery Mobile Framework +* Copyright (c) jQuery Project +* Dual licensed under the MIT (MIT-LICENSE.txt) or GPL (GPL-LICENSE.txt) licenses. +*/ +.ui-navbar { overflow: hidden; } +.ui-navbar ul, .ui-navbar-expanded ul { list-style:none; padding: 0; margin: 0; position: relative; display: block; border: 0;} +.ui-navbar-collapsed ul { float: left; width: 75%; margin-right: -2px; } +.ui-navbar-collapsed .ui-navbar-toggle { float: left; width: 25%; } +.ui-navbar li.ui-navbar-truncate { position: absolute; left: -9999px; top: -9999px; } +.ui-navbar li .ui-btn, .ui-navbar .ui-navbar-toggle .ui-btn { display: block; font-size: 12px; text-align: center; margin: 0; border-right-width: 0; } +.ui-navbar li .ui-btn { margin-right: -1px; } +.ui-navbar li .ui-btn:last-child { margin-right: 0; } +.ui-header .ui-navbar li .ui-btn, .ui-header .ui-navbar .ui-navbar-toggle .ui-btn, +.ui-footer .ui-navbar li .ui-btn, .ui-footer .ui-navbar .ui-navbar-toggle .ui-btn { border-top-width: 0; border-bottom-width: 0; } +.ui-navbar .ui-btn-inner { padding-left: 2px; padding-right: 2px; } +.ui-navbar-noicons li .ui-btn .ui-btn-inner, .ui-navbar-noicons .ui-navbar-toggle .ui-btn-inner { padding-top: .8em; padding-bottom: .9em; } +/*expanded page styles*/ +.ui-navbar-expanded .ui-btn { margin: 0; font-size: 14px; } +.ui-navbar-expanded .ui-btn-inner { padding-left: 5px; padding-right: 5px; } +.ui-navbar-expanded .ui-btn-icon-top .ui-btn-inner { padding: 45px 5px 15px; text-align: center; } +.ui-navbar-expanded .ui-btn-icon-top .ui-icon { top: 15px; } +.ui-navbar-expanded .ui-btn-icon-bottom .ui-btn-inner { padding: 15px 5px 45px; text-align: center; } +.ui-navbar-expanded .ui-btn-icon-bottom .ui-icon { bottom: 15px; } +.ui-navbar-expanded li .ui-btn .ui-btn-inner { min-height: 2.5em; } +.ui-navbar-expanded .ui-navbar-noicons .ui-btn .ui-btn-inner { padding-top: 1.8em; padding-bottom: 1.9em; } +/* +* jQuery Mobile Framework +* Copyright (c) jQuery Project +* Dual licensed under the MIT (MIT-LICENSE.txt) or GPL (GPL-LICENSE.txt) licenses. +*/ +.ui-btn { display: block; text-align: center; cursor:pointer; position: relative; margin: .5em 5px; padding: 0; } +.ui-btn:focus, .ui-btn:active { outline: none; } +.ui-header .ui-btn, .ui-footer .ui-btn, .ui-bar .ui-btn { display: inline-block; font-size: 13px; margin: 0; } +.ui-btn-inline { display: inline-block; } +.ui-btn-inner { padding: .6em 25px; display: block; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; position: relative; zoom: 1; } +.ui-header .ui-btn-inner, .ui-footer .ui-btn-inner, .ui-bar .ui-btn-inner { padding: .4em 8px .5em; } +.ui-btn-icon-notext { width: 24px; height: 24px; } +.ui-btn-icon-notext .ui-btn-inner { padding: 2px 1px 2px 3px; } +.ui-btn-icon-notext .ui-btn-text { position: absolute; left: -999px; } +.ui-btn-icon-left .ui-btn-inner { padding-left: 33px; } +.ui-header .ui-btn-icon-left .ui-btn-inner, +.ui-footer .ui-btn-icon-left .ui-btn-inner, +.ui-bar .ui-btn-icon-left .ui-btn-inner { padding-left: 27px; } +.ui-btn-icon-right .ui-btn-inner { padding-right: 33px; } +.ui-header .ui-btn-icon-right .ui-btn-inner, +.ui-footer .ui-btn-icon-right .ui-btn-inner, +.ui-bar .ui-btn-icon-right .ui-btn-inner { padding-right: 27px; } +.ui-btn-icon-top .ui-btn-inner { padding-top: 33px; } +.ui-header .ui-btn-icon-top .ui-btn-inner, +.ui-footer .ui-btn-icon-top .ui-btn-inner, +.ui-bar .ui-btn-icon-top .ui-btn-inner { padding-top: 27px; } +.ui-btn-icon-bottom .ui-btn-inner { padding-bottom: 33px; } +.ui-header .ui-btn-icon-bottom .ui-btn-inner, +.ui-footer .ui-btn-icon-bottom .ui-btn-inner, +.ui-bar .ui-btn-icon-bottom .ui-btn-inner { padding-bottom: 27px; } + +/*btn icon positioning*/ +.ui-btn-icon-notext .ui-icon { display: block; } +.ui-btn-icon-left .ui-icon, .ui-btn-icon-right .ui-icon { position: absolute; top: 50%; margin-top: -9px; } +.ui-btn-icon-top .ui-icon, .ui-btn-icon-bottom .ui-icon { position: absolute; left: 50%; margin-left: -9px; } +.ui-btn-icon-left .ui-icon { left: 10px; } +.ui-btn-icon-right .ui-icon { right: 10px; } +.ui-btn-icon-top .ui-icon { top: 10px; } +.ui-btn-icon-bottom .ui-icon { bottom: 10px; } +.ui-header .ui-btn-icon-left .ui-icon, +.ui-footer .ui-btn-icon-left .ui-icon, +.ui-bar .ui-btn-icon-left .ui-icon { left: 4px; } +.ui-header .ui-btn-icon-right .ui-icon, +.ui-footer .ui-btn-icon-right .ui-icon, +.ui-bar .ui-btn-icon-right .ui-icon { right: 4px; } +.ui-header .ui-btn-icon-top .ui-icon, +.ui-footer .ui-btn-icon-top .ui-icon, +.ui-bar .ui-btn-icon-top .ui-icon { top: 4px; } +.ui-header .ui-btn-icon-bottom .ui-icon, +.ui-footer .ui-btn-icon-bottom .ui-icon, +.ui-bar .ui-btn-icon-bottom .ui-icon { bottom: 4px; } + +/*hiding native button,inputs */ +.ui-btn-hidden { position: absolute; top: 0; left: 0; width: 100%; height: 100%; -webkit-appearance: button; opacity: .1; cursor: pointer; background: transparent; font-size: 1px; border: none; line-height: 999px; } +/* +* jQuery Mobile Framework +* Copyright (c) jQuery Project +* Dual licensed under the MIT (MIT-LICENSE.txt) or GPL (GPL-LICENSE.txt) licenses. +*/ +.ui-collapsible { margin: .5em 0; } +.ui-collapsible-heading { font-size: 16px; display: block; margin: 0 -8px; padding: 0; border-width: 0 0 1px 0; position: relative; } +.ui-collapsible-heading a { text-align: left; margin: 0; } +.ui-collapsible-heading a .ui-btn-inner { padding-left: 40px; } +.ui-collapsible-heading a span.ui-btn { position: absolute; left: 6px; top: 50%; margin: -12px 0 0 0; width: 20px; height: 20px; padding: 1px 0px 1px 2px; text-indent: -9999px; } +.ui-collapsible-heading a span.ui-btn .ui-btn-inner { padding: 10px 0; } +.ui-collapsible-heading a span.ui-btn .ui-icon { left: 0; margin-top: -10px; } +.ui-collapsible-heading-status { position:absolute; left:-9999px; } +.ui-collapsible-content { + display: block; + margin: 0 -8px; + padding: 10px 16px; + border-top: none; /* Overrides ui-btn-up-* */ + background-image: none; /* Overrides ui-btn-up-* */ + font-weight: normal; /* Overrides ui-btn-up-* */ +} +.ui-collapsible-content-collapsed { display: none; } + +.ui-collapsible-set { margin: .5em 0; } +.ui-collapsible-set .ui-collapsible { margin: -1px 0 0; } +/* +* jQuery Mobile Framework +* Copyright (c) jQuery Project +* Dual licensed under the MIT (MIT-LICENSE.txt) or GPL (GPL-LICENSE.txt) licenses. +*/ +.ui-controlgroup, fieldset.ui-controlgroup { padding: 0; margin: .5em 0 1em; } +.ui-bar .ui-controlgroup { margin: 0 .3em; } +.ui-controlgroup-label { font-size: 16px; line-height: 1.4; font-weight: normal; margin: 0 0 .3em; } +.ui-controlgroup-controls { display: block; width: 95%;} +.ui-controlgroup li { list-style: none; } +.ui-controlgroup-vertical .ui-btn, +.ui-controlgroup-vertical .ui-checkbox, .ui-controlgroup-vertical .ui-radio { margin: 0; border-bottom-width: 0; } +.ui-controlgroup-vertical .ui-controlgroup-last { border-bottom-width: 1px; } +.ui-controlgroup-horizontal { padding: 0; } +.ui-controlgroup-horizontal .ui-btn { display: inline-block; margin: 0 -5px 0 0; } +.ui-controlgroup-horizontal .ui-checkbox, .ui-controlgroup-horizontal .ui-radio { float: left; margin: 0 -1px 0 0; } +.ui-controlgroup-horizontal .ui-checkbox .ui-btn, .ui-controlgroup-horizontal .ui-radio .ui-btn, +.ui-controlgroup-horizontal .ui-checkbox:last-child, .ui-controlgroup-horizontal .ui-radio:last-child { margin-right: 0; } +.ui-controlgroup-horizontal .ui-controlgroup-last { margin-right: 0; } +.ui-controlgroup .ui-checkbox label, .ui-controlgroup .ui-radio label { font-size: 16px; } +/* conflicts with listview.. +.ui-controlgroup .ui-btn-icon-notext { width: 30px; height: 30px; text-indent: -9999px; } +.ui-controlgroup .ui-btn-icon-notext .ui-btn-inner { padding: 5px 6px 5px 5px; } +*/ + +@media all and (min-width: 450px){ + .ui-controlgroup-label { vertical-align: top; display: inline-block; width: 20%; margin: 0 2% 0 0; } + .ui-controlgroup-controls { width: 60%; display: inline-block; } +} /* +* jQuery Mobile Framework +* Copyright (c) jQuery Project +* Dual licensed under the MIT (MIT-LICENSE.txt) or GPL (GPL-LICENSE.txt) licenses. +*/ +.ui-dialog { min-height: 480px; } +.ui-dialog .ui-header, .ui-dialog .ui-content, .ui-dialog .ui-footer { margin: 15px; position: relative; } +.ui-dialog .ui-header, .ui-dialog .ui-footer { z-index: 10; width: auto; } +.ui-dialog .ui-content, .ui-dialog .ui-footer { margin-top: -15px; }/* +* jQuery Mobile Framework +* Copyright (c) jQuery Project +* Dual licensed under the MIT (MIT-LICENSE.txt) or GPL (GPL-LICENSE.txt) licenses. +*/ +.ui-checkbox, .ui-radio { position:relative; margin: .2em 0 .5em; z-index: 1; } +.ui-checkbox .ui-btn, .ui-radio .ui-btn { margin: 0; text-align: left; z-index: 2; } +.ui-checkbox .ui-btn-inner, .ui-radio .ui-btn-inner { white-space: normal; } +.ui-checkbox .ui-btn-icon-left .ui-btn-inner,.ui-radio .ui-btn-icon-left .ui-btn-inner { padding-left: 45px; } +.ui-checkbox .ui-btn-icon-right .ui-btn-inner, .ui-radio .ui-btn-icon-right .ui-btn-inner { padding-right: 45px; } +.ui-checkbox .ui-icon, .ui-radio .ui-icon { top: 1.1em; } +.ui-checkbox .ui-btn-icon-left .ui-icon, .ui-radio .ui-btn-icon-left .ui-icon {left: 15px; } +.ui-checkbox .ui-btn-icon-right .ui-icon, .ui-radio .ui-btn-icon-right .ui-icon {right: 15px; } +/* input, label positioning */ +.ui-checkbox input,.ui-radio input { position:absolute; left:20px; top:50%; width: 10px; height: 10px; margin:-5px 0 0 0; outline: 0 !important; z-index: 1; }/* +* jQuery Mobile Framework +* Copyright (c) jQuery Project +* Dual licensed under the MIT (MIT-LICENSE.txt) or GPL (GPL-LICENSE.txt) licenses. +*/ +.ui-field-contain { padding: 1.5em 0; margin: 0; border-bottom-width: 1px; overflow: visible; } +.ui-field-contain:first-child { border-top-width: 0; } +@media all and (min-width: 450px){ + .ui-field-contain { border-width: 0; padding: 0; margin: 1em 0; } +} /* +* jQuery Mobile Framework +* Copyright (c) jQuery Project +* Dual licensed under the MIT (MIT-LICENSE.txt) or GPL (GPL-LICENSE.txt) licenses. +*/ +.ui-select { display: block; position: relative; } +.ui-select select { position: absolute; left: -9999px; top: -9999px; } +.ui-select .ui-btn { overflow: hidden; } +.ui-select .ui-btn select { cursor: pointer; -webkit-appearance: button; left: 0; top:0; width: 100%; min-height: 1.5em; min-height: 100%; height: 3em; max-height: 100%; opacity: 0; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; filter: alpha(opacity=0); z-index: 2; } +@-moz-document url-prefix() {.ui-select .ui-btn select { opacity: 0.0001; }} +.ui-select .ui-btn select.ui-select-nativeonly { opacity: 1; text-indent: 0; } + +.ui-select .ui-btn-icon-right .ui-btn-inner { padding-right: 45px; } +.ui-select .ui-btn-icon-right .ui-icon { right: 15px; } + +/* labels */ +label.ui-select { font-size: 16px; line-height: 1.4; font-weight: normal; margin: 0 0 .3em; display: block; } + +/*listbox*/ +.ui-select .ui-btn-text, .ui-selectmenu .ui-btn-text { display: block; min-height: 1em; } +.ui-select .ui-btn-text { text-overflow: ellipsis; overflow: hidden;} + +.ui-selectmenu { position: absolute; padding: 0; z-index: 100 !important; width: 80%; max-width: 350px; padding: 6px; } +.ui-selectmenu .ui-listview { margin: 0; } +.ui-selectmenu .ui-btn.ui-li-divider { cursor: default; } +.ui-selectmenu-hidden { top: -9999px; left: -9999px; } +.ui-selectmenu-screen { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 99; } +.ui-screen-hidden, .ui-selectmenu-list .ui-li .ui-icon { display: none; } +.ui-selectmenu-list .ui-li .ui-icon { display: block; } +.ui-li.ui-selectmenu-placeholder { display: none; } +.ui-selectmenu .ui-header .ui-title { margin: 0.6em 46px 0.8em; } + +@media all and (min-width: 450px){ + label.ui-select { vertical-align: top; display: inline-block; width: 20%; margin: 0 2% 0 0; } + .ui-select { width: 60%; display: inline-block; } +} + +/* when no placeholder is defined in a multiple select, the header height doesn't even extend past the close button. this shim's content in there */ +.ui-selectmenu .ui-header h1:after { content: '.'; visibility: hidden; }/* +* jQuery Mobile Framework +* Copyright (c) jQuery Project +* Dual licensed under the MIT (MIT-LICENSE.txt) or GPL (GPL-LICENSE.txt) licenses. +*/ +label.ui-input-text { font-size: 16px; line-height: 1.4; display: block; font-weight: normal; margin: 0 0 .3em; } +input.ui-input-text, textarea.ui-input-text { background-image: none; padding: .4em; line-height: 1.4; font-size: 16px; display: block; width: 95%; } +input.ui-input-text { -webkit-appearance: none; } +textarea.ui-input-text { height: 50px; -webkit-transition: height 200ms linear; -moz-transition: height 200ms linear; -o-transition: height 200ms linear; transition: height 200ms linear; } +.ui-input-search { padding: 0 30px; width: 77%; background-image: none; position: relative; } +.ui-icon-searchfield:after { position: absolute; left: 7px; top: 50%; margin-top: -9px; content: ""; width: 18px; height: 18px; opacity: .5; } +.ui-input-search input.ui-input-text { border: none; width: 98%; padding: .4em 0; margin: 0; display: block; background: transparent none; outline: 0 !important; } +.ui-input-search .ui-input-clear { position: absolute; right: 0; top: 50%; margin-top: -14px; } +.ui-input-search .ui-input-clear-hidden { display: none; } + +/* orientation adjustments - incomplete!*/ +@media all and (min-width: 450px){ + label.ui-input-text { vertical-align: top; display: inline-block; width: 20%; margin: 0 2% 0 0 } + input.ui-input-text, + textarea.ui-input-text, + .ui-input-search { width: 60%; display: inline-block; } + .ui-input-search { width: 50%; } + .ui-input-search input.ui-input-text { width: 98%; /*echos rule from above*/ } +}/* +* jQuery Mobile Framework +* Copyright (c) jQuery Project +* Dual licensed under the MIT (MIT-LICENSE.txt) or GPL (GPL-LICENSE.txt) licenses. +*/ +.ui-listview { margin: 0; counter-reset: listnumbering; } +.ui-content .ui-listview { margin: -15px; } +.ui-content .ui-listview-inset { margin: 1em 0; } +.ui-listview, .ui-li { list-style:none; padding:0; } +.ui-li, .ui-li.ui-field-contain { display: block; margin:0; position: relative; overflow: visible; text-align: left; border-width: 0; border-top-width: 1px; } +.ui-li .ui-btn-text { position: relative; z-index: 1; } +.ui-li .ui-btn-text a.ui-link-inherit { text-overflow: ellipsis; overflow: hidden; white-space: nowrap; } +.ui-li-divider, .ui-li-static { padding: .5em 15px; font-size: 14px; font-weight: bold; } +.ui-li-divider { counter-reset: listnumbering; } +ol.ui-listview .ui-link-inherit:before, ol.ui-listview .ui-li-static:before, .ui-li-dec { font-size: .8em; display: inline-block; padding-right: .3em; font-weight: normal;counter-increment: listnumbering; content: counter(listnumbering) ". "; } +ol.ui-listview .ui-li-jsnumbering:before { content: "" !important; } /* to avoid chance of duplication */ +.ui-listview-inset .ui-li { border-right-width: 1px; border-left-width: 1px; } +.ui-li:last-child, .ui-li.ui-field-contain:last-child { border-bottom-width: 1px; } +.ui-li>.ui-btn-inner { display: block; position: relative; padding: 0; } +.ui-li .ui-btn-inner a.ui-link-inherit, .ui-li-static.ui-li { padding: .7em 15px .7em 15px; display: block; } +.ui-li-has-thumb .ui-btn-inner a.ui-link-inherit, .ui-li-static.ui-li-has-thumb { min-height: 60px; padding-left: 100px; } +.ui-li-has-icon .ui-btn-inner a.ui-link-inherit, .ui-li-static.ui-li-has-icon { min-height: 20px; padding-left: 40px; } +.ui-li-has-count .ui-btn-inner a.ui-link-inherit, .ui-li-static.ui-li-has-count { padding-right: 45px; } +.ui-li-has-arrow .ui-btn-inner a.ui-link-inherit, .ui-li-static.ui-li-has-arrow { padding-right: 30px; } +.ui-li-has-arrow.ui-li-has-count .ui-btn-inner a.ui-link-inherit, .ui-li-static.ui-li-has-arrow.ui-li-has-count { padding-right: 75px; } +.ui-li-heading { font-size: 16px; font-weight: bold; display: block; margin: .6em 0; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; } +.ui-li-desc { font-size: 12px; font-weight: normal; display: block; margin: -.5em 0 .6em; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; } +.ui-li-thumb, .ui-li-icon { position: absolute; left: 1px; top: 0; max-height: 80px; max-width: 80px; } +.ui-li-icon { max-height: 40px; max-width: 40px; left: 10px; top: .9em; } +.ui-li-thumb, .ui-li-icon, .ui-li-content { float: left; margin-right: 10px; } + +.ui-li-aside { float: right; width: 50%; text-align: right; margin: .3em 0; } +@media all and (min-width: 480px){ + .ui-li-aside { width: 45%; } +} +.ui-li-divider { cursor: default; } +.ui-li-has-alt .ui-btn-inner a.ui-link-inherit, .ui-li-static.ui-li-has-alt { padding-right: 95px; } +.ui-li-has-count .ui-li-count { position: absolute; font-size: 11px; font-weight: bold; padding: .2em .5em; top: 50%; margin-top: -.9em; right: 38px; } +.ui-li-divider .ui-li-count, .ui-li-static .ui-li-count { right: 10px; } +.ui-li-has-alt .ui-li-count { right: 55px; } +.ui-li-link-alt { position: absolute; width: 40px; height: 100%; border-width: 0; border-left-width: 1px; top: 0; right: 0; margin: 0; padding: 0; z-index: 2; } +.ui-li-link-alt .ui-btn { overflow: hidden; position: absolute; right: 8px; top: 50%; margin: -11px 0 0 0; border-bottom-width: 1px; z-index: -1;} +.ui-li-link-alt .ui-btn-inner { padding: 0; height: 100%; position: absolute; width: 100%; top: 0; left: 0;} +.ui-li-link-alt .ui-btn .ui-icon { right: 50%; margin-right: -9px; } + +.ui-listview * .ui-btn-inner > .ui-btn > .ui-btn-inner { border-top: 0px; } + +.ui-listview-filter { border-width: 0; overflow: hidden; margin: -15px -15px 15px -15px } +.ui-listview-filter .ui-input-search { margin: 5px; width: auto; display: block; } + +.ui-listview-filter-inset { margin: -15px -5px -15px -5px; background: transparent; } +.ui-li.ui-screen-hidden{display:none;} +/* Odd iPad positioning issue. */ +@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) { + .ui-li .ui-btn-text { overflow: visible; } +}/* +* jQuery Mobile Framework +* Copyright (c) jQuery Project +* Dual licensed under the MIT (MIT-LICENSE.txt) or GPL (GPL-LICENSE.txt) licenses. +*/ +label.ui-slider { display: block; } +input.ui-slider-input { display: inline-block; width: 50px; } +select.ui-slider-switch { display: none; } +div.ui-slider { position: relative; display: inline-block; overflow: visible; height: 15px; padding: 0; margin: 0 2% 0 20px; top: 4px; width: 66%; } +a.ui-slider-handle { position: absolute; z-index: 10; top: 50%; width: 28px; height: 28px; margin-top: -15px; margin-left: -15px; } +a.ui-slider-handle .ui-btn-inner { padding-left: 0; padding-right: 0; } +@media all and (min-width: 480px){ + label.ui-slider { vertical-align: top; display: inline-block; width: 20%; margin: 0 2% 0 0; } + div.ui-slider { width: 45%; } +} + +div.ui-slider-switch { height: 32px; overflow: hidden; margin-left: 0; } +div.ui-slider-inneroffset { margin-left: 50%; position: absolute; top: 1px; height: 100%; width: 50%; } +a.ui-slider-handle-snapping { -webkit-transition: left 100ms linear; } +div.ui-slider-labelbg { position: absolute; top:0; margin: 0; border-width: 0; } +div.ui-slider-switch div.ui-slider-labelbg-a { width: 60%; height: 100%; left: 0; } +div.ui-slider-switch div.ui-slider-labelbg-b { width: 60%; height: 100%; right: 0; } +.ui-slider-switch-a div.ui-slider-labelbg-a, .ui-slider-switch-b div.ui-slider-labelbg-b { z-index: -1; } +.ui-slider-switch-a div.ui-slider-labelbg-b, .ui-slider-switch-b div.ui-slider-labelbg-a { z-index: 0; } + +div.ui-slider-switch a.ui-slider-handle { z-index: 20; width: 101%; height: 32px; margin-top: -18px; margin-left: -101%; } +span.ui-slider-label { width: 100%; position: absolute;height: 32px; font-size: 16px; text-align: center; line-height: 2; background: none; border-color: transparent; } +span.ui-slider-label-a { left: -100%; margin-right: -1px } +span.ui-slider-label-b { right: -100%; margin-left: -1px } + --- a/css/local.css.php +++ b/css/local.css.php @@ -1,13 +1,15 @@ --- a/geo/route.kml.php +++ b/geo/route.kml.php --- a/geo/stops.kml.php +++ b/geo/stops.kml.php @@ -1,4 +1,5 @@ saveXML(); echo $kmlOutput; -?> +?> + --- /dev/null +++ b/include/common-auth.inc.php @@ -1,1 +1,33 @@ +mode) { + $openid->required = array('contact/email'); + $openid->identity = 'https://www.google.com/accounts/o8/id'; + header('Location: ' . $openid->authUrl()); + } + } + +function auth() + +{ + if ($_SESSION['authed'] == true) return true; + global $openid; + + if($openid->mode) { + $attr = $openid->getAttributes(); + if ($attr["contact/email"] != "maxious@gmail.com") { + die("Access Denied"); + } else { + $_SESSION['authed'] = true; + } + } else { + login(); + } + } +?> --- a/include/common-db.inc.php +++ b/include/common-db.inc.php @@ -1,20 +1,35 @@ $mapPoint) { - if ($twotone && $index == 0) { - $markers.= $mapPoint[0] . "," . $mapPoint[1] . "," . "iconr" . ($index + 1); - $center = "{$mapPoints[0][0]},{$mapPoints[0][1]}"; - } - else { - $markers.= $mapPoint[0] . "," . $mapPoint[1] . "," . $markerImage . ($index + 1); - } - if ($index + 1 != sizeof($mapPoints)) $markers.= "|"; - $dist = distance($mapPoints[0][0], $mapPoint[0][1], $mapPoint[0], $mapPoint[1]); - $mapwidthinmeters = ($dist > $mapwidthinmeters ? $dist : $mapwidthinmeters); - $totalLat+= $mapPoint[0]; - $totalLon+= $mapPoint[1]; - } - if ($zoom == 0) { - $mapwidthinmeters = distance($minlat, $minlon, $minlat, $maxlon); - foreach (array_reverse($metersperpixel, true) as $zoomLevel => $maxdistance) { - if ($zoom == 0 && $mapwidthinmeters * 1.5 < ($maxdistance)) $zoom = $zoomLevel; - } - } - $center = $totalLat / sizeof($mapPoints) . "," . $totalLon / sizeof($mapPoints); - } - $output = ""; - if ($collapsible) $output.= '

Open Map...

'; - $output.= ''; - if ($collapsible) $output.= '
'; - return $output; + +function staticmap($mapPoints, $collapsible = true, $twotone = false, $path = false, $numbered = false) { + + $markers = ""; + $height = 300; + $width = $height; + $index = 0; + if (sizeof($mapPoints) < 1) + return "map error"; + if (sizeof($mapPoints) === 1) { + $markers = "markers={$mapPoints[0][0]},{$mapPoints[0][1]}"; + } else { + if (!$numbered) { + $markers = "markers="; + } + if ($path) { + $markers.= "markers={$mapPoints[0][0]},{$mapPoints[0][1]}&path="; + } + foreach ($mapPoints as $index => $mapPoint) { + if ($twotone && $index == 0) { + $markers = "markerd=color:red|".$mapPoint[0] . "," . $mapPoint[1]."&markers="; + } else { + if ($numbered) { + $label = ($index > 9 ? 9 : $index); + $markers.= "markers=label:$label|" . $mapPoint[0] . "," . $mapPoint[1]; + if ($index + 1 != sizeof($mapPoints)) { + $markers.= "&"; + } + } else { + $markers.= $mapPoint[0] . "," . $mapPoint[1]; + if ($index + 1 != sizeof($mapPoints)) { + $markers.= "|"; + } + } + $index++; + } + } + } + $output = ""; + if ($collapsible) + $output.= '

Open Map...

'; + if (isIOSDevice()) $output.= ''; + else $output.= ''; + + if ($collapsible) + $output.= '
'; + return $output; } -function distance($lat1, $lng1, $lat2, $lng2, $roundLargeValues = false) -{ - $pi80 = M_PI / 180; - $lat1*= $pi80; - $lng1*= $pi80; - $lat2*= $pi80; - $lng2*= $pi80; - $r = 6372.797; // mean radius of Earth in km - $dlat = $lat2 - $lat1; - $dlng = $lng2 - $lng1; - $a = sin($dlat / 2) * sin($dlat / 2) + cos($lat1) * cos($lat2) * sin($dlng / 2) * sin($dlng / 2); - $c = 2 * atan2(sqrt($a) , sqrt(1 - $a)); - $km = $r * $c; - if ($roundLargeValues) { - if ($km < 1) return floor($km * 1000); - else return round($km, 2) . "k"; - } - else return floor($km * 1000); + +function distance($lat1, $lng1, $lat2, $lng2, $roundLargeValues = false) { + $pi80 = M_PI / 180; + $lat1*= $pi80; + $lng1*= $pi80; + $lat2*= $pi80; + $lng2*= $pi80; + $r = 6372.797; // mean radius of Earth in km + $dlat = $lat2 - $lat1; + $dlng = $lng2 - $lng1; + $a = sin($dlat / 2) * sin($dlat / 2) + cos($lat1) * cos($lat2) * sin($dlng / 2) * sin($dlng / 2); + $c = 2 * atan2(sqrt($a), sqrt(1 - $a)); + $km = $r * $c; + if ($roundLargeValues) { + if ($km < 1) + return floor($km * 1000); + else + return round($km, 2) . "k"; + } + else + return floor($km * 1000); } -function decodePolylineToArray($encoded) -{ - // source: http://latlongeeks.com/forum/viewtopic.php?f=4&t=5 - $length = strlen($encoded); - $index = 0; - $points = array(); - $lat = 0; - $lng = 0; - while ($index < $length) { - // Temporary variable to hold each ASCII byte. - $b = 0; - // The encoded polyline consists of a latitude value followed by a - // longitude value. They should always come in pairs. Read the - // latitude value first. - $shift = 0; - $result = 0; - do { - // The `ord(substr($encoded, $index++))` statement returns the ASCII - // code for the character at $index. Subtract 63 to get the original - // value. (63 was added to ensure proper ASCII characters are displayed - // in the encoded polyline string, which is `human` readable) - $b = ord(substr($encoded, $index++)) - 63; - // AND the bits of the byte with 0x1f to get the original 5-bit `chunk. - // Then left shift the bits by the required amount, which increases - // by 5 bits each time. - // OR the value into $results, which sums up the individual 5-bit chunks - // into the original value. Since the 5-bit chunks were reversed in - // order during encoding, reading them in this way ensures proper - // summation. - $result|= ($b & 0x1f) << $shift; - $shift+= 5; - } - // Continue while the read byte is >= 0x20 since the last `chunk` - // was not OR'd with 0x20 during the conversion process. (Signals the end) - while ($b >= 0x20); - // Check if negative, and convert. (All negative values have the last bit - // set) - $dlat = (($result & 1) ? ~($result >> 1) : ($result >> 1)); - // Compute actual latitude since value is offset from previous value. - $lat+= $dlat; - // The next values will correspond to the longitude for this point. - $shift = 0; - $result = 0; - do { - $b = ord(substr($encoded, $index++)) - 63; - $result|= ($b & 0x1f) << $shift; - $shift+= 5; - } while ($b >= 0x20); - $dlng = (($result & 1) ? ~($result >> 1) : ($result >> 1)); - $lng+= $dlng; - // The actual latitude and longitude values were multiplied by - // 1e5 before encoding so that they could be converted to a 32-bit - // integer representation. (With a decimal accuracy of 5 places) - // Convert back to original values. - $points[] = array( - $lat * 1e-5, - $lng * 1e-5 - ); - } - return $points; + +function decodePolylineToArray($encoded) { + // source: http://latlongeeks.com/forum/viewtopic.php?f=4&t=5 + $length = strlen($encoded); + $index = 0; + $points = array(); + $lat = 0; + $lng = 0; + while ($index < $length) { + // Temporary variable to hold each ASCII byte. + $b = 0; + // The encoded polyline consists of a latitude value followed by a + // longitude value. They should always come in pairs. Read the + // latitude value first. + $shift = 0; + $result = 0; + do { + // The `ord(substr($encoded, $index++))` statement returns the ASCII + // code for the character at $index. Subtract 63 to get the original + // value. (63 was added to ensure proper ASCII characters are displayed + // in the encoded polyline string, which is `human` readable) + $b = ord(substr($encoded, $index++)) - 63; + // AND the bits of the byte with 0x1f to get the original 5-bit `chunk. + // Then left shift the bits by the required amount, which increases + // by 5 bits each time. + // OR the value into $results, which sums up the individual 5-bit chunks + // into the original value. Since the 5-bit chunks were reversed in + // order during encoding, reading them in this way ensures proper + // summation. + $result|= ($b & 0x1f) << $shift; + $shift+= 5; + } + // Continue while the read byte is >= 0x20 since the last `chunk` + // was not OR'd with 0x20 during the conversion process. (Signals the end) + while ($b >= 0x20); + // Check if negative, and convert. (All negative values have the last bit + // set) + $dlat = (($result & 1) ? ~($result >> 1) : ($result >> 1)); + // Compute actual latitude since value is offset from previous value. + $lat+= $dlat; + // The next values will correspond to the longitude for this point. + $shift = 0; + $result = 0; + do { + $b = ord(substr($encoded, $index++)) - 63; + $result|= ($b & 0x1f) << $shift; + $shift+= 5; + } while ($b >= 0x20); + $dlng = (($result & 1) ? ~($result >> 1) : ($result >> 1)); + $lng+= $dlng; + // The actual latitude and longitude values were multiplied by + // 1e5 before encoding so that they could be converted to a 32-bit + // integer representation. (With a decimal accuracy of 5 places) + // Convert back to original values. + $points[] = array( + $lat * 1e-5, + $lng * 1e-5 + ); + } + return $points; } -function geocode($query, $giveOptions) -{ - global $cloudmadeAPIkey; - $url = "http://geocoding.cloudmade.com/$cloudmadeAPIkey/geocoding/v2/find.js?query=" . urlencode($query) . "&bbox=-35.5,149.00,-35.15,149.1930&return_location=true&bbox_only=true"; - $contents = json_decode(getPage($url)); - if ($giveOptions) return $contents->features; - elseif (isset($contents->features[0]->centroid)) return $contents->features[0]->centroid->coordinates[0] . "," . $contents->features[0]->centroid->coordinates[1]; - else return ""; + +function geocode($query, $giveOptions) { + global $cloudmadeAPIkey; + $url = "http://geocoding.cloudmade.com/$cloudmadeAPIkey/geocoding/v2/find.js?query=" . urlencode($query) . "&bbox=-35.5,149.00,-35.15,149.1930&return_location=true&bbox_only=true"; + $contents = json_decode(getPage($url)); + if ($giveOptions) + return $contents->features; + elseif (isset($contents->features[0]->centroid)) + return $contents->features[0]->centroid->coordinates[0] . "," . $contents->features[0]->centroid->coordinates[1]; + else + return ""; } -function reverseGeocode($lat, $lng) -{ - global $cloudmadeAPIkey; - $url = "http://geocoding.cloudmade.com/$cloudmadeAPIkey/geocoding/v2/find.js?around=" . $lat . "," . $lng . "&distance=closest&object_type=road"; - $contents = json_decode(getPage($url)); - return $contents->features[0]->properties->name; + +function reverseGeocode($lat, $lng) { + global $cloudmadeAPIkey; + $url = "http://geocoding.cloudmade.com/$cloudmadeAPIkey/geocoding/v2/find.js?around=" . $lat . "," . $lng . "&distance=closest&object_type=road"; + $contents = json_decode(getPage($url)); + return $contents->features[0]->properties->name; } + ?> --- a/include/common-net.inc.php +++ b/include/common-net.inc.php @@ -1,31 +1,48 @@ Database temporarily unavailable: "; - echo curl_errno($ch) . " " . curl_error($ch); - if (isDebug()) { - echo $url; - } - echo "
"; - } - curl_close($ch); - debug(print_r($page,true),"json"); - return $page; + +/* + * Copyright 2010,2011 Alexander Sadleir + + 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. + */ + +function getPage($url) { + debug($url, "json"); + $ch = curl_init($url); + curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); + curl_setopt($ch, CURLOPT_HEADER, 0); + curl_setopt($ch, CURLOPT_TIMEOUT, 45); + $page = curl_exec($ch); + if (curl_errno($ch)) { + echo " Database temporarily unavailable: "; + echo curl_errno($ch) . " " . curl_error($ch); + if (isDebug()) { + echo $url; + } + echo "
"; + } + curl_close($ch); + debug(print_r($page, true), "json"); + return $page; } -function curPageURL() -{ - $isHTTPS = (isset($_SERVER["HTTPS"]) && $_SERVER["HTTPS"] == "on"); - $port = (isset($_SERVER["SERVER_PORT"]) && ((!$isHTTPS && $_SERVER["SERVER_PORT"] != "80") || ($isHTTPS && $_SERVER["SERVER_PORT"] != "443"))); - $port = ($port) ? ':' . $_SERVER["SERVER_PORT"] : ''; - $url = ($isHTTPS ? 'https://' : 'http://') . $_SERVER["SERVER_NAME"] . $port . htmlentities(dirname($_SERVER['PHP_SELF']) , ENT_QUOTES); - return $url; + +function curPageURL() { + $isHTTPS = (isset($_SERVER["HTTPS"]) && $_SERVER["HTTPS"] == "on"); + $port = (isset($_SERVER["SERVER_PORT"]) && ((!$isHTTPS && $_SERVER["SERVER_PORT"] != "80") || ($isHTTPS && $_SERVER["SERVER_PORT"] != "443"))); + $port = ($port) ? ':' . $_SERVER["SERVER_PORT"] : ''; + $url = ($isHTTPS ? 'https://' : 'http://') . $_SERVER["SERVER_NAME"] . $port . htmlentities(dirname($_SERVER['PHP_SELF']), ENT_QUOTES); + return $url; } + ?> --- a/include/common-request.inc.php +++ b/include/common-request.inc.php @@ -1,48 +1,72 @@ --- a/include/common-session.inc.php +++ b/include/common-session.inc.php @@ -1,63 +1,77 @@ centroid)) { - $geocoded = true; - $_SESSION['lat'] = $contents[0]->centroid->coordinates[0]; - $_SESSION['lon'] = $contents[0]->centroid->coordinates[1]; - } - else { - $_SESSION['lat'] = ""; - $_SESSION['lon'] = ""; - } - } - } - sessionUpdated(); + $geocoded = false; + if (isset($_REQUEST['lat']) && isset($_REQUEST['lon'])) { + $_SESSION['lat'] = trim(filter_var($_REQUEST['lat'], FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION)); + $_SESSION['lon'] = trim(filter_var($_REQUEST['lon'], FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION)); + } else { + if (startsWith($geolocate, "-")) { + $locateparts = explode(",", $geolocate); + $_SESSION['lat'] = $locateparts[0]; + $_SESSION['lon'] = $locateparts[1]; + } else if (strpos($geolocate, "(") !== false) { + $geoParts = explode("(", $geolocate); + $locateparts = explode(",", str_replace(")", "", $geoParts[1])); + $_SESSION['lat'] = $locateparts[0]; + $_SESSION['lon'] = $locateparts[1]; + } else { + $contents = geocode($geolocate, true); + print_r($contents); + if (isset($contents[0]->centroid)) { + $geocoded = true; + $_SESSION['lat'] = $contents[0]->centroid->coordinates[0]; + $_SESSION['lon'] = $contents[0]->centroid->coordinates[1]; + } else { + $_SESSION['lat'] = ""; + $_SESSION['lon'] = ""; + } + } + } + sessionUpdated(); } -function sessionUpdated() -{ - $_SESSION['lastUpdated'] = time(); + +function sessionUpdated() { + $_SESSION['lastUpdated'] = time(); } + // timeoutSession $TIMEOUT_LIMIT = 60 * 5; // 5 minutes if (isset($_SESSION['lastUpdated']) && $_SESSION['lastUpdated'] + $TIMEOUT_LIMIT < time()) { - debug("Session timeout " . ($_SESSION['lastUpdated'] + $TIMEOUT_LIMIT) . ">" . time() , "session"); - session_destroy(); - session_start(); + debug("Session timeout " . ($_SESSION['lastUpdated'] + $TIMEOUT_LIMIT) . ">" . time(), "session"); + session_destroy(); + session_start(); } + //debug(print_r($_SESSION, true) , "session"); -function current_time() -{ - return ($_SESSION['time'] ? $_SESSION['time'] : date("H:i:s")); +function current_time() { + return ($_SESSION['time'] ? $_SESSION['time'] : date("H:i:s")); } + ?> --- a/include/common-template.inc.php +++ b/include/common-template.inc.php @@ -1,64 +1,81 @@ -' . $pageTitle . ' +' . $pageTitle . ' - Canberra Bus Timetable - '; - if (isDebugServer()) { - $jqmcss = $labsPath . 'css/jquery.mobile-1.0b1.css'; - $jqjs = $labsPath . 'js/jquery-1.6.1.min.js'; - $jqmjs = $labsPath . 'js/jquery.mobile-1.0b1.js'; - } - else { - $jqmcss = "//code.jquery.com/mobile/1.0b1/jquery.mobile-1.0b1.min.css"; - $jqjs = "//ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"; - $jqmjs = "//code.jquery.com/mobile/1.0b1/jquery.mobile-1.0b1.min.js"; - } - echo ' - + '; + $jqmVersion = "1.0rc1"; + if (isDebugServer()) { + $jqmcss = $basePath . "css/jquery.mobile-$jqmVersion.css"; + $jqjs = $basePath . "js/jquery-1.6.2.min.js"; + $jqmjs = $basePath . "js/jquery.mobile-$jqmVersion.js"; + } else { + $jqmcss = "//code.jquery.com/mobile/$jqmVersion/jquery.mobile-$jqmVersion.min.css"; + $jqjs = "//ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"; + $jqmjs = "//code.jquery.com/mobile/$jqmVersion/jquery.mobile-$jqmVersion.min.js"; + } + echo ' + - - - - - - + + + + + + '; - echo ''; - echo ''; - if (strstr($_SERVER['HTTP_USER_AGENT'], 'iPhone') || strstr($_SERVER['HTTP_USER_AGENT'], 'iPod') || strstr($_SERVER['HTTP_USER_AGENT'], 'iPad')) { - echo ' + echo ''; + echo ''; + if (isIOSDevice()){ + echo ' '; - } - if ($geolocate) { - echo " "; - } - if (isAnalyticsOn()) echo ' + if (!isset($_SESSION['lat']) || $_SESSION['lat'] == "") + echo "geolocate();"; + echo " "; + } + if (isAnalyticsOn()) + echo ' "; - echo ' + echo ' '; - if ($opendiv) { - echo '
+ if ($opendiv) { + echo '
Back

' . $pageTitle . '

- Home + Home
'; - $overrides = getServiceOverride(); - if ($overrides['service_id']) { - if ($overrides['service_id'] == "noservice") { - echo '
Buses are not running today due to industrial action/public holiday. See Buses are not running today due to industrial action/public holiday. See http://www.action.act.gov.au for details.
'; - } - else { - echo '
Buses are running on an altered timetable today due to industrial action/public holiday. See http://www.action.act.gov.au for details.
'; - } - } - } -} -function include_footer() -{ - global $labsPath; - echo ''; - if (isAnalyticsOn()) { - echo ""; - $googleAnalyticsImageUrl = googleAnalyticsGetImageUrl(); - echo ''; - } - echo "\n
"; -} -function placeSettings() -{ - global $service_periods; - $geoerror = false; - $geoerror = !isset($_SESSION['lat']) || !isset($_SESSION['lat']) || $_SESSION['lat'] == "" || $_SESSION['lon'] == ""; - - echo '
'; - if ($geoerror) { - echo 'Sorry, but your location could not currently be detected. + $googleAnalyticsImageUrl = googleAnalyticsGetImageUrl(); + echo ''; + } + echo "\n
"; +} + +function placeSettings() { + global $service_periods; + $geoerror = false; + $geoerror = !isset($_SESSION['lat']) || !isset($_SESSION['lat']) || $_SESSION['lat'] == "" || $_SESSION['lon'] == ""; + + echo '
'; + if ($geoerror) { + echo 'Sorry, but your location could not currently be detected. Please allow location permission, wait for your location to be detected, or enter an address/co-ordinates in the box below.'; - } - echo '
'; - echo '
+ } + echo '
'; + echo '

Change Location...

@@ -203,11 +234,12 @@
'; } -function trackEvent($category, $action, $label = "", $value = - 1) -{ - if (isAnalyticsOn()) { - echo "\n"; - } -} + +function trackEvent($category, $action, $label = "", $value = - 1) { + if (isAnalyticsOn()) { + echo "\n"; + } +} + ?> --- a/include/common-transit.inc.php +++ b/include/common-transit.inc.php @@ -1,49 +1,289 @@ 0) { - $midnight = mktime(0, 0, 0, date("n") , date("j") , date("Y")); - return date("h:ia", $midnight + $seconds); - } - else { - return ""; - } +function service_period($date = "") { + + if (isset($_SESSION['service_period'])) + return $_SESSION['service_period']; + $override = getServiceOverride($date); + if ($override['service_id']) { + return $override['service_id']; + } + + switch (date('w', ($date != "" ? $date : time()))) { + case 0: + return 'sunday'; + case 6: + return 'saturday'; + default: + return 'weekday'; + } +} +function service_ids($service_period) { + switch ($service_period) { + case 'sunday': + return Array("2010-TUGGSUN-Sunday-20","2010-BELCSUN-Sunday-19"); + case 'saturday': + return Array("2010-BELCSAT-Saturday-19","2010-TUGGSAT-Saturday-19"); + default: + //return 'weekday'; + return Array("2010-BELCMAST-Weekday-15","2010-TUGGMAST-Weekday-14"); + } +} + +function midnight_seconds($time = "") { + // from http://www.perturb.org/display/Perlfunc__Seconds_Since_Midnight.html + if ($time != "") { + return (date("G", $time) * 3600) + (date("i", $time) * 60) + date("s", $time); + } + if (isset($_SESSION['time'])) { + $time = strtotime($_SESSION['time']); + return (date("G", $time) * 3600) + (date("i", $time) * 60) + date("s", $time); + } + return (date("G") * 3600) + (date("i") * 60) + date("s"); +} + +function midnight_seconds_to_time($seconds) { + if ($seconds > 0) { + $midnight = mktime(0, 0, 0, date("n"), date("j"), date("Y")); + return date("h:ia", $midnight + $seconds); + } else { + return ""; + } +} + +if ($GTFSREnabled) { + $serviceAlertCause = Array( + "UNKNOWN_CAUSE" => "Unknown cause", + "OTHER_CAUSE" => "Other cause", + "TECHNICAL_PROBLEM" => "Technical problem", + "STRIKE" => "Strike", + "DEMONSTRATION" => "Demonstration", + "ACCIDENT" => "Accident", + "HOLIDAY" => "Holiday", + "WEATHER" => "Weather", + "MAINTENANCE" => "Maintenance", + "CONSTRUCTION" => "Construction", + "POLICE_ACTIVITY" => "Police activity", + "MEDICAL_EMERGENCY" => "Medical emergency" + ); + $serviceAlertEffect = Array( + "NO_SERVICE" => "No service", + "REDUCED_SERVICE" => "Reduced service", + "SIGNIFICANT_DELAYS" => "Significant delays", + "DETOUR" => "Detour", + "ADDITIONAL_SERVICE" => "Additional service", + "MODIFIED_SERVICE" => "Modified service", + "OTHER_EFFECT" => "Other effect", + "UNKNOWN_EFFECT" => "Unknown effect", + "STOP_MOVED" => "Stop moved"); + + set_include_path(get_include_path() . PATH_SEPARATOR . ($basePath . "lib/Protobuf-PHP/library/DrSlump/")); + + include_once("Protobuf.php"); + include_once("Protobuf/Message.php"); + include_once("Protobuf/Registry.php"); + include_once("Protobuf/Descriptor.php"); + include_once("Protobuf/Field.php"); + + include_once($basePath . "lib/Protobuf-PHP/gtfs-realtime.php"); + include_once("Protobuf/CodecInterface.php"); + include_once("Protobuf/Codec/PhpArray.php"); + include_once("Protobuf/Codec/Binary.php"); + include_once("Protobuf/Codec/Binary/Writer.php"); + include_once("Protobuf/Codec/Json.php"); + + function getServiceAlerts($filter_class = "", $filter_id = "") { + /* + + also need last modified epoch of client gtfs + + - add,remove,patch,inform (null) + - stop + - trip + - network + - classes (WHERE=) + - route (short_name or route_id) + - street + - stop + - trip + Currently support: + network inform + trip patch: stop remove + street inform: route inform, trip inform, stop inform + route patch: trip remove + */ + $fm = new transit_realtime\FeedMessage(); + $fh = new transit_realtime\FeedHeader(); + $fh->setGtfsRealtimeVersion(1); + $fh->setTimestamp(time()); + $fm->setHeader($fh); + foreach (getCurrentAlerts() as $alert) { + $fe = new transit_realtime\FeedEntity(); + $fe->setId($alert['id']); + $fe->setIsDeleted(false); + $alert = new transit_realtime\Alert(); + $tr = new transit_realtime\TimeRange(); + $tr->setStart($alert['start']); + $tr->setEnd($alert['end']); + $alert->addActivePeriod($tr); + $informedEntities = getInformedAlerts($alert['id'], $_REQUEST['filter_class'], $_REQUEST['filter_id']); + if (sizeof($informedEntities) > 0) { + $informed = Array(); + $es = new transit_realtime\EntitySelector(); + if ($informedEntity['informed_class'] == "agency") { + $es->setAgencyId($informedEntity['informed_id']); + } + if ($informedEntity['informed_class'] == "stop") { + $es->setStopId($informedEntity['informed_id']); + } + if ($informedEntity['informed_class'] == "route") { + $es->setRouteId($informedEntity['informed_id']); + } + if ($informedEntity['informed_class'] == "trip") { + $td = new transit_realtime\TripDescriptor(); + $td->setTripId($informedEntity['informed_id']); + $es->setTrip($td); + } + $alert->addInformedEntity($es); + } + $alert->setCause(constant("transit_realtime\Alert\Cause::" . $alert['cause'])); + $alert->setEffect(constant("transit_realtime\Alert\Effect::" . $alert['effect'])); + $tsUrl = new transit_realtime\TranslatedString(); + $tUrl = new transit_realtime\TranslatedString\Translation(); + $tUrl->setText($alert['url']); + $tUrl->setLanguage("en"); + $tsUrl->addTranslation($tUrl); + $alert->setUrl($tsUrl); + $tsHeaderText = new transit_realtime\TranslatedString(); + $tHeaderText = new transit_realtime\TranslatedString\Translation(); + $tHeaderText->setText($alert['header']); + $tHeaderText->setLanguage("en"); + $tsHeaderText->addTranslation($tHeaderText); + $alert->setHeaderText($tsHeaderText); + $tsDescriptionText = new transit_realtime\TranslatedString(); + $tDescriptionText = new transit_realtime\TranslatedString\Translation(); + $tDescriptionText->setText($alert['description']); + $tDescriptionText->setLanguage("en"); + $tsDescriptionText->addTranslation($tDescriptionText); + $alert->setDescriptionText($tsDescriptionText); + $fe->setAlert($alert); + $fm->addEntity($fe); + } + return $fm; + } + + function getServiceAlertsAsArray($filter_class = "", $filter_id = "") { + $codec = new DrSlump\Protobuf\Codec\PhpArray(); + return $codec->encode(getServiceAlerts($filter_class, $filter_id)); + } + + function getServiceAlertsAsBinary($filter_class = "", $filter_id = "") { + $codec = new DrSlump\Protobuf\Codec\Binary(); + return $codec->encode(getServiceAlerts($filter_class, $filter_id)); + } + + function getServiceAlertsAsJSON($filter_class = "", $filter_id = "") { + $codec = new DrSlump\Protobuf\Codec\Json(); + return $codec->encode(getServiceAlerts($filter_class, $filter_id)); + } + + function getServiceAlertsByClass() { + $return = Array(); + $alerts = getServiceAlertsAsArray("", ""); + foreach ($alerts['entities'] as $entity) { + foreach ($entity['informed'] as $informed) { + foreach ($informed as $key => $value) { + if (strpos("_id", $key) > 0) { + $parts = explode($key); + $class = $parts[0]; + $id = $value; + } + } + $return[$class][$id][] = $entity; + } + } + } + + function getTripUpdates($filter_class = "", $filter_id = "") { + $fm = new transit_realtime\FeedMessage(); + $fh = new transit_realtime\FeedHeader(); + $fh->setGtfsRealtimeVersion(1); + $fh->setTimestamp(time()); + $fm->setHeader($fh); + foreach (getCurrentAlerts() as $alert) { + $informedEntities = getInformedAlerts($alert['id'], $_REQUEST['filter_class'], $_REQUEST['filter_id']); + $stops = Array(); + $routestrips = Array(); + if (sizeof($informedEntities) > 0) { + if ($informedEntity['informed_class'] == "stop" && $informed["x-action"] == "remove") { + $stops[] = $informedEntity['informed_id']; + } + if (($informedEntity['informed_class'] == "route" || $informedEntity['informed_class'] == "trip") && $informed["x-action"] == "patch") { + $routestrips[] = Array("id" => $informedEntity['informed_id'], + "type" => $informedEntity['informed_class']); + } + } + foreach ($routestrips as $routetrip) { + $fe = new transit_realtime\FeedEntity(); + $fe->setId($alert['id'] . $routetrip['id']); + $fe->setIsDeleted(false); + $tu = new transit_realtime\TripUpdate(); + $td = new transit_realtime\TripDescriptor(); + if ($routetrip['type'] == "route") { + $td->setRouteId($routetrip['id']); + } else if ($routetrip['type'] == "trip") { + $td->setTripId($routetrip['id']); + } + $tu->setTrip($td); + foreach ($stops as $stop) { + $stu = new transit_realtime\TripUpdate\StopTimeUpdate(); + $stu->setStopId($stop); + $stu->setScheduleRelationship(transit_realtime\TripUpdate\StopTimeUpdate\ScheduleRelationship::SKIPPED); + $tu->addStopTimeUpdate($stu); + } + $fe->setTripUpdate($tu); + $fm->addEntity($fe); + } + } + return $fm; + } + + function getTripUpdatesAsArray($filter_class = "", $filter_id = "") { + $codec = new DrSlump\Protobuf\Codec\PhpArray(); + return $codec->encode(getTripUpdates($filter_class, $filter_id)); + } + + function getTripUpdatesAsBinary($filter_class = "", $filter_id = "") { + $codec = new DrSlump\Protobuf\Codec\Binary(); + return $codec->encode(getTripUpdates($filter_class, $filter_id)); + } + + function getTripUpdatesAsJSON($filter_class = "", $filter_id = "") { + $codec = new DrSlump\Protobuf\Codec\Json(); + return $codec->encode(getTripUpdates($filter_class, $filter_id)); + } + } ?> --- a/include/common.inc.php +++ b/include/common.inc.php @@ -1,38 +1,63 @@ \n"; -} -function isJQueryMobileDevice() -{ - // http://forum.jquery.com/topic/what-is-the-best-way-to-detect-all-useragents-which-can-handle-jquery-mobile#14737000002087897 - $user_agent = $_SERVER['HTTP_USER_AGENT']; - return preg_match('/iphone/i', $user_agent) || preg_match('/android/i', $user_agent) || preg_match('/webos/i', $user_agent) || preg_match('/ios/i', $user_agent) || preg_match('/bada/i', $user_agent) || preg_match('/maemo/i', $user_agent) || preg_match('/meego/i', $user_agent) || preg_match('/fennec/i', $user_agent) || (preg_match('/symbian/i', $user_agent) && preg_match('/s60/i', $user_agent) && $browser['majorver'] >= 5) || (preg_match('/symbian/i', $user_agent) && preg_match('/platform/i', $user_agent) && $browser['majorver'] >= 3) || (preg_match('/blackberry/i', $user_agent) && $browser['majorver'] >= 5) || (preg_match('/opera mobile/i', $user_agent) && $browser['majorver'] >= 10) || (preg_match('/opera mini/i', $user_agent) && $browser['majorver'] >= 5); -} -function isFastDevice() -{ - $ua = $_SERVER['HTTP_USER_AGENT']; - $fastDevices = Array( - "Mozilla/5.0 (X11;", - "Mozilla/5.0 (Windows;", - "Mozilla/5.0 (iP", - "Mozilla/5.0 (Linux; U; Android", - "Mozilla/4.0 (compatible; MSIE" - ); - $slowDevices = Array( - "J2ME", - "MIDP", - "Opera/", - "Mozilla/2.0 (compatible;", - "Mozilla/3.0 (compatible;" - ); - return true; -} -function array_flatten($a, $f = array()) -{ - if (!$a || !is_array($a)) return ''; - foreach ($a as $k => $v) { - if (is_array($v)) $f = array_flatten($v, $f); - else $f[$k] = $v; - } - return $f; -} -function remove_spaces($string) -{ - return str_replace(' ', '', $string); -} -function object2array($object) -{ - if (is_object($object)) { - foreach ($object as $key => $value) { - $array[$key] = $value; - } - } - else { - $array = $object; - } - return $array; -} -function startsWith($haystack, $needle, $case = true) -{ - if ($case) { - return (strcmp(substr($haystack, 0, strlen($needle)) , $needle) === 0); - } - return (strcasecmp(substr($haystack, 0, strlen($needle)) , $needle) === 0); -} - -function endsWith($haystack, $needle, $case = true) -{ - if ($case) { - return (strcmp(substr($haystack, strlen($haystack) - strlen($needle)) , $needle) === 0); - } - return (strcasecmp(substr($haystack, strlen($haystack) - strlen($needle)) , $needle) === 0); -} -function bracketsMeanNewLine($input) -{ - return str_replace(")", "", str_replace("(", "
", $input)); -} -function sksort(&$array, $subkey = "id", $sort_ascending = false) -{ - if (count($array)) $temp_array[key($array) ] = array_shift($array); - foreach ($array as $key => $val) { - $offset = 0; - $found = false; - foreach ($temp_array as $tmp_key => $tmp_val) { - if (!$found and strtolower($val[$subkey]) > strtolower($tmp_val[$subkey])) { - $temp_array = array_merge((array)array_slice($temp_array, 0, $offset) , array( - $key => $val - ) , array_slice($temp_array, $offset)); - $found = true; - } - $offset++; - } - if (!$found) $temp_array = array_merge($temp_array, array( - $key => $val - )); - } - if ($sort_ascending) $array = array_reverse($temp_array); - else $array = $temp_array; -} -function sktimesort(&$array, $subkey = "id", $sort_ascending = false) -{ - if (count($array)) $temp_array[key($array) ] = array_shift($array); - foreach ($array as $key => $val) { - $offset = 0; - $found = false; - foreach ($temp_array as $tmp_key => $tmp_val) { - if (!$found and strtotime($val[$subkey]) > strtotime($tmp_val[$subkey])) { - $temp_array = array_merge((array)array_slice($temp_array, 0, $offset) , array( - $key => $val - ) , array_slice($temp_array, $offset)); - $found = true; - } - $offset++; - } - if (!$found) $temp_array = array_merge($temp_array, array( - $key => $val - )); - } - if ($sort_ascending && isset($temp_array)) $array = array_reverse($temp_array); - else $array = $temp_array; -} -function r_implode( $glue, $pieces ) -{ - foreach( $pieces as $r_pieces ) - { - if( is_array( $r_pieces ) ) - { - $retVal[] = r_implode( $glue, $r_pieces ); - } - else - { - $retVal[] = $r_pieces; - } - } - return implode( $glue, $retVal ); -} +function isAnalyticsOn() { + $user_agent = $_SERVER['HTTP_USER_AGENT']; + return !isDebugServer() && !preg_match('/cloudkick/i', $user_agent) && !preg_match('/googlebot/i', $user_agent) && + !preg_match('/baidu/i', $user_agent); +} + +function isDebug($debugReason = "other") { + global $debugOkay; + return in_array($debugReason, $debugOkay, false) && isDebugServer(); +} + +function debug($msg, $debugReason = "other") { + if (isDebug($debugReason)) + echo "\n\n"; +} +function isIOSDevice() { + return strstr($_SERVER['HTTP_USER_AGENT'], 'iPhone') || strstr($_SERVER['HTTP_USER_AGENT'], 'iPod') || strstr($_SERVER['HTTP_USER_AGENT'], 'iPad'); +} +function isJQueryMobileDevice() { + // http://forum.jquery.com/topic/what-is-the-best-way-to-detect-all-useragents-which-can-handle-jquery-mobile#14737000002087897 + $user_agent = $_SERVER['HTTP_USER_AGENT']; + return preg_match('/iphone/i', $user_agent) || preg_match('/android/i', $user_agent) || preg_match('/webos/i', $user_agent) || preg_match('/ios/i', $user_agent) || preg_match('/bada/i', $user_agent) || preg_match('/maemo/i', $user_agent) || preg_match('/meego/i', $user_agent) || preg_match('/fennec/i', $user_agent) || (preg_match('/symbian/i', $user_agent) && preg_match('/s60/i', $user_agent) && $browser['majorver'] >= 5) || (preg_match('/symbian/i', $user_agent) && preg_match('/platform/i', $user_agent) && $browser['majorver'] >= 3) || (preg_match('/blackberry/i', $user_agent) && $browser['majorver'] >= 5) || (preg_match('/opera mobile/i', $user_agent) && $browser['majorver'] >= 10) || (preg_match('/opera mini/i', $user_agent) && $browser['majorver'] >= 5); +} + + +function array_flatten($a, $f = array()) { + if (!$a || !is_array($a)) + return ''; + foreach ($a as $k => $v) { + if (is_array($v)) + $f = array_flatten($v, $f); + else + $f[$k] = $v; + } + return $f; +} + +function remove_spaces($string) { + return str_replace(' ', '', $string); +} + +function object2array($object) { + if (is_object($object)) { + foreach ($object as $key => $value) { + $array[$key] = $value; + } + } else { + $array = $object; + } + return $array; +} + +function startsWith($haystack, $needle, $case = true) { + if ($case) { + return (strcmp(substr($haystack, 0, strlen($needle)), $needle) === 0); + } + return (strcasecmp(substr($haystack, 0, strlen($needle)), $needle) === 0); +} + +function endsWith($haystack, $needle, $case = true) { + if ($case) { + return (strcmp(substr($haystack, strlen($haystack) - strlen($needle)), $needle) === 0); + } + return (strcasecmp(substr($haystack, strlen($haystack) - strlen($needle)), $needle) === 0); +} + +function sksort(&$array, $subkey = "id", $sort_ascending = false) { + if (count($array)) + $temp_array[key($array)] = array_shift($array); + foreach ($array as $key => $val) { + $offset = 0; + $found = false; + foreach ($temp_array as $tmp_key => $tmp_val) { + if (!$found and strtolower($val[$subkey]) > strtolower($tmp_val[$subkey])) { + $temp_array = array_merge((array) array_slice($temp_array, 0, $offset), array( + $key => $val + ), array_slice($temp_array, $offset)); + $found = true; + } + $offset++; + } + if (!$found) + $temp_array = array_merge($temp_array, array( + $key => $val + )); + } + if ($sort_ascending) + $array = array_reverse($temp_array); + else + $array = $temp_array; +} + +function sktimesort(&$array, $subkey = "id", $sort_ascending = false) { + if (count($array)) + $temp_array[key($array)] = array_shift($array); + foreach ($array as $key => $val) { + $offset = 0; + $found = false; + foreach ($temp_array as $tmp_key => $tmp_val) { + if (!$found and strtotime($val[$subkey]) > strtotime($tmp_val[$subkey])) { + $temp_array = array_merge((array) array_slice($temp_array, 0, $offset), array( + $key => $val + ), array_slice($temp_array, $offset)); + $found = true; + } + $offset++; + } + if (!$found) + $temp_array = array_merge($temp_array, array( + $key => $val + )); + } + if ($sort_ascending && isset($temp_array)) + $array = array_reverse($temp_array); + else + $array = $temp_array; +} + +function r_implode($glue, $pieces) { + foreach ($pieces as $r_pieces) { + if (is_array($r_pieces)) { + $retVal[] = r_implode($glue, $r_pieces); + } else { + $retVal[] = $r_pieces; + } + } + return implode($glue, $retVal); +} + + ?> --- a/include/db/route-dao.inc.php +++ b/include/db/route-dao.inc.php @@ -1,230 +1,282 @@ prepare($query); - $query->bindParam(":routeID", $routeID); - $query->execute(); - if (!$query) { - databaseError($conn->errorInfo()); - return Array(); - } - return $query->fetch(PDO::FETCH_ASSOC); -} - -function getRouteByFullName($routeFullName) -{ - global $conn; - $query = "Select * from routes where route_short_name||route_long_name = :routeFullName LIMIT 1"; - debug($query, "database"); - $query = $conn->prepare($query); - $query->bindParam(":routeFullName", $routeFullName); - $query->execute(); - if (!$query) { - databaseError($conn->errorInfo()); - return Array(); - } - return $query->fetch(PDO::FETCH_ASSOC); -} - -function getRoutes() -{ - global $conn; - $query = "Select * from routes order by route_short_name;"; - debug($query, "database"); - $query = $conn->prepare($query); - $query->execute(); - if (!$query) { - databaseError($conn->errorInfo()); - return Array(); - } - return $query->fetchAll(); -} -function getRoutesByNumber($routeNumber = "") -{ - global $conn; - if ($routeNumber != "") { - $query = "Select distinct routes.route_id,routes.route_short_name,routes.route_long_name,service_id from routes join trips on trips.route_id = + +/* + * Copyright 2010,2011 Alexander Sadleir + + 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. + */ + +function getRoute($routeID) { + global $conn; + $query = "Select * from routes where route_id = :routeID LIMIT 1"; + debug($query, "database"); + $query = $conn->prepare($query); + $query->bindParam(":routeID", $routeID); + $query->execute(); + if (!$query) { + databaseError($conn->errorInfo()); + return Array(); + } + return $query->fetch(PDO :: FETCH_ASSOC); +} +function getRoutesByShortName($routeShortName) { + global $conn; + $query = "Select distinct route_id, route_short_name from routes where route_short_name = :routeShortName"; + debug($query, "database"); + $query = $conn->prepare($query); + $query->bindParam(":routeShortName", $routeShortName); + $query->execute(); + if (!$query) { + databaseError($conn->errorInfo()); + return Array(); + } + return $query->fetchAll(); +} + +function getRouteHeadsigns($routeID) { + global $conn; + $query = "select distinct trip_headsign,direction_id from routes join trips on trips.route_id = routes.route_id +join stop_times on stop_times.trip_id = trips.trip_id "; + debug($query, "database"); + $query = $conn->prepare($query); + $query->bindParam(":routeID", $routeID); + $query->execute(); + if (!$query) { + databaseError($conn->errorInfo()); + return Array(); + } +return $query->fetchAll(); +} + +function getRouteByFullName($routeFullName) { + global $conn; + $query = "Select * from routes where route_short_name||route_long_name = :routeFullName LIMIT 1"; + debug($query, "database"); + $query = $conn->prepare($query); + $query->bindParam(":routeFullName", $routeFullName); + $query->execute(); + if (!$query) { + databaseError($conn->errorInfo()); + return Array(); + } + return $query->fetch(PDO :: FETCH_ASSOC); +} + +function getRoutes() { + global $conn; + $query = "Select * from routes order by route_short_name;"; + debug($query, "database"); + $query = $conn->prepare($query); + $query->execute(); + if (!$query) { + databaseError($conn->errorInfo()); + return Array(); + } + return $query->fetchAll(); +} + +function getRoutesByNumber($routeNumber = "") { + global $conn; + if ($routeNumber != "") { + $query = "Select distinct routes.route_id,routes.route_short_name,routes.route_long_name,service_id from routes join trips on trips.route_id = routes.route_id join stop_times on stop_times.trip_id = trips.trip_id where route_short_name = :routeNumber OR route_short_name LIKE :routeNumber2 order by route_short_name;"; - } - else { - $query = "SELECT DISTINCT route_short_name from routes order by route_short_name"; - } - debug($query, "database"); - $query = $conn->prepare($query); - if ($routeNumber != "") { - $query->bindParam(":routeNumber", $routeNumber); - $routeNumber2 = "% ".$routeNumber; - $query->bindParam(":routeNumber2", $routeNumber2); - } - $query->execute(); - if (!$query) { - databaseError($conn->errorInfo()); - return Array(); - } - return $query->fetchAll(); -} -function getRoutesByNumberSeries($routeNumberSeries = "") -{ - global $conn; - if (strlen($routeNumberSeries) == 1) { - return getRoutesByNumber($routeNumberSeries); - } - $seriesMin = substr($routeNumberSeries, 0, -1) . "0"; - $seriesMax = substr($routeNumberSeries, 0, -1) . "9"; - $query = "Select distinct routes.route_id,routes.route_short_name,routes.route_long_name,service_id from routes join trips on trips.route_id = + } else { + $query = "SELECT DISTINCT route_short_name from routes order by route_short_name"; + } + debug($query, "database"); + $query = $conn->prepare($query); + if ($routeNumber != "") { + $query->bindParam(":routeNumber", $routeNumber); + $routeNumber2 = "% " . $routeNumber; + $query->bindParam(":routeNumber2", $routeNumber2); + } + $query->execute(); + if (!$query) { + databaseError($conn->errorInfo()); + return Array(); + } + return $query->fetchAll(); +} + +function getRoutesByNumberSeries($routeNumberSeries = "") { + global $conn; + if (strlen($routeNumberSeries) == 1) { + return getRoutesByNumber($routeNumberSeries); + } + $seriesMin = substr($routeNumberSeries, 0, -1) . "0"; + $seriesMax = substr($routeNumberSeries, 0, -1) . "9"; + $query = "Select distinct routes.route_id,routes.route_short_name,routes.route_long_name,service_id from routes join trips on trips.route_id = routes.route_id join stop_times on stop_times.trip_id = trips.trip_id where to_number(route_short_name, 'FM999') between :seriesMin and :seriesMax OR route_short_name LIKE :routeNumberSeries order by route_short_name;"; - debug($query, "database"); - $query = $conn->prepare($query); - $query->bindParam(":seriesMin", $seriesMin); - $query->bindParam(":seriesMax", $seriesMax); - $routeNumberSeries = "% ".substr($routeNumberSeries, 0, -1)."%"; - $query->bindParam(":routeNumberSeries", $routeNumberSeries); - $query->execute(); - if (!$query) { - databaseError($conn->errorInfo()); - return Array(); - } - return $query->fetchAll(); -} -function getRouteNextTrip($routeID) -{ - global $conn; - $query = "select * from routes join trips on trips.route_id = routes.route_id + debug($query, "database"); + $query = $conn->prepare($query); + $query->bindParam(":seriesMin", $seriesMin); + $query->bindParam(":seriesMax", $seriesMax); + $routeNumberSeries = "% " . substr($routeNumberSeries, 0, -1) . "%"; + $query->bindParam(":routeNumberSeries", $routeNumberSeries); + $query->execute(); + if (!$query) { + databaseError($conn->errorInfo()); + return Array(); + } + return $query->fetchAll(); +} + +function getRouteNextTrip($routeID) { + global $conn; + $query = "select * from routes join trips on trips.route_id = routes.route_id join stop_times on stop_times.trip_id = trips.trip_id where arrival_time > :currentTime and routes.route_id = :routeID order by arrival_time limit 1"; - debug($query, "database"); - $query = $conn->prepare($query); - $query->bindParam(":currentTime", current_time()); - $query->bindParam(":routeID", $routeID); - $query->execute(); - if (!$query) { - databaseError($conn->errorInfo()); - return Array(); - } - $r = $query->fetch(PDO::FETCH_ASSOC); - - // past last trip of the day special case - if (sizeof($r) < 16) { - $query = "select * from routes join trips on trips.route_id = routes.route_id + debug($query, "database"); + $query = $conn->prepare($query); + $query->bindParam(":currentTime", current_time()); + $query->bindParam(":routeID", $routeID); + $query->execute(); + if (!$query) { + databaseError($conn->errorInfo()); + return Array(); + } + $r = $query->fetch(PDO :: FETCH_ASSOC); + + // past last trip of the day special case + if (sizeof($r) < 16) { + $query = "select * from routes join trips on trips.route_id = routes.route_id join stop_times on stop_times.trip_id = trips.trip_id where routes.route_id = :routeID order by arrival_time DESC limit 1"; - debug($query, "database"); - $query = $conn->prepare($query); - $query->bindParam(":routeID", $routeID); - $query->execute(); - if (!$query) { - databaseError($conn->errorInfo()); - return Array(); - } - - $r = $query->fetch(PDO::FETCH_ASSOC); - } - return $r; -} -function getTimeInterpolatedRouteAtStop($routeID, $stop_id) -{ - $nextTrip = getRouteNextTrip($routeID); - if ($nextTrip['trip_id']) { - foreach (getTimeInterpolatedTrip($nextTrip['trip_id']) as $tripStop) { - if ($tripStop['stop_id'] == $stop_id) return $tripStop; - } - } - return Array(); -} -function getRouteTrips($routeID) -{ - global $conn; - $query = "select routes.route_id,trips.trip_id,service_id,arrival_time, stop_id, stop_sequence from routes join trips on trips.route_id = routes.route_id + debug($query, "database"); + $query = $conn->prepare($query); + $query->bindParam(":routeID", $routeID); + $query->execute(); + if (!$query) { + databaseError($conn->errorInfo()); + return Array(); + } + + $r = $query->fetch(PDO :: FETCH_ASSOC); + } + return $r; +} + +function getRouteAtStop($routeID, $stop_id) { + $nextTrip = getRouteNextTrip($routeID); + if ($nextTrip['trip_id']) { + foreach (getTripStopTimes($nextTrip['trip_id']) as $tripStop) { + if ($tripStop['stop_id'] == $stop_id) + return $tripStop; + } + } + return Array(); +} + +function getRouteTrips($routeID) { + global $conn; + $query = "select routes.route_id,trips.trip_id,service_id,arrival_time, stop_id, stop_sequence from routes join trips on trips.route_id = routes.route_id join stop_times on stop_times.trip_id = trips.trip_id where routes.route_id = :routeID and stop_sequence = '1' order by arrival_time "; - debug($query, "database"); - $query = $conn->prepare($query); - $query->bindParam(":routeID", $routeID); - $query->execute(); - if (!$query) { - databaseError($conn->errorInfo()); - return Array(); - } - return $query->fetchAll(); -} -function getRoutesByDestination($destination = "", $service_period = "") -{ - global $conn; - if ($service_period == "") $service_period = service_period(); - if ($destination != "") { - $query = "SELECT DISTINCT trips.route_id,route_short_name,route_long_name, service_id + debug($query, "database"); + $query = $conn->prepare($query); + $query->bindParam(":routeID", $routeID); + $query->execute(); + if (!$query) { + databaseError($conn->errorInfo()); + return Array(); + } + return $query->fetchAll(); +} + +function getRoutesByDestination($destination = "", $service_period = "") { + global $conn; + if ($service_period == "") + $service_period = service_period(); + if ($destination != "") { + $query = "SELECT DISTINCT trips.route_id,route_short_name,route_long_name, service_id FROM stop_times join trips on trips.trip_id = stop_times.trip_id join routes on trips.route_id = routes.route_id WHERE route_long_name = :destination AND service_id=:service_period order by route_short_name"; - } - else { - $query = "SELECT DISTINCT route_long_name + } else { + $query = "SELECT DISTINCT route_long_name FROM stop_times join trips on trips.trip_id = stop_times.trip_id join routes on trips.route_id = routes.route_id WHERE service_id= :service_period order by route_long_name"; - } - debug($query, "database"); - $query = $conn->prepare($query); - $query->bindParam(":service_period", $service_period); - if ($destination != "") $query->bindParam(":destination", $destination); - $query->execute(); - if (!$query) { - databaseError($conn->errorInfo()); - return Array(); - } - return $query->fetchAll(); -} -function getRoutesBySuburb($suburb, $service_period = "") -{ - if ($service_period == "") $service_period = service_period(); - global $conn; - $query = "SELECT DISTINCT service_id,trips.route_id,route_short_name,route_long_name + } + debug($query, "database"); + $query = $conn->prepare($query); + $query->bindParam(":service_period", $service_period); + if ($destination != "") + $query->bindParam(":destination", $destination); + $query->execute(); + if (!$query) { + databaseError($conn->errorInfo()); + return Array(); + } + return $query->fetchAll(); +} + +function getRoutesBySuburb($suburb, $service_period = "") { + if ($service_period == "") + $service_period = service_period(); + global $conn; + $query = "SELECT DISTINCT service_id,trips.route_id,route_short_name,route_long_name FROM stop_times join trips on trips.trip_id = stop_times.trip_id join routes on trips.route_id = routes.route_id join stops on stops.stop_id = stop_times.stop_id WHERE zone_id LIKE ':suburb AND service_id=:service_period ORDER BY route_short_name"; - debug($query, "database"); - $query = $conn->prepare($query); - $query->bindParam(":service_period", $service_period); - $suburb = "%" . $suburb . ";%"; - $query->bindParam(":suburb", $suburb); - $query->execute(); - if (!$query) { - databaseError($conn->errorInfo()); - return Array(); - } - return $query->fetchAll(); -} -function getRoutesNearby($lat, $lng, $limit = "", $distance = 500) -{ - if ($service_period == "") $service_period = service_period(); - if ($limit != "") $limitSQL = " LIMIT :limit "; - global $conn; - $query = "SELECT service_id,trips.route_id,route_short_name,route_long_name,min(stops.stop_id) as stop_id, + debug($query, "database"); + $query = $conn->prepare($query); + $query->bindParam(":service_period", $service_period); + $suburb = "%" . $suburb . ";%"; + $query->bindParam(":suburb", $suburb); + $query->execute(); + if (!$query) { + databaseError($conn->errorInfo()); + return Array(); + } + return $query->fetchAll(); +} + +function getRoutesNearby($lat, $lng, $limit = "", $distance = 500) { + if ($service_period == "") + $service_period = service_period(); + $service_ids = service_ids($service_period); + $sidA = $service_ids[0]; + $sidB = $service_ids[1]; + if ($limit != "") + $limitSQL = " LIMIT :limit "; + global $conn; + $query = "SELECT service_id,trips.route_id,route_short_name,route_long_name,min(stops.stop_id) as stop_id, min(ST_Distance(position, ST_GeographyFromText('SRID=4326;POINT($lng $lat)'), FALSE)) as distance FROM stop_times join trips on trips.trip_id = stop_times.trip_id join routes on trips.route_id = routes.route_id join stops on stops.stop_id = stop_times.stop_id -WHERE service_id=:service_period +WHERE (service_id=:service_periodA OR service_id=:service_periodB) AND ST_DWithin(position, ST_GeographyFromText('SRID=4326;POINT($lng $lat)'), :distance, FALSE) group by service_id,trips.route_id,route_short_name,route_long_name order by distance $limitSQL"; - debug($query, "database"); - $query = $conn->prepare($query); - $query->bindParam(":service_period", $service_period); - $query->bindParam(":distance", $distance); - if ($limit != "") $query->bindParam(":limit", $limit); - $query->execute(); - if (!$query) { - databaseError($conn->errorInfo()); - return Array(); - } - return $query->fetchAll(); -} + debug($query, "database"); + $query = $conn->prepare($query); + $query->bindParam(":service_periodA", $sidA); + $query->bindParam(":service_periodB", $sidB); + $query->bindParam(":distance", $distance); + if ($limit != "") + $query->bindParam(":limit", $limit); + $query->execute(); + if (!$query) { + databaseError($conn->errorInfo()); + return Array(); + } + return $query->fetchAll(); +} + ?> --- a/include/db/servicealert-dao.inc.php +++ b/include/db/servicealert-dao.inc.php @@ -1,53 +1,177 @@ prepare($query); // Create a prepared statement - $query->bindParam(":date", date("Ymd",($date != "" ? $date : time()))); - $query->execute(); - if (!$query) { - databaseError($conn->errorInfo()); - return Array(); - } - return $query->fetch(PDO::FETCH_ASSOC); + +/* + * Copyright 2010,2011 Alexander Sadleir + + 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. + */ + +function getServiceOverride($date = "") { + global $conn; + $query = "Select * from calendar_dates where date = :date and exception_type = '1' LIMIT 1"; + // debug($query,"database"); + $query = $conn->prepare($query); // Create a prepared statement + $query->bindParam(":date", date("Ymd", ($date != "" ? $date : time()))); + $query->execute(); + if (!$query) { + databaseError($conn->errorInfo()); + return Array(); + } + return $query->fetch(PDO :: FETCH_ASSOC); +} + +function getServiceAlert($alertID) { + global $conn; + $query = "SELECT id,extract('epoch' from start) as start, extract('epoch' from \"end\") as \"end\",cause,effect,header,description,url from servicealerts_alerts where id = :servicealert_id"; + debug($query, "database"); + $query = $conn->prepare($query); + $query->bindParam(":servicealert_id", $alertID); + $query->execute(); + if (!$query) { + databaseError($conn->errorInfo()); + return Array(); + } + return $query->fetch(PDO :: FETCH_ASSOC); +} + +function updateServiceAlert($alertID, $start, $end, $header, $description, $url) { + global $conn; + $query = 'update servicealerts_alerts set start=:start, "end"=:end, header=:header, description=:description, url=:url where id = :servicealert_id'; + debug($query, "database"); + $query = $conn->prepare($query); + $query->bindParam(":servicealert_id", $alertID); + $query->bindParam(":start", $start); + $query->bindParam(":end", $end); + $query->bindParam(":header", $header); + $query->bindParam(":description", $description); + $query->bindParam(":url", $url); + $query->execute(); + + print_r($conn->errorInfo()); + if (!$query) { + databaseError($conn->errorInfo()); + return Array(); + } + return $query->fetch(PDO :: FETCH_ASSOC); +} + +function addServiceAlert($start, $end, $header, $description, $url) { + global $conn; + $query = 'INSERT INTO servicealerts_alerts (start, "end", header, description, url) VALUES (:start, :end, :header, :description, :url) '; + debug($query, "database"); + $query = $conn->prepare($query); + $query->bindParam(":start", $start); + $query->bindParam(":end", $end); + $query->bindParam(":header", $header); + $query->bindParam(":description", $description); + $query->bindParam(":url", $url); + $query->execute(); + + print_r($conn->errorInfo()); + if (!$query) { + databaseError($conn->errorInfo()); + return Array(); + } + return $query->fetch(PDO :: FETCH_ASSOC); } function getCurrentAlerts() { - global $conn; - $query = "SELECT * from servicealerts_alerts"; - //debug($query, "database"); - $query = $conn->prepare($query); - //if ($stop_sequence != "") $query->bindParam(":stop_sequence", $stop_sequence); - $query->execute(); - if (!$query) { - databaseError($conn->errorInfo()); - return Array(); - } - return $query->fetchAll(); + global $conn; + $query = "SELECT id,extract('epoch' from start) as start, extract('epoch' from \"end\") as \"end\",cause,effect,header,description,url from servicealerts_alerts where NOW() > start and NOW() < \"end\""; + // debug($query, "database"); + $query = $conn->prepare($query); + $query->execute(); + if (!$query) { + databaseError($conn->errorInfo()); + return Array(); + } + return $query->fetchAll(); } -function getInformedAlerts($id,$filter_class,$filter_id) { - - global $conn; - $query = "SELECT * from servicealerts_informed where servicealert_id = :servicealert_id"; - - if ($filter_class != "" && $filter_id != "") { - $query .= " AND (informed_class = :informed_class OR informed_class = 'network') AND informed_id = :informed_id"; - - } - //debug($query, "database"); - $query = $conn->prepare($query); - if ($filter_class != "" && $filter_id != "") { - $query->bindParam(":informed_class", $filter_class); - $query->bindParam(":informed_id", $filter_id); - } - $query->bindParam(":servicealert_id", $id); - $query->execute(); - if (!$query) { - databaseError($conn->errorInfo()); - return Array(); - } - return $query->fetchAll(); + +function getFutureAlerts() { + global $conn; + $query = "SELECT id,extract('epoch' from start) as start, extract('epoch' from \"end\") as \"end\",cause,effect,header,description,url from servicealerts_alerts where NOW() > start or NOW() < \"end\""; + // debug($query, "database"); + $query = $conn->prepare($query); + $query->execute(); + if (!$query) { + databaseError($conn->errorInfo()); + return Array(); + } + return $query->fetchAll(); +} + +function getInformedAlerts($id, $filter_class, $filter_id) { + + global $conn; + $query = "SELECT * from servicealerts_informed where servicealert_id = :servicealert_id"; + + if ($filter_class != "") { + $query .= " AND informed_class = :informed_class "; + } + if ($filter_id != "") { + $query .= " AND informed_id = :informed_id "; + } + // debug($query, "database"); + $query = $conn->prepare($query); + if ($filter_class != "") { + $query->bindParam(":informed_class", $filter_class); + } + if ($filter_id != "") { + $query->bindParam(":informed_id", $filter_id); + } + $query->bindParam(":servicealert_id", $id); + $query->execute(); + if (!$query) { + databaseError($conn->errorInfo()); + return Array(); + } + return $query->fetchAll(); +} + +function deleteInformedAlert($serviceAlertID, $class, $id) { + global $conn; + $query = 'DELETE from servicealerts_informed where servicealert_id = :servicealert_id and informed_class = :informed_class AND informed_id = :informed_id'; + debug($query, "database"); + $query = $conn->prepare($query); + $query->bindParam(":servicealert_id", $serviceAlertID); + $query->bindParam(":informed_class", $class); + $query->bindParam(":informed_id", $id); + $query->execute(); + print_r($conn->errorInfo()); + if (!$query) { + databaseError($conn->errorInfo()); + return Array(); + } + return null; +} + +function addInformedAlert($serviceAlertID, $class, $id, $action) { + global $conn; + $query = 'INSERT INTO servicealerts_informed (servicealert_id , informed_class , informed_id) VALUES(:servicealert_id ,:informed_class, :informed_id)'; + debug($query, "database"); + $query = $conn->prepare($query); + $query->bindParam(":servicealert_id", $serviceAlertID); + $query->bindParam(":informed_class", $class); + $query->bindParam(":informed_id", $id); + $query->execute(); + + print_r($conn->errorInfo()); + if (!$query) { + databaseError($conn->errorInfo()); + return Array(); + } + return null; } ?> --- a/include/db/stop-dao.inc.php +++ b/include/db/stop-dao.inc.php @@ -1,131 +1,181 @@ prepare($query); - $query->bindParam(":stopID", $stopID); - $query->execute(); - if (!$query) { - databaseError($conn->errorInfo()); - return Array(); - } - return $query->fetch(PDO::FETCH_ASSOC); -} -function getStops($timingPointsOnly = false, $firstLetter = "", $startsWith = "") -{ - global $conn; - $conditions = Array(); - if ($timingPointsOnly) $conditions[] = "substr(stop_code,1,2) != 'Wj'"; - if ($firstLetter != "") $conditions[] = "substr(stop_name,1,1) = :firstLetter"; - if ($startsWith != "") $conditions[] = "stop_name like :startsWith"; - $query = "Select * from stops"; - if (sizeof($conditions) > 0) { - if (sizeof($conditions) > 1) { - $query.= " Where " . implode(" AND ", $conditions) . " "; - } - else { - $query.= " Where " . $conditions[0] . " "; - } - } - $query.= " order by stop_name;"; - $query = $conn->prepare($query); - if ($firstLetter != "") $query->bindParam(":firstLetter", $firstLetter); - - if ($startsWith != "") { - $startsWith = $startsWith."%"; - $query->bindParam(":startsWith", $startsWith); + +/* + * Copyright 2010,2011 Alexander Sadleir + + 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. + */ + +function getStop($stopID) { + global $conn; + $query = "Select * from stops where stop_id = :stopID LIMIT 1"; + debug($query, "database"); + $query = $conn->prepare($query); + $query->bindParam(":stopID", $stopID); + $query->execute(); + if (!$query) { + databaseError($conn->errorInfo()); + return Array(); + } + return $query->fetch(PDO :: FETCH_ASSOC); +} + +function getStops($firstLetter = "", $startsWith = "") { + global $conn; + $conditions = Array(); + if ($firstLetter != "") + $conditions[] = "substr(stop_name,1,1) = :firstLetter"; + if ($startsWith != "") + $conditions[] = "stop_name like :startsWith"; + $query = "Select * from stops"; + if (sizeof($conditions) > 0) { + if (sizeof($conditions) > 1) { + $query .= " Where " . implode(" AND ", $conditions) . " "; + } else { + $query .= " Where " . $conditions[0] . " "; } - $query->execute(); - if (!$query) { - databaseError($conn->errorInfo()); - return Array(); - } - return $query->fetchAll(); -} -function getNearbyStops($lat, $lng, $limit = "", $distance = 1000) -{ - if ($lat == null || $lng == null) return Array(); - if ($limit != "") $limitSQL = " LIMIT :limit "; - global $conn; - $query = "Select *, ST_Distance(position, ST_GeographyFromText('SRID=4326;POINT($lng $lat)'), FALSE) as distance + } + $query .= " order by stop_name;"; + debug($query,"database"); + $query = $conn->prepare($query); + if ($firstLetter != "") + $query->bindParam(":firstLetter", $firstLetter); + + if ($startsWith != "") { + $startsWith = $startsWith . "%"; + $query->bindParam(":startsWith", $startsWith); + } + $query->execute(); + if (!$query) { + databaseError($conn->errorInfo()); + return Array(); + } + return $query->fetchAll(); +} + +function getNearbyStops($lat, $lng, $limit = "", $distance = 1000) { + if ($lat == null || $lng == null) + return Array(); + if ($limit != "") + $limitSQL = " LIMIT :limit "; + global $conn; + $query = "Select *, ST_Distance(position, ST_GeographyFromText('SRID=4326;POINT($lng $lat)'), FALSE) as distance from stops WHERE ST_DWithin(position, ST_GeographyFromText('SRID=4326;POINT($lng $lat)'), :distance, FALSE) order by distance $limitSQL;"; - debug($query, "database"); - $query = $conn->prepare($query); - $query->bindParam(":distance", $distance); - $query->bindParam(":limit", $limit); - $query->execute(); - if (!$query) { - databaseError($conn->errorInfo()); - return Array(); - } - return $query->fetchAll(); -} -function getStopsBySuburb($suburb) -{ - global $conn; - $query = "Select * from stops where zone_id LIKE :suburb order by stop_name;"; - debug($query, "database"); - $query = $conn->prepare($query); - $suburb = "%" . $suburb . ";%"; - $query->bindParam(":suburb", $suburb); - $query->execute(); - if (!$query) { - databaseError($conn->errorInfo()); - return Array(); - } - return $query->fetchAll(); -} -function getStopsByStopCode($stop_code,$startsWith = "") -{ - global $conn; - $query = "Select * from stops where (stop_code = :stop_code OR stop_code LIKE :stop_code2)"; - if ($startsWith != "") $query .= " AND stop_name like :startsWith"; - - debug($query, "database"); - $query = $conn->prepare($query); - - $query->bindParam(":stop_code", $stop_code); - $stop_code2 = $stop_code . "%"; - $query->bindParam(":stop_code2", $stop_code2); - if ($startsWith != "") { - $startsWith = $startsWith."%"; - $query->bindParam(":startsWith", $startsWith); - } - $query->execute(); - if (!$query) { - databaseError($conn->errorInfo()); - return Array(); - } - return $query->fetchAll(); -} -function getStopRoutes($stopID, $service_period) -{ - if ($service_period == "") $service_period = service_period(); - global $conn; - $query = "SELECT distinct service_id,trips.route_id,route_short_name,route_long_name + debug($query, "database"); + $query = $conn->prepare($query); + $query->bindParam(":distance", $distance); + $query->bindParam(":limit", $limit); + $query->execute(); + if (!$query) { + databaseError($conn->errorInfo()); + return Array(); + } + return $query->fetchAll(); +} + +function getStopsByName($name) { + global $conn; + $query = "Select * from stops where stop_name LIKE :name;"; + debug($query, "database"); + $query = $conn->prepare($query); + $name = "%" . $name . ";%"; + $query->bindParam(":name", $name); + $query->execute(); + if (!$query) { + databaseError($conn->errorInfo()); + return Array(); + } + return $query->fetchAll(); +} + +function getStopsBySuburb($suburb) { + global $conn; + $query = "Select * from stops where zone_id LIKE :suburb order by stop_name;"; + debug($query, "database"); + $query = $conn->prepare($query); + $suburb = "%" . $suburb . ";%"; + $query->bindParam(":suburb", $suburb); + $query->execute(); + if (!$query) { + databaseError($conn->errorInfo()); + return Array(); + } + return $query->fetchAll(); +} + +function getStopsByStopCode($stop_code, $startsWith = "") { + global $conn; + $query = "Select * from stops where (stop_code = :stop_code OR stop_code LIKE :stop_code2)"; + if ($startsWith != "") + $query .= " AND stop_name like :startsWith"; + + debug($query, "database"); + $query = $conn->prepare($query); + + $query->bindParam(":stop_code", $stop_code); + $stop_code2 = $stop_code . "%"; + $query->bindParam(":stop_code2", $stop_code2); + if ($startsWith != "") { + $startsWith = $startsWith . "%"; + $query->bindParam(":startsWith", $startsWith); + } + $query->execute(); + if (!$query) { + databaseError($conn->errorInfo()); + return Array(); + } + return $query->fetchAll(); +} + +function getStopRoutes($stopID, $service_period) { + if ($service_period == "") { + $service_period = service_period(); + } + $service_ids = service_ids($service_period); + $sidA = $service_ids[0]; + $sidB = $service_ids[1]; + global $conn; + $query = "SELECT distinct service_id,trips.route_id,route_short_name,route_long_name FROM stop_times join trips on trips.trip_id = -stop_times.trip_id join routes on trips.route_id = routes.route_id WHERE stop_id = :stopID AND service_id=:service_period"; - debug($query, "database"); - $query = $conn->prepare($query); - $query->bindParam(":service_period", $service_period); - $query->bindParam(":stopID", $stopID); - $query->execute(); - if (!$query) { - databaseError($conn->errorInfo()); - return Array(); - } - return $query->fetchAll(); -} -function getStopTrips($stopID, $service_period = "", $afterTime = "", $limit = "") -{ - if ($service_period == "") $service_period = service_period(); - if ($limit != "") $limitSQL = " LIMIT :limit "; - global $conn; - if ($afterTime != "") { - $query = " SELECT stop_times.trip_id,stop_times.arrival_time,stop_times.stop_id,stop_sequence,service_id,trips.route_id,route_short_name,route_long_name, end_times.arrival_time as end_time +stop_times.trip_id join routes on trips.route_id = routes.route_id WHERE stop_id = :stopID +AND (service_id=:service_periodA OR service_id=:service_periodB)"; + debug($query, "database"); + $query = $conn->prepare($query); + $query->bindParam(":service_periodA", $sidA); + $query->bindParam(":service_periodB", $sidB); + $query->bindParam(":stopID", $stopID); + $query->execute(); + if (!$query) { + databaseError($conn->errorInfo()); + return Array(); + } + return $query->fetchAll(); +} + +function getStopTrips($stopID, $service_period = "", $afterTime = "", $limit = "") { + if ($service_period == "") { + $service_period = service_period(); + } + $service_ids = service_ids($service_period); + + $sidA = $service_ids[0]; + $sidB = $service_ids[1]; + if ($limit != "") + $limitSQL = " LIMIT :limit "; + global $conn; + if ($afterTime != "") { + $query = " SELECT stop_times.trip_id,stop_times.arrival_time,stop_times.stop_id,stop_sequence,service_id,trips.route_id,route_short_name,route_long_name, end_times.arrival_time as end_time FROM stop_times join trips on trips.trip_id = stop_times.trip_id @@ -133,58 +183,65 @@ WHERE stop_times.arrival_time IS NOT NULL group by trip_id) as end_times WHERE stop_times.stop_id = :stopID AND stop_times.trip_id = end_times.trip_id -AND service_id=:service_period +AND (service_id=:service_periodA OR service_id=:service_periodB) AND end_times.arrival_time > :afterTime ORDER BY end_time $limitSQL"; - } - else { - $query = "SELECT stop_times.trip_id,arrival_time,stop_times.stop_id,stop_sequence,service_id,trips.route_id,route_short_name,route_long_name + } else { + $query = "SELECT stop_times.trip_id,arrival_time,stop_times.stop_id,stop_sequence,service_id,trips.route_id,route_short_name,route_long_name FROM stop_times join trips on trips.trip_id = stop_times.trip_id join routes on trips.route_id = routes.route_id WHERE stop_times.stop_id = :stopID -AND service_id=:service_period +AND (service_id=:service_periodA OR service_id=:service_periodB) ORDER BY arrival_time $limitSQL"; - } - debug($query, "database"); - $query = $conn->prepare($query); - $query->bindParam(":service_period", $service_period); - $query->bindParam(":stopID", $stopID); - if ($limit != "") $query->bindParam(":limit", $limit); - if ($afterTime != "") $query->bindParam(":afterTime", $afterTime); - $query->execute(); - if (!$query) { - databaseError($conn->errorInfo()); - return Array(); - } - return $query->fetchAll(); -} -function getStopTripsWithTimes($stopID, $time = "", $service_period = "", $time_range = "", $limit = "") -{ - if ($service_period == "") $service_period = service_period(); - if ($time_range == "") $time_range = (24 * 60 * 60); - if ($time == "") $time = current_time(); - if ($limit == "") $limit = 10; - $trips = getStopTrips($stopID, $service_period, $time); - $timedTrips = Array(); - if ($trips && sizeof($trips) > 0) { - foreach ($trips as $trip) { - if ($trip['arrival_time'] != "") { - if (strtotime($trip['arrival_time']) > strtotime($time) and strtotime($trip['arrival_time']) < (strtotime($time) + $time_range)) { - $timedTrips[] = $trip; - } - } - else { - $timedTrip = getTimeInterpolatedTripAtStop($trip['trip_id'], $trip['stop_sequence']); - if ($timedTrip['arrival_time'] > $time and strtotime($timedTrip['arrival_time']) < (strtotime($time) + $time_range)) { - $timedTrips[] = $timedTrip; - } - } - if (sizeof($timedTrips) > $limit) break; - } - sktimesort($timedTrips, "arrival_time", true); + } + debug($query, "database"); + $query = $conn->prepare($query); + $query->bindParam(":service_periodA", $sidA); + $query->bindParam(":service_periodB", $sidB); + $query->bindParam(":stopID", $stopID); + if ($limit != "") + $query->bindParam(":limit", $limit); + if ($afterTime != "") + $query->bindParam(":afterTime", $afterTime); + $query->execute(); + if (!$query) { + databaseError($conn->errorInfo()); + return Array(); + } + return $query->fetchAll(); +} + +function getStopTripsWithTimes($stopID, $time = "", $service_period = "", $time_range = "", $limit = "") { + if ($service_period == "") + $service_period = service_period(); + if ($time_range == "") + $time_range = (24 * 60 * 60); + if ($time == "") + $time = current_time(); + if ($limit == "") + $limit = 10; + $trips = getStopTrips($stopID, $service_period, $time); + $timedTrips = Array(); + if ($trips && sizeof($trips) > 0) { + foreach ($trips as $trip) { + if ($trip['arrival_time'] != "") { + if (strtotime($trip['arrival_time']) > strtotime($time) and strtotime($trip['arrival_time']) < (strtotime($time) + $time_range)) { + $timedTrips[] = $trip; + } + } else { + $timedTrip = getTripAtStop($trip['trip_id'], $trip['stop_sequence']); + if ($timedTrip['arrival_time'] > $time and strtotime($timedTrip['arrival_time']) < (strtotime($time) + $time_range)) { + $timedTrips[] = $timedTrip; + } + } + if (sizeof($timedTrips) > $limit) + break; } - return $timedTrips; -} + sktimesort($timedTrips, "arrival_time", true); + } + return $timedTrips; +} + ?> --- a/include/db/trip-dao.inc.php +++ b/include/db/trip-dao.inc.php @@ -1,240 +1,169 @@ prepare($query); - $query->bindParam(":tripID", $tripID); - $query->execute(); - if (!$query) { - databaseError($conn->errorInfo()); - return Array(); - } - return $query->fetch(PDO::FETCH_ASSOC); + debug($query, "database"); + $query = $conn->prepare($query); + $query->bindParam(":tripID", $tripID); + $query->execute(); + if (!$query) { + databaseError($conn->errorInfo()); + return Array(); + } + return $query->fetch(PDO :: FETCH_ASSOC); } -function getTripShape($tripID) -{ - global $conn; - $query = "SELECT ST_AsKML(ST_MakeLine(geometry(a.position))) as the_route + +function getTripShape($tripID) { + // todo, use shapes table if shape_id specified + global $conn; + $query = "SELECT ST_AsKML(ST_MakeLine(geometry(a.position))) as the_route FROM (SELECT position, stop_sequence, trips.trip_id FROM stop_times join trips on trips.trip_id = stop_times.trip_id join stops on stops.stop_id = stop_times.stop_id WHERE trips.trip_id = :tripID ORDER BY stop_sequence) as a group by a.trip_id"; - debug($query, "database"); - $query = $conn->prepare($query); - $query->bindParam(":tripID", $tripID); - $query->execute(); - if (!$query) { - databaseError($conn->errorInfo()); - return Array(); - } - return $query->fetchColumn(0); + debug($query, "database"); + $query = $conn->prepare($query); + $query->bindParam(":tripID", $tripID); + $query->execute(); + if (!$query) { + databaseError($conn->errorInfo()); + return Array(); + } + return $query->fetchColumn(0); } -function getTimeInterpolatedTrip($tripID, $range = "") -{ - global $conn; - $query = "SELECT stop_times.trip_id,arrival_time,stop_times.stop_id,stop_lat,stop_lon,stop_name,stop_code, + +function getTripStopTimes($tripID) { + global $conn; + $query = "SELECT stop_times.trip_id,trip_headsign,arrival_time,stop_times.stop_id,stop_lat,stop_lon,stop_name,stop_code, stop_sequence,service_id,trips.route_id,route_short_name,route_long_name FROM stop_times join trips on trips.trip_id = stop_times.trip_id join routes on trips.route_id = routes.route_id join stops on stops.stop_id = stop_times.stop_id WHERE trips.trip_id = :tripID $range ORDER BY stop_sequence"; - debug($query, "database"); - $query = $conn->prepare($query); - $query->bindParam(":tripID", $tripID); - $query->execute(); - if (!$query) { - databaseError($conn->errorInfo()); - return Array(); - } - $stopTimes = $query->fetchAll(); - $cur_timepoint = Array(); - $next_timepoint = Array(); - $distance_between_timepoints = 0.0; - $distance_traveled_between_timepoints = 0.0; - $rv = Array(); - foreach ($stopTimes as $i => $stopTime) { - if ($stopTime['arrival_time'] != "") { - // is timepoint - $cur_timepoint = $stopTime; - $distance_between_timepoints = 0.0; - $distance_traveled_between_timepoints = 0.0; - if ($i + 1 < sizeof($stopTimes)) { - $k = $i + 1; - $distance_between_timepoints+= distance($stopTimes[$k - 1]["stop_lat"], $stopTimes[$k - 1]["stop_lon"], $stopTimes[$k]["stop_lat"], $stopTimes[$k]["stop_lon"]); - while ($stopTimes[$k]["arrival_time"] == "" && $k + 1 < sizeof($stopTimes)) { - $k+= 1; - //echo "k".$k; - $distance_between_timepoints+= distance($stopTimes[$k - 1]["stop_lat"], $stopTimes[$k - 1]["stop_lon"], $stopTimes[$k]["stop_lat"], $stopTimes[$k]["stop_lon"]); - } - $next_timepoint = $stopTimes[$k]; - - } - $rv[] = $stopTime; - } - else { - // is untimed point - //echo "i".$i; - $distance_traveled_between_timepoints+= distance($stopTimes[$i - 1]["stop_lat"], $stopTimes[$i - 1]["stop_lon"], $stopTimes[$i]["stop_lat"], $stopTimes[$i]["stop_lon"]); - //echo "$distance_traveled_between_timepoints / $distance_between_timepoints
"; - $distance_percent = $distance_traveled_between_timepoints / $distance_between_timepoints; - if ($next_timepoint["arrival_time"] != "") { - $total_time = strtotime($next_timepoint["arrival_time"]) - strtotime($cur_timepoint["arrival_time"]); - //echo strtotime($next_timepoint["arrival_time"])." - ".strtotime($cur_timepoint["arrival_time"])."
"; - $time_estimate = ($distance_percent * $total_time) + strtotime($cur_timepoint["arrival_time"]); - $stopTime["arrival_time"] = date("H:i:s", $time_estimate); - } - else { - $stopTime["arrival_time"] = $cur_timepoint["arrival_time"]; - } - $rv[] = $stopTime; - - - } - } - //var_dump($rv); - return $rv; + debug($query, "database"); + $query = $conn->prepare($query); + $query->bindParam(":tripID", $tripID); + $query->execute(); + if (!$query) { + databaseError($conn->errorInfo()); + return Array(); + } + $stopTimes = $query->fetchAll(); + return $stopTimes; } -function getTripPreviousTimePoint($tripID, $stop_sequence) -{ - global $conn; - $query = " SELECT trip_id,stop_id, - stop_sequence -FROM stop_times -WHERE trip_id = :tripID and stop_sequence < :stop_sequence -and stop_times.arrival_time IS NOT NULL ORDER BY stop_sequence DESC LIMIT 1"; - debug($query, "database"); - $query = $conn->prepare($query); - $query->bindParam(":tripID", $tripID); - $query->bindParam(":stop_sequence", $stop_sequence); - $query->execute(); - if (!$query) { - databaseError($conn->errorInfo()); - return Array(); - } - return $query->fetch(PDO::FETCH_ASSOC); + +function getTripAtStop($tripID, $stop_sequence) { + global $conn; + foreach (getTripStopTimes($tripID) as $tripStop) { + if ($tripStop['stop_sequence'] == $stop_sequence) + return $tripStop; + } + return Array(); } -function getTripNextTimePoint($tripID, $stop_sequence) -{ - global $conn; - $query = " SELECT trip_id,stop_id, - stop_sequence -FROM stop_times -WHERE trip_id = :tripID and stop_sequence > :stop_sequence -and stop_times.arrival_time IS NOT NULL ORDER BY stop_sequence LIMIT 1"; - debug($query, "database"); - $query = $conn->prepare($query); - $query->bindParam(":tripID", $tripID); - $query->bindParam(":stop_sequence", $stop_sequence); - $query->execute(); - if (!$query) { - databaseError($conn->errorInfo()); - return Array(); - } - return $query->fetch(PDO::FETCH_ASSOC); -} -function getTimeInterpolatedTripAtStop($tripID, $stop_sequence) -{ - global $conn; - // limit interpolation to between nearest actual points. - $prevTimePoint = getTripPreviousTimePoint($tripID, $stop_sequence); - $nextTimePoint = getTripNextTimePoint($tripID, $stop_sequence); - //echo " prev {$lowestDelta['stop_sequence']} next {$nextTimePoint['stop_sequence']} "; - $range = ""; - if ($prevTimePoint != "") $range .= " AND stop_sequence >= '{$prevTimePoint['stop_sequence']}'"; - if ($nextTimePoint != "") $range .= " AND stop_sequence <= '{$nextTimePoint['stop_sequence']}'"; - foreach (getTimeInterpolatedTrip($tripID, $range) as $tripStop) { - if ($tripStop['stop_sequence'] == $stop_sequence) return $tripStop; - } - return Array(); -} -function getTripStartTime($tripID) -{ - global $conn; - $query = "Select * from stop_times +function getTripStartTime($tripID) { + global $conn; + $query = "Select * from stop_times where trip_id = :tripID AND arrival_time IS NOT NULL AND stop_sequence = '1'"; - debug($query, "database"); - $query = $conn->prepare($query); - $query->bindParam(":tripID", $tripID); - $query->execute(); - if (!$query) { - databaseError($conn->errorInfo()); - return Array(); - } - $r = $query->fetch(PDO::FETCH_ASSOC); - return $r['arrival_time']; + debug($query, "database"); + $query = $conn->prepare($query); + $query->bindParam(":tripID", $tripID); + $query->execute(); + if (!$query) { + databaseError($conn->errorInfo()); + return Array(); + } + $r = $query->fetch(PDO :: FETCH_ASSOC); + return $r['arrival_time']; } -function getTripEndTime($tripID) -{ - global $conn; - $query = "SELECT trip_id,max(arrival_time) as arrival_time from stop_times + +function getTripEndTime($tripID) { + global $conn; + $query = "SELECT trip_id,max(arrival_time) as arrival_time from stop_times WHERE stop_times.arrival_time IS NOT NULL and trip_id = :tripID group by trip_id"; - debug($query, "database"); - $query = $conn->prepare($query); - $query->bindParam(":tripID", $tripID); - $query->execute(); - if (!$query) { - databaseError($conn->errorInfo()); - return Array(); - } - $r = $query->fetch(PDO::FETCH_ASSOC); - return $r['arrival_time']; + debug($query, "database"); + $query = $conn->prepare($query); + $query->bindParam(":tripID", $tripID); + $query->execute(); + if (!$query) { + databaseError($conn->errorInfo()); + return Array(); + } + $r = $query->fetch(PDO :: FETCH_ASSOC); + return $r['arrival_time']; } -function getActiveTrips($time) -{ - global $conn; - if ($time == "") $time = current_time(); - $query = "Select distinct stop_times.trip_id, start_times.arrival_time as start_time, end_times.arrival_time as end_time from stop_times, (SELECT trip_id,arrival_time from stop_times WHERE stop_times.arrival_time IS NOT NULL + +function getActiveTrips($time) { + global $conn; + if ($time == "") + $time = current_time(); + $query = "Select distinct stop_times.trip_id, start_times.arrival_time as start_time, end_times.arrival_time as end_time from stop_times, (SELECT trip_id,arrival_time from stop_times WHERE stop_times.arrival_time IS NOT NULL AND stop_sequence = '1') as start_times, (SELECT trip_id,max(arrival_time) as arrival_time from stop_times WHERE stop_times.arrival_time IS NOT NULL group by trip_id) as end_times WHERE start_times.trip_id = end_times.trip_id AND stop_times.trip_id = end_times.trip_id AND :time > start_times.arrival_time AND :time < end_times.arrival_time"; - debug($query, "database"); - $query = $conn->prepare($query); - $query->bindParam(":time", $time); - $query->execute(); - if (!$query) { - databaseError($conn->errorInfo()); - return Array(); - } - return $query->fetchAll(); + debug($query, "database"); + $query = $conn->prepare($query); + $query->bindParam(":time", $time); + $query->execute(); + if (!$query) { + databaseError($conn->errorInfo()); + return Array(); + } + return $query->fetchAll(); } -function viaPoints($tripID, $stop_sequence = "") -{ - global $conn; - $query = "SELECT stops.stop_id, stop_name, arrival_time + +function viaPoints($tripID, $stop_sequence = "") { + global $conn; + $query = "SELECT stops.stop_id, stop_name, arrival_time FROM stop_times join stops on stops.stop_id = stop_times.stop_id WHERE stop_times.trip_id = :tripID -" . ($stop_sequence != "" ? " AND stop_sequence > :stop_sequence " : "") . "AND substr(stop_code,1,2) != 'Wj' ORDER BY stop_sequence"; - debug($query, "database"); - $query = $conn->prepare($query); - if ($stop_sequence != "") $query->bindParam(":stop_sequence", $stop_sequence); - $query->bindParam(":tripID", $tripID); - $query->execute(); - if (!$query) { - databaseError($conn->errorInfo()); - return Array(); - } - return $query->fetchAll(); +" . ($stop_sequence != "" ? " AND stop_sequence > :stop_sequence " : "") . " ORDER BY stop_sequence"; + debug($query, "database"); + $query = $conn->prepare($query); + if ($stop_sequence != "") + $query->bindParam(":stop_sequence", $stop_sequence); + $query->bindParam(":tripID", $tripID); + $query->execute(); + if (!$query) { + databaseError($conn->errorInfo()); + return Array(); + } + return $query->fetchAll(); } -function viaPointNames($tripid, $stop_sequence = "") -{ - $viaPointNames = Array(); - foreach (viaPoints($tripid, $stop_sequence) as $point) { - $viaPointNames[] = $point['stop_name']; - } - if (sizeof($viaPointNames) > 0) { - return r_implode(", ", $viaPointNames); - } - else { - return ""; - } + +function viaPointNames($tripid, $stop_sequence = "") { + $viaPointNames = Array(); + foreach (viaPoints($tripid, $stop_sequence) as $point) { + $viaPointNames[] = $point['stop_name']; + } + if (sizeof($viaPointNames) > 0) { + return r_implode(", ", $viaPointNames); + } else { + return ""; + } } + ?> --- a/index.php +++ b/index.php @@ -1,30 +1,45 @@
-
-
-

busness time


Canberra Bus Timetables and Trip Planner -
- - Launch Trip Planner... - - -Busness R&D'; -include_footer(true) -?> +
+
+

busness time


Canberra Bus Timetables and Trip Planner +
+ + Launch Trip Planner... + + + Busness R&D'; + echo ' MyWay Balance and Timeliness Survey Results'; + include_footer(true) + ?> --- a/js/jquery-1.6.1.min.js +++ /dev/null @@ -1,18 +1,1 @@ -/*! - * jQuery JavaScript Library v1.6.1 - * http://jquery.com/ - * - * Copyright 2011, John Resig - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * Includes Sizzle.js - * http://sizzlejs.com/ - * Copyright 2011, The Dojo Foundation - * Released under the MIT, BSD, and GPL Licenses. - * - * Date: Thu May 12 15:04:36 2011 -0400 - */ -(function(a,b){function cy(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cv(a){if(!cj[a]){var b=f("<"+a+">").appendTo("body"),d=b.css("display");b.remove();if(d==="none"||d===""){ck||(ck=c.createElement("iframe"),ck.frameBorder=ck.width=ck.height=0),c.body.appendChild(ck);if(!cl||!ck.createElement)cl=(ck.contentWindow||ck.contentDocument).document,cl.write("");b=cl.createElement(a),cl.body.appendChild(b),d=f.css(b,"display"),c.body.removeChild(ck)}cj[a]=d}return cj[a]}function cu(a,b){var c={};f.each(cp.concat.apply([],cp.slice(0,b)),function(){c[this]=a});return c}function ct(){cq=b}function cs(){setTimeout(ct,0);return cq=f.now()}function ci(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function ch(){try{return new a.XMLHttpRequest}catch(b){}}function cb(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var d=a.dataTypes,e={},g,h,i=d.length,j,k=d[0],l,m,n,o,p;for(g=1;g=0===c})}function W(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function O(a,b){return(a&&a!=="*"?a+".":"")+b.replace(A,"`").replace(B,"&")}function N(a){var b,c,d,e,g,h,i,j,k,l,m,n,o,p=[],q=[],r=f._data(this,"events");if(!(a.liveFired===this||!r||!r.live||a.target.disabled||a.button&&a.type==="click")){a.namespace&&(n=new RegExp("(^|\\.)"+a.namespace.split(".").join("\\.(?:.*\\.)?")+"(\\.|$)")),a.liveFired=this;var s=r.live.slice(0);for(i=0;ic)break;a.currentTarget=e.elem,a.data=e.handleObj.data,a.handleObj=e.handleObj,o=e.handleObj.origHandler.apply(e.elem,arguments);if(o===!1||a.isPropagationStopped()){c=e.level,o===!1&&(b=!1);if(a.isImmediatePropagationStopped())break}}return b}}function L(a,c,d){var e=f.extend({},d[0]);e.type=a,e.originalEvent={},e.liveFired=b,f.event.handle.call(c,e),e.isDefaultPrevented()&&d[0].preventDefault()}function F(){return!0}function E(){return!1}function m(a,c,d){var e=c+"defer",g=c+"queue",h=c+"mark",i=f.data(a,e,b,!0);i&&(d==="queue"||!f.data(a,g,b,!0))&&(d==="mark"||!f.data(a,h,b,!0))&&setTimeout(function(){!f.data(a,g,b,!0)&&!f.data(a,h,b,!0)&&(f.removeData(a,e,!0),i.resolve())},0)}function l(a){for(var b in a)if(b!=="toJSON")return!1;return!0}function k(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(j,"$1-$2").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:f.isNaN(d)?i.test(d)?f.parseJSON(d):d:parseFloat(d)}catch(g){}f.data(a,c,d)}else d=b}return d}var c=a.document,d=a.navigator,e=a.location,f=function(){function H(){if(!e.isReady){try{c.documentElement.doScroll("left")}catch(a){setTimeout(H,1);return}e.ready()}}var e=function(a,b){return new e.fn.init(a,b,h)},f=a.jQuery,g=a.$,h,i=/^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,j=/\S/,k=/^\s+/,l=/\s+$/,m=/\d/,n=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,o=/^[\],:{}\s]*$/,p=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,q=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,r=/(?:^|:|,)(?:\s*\[)+/g,s=/(webkit)[ \/]([\w.]+)/,t=/(opera)(?:.*version)?[ \/]([\w.]+)/,u=/(msie) ([\w.]+)/,v=/(mozilla)(?:.*? rv:([\w.]+))?/,w=d.userAgent,x,y,z,A=Object.prototype.toString,B=Object.prototype.hasOwnProperty,C=Array.prototype.push,D=Array.prototype.slice,E=String.prototype.trim,F=Array.prototype.indexOf,G={};e.fn=e.prototype={constructor:e,init:function(a,d,f){var g,h,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!d&&c.body){this.context=c,this[0]=c.body,this.selector=a,this.length=1;return this}if(typeof a=="string"){a.charAt(0)!=="<"||a.charAt(a.length-1)!==">"||a.length<3?g=i.exec(a):g=[null,a,null];if(g&&(g[1]||!d)){if(g[1]){d=d instanceof e?d[0]:d,k=d?d.ownerDocument||d:c,j=n.exec(a),j?e.isPlainObject(d)?(a=[c.createElement(j[1])],e.fn.attr.call(a,d,!0)):a=[k.createElement(j[1])]:(j=e.buildFragment([g[1]],[k]),a=(j.cacheable?e.clone(j.fragment):j.fragment).childNodes);return e.merge(this,a)}h=c.getElementById(g[2]);if(h&&h.parentNode){if(h.id!==g[2])return f.find(a);this.length=1,this[0]=h}this.context=c,this.selector=a;return this}return!d||d.jquery?(d||f).find(a):this.constructor(d).find(a)}if(e.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return e.makeArray(a,this)},selector:"",jquery:"1.6.1",length:0,size:function(){return this.length},toArray:function(){return D.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=this.constructor();e.isArray(a)?C.apply(d,a):e.merge(d,a),d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")");return d},each:function(a,b){return e.each(this,a,b)},ready:function(a){e.bindReady(),y.done(a);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(D.apply(this,arguments),"slice",D.call(arguments).join(","))},map:function(a){return this.pushStack(e.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:C,sort:[].sort,splice:[].splice},e.fn.init.prototype=e.fn,e.extend=e.fn.extend=function(){var a,c,d,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i=="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!="object"&&!e.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j0)return;y.resolveWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").unbind("ready")}},bindReady:function(){if(!y){y=e._Deferred();if(c.readyState==="complete")return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",z,!1),a.addEventListener("load",e.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",z),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&H()}}},isFunction:function(a){return e.type(a)==="function"},isArray:Array.isArray||function(a){return e.type(a)==="array"},isWindow:function(a){return a&&typeof a=="object"&&"setInterval"in a},isNaN:function(a){return a==null||!m.test(a)||isNaN(a)},type:function(a){return a==null?String(a):G[A.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a))return!1;if(a.constructor&&!B.call(a,"constructor")&&!B.call(a.constructor.prototype,"isPrototypeOf"))return!1;var c;for(c in a);return c===b||B.call(a,c)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw a},parseJSON:function(b){if(typeof b!="string"||!b)return null;b=e.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(o.test(b.replace(p,"@").replace(q,"]").replace(r,"")))return(new Function("return "+b))();e.error("Invalid JSON: "+b)},parseXML:function(b,c,d){a.DOMParser?(d=new DOMParser,c=d.parseFromString(b,"text/xml")):(c=new ActiveXObject("Microsoft.XMLDOM"),c.async="false",c.loadXML(b)),d=c.documentElement,(!d||!d.nodeName||d.nodeName==="parsererror")&&e.error("Invalid XML: "+b);return c},noop:function(){},globalEval:function(b){b&&j.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var f,g=0,h=a.length,i=h===b||e.isFunction(a);if(d){if(i){for(f in a)if(c.apply(a[f],d)===!1)break}else for(;g0&&a[0]&&a[j-1]||j===0||e.isArray(a));if(k)for(;i1?h.call(arguments,0):c,--e||g.resolveWith(g,h.call(b,0))}}var b=arguments,c=0,d=b.length,e=d,g=d<=1&&a&&f.isFunction(a.promise)?a:f.Deferred();if(d>1){for(;c
a",d=a.getElementsByTagName("*"),e=a.getElementsByTagName("a")[0];if(!d||!d.length||!e)return{};f=c.createElement("select"),g=f.appendChild(c.createElement("option")),h=a.getElementsByTagName("input")[0],j={leadingWhitespace:a.firstChild.nodeType===3,tbody:!a.getElementsByTagName("tbody").length,htmlSerialize:!!a.getElementsByTagName("link").length,style:/top/.test(e.getAttribute("style")),hrefNormalized:e.getAttribute("href")==="/a",opacity:/^0.55$/.test(e.style.opacity),cssFloat:!!e.style.cssFloat,checkOn:h.value==="on",optSelected:g.selected,getSetAttribute:a.className!=="t",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0},h.checked=!0,j.noCloneChecked=h.cloneNode(!0).checked,f.disabled=!0,j.optDisabled=!g.disabled;try{delete a.test}catch(s){j.deleteExpando=!1}!a.addEventListener&&a.attachEvent&&a.fireEvent&&(a.attachEvent("onclick",function b(){j.noCloneEvent=!1,a.detachEvent("onclick",b)}),a.cloneNode(!0).fireEvent("onclick")),h=c.createElement("input"),h.value="t",h.setAttribute("type","radio"),j.radioValue=h.value==="t",h.setAttribute("checked","checked"),a.appendChild(h),k=c.createDocumentFragment(),k.appendChild(a.firstChild),j.checkClone=k.cloneNode(!0).cloneNode(!0).lastChild.checked,a.innerHTML="",a.style.width=a.style.paddingLeft="1px",l=c.createElement("body"),m={visibility:"hidden",width:0,height:0,border:0,margin:0,background:"none"};for(q in m)l.style[q]=m[q];l.appendChild(a),b.insertBefore(l,b.firstChild),j.appendChecked=h.checked,j.boxModel=a.offsetWidth===2,"zoom"in a.style&&(a.style.display="inline",a.style.zoom=1,j.inlineBlockNeedsLayout=a.offsetWidth===2,a.style.display="",a.innerHTML="
",j.shrinkWrapBlocks=a.offsetWidth!==2),a.innerHTML="
t
",n=a.getElementsByTagName("td"),r=n[0].offsetHeight===0,n[0].style.display="",n[1].style.display="none",j.reliableHiddenOffsets=r&&n[0].offsetHeight===0,a.innerHTML="",c.defaultView&&c.defaultView.getComputedStyle&&(i=c.createElement("div"),i.style.width="0",i.style.marginRight="0",a.appendChild(i),j.reliableMarginRight=(parseInt((c.defaultView.getComputedStyle(i,null)||{marginRight:0}).marginRight,10)||0)===0),l.innerHTML="",b.removeChild(l);if(a.attachEvent)for(q in{submit:1,change:1,focusin:1})p="on"+q,r=p in a,r||(a.setAttribute(p,"return;"),r=typeof a[p]=="function"),j[q+"Bubbles"]=r;return j}(),f.boxModel=f.support.boxModel;var i=/^(?:\{.*\}|\[.*\])$/,j=/([a-z])([A-Z])/g;f.extend({cache:{},uuid:0,expando:"jQuery"+(f.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?f.cache[a[f.expando]]:a[f.expando];return!!a&&!l(a)},data:function(a,c,d,e){if(!!f.acceptData(a)){var g=f.expando,h=typeof c=="string",i,j=a.nodeType,k=j?f.cache:a,l=j?a[f.expando]:a[f.expando]&&f.expando;if((!l||e&&l&&!k[l][g])&&h&&d===b)return;l||(j?a[f.expando]=l=++f.uuid:l=f.expando),k[l]||(k[l]={},j||(k[l].toJSON=f.noop));if(typeof c=="object"||typeof c=="function")e?k[l][g]=f.extend(k[l][g],c):k[l]=f.extend(k[l],c);i=k[l],e&&(i[g]||(i[g]={}),i=i[g]),d!==b&&(i[f.camelCase(c)]=d);if(c==="events"&&!i[c])return i[g]&&i[g].events;return h?i[f.camelCase(c)]:i}},removeData:function(b,c,d){if(!!f.acceptData(b)){var e=f.expando,g=b.nodeType,h=g?f.cache:b,i=g?b[f.expando]:f.expando;if(!h[i])return;if(c){var j=d?h[i][e]:h[i];if(j){delete j[c];if(!l(j))return}}if(d){delete h[i][e];if(!l(h[i]))return}var k=h[i][e];f.support.deleteExpando||h!=a?delete h[i]:h[i]=null,k?(h[i]={},g||(h[i].toJSON=f.noop),h[i][e]=k):g&&(f.support.deleteExpando?delete b[f.expando]:b.removeAttribute?b.removeAttribute(f.expando):b[f.expando]=null)}},_data:function(a,b,c){return f.data(a,b,c,!0)},acceptData:function(a){if(a.nodeName){var b=f.noData[a.nodeName.toLowerCase()];if(b)return b!==!0&&a.getAttribute("classid")===b}return!0}}),f.fn.extend({data:function(a,c){var d=null;if(typeof a=="undefined"){if(this.length){d=f.data(this[0]);if(this[0].nodeType===1){var e=this[0].attributes,g;for(var h=0,i=e.length;h-1)return!0;return!1},val:function(a){var c,d,e=this[0];if(!arguments.length){if(e){c=f.valHooks[e.nodeName.toLowerCase()]||f.valHooks[e.type];if(c&&"get"in c&&(d=c.get(e,"value"))!==b)return d;return(e.value||"").replace(p,"")}return b}var g=f.isFunction(a);return this.each(function(d){var e=f(this),h;if(this.nodeType===1){g?h=a.call(this,d,e.val()):h=a,h==null?h="":typeof h=="number"?h+="":f.isArray(h)&&(h=f.map(h,function(a){return a==null?"":a+""})),c=f.valHooks[this.nodeName.toLowerCase()]||f.valHooks[this.type];if(!c||!("set"in c)||c.set(this,h,"value")===b)this.value=h}})}}),f.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c=a.selectedIndex,d=[],e=a.options,g=a.type==="select-one";if(c<0)return null;for(var h=g?c:0,i=g?c+1:e.length;h=0}),c.length||(a.selectedIndex=-1);return c}}},attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attrFix:{tabindex:"tabIndex"},attr:function(a,c,d,e){var g=a.nodeType;if(!a||g===3||g===8||g===2)return b;if(e&&c in f.attrFn)return f(a)[c](d);if(!("getAttribute"in a))return f.prop(a,c,d);var h,i,j=g!==1||!f.isXMLDoc(a);c=j&&f.attrFix[c]||c,i=f.attrHooks[c],i||(!t.test(c)||typeof d!="boolean"&&d!==b&&d.toLowerCase()!==c.toLowerCase()?v&&(f.nodeName(a,"form")||u.test(c))&&(i=v):i=w);if(d!==b){if(d===null){f.removeAttr(a,c);return b}if(i&&"set"in i&&j&&(h=i.set(a,d,c))!==b)return h;a.setAttribute(c,""+d);return d}if(i&&"get"in i&&j)return i.get(a,c);h=a.getAttribute(c);return h===null?b:h},removeAttr:function(a,b){var c;a.nodeType===1&&(b=f.attrFix[b]||b,f.support.getSetAttribute?a.removeAttribute(b):(f.attr(a,b,""),a.removeAttributeNode(a.getAttributeNode(b))),t.test(b)&&(c=f.propFix[b]||b)in a&&(a[c]=!1))},attrHooks:{type:{set:function(a,b){if(q.test(a.nodeName)&&a.parentNode)f.error("type property can't be changed");else if(!f.support.radioValue&&b==="radio"&&f.nodeName(a,"input")){var c=a.value;a.setAttribute("type",b),c&&(a.value=c);return b}}},tabIndex:{get:function(a){var c=a.getAttributeNode("tabIndex");return c&&c.specified?parseInt(c.value,10):r.test(a.nodeName)||s.test(a.nodeName)&&a.href?0:b}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(a,c,d){var e=a.nodeType;if(!a||e===3||e===8||e===2)return b;var g,h,i=e!==1||!f.isXMLDoc(a);c=i&&f.propFix[c]||c,h=f.propHooks[c];return d!==b?h&&"set"in h&&(g=h.set(a,d,c))!==b?g:a[c]=d:h&&"get"in h&&(g=h.get(a,c))!==b?g:a[c]},propHooks:{}}),w={get:function(a,c){return a[f.propFix[c]||c]?c.toLowerCase():b},set:function(a,b,c){var d;b===!1?f.removeAttr(a,c):(d=f.propFix[c]||c,d in a&&(a[d]=b),a.setAttribute(c,c.toLowerCase()));return c}},f.attrHooks.value={get:function(a,b){if(v&&f.nodeName(a,"button"))return v.get(a,b);return a.value},set:function(a,b,c){if(v&&f.nodeName(a,"button"))return v.set(a,b,c);a.value=b}},f.support.getSetAttribute||(f.attrFix=f.propFix,v=f.attrHooks.name=f.valHooks.button={get:function(a,c){var d;d=a.getAttributeNode(c);return d&&d.nodeValue!==""?d.nodeValue:b},set:function(a,b,c){var d=a.getAttributeNode(c);if(d){d.nodeValue=b;return b}}},f.each(["width","height"],function(a,b){f.attrHooks[b]=f.extend(f.attrHooks[b],{set:function(a,c){if(c===""){a.setAttribute(b,"auto");return c}}})})),f.support.hrefNormalized||f.each(["href","src","width","height"],function(a,c){f.attrHooks[c]=f.extend(f.attrHooks[c],{get:function(a){var d=a.getAttribute(c,2);return d===null?b:d}})}),f.support.style||(f.attrHooks.style={get:function(a){return a.style.cssText.toLowerCase()||b},set:function(a,b){return a.style.cssText=""+b}}),f.support.optSelected||(f.propHooks.selected=f.extend(f.propHooks.selected,{get:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex)}})),f.support.checkOn||f.each(["radio","checkbox"],function(){f.valHooks[this]={get:function(a){return a.getAttribute("value")===null?"on":a.value}}}),f.each(["radio","checkbox"],function(){f.valHooks[this]=f.extend(f.valHooks[this],{set:function(a,b){if(f.isArray(b))return a.checked=f.inArray(f(a).val(),b)>=0}})});var x=Object.prototype.hasOwnProperty,y=/\.(.*)$/,z=/^(?:textarea|input|select)$/i,A=/\./g,B=/ /g,C=/[^\w\s.|`]/g,D=function(a){return a.replace(C,"\\$&")};f.event={add:function(a,c,d,e){if(a.nodeType!==3&&a.nodeType!==8){if(d===!1)d=E;else if(!d)return;var g,h;d.handler&&(g=d,d=g.handler),d.guid||(d.guid=f.guid++);var i=f._data(a);if(!i)return;var j=i.events,k=i.handle;j||(i.events=j={}),k||(i.handle=k=function(a){return typeof f!="undefined"&&(!a||f.event.triggered!==a.type)?f.event.handle.apply(k.elem,arguments):b}),k.elem=a,c=c.split(" ");var l,m=0,n;while(l=c[m++]){h=g?f.extend({},g):{handler:d,data:e},l.indexOf(".")>-1?(n=l.split("."),l=n.shift(),h.namespace=n.slice(0).sort().join(".")):(n=[],h.namespace=""),h.type=l,h.guid||(h.guid=d.guid);var o=j[l],p=f.event.special[l]||{};if(!o){o=j[l]=[];if(!p.setup||p.setup.call(a,e,n,k)===!1)a.addEventListener?a.addEventListener(l,k,!1):a.attachEvent&&a.attachEvent("on"+l,k)}p.add&&(p.add.call(a,h),h.handler.guid||(h.handler.guid=d.guid)),o.push(h),f.event.global[l]=!0}a=null}},global:{},remove:function(a,c,d,e){if(a.nodeType!==3&&a.nodeType!==8){d===!1&&(d=E);var g,h,i,j,k=0,l,m,n,o,p,q,r,s=f.hasData(a)&&f._data(a),t=s&&s.events;if(!s||!t)return;c&&c.type&&(d=c.handler,c=c.type);if(!c||typeof c=="string"&&c.charAt(0)==="."){c=c||"";for(h in t)f.event.remove(a,h+c);return}c=c.split(" ");while(h=c[k++]){r=h,q=null,l=h.indexOf(".")<0,m=[],l||(m=h.split("."),h=m.shift(),n=new RegExp("(^|\\.)"+f.map(m.slice(0).sort(),D).join("\\.(?:.*\\.)?")+"(\\.|$)")),p=t[h];if(!p)continue;if(!d){for(j=0;j=0&&(h=h.slice(0,-1),j=!0),h.indexOf(".")>=0&&(i=h.split("."),h=i.shift(),i.sort());if(!!e&&!f.event.customEvent[h]||!!f.event.global[h]){c=typeof c=="object"?c[f.expando]?c:new f.Event(h,c):new f.Event(h),c.type=h,c.exclusive=j,c.namespace=i.join("."),c.namespace_re=new RegExp("(^|\\.)"+i.join("\\.(?:.*\\.)?")+"(\\.|$)");if(g||!e)c.preventDefault(),c.stopPropagation();if(!e){f.each(f.cache,function(){var a=f.expando,b=this[a];b&&b.events&&b.events[h]&&f.event.trigger(c,d,b.handle.elem -)});return}if(e.nodeType===3||e.nodeType===8)return;c.result=b,c.target=e,d=d?f.makeArray(d):[],d.unshift(c);var k=e,l=h.indexOf(":")<0?"on"+h:"";do{var m=f._data(k,"handle");c.currentTarget=k,m&&m.apply(k,d),l&&f.acceptData(k)&&k[l]&&k[l].apply(k,d)===!1&&(c.result=!1,c.preventDefault()),k=k.parentNode||k.ownerDocument||k===c.target.ownerDocument&&a}while(k&&!c.isPropagationStopped());if(!c.isDefaultPrevented()){var n,o=f.event.special[h]||{};if((!o._default||o._default.call(e.ownerDocument,c)===!1)&&(h!=="click"||!f.nodeName(e,"a"))&&f.acceptData(e)){try{l&&e[h]&&(n=e[l],n&&(e[l]=null),f.event.triggered=h,e[h]())}catch(p){}n&&(e[l]=n),f.event.triggered=b}}return c.result}},handle:function(c){c=f.event.fix(c||a.event);var d=((f._data(this,"events")||{})[c.type]||[]).slice(0),e=!c.exclusive&&!c.namespace,g=Array.prototype.slice.call(arguments,0);g[0]=c,c.currentTarget=this;for(var h=0,i=d.length;h-1?f.map(a.options,function(a){return a.selected}).join("-"):"":f.nodeName(a,"select")&&(c=a.selectedIndex);return c},K=function(c){var d=c.target,e,g;if(!!z.test(d.nodeName)&&!d.readOnly){e=f._data(d,"_change_data"),g=J(d),(c.type!=="focusout"||d.type!=="radio")&&f._data(d,"_change_data",g);if(e===b||g===e)return;if(e!=null||g)c.type="change",c.liveFired=b,f.event.trigger(c,arguments[1],d)}};f.event.special.change={filters:{focusout:K,beforedeactivate:K,click:function(a){var b=a.target,c=f.nodeName(b,"input")?b.type:"";(c==="radio"||c==="checkbox"||f.nodeName(b,"select"))&&K.call(this,a)},keydown:function(a){var b=a.target,c=f.nodeName(b,"input")?b.type:"";(a.keyCode===13&&!f.nodeName(b,"textarea")||a.keyCode===32&&(c==="checkbox"||c==="radio")||c==="select-multiple")&&K.call(this,a)},beforeactivate:function(a){var b=a.target;f._data(b,"_change_data",J(b))}},setup:function(a,b){if(this.type==="file")return!1;for(var c in I)f.event.add(this,c+".specialChange",I[c]);return z.test(this.nodeName)},teardown:function(a){f.event.remove(this,".specialChange");return z.test(this.nodeName)}},I=f.event.special.change.filters,I.focus=I.beforeactivate}f.support.focusinBubbles||f.each({focus:"focusin",blur:"focusout"},function(a,b){function e(a){var c=f.event.fix(a);c.type=b,c.originalEvent={},f.event.trigger(c,null,c.target),c.isDefaultPrevented()&&a.preventDefault()}var d=0;f.event.special[b]={setup:function(){d++===0&&c.addEventListener(a,e,!0)},teardown:function(){--d===0&&c.removeEventListener(a,e,!0)}}}),f.each(["bind","one"],function(a,c){f.fn[c]=function(a,d,e){var g;if(typeof a=="object"){for(var h in a)this[c](h,d,a[h],e);return this}if(arguments.length===2||d===!1)e=d,d=b;c==="one"?(g=function(a){f(this).unbind(a,g);return e.apply(this,arguments)},g.guid=e.guid||f.guid++):g=e;if(a==="unload"&&c!=="one")this.one(a,d,e);else for(var i=0,j=this.length;i0?this.bind(b,a,c):this.trigger(b)},f.attrFn&&(f.attrFn[b]=!0)}),function(){function u(a,b,c,d,e,f){for(var g=0,h=d.length;g0){j=i;break}}i=i[a]}d[g]=j}}}function t(a,b,c,d,e,f){for(var g=0,h=d.length;g+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,d=0,e=Object.prototype.toString,g=!1,h=!0,i=/\\/g,j=/\W/;[0,0].sort(function(){h=!1;return 0});var k=function(b,d,f,g){f=f||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!="string")return f;var i,j,n,o,q,r,s,t,u=!0,w=k.isXML(d),x=[],y=b;do{a.exec(""),i=a.exec(y);if(i){y=i[3],x.push(i[1]);if(i[2]){o=i[3];break}}}while(i);if(x.length>1&&m.exec(b))if(x.length===2&&l.relative[x[0]])j=v(x[0]+x[1],d);else{j=l.relative[x[0]]?[d]:k(x.shift(),d);while(x.length)b=x.shift(),l.relative[b]&&(b+=x.shift()),j=v(b,j)}else{!g&&x.length>1&&d.nodeType===9&&!w&&l.match.ID.test(x[0])&&!l.match.ID.test(x[x.length-1])&&(q=k.find(x.shift(),d,w),d=q.expr?k.filter(q.expr,q.set)[0]:q.set[0]);if(d){q=g?{expr:x.pop(),set:p(g)}:k.find(x.pop(),x.length===1&&(x[0]==="~"||x[0]==="+")&&d.parentNode?d.parentNode:d,w),j=q.expr?k.filter(q.expr,q.set):q.set,x.length>0?n=p(j):u=!1;while(x.length)r=x.pop(),s=r,l.relative[r]?s=x.pop():r="",s==null&&(s=d),l.relative[r](n,s,w)}else n=x=[]}n||(n=j),n||k.error(r||b);if(e.call(n)==="[object Array]")if(!u)f.push.apply(f,n);else if(d&&d.nodeType===1)for(t=0;n[t]!=null;t++)n[t]&&(n[t]===!0||n[t].nodeType===1&&k.contains(d,n[t]))&&f.push(j[t]);else for(t=0;n[t]!=null;t++)n[t]&&n[t].nodeType===1&&f.push(j[t]);else p(n,f);o&&(k(o,h,f,g),k.uniqueSort(f));return f};k.uniqueSort=function(a){if(r){g=h,a.sort(r);if(g)for(var b=1;b0},k.find=function(a,b,c){var d;if(!a)return[];for(var e=0,f=l.order.length;e":function(a,b){var c,d=typeof b=="string",e=0,f=a.length;if(d&&!j.test(b)){b=b.toLowerCase();for(;e=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(i,"")},TAG:function(a,b){return a[1].replace(i,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||k.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&k.error(a[0]);a[0]=d++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(i,"");!f&&l.attrMap[g]&&(a[1]=l.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(i,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=k(b[3],null,null,c);else{var g=k.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(l.match.POS.test(b[0])||l.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!k(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){var b=a.getAttribute("type"),c=a.type;return a.nodeName.toLowerCase()==="input"&&"text"===c&&(b===c||b===null)},radio:function(a){return a.nodeName.toLowerCase()==="input"&&"radio"===a.type},checkbox:function(a){return a.nodeName.toLowerCase()==="input"&&"checkbox"===a.type},file:function(a){return a.nodeName.toLowerCase()==="input"&&"file"===a.type},password:function(a){return a.nodeName.toLowerCase()==="input"&&"password"===a.type},submit:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"submit"===a.type},image:function(a){return a.nodeName.toLowerCase()==="input"&&"image"===a.type},reset:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"reset"===a.type},button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&"button"===a.type||b==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)},focus:function(a){return a===a.ownerDocument.activeElement}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return bc[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=l.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||k.getText([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=l.attrHandle[c]?l.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=l.setFilters[e];if(f)return f(a,c,b,d)}}},m=l.match.POS,n=function(a,b){return"\\"+(b-0+1)};for(var o in l.match)l.match[o]=new RegExp(l.match[o].source+/(?![^\[]*\])(?![^\(]*\))/.source),l.leftMatch[o]=new RegExp(/(^(?:.|\r|\n)*?)/.source+l.match[o].source.replace(/\\(\d+)/g,n));var p=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(q){p=function(a,b){var c=0,d=b||[];if(e.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length=="number")for(var f=a.length;c",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(l.find.ID=function(a,c,d){if(typeof c.getElementById!="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},l.filter.ID=function(a,b){var c=typeof a.getAttributeNode!="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(l.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="",a.firstChild&&typeof a.firstChild.getAttribute!="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(l.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=k,b=c.createElement("div"),d="__sizzle__";b.innerHTML="

";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){k=function(b,e,f,g){e=e||c;if(!g&&!k.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return p(e.getElementsByTagName(b),f);if(h[2]&&l.find.CLASS&&e.getElementsByClassName)return p(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return p([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return p([],f);if(i.id===h[3])return p([i],f)}try{return p(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var m=e,n=e.getAttribute("id"),o=n||d,q=e.parentNode,r=/^\s*[+~]/.test(b);n?o=o.replace(/'/g,"\\$&"):e.setAttribute("id",o),r&&q&&(e=e.parentNode);try{if(!r||q)return p(e.querySelectorAll("[id='"+o+"'] "+b),f)}catch(s){}finally{n||m.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)k[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector;if(b){var d=!b.call(c.createElement("div"),"div"),e=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(f){e=!0}k.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!k.isXML(a))try{if(e||!l.match.PSEUDO.test(c)&&!/!=/.test(c)){var f=b.call(a,c);if(f||!d||a.document&&a.document.nodeType!==11)return f}}catch(g){}return k(c,null,null,[a]).length>0}}}(),function(){var a=c.createElement("div");a.innerHTML="
";if(!!a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;l.order.splice(1,0,"CLASS"),l.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?k.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?k.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:k.contains=function(){return!1},k.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var v=function(a,b){var c,d=[],e="",f=b.nodeType?[b]:b;while(c=l.match.PSEUDO.exec(a))e+=c[0],a=a.replace(l.match.PSEUDO,"");a=l.relative[a]?a+"*":a;for(var g=0,h=f.length;g0)for(h=g;h0:this.filter(a).length>0)},closest:function(a,b){var c=[],d,e,g=this[0];if(f.isArray(a)){var h,i,j={},k=1;if(g&&a.length){for(d=0,e=a.length;d-1:f(g).is(h))&&c.push({selector:i,elem:g,level:k});g=g.parentNode,k++}}return c}var l=U.test(a)||typeof a!="string"?f(a,b||this.context):0;for(d=0,e=this.length;d-1:f.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b||g.nodeType===11)break}}c=c.length>1?f.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a||typeof a=="string")return f.inArray(this[0],a?f(a):this.parent().children());return f.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a=="string"?f(a,b):f.makeArray(a&&a.nodeType?[a]:a),d=f.merge(this.get(),c);return this.pushStack(W(c[0])||W(d[0])?d:f.unique(d))},andSelf:function(){return this.add(this.prevObject)}}),f.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return f.dir(a,"parentNode")},parentsUntil:function(a,b,c){return f.dir(a,"parentNode",c)},next:function(a){return f.nth(a,2,"nextSibling")},prev:function(a){return f.nth(a,2,"previousSibling")},nextAll:function(a){return f.dir(a,"nextSibling")},prevAll:function(a){return f.dir(a,"previousSibling")},nextUntil:function(a,b,c){return f.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return f.dir(a,"previousSibling",c)},siblings:function(a){return f.sibling(a.parentNode.firstChild,a)},children:function(a){return f.sibling(a.firstChild)},contents:function(a){return f.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:f.makeArray(a.childNodes)}},function(a,b){f.fn[a]=function(c,d){var e=f.map(this,b,c),g=T.call(arguments);P.test(a)||(d=c),d&&typeof d=="string"&&(e=f.filter(d,e)),e=this.length>1&&!V[a]?f.unique(e):e,(this.length>1||R.test(d))&&Q.test(a)&&(e=e.reverse());return this.pushStack(e,a,g.join(","))}}),f.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?f.find.matchesSelector(b[0],a)?[b[0]]:[]:f.find.matches(a,b)},dir:function(a,c,d){var e=[],g=a[c];while(g&&g.nodeType!==9&&(d===b||g.nodeType!==1||!f(g).is(d)))g.nodeType===1&&e.push(g),g=g[c];return e},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var Y=/ jQuery\d+="(?:\d+|null)"/g,Z=/^\s+/,$=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,_=/<([\w:]+)/,ba=/",""],legend:[1,"
","
"],thead:[1,"","
"],tr:[2,"","
"],td:[3,"","
"],col:[2,"","
"],area:[1,"",""],_default:[0,"",""]};bg.optgroup=bg.option,bg.tbody=bg.tfoot=bg.colgroup=bg.caption=bg.thead,bg.th=bg.td,f.support.htmlSerialize||(bg._default=[1,"div
","
"]),f.fn.extend({text:function(a){if(f.isFunction(a))return this.each(function(b){var c=f(this);c.text(a.call(this,b,c.text()))});if(typeof a!="object"&&a!==b)return this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a));return f.text(this)},wrapAll:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapAll(a.call(this,b))});if(this[0]){var b=f(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapInner(a.call(this,b))});return this.each(function(){var b=f(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){f(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){f.nodeName(this,"body")||f(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=f(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,f(arguments[0]).toArray());return a}},remove:function(a,b){for(var c=0,d;(d=this[c])!=null;c++)if(!a||f.filter(a,[d]).length)!b&&d.nodeType===1&&(f.cleanData(d.getElementsByTagName("*")),f.cleanData([d])),d.parentNode&&d.parentNode.removeChild(d);return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&f.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return f.clone(this,a,b)})},html:function(a){if(a===b)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(Y,""):null;if(typeof a=="string"&&!bc.test(a)&&(f.support.leadingWhitespace||!Z.test(a))&&!bg[(_.exec(a)||["",""])[1].toLowerCase()]){a=a.replace($,"<$1>");try{for(var c=0,d=this.length;c1&&l0?this.clone(!0):this).get();f(e[h])[b](j),d=d.concat(j)}return this.pushStack(d,a,e.selector)}}),f.extend({clone:function(a,b,c){var d=a.cloneNode(!0),e,g,h;if((!f.support.noCloneEvent||!f.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!f.isXMLDoc(a)){bj(a,d),e=bk(a),g=bk(d);for(h=0;e[h];++h)bj(e[h],g[h])}if(b){bi(a,d);if(c){e=bk(a),g=bk(d);for(h=0;e[h];++h)bi(e[h],g[h])}}return d},clean:function(a,b,d,e){var g;b=b||c,typeof b.createElement=="undefined"&&(b=b.ownerDocument|| -b[0]&&b[0].ownerDocument||c);var h=[],i;for(var j=0,k;(k=a[j])!=null;j++){typeof k=="number"&&(k+="");if(!k)continue;if(typeof k=="string")if(!bb.test(k))k=b.createTextNode(k);else{k=k.replace($,"<$1>");var l=(_.exec(k)||["",""])[1].toLowerCase(),m=bg[l]||bg._default,n=m[0],o=b.createElement("div");o.innerHTML=m[1]+k+m[2];while(n--)o=o.lastChild;if(!f.support.tbody){var p=ba.test(k),q=l==="table"&&!p?o.firstChild&&o.firstChild.childNodes:m[1]===""&&!p?o.childNodes:[];for(i=q.length-1;i>=0;--i)f.nodeName(q[i],"tbody")&&!q[i].childNodes.length&&q[i].parentNode.removeChild(q[i])}!f.support.leadingWhitespace&&Z.test(k)&&o.insertBefore(b.createTextNode(Z.exec(k)[0]),o.firstChild),k=o.childNodes}var r;if(!f.support.appendChecked)if(k[0]&&typeof (r=k.length)=="number")for(i=0;i=0)return b+"px"}}}),f.support.opacity||(f.cssHooks.opacity={get:function(a,b){return bp.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle;c.zoom=1;var e=f.isNaN(b)?"":"alpha(opacity="+b*100+")",g=d&&d.filter||c.filter||"";c.filter=bo.test(g)?g.replace(bo,e):g+" "+e}}),f(function(){f.support.reliableMarginRight||(f.cssHooks.marginRight={get:function(a,b){var c;f.swap(a,{display:"inline-block"},function(){b?c=bz(a,"margin-right","marginRight"):c=a.style.marginRight});return c}})}),c.defaultView&&c.defaultView.getComputedStyle&&(bA=function(a,c){var d,e,g;c=c.replace(br,"-$1").toLowerCase();if(!(e=a.ownerDocument.defaultView))return b;if(g=e.getComputedStyle(a,null))d=g.getPropertyValue(c),d===""&&!f.contains(a.ownerDocument.documentElement,a)&&(d=f.style(a,c));return d}),c.documentElement.currentStyle&&(bB=function(a,b){var c,d=a.currentStyle&&a.currentStyle[b],e=a.runtimeStyle&&a.runtimeStyle[b],f=a.style;!bs.test(d)&&bt.test(d)&&(c=f.left,e&&(a.runtimeStyle.left=a.currentStyle.left),f.left=b==="fontSize"?"1em":d||0,d=f.pixelLeft+"px",f.left=c,e&&(a.runtimeStyle.left=e));return d===""?"auto":d}),bz=bA||bB,f.expr&&f.expr.filters&&(f.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return b===0&&c===0||!f.support.reliableHiddenOffsets&&(a.style.display||f.css(a,"display"))==="none"},f.expr.filters.visible=function(a){return!f.expr.filters.hidden(a)});var bE=/%20/g,bF=/\[\]$/,bG=/\r?\n/g,bH=/#.*$/,bI=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bJ=/^(?:color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bK=/^(?:about|app|app\-storage|.+\-extension|file|widget):$/,bL=/^(?:GET|HEAD)$/,bM=/^\/\//,bN=/\?/,bO=/)<[^<]*)*<\/script>/gi,bP=/^(?:select|textarea)/i,bQ=/\s+/,bR=/([?&])_=[^&]*/,bS=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,bT=f.fn.load,bU={},bV={},bW,bX;try{bW=e.href}catch(bY){bW=c.createElement("a"),bW.href="",bW=bW.href}bX=bS.exec(bW.toLowerCase())||[],f.fn.extend({load:function(a,c,d){if(typeof a!="string"&&bT)return bT.apply(this,arguments);if(!this.length)return this;var e=a.indexOf(" ");if(e>=0){var g=a.slice(e,a.length);a=a.slice(0,e)}var h="GET";c&&(f.isFunction(c)?(d=c,c=b):typeof c=="object"&&(c=f.param(c,f.ajaxSettings.traditional),h="POST"));var i=this;f.ajax({url:a,type:h,dataType:"html",data:c,complete:function(a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(a){c=a}),i.html(g?f("
").append(c.replace(bO,"")).find(g):c)),d&&i.each(d,[c,b,a])}});return this},serialize:function(){return f.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?f.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||bP.test(this.nodeName)||bJ.test(this.type))}).map(function(a,b){var c=f(this).val();return c==null?null:f.isArray(c)?f.map(c,function(a,c){return{name:b.name,value:a.replace(bG,"\r\n")}}):{name:b.name,value:c.replace(bG,"\r\n")}}).get()}}),f.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){f.fn[b]=function(a){return this.bind(b,a)}}),f.each(["get","post"],function(a,c){f[c]=function(a,d,e,g){f.isFunction(d)&&(g=g||e,e=d,d=b);return f.ajax({type:c,url:a,data:d,success:e,dataType:g})}}),f.extend({getScript:function(a,c){return f.get(a,b,c,"script")},getJSON:function(a,b,c){return f.get(a,b,c,"json")},ajaxSetup:function(a,b){b?f.extend(!0,a,f.ajaxSettings,b):(b=a,a=f.extend(!0,f.ajaxSettings,b));for(var c in{context:1,url:1})c in b?a[c]=b[c]:c in f.ajaxSettings&&(a[c]=f.ajaxSettings[c]);return a},ajaxSettings:{url:bW,isLocal:bK.test(bX[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":"*/*"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":f.parseJSON,"text xml":f.parseXML}},ajaxPrefilter:bZ(bU),ajaxTransport:bZ(bV),ajax:function(a,c){function w(a,c,l,m){if(s!==2){s=2,q&&clearTimeout(q),p=b,n=m||"",v.readyState=a?4:0;var o,r,u,w=l?ca(d,v,l):b,x,y;if(a>=200&&a<300||a===304){if(d.ifModified){if(x=v.getResponseHeader("Last-Modified"))f.lastModified[k]=x;if(y=v.getResponseHeader("Etag"))f.etag[k]=y}if(a===304)c="notmodified",o=!0;else try{r=cb(d,w),c="success",o=!0}catch(z){c="parsererror",u=z}}else{u=c;if(!c||a)c="error",a<0&&(a=0)}v.status=a,v.statusText=c,o?h.resolveWith(e,[r,c,v]):h.rejectWith(e,[v,c,u]),v.statusCode(j),j=b,t&&g.trigger("ajax"+(o?"Success":"Error"),[v,d,o?r:u]),i.resolveWith(e,[v,c]),t&&(g.trigger("ajaxComplete",[v,d]),--f.active||f.event.trigger("ajaxStop"))}}typeof a=="object"&&(c=a,a=b),c=c||{};var d=f.ajaxSetup({},c),e=d.context||d,g=e!==d&&(e.nodeType||e instanceof f)?f(e):f.event,h=f.Deferred(),i=f._Deferred(),j=d.statusCode||{},k,l={},m={},n,o,p,q,r,s=0,t,u,v={readyState:0,setRequestHeader:function(a,b){if(!s){var c=a.toLowerCase();a=m[c]=m[c]||a,l[a]=b}return this},getAllResponseHeaders:function(){return s===2?n:null},getResponseHeader:function(a){var c;if(s===2){if(!o){o={};while(c=bI.exec(n))o[c[1].toLowerCase()]=c[2]}c=o[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){s||(d.mimeType=a);return this},abort:function(a){a=a||"abort",p&&p.abort(a),w(0,a);return this}};h.promise(v),v.success=v.done,v.error=v.fail,v.complete=i.done,v.statusCode=function(a){if(a){var b;if(s<2)for(b in a)j[b]=[j[b],a[b]];else b=a[v.status],v.then(b,b)}return this},d.url=((a||d.url)+"").replace(bH,"").replace(bM,bX[1]+"//"),d.dataTypes=f.trim(d.dataType||"*").toLowerCase().split(bQ),d.crossDomain==null&&(r=bS.exec(d.url.toLowerCase()),d.crossDomain=!(!r||r[1]==bX[1]&&r[2]==bX[2]&&(r[3]||(r[1]==="http:"?80:443))==(bX[3]||(bX[1]==="http:"?80:443)))),d.data&&d.processData&&typeof d.data!="string"&&(d.data=f.param(d.data,d.traditional)),b$(bU,d,c,v);if(s===2)return!1;t=d.global,d.type=d.type.toUpperCase(),d.hasContent=!bL.test(d.type),t&&f.active++===0&&f.event.trigger("ajaxStart");if(!d.hasContent){d.data&&(d.url+=(bN.test(d.url)?"&":"?")+d.data),k=d.url;if(d.cache===!1){var x=f.now(),y=d.url.replace(bR,"$1_="+x);d.url=y+(y===d.url?(bN.test(d.url)?"&":"?")+"_="+x:"")}}(d.data&&d.hasContent&&d.contentType!==!1||c.contentType)&&v.setRequestHeader("Content-Type",d.contentType),d.ifModified&&(k=k||d.url,f.lastModified[k]&&v.setRequestHeader("If-Modified-Since",f.lastModified[k]),f.etag[k]&&v.setRequestHeader("If-None-Match",f.etag[k])),v.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+(d.dataTypes[0]!=="*"?", */*; q=0.01":""):d.accepts["*"]);for(u in d.headers)v.setRequestHeader(u,d.headers[u]);if(d.beforeSend&&(d.beforeSend.call(e,v,d)===!1||s===2)){v.abort();return!1}for(u in{success:1,error:1,complete:1})v[u](d[u]);p=b$(bV,d,c,v);if(!p)w(-1,"No Transport");else{v.readyState=1,t&&g.trigger("ajaxSend",[v,d]),d.async&&d.timeout>0&&(q=setTimeout(function(){v.abort("timeout")},d.timeout));try{s=1,p.send(l,w)}catch(z){status<2?w(-1,z):f.error(z)}}return v},param:function(a,c){var d=[],e=function(a,b){b=f.isFunction(b)?b():b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=f.ajaxSettings.traditional);if(f.isArray(a)||a.jquery&&!f.isPlainObject(a))f.each(a,function(){e(this.name,this.value)});else for(var g in a)b_(g,a[g],c,e);return d.join("&").replace(bE,"+")}}),f.extend({active:0,lastModified:{},etag:{}});var cc=f.now(),cd=/(\=)\?(&|$)|\?\?/i;f.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return f.expando+"_"+cc++}}),f.ajaxPrefilter("json jsonp",function(b,c,d){var e=b.contentType==="application/x-www-form-urlencoded"&&typeof b.data=="string";if(b.dataTypes[0]==="jsonp"||b.jsonp!==!1&&(cd.test(b.url)||e&&cd.test(b.data))){var g,h=b.jsonpCallback=f.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,i=a[h],j=b.url,k=b.data,l="$1"+h+"$2";b.jsonp!==!1&&(j=j.replace(cd,l),b.url===j&&(e&&(k=k.replace(cd,l)),b.data===k&&(j+=(/\?/.test(j)?"&":"?")+b.jsonp+"="+h))),b.url=j,b.data=k,a[h]=function(a){g=[a]},d.always(function(){a[h]=i,g&&f.isFunction(i)&&a[h](g[0])}),b.converters["script json"]=function(){g||f.error(h+" was not called");return g[0]},b.dataTypes[0]="json";return"script"}}),f.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){f.globalEval(a);return a}}}),f.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),f.ajaxTransport("script",function(a){if(a.crossDomain){var d,e=c.head||c.getElementsByTagName("head")[0]||c.documentElement;return{send:function(f,g){d=c.createElement("script"),d.async="async",a.scriptCharset&&(d.charset=a.scriptCharset),d.src=a.url,d.onload=d.onreadystatechange=function(a,c){if(c||!d.readyState||/loaded|complete/.test(d.readyState))d.onload=d.onreadystatechange=null,e&&d.parentNode&&e.removeChild(d),d=b,c||g(200,"success")},e.insertBefore(d,e.firstChild)},abort:function(){d&&d.onload(0,1)}}}});var ce=a.ActiveXObject?function(){for(var a in cg)cg[a](0,1)}:!1,cf=0,cg;f.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&ch()||ci()}:ch,function(a){f.extend(f.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}(f.ajaxSettings.xhr()),f.support.ajax&&f.ajaxTransport(function(c){if(!c.crossDomain||f.support.cors){var d;return{send:function(e,g){var h=c.xhr(),i,j;c.username?h.open(c.type,c.url,c.async,c.username,c.password):h.open(c.type,c.url,c.async);if(c.xhrFields)for(j in c.xhrFields)h[j]=c.xhrFields[j];c.mimeType&&h.overrideMimeType&&h.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(j in e)h.setRequestHeader(j,e[j])}catch(k){}h.send(c.hasContent&&c.data||null),d=function(a,e){var j,k,l,m,n;try{if(d&&(e||h.readyState===4)){d=b,i&&(h.onreadystatechange=f.noop,ce&&delete cg[i]);if(e)h.readyState!==4&&h.abort();else{j=h.status,l=h.getAllResponseHeaders(),m={},n=h.responseXML,n&&n.documentElement&&(m.xml=n),m.text=h.responseText;try{k=h.statusText}catch(o){k=""}!j&&c.isLocal&&!c.crossDomain?j=m.text?200:404:j===1223&&(j=204)}}}catch(p){e||g(-1,p)}m&&g(j,k,m,l)},!c.async||h.readyState===4?d():(i=++cf,ce&&(cg||(cg={},f(a).unload(ce)),cg[i]=d),h.onreadystatechange=d)},abort:function(){d&&d(0,1)}}}});var cj={},ck,cl,cm=/^(?:toggle|show|hide)$/,cn=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,co,cp=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],cq,cr=a.webkitRequestAnimationFrame||a.mozRequestAnimationFrame||a.oRequestAnimationFrame;f.fn.extend({show:function(a,b,c){var d,e;if(a||a===0)return this.animate(cu("show",3),a,b,c);for(var g=0,h=this.length;g=e.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),e.animatedProperties[this.prop]=!0;for(g in e.animatedProperties)e.animatedProperties[g]!==!0&&(c=!1);if(c){e.overflow!=null&&!f.support.shrinkWrapBlocks&&f.each(["","X","Y"],function(a,b){d.style["overflow"+b]=e.overflow[a]}),e.hide&&f(d).hide();if(e.hide||e.show)for(var i in e.animatedProperties)f.style(d,i,e.orig[i]);e.complete.call(d)}return!1}e.duration==Infinity?this.now=b:(h=b-this.startTime,this.state=h/e.duration,this.pos=f.easing[e.animatedProperties[this.prop]](this.state,h,0,1,e.duration),this.now=this.start+(this.end-this.start)*this.pos),this.update();return!0}},f.extend(f.fx,{tick:function(){for(var a=f.timers,b=0;b
";f.extend(b.style,{position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"}),b.innerHTML=j,a.insertBefore(b,a.firstChild),d=b.firstChild,e=d.firstChild,h=d.nextSibling.firstChild.firstChild,this.doesNotAddBorder=e.offsetTop!==5,this.doesAddBorderForTableAndCells=h.offsetTop===5,e.style.position="fixed",e.style.top="20px",this.supportsFixedPosition=e.offsetTop===20||e.offsetTop===15,e.style.position=e.style.top="",d.style.overflow="hidden",d.style.position="relative",this.subtractsBorderForOverflowNotVisible=e.offsetTop===-5,this.doesNotIncludeMarginInBodyOffset=a.offsetTop!==i,a.removeChild(b),f.offset.initialize=f.noop},bodyOffset:function(a){var b=a.offsetTop,c=a.offsetLeft;f.offset.initialize(),f.offset.doesNotIncludeMarginInBodyOffset&&(b+=parseFloat(f.css(a,"marginTop"))||0,c+=parseFloat(f.css(a,"marginLeft"))||0);return{top:b,left:c}},setOffset:function(a,b,c){var d=f.css(a,"position");d==="static"&&(a.style.position="relative");var e=f(a),g=e.offset(),h=f.css(a,"top"),i=f.css(a,"left"),j=(d==="absolute"||d==="fixed")&&f.inArray("auto",[h,i])>-1,k={},l={},m,n;j?(l=e.position(),m=l.top,n=l.left):(m=parseFloat(h)||0,n=parseFloat(i)||0),f.isFunction(b)&&(b=b.call(a,c,g)),b.top!=null&&(k.top=b.top-g.top+m),b.left!=null&&(k.left=b.left-g.left+n),"using"in b?b.using.call(a,k):e.css(k)}},f.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),c=this.offset(),d=cx.test(b[0].nodeName)?{top:0,left:0}:b.offset();c.top-=parseFloat(f.css(a,"marginTop"))||0,c.left-=parseFloat(f.css(a,"marginLeft"))||0,d.top+=parseFloat(f.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat(f.css(b[0],"borderLeftWidth"))||0;return{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||c.body;while(a&&!cx.test(a.nodeName)&&f.css(a,"position")==="static")a=a.offsetParent;return a})}}),f.each(["Left","Top"],function(a,c){var d="scroll"+c;f.fn[d]=function(c){var e,g;if(c===b){e=this[0];if(!e)return null;g=cy(e);return g?"pageXOffset"in g?g[a?"pageYOffset":"pageXOffset"]:f.support.boxModel&&g.document.documentElement[d]||g.document.body[d]:e[d]}return this.each(function(){g=cy(this),g?g.scrollTo(a?f(g).scrollLeft():c,a?c:f(g).scrollTop()):this[d]=c})}}),f.each(["Height","Width"],function(a,c){var d=c.toLowerCase();f.fn["inner"+c]=function(){return this[0]?parseFloat(f.css(this[0],d,"padding")):null},f.fn["outer"+c]=function(a){return this[0]?parseFloat(f.css(this[0],d,a?"margin":"border")):null},f.fn[d]=function(a){var e=this[0];if(!e)return a==null?null:this;if(f.isFunction(a))return this.each(function(b){var c=f(this);c[d](a.call(this,b,c[d]()))});if(f.isWindow(e)){var g=e.document.documentElement["client"+c];return e.document.compatMode==="CSS1Compat"&&g||e.document.body["client"+c]||g}if(e.nodeType===9)return Math.max(e.documentElement["client"+c],e.body["scroll"+c],e.documentElement["scroll"+c],e.body["offset"+c],e.documentElement["offset"+c]);if(a===b){var h=f.css(e,d),i=parseFloat(h);return f.isNaN(i)?h:i}return this.css(d,typeof a=="string"?a:a+"px")}}),a.jQuery=a.$=f})(window); + --- /dev/null +++ b/js/jquery-1.6.2.min.js @@ -1,1 +1,18 @@ - +/*! + * jQuery JavaScript Library v1.6.2 + * http://jquery.com/ + * + * Copyright 2011, John Resig + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * Includes Sizzle.js + * http://sizzlejs.com/ + * Copyright 2011, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * + * Date: Thu Jun 30 14:16:56 2011 -0400 + */ +(function(a,b){function cv(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cs(a){if(!cg[a]){var b=c.body,d=f("<"+a+">").appendTo(b),e=d.css("display");d.remove();if(e==="none"||e===""){ch||(ch=c.createElement("iframe"),ch.frameBorder=ch.width=ch.height=0),b.appendChild(ch);if(!ci||!ch.createElement)ci=(ch.contentWindow||ch.contentDocument).document,ci.write((c.compatMode==="CSS1Compat"?"":"")+""),ci.close();d=ci.createElement(a),ci.body.appendChild(d),e=f.css(d,"display"),b.removeChild(ch)}cg[a]=e}return cg[a]}function cr(a,b){var c={};f.each(cm.concat.apply([],cm.slice(0,b)),function(){c[this]=a});return c}function cq(){cn=b}function cp(){setTimeout(cq,0);return cn=f.now()}function cf(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function ce(){try{return new a.XMLHttpRequest}catch(b){}}function b$(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var d=a.dataTypes,e={},g,h,i=d.length,j,k=d[0],l,m,n,o,p;for(g=1;g0){c!=="border"&&f.each(e,function(){c||(d-=parseFloat(f.css(a,"padding"+this))||0),c==="margin"?d+=parseFloat(f.css(a,c+this))||0:d-=parseFloat(f.css(a,"border"+this+"Width"))||0});return d+"px"}d=bx(a,b,b);if(d<0||d==null)d=a.style[b]||0;d=parseFloat(d)||0,c&&f.each(e,function(){d+=parseFloat(f.css(a,"padding"+this))||0,c!=="padding"&&(d+=parseFloat(f.css(a,"border"+this+"Width"))||0),c==="margin"&&(d+=parseFloat(f.css(a,c+this))||0)});return d+"px"}function bm(a,b){b.src?f.ajax({url:b.src,async:!1,dataType:"script"}):f.globalEval((b.text||b.textContent||b.innerHTML||"").replace(be,"/*$0*/")),b.parentNode&&b.parentNode.removeChild(b)}function bl(a){f.nodeName(a,"input")?bk(a):"getElementsByTagName"in a&&f.grep(a.getElementsByTagName("input"),bk)}function bk(a){if(a.type==="checkbox"||a.type==="radio")a.defaultChecked=a.checked}function bj(a){return"getElementsByTagName"in a?a.getElementsByTagName("*"):"querySelectorAll"in a?a.querySelectorAll("*"):[]}function bi(a,b){var c;if(b.nodeType===1){b.clearAttributes&&b.clearAttributes(),b.mergeAttributes&&b.mergeAttributes(a),c=b.nodeName.toLowerCase();if(c==="object")b.outerHTML=a.outerHTML;else if(c!=="input"||a.type!=="checkbox"&&a.type!=="radio"){if(c==="option")b.selected=a.defaultSelected;else if(c==="input"||c==="textarea")b.defaultValue=a.defaultValue}else a.checked&&(b.defaultChecked=b.checked=a.checked),b.value!==a.value&&(b.value=a.value);b.removeAttribute(f.expando)}}function bh(a,b){if(b.nodeType===1&&!!f.hasData(a)){var c=f.expando,d=f.data(a),e=f.data(b,d);if(d=d[c]){var g=d.events;e=e[c]=f.extend({},d);if(g){delete e.handle,e.events={};for(var h in g)for(var i=0,j=g[h].length;i=0===c})}function V(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function N(a,b){return(a&&a!=="*"?a+".":"")+b.replace(z,"`").replace(A,"&")}function M(a){var b,c,d,e,g,h,i,j,k,l,m,n,o,p=[],q=[],r=f._data(this,"events");if(!(a.liveFired===this||!r||!r.live||a.target.disabled||a.button&&a.type==="click")){a.namespace&&(n=new RegExp("(^|\\.)"+a.namespace.split(".").join("\\.(?:.*\\.)?")+"(\\.|$)")),a.liveFired=this;var s=r.live.slice(0);for(i=0;ic)break;a.currentTarget=e.elem,a.data=e.handleObj.data,a.handleObj=e.handleObj,o=e.handleObj.origHandler.apply(e.elem,arguments);if(o===!1||a.isPropagationStopped()){c=e.level,o===!1&&(b=!1);if(a.isImmediatePropagationStopped())break}}return b}}function K(a,c,d){var e=f.extend({},d[0]);e.type=a,e.originalEvent={},e.liveFired=b,f.event.handle.call(c,e),e.isDefaultPrevented()&&d[0].preventDefault()}function E(){return!0}function D(){return!1}function m(a,c,d){var e=c+"defer",g=c+"queue",h=c+"mark",i=f.data(a,e,b,!0);i&&(d==="queue"||!f.data(a,g,b,!0))&&(d==="mark"||!f.data(a,h,b,!0))&&setTimeout(function(){!f.data(a,g,b,!0)&&!f.data(a,h,b,!0)&&(f.removeData(a,e,!0),i.resolve())},0)}function l(a){for(var b in a)if(b!=="toJSON")return!1;return!0}function k(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(j,"$1-$2").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:f.isNaN(d)?i.test(d)?f.parseJSON(d):d:parseFloat(d)}catch(g){}f.data(a,c,d)}else d=b}return d}var c=a.document,d=a.navigator,e=a.location,f=function(){function J(){if(!e.isReady){try{c.documentElement.doScroll("left")}catch(a){setTimeout(J,1);return}e.ready()}}var e=function(a,b){return new e.fn.init(a,b,h)},f=a.jQuery,g=a.$,h,i=/^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,j=/\S/,k=/^\s+/,l=/\s+$/,m=/\d/,n=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,o=/^[\],:{}\s]*$/,p=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,q=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,r=/(?:^|:|,)(?:\s*\[)+/g,s=/(webkit)[ \/]([\w.]+)/,t=/(opera)(?:.*version)?[ \/]([\w.]+)/,u=/(msie) ([\w.]+)/,v=/(mozilla)(?:.*? rv:([\w.]+))?/,w=/-([a-z])/ig,x=function(a,b){return b.toUpperCase()},y=d.userAgent,z,A,B,C=Object.prototype.toString,D=Object.prototype.hasOwnProperty,E=Array.prototype.push,F=Array.prototype.slice,G=String.prototype.trim,H=Array.prototype.indexOf,I={};e.fn=e.prototype={constructor:e,init:function(a,d,f){var g,h,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!d&&c.body){this.context=c,this[0]=c.body,this.selector=a,this.length=1;return this}if(typeof a=="string"){a.charAt(0)!=="<"||a.charAt(a.length-1)!==">"||a.length<3?g=i.exec(a):g=[null,a,null];if(g&&(g[1]||!d)){if(g[1]){d=d instanceof e?d[0]:d,k=d?d.ownerDocument||d:c,j=n.exec(a),j?e.isPlainObject(d)?(a=[c.createElement(j[1])],e.fn.attr.call(a,d,!0)):a=[k.createElement(j[1])]:(j=e.buildFragment([g[1]],[k]),a=(j.cacheable?e.clone(j.fragment):j.fragment).childNodes);return e.merge(this,a)}h=c.getElementById(g[2]);if(h&&h.parentNode){if(h.id!==g[2])return f.find(a);this.length=1,this[0]=h}this.context=c,this.selector=a;return this}return!d||d.jquery?(d||f).find(a):this.constructor(d).find(a)}if(e.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return e.makeArray(a,this)},selector:"",jquery:"1.6.2",length:0,size:function(){return this.length},toArray:function(){return F.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=this.constructor();e.isArray(a)?E.apply(d,a):e.merge(d,a),d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")");return d},each:function(a,b){return e.each(this,a,b)},ready:function(a){e.bindReady(),A.done(a);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(F.apply(this,arguments),"slice",F.call(arguments).join(","))},map:function(a){return this.pushStack(e.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:E,sort:[].sort,splice:[].splice},e.fn.init.prototype=e.fn,e.extend=e.fn.extend=function(){var a,c,d,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i=="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!="object"&&!e.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j0)return;A.resolveWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").unbind("ready")}},bindReady:function(){if(!A){A=e._Deferred();if(c.readyState==="complete")return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",B,!1),a.addEventListener("load",e.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",B),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&J()}}},isFunction:function(a){return e.type(a)==="function"},isArray:Array.isArray||function(a){return e.type(a)==="array"},isWindow:function(a){return a&&typeof a=="object"&&"setInterval"in a},isNaN:function(a){return a==null||!m.test(a)||isNaN(a)},type:function(a){return a==null?String(a):I[C.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a))return!1;if(a.constructor&&!D.call(a,"constructor")&&!D.call(a.constructor.prototype,"isPrototypeOf"))return!1;var c;for(c in a);return c===b||D.call(a,c)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw a},parseJSON:function(b){if(typeof b!="string"||!b)return null;b=e.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(o.test(b.replace(p,"@").replace(q,"]").replace(r,"")))return(new Function("return "+b))();e.error("Invalid JSON: "+b)},parseXML:function(b,c,d){a.DOMParser?(d=new DOMParser,c=d.parseFromString(b,"text/xml")):(c=new ActiveXObject("Microsoft.XMLDOM"),c.async="false",c.loadXML(b)),d=c.documentElement,(!d||!d.nodeName||d.nodeName==="parsererror")&&e.error("Invalid XML: "+b);return c},noop:function(){},globalEval:function(b){b&&j.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(w,x)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var f,g=0,h=a.length,i=h===b||e.isFunction(a);if(d){if(i){for(f in a)if(c.apply(a[f],d)===!1)break}else for(;g0&&a[0]&&a[j-1]||j===0||e.isArray(a));if(k)for(;i1?h.call(arguments,0):c,--e||g.resolveWith(g,h.call(b,0))}}var b=arguments,c=0,d=b.length,e=d,g=d<=1&&a&&f.isFunction(a.promise)?a:f.Deferred();if(d>1){for(;c
a",d=a.getElementsByTagName("*"),e=a.getElementsByTagName("a")[0];if(!d||!d.length||!e)return{};g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=a.getElementsByTagName("input")[0],k={leadingWhitespace:a.firstChild.nodeType===3,tbody:!a.getElementsByTagName("tbody").length,htmlSerialize:!!a.getElementsByTagName("link").length,style:/top/.test(e.getAttribute("style")),hrefNormalized:e.getAttribute("href")==="/a",opacity:/^0.55$/.test(e.style.opacity),cssFloat:!!e.style.cssFloat,checkOn:i.value==="on",optSelected:h.selected,getSetAttribute:a.className!=="t",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0},i.checked=!0,k.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,k.optDisabled=!h.disabled;try{delete a.test}catch(v){k.deleteExpando=!1}!a.addEventListener&&a.attachEvent&&a.fireEvent&&(a.attachEvent("onclick",function(){k.noCloneEvent=!1}),a.cloneNode(!0).fireEvent("onclick")),i=c.createElement("input"),i.value="t",i.setAttribute("type","radio"),k.radioValue=i.value==="t",i.setAttribute("checked","checked"),a.appendChild(i),l=c.createDocumentFragment(),l.appendChild(a.firstChild),k.checkClone=l.cloneNode(!0).cloneNode(!0).lastChild.checked,a.innerHTML="",a.style.width=a.style.paddingLeft="1px",m=c.getElementsByTagName("body")[0],o=c.createElement(m?"div":"body"),p={visibility:"hidden",width:0,height:0,border:0,margin:0},m&&f.extend(p,{position:"absolute",left:-1e3,top:-1e3});for(t in p)o.style[t]=p[t];o.appendChild(a),n=m||b,n.insertBefore(o,n.firstChild),k.appendChecked=i.checked,k.boxModel=a.offsetWidth===2,"zoom"in a.style&&(a.style.display="inline",a.style.zoom=1,k.inlineBlockNeedsLayout=a.offsetWidth===2,a.style.display="",a.innerHTML="
",k.shrinkWrapBlocks=a.offsetWidth!==2),a.innerHTML="
t
",q=a.getElementsByTagName("td"),u=q[0].offsetHeight===0,q[0].style.display="",q[1].style.display="none",k.reliableHiddenOffsets=u&&q[0].offsetHeight===0,a.innerHTML="",c.defaultView&&c.defaultView.getComputedStyle&&(j=c.createElement("div"),j.style.width="0",j.style.marginRight="0",a.appendChild(j),k.reliableMarginRight=(parseInt((c.defaultView.getComputedStyle(j,null)||{marginRight:0}).marginRight,10)||0)===0),o.innerHTML="",n.removeChild(o);if(a.attachEvent)for(t in{submit:1,change:1,focusin:1})s="on"+t,u=s in a,u||(a.setAttribute(s,"return;"),u=typeof a[s]=="function"),k[t+"Bubbles"]=u;o=l=g=h=m=j=a=i=null;return k}(),f.boxModel=f.support.boxModel;var i=/^(?:\{.*\}|\[.*\])$/,j=/([a-z])([A-Z])/g;f.extend({cache:{},uuid:0,expando:"jQuery"+(f.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?f.cache[a[f.expando]]:a[f.expando];return!!a&&!l(a)},data:function(a,c,d,e){if(!!f.acceptData(a)){var g=f.expando,h=typeof c=="string",i,j=a.nodeType,k=j?f.cache:a,l=j?a[f.expando]:a[f.expando]&&f.expando;if((!l||e&&l&&!k[l][g])&&h&&d===b)return;l||(j?a[f.expando]=l=++f.uuid:l=f.expando),k[l]||(k[l]={},j||(k[l].toJSON=f.noop));if(typeof c=="object"||typeof c=="function")e?k[l][g]=f.extend(k[l][g],c):k[l]=f.extend(k[l],c);i=k[l],e&&(i[g]||(i[g]={}),i=i[g]),d!==b&&(i[f.camelCase(c)]=d);if(c==="events"&&!i[c])return i[g]&&i[g].events;return h?i[f.camelCase(c)]||i[c]:i}},removeData:function(b,c,d){if(!!f.acceptData(b)){var e=f.expando,g=b.nodeType,h=g?f.cache:b,i=g?b[f.expando]:f.expando;if(!h[i])return;if(c){var j=d?h[i][e]:h[i];if(j){delete j[c];if(!l(j))return}}if(d){delete h[i][e];if(!l(h[i]))return}var k=h[i][e];f.support.deleteExpando||h!=a?delete h[i]:h[i]=null,k?(h[i]={},g||(h[i].toJSON=f.noop),h[i][e]=k):g&&(f.support.deleteExpando?delete b[f.expando]:b.removeAttribute?b.removeAttribute(f.expando):b[f.expando]=null)}},_data:function(a,b,c){return f.data(a,b,c,!0)},acceptData:function(a){if(a.nodeName){var b=f.noData[a.nodeName.toLowerCase()];if(b)return b!==!0&&a.getAttribute("classid")===b}return!0}}),f.fn.extend({data:function(a,c){var d=null;if(typeof a=="undefined"){if(this.length){d=f.data(this[0]);if(this[0].nodeType===1){var e=this[0].attributes,g;for(var h=0,i=e.length;h-1)return!0;return!1},val:function(a){var c,d,e=this[0];if(!arguments.length){if(e){c=f.valHooks[e.nodeName.toLowerCase()]||f.valHooks[e.type];if(c&&"get"in c&&(d=c.get(e,"value"))!==b)return d;d=e.value;return typeof d=="string"?d.replace(p,""):d==null?"":d}return b}var g=f.isFunction(a);return this.each(function(d){var e=f(this),h;if(this.nodeType===1){g?h=a.call(this,d,e.val()):h=a,h==null?h="":typeof h=="number"?h+="":f.isArray(h)&&(h=f.map(h,function(a){return a==null?"":a+""})),c=f.valHooks[this.nodeName.toLowerCase()]||f.valHooks[this.type];if(!c||!("set"in c)||c.set(this,h,"value")===b)this.value=h}})}}),f.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c=a.selectedIndex,d=[],e=a.options,g=a.type==="select-one";if(c<0)return null;for(var h=g?c:0,i=g?c+1:e.length;h=0}),c.length||(a.selectedIndex=-1);return c}}},attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attrFix:{tabindex:"tabIndex"},attr:function(a,c,d,e){var g=a.nodeType;if(!a||g===3||g===8||g===2)return b;if(e&&c in f.attrFn)return f(a)[c](d);if(!("getAttribute"in a))return f.prop(a,c,d);var h,i,j=g!==1||!f.isXMLDoc(a);j&&(c=f.attrFix[c]||c,i=f.attrHooks[c],i||(t.test(c)?i=w:v&&c!=="className"&&(f.nodeName(a,"form")||u.test(c))&&(i=v)));if(d!==b){if(d===null){f.removeAttr(a,c);return b}if(i&&"set"in i&&j&&(h=i.set(a,d,c))!==b)return h;a.setAttribute(c,""+d);return d}if(i&&"get"in i&&j&&(h=i.get(a,c))!==null)return h;h=a.getAttribute(c);return h===null?b:h},removeAttr:function(a,b){var c;a.nodeType===1&&(b=f.attrFix[b]||b,f.support.getSetAttribute?a.removeAttribute(b):(f.attr(a,b,""),a.removeAttributeNode(a.getAttributeNode(b))),t.test(b)&&(c=f.propFix[b]||b)in a&&(a[c]=!1))},attrHooks:{type:{set:function(a,b){if(q.test(a.nodeName)&&a.parentNode)f.error("type property can't be changed");else if(!f.support.radioValue&&b==="radio"&&f.nodeName(a,"input")){var c=a.value;a.setAttribute("type",b),c&&(a.value=c);return b}}},tabIndex:{get:function(a){var c=a.getAttributeNode("tabIndex");return c&&c.specified?parseInt(c.value,10):r.test(a.nodeName)||s.test(a.nodeName)&&a.href?0:b}},value:{get:function(a,b){if(v&&f.nodeName(a,"button"))return v.get(a,b);return b in a?a.value:null},set:function(a,b,c){if(v&&f.nodeName(a,"button"))return v.set(a,b,c);a.value=b}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(a,c,d){var e=a.nodeType;if(!a||e===3||e===8||e===2)return b;var g,h,i=e!==1||!f.isXMLDoc(a);i&&(c=f.propFix[c]||c,h=f.propHooks[c]);return d!==b?h&&"set"in h&&(g=h.set(a,d,c))!==b?g:a[c]=d:h&&"get"in h&&(g=h.get(a,c))!==b?g:a[c]},propHooks:{}}),w={get:function(a,c){return f.prop(a,c)?c.toLowerCase():b},set:function(a,b,c){var d;b===!1?f.removeAttr(a,c):(d=f.propFix[c]||c,d in a&&(a[d]=!0),a.setAttribute(c,c.toLowerCase()));return c}},f.support.getSetAttribute||(f.attrFix=f.propFix,v=f.attrHooks.name=f.attrHooks.title=f.valHooks.button={get:function(a,c){var d;d=a.getAttributeNode(c);return d&&d.nodeValue!==""?d.nodeValue:b},set:function(a,b,c){var d=a.getAttributeNode(c);if(d){d.nodeValue=b;return b}}},f.each(["width","height"],function(a,b){f.attrHooks[b]=f.extend(f.attrHooks[b],{set:function(a,c){if(c===""){a.setAttribute(b,"auto");return c}}})})),f.support.hrefNormalized||f.each(["href","src","width","height"],function(a,c){f.attrHooks[c]=f.extend(f.attrHooks[c],{get:function(a){var d=a.getAttribute(c,2);return d===null?b:d}})}),f.support.style||(f.attrHooks.style={get:function(a){return a.style.cssText.toLowerCase()||b},set:function(a,b){return a.style.cssText=""+b}}),f.support.optSelected||(f.propHooks.selected=f.extend(f.propHooks.selected,{get:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex)}})),f.support.checkOn||f.each(["radio","checkbox"],function(){f.valHooks[this]={get:function(a){return a.getAttribute("value")===null?"on":a.value}}}),f.each(["radio","checkbox"],function(){f.valHooks[this]=f.extend(f.valHooks[this],{set:function(a,b){if(f.isArray(b))return a.checked=f.inArray(f(a).val(),b)>=0}})});var x=/\.(.*)$/,y=/^(?:textarea|input|select)$/i,z=/\./g,A=/ /g,B=/[^\w\s.|`]/g,C=function(a){return a.replace(B,"\\$&")};f.event={add:function(a,c,d,e){if(a.nodeType!==3&&a.nodeType!==8){if(d===!1)d=D;else if(!d)return;var g,h;d.handler&&(g=d,d=g.handler),d.guid||(d.guid=f.guid++);var i=f._data(a);if(!i)return;var j=i.events,k=i.handle;j||(i.events=j={}),k||(i.handle=k=function(a){return typeof f!="undefined"&&(!a||f.event.triggered!==a.type)?f.event.handle.apply(k.elem,arguments):b}),k.elem=a,c=c.split(" ");var l,m=0,n;while(l=c[m++]){h=g?f.extend({},g):{handler:d,data:e},l.indexOf(".")>-1?(n=l.split("."),l=n.shift(),h.namespace=n.slice(0).sort().join(".")):(n=[],h.namespace=""),h.type=l,h.guid||(h.guid=d.guid);var o=j[l],p=f.event.special[l]||{};if(!o){o=j[l]=[];if(!p.setup||p.setup.call(a,e,n,k)===!1)a.addEventListener?a.addEventListener(l,k,!1):a.attachEvent&&a.attachEvent("on"+l,k)}p.add&&(p.add.call(a,h),h.handler.guid||(h.handler.guid=d.guid)),o.push(h),f.event.global[l]=!0}a=null}},global:{},remove:function(a,c,d,e){if(a.nodeType!==3&&a.nodeType!==8){d===!1&&(d=D);var g,h,i,j,k=0,l,m,n,o,p,q,r,s=f.hasData(a)&&f._data(a),t=s&&s.events;if(!s||!t)return;c&&c.type&&(d=c.handler,c=c.type);if(!c||typeof c=="string"&&c.charAt(0)==="."){c=c||"";for(h in t)f.event.remove(a,h+c);return}c=c.split(" ");while(h=c[k++]){r=h,q=null,l=h.indexOf(".")<0,m=[],l||(m=h.split("."),h=m.shift(),n=new RegExp("(^|\\.)"+f.map(m.slice(0).sort(),C).join("\\.(?:.*\\.)?")+"(\\.|$)")),p=t[h];if(!p)continue;if(!d){for(j=0;j=0&&(h=h.slice(0,-1),j=!0),h.indexOf(".")>=0&&(i=h.split("."),h=i. +shift(),i.sort());if(!!e&&!f.event.customEvent[h]||!!f.event.global[h]){c=typeof c=="object"?c[f.expando]?c:new f.Event(h,c):new f.Event(h),c.type=h,c.exclusive=j,c.namespace=i.join("."),c.namespace_re=new RegExp("(^|\\.)"+i.join("\\.(?:.*\\.)?")+"(\\.|$)");if(g||!e)c.preventDefault(),c.stopPropagation();if(!e){f.each(f.cache,function(){var a=f.expando,b=this[a];b&&b.events&&b.events[h]&&f.event.trigger(c,d,b.handle.elem)});return}if(e.nodeType===3||e.nodeType===8)return;c.result=b,c.target=e,d=d!=null?f.makeArray(d):[],d.unshift(c);var k=e,l=h.indexOf(":")<0?"on"+h:"";do{var m=f._data(k,"handle");c.currentTarget=k,m&&m.apply(k,d),l&&f.acceptData(k)&&k[l]&&k[l].apply(k,d)===!1&&(c.result=!1,c.preventDefault()),k=k.parentNode||k.ownerDocument||k===c.target.ownerDocument&&a}while(k&&!c.isPropagationStopped());if(!c.isDefaultPrevented()){var n,o=f.event.special[h]||{};if((!o._default||o._default.call(e.ownerDocument,c)===!1)&&(h!=="click"||!f.nodeName(e,"a"))&&f.acceptData(e)){try{l&&e[h]&&(n=e[l],n&&(e[l]=null),f.event.triggered=h,e[h]())}catch(p){}n&&(e[l]=n),f.event.triggered=b}}return c.result}},handle:function(c){c=f.event.fix(c||a.event);var d=((f._data(this,"events")||{})[c.type]||[]).slice(0),e=!c.exclusive&&!c.namespace,g=Array.prototype.slice.call(arguments,0);g[0]=c,c.currentTarget=this;for(var h=0,i=d.length;h-1?f.map(a.options,function(a){return a.selected}).join("-"):"":f.nodeName(a,"select")&&(c=a.selectedIndex);return c},J=function(c){var d=c.target,e,g;if(!!y.test(d.nodeName)&&!d.readOnly){e=f._data(d,"_change_data"),g=I(d),(c.type!=="focusout"||d.type!=="radio")&&f._data(d,"_change_data",g);if(e===b||g===e)return;if(e!=null||g)c.type="change",c.liveFired=b,f.event.trigger(c,arguments[1],d)}};f.event.special.change={filters:{focusout:J,beforedeactivate:J,click:function(a){var b=a.target,c=f.nodeName(b,"input")?b.type:"";(c==="radio"||c==="checkbox"||f.nodeName(b,"select"))&&J.call(this,a)},keydown:function(a){var b=a.target,c=f.nodeName(b,"input")?b.type:"";(a.keyCode===13&&!f.nodeName(b,"textarea")||a.keyCode===32&&(c==="checkbox"||c==="radio")||c==="select-multiple")&&J.call(this,a)},beforeactivate:function(a){var b=a.target;f._data(b,"_change_data",I(b))}},setup:function(a,b){if(this.type==="file")return!1;for(var c in H)f.event.add(this,c+".specialChange",H[c]);return y.test(this.nodeName)},teardown:function(a){f.event.remove(this,".specialChange");return y.test(this.nodeName)}},H=f.event.special.change.filters,H.focus=H.beforeactivate}f.support.focusinBubbles||f.each({focus:"focusin",blur:"focusout"},function(a,b){function e(a){var c=f.event.fix(a);c.type=b,c.originalEvent={},f.event.trigger(c,null,c.target),c.isDefaultPrevented()&&a.preventDefault()}var d=0;f.event.special[b]={setup:function(){d++===0&&c.addEventListener(a,e,!0)},teardown:function(){--d===0&&c.removeEventListener(a,e,!0)}}}),f.each(["bind","one"],function(a,c){f.fn[c]=function(a,d,e){var g;if(typeof a=="object"){for(var h in a)this[c](h,d,a[h],e);return this}if(arguments.length===2||d===!1)e=d,d=b;c==="one"?(g=function(a){f(this).unbind(a,g);return e.apply(this,arguments)},g.guid=e.guid||f.guid++):g=e;if(a==="unload"&&c!=="one")this.one(a,d,e);else for(var i=0,j=this.length;i0?this.bind(b,a,c):this.trigger(b)},f.attrFn&&(f.attrFn[b]=!0)}),function(){function u(a,b,c,d,e,f){for(var g=0,h=d.length;g0){j=i;break}}i=i[a]}d[g]=j}}}function t(a,b,c,d,e,f){for(var g=0,h=d.length;g+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,d=0,e=Object.prototype.toString,g=!1,h=!0,i=/\\/g,j=/\W/;[0,0].sort(function(){h=!1;return 0});var k=function(b,d,f,g){f=f||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!="string")return f;var i,j,n,o,q,r,s,t,u=!0,w=k.isXML(d),x=[],y=b;do{a.exec(""),i=a.exec(y);if(i){y=i[3],x.push(i[1]);if(i[2]){o=i[3];break}}}while(i);if(x.length>1&&m.exec(b))if(x.length===2&&l.relative[x[0]])j=v(x[0]+x[1],d);else{j=l.relative[x[0]]?[d]:k(x.shift(),d);while(x.length)b=x.shift(),l.relative[b]&&(b+=x.shift()),j=v(b,j)}else{!g&&x.length>1&&d.nodeType===9&&!w&&l.match.ID.test(x[0])&&!l.match.ID.test(x[x.length-1])&&(q=k.find(x.shift(),d,w),d=q.expr?k.filter(q.expr,q.set)[0]:q.set[0]);if(d){q=g?{expr:x.pop(),set:p(g)}:k.find(x.pop(),x.length===1&&(x[0]==="~"||x[0]==="+")&&d.parentNode?d.parentNode:d,w),j=q.expr?k.filter(q.expr,q.set):q.set,x.length>0?n=p(j):u=!1;while(x.length)r=x.pop(),s=r,l.relative[r]?s=x.pop():r="",s==null&&(s=d),l.relative[r](n,s,w)}else n=x=[]}n||(n=j),n||k.error(r||b);if(e.call(n)==="[object Array]")if(!u)f.push.apply(f,n);else if(d&&d.nodeType===1)for(t=0;n[t]!=null;t++)n[t]&&(n[t]===!0||n[t].nodeType===1&&k.contains(d,n[t]))&&f.push(j[t]);else for(t=0;n[t]!=null;t++)n[t]&&n[t].nodeType===1&&f.push(j[t]);else p(n,f);o&&(k(o,h,f,g),k.uniqueSort(f));return f};k.uniqueSort=function(a){if(r){g=h,a.sort(r);if(g)for(var b=1;b0},k.find=function(a,b,c){var d;if(!a)return[];for(var e=0,f=l.order.length;e":function(a,b){var c,d=typeof b=="string",e=0,f=a.length;if(d&&!j.test(b)){b=b.toLowerCase();for(;e=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(i,"")},TAG:function(a,b){return a[1].replace(i,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||k.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&k.error(a[0]);a[0]=d++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(i,"");!f&&l.attrMap[g]&&(a[1]=l.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(i,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=k(b[3],null,null,c);else{var g=k.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(l.match.POS.test(b[0])||l.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!k(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){var b=a.getAttribute("type"),c=a.type;return a.nodeName.toLowerCase()==="input"&&"text"===c&&(b===c||b===null)},radio:function(a){return a.nodeName.toLowerCase()==="input"&&"radio"===a.type},checkbox:function(a){return a.nodeName.toLowerCase()==="input"&&"checkbox"===a.type},file:function(a){return a.nodeName.toLowerCase()==="input"&&"file"===a.type},password:function(a){return a.nodeName.toLowerCase()==="input"&&"password"===a.type},submit:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"submit"===a.type},image:function(a){return a.nodeName.toLowerCase()==="input"&&"image"===a.type},reset:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"reset"===a.type},button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&"button"===a.type||b==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)},focus:function(a){return a===a.ownerDocument.activeElement}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return bc[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=l.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||k.getText([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=l.attrHandle[c]?l.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=l.setFilters[e];if(f)return f(a,c,b,d)}}},m=l.match.POS,n=function(a,b){return"\\"+(b-0+1)};for(var o in l.match)l.match[o]=new RegExp(l.match[o].source+/(?![^\[]*\])(?![^\(]*\))/.source),l.leftMatch[o]=new RegExp(/(^(?:.|\r|\n)*?)/.source+l.match[o].source.replace(/\\(\d+)/g,n));var p=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(q){p=function(a,b){var c=0,d=b||[];if(e.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length=="number")for(var f=a.length;c",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(l.find.ID=function(a,c,d){if(typeof c.getElementById!="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},l.filter.ID=function(a,b){var c=typeof a.getAttributeNode!="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(l.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="",a.firstChild&&typeof a.firstChild.getAttribute!="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(l.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=k,b=c.createElement("div"),d="__sizzle__";b.innerHTML="

";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){k=function(b,e,f,g){e=e||c;if(!g&&!k.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return p(e.getElementsByTagName(b),f);if(h[2]&&l.find.CLASS&&e.getElementsByClassName)return p(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return p([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return p([],f);if(i.id===h[3])return p([i],f)}try{return p(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var m=e,n=e.getAttribute("id"),o=n||d,q=e.parentNode,r=/^\s*[+~]/.test(b);n?o=o.replace(/'/g,"\\$&"):e.setAttribute("id",o),r&&q&&(e=e.parentNode);try{if(!r||q)return p(e.querySelectorAll("[id='"+o+"'] "+b),f)}catch(s){}finally{n||m.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)k[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector;if(b){var d=!b.call(c.createElement("div"),"div"),e=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(f){e=!0}k.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!k.isXML(a))try{if(e||!l.match.PSEUDO.test(c)&&!/!=/.test(c)){var f=b.call(a,c);if(f||!d||a.document&&a.document.nodeType!==11)return f}}catch(g){}return k(c,null,null,[a]).length>0}}}(),function(){var a=c.createElement("div");a.innerHTML="
";if(!!a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;l.order.splice(1,0,"CLASS"),l.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?k.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?k.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:k.contains=function(){return!1},k.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var v=function(a,b){var c,d=[],e="",f=b.nodeType?[b]:b;while(c=l.match.PSEUDO.exec(a))e+=c[0],a=a.replace(l.match.PSEUDO,"");a=l.relative[a]?a+"*":a;for(var g=0,h=f.length;g0)for(h=g;h0:this.filter(a).length>0)},closest:function(a,b){var c=[],d,e,g=this[0];if(f.isArray(a)){var h,i,j={},k=1;if(g&&a.length){for(d=0,e=a.length;d-1:f(g).is(h))&&c.push({selector:i,elem:g,level:k});g=g.parentNode,k++}}return c}var l=T.test(a)||typeof a!="string"?f(a,b||this.context):0;for(d=0,e=this.length;d-1:f.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b||g.nodeType===11)break}}c=c.length>1?f.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a||typeof a=="string")return f.inArray(this[0],a?f(a):this.parent().children());return f.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a=="string"?f(a,b):f.makeArray(a&&a.nodeType?[a]:a),d=f.merge(this.get(),c);return this.pushStack(V(c[0])||V(d[0])?d:f.unique(d))},andSelf:function(){return this.add(this.prevObject)}}),f.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return f.dir(a,"parentNode")},parentsUntil:function(a,b,c){return f.dir(a,"parentNode",c)},next:function(a){return f.nth(a,2,"nextSibling")},prev:function(a){return f.nth(a,2,"previousSibling")},nextAll:function(a){return f.dir(a,"nextSibling")},prevAll:function(a){return f.dir(a,"previousSibling")},nextUntil:function(a,b,c){return f.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return f.dir(a,"previousSibling",c)},siblings:function(a){return f.sibling(a.parentNode.firstChild,a)},children:function(a){return f.sibling(a.firstChild)},contents:function(a){return f.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:f.makeArray(a.childNodes)}},function(a,b){f.fn[a]=function(c,d){var e=f.map(this,b,c),g=S.call(arguments);O.test(a)||(d=c),d&&typeof d=="string"&&(e=f.filter(d,e)),e=this.length>1&&!U[a]?f.unique(e):e,(this.length>1||Q.test(d))&&P.test(a)&&(e=e.reverse());return this.pushStack(e,a,g.join(","))}}),f.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?f.find.matchesSelector(b[0],a)?[b[0]]:[]:f.find.matches(a,b)},dir:function(a,c,d){var e=[],g=a[c];while(g&&g.nodeType!==9&&(d===b||g.nodeType!==1||!f(g).is(d)))g.nodeType===1&&e.push(g),g=g[c];return e},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var X=/ jQuery\d+="(?:\d+|null)"/g,Y=/^\s+/,Z=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,$=/<([\w:]+)/,_=/",""],legend:[1,"
","
"],thead:[1,"","
"],tr:[2,"","
"],td:[3,"","
"],col:[2,"","
"],area:[1,"",""],_default:[0,"",""]};bf.optgroup=bf.option,bf.tbody=bf.tfoot=bf.colgroup=bf.caption=bf.thead,bf.th=bf.td,f.support.htmlSerialize||(bf._default=[1,"div
","
"]),f.fn.extend({text:function(a){if(f.isFunction(a))return this.each(function(b){var c=f(this);c.text(a.call(this,b,c.text()))});if(typeof a!="object"&&a!==b)return this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a));return f.text(this)},wrapAll:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapAll(a.call(this,b))});if(this[0]){var b=f(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapInner(a.call(this,b))});return this.each(function(){var b=f(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){f(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){f.nodeName(this,"body")||f(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=f(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,f(arguments[0]).toArray());return a}},remove:function(a,b){for(var c=0,d;(d=this[c])!=null;c++)if(!a||f.filter(a,[d]).length)!b&&d.nodeType===1&&(f.cleanData(d.getElementsByTagName("*")),f.cleanData([d])),d.parentNode&&d.parentNode.removeChild(d);return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&f.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return f.clone(this,a,b)})},html:function(a){if(a===b)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(X,""):null;if(typeof a=="string"&&!bb.test(a)&&(f.support.leadingWhitespace||!Y.test(a))&&!bf[($.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Z,"<$1>");try{for(var c=0,d=this.length;c1&&l0?this.clone(!0):this).get();f(e[h])[b](j),d=d.concat(j +)}return this.pushStack(d,a,e.selector)}}),f.extend({clone:function(a,b,c){var d=a.cloneNode(!0),e,g,h;if((!f.support.noCloneEvent||!f.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!f.isXMLDoc(a)){bi(a,d),e=bj(a),g=bj(d);for(h=0;e[h];++h)bi(e[h],g[h])}if(b){bh(a,d);if(c){e=bj(a),g=bj(d);for(h=0;e[h];++h)bh(e[h],g[h])}}e=g=null;return d},clean:function(a,b,d,e){var g;b=b||c,typeof b.createElement=="undefined"&&(b=b.ownerDocument||b[0]&&b[0].ownerDocument||c);var h=[],i;for(var j=0,k;(k=a[j])!=null;j++){typeof k=="number"&&(k+="");if(!k)continue;if(typeof k=="string")if(!ba.test(k))k=b.createTextNode(k);else{k=k.replace(Z,"<$1>");var l=($.exec(k)||["",""])[1].toLowerCase(),m=bf[l]||bf._default,n=m[0],o=b.createElement("div");o.innerHTML=m[1]+k+m[2];while(n--)o=o.lastChild;if(!f.support.tbody){var p=_.test(k),q=l==="table"&&!p?o.firstChild&&o.firstChild.childNodes:m[1]===""&&!p?o.childNodes:[];for(i=q.length-1;i>=0;--i)f.nodeName(q[i],"tbody")&&!q[i].childNodes.length&&q[i].parentNode.removeChild(q[i])}!f.support.leadingWhitespace&&Y.test(k)&&o.insertBefore(b.createTextNode(Y.exec(k)[0]),o.firstChild),k=o.childNodes}var r;if(!f.support.appendChecked)if(k[0]&&typeof (r=k.length)=="number")for(i=0;i=0)return b+"px"}}}),f.support.opacity||(f.cssHooks.opacity={get:function(a,b){return bo.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle;c.zoom=1;var e=f.isNaN(b)?"":"alpha(opacity="+b*100+")",g=d&&d.filter||c.filter||"";c.filter=bn.test(g)?g.replace(bn,e):g+" "+e}}),f(function(){f.support.reliableMarginRight||(f.cssHooks.marginRight={get:function(a,b){var c;f.swap(a,{display:"inline-block"},function(){b?c=bx(a,"margin-right","marginRight"):c=a.style.marginRight});return c}})}),c.defaultView&&c.defaultView.getComputedStyle&&(by=function(a,c){var d,e,g;c=c.replace(bp,"-$1").toLowerCase();if(!(e=a.ownerDocument.defaultView))return b;if(g=e.getComputedStyle(a,null))d=g.getPropertyValue(c),d===""&&!f.contains(a.ownerDocument.documentElement,a)&&(d=f.style(a,c));return d}),c.documentElement.currentStyle&&(bz=function(a,b){var c,d=a.currentStyle&&a.currentStyle[b],e=a.runtimeStyle&&a.runtimeStyle[b],f=a.style;!bq.test(d)&&br.test(d)&&(c=f.left,e&&(a.runtimeStyle.left=a.currentStyle.left),f.left=b==="fontSize"?"1em":d||0,d=f.pixelLeft+"px",f.left=c,e&&(a.runtimeStyle.left=e));return d===""?"auto":d}),bx=by||bz,f.expr&&f.expr.filters&&(f.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return b===0&&c===0||!f.support.reliableHiddenOffsets&&(a.style.display||f.css(a,"display"))==="none"},f.expr.filters.visible=function(a){return!f.expr.filters.hidden(a)});var bB=/%20/g,bC=/\[\]$/,bD=/\r?\n/g,bE=/#.*$/,bF=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bG=/^(?:color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bH=/^(?:about|app|app\-storage|.+\-extension|file|widget):$/,bI=/^(?:GET|HEAD)$/,bJ=/^\/\//,bK=/\?/,bL=/)<[^<]*)*<\/script>/gi,bM=/^(?:select|textarea)/i,bN=/\s+/,bO=/([?&])_=[^&]*/,bP=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,bQ=f.fn.load,bR={},bS={},bT,bU;try{bT=e.href}catch(bV){bT=c.createElement("a"),bT.href="",bT=bT.href}bU=bP.exec(bT.toLowerCase())||[],f.fn.extend({load:function(a,c,d){if(typeof a!="string"&&bQ)return bQ.apply(this,arguments);if(!this.length)return this;var e=a.indexOf(" ");if(e>=0){var g=a.slice(e,a.length);a=a.slice(0,e)}var h="GET";c&&(f.isFunction(c)?(d=c,c=b):typeof c=="object"&&(c=f.param(c,f.ajaxSettings.traditional),h="POST"));var i=this;f.ajax({url:a,type:h,dataType:"html",data:c,complete:function(a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(a){c=a}),i.html(g?f("
").append(c.replace(bL,"")).find(g):c)),d&&i.each(d,[c,b,a])}});return this},serialize:function(){return f.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?f.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||bM.test(this.nodeName)||bG.test(this.type))}).map(function(a,b){var c=f(this).val();return c==null?null:f.isArray(c)?f.map(c,function(a,c){return{name:b.name,value:a.replace(bD,"\r\n")}}):{name:b.name,value:c.replace(bD,"\r\n")}}).get()}}),f.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){f.fn[b]=function(a){return this.bind(b,a)}}),f.each(["get","post"],function(a,c){f[c]=function(a,d,e,g){f.isFunction(d)&&(g=g||e,e=d,d=b);return f.ajax({type:c,url:a,data:d,success:e,dataType:g})}}),f.extend({getScript:function(a,c){return f.get(a,b,c,"script")},getJSON:function(a,b,c){return f.get(a,b,c,"json")},ajaxSetup:function(a,b){b?f.extend(!0,a,f.ajaxSettings,b):(b=a,a=f.extend(!0,f.ajaxSettings,b));for(var c in{context:1,url:1})c in b?a[c]=b[c]:c in f.ajaxSettings&&(a[c]=f.ajaxSettings[c]);return a},ajaxSettings:{url:bT,isLocal:bH.test(bU[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":"*/*"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":f.parseJSON,"text xml":f.parseXML}},ajaxPrefilter:bW(bR),ajaxTransport:bW(bS),ajax:function(a,c){function w(a,c,l,m){if(s!==2){s=2,q&&clearTimeout(q),p=b,n=m||"",v.readyState=a?4:0;var o,r,u,w=l?bZ(d,v,l):b,x,y;if(a>=200&&a<300||a===304){if(d.ifModified){if(x=v.getResponseHeader("Last-Modified"))f.lastModified[k]=x;if(y=v.getResponseHeader("Etag"))f.etag[k]=y}if(a===304)c="notmodified",o=!0;else try{r=b$(d,w),c="success",o=!0}catch(z){c="parsererror",u=z}}else{u=c;if(!c||a)c="error",a<0&&(a=0)}v.status=a,v.statusText=c,o?h.resolveWith(e,[r,c,v]):h.rejectWith(e,[v,c,u]),v.statusCode(j),j=b,t&&g.trigger("ajax"+(o?"Success":"Error"),[v,d,o?r:u]),i.resolveWith(e,[v,c]),t&&(g.trigger("ajaxComplete",[v,d]),--f.active||f.event.trigger("ajaxStop"))}}typeof a=="object"&&(c=a,a=b),c=c||{};var d=f.ajaxSetup({},c),e=d.context||d,g=e!==d&&(e.nodeType||e instanceof f)?f(e):f.event,h=f.Deferred(),i=f._Deferred(),j=d.statusCode||{},k,l={},m={},n,o,p,q,r,s=0,t,u,v={readyState:0,setRequestHeader:function(a,b){if(!s){var c=a.toLowerCase();a=m[c]=m[c]||a,l[a]=b}return this},getAllResponseHeaders:function(){return s===2?n:null},getResponseHeader:function(a){var c;if(s===2){if(!o){o={};while(c=bF.exec(n))o[c[1].toLowerCase()]=c[2]}c=o[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){s||(d.mimeType=a);return this},abort:function(a){a=a||"abort",p&&p.abort(a),w(0,a);return this}};h.promise(v),v.success=v.done,v.error=v.fail,v.complete=i.done,v.statusCode=function(a){if(a){var b;if(s<2)for(b in a)j[b]=[j[b],a[b]];else b=a[v.status],v.then(b,b)}return this},d.url=((a||d.url)+"").replace(bE,"").replace(bJ,bU[1]+"//"),d.dataTypes=f.trim(d.dataType||"*").toLowerCase().split(bN),d.crossDomain==null&&(r=bP.exec(d.url.toLowerCase()),d.crossDomain=!(!r||r[1]==bU[1]&&r[2]==bU[2]&&(r[3]||(r[1]==="http:"?80:443))==(bU[3]||(bU[1]==="http:"?80:443)))),d.data&&d.processData&&typeof d.data!="string"&&(d.data=f.param(d.data,d.traditional)),bX(bR,d,c,v);if(s===2)return!1;t=d.global,d.type=d.type.toUpperCase(),d.hasContent=!bI.test(d.type),t&&f.active++===0&&f.event.trigger("ajaxStart");if(!d.hasContent){d.data&&(d.url+=(bK.test(d.url)?"&":"?")+d.data),k=d.url;if(d.cache===!1){var x=f.now(),y=d.url.replace(bO,"$1_="+x);d.url=y+(y===d.url?(bK.test(d.url)?"&":"?")+"_="+x:"")}}(d.data&&d.hasContent&&d.contentType!==!1||c.contentType)&&v.setRequestHeader("Content-Type",d.contentType),d.ifModified&&(k=k||d.url,f.lastModified[k]&&v.setRequestHeader("If-Modified-Since",f.lastModified[k]),f.etag[k]&&v.setRequestHeader("If-None-Match",f.etag[k])),v.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+(d.dataTypes[0]!=="*"?", */*; q=0.01":""):d.accepts["*"]);for(u in d.headers)v.setRequestHeader(u,d.headers[u]);if(d.beforeSend&&(d.beforeSend.call(e,v,d)===!1||s===2)){v.abort();return!1}for(u in{success:1,error:1,complete:1})v[u](d[u]);p=bX(bS,d,c,v);if(!p)w(-1,"No Transport");else{v.readyState=1,t&&g.trigger("ajaxSend",[v,d]),d.async&&d.timeout>0&&(q=setTimeout(function(){v.abort("timeout")},d.timeout));try{s=1,p.send(l,w)}catch(z){status<2?w(-1,z):f.error(z)}}return v},param:function(a,c){var d=[],e=function(a,b){b=f.isFunction(b)?b():b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=f.ajaxSettings.traditional);if(f.isArray(a)||a.jquery&&!f.isPlainObject(a))f.each(a,function(){e(this.name,this.value)});else for(var g in a)bY(g,a[g],c,e);return d.join("&").replace(bB,"+")}}),f.extend({active:0,lastModified:{},etag:{}});var b_=f.now(),ca=/(\=)\?(&|$)|\?\?/i;f.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return f.expando+"_"+b_++}}),f.ajaxPrefilter("json jsonp",function(b,c,d){var e=b.contentType==="application/x-www-form-urlencoded"&&typeof b.data=="string";if(b.dataTypes[0]==="jsonp"||b.jsonp!==!1&&(ca.test(b.url)||e&&ca.test(b.data))){var g,h=b.jsonpCallback=f.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,i=a[h],j=b.url,k=b.data,l="$1"+h+"$2";b.jsonp!==!1&&(j=j.replace(ca,l),b.url===j&&(e&&(k=k.replace(ca,l)),b.data===k&&(j+=(/\?/.test(j)?"&":"?")+b.jsonp+"="+h))),b.url=j,b.data=k,a[h]=function(a){g=[a]},d.always(function(){a[h]=i,g&&f.isFunction(i)&&a[h](g[0])}),b.converters["script json"]=function(){g||f.error(h+" was not called");return g[0]},b.dataTypes[0]="json";return"script"}}),f.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){f.globalEval(a);return a}}}),f.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),f.ajaxTransport("script",function(a){if(a.crossDomain){var d,e=c.head||c.getElementsByTagName("head")[0]||c.documentElement;return{send:function(f,g){d=c.createElement("script"),d.async="async",a.scriptCharset&&(d.charset=a.scriptCharset),d.src=a.url,d.onload=d.onreadystatechange=function(a,c){if(c||!d.readyState||/loaded|complete/.test(d.readyState))d.onload=d.onreadystatechange=null,e&&d.parentNode&&e.removeChild(d),d=b,c||g(200,"success")},e.insertBefore(d,e.firstChild)},abort:function(){d&&d.onload(0,1)}}}});var cb=a.ActiveXObject?function(){for(var a in cd)cd[a](0,1)}:!1,cc=0,cd;f.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&ce()||cf()}:ce,function(a){f.extend(f.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}(f.ajaxSettings.xhr()),f.support.ajax&&f.ajaxTransport(function(c){if(!c.crossDomain||f.support.cors){var d;return{send:function(e,g){var h=c.xhr(),i,j;c.username?h.open(c.type,c.url,c.async,c.username,c.password):h.open(c.type,c.url,c.async);if(c.xhrFields)for(j in c.xhrFields)h[j]=c.xhrFields[j];c.mimeType&&h.overrideMimeType&&h.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(j in e)h.setRequestHeader(j,e[j])}catch(k){}h.send(c.hasContent&&c.data||null),d=function(a,e){var j,k,l,m,n;try{if(d&&(e||h.readyState===4)){d=b,i&&(h.onreadystatechange=f.noop,cb&&delete cd[i]);if(e)h.readyState!==4&&h.abort();else{j=h.status,l=h.getAllResponseHeaders(),m={},n=h.responseXML,n&&n.documentElement&&(m.xml=n),m.text=h.responseText;try{k=h.statusText}catch(o){k=""}!j&&c.isLocal&&!c.crossDomain?j=m.text?200:404:j===1223&&(j=204)}}}catch(p){e||g(-1,p)}m&&g(j,k,m,l)},!c.async||h.readyState===4?d():(i=++cc,cb&&(cd||(cd={},f(a).unload(cb)),cd[i]=d),h.onreadystatechange=d)},abort:function(){d&&d(0,1)}}}});var cg={},ch,ci,cj=/^(?:toggle|show|hide)$/,ck=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,cl,cm=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],cn,co=a.webkitRequestAnimationFrame||a.mozRequestAnimationFrame||a.oRequestAnimationFrame;f.fn.extend({show:function(a,b,c){var d,e;if(a||a===0)return this.animate(cr("show",3),a,b,c);for(var g=0,h=this.length;g=e.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),e.animatedProperties[this.prop]=!0;for(g in e.animatedProperties)e.animatedProperties[g]!==!0&&(c=!1);if(c){e.overflow!=null&&!f.support.shrinkWrapBlocks&&f.each(["","X","Y"],function(a,b){d.style["overflow"+b]=e.overflow[a]}),e.hide&&f(d).hide();if(e.hide||e.show)for(var i in e.animatedProperties)f.style(d,i,e.orig[i]);e.complete.call(d)}return!1}e.duration==Infinity?this.now=b:(h=b-this.startTime,this.state=h/e.duration,this.pos=f.easing[e.animatedProperties[this.prop]](this.state,h,0,1,e.duration),this.now=this.start+(this.end-this.start)*this.pos),this.update();return!0}},f.extend(f.fx,{tick:function(){for(var a=f.timers,b=0;b
";f.extend(b.style,{position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"}),b.innerHTML=j,a.insertBefore(b,a.firstChild),d=b.firstChild,e=d.firstChild,h=d.nextSibling.firstChild.firstChild,this.doesNotAddBorder=e.offsetTop!==5,this.doesAddBorderForTableAndCells=h.offsetTop===5,e.style.position="fixed",e.style.top="20px",this.supportsFixedPosition=e.offsetTop===20||e.offsetTop===15,e.style.position=e.style.top="",d.style.overflow="hidden",d.style.position="relative",this.subtractsBorderForOverflowNotVisible=e.offsetTop===-5,this.doesNotIncludeMarginInBodyOffset=a.offsetTop!==i,a.removeChild(b),f.offset.initialize=f.noop},bodyOffset:function(a){var b=a.offsetTop,c=a.offsetLeft;f.offset.initialize(),f.offset.doesNotIncludeMarginInBodyOffset&&(b+=parseFloat(f.css(a,"marginTop"))||0,c+=parseFloat(f.css(a,"marginLeft"))||0);return{top:b,left:c}},setOffset:function(a,b,c){var d=f.css(a,"position");d==="static"&&(a.style.position="relative");var e=f(a),g=e.offset(),h=f.css(a,"top"),i=f.css(a,"left"),j=(d==="absolute"||d==="fixed")&&f.inArray("auto",[h,i])>-1,k={},l={},m,n;j?(l=e.position(),m=l.top,n=l.left):(m=parseFloat(h)||0,n=parseFloat(i)||0),f.isFunction(b)&&(b=b.call(a,c,g)),b.top!=null&&(k.top=b.top-g.top+m),b.left!=null&&(k.left=b.left-g.left+n),"using"in b?b.using.call(a,k):e.css(k)}},f.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),c=this.offset(),d=cu.test(b[0].nodeName)?{top:0,left:0}:b.offset();c.top-=parseFloat(f.css(a,"marginTop"))||0,c.left-=parseFloat(f.css(a,"marginLeft"))||0,d.top+=parseFloat(f.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat(f.css(b[0],"borderLeftWidth"))||0;return{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||c.body;while(a&&!cu.test(a.nodeName)&&f.css(a,"position")==="static")a=a.offsetParent;return a})}}),f.each(["Left","Top"],function(a,c){var d="scroll"+c;f.fn[d]=function(c){var e,g;if(c===b){e=this[0];if(!e)return null;g=cv(e);return g?"pageXOffset"in g?g[a?"pageYOffset":"pageXOffset"]:f.support.boxModel&&g.document.documentElement[d]||g.document.body[d]:e[d]}return this.each(function(){g=cv(this),g?g.scrollTo(a?f(g).scrollLeft():c,a?c:f(g).scrollTop()):this[d]=c})}}),f.each(["Height","Width"],function(a,c){var d=c.toLowerCase();f.fn["inner"+c]=function(){var a=this[0];return a&&a.style?parseFloat(f.css(a,d,"padding")):null},f.fn["outer"+c]=function(a){var b=this[0];return b&&b.style?parseFloat(f.css(b,d,a?"margin":"border")):null},f.fn[d]=function(a){var e=this[0];if(!e)return a==null?null:this;if(f.isFunction(a))return this.each(function(b){var c=f(this);c[d](a.call(this,b,c[d]()))});if(f.isWindow(e)){var g=e.document.documentElement["client"+c];return e.document.compatMode==="CSS1Compat"&&g||e.document.body["client"+c]||g}if(e.nodeType===9)return Math.max(e.documentElement["client"+c],e.body["scroll"+c],e.documentElement["scroll"+c],e.body["offset"+c],e.documentElement["offset"+c]);if(a===b){var h=f.css(e,d),i=parseFloat(h);return f.isNaN(i)?h:i}return this.css(d,typeof a=="string"?a:a+"px")}}),a.jQuery=a.$=f})(window); --- a/js/jquery.mobile-1.0b1.js +++ /dev/null @@ -1,5627 +1,1 @@ -/*! - * jQuery Mobile v1.0b1 - * http://jquerymobile.com/ - * - * Copyright 2010, jQuery Project - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - */ -/*! - * jQuery UI Widget @VERSION - * - * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Widget - */ -(function( $, undefined ) { -// jQuery 1.4+ -if ( $.cleanData ) { - var _cleanData = $.cleanData; - $.cleanData = function( elems ) { - for ( var i = 0, elem; (elem = elems[i]) != null; i++ ) { - $( elem ).triggerHandler( "remove" ); - } - _cleanData( elems ); - }; -} else { - var _remove = $.fn.remove; - $.fn.remove = function( selector, keepData ) { - return this.each(function() { - if ( !keepData ) { - if ( !selector || $.filter( selector, [ this ] ).length ) { - $( "*", this ).add( [ this ] ).each(function() { - $( this ).triggerHandler( "remove" ); - }); - } - } - return _remove.call( $(this), selector, keepData ); - }); - }; -} - -$.widget = function( name, base, prototype ) { - var namespace = name.split( "." )[ 0 ], - fullName; - name = name.split( "." )[ 1 ]; - fullName = namespace + "-" + name; - - if ( !prototype ) { - prototype = base; - base = $.Widget; - } - - // create selector for plugin - $.expr[ ":" ][ fullName ] = function( elem ) { - return !!$.data( elem, name ); - }; - - $[ namespace ] = $[ namespace ] || {}; - $[ namespace ][ name ] = function( options, element ) { - // allow instantiation without initializing for simple inheritance - if ( arguments.length ) { - this._createWidget( options, element ); - } - }; - - var basePrototype = new base(); - // we need to make the options hash a property directly on the new instance - // otherwise we'll modify the options hash on the prototype that we're - // inheriting from -// $.each( basePrototype, function( key, val ) { -// if ( $.isPlainObject(val) ) { -// basePrototype[ key ] = $.extend( {}, val ); -// } -// }); - basePrototype.options = $.extend( true, {}, basePrototype.options ); - $[ namespace ][ name ].prototype = $.extend( true, basePrototype, { - namespace: namespace, - widgetName: name, - widgetEventPrefix: $[ namespace ][ name ].prototype.widgetEventPrefix || name, - widgetBaseClass: fullName - }, prototype ); - - $.widget.bridge( name, $[ namespace ][ name ] ); -}; - -$.widget.bridge = function( name, object ) { - $.fn[ name ] = function( options ) { - var isMethodCall = typeof options === "string", - args = Array.prototype.slice.call( arguments, 1 ), - returnValue = this; - - // allow multiple hashes to be passed on init - options = !isMethodCall && args.length ? - $.extend.apply( null, [ true, options ].concat(args) ) : - options; - - // prevent calls to internal methods - if ( isMethodCall && options.charAt( 0 ) === "_" ) { - return returnValue; - } - - if ( isMethodCall ) { - this.each(function() { - var instance = $.data( this, name ); - if ( !instance ) { - throw "cannot call methods on " + name + " prior to initialization; " + - "attempted to call method '" + options + "'"; - } - if ( !$.isFunction( instance[options] ) ) { - throw "no such method '" + options + "' for " + name + " widget instance"; - } - var methodValue = instance[ options ].apply( instance, args ); - if ( methodValue !== instance && methodValue !== undefined ) { - returnValue = methodValue; - return false; - } - }); - } else { - this.each(function() { - var instance = $.data( this, name ); - if ( instance ) { - instance.option( options || {} )._init(); - } else { - $.data( this, name, new object( options, this ) ); - } - }); - } - - return returnValue; - }; -}; - -$.Widget = function( options, element ) { - // allow instantiation without initializing for simple inheritance - if ( arguments.length ) { - this._createWidget( options, element ); - } -}; - -$.Widget.prototype = { - widgetName: "widget", - widgetEventPrefix: "", - options: { - disabled: false - }, - _createWidget: function( options, element ) { - // $.widget.bridge stores the plugin instance, but we do it anyway - // so that it's stored even before the _create function runs - $.data( element, this.widgetName, this ); - this.element = $( element ); - this.options = $.extend( true, {}, - this.options, - this._getCreateOptions(), - options ); - - var self = this; - this.element.bind( "remove." + this.widgetName, function() { - self.destroy(); - }); - - this._create(); - this._trigger( "create" ); - this._init(); - }, - _getCreateOptions: function() { - var options = {}; - if ( $.metadata ) { - options = $.metadata.get( element )[ this.widgetName ]; - } - return options; - }, - _create: function() {}, - _init: function() {}, - - destroy: function() { - this.element - .unbind( "." + this.widgetName ) - .removeData( this.widgetName ); - this.widget() - .unbind( "." + this.widgetName ) - .removeAttr( "aria-disabled" ) - .removeClass( - this.widgetBaseClass + "-disabled " + - "ui-state-disabled" ); - }, - - widget: function() { - return this.element; - }, - - option: function( key, value ) { - var options = key; - - if ( arguments.length === 0 ) { - // don't return a reference to the internal hash - return $.extend( {}, this.options ); - } - - if (typeof key === "string" ) { - if ( value === undefined ) { - return this.options[ key ]; - } - options = {}; - options[ key ] = value; - } - - this._setOptions( options ); - - return this; - }, - _setOptions: function( options ) { - var self = this; - $.each( options, function( key, value ) { - self._setOption( key, value ); - }); - - return this; - }, - _setOption: function( key, value ) { - this.options[ key ] = value; - - if ( key === "disabled" ) { - this.widget() - [ value ? "addClass" : "removeClass"]( - this.widgetBaseClass + "-disabled" + " " + - "ui-state-disabled" ) - .attr( "aria-disabled", value ); - } - - return this; - }, - - enable: function() { - return this._setOption( "disabled", false ); - }, - disable: function() { - return this._setOption( "disabled", true ); - }, - - _trigger: function( type, event, data ) { - var callback = this.options[ type ]; - - event = $.Event( event ); - event.type = ( type === this.widgetEventPrefix ? - type : - this.widgetEventPrefix + type ).toLowerCase(); - data = data || {}; - - // copy original event properties over to the new event - // this would happen if we could call $.event.fix instead of $.Event - // but we don't have a way to force an event to be fixed multiple times - if ( event.originalEvent ) { - for ( var i = $.event.props.length, prop; i; ) { - prop = $.event.props[ --i ]; - event[ prop ] = event.originalEvent[ prop ]; - } - } - - this.element.trigger( event, data ); - - return !( $.isFunction(callback) && - callback.call( this.element[0], event, data ) === false || - event.isDefaultPrevented() ); - } -}; - -})( jQuery ); -/* -* jQuery Mobile Framework : widget factory extentions for mobile -* Copyright (c) jQuery Project -* Dual licensed under the MIT or GPL Version 2 licenses. -* http://jquery.org/license -*/ -(function($, undefined ) { - -$.widget( "mobile.widget", { - _getCreateOptions: function() { - var elem = this.element, - options = {}; - $.each( this.options, function( option ) { - var value = elem.jqmData( option.replace( /[A-Z]/g, function( c ) { - return "-" + c.toLowerCase(); - } ) ); - if ( value !== undefined ) { - options[ option ] = value; - } - }); - return options; - } -}); - -})( jQuery ); -/* -* jQuery Mobile Framework : resolution and CSS media query related helpers and behavior -* Copyright (c) jQuery Project -* Dual licensed under the MIT or GPL Version 2 licenses. -* http://jquery.org/license -*/ -(function($, undefined ) { - -var $window = $(window), - $html = $( "html" ), - - //media-query-like width breakpoints, which are translated to classes on the html element - resolutionBreakpoints = [320,480,768,1024]; - - -/* $.mobile.media method: pass a CSS media type or query and get a bool return - note: this feature relies on actual media query support for media queries, though types will work most anywhere - examples: - $.mobile.media('screen') //>> tests for screen media type - $.mobile.media('screen and (min-width: 480px)') //>> tests for screen media type with window width > 480px - $.mobile.media('@media screen and (-webkit-min-device-pixel-ratio: 2)') //>> tests for webkit 2x pixel ratio (iPhone 4) -*/ -$.mobile.media = (function() { - // TODO: use window.matchMedia once at least one UA implements it - var cache = {}, - testDiv = $( "
" ), - fakeBody = $( "" ).append( testDiv ); - - return function( query ) { - if ( !( query in cache ) ) { - var styleBlock = document.createElement('style'), - cssrule = "@media " + query + " { #jquery-mediatest { position:absolute; } }"; - //must set type for IE! - styleBlock.type = "text/css"; - if (styleBlock.styleSheet){ - styleBlock.styleSheet.cssText = cssrule; - } - else { - styleBlock.appendChild(document.createTextNode(cssrule)); - } - - $html.prepend( fakeBody ).prepend( styleBlock ); - cache[ query ] = testDiv.css( "position" ) === "absolute"; - fakeBody.add( styleBlock ).remove(); - } - return cache[ query ]; - }; -})(); - -/* - private function for adding/removing breakpoint classes to HTML element for faux media-query support - It does not require media query support, instead using JS to detect screen width > cross-browser support - This function is called on orientationchange, resize, and mobileinit, and is bound via the 'htmlclass' event namespace -*/ -function detectResolutionBreakpoints(){ - var currWidth = $window.width(), - minPrefix = "min-width-", - maxPrefix = "max-width-", - minBreakpoints = [], - maxBreakpoints = [], - unit = "px", - breakpointClasses; - - $html.removeClass( minPrefix + resolutionBreakpoints.join(unit + " " + minPrefix) + unit + " " + - maxPrefix + resolutionBreakpoints.join( unit + " " + maxPrefix) + unit ); - - $.each(resolutionBreakpoints,function( i, breakPoint ){ - if( currWidth >= breakPoint ){ - minBreakpoints.push( minPrefix + breakPoint + unit ); - } - if( currWidth <= breakPoint ){ - maxBreakpoints.push( maxPrefix + breakPoint + unit ); - } - }); - - if( minBreakpoints.length ){ breakpointClasses = minBreakpoints.join(" "); } - if( maxBreakpoints.length ){ breakpointClasses += " " + maxBreakpoints.join(" "); } - - $html.addClass( breakpointClasses ); -}; - -/* $.mobile.addResolutionBreakpoints method: - pass either a number or an array of numbers and they'll be added to the min/max breakpoint classes - Examples: - $.mobile.addResolutionBreakpoints( 500 ); - $.mobile.addResolutionBreakpoints( [500, 1200] ); -*/ -$.mobile.addResolutionBreakpoints = function( newbps ){ - if( $.type( newbps ) === "array" ){ - resolutionBreakpoints = resolutionBreakpoints.concat( newbps ); - } - else { - resolutionBreakpoints.push( newbps ); - } - resolutionBreakpoints.sort(function(a,b){ return a-b; }); - detectResolutionBreakpoints(); -}; - -/* on mobileinit, add classes to HTML element - and set handlers to update those on orientationchange and resize*/ -$(document).bind("mobileinit.htmlclass", function(){ - /* bind to orientationchange and resize - to add classes to HTML element for min/max breakpoints and orientation */ - var ev = $.support.orientation; - $window.bind("orientationchange.htmlclass throttledResize.htmlclass", function(event){ - //add orientation class to HTML element on flip/resize. - if(event.orientation){ - $html.removeClass( "portrait landscape" ).addClass( event.orientation ); - } - //add classes to HTML element for min/max breakpoints - detectResolutionBreakpoints(); - }); -}); - -/* Manually trigger an orientationchange event when the dom ready event fires. - This will ensure that any viewport meta tag that may have been injected - has taken effect already, allowing us to properly calculate the width of the - document. -*/ -$(function(){ - //trigger event manually - $window.trigger( "orientationchange.htmlclass" ); -}); - -})(jQuery);/* -* jQuery Mobile Framework : support tests -* Copyright (c) jQuery Project -* Dual licensed under the MIT (MIT-LICENSE.txt) and GPL (GPL-LICENSE.txt) licenses. -* Note: Code is in draft form and is subject to change -*/ -( function( $, undefined ) { - -var fakeBody = $( "" ).prependTo( "html" ), - fbCSS = fakeBody[ 0 ].style, - vendors = [ "webkit", "moz", "o" ], - webos = "palmGetResource" in window, //only used to rule out scrollTop - bb = window.blackberry; //only used to rule out box shadow, as it's filled opaque on BB - -// thx Modernizr -function propExists( prop ){ - var uc_prop = prop.charAt( 0 ).toUpperCase() + prop.substr( 1 ), - props = ( prop + " " + vendors.join( uc_prop + " " ) + uc_prop ).split( " " ); - for( var v in props ){ - if( fbCSS[ v ] !== undefined ){ - return true; - } - } -} - -// test for dynamic-updating base tag support ( allows us to avoid href,src attr rewriting ) -function baseTagTest(){ - var fauxBase = location.protocol + "//" + location.host + location.pathname + "ui-dir/", - base = $( "head base" ), - fauxEle = null, - href = ""; - if ( !base.length ) { - base = fauxEle = $( "", { "href": fauxBase} ).appendTo( "head" ); - } - else { - href = base.attr( "href" ); - } - var link = $( "" ).prependTo( fakeBody ), - rebase = link[ 0 ].href; - base[ 0 ].href = href ? href : location.pathname; - if ( fauxEle ) { - fauxEle.remove(); - } - return rebase.indexOf( fauxBase ) === 0; -} - - -// non-UA-based IE version check by James Padolsey, modified by jdalton - from http://gist.github.com/527683 -// allows for inclusion of IE 6+, including Windows Mobile 7 -$.mobile.browser = {}; -$.mobile.browser.ie = ( function() { - var v = 3, - div = document.createElement( "div" ), - a = div.all || []; - while ( div.innerHTML = "", a[ 0 ] ); - return v > 4 ? v : !v; -}() ); - - -$.extend( $.support, { - orientation: "orientation" in window, - touch: "ontouchend" in document, - cssTransitions: "WebKitTransitionEvent" in window, - pushState: !!history.pushState, - mediaquery: $.mobile.media( "only all" ), - cssPseudoElement: !!propExists( "content" ), - boxShadow: !!propExists( "boxShadow" ) && !bb, - scrollTop: ( "pageXOffset" in window || "scrollTop" in document.documentElement || "scrollTop" in fakeBody[ 0 ] ) && !webos, - dynamicBaseTag: baseTagTest(), - eventCapture: ( "addEventListener" in document ) // This is a weak test. We may want to beef this up later. -} ); - -fakeBody.remove(); - -// for ruling out shadows via css -if( !$.support.boxShadow ){ $( "html" ).addClass( "ui-mobile-nosupport-boxshadow" ); } - -} )( jQuery );/* -* jQuery Mobile Framework : "mouse" plugin -* Copyright (c) jQuery Project -* Dual licensed under the MIT or GPL Version 2 licenses. -* http://jquery.org/license -*/ - -// This plugin is an experiment for abstracting away the touch and mouse -// events so that developers don't have to worry about which method of input -// the device their document is loaded on supports. -// -// The idea here is to allow the developer to register listeners for the -// basic mouse events, such as mousedown, mousemove, mouseup, and click, -// and the plugin will take care of registering the correct listeners -// behind the scenes to invoke the listener at the fastest possible time -// for that device, while still retaining the order of event firing in -// the traditional mouse environment, should multiple handlers be registered -// on the same element for different events. -// -// The current version exposes the following virtual events to jQuery bind methods: -// "vmouseover vmousedown vmousemove vmouseup vclick vmouseout vmousecancel" - -(function($, window, document, undefined) { - -var dataPropertyName = "virtualMouseBindings", - touchTargetPropertyName = "virtualTouchID", - virtualEventNames = "vmouseover vmousedown vmousemove vmouseup vclick vmouseout vmousecancel".split(" "), - touchEventProps = "clientX clientY pageX pageY screenX screenY".split(" "), - activeDocHandlers = {}, - resetTimerID = 0, - startX = 0, - startY = 0, - didScroll = false, - clickBlockList = [], - blockMouseTriggers = false, - blockTouchTriggers = false, - eventCaptureSupported = $.support.eventCapture, - $document = $(document), - nextTouchID = 1, - lastTouchID = 0; - -$.vmouse = { - moveDistanceThreshold: 10, - clickDistanceThreshold: 10, - resetTimerDuration: 1500 -}; - -function getNativeEvent(event) -{ - while (event && typeof event.originalEvent !== "undefined") { - event = event.originalEvent; - } - return event; -} - -function createVirtualEvent(event, eventType) -{ - var t = event.type; - event = $.Event(event); - event.type = eventType; - - var oe = event.originalEvent; - var props = $.event.props; - - // copy original event properties over to the new event - // this would happen if we could call $.event.fix instead of $.Event - // but we don't have a way to force an event to be fixed multiple times - if (oe) { - for ( var i = props.length, prop; i; ) { - prop = props[ --i ]; - event[prop] = oe[prop]; - } - } - - if (t.search(/^touch/) !== -1){ - var ne = getNativeEvent(oe), - t = ne.touches, - ct = ne.changedTouches, - touch = (t && t.length) ? t[0] : ((ct && ct.length) ? ct[0] : undefined); - if (touch){ - for (var i = 0, len = touchEventProps.length; i < len; i++){ - var prop = touchEventProps[i]; - event[prop] = touch[prop]; - } - } - } - - return event; -} - -function getVirtualBindingFlags(element) -{ - var flags = {}; - while (element){ - var b = $.data(element, dataPropertyName); - for (var k in b) { - if (b[k]){ - flags[k] = flags.hasVirtualBinding = true; - } - } - element = element.parentNode; - } - return flags; -} - -function getClosestElementWithVirtualBinding(element, eventType) -{ - while (element){ - var b = $.data(element, dataPropertyName); - if (b && (!eventType || b[eventType])) { - return element; - } - element = element.parentNode; - } - return null; -} - -function enableTouchBindings() -{ - blockTouchTriggers = false; -} - -function disableTouchBindings() -{ - blockTouchTriggers = true; -} - -function enableMouseBindings() -{ - lastTouchID = 0; - clickBlockList.length = 0; - blockMouseTriggers = false; - - // When mouse bindings are enabled, our - // touch bindings are disabled. - disableTouchBindings(); -} - -function disableMouseBindings() -{ - // When mouse bindings are disabled, our - // touch bindings are enabled. - enableTouchBindings(); -} - -function startResetTimer() -{ - clearResetTimer(); - resetTimerID = setTimeout(function(){ - resetTimerID = 0; - enableMouseBindings(); - }, $.vmouse.resetTimerDuration); -} - -function clearResetTimer() -{ - if (resetTimerID){ - clearTimeout(resetTimerID); - resetTimerID = 0; - } -} - -function triggerVirtualEvent(eventType, event, flags) -{ - var defaultPrevented = false; - - if ((flags && flags[eventType]) || (!flags && getClosestElementWithVirtualBinding(event.target, eventType))) { - var ve = createVirtualEvent(event, eventType); - $(event.target).trigger(ve); - defaultPrevented = ve.isDefaultPrevented(); - } - - return defaultPrevented; -} - -function mouseEventCallback(event) -{ - var touchID = $.data(event.target, touchTargetPropertyName); - if (!blockMouseTriggers && (!lastTouchID || lastTouchID !== touchID)){ - triggerVirtualEvent("v" + event.type, event); - } -} - -function handleTouchStart(event) -{ - var touches = getNativeEvent(event).touches; - if (touches && touches.length === 1){ - var target = event.target, - flags = getVirtualBindingFlags(target); - - if (flags.hasVirtualBinding){ - lastTouchID = nextTouchID++; - $.data(target, touchTargetPropertyName, lastTouchID); - - clearResetTimer(); - - disableMouseBindings(); - didScroll = false; - - var t = getNativeEvent(event).touches[0]; - startX = t.pageX; - startY = t.pageY; - - triggerVirtualEvent("vmouseover", event, flags); - triggerVirtualEvent("vmousedown", event, flags); - } - } -} - -function handleScroll(event) -{ - if (blockTouchTriggers){ - return; - } - - if (!didScroll){ - triggerVirtualEvent("vmousecancel", event, getVirtualBindingFlags(event.target)); - } - - didScroll = true; - startResetTimer(); -} - -function handleTouchMove(event) -{ - if (blockTouchTriggers){ - return; - } - - var t = getNativeEvent(event).touches[0]; - - var didCancel = didScroll, - moveThreshold = $.vmouse.moveDistanceThreshold; - didScroll = didScroll - || (Math.abs(t.pageX - startX) > moveThreshold || Math.abs(t.pageY - startY) > moveThreshold); - - var flags = getVirtualBindingFlags(event.target); - if (didScroll && !didCancel){ - triggerVirtualEvent("vmousecancel", event, flags); - } - triggerVirtualEvent("vmousemove", event, flags); - startResetTimer(); -} - -function handleTouchEnd(event) -{ - if (blockTouchTriggers){ - return; - } - - disableTouchBindings(); - - var flags = getVirtualBindingFlags(event.target); - triggerVirtualEvent("vmouseup", event, flags); - if (!didScroll){ - if (triggerVirtualEvent("vclick", event, flags)){ - // The target of the mouse events that follow the touchend - // event don't necessarily match the target used during the - // touch. This means we need to rely on coordinates for blocking - // any click that is generated. - var t = getNativeEvent(event).changedTouches[0]; - clickBlockList.push({ touchID: lastTouchID, x: t.clientX, y: t.clientY }); - - // Prevent any mouse events that follow from triggering - // virtual event notifications. - blockMouseTriggers = true; - } - } - triggerVirtualEvent("vmouseout", event, flags); - didScroll = false; - - startResetTimer(); -} - -function hasVirtualBindings(ele) -{ - var bindings = $.data(ele, dataPropertyName), k; - if (bindings){ - for (k in bindings){ - if (bindings[k]){ - return true; - } - } - } - return false; -} - -function dummyMouseHandler(){} - -function getSpecialEventObject(eventType) -{ - var realType = eventType.substr(1); - return { - setup: function(data, namespace) { - // If this is the first virtual mouse binding for this element, - // add a bindings object to its data. - - if (!hasVirtualBindings(this)){ - $.data(this, dataPropertyName, {}); - } - - // If setup is called, we know it is the first binding for this - // eventType, so initialize the count for the eventType to zero. - - var bindings = $.data(this, dataPropertyName); - bindings[eventType] = true; - - // If this is the first virtual mouse event for this type, - // register a global handler on the document. - - activeDocHandlers[eventType] = (activeDocHandlers[eventType] || 0) + 1; - if (activeDocHandlers[eventType] === 1){ - $document.bind(realType, mouseEventCallback); - } - - // Some browsers, like Opera Mini, won't dispatch mouse/click events - // for elements unless they actually have handlers registered on them. - // To get around this, we register dummy handlers on the elements. - - $(this).bind(realType, dummyMouseHandler); - - // For now, if event capture is not supported, we rely on mouse handlers. - if (eventCaptureSupported){ - // If this is the first virtual mouse binding for the document, - // register our touchstart handler on the document. - - activeDocHandlers["touchstart"] = (activeDocHandlers["touchstart"] || 0) + 1; - if (activeDocHandlers["touchstart"] === 1) { - $document.bind("touchstart", handleTouchStart) - - .bind("touchend", handleTouchEnd) - - // On touch platforms, touching the screen and then dragging your finger - // causes the window content to scroll after some distance threshold is - // exceeded. On these platforms, a scroll prevents a click event from being - // dispatched, and on some platforms, even the touchend is suppressed. To - // mimic the suppression of the click event, we need to watch for a scroll - // event. Unfortunately, some platforms like iOS don't dispatch scroll - // events until *AFTER* the user lifts their finger (touchend). This means - // we need to watch both scroll and touchmove events to figure out whether - // or not a scroll happenens before the touchend event is fired. - - .bind("touchmove", handleTouchMove) - .bind("scroll", handleScroll); - } - } - }, - - teardown: function(data, namespace) { - // If this is the last virtual binding for this eventType, - // remove its global handler from the document. - - --activeDocHandlers[eventType]; - if (!activeDocHandlers[eventType]){ - $document.unbind(realType, mouseEventCallback); - } - - if (eventCaptureSupported){ - // If this is the last virtual mouse binding in existence, - // remove our document touchstart listener. - - --activeDocHandlers["touchstart"]; - if (!activeDocHandlers["touchstart"]) { - $document.unbind("touchstart", handleTouchStart) - .unbind("touchmove", handleTouchMove) - .unbind("touchend", handleTouchEnd) - .unbind("scroll", handleScroll); - } - } - - var $this = $(this), - bindings = $.data(this, dataPropertyName); - - // teardown may be called when an element was - // removed from the DOM. If this is the case, - // jQuery core may have already stripped the element - // of any data bindings so we need to check it before - // using it. - if (bindings){ - bindings[eventType] = false; - } - - // Unregister the dummy event handler. - - $this.unbind(realType, dummyMouseHandler); - - // If this is the last virtual mouse binding on the - // element, remove the binding data from the element. - - if (!hasVirtualBindings(this)){ - $this.removeData(dataPropertyName); - } - } - }; -} - -// Expose our custom events to the jQuery bind/unbind mechanism. - -for (var i = 0; i < virtualEventNames.length; i++){ - $.event.special[virtualEventNames[i]] = getSpecialEventObject(virtualEventNames[i]); -} - -// Add a capture click handler to block clicks. -// Note that we require event capture support for this so if the device -// doesn't support it, we punt for now and rely solely on mouse events. -if (eventCaptureSupported){ - document.addEventListener("click", function(e){ - var cnt = clickBlockList.length; - var target = e.target; - if (cnt) { - var x = e.clientX, - y = e.clientY, - threshold = $.vmouse.clickDistanceThreshold; - - // The idea here is to run through the clickBlockList to see if - // the current click event is in the proximity of one of our - // vclick events that had preventDefault() called on it. If we find - // one, then we block the click. - // - // Why do we have to rely on proximity? - // - // Because the target of the touch event that triggered the vclick - // can be different from the target of the click event synthesized - // by the browser. The target of a mouse/click event that is syntehsized - // from a touch event seems to be implementation specific. For example, - // some browsers will fire mouse/click events for a link that is near - // a touch event, even though the target of the touchstart/touchend event - // says the user touched outside the link. Also, it seems that with most - // browsers, the target of the mouse/click event is not calculated until the - // time it is dispatched, so if you replace an element that you touched - // with another element, the target of the mouse/click will be the new - // element underneath that point. - // - // Aside from proximity, we also check to see if the target and any - // of its ancestors were the ones that blocked a click. This is necessary - // because of the strange mouse/click target calculation done in the - // Android 2.1 browser, where if you click on an element, and there is a - // mouse/click handler on one of its ancestors, the target will be the - // innermost child of the touched element, even if that child is no where - // near the point of touch. - - var ele = target; - while (ele) { - for (var i = 0; i < cnt; i++) { - var o = clickBlockList[i], - touchID = 0; - if ((ele === target && Math.abs(o.x - x) < threshold && Math.abs(o.y - y) < threshold) || $.data(ele, touchTargetPropertyName) === o.touchID){ - // XXX: We may want to consider removing matches from the block list - // instead of waiting for the reset timer to fire. - e.preventDefault(); - e.stopPropagation(); - return; - } - } - ele = ele.parentNode; - } - } - }, true); -} -})(jQuery, window, document); -/* -* jQuery Mobile Framework : events -* Copyright (c) jQuery Project -* Dual licensed under the MIT or GPL Version 2 licenses. -* http://jquery.org/license -*/ -(function($, undefined ) { - -// add new event shortcuts -$.each( "touchstart touchmove touchend orientationchange throttledresize tap taphold swipe swipeleft swiperight scrollstart scrollstop".split( " " ), function( i, name ) { - $.fn[ name ] = function( fn ) { - return fn ? this.bind( name, fn ) : this.trigger( name ); - }; - $.attrFn[ name ] = true; -}); - -var supportTouch = $.support.touch, - scrollEvent = "touchmove scroll", - touchStartEvent = supportTouch ? "touchstart" : "mousedown", - touchStopEvent = supportTouch ? "touchend" : "mouseup", - touchMoveEvent = supportTouch ? "touchmove" : "mousemove"; - -function triggerCustomEvent(obj, eventType, event) -{ - var originalType = event.type; - event.type = eventType; - $.event.handle.call( obj, event ); - event.type = originalType; -} - -// also handles scrollstop -$.event.special.scrollstart = { - enabled: true, - - setup: function() { - var thisObject = this, - $this = $( thisObject ), - scrolling, - timer; - - function trigger( event, state ) { - scrolling = state; - triggerCustomEvent( thisObject, scrolling ? "scrollstart" : "scrollstop", event ); - } - - // iPhone triggers scroll after a small delay; use touchmove instead - $this.bind( scrollEvent, function( event ) { - if ( !$.event.special.scrollstart.enabled ) { - return; - } - - if ( !scrolling ) { - trigger( event, true ); - } - - clearTimeout( timer ); - timer = setTimeout(function() { - trigger( event, false ); - }, 50 ); - }); - } -}; - -// also handles taphold -$.event.special.tap = { - setup: function() { - var thisObject = this, - $this = $( thisObject ); - - $this - .bind("vmousedown", function( event ) { - if ( event.which && event.which !== 1 ) { - return false; - } - - var touching = true, - origTarget = event.target, - origEvent = event.originalEvent, - timer; - - function clearTapHandlers() { - touching = false; - clearTimeout(timer); - $this.unbind("vclick", clickHandler).unbind("vmousecancel", clearTapHandlers); - } - - function clickHandler(event) { - clearTapHandlers(); - - /* ONLY trigger a 'tap' event if the start target is - * the same as the stop target. - */ - if ( origTarget == event.target ) { - triggerCustomEvent( thisObject, "tap", event ); - } - } - - $this.bind("vmousecancel", clearTapHandlers).bind("vclick", clickHandler); - - timer = setTimeout(function() { - if ( touching ) { - triggerCustomEvent( thisObject, "taphold", event ); - } - }, 750 ); - }); - } -}; - -// also handles swipeleft, swiperight -$.event.special.swipe = { - setup: function() { - var thisObject = this, - $this = $( thisObject ); - - $this - .bind( touchStartEvent, function( event ) { - var data = event.originalEvent.touches ? - event.originalEvent.touches[ 0 ] : - event, - start = { - time: (new Date).getTime(), - coords: [ data.pageX, data.pageY ], - origin: $( event.target ) - }, - stop; - - function moveHandler( event ) { - if ( !start ) { - return; - } - - var data = event.originalEvent.touches ? - event.originalEvent.touches[ 0 ] : - event; - stop = { - time: (new Date).getTime(), - coords: [ data.pageX, data.pageY ] - }; - - // prevent scrolling - if ( Math.abs( start.coords[0] - stop.coords[0] ) > 10 ) { - event.preventDefault(); - } - } - - $this - .bind( touchMoveEvent, moveHandler ) - .one( touchStopEvent, function( event ) { - $this.unbind( touchMoveEvent, moveHandler ); - if ( start && stop ) { - if ( stop.time - start.time < 1000 && - Math.abs( start.coords[0] - stop.coords[0]) > 30 && - Math.abs( start.coords[1] - stop.coords[1]) < 75 ) { - start.origin - .trigger( "swipe" ) - - .trigger( start.coords[0] > stop.coords[0] ? "swipeleft" : "swiperight" ); - } - } - start = stop = undefined; - }); - }); - } -}; - -(function($){ - // "Cowboy" Ben Alman - - var win = $(window), - special_event, - get_orientation, - last_orientation; - - $.event.special.orientationchange = special_event = { - setup: function(){ - // If the event is supported natively, return false so that jQuery - // will bind to the event using DOM methods. - if ( $.support.orientation ) { return false; } - - // Get the current orientation to avoid initial double-triggering. - last_orientation = get_orientation(); - - // Because the orientationchange event doesn't exist, simulate the - // event by testing window dimensions on resize. - win.bind( "throttledresize", handler ); - }, - teardown: function(){ - // If the event is not supported natively, return false so that - // jQuery will unbind the event using DOM methods. - if ( $.support.orientation ) { return false; } - - // Because the orientationchange event doesn't exist, unbind the - // resize event handler. - win.unbind( "throttledresize", handler ); - }, - add: function( handleObj ) { - // Save a reference to the bound event handler. - var old_handler = handleObj.handler; - - handleObj.handler = function( event ) { - // Modify event object, adding the .orientation property. - event.orientation = get_orientation(); - - // Call the originally-bound event handler and return its result. - return old_handler.apply( this, arguments ); - }; - } - }; - - // If the event is not supported natively, this handler will be bound to - // the window resize event to simulate the orientationchange event. - function handler() { - // Get the current orientation. - var orientation = get_orientation(); - - if ( orientation !== last_orientation ) { - // The orientation has changed, so trigger the orientationchange event. - last_orientation = orientation; - win.trigger( "orientationchange" ); - } - }; - - // Get the current page orientation. This method is exposed publicly, should it - // be needed, as jQuery.event.special.orientationchange.orientation() - $.event.special.orientationchange.orientation = get_orientation = function() { - var elem = document.documentElement; - return elem && elem.clientWidth / elem.clientHeight < 1.1 ? "portrait" : "landscape"; - }; - -})(jQuery); - - -// throttled resize event -(function(){ - $.event.special.throttledresize = { - setup: function() { - $( this ).bind( "resize", handler ); - }, - teardown: function(){ - $( this ).unbind( "resize", handler ); - } - }; - - var throttle = 250, - handler = function(){ - curr = ( new Date() ).getTime(); - diff = curr - lastCall; - if( diff >= throttle ){ - lastCall = curr; - $( this ).trigger( "throttledresize" ); - } - else{ - if( heldCall ){ - clearTimeout( heldCall ); - } - //promise a held call will still execute - heldCall = setTimeout( handler, throttle - diff ); - } - }, - lastCall = 0, - heldCall, - curr, - diff; -})(); - - -$.each({ - scrollstop: "scrollstart", - taphold: "tap", - swipeleft: "swipe", - swiperight: "swipe" -}, function( event, sourceEvent ) { - $.event.special[ event ] = { - setup: function() { - $( this ).bind( sourceEvent, $.noop ); - } - }; -}); - -})( jQuery ); -/*! - * jQuery hashchange event - v1.3 - 7/21/2010 - * http://benalman.com/projects/jquery-hashchange-plugin/ - * - * Copyright (c) 2010 "Cowboy" Ben Alman - * Dual licensed under the MIT and GPL licenses. - * http://benalman.com/about/license/ - */ - -// Script: jQuery hashchange event -// -// *Version: 1.3, Last updated: 7/21/2010* -// -// Project Home - http://benalman.com/projects/jquery-hashchange-plugin/ -// GitHub - http://github.com/cowboy/jquery-hashchange/ -// Source - http://github.com/cowboy/jquery-hashchange/raw/master/jquery.ba-hashchange.js -// (Minified) - http://github.com/cowboy/jquery-hashchange/raw/master/jquery.ba-hashchange.min.js (0.8kb gzipped) -// -// About: License -// -// Copyright (c) 2010 "Cowboy" Ben Alman, -// Dual licensed under the MIT and GPL licenses. -// http://benalman.com/about/license/ -// -// About: Examples -// -// These working examples, complete with fully commented code, illustrate a few -// ways in which this plugin can be used. -// -// hashchange event - http://benalman.com/code/projects/jquery-hashchange/examples/hashchange/ -// document.domain - http://benalman.com/code/projects/jquery-hashchange/examples/document_domain/ -// -// About: Support and Testing -// -// Information about what version or versions of jQuery this plugin has been -// tested with, what browsers it has been tested in, and where the unit tests -// reside (so you can test it yourself). -// -// jQuery Versions - 1.2.6, 1.3.2, 1.4.1, 1.4.2 -// Browsers Tested - Internet Explorer 6-8, Firefox 2-4, Chrome 5-6, Safari 3.2-5, -// Opera 9.6-10.60, iPhone 3.1, Android 1.6-2.2, BlackBerry 4.6-5. -// Unit Tests - http://benalman.com/code/projects/jquery-hashchange/unit/ -// -// About: Known issues -// -// While this jQuery hashchange event implementation is quite stable and -// robust, there are a few unfortunate browser bugs surrounding expected -// hashchange event-based behaviors, independent of any JavaScript -// window.onhashchange abstraction. See the following examples for more -// information: -// -// Chrome: Back Button - http://benalman.com/code/projects/jquery-hashchange/examples/bug-chrome-back-button/ -// Firefox: Remote XMLHttpRequest - http://benalman.com/code/projects/jquery-hashchange/examples/bug-firefox-remote-xhr/ -// WebKit: Back Button in an Iframe - http://benalman.com/code/projects/jquery-hashchange/examples/bug-webkit-hash-iframe/ -// Safari: Back Button from a different domain - http://benalman.com/code/projects/jquery-hashchange/examples/bug-safari-back-from-diff-domain/ -// -// Also note that should a browser natively support the window.onhashchange -// event, but not report that it does, the fallback polling loop will be used. -// -// About: Release History -// -// 1.3 - (7/21/2010) Reorganized IE6/7 Iframe code to make it more -// "removable" for mobile-only development. Added IE6/7 document.title -// support. Attempted to make Iframe as hidden as possible by using -// techniques from http://www.paciellogroup.com/blog/?p=604. Added -// support for the "shortcut" format $(window).hashchange( fn ) and -// $(window).hashchange() like jQuery provides for built-in events. -// Renamed jQuery.hashchangeDelay to and -// lowered its default value to 50. Added -// and properties plus document-domain.html -// file to address access denied issues when setting document.domain in -// IE6/7. -// 1.2 - (2/11/2010) Fixed a bug where coming back to a page using this plugin -// from a page on another domain would cause an error in Safari 4. Also, -// IE6/7 Iframe is now inserted after the body (this actually works), -// which prevents the page from scrolling when the event is first bound. -// Event can also now be bound before DOM ready, but it won't be usable -// before then in IE6/7. -// 1.1 - (1/21/2010) Incorporated document.documentMode test to fix IE8 bug -// where browser version is incorrectly reported as 8.0, despite -// inclusion of the X-UA-Compatible IE=EmulateIE7 meta tag. -// 1.0 - (1/9/2010) Initial Release. Broke out the jQuery BBQ event.special -// window.onhashchange functionality into a separate plugin for users -// who want just the basic event & back button support, without all the -// extra awesomeness that BBQ provides. This plugin will be included as -// part of jQuery BBQ, but also be available separately. - -(function($,window,undefined){ - '$:nomunge'; // Used by YUI compressor. - - // Reused string. - var str_hashchange = 'hashchange', - - // Method / object references. - doc = document, - fake_onhashchange, - special = $.event.special, - - // Does the browser support window.onhashchange? Note that IE8 running in - // IE7 compatibility mode reports true for 'onhashchange' in window, even - // though the event isn't supported, so also test document.documentMode. - doc_mode = doc.documentMode, - supports_onhashchange = 'on' + str_hashchange in window && ( doc_mode === undefined || doc_mode > 7 ); - - // Get location.hash (or what you'd expect location.hash to be) sans any - // leading #. Thanks for making this necessary, Firefox! - function get_fragment( url ) { - url = url || location.href; - return '#' + url.replace( /^[^#]*#?(.*)$/, '$1' ); - }; - - // Method: jQuery.fn.hashchange - // - // Bind a handler to the window.onhashchange event or trigger all bound - // window.onhashchange event handlers. This behavior is consistent with - // jQuery's built-in event handlers. - // - // Usage: - // - // > jQuery(window).hashchange( [ handler ] ); - // - // Arguments: - // - // handler - (Function) Optional handler to be bound to the hashchange - // event. This is a "shortcut" for the more verbose form: - // jQuery(window).bind( 'hashchange', handler ). If handler is omitted, - // all bound window.onhashchange event handlers will be triggered. This - // is a shortcut for the more verbose - // jQuery(window).trigger( 'hashchange' ). These forms are described in - // the section. - // - // Returns: - // - // (jQuery) The initial jQuery collection of elements. - - // Allow the "shortcut" format $(elem).hashchange( fn ) for binding and - // $(elem).hashchange() for triggering, like jQuery does for built-in events. - $.fn[ str_hashchange ] = function( fn ) { - return fn ? this.bind( str_hashchange, fn ) : this.trigger( str_hashchange ); - }; - - // Property: jQuery.fn.hashchange.delay - // - // The numeric interval (in milliseconds) at which the - // polling loop executes. Defaults to 50. - - // Property: jQuery.fn.hashchange.domain - // - // If you're setting document.domain in your JavaScript, and you want hash - // history to work in IE6/7, not only must this property be set, but you must - // also set document.domain BEFORE jQuery is loaded into the page. This - // property is only applicable if you are supporting IE6/7 (or IE8 operating - // in "IE7 compatibility" mode). - // - // In addition, the property must be set to the - // path of the included "document-domain.html" file, which can be renamed or - // modified if necessary (note that the document.domain specified must be the - // same in both your main JavaScript as well as in this file). - // - // Usage: - // - // jQuery.fn.hashchange.domain = document.domain; - - // Property: jQuery.fn.hashchange.src - // - // If, for some reason, you need to specify an Iframe src file (for example, - // when setting document.domain as in ), you can - // do so using this property. Note that when using this property, history - // won't be recorded in IE6/7 until the Iframe src file loads. This property - // is only applicable if you are supporting IE6/7 (or IE8 operating in "IE7 - // compatibility" mode). - // - // Usage: - // - // jQuery.fn.hashchange.src = 'path/to/file.html'; - - $.fn[ str_hashchange ].delay = 50; - /* - $.fn[ str_hashchange ].domain = null; - $.fn[ str_hashchange ].src = null; - */ - - // Event: hashchange event - // - // Fired when location.hash changes. In browsers that support it, the native - // HTML5 window.onhashchange event is used, otherwise a polling loop is - // initialized, running every milliseconds to - // see if the hash has changed. In IE6/7 (and IE8 operating in "IE7 - // compatibility" mode), a hidden Iframe is created to allow the back button - // and hash-based history to work. - // - // Usage as described in : - // - // > // Bind an event handler. - // > jQuery(window).hashchange( function(e) { - // > var hash = location.hash; - // > ... - // > }); - // > - // > // Manually trigger the event handler. - // > jQuery(window).hashchange(); - // - // A more verbose usage that allows for event namespacing: - // - // > // Bind an event handler. - // > jQuery(window).bind( 'hashchange', function(e) { - // > var hash = location.hash; - // > ... - // > }); - // > - // > // Manually trigger the event handler. - // > jQuery(window).trigger( 'hashchange' ); - // - // Additional Notes: - // - // * The polling loop and Iframe are not created until at least one handler - // is actually bound to the 'hashchange' event. - // * If you need the bound handler(s) to execute immediately, in cases where - // a location.hash exists on page load, via bookmark or page refresh for - // example, use jQuery(window).hashchange() or the more verbose - // jQuery(window).trigger( 'hashchange' ). - // * The event can be bound before DOM ready, but since it won't be usable - // before then in IE6/7 (due to the necessary Iframe), recommended usage is - // to bind it inside a DOM ready handler. - - // Override existing $.event.special.hashchange methods (allowing this plugin - // to be defined after jQuery BBQ in BBQ's source code). - special[ str_hashchange ] = $.extend( special[ str_hashchange ], { - - // Called only when the first 'hashchange' event is bound to window. - setup: function() { - // If window.onhashchange is supported natively, there's nothing to do.. - if ( supports_onhashchange ) { return false; } - - // Otherwise, we need to create our own. And we don't want to call this - // until the user binds to the event, just in case they never do, since it - // will create a polling loop and possibly even a hidden Iframe. - $( fake_onhashchange.start ); - }, - - // Called only when the last 'hashchange' event is unbound from window. - teardown: function() { - // If window.onhashchange is supported natively, there's nothing to do.. - if ( supports_onhashchange ) { return false; } - - // Otherwise, we need to stop ours (if possible). - $( fake_onhashchange.stop ); - } - - }); - - // fake_onhashchange does all the work of triggering the window.onhashchange - // event for browsers that don't natively support it, including creating a - // polling loop to watch for hash changes and in IE 6/7 creating a hidden - // Iframe to enable back and forward. - fake_onhashchange = (function(){ - var self = {}, - timeout_id, - - // Remember the initial hash so it doesn't get triggered immediately. - last_hash = get_fragment(), - - fn_retval = function(val){ return val; }, - history_set = fn_retval, - history_get = fn_retval; - - // Start the polling loop. - self.start = function() { - timeout_id || poll(); - }; - - // Stop the polling loop. - self.stop = function() { - timeout_id && clearTimeout( timeout_id ); - timeout_id = undefined; - }; - - // This polling loop checks every $.fn.hashchange.delay milliseconds to see - // if location.hash has changed, and triggers the 'hashchange' event on - // window when necessary. - function poll() { - var hash = get_fragment(), - history_hash = history_get( last_hash ); - - if ( hash !== last_hash ) { - history_set( last_hash = hash, history_hash ); - - $(window).trigger( str_hashchange ); - - } else if ( history_hash !== last_hash ) { - location.href = location.href.replace( /#.*/, '' ) + history_hash; - } - - timeout_id = setTimeout( poll, $.fn[ str_hashchange ].delay ); - }; - - // vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv - // vvvvvvvvvvvvvvvvvvv REMOVE IF NOT SUPPORTING IE6/7/8 vvvvvvvvvvvvvvvvvvv - // vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv - $.browser.msie && !supports_onhashchange && (function(){ - // Not only do IE6/7 need the "magical" Iframe treatment, but so does IE8 - // when running in "IE7 compatibility" mode. - - var iframe, - iframe_src; - - // When the event is bound and polling starts in IE 6/7, create a hidden - // Iframe for history handling. - self.start = function(){ - if ( !iframe ) { - iframe_src = $.fn[ str_hashchange ].src; - iframe_src = iframe_src && iframe_src + get_fragment(); - - // Create hidden Iframe. Attempt to make Iframe as hidden as possible - // by using techniques from http://www.paciellogroup.com/blog/?p=604. - iframe = $('