
    4Yshf                     J   d Z ddlZddlZddlmZmZmZmZmZm	Z	m
Z
mZmZmZmZmZmZ ddlmZ ddlmZmZmZ ddlmZ ddlmZ ddlZd	Zd
 Zd Zd Z d Z!d Z"d Z# e ed       eddjI                  d  e%d      D              z        z    ed      z         Z&e&jO                  d        ejP                  dk(  rdZ)ndZ)de)z   Z*de*z   Z+ ede)de+de+dejX                         Z- e ed!e-             ed"      j]                         z   Z/d#Z0d$Z1d%e0d&e1d'Z2 ed( e3e*e+e2)      z  ejh                  ejj                  z         Z6d* Z7e6jO                  d+        e/ ed,e6j]                               z   Z8 ed-e*d.e+d/e+dejX                         Z9e9jO                  d0         ede*d1e*d2ejX                         Z: e ed3      e:z         Z; e ed4      e:z         Z< e ed5       ed6      z         Z= ed7      Z>e>jO                  d8        d9Z? ed:      Z@e@jO                  d;         ed<d=e?iz        ZAeAjO                  d>         ed?      e>j                         j]                         z   ZCeCjO                  d@         ed?      e@j                         j]                         z   ZD ed?      eAj                         j]                         z   ZE edA      e>j                         j]                         z   ZFeFjO                  dB         edA      e@j                         j]                         z   ZGeGjO                  dC         edA      eAj                         j]                         z   ZHeHjO                  dD         edE      ZIeIjO                  dF         edG      ZJeJjO                  dH         edIejX                         ZKeKjO                  dJ         edKejX                         ZLeLjO                  dL         ed%      d'z   ZMeMjO                  dM         ed      dNz   ZNeNjO                  dO         edP      ZOeOjO                  dQ         edR edS       edTe&      z         ZP edU edV      e/z    edTe&      z         ZQ e eePeQz              ZRe;e<z  ZSeSjO                  dW         edXe8e/z        ZTe&eTz  ZUeIeJz  eKz  eLz  ZV edY edZeV       e ed[e=j]                                ed\      j]                          ed]eU      j]                         z   z        z         ZWeEeDz  eCz  ZXeHeGz  eFz  ZYeAe@z  e>z  ZZeZeXz  eYz  Z[ ed^      jO                  d_        ed`      jO                  da       z  Z\e9eNz  Z]eUeWz  e[z  e\z  e]z  eMz  Z^eSe^z  Z_eSeUz  Z` edb       edceU      z   Zaea edc edd            z   edc ede            z   edc edf            z  Zb edg edd             e edb             edgeU      z   z  ZceUeWz  e[z  e\z   edh      z  Zde`eOz  ZeeSZfe>Zg e	       Zh e	       Zie_ehz  Zje_eiz  Zk ed3      diz  d?z  ZleUeOz   edjdkeUeOz  z         z  Zm e	       Zn edl edmem      d% e edmem       ed& edmem      z         z         z   d'z   z        ZoeUeOz   edn      eoz   z   ed%      enz    ed'      z   z   edo edp      d%z    edmen      z   d'z         z  Zp edq edmep       e edrelj]                                     z         Zqeq edk       eds edmeq            z   z  Zr edt edmer       edu edmer      z         z         Zs edv edmes       ed& edmes      z         z         Ztenetz  ZnenZuekZvev edwevz         z   Zw e	       Zx ed%       eej      z    ed'      z   ZyeyjO                  e#        ed%       eek      z    ed'      z   ZzezjO                  e#       ejZ{e{ edwe{z         z   Z|euefz  ewz    edx eeuefz  ewz         z         z   Z} ee}      Z~eee|z    edx eeee|z         z         z   Z ee      Z e ed      ez    edN      z         ZejO                  e"        e ed      e}z    edN      z         ZejO                  e"       eheyez  z  Zheiezez  z  Zie_ez   ehez   z  ZejO                  e!        edye       e edz       e edye            z         z   Z ed{ edb       ed|e`      z   d}z    ee      z   d~z         Z ed ee       e ede       e edz            z    ee      z         z         Zd} ede      z   d~z   Zd} ede      z   d~z   Ze_e}z   eie~z   z  ZejO                  e!        e	       Ze edye       e edz       ee      z         z   z  Z ed ed       edgex      z         Z ed edgex       e ed       edgex      z         z         Z e	       ZeM e ed%       ee      z    ed'      z         z  Z ed ed      d%z    ede      z   dwz    ede      z    edw ede      z         z   d'z         Zej!                  ej"                          ed ed      d%z    ede      z   dwz    ede      z    edw ede      z         z   d'z         j!                  ej$                        Z ed ed      d%z    ede      z   dwz    ede      z   dwz    ede      z    edw ede      z         z   d'z         j!                  ej(                        Z ed ed       edgex      z         j!                  ej,                        Z ed ed       ed      z    edgex      z         j!                  ej,                        Z e edp            Zd% ede      z    ede      z   d'z   Z ed ed      d%z    ede      z    eddiez        z   d'z          ed ed      ez         z   ed ed      ez         z   ed ed      ez         z   ed ed      ez         z   ed ed      ez         z   ed ed      d%z    ede      z    ede      z    edx ed      z   dz    edeV      z         z   d'z         z  Ze ed ed      d%z    ede      z   d'z         j!                  ej8                        z   ed ed      d%z    ede      z   d'z         j!                  ej:                        z   ed ed      d%z    ede      z   dwz    ede      z   d'z         j!                  ej<                        z   ed ed      d%z    ede      z   d'z         j!                  ej>                        z   ed ed      d%z    edeS      z   d'z         j!                  ej@                        z   ed ed      d%z    ede      z   d'z         j!                  ejB                        z   ed ed      d%z    ede      z   d'z         j!                  ejB                        z   ed ed      d% ede      z   d'z   eMz  z         j!                  ejD                        z   ed ed      eMz         j!                  ejF                        z   ed ed      d%z    ede      z   d'z         j!                  ejH                        z   ed ed      d%z    ede      z   d'z         j!                  ejJ                        z   ed edë      d%z    ede      z   d'z         j!                  ejL                        z   ed edū      d%z    ede      z   d'z         j!                  ejN                        z   ed edǫ       ede      z         j!                  ejP                        z  ez   ed edɫ      d%z    ede      z   d'z         j!                  ejR                        z  ez   ed ed˫      d%z    ede      z   d'z         j!                  ejT                        z   ed edͫ      d%z    ede      z   d'z         j!                  ejV                        z   ed edϫ      d%z    ede      z   d'z         j!                  ejX                        z   ed edѫ      d%z    ede      z   dwz    ede      z   d'z         j!                  ejZ                        z   ed edӫ      d%z    ede      z   dwz    ede      z   d'z         j!                  ej\                        z   ed edի      d%z    ede      z   dwz    ede      z   d'z         j!                  ej^                        z   ed ed׫      d%z    ede      z   dwz    ede      z   d'z         j!                  ej`                        z   ed ed٫      d%z    ede      z   dwz    ede      z   d'z         j!                  ejb                        z   ed ed۫      d%z    ede      z   d'z         j!                  ejd                        z   ed edݫ      d%z    ede      z   d'z         j!                  ejf                        z   ed ed߫      d%z    ede      z   d'z         j!                  ejh                        z   ed ed      d%z    ede      z   d'z         j!                  ejj                        z   ed ed      d%z    ede      z   d'z         j!                  ejl                        z   ed ed      d%z    ede      z   d'z         j!                  ejn                        z   ed ed      d%z    ede      z   d'z         j!                  ejp                        z   ed ed      d%z    ede      z   d'z         j!                  ejr                        z   ed ed      eMz         j!                  ejt                        z   ed ed      eMz         j!                  ejv                        z   ed ed      eMz         j!                  ejx                        z   ed ed      d%z    ede      z   d'z         j!                  ejz                        z   ed ed      d%z    ede      z   d'z         j!                  ej|                        z   ed ed      d%z    ede      z   d'z         j!                  ej~                        z   ed ed      d%z    ede      z   d'z         j!                  ej                        z   ed ed      d%z    ede      z   d'z         j!                  ej                        z   ed ed       ede      z         j!                  ej                        z   ed ed      d%z    ede      z   dwz    ede      z   dwz    ede      z   d'z         j!                  ej                        z   ed ed       d%z    ede      z   dwz    ede      z   d'z         j!                  ej                        z   ed ed      d%z    ede      z   dwz    ede      z   d'z         j!                  ej                        z   ed ed      d%z    ede      z   dwz    ede      z   d'z         j!                  ej                        z   ed ed      d%z    ede      z   d'z         j!                  ej                        z   ed ed      d%z    ede      z   d'z         j!                  ej                        z   ed	 ed
      d%z    ede      z   d'z         j!                  ej                        z   ed ed      d%z    ede      z   d'z         j!                  ej                        z   ed ed      d%z    ede      z   d'z         j!                  ej                        z  ez  ez  ez  ZeMd% ede      z    e ede            z   d'z   z  Z ed edTeU      ez         j!                  ej                        eUz  Z ed edTeU      ez         j!                  ej                        Z ed%      ez    ed'      z   Zeez  ez  eWz  e[z  e\z  eSz  Z eddn edeѫ      z         j!                  ej                         edd? edeѫ      z         j!                  ej                        z   eddA edeѫ      z         j!                  ej                        z  ez  Z ed edeի       e eddi       edeի      z    eddu       edeի      z   z        z         j!                  ej                        Z ed ede֫       e edd?       ede֫      z    eddA       ede֫      z   z        z         j!                  ej                        ZeZ ed edeث       e edd       edeث      z    edd       edeث      z   z   edd       edeث      z   z   edd       edeث      z   z   edd       edeث      z   z   edd       edeث      z   z   ed ed             ede      z   z   ed e ed       ed      z   d	d             ede      z   z        z         j!                  ej                        ZeZ ed edeګ       ed  edeګ      z         z         j!                  ej                        Z ed! ede۫       ed" ede۫      z         z         j!                  ej                        Zeez  Zeez  ez  Z ed# ed$       edeݫ      z         ZeUZeZ ede       ed%e߫      z   Z ed& ed'       ed(e      ez  z         Zeez   ed)d% ede      z    e ed*       ed+eS      z         z   d'z         z  eSz  Z ed, ed-       ed.      z    e ed/e            z         Z e ed0 ed1                  Z ed2 ed3      ez    edTeU      z    e ed4      eaz         z         Z ed5 ed6      ez   ebz         Z ed7 ed8      ez   ebz         Z ed9 ed:      ez   eaz         Z ed; ed<      ez   ecz    ed=      z   ecz         Z ed> ed?      ez   ecz    ed=      z   ecz         Z ed@ edA      ez   ecz    ed=      z   ecz         Z edB edC       edD      z   ez         Z edE edF       edD      z   ez         Z edG edF       edH      z   ez         Z edI edF      ez         Z edJ edC      ez         Z edK edL       ed(eU       ede       ed%eU      z   z  z         Z edM e edN       edOeU      z          edPe       e edQe            z    edQe      z  z    e edRe            z    edH      z    edSex      z         Zeez  ez  ez  ez  ez  ez  ez  ez  ez  ez  Z ed+eS      d}z    e edTed            z   d~z   ZeMd% e ed+eS            z   d'z   z  d}z    e edT e ed%       eed      z    ed'      z   eMz                    z   d~z   Zeez  Z e edU edV edW      ez                     Z e	       Ze edXe       e edz       ee      z         z   z  Z ed}       ee      z    ed~      z   Z edY edZ       edgex      z         Z ed[ edb       ed|e`      z    edgex      z         Z ed\ ed]      ez    ed|e`      z    edgex      z         Z ed^ ed_      d%z    ede      z    ed*      z    ed+eS      z   d'z         Z ed` edW      ez         Zeez  ez  ez  ez  ez  ez  ez  Z  eda e edm edbe                   e edme        edz      z    e edm edbe                  z         z         ZeݐZ edc edd       e ed/e            z         Z ede edf edg       edh      z         edeЫ      z    edeeSz        z        Z edi edj       ed.      z    e ed/e            z         Z edk       edle>      z   Z edm       edne>      z   Z edoe ee      z   e ee      z   z        Z e edpe             e edqe            z    e edre            z    e edse            z   Z	 edt       e edu edp       edv      z              z    e edw ed ed+eS       ed%       ede      z    ed*      z    edxeS      z   d'z   z                    diz  z   Z
 e edH             edSex      z   Z edye
ez   e	z   ez         Zex ed}      eez  z    ed~      z   z  Zx edze
 e ed{e            z   ez   e	z   ez         Z ed| ed}      e e ed{e            z   ez   e	z   ez    e ed{e             edH      z   d}z    e edS ed~ edm edbe                              z   d~z   e	z   ez   z  z         Z ed ed       ed{ ee            z   ez   e	z   ez         Z ed ed       e ed+e`            diz  z    ed{ ee            z    ee      z   e	z   ez         Z e	       Ze edeR       e ede       edxez         z         z   z  ZeReez  ez  ez  z   Z ede      ZeZej+                  dez          ej+                  dez           ej,                  dej.                         Zd Zd Zd Zedk(  r?ddlZdZ	 ej;                  ej<                  d         Z e d        e e       yy# e
$ rMZ! e e!jD                          e de!jF                  dz
  z  dkz           e e!       Y dZ![!ydZ![!ww xY w(  z'
SPARQL 1.1 Parser

based on pyparsing
    N)LiteralRegexOptional	OneOrMore
ZeroOrMoreForwardParseExceptionSuppressCombine
restOfLineGroupParseResultsdelimitedList)CaselessKeyword   )CompParam	ParamList)	operators)decodeUnicodeEscapeFc                 F    t        j                  |  | j                        S )Ndatatype)rdflibr   r   )literals    |/var/www/sten-cake5-migrate2.hellocrow.space/lexinfo-master/env/lib/python3.12/site-packages/rdflib/plugins/sparql/parser.pynegr   )   s    >>7(W-=-=>>    c                 <    t        j                  | d   | d         S )Nr   r   )langr   r   termss    r   setLanguager$   -   s    >>%(q22r   c                 <    t        j                  | d   | d         S )Nr   r   r   r!   r"   s    r   setDataTyper&   1   s    >>%(U1X66r   c                 J   	 g }t         rt        d|        t        |       }t        |       D ]-  \  }}|dk(  r|j	                  |d   |d   g       n|dk(  r=|dz   t        |       k(  s| |dz      dk(  s| |dz      dk(  rS|j                  |d          nt        |t              r_t        |      d	z  d
k(  r|j                  |d          t        |      dkD  r||z  }|dz   |k  rY| |dz      dvrO|j                  |d          n:t        |t              r||j                         z  }n|dk7  r|j                  |       t         st        t        |      |       0 t         r ddl
}t        |j                  |d
             |S #  t         rddl}|j                           xY w)z?
    Expand ; and , syntax for repeat predicates, subjects
    Terms,;r   .r         z.,;N)indent)DEBUGprintlen	enumerateextendappend
isinstancelistr   asListjsondumps	traceback	print_exc)r#   resl_itr:   r<   s          r   expandTriplesrB   5   s   
-'5!Ze$ 	#DAqCx

CGSW-.cq5CJ&%A,#*=q1uQTAT

3q6"At$ HqLQ&JJqt$q6A:1HCq52:%A,e";JJqt$A|,qxxz!c

1c#h"/	#0 $**S*+,
!s   EF ?F F"c                 Z   	 t         rNt        d|        t        d| d          t        dt        j                         g| j	                         d   z          t        t        j                         g| j	                         d   z         gS # t        $ r}t         rt        d|        d}~ww xY w)z5
    expand [ ?p ?o ] syntax for implicit bnodes
    zBnode terms1r   2z>>>>>>>>N)r1   r2   r   BNoder9   rB   	Exception)r#   es     r   expandBNodeTriplesrI   j   s    
	-'#uQx #'%,,.*;;<v||~.1BBCDD *a s   BB	 		B*B%%B*c                    t         rt        d|        g }g }| D ]  }t        |t              r
||z  }|d   }t	        j
                         }|r?||d   t        j                  j                  ||t        j                  j                  |gz  }r||t        j                  j                  |gz  } |t        j                  j                  t        j                  j                  gz  }||z  }t         rt        d|       |gS )z3
    expand ( 1 2 3 ) notation for collections
    zCollection: r   r*   CollectionOut)
r1   r2   r7   r8   r   rF   RDFrestfirstnil)r#   r>   otherxbs        r   expandCollectionrS   {   s     ne$
CE 	,aQJE!ALLNCGVZZ__aFJJ4D4DaHHCAvzz''++C	, Avzz

//C5LCos#5Lr   <z[^<>"{}|^`\\%s]* c              #   &   K   | ]	  }d |z    yw)z\x%02XN ).0r@   s     r   	<genexpr>rY      s     )KA)a-)Ks   !   >c                 2    t        j                  | d         S Nr   )r   URIRefrQ   s    r   <lambda>r`      s    ad 3 r   i  uJ   A-Za-zÀ-ÖØ-öø-˿Ͱ-ͽͿ-῿‌-‍⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�uS   A-Za-zÀ-ÖØ-öø-˿Ͱ-ͽͿ-῿‌-‍⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-󯿿_u   \-0-9·̀-ͯ‿-⁀[z](?:[z\.]*[z])?)flagsprefix:z\\[_~\.\-!$&"'()*+,;=/?#@%]z%[0-9a-fA-F]{2}(|)z([%(PN_CHARS_U)s:0-9]|%(PLX)s)
                     (([%(PN_CHARS)s\.:]|%(PLX)s)*
                      ([%(PN_CHARS)s:]|%(PLX)s) )?)
