3 ��X�+ � � @ s d Z �dZ�dZ�dZeeee�eeej e�� ��Z�dZ e�d�k� r��d�d�lZy�d�d�l mZ W n& ek � r� �d�d�lmZ Y nX �d�d�lmZ �d�Ze�d� Ze�d� Z�d��d�� Z�d��d�� Z�d��d�� Z�d��d�� Z�d �d� Ze� �d�S ( z� pygments.lexers._postgres_builtins ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Self-updating data files for PostgreSQL lexer. :copyright: Copyright 2006-2017 by the Pygments team, see AUTHORS. :license: BSD, see LICENSE for details. �ABORT�ABSOLUTE�ACCESS�ACTION�ADD�ADMIN�AFTER� AGGREGATE�ALL�ALSO�ALTER�ALWAYS�ANALYSE�ANALYZE�AND�ANY�ARRAY�AS�ASC� ASSERTION� ASSIGNMENT� ASYMMETRIC�AT� ATTRIBUTE� AUTHORIZATION�BACKWARD�BEFORE�BEGIN�BETWEEN�BIGINT�BINARY�BIT�BOOLEAN�BOTH�BY�CACHE�CALLED�CASCADE�CASCADED�CASE�CAST�CATALOG�CHAIN�CHAR� CHARACTER�CHARACTERISTICS�CHECK� CHECKPOINT�CLASS�CLOSE�CLUSTER�COALESCE�COLLATE� COLLATION�COLUMN�COMMENT�COMMENTS�COMMIT� COMMITTED�CONCURRENTLY� CONFIGURATION� CONNECTION� CONSTRAINT�CONSTRAINTS�CONTENT�CONTINUE� CONVERSION�COPY�COST�CREATE�CROSS�CSV�CURRENT�CURRENT_CATALOG�CURRENT_DATE�CURRENT_ROLE�CURRENT_SCHEMA�CURRENT_TIME�CURRENT_TIMESTAMP�CURRENT_USER�CURSOR�CYCLE�DATA�DATABASE�DAY� DEALLOCATE�DEC�DECIMAL�DECLARE�DEFAULT�DEFAULTS� DEFERRABLE�DEFERRED�DEFINER�DELETE� DELIMITER� DELIMITERS�DESC� DICTIONARY�DISABLE�DISCARD�DISTINCT�DO�DOCUMENT�DOMAIN�DOUBLE�DROP�EACH�ELSE�ENABLE�ENCODING� ENCRYPTED�END�ENUM�ESCAPE�EVENT�EXCEPT�EXCLUDE� EXCLUDING� EXCLUSIVE�EXECUTE�EXISTS�EXPLAIN� EXTENSION�EXTERNAL�EXTRACT�FALSE�FAMILY�FETCH�FILTER�FIRST�FLOAT� FOLLOWING�FOR�FORCE�FOREIGN�FORWARD�FREEZE�FROM�FULL�FUNCTION� FUNCTIONS�GLOBAL�GRANT�GRANTED�GREATEST�GROUP�HANDLER�HAVING�HEADER�HOLD�HOUR�IDENTITY�IF�ILIKE� IMMEDIATE� IMMUTABLE�IMPLICIT�IN� INCLUDING� INCREMENT�INDEX�INDEXES�INHERIT�INHERITS� INITIALLY�INLINE�INNER�INOUT�INPUT�INSENSITIVE�INSERT�INSTEAD�INT�INTEGER� INTERSECT�INTERVAL�INTO�INVOKER�IS�ISNULL� ISOLATION�JOIN�KEY�LABEL�LANGUAGE�LARGE�LAST�LATERAL� LC_COLLATE�LC_CTYPE�LEADING� LEAKPROOF�LEAST�LEFT�LEVEL�LIKE�LIMIT�LISTEN�LOAD�LOCAL� LOCALTIME�LOCALTIMESTAMP�LOCATION�LOCK�MAPPING�MATCH�MATERIALIZED�MAXVALUE�MINUTE�MINVALUE�MODE�MONTH�MOVE�NAME�NAMES�NATIONAL�NATURAL�NCHAR�NEXT�NO�NONE�NOT�NOTHING�NOTIFY�NOTNULL�NOWAIT�NULL�NULLIF�NULLS�NUMERIC�OBJECT�OF�OFF�OFFSET�OIDS�ON�ONLY�OPERATOR�OPTION�OPTIONS�OR�ORDER� ORDINALITY�OUT�OUTER�OVER�OVERLAPS�OVERLAY�OWNED�OWNER�PARSER�PARTIAL� PARTITION�PASSING�PASSWORD�PLACING�PLANS�POLICY�POSITION� PRECEDING� PRECISION�PREPARE�PREPARED�PRESERVE�PRIMARY�PRIOR� PRIVILEGES� PROCEDURAL� PROCEDURE�PROGRAM�QUOTE�RANGE�READ�REAL�REASSIGN�RECHECK� RECURSIVE�REF� REFERENCES�REFRESH�REINDEX�RELATIVE�RELEASE�RENAME� REPEATABLE�REPLACE�REPLICA�RESET�RESTART�RESTRICT� RETURNING�RETURNS�REVOKE�RIGHT�ROLE�ROLLBACK�ROW�ROWS�RULE� SAVEPOINT�SCHEMA�SCROLL�SEARCH�SECOND�SECURITY�SELECT�SEQUENCE� SEQUENCES�SERIALIZABLE�SERVER�SESSION�SESSION_USER�SET�SETOF�SHARE�SHOW�SIMILAR�SIMPLE�SMALLINT�SNAPSHOT�SOME�STABLE� STANDALONE�START� STATEMENT� STATISTICS�STDIN�STDOUT�STORAGE�STRICT�STRIP� SUBSTRING� SYMMETRIC�SYSID�SYSTEM�TABLE�TABLES� TABLESPACE�TEMP�TEMPLATE� TEMPORARY�TEXT�THEN�TIME� TIMESTAMP�TO�TRAILING�TRANSACTION�TREAT�TRIGGER�TRIM�TRUE�TRUNCATE�TRUSTED�TYPE�TYPES� UNBOUNDED�UNCOMMITTED�UNENCRYPTED�UNION�UNIQUE�UNKNOWN�UNLISTEN�UNLOGGED�UNTIL�UPDATE�USER�USING�VACUUM�VALID�VALIDATE� VALIDATOR�VALUE�VALUES�VARCHAR�VARIADIC�VARYING�VERBOSE�VERSION�VIEW�VIEWS�VOLATILE�WHEN�WHERE� WHITESPACE�WINDOW�WITH�WITHIN�WITHOUT�WORK�WRAPPER�WRITE�XML� XMLATTRIBUTES� XMLCONCAT� XMLELEMENT� XMLEXISTS� XMLFOREST�XMLPARSE�XMLPI�XMLROOT�XMLSERIALIZE�YEAR�YES�ZONE�bigint� bigserial�bit�bit varying�bool�boolean�box�bytea�char� character�character varying�cidr�circle�date�decimal�double precision�float4�float8�inet�int�int2�int4�int8�integer�interval�json�jsonb�line�lseg�macaddr�money�numeric�path�pg_lsn�point�polygon�real�serial�serial2�serial4�serial8�smallint�smallserial�text�time� timestamp�timestamptz�timetz�tsquery�tsvector� txid_snapshot�uuid�varbit�varchar�with time zone�without time zone�xml�any� anyelement�anyarray�anynonarray�anyenum�anyrange�cstring�internal�language_handler�fdw_handler�record�trigger�void�opaque�ALIAS�CONSTANT�DIAGNOSTICS�ELSIF� EXCEPTION�EXIT�FOREACH�GET�LOOP�NOTICE�OPEN�PERFORM�QUERY�RAISE�RETURN�REVERSE�SQLSTATE�WHILE�__main__� N)�urlopen)�format_linesz/https://github.com/postgres/postgres/raw/masterz/doc/src/sgml/keywords.sgmlz/doc/src/sgml/datatype.sgmlc C sP t tt��} t| �}t| �}ttt��}ttd|� ttd|� ttd|� d S )N� DATATYPES�PSEUDO_TYPES�KEYWORDS) �listr� � DATATYPES_URL�parse_datatypes� parse_pseudos�parse_keywords�KEYWORDS_URL� update_consts�__file__)Z data_fileZ datatypesZpseudos�keywords� r �(/usr/lib/python3.6/_postgres_builtins.py� update_myself s r c C sF g }x(t jd| j� �D ]}|j|jd�� qW |s:td��|j� |S )NzA\s*<entry><token>([^<]+)</token></entry>\s*<entry>([^<]+)</entry>� zno keyword found)�re�finditer�read�append�group� ValueError�sort)�f�kw�mr r r r� s r� c C s� t � }x�| D ]�}d|krP d|kr$qtjdd|�}tjdd|�}xRdd� |jd�D �D ]:}x4|jd �D ]&}|j� }|sxqf|jd j|j� �� qfW qVW qW t|�}|j� |S )Nz<sect1z <entry><type>z <replaceable>[^<]+</replaceable>� z<[^>]+>c S s( g | ] }|j d �D ]}d|kr|�qqS )�]�()�split)�.0�tmp�tr r r � <listcomp>5 s z#parse_datatypes.<locals>.<listcomp>�[�,� ) �setr �subr �strip�add�joinr� r )r �dtr� r r r r r r� $ s"