m =YEc@sdZddd!ZdZdkZdkZdkZdkZdkZdkZdkZdk Z dk Z dk Z dk Z dk Z dkZdkZdkZdkZdkZdklZdklZdklZdk lZlZd klZd klZd klZd k l!Z!l"Z"l#Z#l$Z$l%Z%l&Z&d k'l(Z(dk)l)Z)dk*l+Z+dZ,ydk-l-Z-dZ,Wn dZ,nXdk.l/Z/ei0djZ1e1o?y dk2Z2Wne3j onXdkZei4dZ5nddZ6dZ7dZ8dZ9hdddf<dddf<ddd f<d!d"d#f<d$d%d#f<d&d%d#f<d'd(d#f<d)dd*f<d+dd*f<d,d-d.f<d/d0d.f<d1d2d.f<d3d4d.f<d5d6d.f<d7d8d.f<d9d:d.f<d;dd<f<d=d>d?fdfZ?x(e>i@D]\ZAZBe?eBe>eAisR6(R6R7((RR@scCstii|id|S(t_create_DTMLDocumentRAN(RBRR7R>R6(R6R7((RRCscCstii|d|S(t _create_ImageRN(RBRR6R7(R6R7((RRDscCs7tdjot|d|Sntii|d|S(R;iRN(tITERATORS_PRESENTt StreamingFileR6R7RBRtFile(R6R7((RR;s cCst||ddS(NRs text/html(tZopePageTemplateR6R7(R6R7((Rt _create_ZPTsRGcCs2y$t|}t||||SWnnXdS(N(t_builtin_createRtfR:R6R7R3(RR6R7R3RK((RR5s  cCsyti|d}|| ||d}}t|tt|f}t||}t|di }|i i djot ||||SnWnnXdS(Nt.it createSelfR6R7(sidsfile(R trindexRRRt __import__tglobalstlocalstgetattrtim_funcRKt func_codet co_varnamesR:R6R7R3(RR6R7R3RKRR((RR8scCszylti|d}|| ||d}}t||}|}t||||}||_ |SWnnXdS(NRLi( R RNRRRt getObjectRKR:R6R7R3R t __factory(RR6R7R3RKRRR ((RR9 s  tWrappercBs&tZdZeZdZdZRS(s)Mix-in class used to save object changes.cCs#ti|iti}t|S(N(R2tstattselft _local_pathtST_MTIMERtDateTime(RZR((Rtbobobase_modification_time/scCs'|iidi}d|t|fS(Nis"<%s ObjectWrapper instance at %8X>(RZt __class__t __bases__RARR6(RZR((Rt__repr__3s(RAt __module__R=RR[R^Ra(((RRX+s  sdef %(name)s %(arglist)s: """Wrapper for the %(name)s method.""" r = apply(self.__class__.__bases__[-1].%(name)s, %(baseargs)s) try: _save_ob(self, self._local_path) except ValueError: pass return r cCsty t|SWnatj oUdt|fdY}t|dt|dt|d|t|<|SnXdS(Nt ObjectWrappercBstZRS(N(RARb(((RRcDst manage_editt manage_uploadtpt_edit(t _wrappersRRRXRct _wrap_method(RRc((Rt _get_wrapperAs     c Bssye|id|}Wnej o dSnX|i}e|i i |i i }|i pf}g}g}xGe|e|jo-|i|d|i|d|d=qxWxKee|D]7}|id|||| f|i||qWdei|dd}dei|dd}h}eee|Ue||||dS(Niis%s=%st(t,t)(RRRR`tnameRtAttributeErrorRSRKtlistRTRUt co_argcounttat func_defaultstdtarglisttbaseargstlenR%trangeRR R&t_wrapper_methodtvarsRPtsetattr( RRmRqRKRRRuRtRs((RRhKs.    cCs|i}|i}t|do5t|}|i}|i }|ii |nt|}||_||_ ||_|S(Nt __basicnew__( R R_RRAtnR Rit__dict__RsR{tupdateR3R[(R R3RR|Rs((RR:bs         cCs0t|d}|i|i|idS(Ntw(topenR3RKtwriteR R>tclose(R R3RK((Rt _save_DTMLqscCst|idoF|iitjo3t|d}|it |i|i nSt |idjot|d}nt|d}|i|i|i dS(NR_twbiR( R R RR_tPdataRR3RKRtstrRt find_binary(R R3RK((Rt _save_Filevs&cCsti|dS(N(R2tmkdirR3(R R3((Rt _save_Folderss DTML Methods DTML DocumenttFolders Page TemplatecCs<y"t|i}|||dSWntj onXdS(Ni(t _builtin_saveR t meta_typeRKR3R(R R3RK((Rt_save_builtin_obs   cCs#y|i|dSWnnXdS(Ni(R tsaveSelfR3(R R3((Rt_save_ob_with_functions  cCs)y|ii||dSWnnXdS(Ni(R RWtsaveR3(R R3((Rt_save_ob_with_factorys cCsbt||}|pt||}n|pt||}n|ptd|indS(NsCannot save files of type '%s'.(RR R3tsRRt TypeErrorR(R R3R((Rt_save_obscCsEti|ti}ttti|d }t ||_ dS(Ni( R2RYR3R\Rtapplyt TimeStampttimetgmtimetreprR t _p_serial(R R3R((Rt_set_timestampscCs=|tijp!|tijp|ddjodSndS(Nit_i(R6R2tcurdirtpardir(R6((Rtvalid_ids1s[^a-zA-Z0-9-_~,. ]cCst|o |Sn|S(N(tcallabletattr(R((Rtabsattrs cCs5|i}|i}|t| |jodSndS(Ni(RtbasepathtdestR R[tsrcRv(RR RR((Rt sanity_checks  tLocalDirectorycBstZdZdZdZeiiZe de Z e de Z e de Z hdd<dd Rs*/s*\i(R2tlistdirRZRtidstOSErrortIOErrorterrterrnotEACCESt HTTPResponset _error_htmlRRR$tgetcwdRtchdirRR6R3tisdirR%tpatttglobtnamestseptfilterRR!( RZRRRRRRR6R((Rt_ids sB    -   cCs|i||S(N(RZt_getObRmtdefault(RZRmR((RR-scCs|titifjo t|nd}|i|}ti i |o8t |||i p||i |i|i|i}n?ti i|o+t|d}t||||i}n|djo"|tjo t|n|Snt|||i|_|i|S(Ntrb(R6R2RRRRR RZRR3RRRRRRRtisfileRRKR0Rt_markerRnRt_p_jarR(RZR6RRKR R3((RR0s"      cCs!|i||i|||S(N(RZt_checkIdR6t _safe_setObtobject(RZR6Rtrolestuser((Rt _setObjectCs icCs|i|dS(N(RZt_delObR6(RZR6tdp((Rt _delObjectHscCs|p ddnt|odd|n|ddjodd|n|p7|i|}tii|odd|qndS(Ns Bad RequestsNo id was specifieds3The id %s contains characters illegal in filenames.iRs5The id %s is invalid - it begins with an underscore.s,The id %s is invalid - it is already in use.(R6tbad_idt allow_dupRZRR3R2texists(RZR6RR3((RRKs  cCscy|i||WnHtj o<}|dtijodti ddq_nXdS(NiRs@Sorry, you do not have permission to write to this directory.

