o {;fns@s ddlZddlmZddZdgdejjjfdejjjfdejjfd ejjfd ejfd ej fd ej fd ej fdej fdej fdej fdejfdej jfdej jfdej jfdejfdejjfdejfdej fdej fdej fdej fdejjfdejjfdejjfdejjfd ejjfd!ejjfd"ejjfd#ej fd$ejfd%ejfd&ejfd'ejfd(ejfd)ejjfd*ej jfd+ejfd,ejfd-ejfd.ejfd/ejjfd0ejjfd1efd2ej fd3ejjfd4ejfiZejejBZ d5d6edDZid7ejd8ejd9ejd:ejd;ejdejd?ejd@ejdAejdBejdCejdDejdEejdFejdGejidHejj!dIejdJejdKejdLejdMejdNejdOejdPejdQejdRejdSejdTejdUejdVejdWejdXejidYejdZejd[ejd\ejd]ejd^ejd_ejd`ejdaejdbejdcejddejdeejdfejdgejdhejdiejidjejdkejdlejdmejdnejdoejdpejdqejdrejdsejdtejduejdvejdwejdxejdyejdzejid{ejd|ejd}ejd~ejdejdejdejdejj"dejdejdejdejdejdejdejdejdejidejdejdejdejdejdejdejdejdejdejdejdejdejdejdejdejdejidejdejdejdejdejdejdejdejdejdejdejdejdejdejdejdejdejidejdejdejdejdejdejdejdejj!dejdejdejdejdejdejdejdejdejidejdejdejdejdejdejdejdejdejdejdejdejdejdejdejdejdejidejdejdejdejdejdejdejdejdejdejdejdejdejdejdejdejdejidejdejdejdejdejdejdejdejdejdejdejdejdejdejdejdejdejidejdejdejdejdejdejdejdejdejdejdejdejdejdejdejdejdejidejdejdejdejdejdejd ejd ejd ejd ejd ejdejdejdejdejdejdejidejdejdejdejdejdejdejdejdejdejdejdejd ejd!ejd"ejd#ejd$ejid%ejd&ejd'ejd(ejd)ejd*ejd+ejd,ejd-ejd.ejd/ejd0ejd1ejd2ejd3ejd4ejd5ejid6ejd7ejd8ejd9ejd:ejd;ejdejd?ejd@ejdAejdBejdCejdDejdEejdFejidGejdHejdIejdJejdKejdLejdMejdNejdOejdPejdQejdRejdSejdTejdUejdVejdWejidXejdYejdZejd[ejd\ejd]ejd^ejd_ejd`ejdaejdbejdcejddejdeejdfejdgejdhejidiejdjejdkejdlejdmejdnejdoejdpejdqejdrejdsejdtejduejdvejdwejdxejdyejidzejd{ejd|ejd}ejd~ejdejdejdejdejdejdejdejdejdejdejdejdejidejdejdejdejdejdejdejdejdejdejdejdejdejdejdejdejdejidejdejdejdejdejj"dejdejdejdejdejdejdejdejdejdejdejdejidejdejdejdejdejdejdejdejdejdejdejdejdejdejdejdejdejidejdejdejdejdejdejdejdejdejdejdejdejdejdejdejdejdejidejj"dejdejdejdejdejdejdejdejdejdejdejdejdejdejdejdejidejdejdejdejdejdejdejdejdejdejdejdejdejdejdejdejdejidejdejdejdejdejdejdejdejdejdejdejdejdejdejdejdejdejidejdejdejdejdejdejdejd ejd ejd ejd ejd ejdejdejdejdejdejidejdejdejdejdejdejdejdejdejdejdejdejdejd ejd!ejj#d"ejd#ejid$ejd%ejd&ejd'ej jd(ej jd)ej jd*ej jd+ej jd,ej jd-ej jd.ej jd/ej jd0ej jd1ej jd2ej jd3ej jd4ej jid5ej jd6ej jd7ej jd8ej jd9ej jd:ej jd;ej jdej jd?ej jd@ej jdAej jdBej jdCej jdDej jdEej jidFej jdGej jdHej jdIej jdJej jdKej jdLej jdMej dNej jdOej jdPej jdQej jdRej jdSej jdTej jdUej jZ$idVejj"dWejj"dXejj"dYejj"dZejj"d[ejj"d\ejj"d]ejjd^ejjd_ejjd`ejdaejdbejdcejddejdeejdfejidgejdhejdiejdjejdkejdlejdmejdnejdoejdejdpejdqejdrejdsejdtejduejdvejejejejejejejdwZ%idxejdyejdzejd{ejd|ejd}ejd~ejdejdejdejdejdejdejdejdejdejdejidejdejdejdejdejdejdejdejdejdejdejdejdejdejdejdejdejidejdejdejdejdejdejdejdejdejdejdejdejdejdejdejdejdejidejdejdejdejdejdejdejdejdejdejdejdejdejdejdejdejdejidejdejdejdejdejdejdejdejdejdejdejdejdejdejdejdejdejdejiZ&idejdejdejdejdejdejdejdejdejdejdejdejdejdejd.ejdejdejidejdejdejdejdejdejdejdejdejdejdejdejdejdejdejdejdejejejejejejdZ'idejdejdejdejdejdejdejdejdejdejdejdejdejdejdejdejdejidejdejdejdejdejdejdejdejdejdejd ejd ejd ejd ejd ejdejdejidejdejdejdejdejdejdejdejdejdejdejdejdejdejdejdejd ejid!ejd"ejd#ejd$ejd%ejd&ejd'ejd(ejd)ejd*ejd+ejd,ejd-ejd.ejd/ejd0ejd1ejejejejejejejd2Z(dS(3N)tokenscCsB|}t|pt|pt|pt|pt|tj|fS)N) upperKEYWORDS_COMMONgetKEYWORDS_ORACLEKEYWORDS_PLPGSQL KEYWORDS_HQLKEYWORDSrName)valuevalr 3/usr/lib/python3/dist-packages/sqlparse/keywords.py is_keyword s rrootz(--|# )\+.*?(\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*((?=~!]+z [+/@#%^&|^-]+cCs"g|] \}}t|tj|fqSr )recompileFLAGSmatch).0rxttr r r ds"rABORTABSABSOLUTEACCESSADAADDADMINAFTER AGGREGATEALIASALLALLOCATEANALYSEANALYZEANYARRAYLENAREASC ASENSITIVE ASSERTION ASSIGNMENT ASYMMETRICATATOMICAUDIT AUTHORIZATIONAUTO_INCREMENTAVGBACKWARDBEFOREBEGINBETWEENBITVAR BIT_LENGTHBOTHBREADTHCACHECALLCALLED CARDINALITYCASCADECASCADEDCASTCATALOG CATALOG_NAMECHAINCHARACTERISTICSCHARACTER_LENGTHCHARACTER_SET_CATALOGCHARACTER_SET_NAMECHARACTER_SET_SCHEMA CHAR_LENGTHCHARSETCHECKCHECKED CHECKPOINTCLASS CLASS_ORIGINCLOBCLOSECLUSTERCOALESCECOBOLCOLLATE COLLATIONCOLLATION_CATALOGCOLLATION_NAMECOLLATION_SCHEMACOLLECTCOLUMN COLUMN_NAMECOMPRESSCOMMAND_FUNCTIONCOMMAND_FUNCTION_CODECOMMENTCOMMIT COMMITTED COMPLETION CONCURRENTLYCONDITION_NUMBERCONNECT CONNECTIONCONNECTION_NAME CONSTRAINT CONSTRAINTSCONSTRAINT_CATALOGCONSTRAINT_NAMECONSTRAINT_SCHEMA CONSTRUCTORCONTAINSCONTINUE CONVERSIONCONVERTCOPY CORRESPONDINGCOUNTCREATEDB CREATEUSERCROSSCUBECURRENT CURRENT_DATE CURRENT_PATH CURRENT_ROLE CURRENT_TIMECURRENT_TIMESTAMP CURRENT_USERCURSOR CURSOR_NAMECYCLEDATADATABASEDATETIME_INTERVAL_CODEDATETIME_INTERVAL_PRECISIONDAY DEALLOCATEDECLAREDEFAULTDEFAULTS DEFERRABLEDEFERREDDEFINEDDEFINER DELIMITER DELIMITERSDEREFDESCDESCRIBE DESCRIPTORDESTROY DESTRUCTOR DETERMINISTIC DIAGNOSTICS DICTIONARYDISABLE DISCONNECTDISPATCHDODOMAINDYNAMICDYNAMIC_FUNCTIONDYNAMIC_FUNCTION_CODEEACHENABLEENCODING ENCRYPTEDzEND-EXECENGINEEQUALSESCAPEEVERYEXCEPT EXCEPTION EXCLUDING EXCLUSIVEEXECEXECUTEEXISTINGEXISTSEXPLAINEXTERNALEXTRACTFALSEFETCHFILEFINALFIRSTFORCEFOREACHFOREIGNFORTRANFORWARDFOUNDFREEFREEZEFULLFUNCTIONGENERAL GENERATEDGETGLOBALGOGOTOGRANTGRANTEDGROUPINGHAVING HIERARCHYHOLDHOURHOST IDENTIFIEDIDENTITYIGNOREILIKE IMMEDIATE IMMUTABLEIMPLEMENTATIONIMPLICIT INCLUDING INCREMENTINDEX INDITCATORINFIXINHERITSINITIAL INITIALIZE INITIALLYINOUTINPUT INSENSITIVE INSTANTIABLEINSTEAD INTERSECTINTOINVOKERISISNULL ISOLATIONITERATEKEY KEY_MEMBERKEY_TYPE LANCOMPILERLANGUAGELARGELASTLATERALLEADINGLENGTHLESSLEVELLIMITLISTENLOADLOCAL LOCALTIMELOCALTIMESTAMPLOCATIONLOCATORLOCKLOWERMAPMATCH MAXEXTENTSMAXVALUEMESSAGE_LENGTHMESSAGE_OCTET_LENGTH MESSAGE_TEXTMETHODMINUTEMINUSMINVALUEMODMODEMODIFIESMODIFYMONTHMOREMOVEMUMPSNAMESNATIONALNATURALNCHARNCLOBNEWNEXTNONOAUDIT NOCOMPRESS NOCREATEDB NOCREATEUSERNONENOTNOTFOUNDNOTHINGNOTIFYNOTNULLNOWAITNULLNULLABLENULLIFOBJECT OCTET_LENGTHOFOFFOFFLINEOFFSETOIDSOLDONLINEONLYOPEN OPERATIONOPERATOROPTIONOPTIONS ORDINALITYOUTOUTPUTOVERLAPSOVERLAY OVERRIDINGOWNERQUARTERPAD PARAMETER PARAMETERSPARAMETER_MODEPARAMETER_NAMEPARAMETER_ORDINAL_POSITIONPARAMETER_SPECIFIC_CATALOGPARAMETER_SPECIFIC_NAMEPARAMETER_SPECIFIC_SCHEMAPARTIALPASCALPCTFREEPENDANTPLACINGPLIPOSITIONPOSTFIX PRECISIONPREFIXPREORDERPREPAREPRESERVEPRIMARYPRIOR PRIVILEGES PROCEDURAL PROCEDUREPUBLICRAISERAWREADREADSRECHECK RECURSIVEREF REFERENCES REFERENCINGREINDEXRELATIVERENAME REPEATABLERESETRESOURCERESTARTRESTRICTRESULTRETURNRETURNED_LENGTHRETURNED_OCTET_LENGTHRETURNED_SQLSTATE RETURNINGRETURNSREVOKERIGHTROLEROLLBACKROLLUPROUTINEROUTINE_CATALOG ROUTINE_NAMEROUTINE_SCHEMAROWROWS ROW_COUNTRULE SAVE_POINTSCALESCHEMA SCHEMA_NAMESCOPESCROLLSEARCHSECONDSECURITYSELF SENSITIVESEQUENCE SERIALIZABLE SERVER_NAMESESSION SESSION_USERSETOFSETSSHARESHOWSIMILARSIMPLESIZESOMESOURCESPACESPECIFIC SPECIFICTYPE SPECIFIC_NAMESQLSQLBUFSQLCODESQLERROR SQLEXCEPTIONSQLSTATE SQLWARNINGSTABLESTART STATEMENTSTATIC STATISTICSSTDINSTDOUTSTORAGESTRICT STRUCTURESTYPESUBCLASS_ORIGINSUBLIST SUBSTRING SUCCESSFULSUM SYMMETRICSYNONYMSYSIDSYSTEM SYSTEM_USERTABLE TABLE_NAMETEMPTEMPLATE TEMPORARY TERMINATETHAN TIMESTAMP TIMEZONE_HOURTIMEZONE_MINUTETOTOASTTRAILING TRANSATIONTRANSACTIONS_COMMITTEDTRANSACTIONS_ROLLED_BACKTRANSATION_ACTIVE TRANSFORM TRANSFORMS TRANSLATE TRANSLATIONTREATTRIGGERTRIGGER_CATALOG TRIGGER_NAMETRIGGER_SCHEMATRIMTRUETRUNCATETRUSTEDTYPEUID UNCOMMITTEDUNDER UNENCRYPTEDUNIONUNIQUEUNKNOWNUNLISTENUNNAMEDUNNESTUNTILUPPERUSAGEUSEUSERUSER_DEFINED_TYPE_CATALOGUSER_DEFINED_TYPE_NAMEUSER_DEFINED_TYPE_SCHEMAUSINGVACUUMVALIDVALIDATE VALIDATORVALUESVARIABLEVERBOSEVERSIONVIEWVOLATILEWEEKWHENEVERWITHWITHOUTWORKWRITEYEARZONEARRAYBIGINTBINARYBITBLOBBOOLEANCHAR CHARACTERDATEDECDECIMAL FILE_TYPEFLOATINTINT8INTEGERINTERVALLONGNATURALNNVARCHARNUMBERNUMERIC PLS_INTEGERPOSITIVE POSITIVENREALROWIDROWLABELROWNUMSERIALSERIAL8SIGNEDSIGNTYPE SIMPLE_DOUBLE SIMPLE_FLOATSIMPLE_INTEGERSMALLINT SYS_REFCURSORSYSDATETEXTTINYINTUNSIGNEDUROWIDUTL_FILEVARCHARVARCHAR2VARYINGSELECTINSERTDELETEUPDATEUPSERTREPLACEMERGEDROPCREATEALTERWHEREFROMINNERJOIN STRAIGHT_JOINANDORLIKEONINSETBYGROUPORDERLEFTOUTERIFENDTHENLOOPASELSEFOR)WHILECASEWHENMINMAXDISTINCTARCHIVE ARCHIVELOGBACKUPBECOMEBLOCKBODYCANCELCHANGECOMPILECONTENTS CONTROLFILEDATAFILEDBADISMOUNTDOUBLEDUMPELSIFEVENTS EXCEPTIONSEXTENT EXTERNALLYFLUSHFREELIST FREELISTS INDICATORINITRANSINSTANCELAYERLINKLISTSLOGFILEMANAGEMANUAL MAXDATAFILES MAXINSTANCES MAXLOGFILES MAXLOGHISTORY MAXLOGMEMBERSMAXTRANS MINEXTENTSMODULEMOUNT NOARCHIVELOGNOCACHENOCYCLE NOMAXVALUE NOMINVALUENOORDER NORESETLOGSNORMALNOSORTOPTIMALOWNPACKAGEPARALLEL PCTINCREASEPCTUSEDPLANPRIVATEPROFILEQUOTARECOVER RESETLOGS RESTRICTEDREUSEROLES SAVEPOINTSCNSECTIONSEGMENTSHAREDSNAPSHOTSORT STATEMENT_IDSTOPSWITCHTABLES TABLESPACETHREADTIMETRACING TRANSACTIONTRIGGERS UNLIMITEDUNLOCKCONFLICTWINDOW PARTITIONOVERPERFORMNOTICEPLPGSQLINHERITINDEXES ON_ERROR_STOPBYTEA BIGSERIALz BIT VARYINGBOXzCHARACTER VARYINGCIDRCIRCLEzDOUBLE PRECISIONINETJSONJSONBLINELSEGMACADDRMONEYPATHPG_LSNPOINTPOLYGON SMALLSERIALTSQUERYTSVECTOR TXID_SNAPSHOT)UUIDXMLrWrJrTEXPLODE DIRECTORY DISTRIBUTEINCLUDELOCATE OVERWRITE POSEXPLODEARRAY_CONTAINSCMP COLLECT_LISTCONCAT CONDITIONDATE_ADDDATE_SUBDECODE DBMS_OUTPUTELEMENTSEXCHANGEEXTENDEDFLOOR FOLLOWING FROM_UNIXTIMEFTPINLINEINSTRLEN MAXELEMENTMAXINDEX MAX_PART_DATE MAX_PART_INTMAX_PART_STRING MINELEMENTMININDEX MIN_PART_DATE MIN_PART_INTMIN_PART_STRINGNOWNVLNVL2PARSE_URL_TUPLEPART_LOC PART_COUNT PART_COUNT_BYPRINTPUT_LINERANGEREDUCEREGEXP_REPLACERESIGNALRTRIMSIGNSIGNALSINSPLITSQRTSTACKSTRSUBSTRSUMMARY TBLPROPERTIES TIMESTAMP_ISOTO_CHARTO_DATE TO_TIMESTAMPTRUNC UNBOUNDED UNIQUEJOIN)UNIX_TIMESTAMP UTC_TIMESTAMPVIEWSEXITBREAKLEAVE))rsqlparserrCommentSingleHint MultilineNewline Whitespace Assignment PunctuationWildcardr Literal PlaceholderCommandOperator ComparisonKeywordNumber HexadecimalFloatIntegerStringSymbolDDLBuiltinTZCast SQL_REGEX IGNORECASEUNICODErOrderDMLCTEr rrrrr r r rs,            $'( ) *+ - . 0 15689:; < =>?@A D EFG HI M      !"#$%()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqstuvwxyz{|}~      !"#$%&'(*+,-./012345678;<=>?@ABCEFGHIKLMNOPRSTUVXYZ[\]^_`abcdefghilmnpqrstuvwxyz{|}~      !"#$%&'()*+,-./123456789:;<=>?@ABCDEFHJKLMNOPQRSTUVWXYZ[\]^_`abcdeghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./012 356789:;<=>?@ABCDEFGIJKLMNOPQRSTUVWXYZ[\]^_`abcdefgijklmnopqrstuvwxyz{}~                  ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 :; < = > ? @ A B CF             !"#$%& /     #$%'()*,-./012345689:;<=>?@BCEFGHIJKMOPQRSUVWXYZ[\]^`abcdefhim     !"#$ -      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEF