
    i                    I   U d Z ddlmZ ddlZddlZddl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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Zdd	lmZ d
dlm Z! d
dl"m#Z#m$Z$m%Z%m&Z& dZ'ddZ(ddZ)ddZ*ddZ+ddZ,ddZ- e ed       eddj]                  d  e/d      D              z        z    ed      z         Z0e0jc                  d        ejd                  dk(  rdZ3ndZ3de3z   Z4d e4z   Z5 ed!e3d"e5d#e5d$ejl                  %      Z7 e	 e%d&e7             ed'      jq                         z   Z9d(Z:d)Z;d*e:d+e;d,Z< ed- e=e4e5e<.      z  ej|                  ej~                  z  %      Z@e9 e%d/e@jq                               z   ZA ed0e4d1e5d2e5d$ejl                  %      ZBeBjc                  d3         ed!e4d4e4d5ejl                  %      ZC e ed6      eCz         ZD e ed7      eCz         ZE e ed8       ed9      z         ZF ed:      ZGeGjc                  d;        d<ZH ed=      ZIeIjc                  d>         ed?d@eHiz        ZJeJjc                  dA         edB      eGj                         jq                         z   ZLeLjc                  dC         edB      eIj                         jq                         z   ZM edB      eJj                         jq                         z   ZN edD      eGj                         jq                         z   ZOeOjc                  dE         edD      eIj                         jq                         z   ZPePjc                  dF         edD      eJj                         jq                         z   ZQeQjc                  dG         edH      ZReRjc                  dI         edJ      ZSeSjc                  dK         edLejl                  %      ZTeTjc                  dM         edNejl                  %      ZUeUjc                  dO         ed*      d,z   ZVeVjc                  dP         ed!      dQz   ZWeWjc                  dR         edS      ZXeXjc                  dT         e#dU edV       e%dWe0      z         ZY e#dX edY      e9z    e%dWe0      z         ZZ e eeYeZz              Z[eDeEz  Z\e\jc                  dZ         e#d[eAe9z        Z]e0e]z  Z^eReSz  eTz  eUz  Z_ e#d e%d\e_       e	 e%d]eFjq                                ed^      jq                          e%d_e^      jq                         z   z        z         Z`eNeMz  eLz  ZaeQePz  eOz  ZbeJeIz  eGz  Zceceaz  ebz  Zd ed`      jc                  da        edb      jc                  dc       z  ZeeBeWz  Zfe^e`z  edz  eez  efz  eVz  Zge\egz  Zhe\e^z  Zi edd       e%dee^      z   Zjej e%de edf            z   e%de edg            z   e%de edh            z  Zk e&di edf             e	 edd             e&die^      z   z  Zle^e`z  edz  eez   edj      z  ZmeieXz  Zne\ZoeGZp e       Zq e       Zreheqz  Zseherz  Zt ed6      dkz  dBz  Zue^eXz   e#dldme^eXz  z         z  Zv e       Zw e#dn e&doev      d* e	 e&doev       ed+ e&doev      z         z         z   d,z   z        Zxe^eXz   edp      exz   z   ed*      ewz    ed,      z   z   e#dq edr      d*z    e%doew      z   d,z         z  Zy e#ds e%doey       e	 e%dteujq                                     z         Zzez edm       e#du e%doez            z   z  Z{ e#dv e&doe{       edw e&doe{      z         z         Z| e#dx e&doe|       ed+ e&doe|      z         z         Z}ewe}z  ZwewZ~etZe edyez         z   Z e       Z ed*       ees      z    ed,      z   Zejc                  e-        ed*       eet      z    ed,      z   Zejc                  e-       esZe edyez         z   Ze~eoz  ez    edz e	e~eoz  ez         z         z   Z e	e      Zenez    edz e	enez         z         z   Z e	e      Z e ed!      ez    edQ      z         Zejc                  e,        e ed!      ez    edQ      z         Zejc                  e,       eqeez  z  Zqereez  z  Zrehez   eqez   z  Zejc                  e+        e&d{e       e ed|       e	 e&d{e            z         z   Z e#d} edd       e%d~ei      z   dz    e	e      z   dz         Z e#d e	e       e e&de       e	 ed|            z    e	e      z         z         Zd e%de      z   dz   Zd e%de      z   dz   Zehez   erez   z  Zejc                  e+        e       Ze e&d{e       e	 ed|       e	e      z         z   z  Z e#d ed       e%die      z         Z e#d e&die       e ed       e&die      z         z         Z e       ZeV e ed*       ee      z    ed,      z         z  Z e#d ed      d*z    e%de      z   dyz    e%de      z    e	dy e%de      z         z   d,z         Zej3                  e!j4                          e#d ed      d*z    e%de      z   dyz    e%de      z    e	dy e%de      z         z   d,z         j3                  e!j6                        Z e#d ed      d*z    e%de      z   dyz    e%de      z   dyz    e%de      z    e	dy e%de      z         z   d,z         j3                  e!j:                        Z e#d ed       e%die      z         j3                  e!j>                        Z e#d ed       ed      z    e%die      z         j3                  e!j>                        Z e	 edr            Zd* e%de      z    e%de      z   d,z   Z e#d ed      d*z    e%de      z    e%ddkez        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	dz ed      z   dz    e%de_      z         z   d,z         z  Ze e#d ed      d*z    e%de      z   d,z         j3                  e!jJ                        z   e#d ed      d*z    e%de      z   d,z         j3                  e!jL                        z   e#d ed      d*z    e%de      z   dyz    e%de      z   d,z         j3                  e!jN                        z   e#d ed      d*z    e%de      z   d,z         j3                  e!jP                        z   e#d ed      d*z    e%de\      z   d,z         j3                  e!jR                        z   e#d ed      d*z    e%de      z   d,z         j3                  e!jT                        z   e#d ed      d*z    e%de      z   d,z         j3                  e!jT                        z   e#d ed      d* e%de      z   d,z   eVz  z         j3                  e!jV                        z   e#d ed      eVz         j3                  e!jX                        z   e#d ed      d*z    e%de      z   d,z         j3                  e!jZ                        z   e#d edë      d*z    e%de      z   d,z         j3                  e!j\                        z   e#d edū      d*z    e%de      z   d,z         j3                  e!j^                        z   e#d edǫ      d*z    e%de      z   d,z         j3                  e!j`                        z   e#d edɫ       e%de      z         j3                  e!jb                        z  ez   e#d ed˫      d*z    e%de      z   d,z         j3                  e!jd                        z  ez   e#d edͫ      d*z    e%de      z   d,z         j3                  e!jf                        z   e#d edϫ      d*z    e%de      z   d,z         j3                  e!jh                        z   e#d edѫ      d*z    e%de      z   d,z         j3                  e!jj                        z   e#d edӫ      d*z    e%de      z   dyz    e%de      z   d,z         j3                  e!jl                        z   e#d edի      d*z    e%de      z   dyz    e%de      z   d,z         j3                  e!jn                        z   e#d ed׫      d*z    e%de      z   dyz    e%de      z   d,z         j3                  e!jp                        z   e#d ed٫      d*z    e%de      z   dyz    e%de      z   d,z         j3                  e!jr                        z   e#d ed۫      d*z    e%de      z   dyz    e%de      z   d,z         j3                  e!jt                        z   e#d edݫ      d*z    e%de      z   d,z         j3                  e!jv                        z   e#d ed߫      d*z    e%de      z   d,z         j3                  e!jx                        z   e#d ed      d*z    e%de      z   d,z         j3                  e!jz                        z   e#d ed      d*z    e%de      z   d,z         j3                  e!j|                        z   e#d ed      d*z    e%de      z   d,z         j3                  e!j~                        z   e#d ed      d*z    e%de      z   d,z         j3                  e!j                        z   e#d ed      d*z    e%de      z   d,z         j3                  e!j                        z   e#d ed      d*z    e%de      z   d,z         j3                  e!j                        z   e#d ed      eVz         j3                  e!j                        z   e#d ed      eVz         j3                  e!j                        z   e#d ed      eVz         j3                  e!j                        z   e#d ed      d*z    e%de      z   d,z         j3                  e!j                        z   e#d ed      d*z    e%de      z   d,z         j3                  e!j                        z   e#d ed      d*z    e%de      z   d,z         j3                  e!j                        z   e#d ed      d*z    e%de      z   d,z         j3                  e!j                        z   e#d ed      d*z    e%de      z   d,z         j3                  e!j                        z   e#d ed       e%de      z         j3                  e!j                        z   e#d ed      d*z    e%de      z   dyz    e%de      z   dyz    e%d e      z   d,z         j3                  e!j                        z   e#d ed      d*z    e%de      z   dyz    e%de      z   d,z         j3                  e!j                        z   e#d ed      d*z    e%de      z   dyz    e%de      z   d,z         j3                  e!j                        z   e#d ed      d*z    e%de      z   dyz    e%de      z   d,z         j3                  e!j                        z   e#d ed      d*z    e%de      z   d,z         j3                  e!j                        z   e#d	 ed
      d*z    e%de      z   d,z         j3                  e!j                        z   e#d ed      d*z    e%de      z   d,z         j3                  e!j                        z   e#d ed      d*z    e%de      z   d,z         j3                  e!j                        z   e#d ed      d*z    e%de      z   d,z         j3                  e!j                        z  ez  ez  ez  ZeVd* e%de      z    e e&de            z   d,z   z  Z e#d e%dWe^      ez         j3                  e!j                        e^z  Z e#d e%dWe^      ez         j3                  e!j                        Z ed*      ez    ed,      z   Zeez  ez  e`z  edz  eez  e\z  Z e#ddp e%deګ      z         j3                  e!j                         e#ddB e%deګ      z         j3                  e!j                        z   e#ddD e%deګ      z         j3                  e!j                        z  ez  Z e#d e%deޫ       e e&ddk       e&deޫ      z    e&ddw       e&deޫ      z   z        z         j3                  e!j                        Z e#d e%de߫       e e&ddB       e&de߫      z    e&ddD       e&de߫      z   z        z         j3                  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         j3                  e!j                        ZeZ e#d! e%de       ed" e&de      z         z         j3                  e!j                        Z e#d# e%de       ed$ e&de      z         z         j3                  e!j                        Zeez  Zeez  ez  Z e#d% ed&       e%de      z         Ze^ZeZ edg       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-e\      z         z   d,z         z  e\z  Z e#d. ed/       ed0      z    e e&d1e            z         Z e	 e%d2 ed3                  Z e#d4 ed5      ez    e%dWe^      z    e	 ed6      ejz         z         Z e#d7 ed8      ez   ekz         Z e#d9 ed:      ez   ekz         Z e#d; ed<      ez   ejz         Z e#d= ed>      ez   elz    ed?      z   elz         Z e#d@ edA      ez   elz    ed?      z   elz         Z e#dB edC      ez   elz    ed?      z   elz         Z e#dD edE       edF      z   ez         Z e#dG edH       edF      z   ez         Z e#dI edH       edJ      z   ez         Z e#dK edH      ez         Z e#dL edE      ez         Z e#dM edN       e%d*e^       edg       e%d'e^      z   z  z         Z e#dO e	 edP       e%dQe^      z          e%dRe       e	 e%dSe            z    e%dSe      z  z    e e&dTe            z    edJ      z    e%dUe      z         Zeez  ez  ez  ez  ez  ez  ez  ez  ez  ez  Z e&d-e\      dz    e e&dVem            z   dz   ZeVd* e e&d-e\            z   d,z   z  dz    e e&dV e ed*       eem      z    ed,      z   eVz                    z   dz   Zeez  Z  e	 e%dW e#dX edY      e z                     Z e       Ze e&dZe       e	 ed|       e	e      z         z   z  Z ed       e	e      z    ed      z   Z e#d[ ed\       e%die      z         Z e#d] edd       e%d~ei      z    e%die      z         Z e#d^ ed_      ez    e%d~ei      z    e%die      z         Z e#d` eda      d*z    e%de      z    ed,      z    e%d-e\      z   d,z         Z e#db edY      e z         Zeez  ez  ez  ez  ez  ez  ez  Z	 e#dc e	 e&do e#dde                   e e&doe	       e	d|      z    e	 e&do e#dde                  z         z         Z