PN_CHARS_UPN_CHARSPLXc                 P    t        t        | j                  d      dd  d            S )Nr   r      )chrintgroup)matchs    r   
_hexExpandrr      s#    s5;;q>!"%r*++r   c                 L    t        j                  dt        z  t        | d         S )Nz(%s)r   )resub
PERCENT_rerr   r_   s    r   r`   r`      s    "&&*)<j!A$"O r   	localnamez_:[0-9z](?:[\.z]*[c                 8    t        j                  | d   dd        S )Nr   r/   r   rF   r_   s    r   r`   r`      s    &,,qtABx*@ r   z0-9][u   0-9·̀-ͯ‿-⁀]*?$@z[a-zA-Z]+(?:-[a-zA-Z0-9]+)*z[0-9]+c                 f    t        j                  | d   t         j                  j                        S Nr   r   r   r   XSDintegerr_   s    r   r`   r`   
      !vzz?Q?Q!R r   z[eE][+-]?[0-9]+z[0-9]*\.[0-9]+c                 f    t        j                  | d   t         j                  j                        S r~   )r   r   r   decimalr_   s    r   r`   r`     r   r   z/[0-9]+\.[0-9]*%(e)s|\.([0-9])+%(e)s|[0-9]+%(e)srH   c                 f    t        j                  | d   t         j                  j                        S r~   )r   r   r   doubler_   s    r   r`   r`     s    qtfjj>O>O P r   +c                 l    t        j                  d| d   z   t         j                  j                        S )Nr   r   r   r   r_   s    r   r`   r`     s#    fnnS1Q4Z&**2D2DE r   -c                     t        | d         S r]   r   r_   s    r   r`   r`   (      #ad) r   c                     t        | d         S r]   r   r_   s    r   r`   r`   ,  r   r   c                     t        | d         S r]   r   r_   s    r   r`   r`   0  s    QqT r   z)'''((?:'|'')?(?:[^'\\]|\\['ntbrf\\]))*'''c                 J    t        j                  t        | d   dd             S Nr   r.   r*   r   r   r   r_   s    r   r`   r`   ;      fnn01a<= r   z+"""(?:(?:"|"")?(?:[^"\\]|\\["ntbrf\\]))*"""c                 J    t        j                  t        | d   dd             S r   r   r_   s    r   r`   r`   C  r   r   z#'(?:[^'\n\r\\]|\\['ntbrf\\])*'(?!')c                 J    t        j                  t        | d   dd             S Nr   r   r   r_   s    r   r`   r`   L  r   r   z#"(?:[^"\n\r\\]|\\["ntbrf\\])*"(?!")c                 J    t        j                  t        | d   dd             S r   r   r_   s    r   r`   r`   U  r   r   c                 6    t         j                  j                  S N)r   rL   rO   r_   s    r   r`   r`   Z  s    VZZ^^ r   ]c                 *    t        j                         S r   ry   r_   s    r   r`   r`   a  s    flln r   ac                 6    t         j                  j                  S r   )r   rL   typer_   s    r   r`   r`   e  s    6::?? r   BaseBASEiri
