o
    Ñ­j"4  ã                   @   sª   d Z dZdZdZeeeeƒeeej	eƒƒ ƒƒZdZ
dZedkrSddlZdd	lmZ dd
lmZ dZed Zed Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zeƒ  dS dS )a&  
    pygments.lexers._postgres_builtins
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Self-updating data files for PostgreSQL lexer.

    Run with `python -I` to update itself.

    :copyright: Copyright 2006-present 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Ú
ASENSITIVEÚ	ASSERTIONÚ
ASSIGNMENTÚ
ASYMMETRICÚATÚATOMICÚATTACHÚ	ATTRIBUTEÚAUTHORIZATIONÚBACKWARDÚBEFOREÚBEGINÚBETWEENÚBIGINTÚBINARYÚBITÚBOOLEANÚBOTHÚBREADTHÚBYÚCACHEÚCALLÚCALLEDÚCASCADEÚCASCADEDÚCASEÚCASTÚCATALOGÚCHAINÚCHARÚ	CHARACTERÚCHARACTERISTICSÚCHECKÚ
CHECKPOINTÚCLASSÚCLOSEÚCLUSTERÚCOALESCEÚCOLLATEÚ	COLLATIONÚCOLUMNÚCOLUMNSÚCOMMENTÚCOMMENTSÚCOMMITÚ	COMMITTEDÚCOMPRESSIONÚCONCURRENTLYÚCONFIGURATIONÚCONFLICTÚ
CONNECTIONÚ
CONSTRAINTÚCONSTRAINTSÚCONTENTÚCONTINUEÚ
CONVERSIONÚCOPYÚCOSTÚCREATEÚCROSSÚCSVÚCUBEÚ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ÚDEPENDSÚDEPTHÚDESCÚDETACHÚ
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Ú
EXPRESSIONÚ	EXTENSIONÚEXTERNALÚEXTRACTÚFALSEÚFAMILYÚFETCHÚFILTERÚFINALIZEÚFIRSTÚFLOATÚ	FOLLOWINGÚFORÚFORCEÚFOREIGNÚFORWARDÚFREEZEÚFROMÚFULLÚFUNCTIONÚ	FUNCTIONSÚ	GENERATEDÚGLOBALÚGRANTÚGRANTEDÚGREATESTÚGROUPÚGROUPINGÚGROUPSÚHANDLERÚHAVINGÚHEADERÚHOLDÚHOURÚIDENTITYÚIFÚILIKEÚ	IMMEDIATEÚ	IMMUTABLEÚIMPLICITÚIMPORTÚINÚINCLUDEÚ	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ÚLEADINGÚ	LEAKPROOFÚLEASTÚLEFTÚLEVELÚLIKEÚLIMITÚLISTENÚLOADÚLOCALÚ	LOCALTIMEÚLOCALTIMESTAMPÚLOCATIONÚLOCKÚLOCKEDÚLOGGEDÚMAPPINGÚMATCHÚMATERIALIZEDÚMAXVALUEÚMETHODÚMINUTEÚMINVALUEÚMODEÚMONTHÚMOVEÚNAMEÚNAMESÚNATIONALÚNATURALÚNCHARÚNEWÚNEXTÚNFCÚNFDÚNFKCÚNFKDÚNOÚNONEÚ	NORMALIZEÚ
NORMALIZEDÚNOTÚNOTHINGÚNOTIFYÚNOTNULLÚNOWAITÚNULLÚNULLIFÚNULLSÚNUMERICÚOBJECTÚOFÚOFFÚOFFSETÚOIDSÚOLDÚONÚONLYÚOPERATORÚOPTIONÚOPTIONSÚORÚORDERÚ
ORDINALITYÚOTHERSÚOUTÚOUTERÚOVERÚOVERLAPSÚOVERLAYÚ
OVERRIDINGÚOWNEDÚOWNERÚPARALLELÚPARSERÚPARTIALÚ	PARTITIONÚPASSINGÚPASSWORDÚPLACINGÚPLANSÚPOLICYÚPOSITIONÚ	PRECEDINGÚ	PRECISIONÚPREPAREÚPREPAREDÚPRESERVEÚPRIMARYÚPRIORÚ
PRIVILEGESÚ
PROCEDURALÚ	PROCEDUREÚ
PROCEDURESÚPROGRAMÚPUBLICATIONÚQUOTEÚRANGEÚREADÚREALÚREASSIGNÚRECHECKÚ	RECURSIVEÚREFÚ
REFERENCESÚREFERENCINGÚREFRESHÚREINDEXÚRELATIVEÚRELEASEÚRENAMEÚ
REPEATABLEÚREPLACEÚREPLICAÚRESETÚRESTARTÚRESTRICTÚRETURNÚ	RETURNINGÚRETURNSÚREVOKEÚRIGHTÚROLEÚROLLBACKÚROLLUPÚROUTINEÚROUTINESÚROWÚROWSÚRULEÚ	SAVEPOINTÚSCHEMAÚSCHEMASÚSCROLLÚSEARCHÚSECONDÚSECURITYÚSELECTÚSEQUENCEÚ	SEQUENCESÚSERIALIZABLEÚSERVERÚSESSIONÚSESSION_USERÚSETÚSETOFÚSETSÚSHAREÚSHOWÚSIMILARÚSIMPLEÚSKIPÚSMALLINTÚSNAPSHOTÚSOMEÚSQLÚSTABLEÚ
STANDALONEÚSTARTÚ	STATEMENTÚ
STATISTICSÚSTDINÚSTDOUTÚSTORAGEÚSTOREDÚSTRICTÚSTRIPÚSUBSCRIPTIONÚ	SUBSTRINGÚSUPPORTÚ	SYMMETRICÚSYSIDÚSYSTEMÚTABLEÚTABLESÚTABLESAMPLEÚ
TABLESPACEÚTEMPÚTEMPLATEÚ	TEMPORARYÚTEXTÚTHENÚTIESÚTIMEÚ	TIMESTAMPÚTOÚTRAILINGÚTRANSACTIONÚ	TRANSFORMÚTREATÚTRIGGERÚTRIMÚTRUEÚTRUNCATEÚTRUSTEDÚTYPEÚTYPESÚUESCAPEÚ	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ÚXMLNAMESPACESÚXMLPARSEÚXMLPIÚXMLROOTÚXMLSERIALIZEÚXMLTABLEÚYEARÚYESÚZONE);ÚbigintÚ	bigserialÚbitzbit varyingÚboolÚbooleanÚboxÚbyteaÚcharÚ	characterzcharacter varyingÚcidrÚcircleÚdateÚdecimalzdouble precisionÚfloat4Úfloat8ÚinetÚintÚint2Úint4Úint8ÚintegerÚintervalÚjsonÚjsonbÚlineÚlsegÚmacaddrÚmacaddr8ÚmoneyÚnumericÚpathÚpg_lsnÚpg_snapshotÚpointÚpolygonÚrealÚserialÚserial2Úserial4Úserial8ÚsmallintÚsmallserialÚtextÚtimeÚ	timestampÚtimestamptzÚtimetzÚtsqueryÚtsvectorÚtxid_snapshotÚuuidÚvarbitÚvarcharzwith time zonezwithout time zoneÚxml)ÚanyÚanyarrayÚanycompatibleÚanycompatiblearrayÚanycompatiblemultirangeÚanycompatiblenonarrayÚanycompatiblerangeÚ
anyelementÚanyenumÚanymultirangeÚanynonarrayÚanyrangeÚcstringÚevent_triggerÚfdw_handlerÚindex_am_handlerÚinternalÚlanguage_handlerÚpg_ddl_commandÚrecordÚtable_am_handlerÚtriggerÚtsm_handlerÚunknownÚvoid)ÚALIASÚCONSTANTÚDIAGNOSTICSÚELSIFÚ	EXCEPTIONÚEXITÚFOREACHÚGETÚLOOPÚNOTICEÚOPENÚPERFORMÚQUERYÚRAISErF  ÚREVERSEÚSQLSTATEÚWHILE)1Ú	AggregateÚAppendzBitmap Heap ScanzBitmap Index ScanÚ	BitmapAndÚBitmapOrzCTE ScanzCustom ScanÚDeletezForeign ScanzFunction ScanzGather MergeÚGatherÚGroupÚGroupAggregatez	Hash JoinÚHashÚHashAggregatezIncremental SortzIndex Only Scanz
Index ScanÚInsertÚLimitÚLockRowsÚMaterializeÚMemoizezMerge Appendz
Merge JoinÚMergeÚMixedAggregatezNamed Tuplestore ScanzNested LoopÚ
ProjectSetzRecursive UnionÚResultzSample ScanzSeq ScanÚSetOpÚSortÚSubPlanzSubquery ScanzTable Function ScanzTid Range ScanzTid ScanÚUniqueÚUpdatezValues ScanÚ	WindowAggzWorkTable ScanÚ__main__é    N)Úurlopen)Úformat_linesz/https://github.com/postgres/postgres/raw/masterz/src/include/parser/kwlist.hz/doc/src/sgml/datatype.sgmlc                  C   sx   t tƒ ¡ jddd�} t|  ¡ ƒ}t|ƒ}t|ƒ}t tƒ ¡ jddd�} t	| ƒ}t
td|ƒ t
td|ƒ t
td|ƒ d S )Núutf-8Úignore)ÚerrorsÚ	DATATYPESÚPSEUDO_TYPESÚKEYWORDS)rE  ÚDATATYPES_URLÚreadÚdecodeÚlistÚ
splitlinesÚparse_datatypesÚparse_pseudosÚKEYWORDS_URLÚparse_keywordsÚupdate_constsÚ__file__)ÚcontentÚ	data_fileÚ	datatypesÚpseudosÚkeywords© r]  ú_/var/www/html/CropPilot/venv/lib/python3.10/site-packages/pygments/lexers/_postgres_builtins.pyÚupdate_myself�  s   r_  c                 C   sB   g }t  d| ¡D ]}| | d¡ ¡ ¡ q|stdƒ‚| ¡  |S )NzPG_KEYWORD\("(.+?)"é   zno keyword found)ÚreÚfinditerÚappendÚgroupÚupperÚ
ValueErrorÚsort)ÚfÚkwÚmr]  r]  r^  rU  Ž  s   rU  c              	   C   s¢   t ƒ }| D ]A}d|v r n:d|vrqt dd|¡}t dd|¡}dd„ | d¡D ƒD ]}| d	¡D ]}| ¡ }|s:q1| d
 | ¡ ¡¡ q1q*qt|ƒ}| ¡  |S )Nz<sect1z<entry><type>z <replaceable>[^<]+</replaceable>Ú z<[^>]+>c                 S   s(   g | ]}|  d ¡D ]}d|vr	|‘q	qS )ú]ú()Úsplit)Ú.0ÚtmpÚtr]  r]  r^  Ú