eZ e#de edf       e e&d1e            z         Z e#dg e%dh edi       edj      z         e%de٫      z    e%dee\z        z        Z e#dk edl       ed0      z    e e&d1e            z         Z edm       e%dneG      z   Z edo       e%dpeG      z   Z e#dqe e	e      z   e e	e      z   z        Z e	 e%dre             e	 e%dse            z    e	 e%dte            z    e	 e%due            z   Z edv       e	 e%dw edr       edx      z              z    e e&dy e#d e%d-e\       ed*       e%de      z    ed,      z    e%dze\      z   d,z   z                    dkz  z   Z e	 edJ             e%dUe      z   Z e#d{eez   ez   ez         Ze ed      ee
z  z    ed      z   z  Z e#d|e e e&d}e            z   ez   ez   ez         Z e#d~ ed      e e e&d}e            z   ez   ez   ez    e e&d}e             edJ      z   dz    e	 e%dU e#d e&do e#dde                              z   dz   ez   ez   z  z         Z e#d ed       e e&d}e            z   ez   ez   ez         Z e#d ed       e e&d-ei            dkz  z    e e&d}e            z    e	e      z   ez   ez         Z e       Ze e&de[       e	 e&de       e	dzez         z         z   z  Ze[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e"d<   ddZ#ddZ$ddZ%y(  z'
SPARQL 1.1 Parser