PrefixDeclPREFIXc                 F    t         j                  j                  | d         S r]   )r   termVariabler_   s    r   r`   r`   u  s    V[[11!A$7 r   pnamer   stringr    z^^r   truec                  ,    t        j                  d      S )NTr!   rW   r   r   r`   r`     s    t8L r   falsec                  ,    t        j                  d      S )NFr!   rW   r   r   r`   r`     s    . r   GRAPHgraphiriDEFAULTNAMEDALLgraphUNDEF*InversePath^PathNegatedPropertySetpart!DistinctPathDISTINCTPathEltmodPathEltOrInversePathSequence/PathAlternativer)   r,   triplesr-   QuadsNotTriplesr   {}QuadsquadsNotTriplesquadsMinusGraphPatternMINUSGroupOrUnionGraphPatternUNIONBuiltin_REGEXREGEXtextpatternrc   Builtin_SUBSTRSUBSTRargstartlengthBuiltin_REPLACEREPLACEreplacementBuiltin_EXISTSEXISTSBuiltin_NOTEXISTSNOTdistinctvarsAggregate_CountCOUNTAggregate_SumSUMAggregate_MinMINAggregate_MaxMAXAggregate_AvgAVGAggregate_SampleSAMPLEAggregate_GroupConcatGROUP_CONCAT	SEPARATOR=	separatorBuiltin_STRSTRBuiltin_LANGLANGBuiltin_LANGMATCHESLANGMATCHESarg1arg2Builtin_DATATYPEDATATYPEBuiltin_BOUNDBOUNDBuiltin_IRIIRIBuiltin_URIURIBuiltin_BNODEBNODEBuiltin_RANDRANDBuiltin_ABSABSBuiltin_CEILCEILBuiltin_FLOORFLOORBuiltin_ROUNDROUNDBuiltin_CONCATCONCATBuiltin_STRLENSTRLENBuiltin_UCASEUCASEBuiltin_LCASELCASEBuiltin_ENCODE_FOR_URIENCODE_FOR_URIBuiltin_CONTAINSCONTAINSBuiltin_STRSTARTS	STRSTARTSBuiltin_STRENDSSTRENDSBuiltin_STRBEFORE	STRBEFOREBuiltin_STRAFTERSTRAFTERBuiltin_YEARYEARBuiltin_MONTHMONTHBuiltin_DAYDAYBuiltin_HOURSHOURSBuiltin_MINUTESMINUTESBuiltin_SECONDSSECONDSBuiltin_TIMEZONETIMEZONE
Builtin_TZTZBuiltin_NOWNOWBuiltin_UUIDUUIDBuiltin_STRUUIDSTRUUIDBuiltin_MD5MD5Builtin_SHA1SHA1Builtin_SHA256SHA256Builtin_SHA384SHA384Builtin_SHA512SHA512Builtin_COALESCECOALESCE
Builtin_IFIFarg3Builtin_STRLANGSTRLANGBuiltin_STRDTSTRDTBuiltin_sameTermsameTermBuiltin_isIRIisIRIBuiltin_isURIisURIBuiltin_isBLANKisBLANKBuiltin_isLITERAL	isLITERALBuiltin_isNUMERIC	isNUMERICexprFunctionUnaryNot	UnaryPlus
UnaryMinusMultiplicativeExpressionoprP   AdditiveExpressionRelationalExpressionz!=z<=z>=IN )adjacent
joinStringConditionalAndExpressionz&&ConditionalOrExpressionz||FilterFILTERnamedDatasetClauseFROMdefaultGroupAsASvarGroupClauseGROUPBY	conditionsilentSILENTLoadLOADINTOClearCLEARDropDROPCreateCREATEAddADDTOMoveMOVECopyCOPY
InsertDataINSERTDATA
DeleteDataDELETEDeleteWhereWHEREDeleteClauseInsertClauseUsingClauseUSINGModifyWITH
withClausedeleteinsertusingwherevaluevaluesClauseValuesClauseVALUEStemplateOptionalGraphPatternOPTIONALGraphGraphPatternServiceGraphPatternSERVICEBindBIND
InlineDataGroupGraphPatternSubTriplesBlockHavingClauseHAVINGOrderConditionorderASCDESCOrderClauseORDERLIMITlimitOFFSEToffsetLimitOffsetClausesgroupbyhavingorderbylimitoffsetSELECTmodifierREDUCED
projectionevar	SubSelectSelectQuerydatasetClauseConstructQuery	CONSTRUCTFakeGroupGraphPattenAskQueryASKDescribeQueryDESCRIBEprologuerequestUpdate#z \\u([0-9a-f]{4}(?:[0-9a-f]{4})?)c                 4    d }t         j                  ||       S )a0  
    The syntax of the SPARQL Query Language is expressed over code points in Unicode [UNICODE]. The encoding is always UTF-8 [RFC3629].
    Unicode code points may also be expressed using an \ uXXXX (U+0 to U+FFFF) or \ UXXXXXXXX syntax (for U+10000 onwards) where X is a hexadecimal digit [0-9A-F]
    c                 r    	 t        t        | j                  d      d            S #  t        d| z         xY w)Nr   rm   zInvalid unicode code point: )rn   ro   rp   rG   )ms    r   expandz$expandUnicodeEscapes.<locals>.expand  s;    	@s1771:r*++	@:Q>??s   #& 6)expandUnicodeEscapes_reru   )qr  s     r   expandUnicodeEscapesr    s    @ #&&vq11r   c                     t        | d      r| j                         } t        | t              r| j	                  d      } t        |       } t        j                  | d      S )Nreadutf-8TparseAll)hasattrr  r7   bytesdecoder  QueryparseStringr  s    r   
parseQueryr    sO    q&FFH!UHHWQAQ..r   c                     t        | d      r| j                         } t        | t              r| j	                  d      } t        |       } t        j                  | d      d   S )Nr  r  Tr  r   )r  r  r7   r  r  r  
UpdateUnitr  r  s    r   parseUpdater    sT    q&FFH!UHHWQA!!!d!3A66r   __main__Tz
Syntax Tree:
($  __doc__sysrt   	pyparsingr   r   r   r   r   r   r	   r
   r   r   r   r   r   r   Keywordparserutilsr   r   r   rU   r   r[  rdflib.compatr   r   r1   r   r$   r&   rB   rI   rS   joinrangeIRIREFsetParseAction
maxunicodePN_CHARS_BASE_rePN_CHARS_U_rePN_CHARS_reU	PN_PREFIXleaveWhitespacePNAME_NSPN_LOCAL_ESC_rerv   PLX_redictXUNICODEPN_LOCALrr   PNAME_LNBLANK_NODE_LABELVARNAMEVAR1VAR2LANGTAGINTEGEREXPONENT_reDECIMALDOUBLEcopyINTEGER_POSITIVEDECIMAL_POSITIVEDOUBLE_POSITIVEINTEGER_NEGATIVEDECIMAL_NEGATIVEDOUBLE_NEGATIVESTRING_LITERAL_LONG1STRING_LITERAL_LONG2STRING_LITERAL1STRING_LITERAL2NILANONABaseDeclr   PrologueVarPrefixedNamer   String
RDFLiteralNumericLiteralPositiveNumericLiteralNegativeNumericLiteralUnsignedNumericLiteralBooleanLiteral	BlankNode	GraphTerm	VarOrTermVarOrIriGraphRefGraphRefAllGraphOrDefaultDataBlockValueVerb
VerbSimpleIntegerTriplesNodeTriplesNodePath	GraphNodeGraphNodePathPathModPathOneInPropertySetPathr   PathPrimaryr   r   r   r   VerbPath
ObjectPathObjectListPathGroupGraphPattern
CollectionCollectionPathObject
ObjectListPropertyListPathNotEmptyPropertyListPathPropertyListNotEmptyPropertyListBlankNodePropertyListBlankNodePropertyListPathTriplesSameSubjectTriplesTemplater   r   QuadPatternQuadDataTriplesSameSubjectPathr  r   r   
ExpressionExpressionListRegexExpression	setEvalFnr   r   SubstringExpressionr   StrReplaceExpressionr   
ExistsFuncNotExistsFunc	_Distinct_AggregateParams	Aggregater   r   r   r   r   r   r   r  r  r  r  r
  r  r  r  r  r  r  r  r  r  r  r   r"  r$  r&  r(  r*  r,  r.  r0  r2  r4  r6  r8  r:  r<  r>  r@  rB  rE  rG  rI  rK  rO  rQ  rS  BuiltInCallArgListrV  iriOrFunctionFunctionCallBrackettedExpressionPrimaryExpressionrW  rX  rY  UnaryExpressionrZ  r\  NumericExpressionr]  ValueLogicalrb  rc  
Constraintrd  SourceSelectorDefaultGraphClauseNamedGraphClauserg  GroupConditionrm  _Silentrs  rv  rx  rz  r|  r  r  r  r  r  r  r  r  r  Update1InlineDataOneVarInlineDataFull	DataBlockr  ConstructTriplesConstructTemplater  r  r  r  r  GraphPatternNotTriplesr  HavingConditionr  r  r  LimitClauseOffsetClauser  SolutionModifierSelectClauseWhereClauser  r  r  r  r  r  r  r  	QueryUnitignorecompileIr  r  r  r  __name__r  argvr  r2   errlinecolumnrW   r   r   <module>rp     sD/    	    1 0 /  - 
?372j"> 
SM"'')Kr)K"KKLMsm

   3 4 >>V" o D && 7F /kJRTRVRV	
 E(I./(3-2O2O2QQ 5 

 &z	2 6 mkvFG $$
, 	  O P eK)A)A)CDD $1;L
$$     @ A 9FV
$$ x}w&' x}w&' (3-%(E"FF
G 	
   R S   !
"   R S 
AS+DVV	W   P Q C=7<<>#A#A#CC    E
 C=7<<>#A#A#CC  3-&++-"?"?"AA C=7<<>#A#A#CC     3 4 C=7<<>#A#A#CC     3 4 3-&++-"?"?"AA   2 3 NO   # #= PQ   # #= ERTTR   = ERTTR   =
 clS   + , s|c   , - CL   * + %v*>>? , 1H <uUF?S ST
 Hz123 Tk   7 8 GX01 | 
 4	4	F	X 	(Ffg--/0
$-
'
'
)E*c,B,R,R,T
T	U
 )+;;>NN  )+;;>NN   ')G3  336LL 
 //0LMPWQ../0
 t#	 *~->JSP	 )O	 9 7eJ44 J	*+,J()* J'(  7GI$67(G;gs; 
 z!N2^CggFVV !| 
  i) #	 O+ #,
s
" QwmSC!G_!EE y f*+	&./
S9V-ABB
C	D
 


	  sm,,- smdXc]*+ >7:.4uVT7JJSPQ	R  	&+%w7N7N7P*Q!RR Xc]Tfg..   
 f&'y)9::;< fl#jy7V1V&WW    
 jz)9:: I  c]Yy11HSMA
 
  * + #=!99HSMI   . / 
 jv..
 
xJ!6. HIIJK  45  j(:cHTJEV<W6W+XX  ,- hsm.BBXc]RS   $ $%7 8 "SM,,x}<   ( (); < 
22 2 N%>> > !55l8RR   ! !- 0 I'9:ZSMHYy2DEFF> 
 GuVX..4x7PPSVV 	_#_5
8C=
!	"
?
#	$	 E'5))C/ w&&, ((?=M+MM   % %m 4 y 9&<=SMH\**A   )E';L,MM 
  g()!Ig7H$IIJK  Y
 uXc]]:-FFRUVWW G	
FJ  

 Iz"	#
 sU7J//01 

	   "** + H	
E: 

 GZ 	!
 sU8Z0012 

	 )B  I	
E: 

 Iz"	#
 

 M:&' sU7J//01 

 )B  gh'%9J*KK)B 
 ENWX&&w8I)JJ )B  WZ()	z955fj8QQTWW  	
	

I
&	' j(
)	* 		 ?GEN-==>? ?GEN-==>	? ?GEN-==>
? ?GEN-==>? wx03CCDE 
	

I
&	' 

#	$ 3--3eK6PP
Q		R
 	 
d 
wu~+eE:.FFLi  #-eZ0HH3Ni ! 
	


#	$ 	 

#		$
 	 i&&'(  GJ/#5eZ8PPSVVi##$%%& ?GG,s2U5#5FFLMWW
', wu~+eE:.FFLi1 2 wu~+eE:.FFLi7 8 )S5
3K-Kc-QTW-WXi  !="> >76?S01;;BOOL?M@ wu~+eE:.FFLiE" F #-eZ0HH3Ni K%!L )C/%z2JJSPi  !Q("R )C/%z2JJSPi  !W+"X '(+eE>.JJi!!"].#^ _/` '(+c1E%4LLsRi!!"e2#f g3h )C/%z2JJSPi  !m6"n )C/%z2JJSPi  !s9"t   !C'%z*BBSH i))*{=+| 

	


#	$ 	 

#		$
 	 i##$MF%N 
	


#	$ 	 

#		$
 	 i$$%_O&` 	
	


#	$ 	 

#		$
 	 i""#qX$r 
	


#	$ 	 

#		$
 	 i$$%Ca&D 

	


#	$ 	 

#		$
 	 i##$Uj%V #-eZ0HH3Ni [m!\ )C/%z2JJSPi  !ap"b wu~+eE:.FFLigs h )C/%z2JJSPi  !mv"n 79-3eE:6NNQTTi""#sy$t 79-3eE:6NNQTTi""#y|$z GJ/#5eZ8PPSVVi##$%@ gdmc)E%,DDsJiEBF ='%.3./99"..IGCJH >76?S01;;BOOLIDMJ gi0367AA"BTBTUKEVL wu~+eE:.FFLiQH R #-eZ0HH3Ni WK!X '(+c1E%4LLsRi!!"]N#^ '(+c1E%4LLsRi!!"cQ#d '(+c1E%4LLsRi!!"iT#j GJ/%~2NNi##$oW%p 
	


#	$ 	 

#		$
 	 

#	$ 	
 iEbF 	
	


#	$ 	 

#		$
 	 i""#Wk$X 
	


#	$ 	 

#		$
 	 i  !it"j 

	


#	$ 	 

#		$
 	 i##${}%| )C/%z2JJSPi  !A@"B )C/%z2JJSPi  !GC"H 79-3eE:6NNQTTi""#MF$N W[1C7%z:RRUXXi$$%SI&T W[1C7%z:RRUXXi$$%YL&Z [M\ ]N^ _O j 	J	"#Ifj123 


  	U5#&01;;BKKH
 JeS 1G ;<FFr{{S  }z1HSMA    	
  

  	S5):;;<FFr{{S
;eF,=>>?II",,WX
<uV->??@JJ

    	&/"$y/BB
D#
7O!D
D	E )B''( $ 	&*+$y2JKK
D#
74L!M
M	N )B!!"  '  	&#$dC5*;<<
d
eG->?
?	@
c
U7,=>
>	? c
U7,=>
>	? d
eG->?
?		@
 d
eG->?
?	@ gdm
$uWn'E
E	F GENWT]2UsS
 
(	)	)" )B##$# * $  	&,*TIg|4T-T"UU )B''(  	&*+	'+CDDEF )B&&'	  & &
 "K/,>
 
h)E&*,EE	F  $  7#eG^&DD  FOuY(:;>NNO 



#	$
74=5#44
5	6 	 
	
  Gdm	+~678 578#45
6 
FOE3 wv)*+ 	Wgg&0;>? FGFOg-;< 
h)G3h>	? 	75>G#n4wt}D~U
 
GFOg%6FW
 
GFOg%6FW
 , 1GFO Ch NO
 , 1GFO Ch NO
 ='("3gg6F"F"TU NGH$5$CD NGH$5$CD Gi-0@5RUCV0VVW 
WV_u\3778h%x1N(OO
,
'	(
 7K012 g G&'(

 	
 

 	
     	 
 " eSC*Yw-O"PPSVV  	3IeS122S88	
(3-*^"<<x}LsRS	
 

  ~-	 	.$~wx/@9/LMN 9  Yz+=>SMH-..B   
 SMH-=$>>#N  GJ/%AR2SS 
 GuVX..w@Q1RR  IFH G&'(  
FO	
FJ  dm E3	
 

 , 1I =>
   	
     YvtNLABC&01
3-	
9VT.,%GH
I	J   H	)K"IJJ 	'75>GFO34F()*FJ$%& Gdm	+~678 gw!88 x 57#;; (<((<(;:O+OO  U9k*+uX|,-.uY,-. u]$6789  HuZ!4wy7I!IJKL 	%%
34!$-(  ,- 	
	
  !	 2 ww'(5:K+LL +.>>M	
 hsmy3G'GH8TW=X X  ?M:;<  	 K
Y>
?	@
	 	 		
 Y>
?
'

 *fd>?&KL

   	8 ENOZ678  	 J5(+,s24OZ678 { 	
  
 9Z*Xi!HS6\$::.   	K.0=@8KL (F#
 	 	  z! " 
  #
" # %"**%HPRPTPTU 2/7 zEchhqk* !a   chhcSZZ!^$s*+c

s    S6BS> S>BUT>BU	U	BU