<listcomp>ª  s    ÿ
ÿz#parse_datatypes.<locals>.<listcomp>ú[ú,ú )	Úsetra  Úsubrn  ÚstripÚaddÚjoinrP  rg  )rh  Údtrâ  rp  rq  r]  r]  r^  rR  ™  s&   üþrR  c                 C   s¬   g }t  d¡}t  d¡}t  d¡}t| ƒ} | D ]}| |¡d ur" nqtdƒ‚| D ]}| |¡}|d ur<| | d¡¡ | |¡d urE nq)tdƒ‚|sPtdƒ‚| ¡  |S )Nz*\s*<table id="datatype-pseudotypes-table">z$\s*<entry><type>(.+?)</type></entry>z\s*</table>z pseudo datatypes table not foundr`  z'end of pseudo datatypes table not foundzpseudo datatypes not found)ra  ÚcompileÚiterÚmatchrf  rc  rd  rg  )rh  r{  Úre_startÚre_entryÚre_endrâ  rj  r]  r]  r^  rS  ¶  s,   


ÿ
ÿrS  c                 C   sÚ   t | dd��}| ¡ }W d   ƒ n1 sw   Y  t d|› d�tjtjB ¡}| |¡}|s6td|› �ƒ‚t||ƒ}|d | 	¡ … | || 
¡ d …  }t | dddd��}| |¡ W d   ƒ d S 1 sfw   Y  d S )	NrG  )Úencodingú^z\s*=\s*\($.*?^\s*\)$z'Could not find existing definition for ÚwÚ
)r‚  Únewline)ÚopenrN  ra  r|  ÚMÚSÚsearchrf  rF  ÚstartÚendÚwrite)ÚfilenameÚ	constnamerX  rh  ÚdataÚre_matchrj  Ú	new_blockr]  r]  r^  rV  Ó  s   
ÿ

$"ÿrV  )Ú__doc__rL  rJ  rK  ÚtupleÚsortedrv  ÚmapÚstrÚlowerÚPLPGSQL_KEYWORDSÚEXPLAIN_KEYWORDSÚ__name__ra  Úurllib.requestrE  Úpygments.utilrF  Ú
SOURCE_URLrT  rM  r_  rU  rR  rS  rV  r]  r]  r]  r^  Ú<module>   s0       O> 	5
“