( RZt_setObR6R tEnvironmentErrorRRRRR(RZR6R R((RR\s cCsgt|dp ddn|i|}yt||Wn#tj odd|inXdS(NRs Bad RequestsUnknown object type.s5Cannot add objects of type '%s' to local directories.( R R RZRR6R3RRR(RZR6R R3((RRfs cCs|i|}yAtii|od}ti|nd}ti|Wnt j o}|dt i joc|djo$ti |od}d|}nd}d||f}|ti||qnXdS(NR'R7is Delete Errors The directory '%s' is not empty.RsDSorry, you do not have permission to delete the requested %s ('%s').(RZRR6R3R2RRtrmdirtunlinkRRRRRRRRR(RZR6RRRRR3((RRps cCs|i||dS(N(RZRR6R (RZR6R ((Rt_copyObscCs{|i}|i|}yti||WnHt j o<}|dt i jodt iddqwnXdS(NiRs@Sorry, you do not have permission to write to this directory.

(R R[RRZRR6RR2trenameRRRRRR(RZR6R RRR((Rt_moveObs  cCsdS(N((RZR R((Rt_verifyObjectPastescCsyt|tjo*t|d}|i||in^dd}t|d}|i |}x(|o |i||i |}qkW|iWnHt j o<}|dt ijodtiddqnXdS(NRiiiRs@Sorry, you do not have permission to write to this directory.

(R$R7RRR3toutfileRRt blocksizeR>RRRRRRR(RZR7R3RRRR((Rt _write_files$    tmanage_workspacecCstii|}td|}ttii|}tii|i|}tii |o(|ot ddddd|Sq nyti|WnHtj o<}|dtijodtidd qnX|ot dd dd d|Snd S( s2Create a new directory relative to this directory.cCs |djS(NRLs..(RLs..(tp(R((RtsttitletOKtmessagesThe directory already exists.RiRs@Sorry, you do not have permission to write to this directory.

sSuccess!sThe directory has been created.N(R2R3RtpartsRRR&RZRtfullpathRRt MessageDialogRtmakedirsRRRRRR(RZR3RRRRR((Rtmanage_createDirectorys*   RcCst|do |i}n |i}|pd|jo|ti|dd}qd|jo|ti|dd}qd|jo|ti|dd}q|}ny|i|dWn(dt ddd t i d d nX|i |}ti i|o|i|||n|i|||oI|d jo|d i|idqt ddd dd |SndS(s}Upload a file to the local file system. The 'file' parameter is a FileUpload instance representing the uploaded file.tfilenamet/is\t:s Upload ErrorRs Invalid IdRRRtindex_fstRESPONSEsC/index_fs?portal_status_message=Your%20file%20has%20been%20uploadedsSuccess!sYour file has been uploaded.N(R R7RRmR6R trfindRZRRtsyst exc_valueRR3R2Rtmanage_overwriteRRRtredirectt absolute_url(RZR7R6RRRR3((RRes8          cCs|djo1t|do!y|id}Wq>q>Xny|d}Wn d}nX|djp|id| odtiddn|i ||dS(sOverwrite a local file.t aq_acquireRtAUTHENTICATED_USERsOverwrite local filest Unauthorizeds4Sorry, you are not authorized to overwrite files.

N( RRR RZRRthas_permissionRRRR7R3(RZR7R3RR((RR s ! c Csy|i|Wn(dtdddtiddnX|i|}|i|}yt i ||Wnt j ou}|dtijoUt ii|o d}nd }d}d ||f}|ti||qnX|d j o|i||d d Snd S(sRename a file or subdirectory.s Rename ErrorRs Invalid IdRRRiR'R7sDSorry, you do not have permission to rename the requested %s ('%s').t update_menuiN(RZRtnew_idRR R RR6RKRR2RRRRRR3RRRRRRRR( RZR6RRRRRKRR((Rtmanage_renameObjects,    c Cst|tdjo |g}ng}x9|D]1}|i|}t|}|i |iq3Wd|f}t |}|d j oB|d}|id|dd|d|i||ddSn|S( saPut a reference to the objects named in ids in the clipboard, marked for a cut operation.RiRt__lcpR3s%st SCRIPT_NAMEt cb_dataValidN(R$RtoblistR6RZRR t FileMonikerRR%tcpt _cb_encodeRRtrespt setCookieR( RZRRRRR RRR6((Rtmanage_cutObjectss       c Cst|tdjo |g}ng}x9|D]1}|i|}t|}|i |iq3Wd|f} t | } |d j oB|d}|id| dd|d|i||dd Sn| S( sbPut a reference to the objects named in ids in the clipboard, marked for a copy operation.RiRRR3s%sRRiN(R$RRR6RZRR RRR%RRRRRRR( RZRRRR RRR6RR((Rtmanage_copyObjects(s       c Cs@d} |dj o |} n&|o|ido|d} n| djo ttnyt| } WnttnXg}t }| d}xh| dD]\}||_ y|i|ip|}WnttnX|i|||i|qW|djojx6|D].}|it|i}|i||qW|dj o |i||ddddSqzn|djoxY|D]Q}t|i}t||p tdn|i|}|i||qW|dj oH|didd d d |d d d|i||ddddSq<ndS(sPaste objects from the clipboard into the current directory. The cb_copy_data parameter, if specified, should be the result of a previous call to manage_cutObjects or manage_copyObjects.RiiRRs(This object cannot be pasted into itselfRtcp_tdeletedR3s%sRtexpiressWed, 31-Dec-97 23:59:59 GMTRN(RRt cb_copy_dataRthas_keyt CopyErrorteNoDatat _cb_decodeteInvalidRRRtopRtbindRZRR t eNotFoundRR%t_get_idRR6RRRRR( RZR#RRRR RR)R6R((Rtmanage_pasteObjects:s^                cCs)yt|id}Wn dSnXdS(s*Return true if clipboard data seems valid.RiiN(R'RZRR(RZR((RRos cCst|tdjo |g}n|ptddddddSnxa|oY|d}|i|}tii|pd d |dn|i ||d=qMW|d j o|i ||d d Snd S(sDelete files or subdirectories.RRsNo items specifiedRsNo items were specified!RRit BadRequests%s does not existRiN( R$RRR6RZRR3R2RRRRR(RZRRR3R6((Rtmanage_delObjectsus"      cCs |i|S(s{Return a list of subobject ids. If 'spec' is specified, return only objects whose filename matches 'spec'.N(RZRR(RZR((RtfileIdssc Csg} | i}|i}|o1xX|i|D]}||||q/Wn+x'|i|D]}|||q`Wg}x=| D]5} d| i dj| i f}|i|| fqW|ig}|D]} || dq~S(sReturn a list of Local File objects. If 'spec' is specified, return only objects whose filename matches 'spec'.s%s%sR'iN(trR%RqRZRtgt propagateRRR6tresR#R$RR!t_[1]tx( RZRR3RqR2R4R6R5RR1R#R6((Rt fileValuess$   cCsg}|i}|i}|o7xd|i|D]}|||||fq/Wn1x-|i|D]}||||fqfW|S(sReturn a list of (id, fileobject) tuples. If 'spec' is specified, return only objects whose filename matches 'spec' N( R1R%RqRZRR2R3RRR6(RZRR3RqR2R6R1((Rt fileItemss  !cCs|io|i|SnfS(sReturn a list of subobject ids. Returns a list of subobject ids of the current object. If 'spec' is specified, returns objects whose meta_type matches 'spec'. N(RZRt _objectIdsR(RZR((Rt objectIdss cCs|io|i|SnfS(sReturn a list of the actual subobjects. Returns a list of actual subobjects of the current object. If 'spec' is specified, returns only objects whose meta_type match 'spec' N(RZRt _objectValuesR(RZR((Rt objectValuess cCs|io|i|SnfS(sReturn a list of (id, subobject) tuples. Returns a list of (id, subobject) tuples of the current object. If 'spec' is specified, returns only objects whose meta_type match 'spec' N(RZRt _objectItemsR(RZR((Rt objectItemss cCs|i}|i}|dj o{t|tdjo |g}ng}|i }x;|D]3}||}|i |jo|i |q^q^W|Sn|S(NR(RZRR2RRRRR$R1R%RqR6R R(RZRRqR R2RR6R1((RR9s      cCsg}|i}|i}|dj oqt|tdjo |g}nxo|i D]6}||}|i |jo|||qXqXWn(x$|i D]}|||qW|S(NR( R1R%RqRZRR2RRR$RR6R R(RZRRqR2R R6R1((RR;s       cCsg}|i}|i}|dj owt|tdjo |g}nx{|i D]<}||}|i |jo||||fqXqXWn.x*|i D]}||||fqW|S(NR( R1R%RqRZRR2RRR$RR6R R(RZRRqR2R R6R1((RR=s      " cCsgg}ySxL|iD]>}|i|}y|io|i|nWqqXqWWnnX|S(s=Returns a list of the folder's sub-folders, used by tree tag.N(R1RZRR6RtoRR%(RZR1R6R?((RttpValuess   cCst|iS(N(t encode_strRZt serverPath(RZ((RttpIdscCswg}|}xNt|dpPn|it|it|dpPn|i}qW|it i |dS(sXReturn the full path of the directory object relative to the root of the server.iR6t aq_parentRN( RRZR R R%RR6RDtreverseR R&(RZRR ((RRBs cCs|id}|iidd}|dj ot|tdjod|ti|f}qg}x(|D] }|i dti|qrW|dt i |d}n|S( s'Return the URL of the parent directory.tURL2RRs %s?spec=%ss spec:list=%st?t&N(RZRturlRRRR$turllibtquotetqueryRR%R R&(RZRRIRLR((Rt parentURLs  cCsytti|i}x[|D]S}|i|}tii |o+y|i |SWqodj oqoXqqWWnnXdS(sYReturn the first default document found in this folder as a Zope object or None.RN( R RRZtdefault_documenttfilesR7RR3R2RRR(RZROR7R3((RtdefaultDocument#scCs#ti|iti}t|S(N(R2RYRZR[R\RR](RZR((RR^2s(=RARbR=RRtApptFactoryDispatchertProductDispatchertmanage_addProducttHTMLFileRPRRRtmanage_optionsticonRRRRRRRRRRRRRRRRRRRRRRReR RRRR-RR/R0R7R8R:R<R>R9R;R=R@RCRBRMRPR^(((RRsh E             -  5        R1cBswtZdZdZdZdZdZdZdZdZ dZ d Z d Z d Z d ZRS( s4Object representing a file in the local file system.s Local FilecCs||_||_||_|i|_|i||_|i |_ |i |_ |i |_|i|_|i|_dS(sLocalFile __init__N(tparentRZR6R3t_getTypeR$t_getURLRRIt_getIconRWt_getSizetsizet_getTimetmtimet_getDisplaySizet display_sizet_getDisplayTimet display_mtime(RZRXR6R3R((RR?s   cCs|ii|iS(s2Return a Zope object representing this local file.N(RZRXRR6(RZ((RRVLscCs|iS(sReturn the size of the file.N(RZR](RZ((Rtget_sizePscCs|iS(R^N(RZR_(RZ((RR^TscCsti|i}|idjo|dj ot|tdjo|dti|Sqg}x(|D] }|i dti|qnW|dt i |dSn|S(RZR'Rs?spec=s spec:list=%sRGRHN( RJRKRZR6RIR$RRRLRR%R R&(RZRRRIRL((RRZXscCs|i}|i}tii|odSntii|d}t||i i \}}|o|SnyKt |dit}tii|||}t||||iSWntj o dSnXdS(s"Return the content type of a file.R'iRsapplication/octet-streamN(RZR6RmR3R2RR4RRRXRRRRR>R?RRBRRGR RRR(RZRRmRR RRR3((RRYes    cCsti|i}|ii}y ||SWntj onX|ti|d }y ||SWntj onXt dS(s;Return the path of the icon associated with this file type.Rs generic.gifN( R R RZR$RRXRRtfindt _icon_base(RZRR((RR[us   cCsN|i}tii|odSnyti|tiSWn dSnXdS(svReturn the size of the specified file or -1 if an error occurs. Return None if the path refers to a directory.iN(RZR3R2RRRYtST_SIZE(RZR3((RR\s cCs|i}|djo ddSn|djotSnd}||jo9||}||jo||}d|Sqd|Sn d|SdS( s=Return the size of a file or directory formatted for display.t-iif1024.0s%.1f MBs%.1f kBs%d bytesN(RZR]Rt_unknownR"(RZR"R]((RR`s         cCs/y!tti|itiSWnnXdS(sXReturn the last modified time of a file or directory or None if an error occurs.N(R]R2RYRZR3R\(RZ((RR^s !cCs8|i}|djotSnd|i|ifS(sTReturn the last modified time of a file or directory formatted for display.s%s %sN(RZR_RRRitTimetDate(RZR((RRbs   (RARbR=RRRVRdR^RZRYR[R\R`R^Rb(((RR16s        RcBs#tZdZedZdZRS(s>A file moniker is a reference to an object in the file system.cCs|djodSng|_xQt|dpPn|idjoPn|iit|i|i }q!W|ii dS(sFileMoniker __init__NiR6sLocal File System( R RRZRR RR%RR6RDRE(RZR ((RRs  cCs-|}x |iD]}|i|}qW|S(s,Return the file object named by this monikerN(RR RZRR6R(RZRR R6((RR*s  (RARbR=RRR*(((RRs  tLocalFSc BstZdZdZhdd<dd<ddIZed?Zd@ZedAZdBZdCZdDZ edEZ!edFZ"e#dGZ$dHZ%RS(VsEObject that creates Zope objects from files in the local file system.sLocal File SystemRRRRthelpRlsFileSystem_Contents.stxRRsFileSystem_View.stxt Propertiestmanage_propertiesFormsFileSystem_Properties.stxtSecurityt manage_accesssFileSystem_Security.stxRRsFileSystem_Upload.stxRsView management screenstmanages#Change Local File System propertiestmanage_changePropertiessAccess contents informationR0R7R8sUpload local filesResOverwrite local filesR sManage local filesRRR-tmanage_renameFormRRsDelete local filesR/R6RR$R tmodeRRtusernametpasswordRNttype_maptlinesticon_mapRtbooleanRsindex.html default.htmliic Csti|||||i|i|i|i||_ ||_|_ t oh||_ ||_ti|i}|dj o*|i o |id|_|iqd|_ndS(sLocalDirectory __init__iRN(RRRZR6RRRRRRR[t_iswin32RvRwt _passwordtunc_exprtmatchRRtgroupt_sharet_connect(RZR6RRRvRwR((RRs   cCstS(s,Return if more performant StreamingFile usedN(RE(RZR((RtIteratorsPresentscCsg|i}|i}to|i}|i}ntiii |||i|jot |i|_ n|i|jot |i|_nto|i|jp|i|jow||_|io|inti|i}|dj o*|io |id|_|iq/d|_nd|_nd|_d}|i||d|ddS(s!Edit object properties via the web. The purpose of this method is to change all property values, even those not listed in REQUEST; otherwise checkboxes that get turned off will be ignored. Use manage_changeProperties() instead for most situations. iRsSaved changes.tmanage_tabs_messageRN(RZRxRzR|RvR}RwRBtPropertyManagertmanage_editPropertiesRRRR-Rt _connectedt _disconnectR~RRRRRRRRRRo(RZRRvRzRRxRRw((RRs2          cKsC|i}|i}to|i}|i}ntti i i ||f||i|jot |i|_n|i|jot|i|_nto|i|jp|i|jon|io|inti|i}|dj o*|io |id|_|iq/d|_q3n|i|_dS(sChange existing object properties. Change object properties by passing either a mapping object of name:value pairs {'foo':6} or passing name=value parameters iRN(RZRxRzR|RvR}RwRRBRRsRtkwRRR-RRRR~RRRRRRRRR(RZRRRvRzRRxRw((RRs?s,      cCs@tidd|id|ipd|ipdd|_dS(RiN(t win32wnettWNetAddConnection2RRZRRvR}R(RZ((RR^scCs#ti|iddd|_dS(RiN(RtWNetCancelConnection2RZRR(RZ((RRdscCs'|io|i o|indS(t_check_connectedN(RZRRR(RZ((RRiscCs|iti||S(RN(RZRRRR(RZR((RRns cCs|iti|||S(RN(RZRRRR6R(RZR6R((RRss cCs|iti|||S(RN(RZRRRR6R(RZR6R((RRxs cCstii|S(R^N(t Persistencet PersistentR^RZ(RZ((RR^}s(sLocalFSsFileSystem_Contents.stx(sLocalFSsFileSystem_View.stx(sLocalFSsFileSystem_Properties.stx(sLocalFSsFileSystem_Security.stx(sLocalFSsFileSystem_Upload.stx(s index_htmlR(smanages manage_main(smanage_propertiesFormsmanage_changeProperties(sfileIdss fileValuess fileItems(smanage_uploadForms manage_upload(smanage_overwrite(smanage_cutObjectssmanage_copyObjectssmanage_pasteObjectssmanage_renameFormsmanage_renameObjectsmanage_createDirectory(smanage_delObjects(&RARbR=RRVt__ac_permissions__t _propertiesR|RNRvRRRRRRRRwt_typesRt_iconsRRRxR/RzRRRRsRRRRRRRR^(((RRls> NBJ      #       cCsMt|||||}|i|||dj o|i ||SndS(sbAdd a local file system object to a folder In addition to the standard Zope object-creation arguments, 'id' and 'title', the following arguments are defined: basepath -- The base path of the local files. username -- Username for a network share (win32 only). password -- Password for a network share (win32 only). N( RlR6RRRvRwR RZRRRR(RZR6RRRvRwRR ((Rtmanage_addLocalFSs  sdtml/methodAdd(xR=t __version__R R2R RRYRJRRRttempfileRQtGlobalst AcquisitionRRBt AccessControltApp.ExtensionsRVtwebdav.NullResourceRtZPublisher.HTTPResponseRRRUtzope.app.content_typesRt OFS.ImageRtTreeDisplay.TreeTagRAtOFS.CopySupportRR'R%R&R(R+tZODB.TimeStampRR]ttypesRRERFt'Products.PageTemplates.ZopePageTemplateRHtplatformR|Rt ImportErrortcompileR~R?RiRRRRRRRRftitemsR"R#R.R-R/R0R@RCRDR;RIRJR5R8R9RXRxRgRiRhR:RRRRRRRRRRRtsearchRRRt CopySupportt CopyContainert Managementt Navigationt SimpleItemtItemtImplicitRR1RRRtRolet RoleManagerRlRRRPtmanage_addLocalFSForm(\R?R@RiR]RARRhRRiRRCRR;R R8RRBR5RHRRRRRRR1R&RR~RR'RRRFRJRRR0RRfRRRURQRRRRR2RRRR9RXRJRR-RRR=RRIRRRgR.R(RR:R#R"RRER/RRVRRRlRRYRRRR R+RxRDRR%RR|((RRG(s Z-      +              '#       3       <       4t"p.