ÿØÿàJFIFÿþ ÿÛC       ÿÛC ÿÀÿÄÿÄ"#QrÿÄÿÄ&1!A"2qQaáÿÚ ?Øy,æ/3JæÝ¹È߲؋5êXw²±ÉyˆR”¾I0ó2—PI¾IÌÚiMö¯–þrìN&"KgX:Šíµ•nTJnLK„…@!‰-ý ùúmë;ºgµŒ&ó±hw’¯Õ@”Ü— 9ñ-ë.²1<yà‚¹ïQÐU„ہ?.’¦èûbß±©Ö«Âw*VŒ) `$‰bØÔŸ’ëXÖ-ËTÜíGÚ3ð«g Ÿ§¯—Jx„–’U/ÂÅv_s(Hÿ@TñJÑãõçn­‚!ÈgfbÓc­:él[ðQe 9ÀPLbÃãCµm[5¿ç'ªjglå‡Ûí_§Úõl-;"PkÞÞÁQâ¼_Ñ^¢SŸx?"¸¦ùY騐ÒOÈ q’`~~ÚtËU¹CڒêV  I1Áß_ÿÙ ]c@sIddlmZmZddlZddlZddlZddlmZddlm Z m Z e ddgZ e Z ejZdefdYZd efd YZd efd YZd efdYZdefdYZdefdYZdefdYZe e dZeZedZdS(i(t defaultdicttdequeN(t_utils(tPY3t iteritemstanyOftoneOft_Errorc BseZed d d eeed d d ZdZdZerKeZn dZe dZ e dZ e dZ dZdZRS( c Cstt|j||||||||| | ||_t||_|_t| |_|_t ||_ ||_ |_ ||_ ||_||_||_| |_x|D]} || _qWdS(N(tsuperRt__init__tmessageRtpatht relative_patht schema_pathtrelative_schema_pathtlisttcontexttcauset __cause__t validatortvalidator_valuetinstancetschematparent( tselfR RR RRRRRR Rterror((sF/opt/alt/python27/lib/python2.7/site-packages/jsonschema/exceptions.pyR s.        cCsd|jj|jfS(Ns<%s: %r>(t __class__t__name__R (R((sF/opt/alt/python27/lib/python2.7/site-packages/jsonschema/exceptions.pyt__repr__8scCs|j|j|j|jf}td|Dr;|jStj|jdd}tj|jdd}|jtj dj |jt j t |jd t j|t j |jt j|fS(Ncss|]}|tkVqdS(N(t_unset(t.0tm((sF/opt/alt/python27/lib/python2.7/site-packages/jsonschema/exceptions.pys ?stwidthiHsv Failed validating %r in schema%s: %s On instance%s: %s i(RRRRtanyR tpprinttpformatttextwraptdedenttrstripRtformat_as_indexRRtindentR (Rtessential_for_verbosetpschemat pinstance((sF/opt/alt/python27/lib/python2.7/site-packages/jsonschema/exceptions.pyt __unicode__;s   cCst|jdS(Nsutf-8(tunicodetencode(R((sF/opt/alt/python27/lib/python2.7/site-packages/jsonschema/exceptions.pyt__str__WscCs||jS(N(t _contents(tclstother((sF/opt/alt/python27/lib/python2.7/site-packages/jsonschema/exceptions.pyt create_fromZscCsE|j}|dkr|jSt|j}|jt|j|S(N(RtNoneR Rt extendlefttreversedt absolute_path(RRR ((sF/opt/alt/python27/lib/python2.7/site-packages/jsonschema/exceptions.pyR7^s   cCsE|j}|dkr|jSt|j}|jt|j|S(N(RR4RRR5R6tabsolute_schema_path(RRR ((sF/opt/alt/python27/lib/python2.7/site-packages/jsonschema/exceptions.pyR8hs   cKsIxBt|D]4\}}t||tkr t|||q q WdS(N(RtgetattrRtsetattr(Rtkwargstktv((sF/opt/alt/python27/lib/python2.7/site-packages/jsonschema/exceptions.pyt_setrsc s d }tfd |DS( NR RRRRR R RRRc3s$|]}|t|fVqdS(N(R9(Rtattr(R(sF/opt/alt/python27/lib/python2.7/site-packages/jsonschema/exceptions.pys |s( R RRRRR R RRR(tdict(Rtattrs((RsF/opt/alt/python27/lib/python2.7/site-packages/jsonschema/exceptions.pyR0ws(N(((Rt __module__RR4R RR,RR/t classmethodR3tpropertyR7R8R>R0(((sF/opt/alt/python27/lib/python2.7/site-packages/jsonschema/exceptions.pyRs&       tValidationErrorcBseZRS((RRB(((sF/opt/alt/python27/lib/python2.7/site-packages/jsonschema/exceptions.pyREst SchemaErrorcBseZRS((RRB(((sF/opt/alt/python27/lib/python2.7/site-packages/jsonschema/exceptions.pyRFstRefResolutionErrorcBseZRS((RRB(((sF/opt/alt/python27/lib/python2.7/site-packages/jsonschema/exceptions.pyRGst UnknownTypecBs2eZdZdZer'eZn dZRS(cCs||_||_||_dS(N(ttypeRR(RRIRR((sF/opt/alt/python27/lib/python2.7/site-packages/jsonschema/exceptions.pyR s  cCsetj|jdd}tj|jdd}tjdj|jtj |tj |fS(NR iHs Unknown type %r for validator with schema: %s While checking instance: %s ( R"R#RRR$R%R&RIRR((RR*R+((sF/opt/alt/python27/lib/python2.7/site-packages/jsonschema/exceptions.pyR,s  cCst|jdS(Nsutf-8(R-R.(R((sF/opt/alt/python27/lib/python2.7/site-packages/jsonschema/exceptions.pyR/s(RRBR R,RR/(((sF/opt/alt/python27/lib/python2.7/site-packages/jsonschema/exceptions.pyRHs    t FormatErrorcBs5eZddZdZer*eZn dZRS(cCs6tt|j||||_||_|_dS(N(RRJR R RR(RR R((sF/opt/alt/python27/lib/python2.7/site-packages/jsonschema/exceptions.pyR s cCs|jS(N(R (R((sF/opt/alt/python27/lib/python2.7/site-packages/jsonschema/exceptions.pyR,scCs|jjdS(Nsutf-8(R R.(R((sF/opt/alt/python27/lib/python2.7/site-packages/jsonschema/exceptions.pyR/sN(RRBR4R R,RR/(((sF/opt/alt/python27/lib/python2.7/site-packages/jsonschema/exceptions.pyRJs    t ErrorTreecBseeZdZeZd dZdZdZdZdZ dZ dZ e dZ RS( sG ErrorTrees make it easier to check which validations failed. cCspi|_t|j|_xN|D]F}|}x|jD]}||}q8W||j|j<|j|_q"WdS(N(terrorsRRR0R RRt _instance(RRLRt containertelement((sF/opt/alt/python27/lib/python2.7/site-packages/jsonschema/exceptions.pyR s  cCs ||jkS(sD Check whether ``instance[index]`` has any errors. (R0(Rtindex((sF/opt/alt/python27/lib/python2.7/site-packages/jsonschema/exceptions.pyt __contains__scCs4|jtk r)||kr)|j|n|j|S(sY Retrieve the child tree one level down at the given ``index``. If the index is not in the instance that this tree corresponds to and is not known by this tree, whatever error would be raised by ``instance.__getitem__`` will be propagated (usually this is some subclass of :class:`LookupError`. (RMRR0(RRP((sF/opt/alt/python27/lib/python2.7/site-packages/jsonschema/exceptions.pyt __getitem__s cCs||j|(RRtlen(R((sF/opt/alt/python27/lib/python2.7/site-packages/jsonschema/exceptions.pyRscCs0tdt|jD}t|j|S(sU The total number of errors in the entire tree, including children. css!|]\}}t|VqdS(N(RY(Rt_ttree((sF/opt/alt/python27/lib/python2.7/site-packages/jsonschema/exceptions.pys s(tsumRR0RYRL(Rt child_errors((sF/opt/alt/python27/lib/python2.7/site-packages/jsonschema/exceptions.pyRWs((RRBt__doc__RRMR RQRRRTRVRXRRDRW(((sF/opt/alt/python27/lib/python2.7/site-packages/jsonschema/exceptions.pyRKs      csfd}|S(Ncs,|j}t|j |k|kfS(N(RRYR (RR(tstrongtweak(sF/opt/alt/python27/lib/python2.7/site-packages/jsonschema/exceptions.pyt relevances ((R`R_Ra((R_R`sF/opt/alt/python27/lib/python2.7/site-packages/jsonschema/exceptions.pyt by_relevancescCsut|}t|d}|dkr+dSttj|g|d|}x"|jrpt|jd|}qOW|S(Ntkey(RUtnextR4tmaxt itertoolstchainRtmin(RLRctbest((sF/opt/alt/python27/lib/python2.7/site-packages/jsonschema/exceptions.pyt best_match s  ! (t collectionsRRRfR"R$t jsonschemaRtjsonschema.compatRRt frozensett WEAK_MATCHEStSTRONG_MATCHEStUnsetRt ExceptionRRERFRGRHRJtobjectRKRbRaRj(((sF/opt/alt/python27/lib/python2.7/site-packages/jsonschema/exceptions.pyts$     oL