based on pyparsing
    )annotationsN)AnyBinaryIOList)Optional)TextIOTupleUnion)CaselessKeyword)CombineForwardGroupLiteral	OneOrMorer   ParseResultsRegexSuppress
ZeroOrMoredelimitedList
restOfLine)decodeUnicodeEscape   )	operators)Comp	CompValueParam	ParamListFliteralc                F    t        j                  |  | j                        S )Ndatatype)rdflibr   r!   )r   s    KC:\Projects\mas-dev\.venv\Lib\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+   1   s    >>%(q22r%   c                <    t        j                  | d   | d         S )Nr   r   r    r(   r)   s    r#   setDataTyper-   5   s    >>%(U1X66r%   c                   d\  }}	 g }t         rt        d|        t        |       }t        |       D ]S  \  }}|dk(  r|j	                  ||g       n|dk(  r:|dz   t        |       k(  s| |dz      dk(  s| |dz      dk(  rN|j                  |       nt        |t              rft        |      dz  dk(  r|j                  |d	          t        |      dkD  r||z  }|dz   |k  r| |dz      d
vr}|d	   d}}|j                  |d	          nat        |t              r||j                         z  }n=|dk7  r8|j                  |       t        |      dz  dk(  r|}nt        |      dz  dk(  r|}t         s?t        t        |      |       V 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
    )NNTerms,;r   .      r   )r2   r0   r1   N)indent)DEBUGprintlen	enumerateextendappend
isinstancelistr   asListjsondumps	traceback	print_exc)	r*   last_subjectlast_predicateresl_itr?   rA   s	            r#   expandTriplesrI   9   s   
 $. L.6'5!Ze$DAqCx

L.9:cq5CJ&%A,#*=q1uQTAT

<(At$ HqLQ&JJqt$q6A:1HCq52:%A, 7 #
 45Q4.LJJqt$A|,qxxz!c

1HqLQ&#$L#hlq(%&Nc#h"A %B $**S*+,
!s   E'F0 0?F0 0G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)r6   r7   r"   BNoder>   rI   	Exception)r*   es     r#   expandBNodeTriplesrP   x   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   CollectionOut)
r6   r7   r<   r=   r"   rM   RDFrestfirstnil)r*   rE   otherxbs        r#   expandCollectionr[      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 ).0rG   s     r#   	<genexpr>ra      s     )KA)a-s   !   >c                2    t        j                  | d         S Nr   )r"   URIRefrY   s    r#   <lambda>rh      s    ad 3r%   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PLX	localnamez_:[0-9z](?:[\.z]*[c                8    t        j                  | d   dd        S )Nr   r4   r"   rM   rg   s    r#   rh   rh      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integerrg   s    r#   rh   rh         !vzz?Q?Q!Rr%   z[eE][+-]?[0-9]+z[0-9]*\.[0-9]+c                f    t        j                  | d   t         j                  j                        S r{   )r"   r   r}   decimalrg   s    r#   rh   rh     r   r%   z/[0-9]+\.[0-9]*%(e)s|\.([0-9])+%(e)s|[0-9]+%(e)srO   c                f    t        j                  | d   t         j                  j                        S r{   )r"   r   r}   doublerg   s    r#   rh   rh     s    qtfjj>O>O Pr%   +c                l    t        j                  d| d   z   t         j                  j                        S )Nr   r   r    r|   rg   s    r#   rh   rh   $  s!    fnnS1Q4Z&**2D2DEr%   -c                    t        | d         S re   r$   rg   s    r#   rh   rh   /      #ad)r%   c                    t        | d         S re   r   rg   s    r#   rh   rh   3  r   r%   c                    t        | d         S re   r   rg   s    r#   rh   rh   7  s    QqTr%   z)'''((?:'|'')?(?:[^'\\]|\\['ntbrf\\]))*'''c                J    t        j                  t        | d   dd             S Nr   r3   rR   r"   r   r   rg   s    r#   rh   rh   B      fnn01a<=r%   z+"""(?:(?:"|"")?(?:[^"\\]|\\["ntbrf\\]))*"""c                J    t        j                  t        | d   dd             S r   r   rg   s    r#   rh   rh   J  r   r%   z#'(?:[^'\n\r\\]|\\['ntbrf\\])*'(?!')c                J    t        j                  t        | d   dd             S Nr   r   r   rg   s    r#   rh   rh   S  r   r%   z#"(?:[^"\n\r\\]|\\["ntbrf\\])*"(?!")c                J    t        j                  t        | d   dd             S r   r   rg   s    r#   rh   rh   \  r   r%   c                6    t         j                  j                  S N)r"   rT   rW   rg   s    r#   rh   rh   a  s    VZZ^^r%   ]c                *    t        j                         S r   rv   rg   s    r#   rh   rh   h  s
    fllnr%   ac                6    t         j                  j                  S r   )r"   rT   typerg   s    r#   rh   rh   l  s    6::??r%   BaseBASEiri
PrefixDeclPREFIXc                F    t         j                  j                  | d         S re   )r"   termVariablerg   s    r#   rh   rh   |  s    V[[11!A$7r%   pnamestringr'   z^^r!   truec                 ,    t        j                  d      S )NTr(   r_   r%   r#   rh   rh     s    t8Lr%   falsec                 ,    t        j                  d      S )NFr(   r_   r%   r#   rh   rh     s    .r%   GRAPHgraphiriDEFAULTNAMEDALLgraphUNDEF*InversePath^PathNegatedPropertySetpart!DistinctPathDISTINCTPathEltmodPathEltOrInversePathSequence/PathAlternativer0   r1   triplesr2   QuadsNotTriplesr   {}QuadsquadsNotTriplesquadsMinusGraphPatternMINUSGroupOrUnionGraphPatternUNIONBuiltin_REGEXREGEXtextpatternrk   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oprX   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})?)z
re.PatternexpandUnicodeEscapes_rec                6    d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                    	 t        t        | j                  d      d            S # t        t        f$ r#}t        d| j                  d      z         |d }~ww xY w)Nr      zInvalid unicode code point: )chrintgroup
ValueErrorOverflowError)mrO   s     r#   expandz$expandUnicodeEscapes.<locals>.expand  sT    	Qs1771:r*++M* 	Q;aggajHIqP	Qs   #& AAA)r  zre.Matchreturnstr)r  sub)qr  s     r#   expandUnicodeEscapesr    s    Q #&&vq11r%   c                    t        | d      r| j                         } t        | t              r| j	                  d      } t        |       } t        j                  | d      S )Nreadutf-8TparseAll)hasattrr  r<   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  r<   r  r  r  
UpdateUnitr  r  s    r#   parseUpdater    sT    q&FFH!UHHWQA!!!d!3A66r%   )r   rdflib.Literalr  r  )r*   zTuple[Any, OptionalType[str]]r  r  )r*   r   r  z	List[Any])r*   r   r  zList[List[Any]])r  r  r  r  )r  #Union[str, bytes, TextIO, BinaryIO]r  r   )r  r  r  r   (&  __doc__
__future__r   resystypingr   r   r   r   OptionalTyper   r	   r
   	pyparsingr   Keywordr   r   r   r   r   r   r   r   r   r   r   r"   rdflib.compatr   r]   r   rX  parserutilsr   r   r   r   r6   r$   r+   r-   rI   rP   r[   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_re
PERCENT_rePLX_redictXUNICODEPN_LOCAL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+  r-  r/  r1  r3  r5  r7  r9  r;  r=  r?  rB  rD  rF  rH  rL  rN  rP  BuiltInCallArgListrS  iriOrFunctionFunctionCallBrackettedExpressionPrimaryExpressionrT  rU  rV  UnaryExpressionrW  rY  NumericExpressionrZ  ValueLogicalr_  r`  
Constraintra  SourceSelectorDefaultGraphClauseNamedGraphClauserd  GroupConditionrj  _Silentrp  rs  ru  rw  ry  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  __annotations__r  r  r  r_   r%   r#   <module>rx     s.   # 	 
 & & + ' ' 0     -  : :
 	
?37<~"> 
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 $$
 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?M:;<  	 J5(+,s24?M:;< { 	
  
 9Z*Xi!HS6\$::.   	K.0=@8KL (F#
 	 	  z! " 
  #
" # '1bjj'rtt'  
2/7r%   