U
    7ÄT_Âr  ã                !  @   sž  d dl Z d dlmZ dd„ Zddejjjfdejjjfdejjfd	ejjfd
ejfdej	fdej
fdejfdejfdejfdejfdejfdejjfdejjfdejjfdejfdejfdejfdejfdejfdejfdejjfdejjfdejjfdejjfdejjfd ejjfd!ejjfd"ejfd#ejfd$ejfd%ejfd&ejfd'ejfd(ejjfd)ejjfd*ejfd+ejfd,ejfd-ejjfd.ejjfd/efd0ejfd1ejjfd2ejfg-iZe je jB Z d3d4„ ed D ƒZejejejejejejejejejejejejejejejejejejj!ejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejj"ejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejj!ejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejj"ejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejj"ejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejj#ejejejejejejjejjejjejjejjejjejjejjejjejjejjejjejjejjejjejjejjejjejjejjejjejjejjejjejjejjejjejjejjejjejjejjejjejjejjejjejjejjejejjejjejjejjejjejjejjejjd5�œ Z$ejj"ejj"ejj"ejj"ejj"ejj"ejj"ejjejjejjejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejd6œ(Z%ejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejd7œUZ&ejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejd8œ$Z'ejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejd9œJZ(dS ):é    N)Útokensc                 C   sB   |   ¡ }t |¡p<t |¡p<t |¡p<t |¡p<t |tj¡| fS )N)	ÚupperÚKEYWORDS_COMMONÚgetÚKEYWORDS_ORACLEÚKEYWORDS_PLPGSQLÚKEYWORDS_HQLÚKEYWORDSr   ÚName)ÚvalueÚval© r   ú5/tmp/pip-unpacked-wheel-bbdw8hci/sqlparse/keywords.pyÚ
is_keyword   s    
ÿþý ür   Úrootz(--|# )\+.*?(\r\n|\r|\n|$)z/\*\+[\s\S]*?\*/z(--|# ).*?(\r\n|\r|\n|$)z/\*[\s\S]*?\*/z(\r\n|\r|\n)z\s+?z:=z::z\*z`(``|[^`])*`u   Â´(Â´Â´|[^Â´])*Â´u*   ((?<!\S)\$(?:[_A-ZÃ€-Ãœ]\w*)?\$)[\s\S]*?\1z\?z%(\(\w+\))?sz(?<!\w)[$:?]\w+z\\\w+z (CASE|IN|VALUES|USING|FROM|AS)\bu   (@|##|#)[A-ZÃ€-Ãœ]\w+u   [A-ZÃ€-Ãœ]\w*(?=\s*\.)u   (?<=\.)[A-ZÃ€-Ãœ]\w*u   [A-ZÃ€-Ãœ]\w*(?=\()z-?0x[\dA-F]+z-?\d*(\.\d+)?E-?\d+u2   (?![_A-ZÃ€-Ãœ])-?(\d+(\.\d*)|\.\d+)(?![_A-ZÃ€-Ãœ])u#   (?![_A-ZÃ€-Ãœ])-?\d+(?![_A-ZÃ€-Ãœ])z'(''|\\\\|\\'|[^'])*'z"(""|\\\\|\\"|[^"])*"z(""|".*?[^\\]")z(?<![\w\])])(\[[^\]]+\])z[((LEFT\s+|RIGHT\s+|FULL\s+)?(INNER\s+|OUTER\s+|STRAIGHT\s+)?|(CROSS\s+|NATURAL\s+)?)?JOIN\bzEND(\s+IF|\s+LOOP|\s+WHILE)?\bzNOT\s+NULL\bzNULLS\s+(FIRST|LAST)\bzUNION\s+ALL\bzCREATE(\s+OR\s+REPLACE)?\bzDOUBLE\s+PRECISION\bzGROUP\s+BY\bzORDER\s+BY\bzF(LATERAL\s+VIEW\s+)(EXPLODE|INLINE|PARSE_URL_TUPLE|POSEXPLODE|STACK)\bz"(AT|WITH')\s+TIME\s+ZONE\s+'[^']+'z(NOT\s+)?(LIKE|ILIKE)\bu   [0-9_A-ZÃ€-Ãœ][_$#\w]*z[;:()\[\],\.]z[<>=~!]+z[+/@#%^&|`?^-]+c                 C   s"   g | ]\}}t  |t¡j|f‘qS r   )ÚreÚcompileÚFLAGSÚmatch)Ú.0ÚrxÚttr   r   r   Ú
<listcomp>d   s     r   (   ZABORTZABSZABSOLUTEZACCESSZADAZADDZADMINZAFTERZ	AGGREGATEZALIASÚALLZALLOCATEZANALYSEZANALYZEÚANYZARRAYLENZAREÚASCZ
ASENSITIVEZ	ASSERTIONZ
ASSIGNMENTZ
ASYMMETRICÚATZATOMICZAUDITZAUTHORIZATIONZAUTO_INCREMENTZAVGZBACKWARDZBEFOREZBEGINZBETWEENZBITVARZ
BIT_LENGTHZBOTHZBREADTHÚCACHEÚCALLZCALLEDZCARDINALITYZCASCADEZCASCADEDZCASTZCATALOGZCATALOG_NAMEZCHAINZCHARACTERISTICSZCHARACTER_LENGTHZCHARACTER_SET_CATALOGZCHARACTER_SET_NAMEZCHARACTER_SET_SCHEMAZCHAR_LENGTHÚCHARSETZCHECKZCHECKEDÚ
CHECKPOINTZCLASSZCLASS_ORIGINZCLOBZCLOSEZCLUSTERZCOALESCEZCOBOLZCOLLATEZ	COLLATIONZCOLLATION_CATALOGZCOLLATION_NAMEZCOLLATION_SCHEMAZCOLLECTZCOLUMNZCOLUMN_NAMEZCOMPRESSZCOMMAND_FUNCTIONZCOMMAND_FUNCTION_CODEÚCOMMENTZCOMMITZ	COMMITTEDZ
COMPLETIONZCONCURRENTLYZCONDITION_NUMBERZCONNECTZ
CONNECTIONZCONNECTION_NAMEZ
CONSTRAINTZCONSTRAINTSZCONSTRAINT_CATALOGZCONSTRAINT_NAMEZCONSTRAINT_SCHEMAZCONSTRUCTORZCONTAINSÚCONTINUEZ
CONVERSIONZCONVERTÚCOPYZCORRESPONDINGZCOUNTZCREATEDBZ
CREATEUSERZCROSSZCUBEZCURRENTZCURRENT_DATEZCURRENT_PATHZCURRENT_ROLEZCURRENT_TIMEZCURRENT_TIMESTAMPZCURRENT_USERZCURSORZCURSOR_NAMEZCYCLEZDATAZDATABASEZDATETIME_INTERVAL_CODEZDATETIME_INTERVAL_PRECISIONZDAYZ
DEALLOCATEZDECLAREÚDEFAULTZDEFAULTSZ
DEFERRABLEZDEFERREDZDEFINEDZDEFINERZ	DELIMITERZ
DELIMITERSZDEREFZDESCZDESCRIBEZ
DESCRIPTORZDESTROYZ
DESTRUCTORZDETERMINISTICZDIAGNOSTICSZ
DICTIONARYZDISABLEZ
DISCONNECTZDISPATCHZDOZDOMAINZDYNAMICZDYNAMIC_FUNCTIONZDYNAMIC_FUNCTION_CODEZEACHZENABLEÚENCODINGÚ	ENCRYPTEDzEND-EXECZENGINEZEQUALSÚESCAPEZEVERYZEXCEPTZ	EXCEPTIONZ	EXCLUDINGZ	EXCLUSIVEZEXECZEXECUTEZEXISTINGZEXISTSÚEXPLAINZEXTERNALZEXTRACTÚFALSEZFETCHÚFILEZFINALZFIRSTZFORCEZFOREACHZFOREIGNZFORTRANÚFORWARDÚFOUNDZFREEZFREEZEÚFULLZFUNCTIONZGENERALZ	GENERATEDÚGETÚGLOBALZGOZGOTOZGRANTZGRANTEDZGROUPINGZHANDLERZHAVINGZ	HIERARCHYZHOLDÚHOURZHOSTZ
IDENTIFIEDZIDENTITYZIGNOREZILIKEZ	IMMEDIATEZ	IMMUTABLEZIMPLEMENTATIONZIMPLICITZ	INCLUDINGZ	INCREMENTZINDEXZ
INDITCATORZINFIXZINHERITSZINITIALZ
INITIALIZEZ	INITIALLYZINOUTZINPUTZINSENSITIVEZINSTANTIABLEZINSTEADZ	INTERSECTZINTOZINVOKERZISZISNULLZ	ISOLATIONZITERATEZKEYZ
KEY_MEMBERZKEY_TYPEZLANCOMPILERÚLANGUAGEZLARGEZLASTZLATERALZLEADINGZLENGTHÚLESSZLEVELZLIMITZLISTENZLOADZLOCALZ	LOCALTIMEZLOCALTIMESTAMPZLOCATIONZLOCATORZLOCKZLOWERZMAPÚMATCHZ
MAXEXTENTSZMAXVALUEZMESSAGE_LENGTHZMESSAGE_OCTET_LENGTHZMESSAGE_TEXTZMETHODZMINUTEÚMINUSZMINVALUEZMODZMODEZMODIFIESZMODIFYZMONTHZMOREZMOVEZMUMPSZNAMESZNATIONALZNATURALZNCHARZNCLOBZNEWZNEXTÚNOZNOAUDITZ
NOCOMPRESSZ
NOCREATEDBZNOCREATEUSERÚNONEZNOTZNOTFOUNDZNOTHINGZNOTIFYZNOTNULLZNOWAITZNULLZNULLABLEZNULLIFZOBJECTZOCTET_LENGTHZOFZOFFZOFFLINEZOFFSETZOIDSZOLDZONLINEZONLYZOPENZ	OPERATIONZOPERATORZOPTIONÚOPTIONSZ
ORDINALITYZOUTZOUTPUTZOVERLAPSZOVERLAYZ
OVERRIDINGZOWNERZQUARTERZPADZ	PARAMETERZ
PARAMETERSZPARAMETER_MODEZPARAMETER_NAMEZPARAMETER_ORDINAL_POSITIONZPARAMETER_SPECIFIC_CATALOGZPARAMETER_SPECIFIC_NAMEZPARAMETER_SPECIFIC_SCHEMAÚPARTIALZPASCALZPCTFREEZPENDANTZPLACINGZPLIZPOSITIONZPOSTFIXZ	PRECISIONÚPREFIXZPREORDERZPREPAREZPRESERVEZPRIMARYZPRIORZ
PRIVILEGESZ
PROCEDURALZ	PROCEDUREZPUBLICZRAISEZRAWÚREADZREADSZRECHECKZ	RECURSIVEZREFZ
REFERENCESZREFERENCINGZREINDEXZRELATIVEZRENAMEZ
REPEATABLEÚRESETZRESOURCEZRESTARTZRESTRICTZRESULTZRETURNZRETURNED_LENGTHZRETURNED_OCTET_LENGTHZRETURNED_SQLSTATEZ	RETURNINGZRETURNSZREVOKEÚRIGHTZROLEZROLLBACKZROLLUPZROUTINEZROUTINE_CATALOGZROUTINE_NAMEZROUTINE_SCHEMAZROWZROWSZ	ROW_COUNTZRULEZ
SAVE_POINTZSCALEZSCHEMAZSCHEMA_NAMEZSCOPEZSCROLLZSEARCHZSECONDZSECURITYZSELFZ	SENSITIVEZSEQUENCEZSERIALIZABLEZSERVER_NAMEZSESSIONZSESSION_USERZSETOFZSETSZSHAREZSHOWZSIMILARZSIMPLEZSIZEZSOMEZSOURCEÚSPACEZSPECIFICZSPECIFICTYPEZSPECIFIC_NAMEZSQLZSQLBUFZSQLCODEZSQLERRORZSQLEXCEPTIONZSQLSTATEZ
SQLWARNINGZSTABLEÚSTARTZ	STATEMENTZSTATICZ
STATISTICSZSTDINÚSTDOUTZSTORAGEZSTRICTZ	STRUCTUREZSTYPEZSUBCLASS_ORIGINZSUBLISTZ	SUBSTRINGZ
SUCCESSFULZSUMZ	SYMMETRICZSYNONYMZSYSIDZSYSTEMZSYSTEM_USERZTABLEZ
TABLE_NAMEÚTEMPÚTEMPLATEÚ	TEMPORARYZ	TERMINATEZTHANÚ	TIMESTAMPZTIMEZONE_HOURZTIMEZONE_MINUTEZTOZTOASTZTRAILINGZ
TRANSATIONZTRANSACTIONS_COMMITTEDZTRANSACTIONS_ROLLED_BACKZTRANSATION_ACTIVEZ	TRANSFORMZ
TRANSFORMSZ	TRANSLATEZTRANSLATIONZTREATZTRIGGERZTRIGGER_CATALOGZTRIGGER_NAMEZTRIGGER_SCHEMAZTRIMÚTRUEZTRUNCATEZTRUSTEDZTYPEÚUIDZUNCOMMITTEDZUNDERZUNENCRYPTEDZUNIONZUNIQUEÚUNKNOWNZUNLISTENZUNNAMEDZUNNESTZUNTILZUPPERÚUSAGEZUSEÚUSERZUSER_DEFINED_TYPE_CATALOGZUSER_DEFINED_TYPE_NAMEZUSER_DEFINED_TYPE_SCHEMAZUSINGZVACUUMZVALIDZVALIDATEZ	VALIDATORZVALUESÚVARIABLEÚVERBOSEÚVERSIONZVIEWZVOLATILEZWEEKZWHENEVERZWITHZWITHOUTZWORKÚWRITEZYEARZZONEÚARRAYZBIGINTÚBINARYZBITZBLOBZBOOLEANZCHARÚ	CHARACTERZDATEZDECZDECIMALZ	FILE_TYPEÚFLOATÚINTZINT8ZINTEGERZINTERVALÚLONGZNATURALNZNVARCHARÚNUMBERZNUMERICZPLS_INTEGERÚPOSITIVEZ	POSITIVENZREALZROWIDZROWLABELZROWNUMZSERIALZSERIAL8ZSIGNEDZSIGNTYPEZSIMPLE_DOUBLEZSIMPLE_FLOATZSIMPLE_INTEGERZSMALLINTZSYS_REFCURSORZSYSDATEZTEXTZTINYINTZUNSIGNEDZUROWIDZUTL_FILEZVARCHARZVARCHAR2ZVARYING)(ZSELECTZINSERTÚDELETEZUPDATEZUPSERTZREPLACEZMERGEZDROPZCREATEZALTERZWHEREZFROMZINNERZJOINZSTRAIGHT_JOINÚANDÚORZLIKEÚONÚINZSETZBYZGROUPZORDERÚLEFTZOUTERr-   ZIFZENDZTHENÚLOOPZASÚELSEÚFORZWHILEZCASEZWHENZMINÚMAXZDISTINCT)UZARCHIVEZ
ARCHIVELOGZBACKUPZBECOMEZBLOCKZBODYZCANCELZCHANGEZCOMPILEZCONTENTSZCONTROLFILEZDATAFILEZDBAZDISMOUNTZDOUBLEZDUMPZEVENTSZ
EXCEPTIONSr(   ZEXTENTZ
EXTERNALLYZFLUSHZFREELISTZ	FREELISTSZ	INDICATORZINITRANSÚINSTANCEZLAYERZLINKZLISTSZLOGFILEZMANAGEZMANUALZMAXDATAFILESZMAXINSTANCESZMAXLOGFILESZMAXLOGHISTORYZMAXLOGMEMBERSZMAXTRANSZ
MINEXTENTSÚMODULEZMOUNTZNOARCHIVELOGZNOCACHEZNOCYCLEZ
NOMAXVALUEZ
NOMINVALUEZNOORDERZNORESETLOGSÚNORMALZNOSORTZOPTIMALZOWNZPACKAGEZPARALLELZPCTINCREASEZPCTUSEDZPLANZPRIVATEZPROFILEZQUOTAZRECOVERZ	RESETLOGSZ
RESTRICTEDZREUSEZROLESZ	SAVEPOINTZSCNZSECTIONZSEGMENTZSHAREDZSNAPSHOTZSORTZSTATEMENT_IDÚSTOPZSWITCHZTABLESZ
TABLESPACEZTHREADZTIMEZTRACINGZTRANSACTIONZTRIGGERSZ	UNLIMITEDZUNLOCK)$Z	PARTITIONZOVERZPERFORMZNOTICEZPLPGSQLZINHERITZINDEXESZBYTEAZ	BIGSERIALzBIT VARYINGZBOXrO   zCHARACTER VARYINGZCIDRZCIRCLEzDOUBLE PRECISIONZINETZJSONZJSONBZLINEZLSEGZMACADDRZMONEYÚPATHZPG_LSNZPOINTZPOLYGONZSMALLSERIALZTSQUERYZTSVECTORZTXID_SNAPSHOTÚUUIDÚXMLr]   rY   r[   )JZEXPLODEZ	DIRECTORYZ
DISTRIBUTEZINCLUDEZLOCATEZ	OVERWRITEZ
POSEXPLODEZARRAY_CONTAINSZCMPZCOLLECT_LISTZCONCATZ	CONDITIONZDATE_ADDZDATE_SUBZDECODEZDBMS_OUTPUTZELEMENTSZEXCHANGEZEXTENDEDZFLOORZ	FOLLOWINGZFROM_UNIXTIMEÚFTPr0   ZINLINEZINSTRZLENZ
MAXELEMENTZMAXINDEXZMAX_PART_DATEZMAX_PART_INTZMAX_PART_STRINGZ
MINELEMENTZMININDEXZMIN_PART_DATEZMIN_PART_INTZMIN_PART_STRINGZNOWZNVLZNVL2ZPARSE_URL_TUPLEZPART_LOCZ
PART_COUNTZPART_COUNT_BYZPRINTZPUT_LINEÚRANGEÚREDUCEZREGEXP_REPLACEZRESIGNALZRTRIMZSIGNZSIGNALZSINZSPLITZSQRTZSTACKZSTRZSUBSTRZSUMMARYZTBLPROPERTIESZTIMESTAMP_ISOZTO_CHARZTO_DATEZTO_TIMESTAMPZTRUNCZ	UNBOUNDEDZ
UNIQUEJOINZUNIX_TIMESTAMPZUTC_TIMESTAMPZVIEWSZEXITZBREAKZLEAVE))r   Zsqlparser   r   ÚCommentÚSingleZHintZ	MultilineZNewlineÚ
WhitespaceZ
AssignmentZPunctuationZWildcardr
   ÚLiteralZPlaceholderÚCommandÚKeywordÚNumberZHexadecimalZFloatZIntegerÚStringZSymbolZDDLZBuiltinZTZCastZOperatorZ
ComparisonZ	SQL_REGEXÚ
IGNORECASEÚUNICODEr   ZOrderZDMLZCTEr	   r   r   r   r   r   r   r   r   Ú<module>	   s¤  







ÿ



ÿ

þ


¸ÿL€ € € € À    HÔ0˜mÚ+´