<configure
       xmlns:browser="http://namespaces.zope.org/browser"
       xmlns:zope="http://namespaces.zope.org/zope"
      >
   <!-- GENERATED PROTOCOL. DO NOT MODIFY OR INCLUDE -->
   <zope:adapter
      factory="bop.html.WeblocPreview"
      provides="bop.interfaces.IHTMLPreview"
      for="zope.app.file.interfaces.IFile None"
      name=".webloc"
   />
   <zope:adapter
      factory="bop.html.FlashPreview"
      provides="bop.interfaces.IHTMLPreview"
      for="zope.app.file.interfaces.IFile None"
      name=".swf"
   />
   <zope:adapter
      factory="bop.rdf.ZoteroTitle"
      provides="bop.interfaces.IRDFConverter"
      for="None bop.interfaces.IZoteroFormat"
      name="dc:title"
   />
   <zope:adapter
      factory="bop.rdf.DCZope"
      provides="bop.interfaces.IRDFConverter"
      for="zope.annotation.interfaces.IAttributeAnnotatable bop.interfaces.IZopeFormat"
      name="dc:zope"
   />
   <zope:adapter
      factory="bop.rdf.RDFId"
      provides="bop.interfaces.IRDFConverter"
      for="None None"
      name="RDF:ID"
   />
   <zope:adapter
      factory="bop.rdf.RDFAbout"
      provides="bop.interfaces.IRDFConverter"
      for="None bop.interfaces.IZopeFormat"
      name="RDF:about"
   />
   <zope:adapter
      factory="bop.rdf.RDFResource"
      provides="bop.interfaces.IRDFConverter"
      for="zope.app.file.interfaces.IFile zope.interface.Interface"
      name="RDF:resource"
   />
   <zope:adapter
      factory="bop.rdf.DCTerms"
      provides="bop.interfaces.IRDFConverter"
      for="zope.app.folder.interfaces.IFolder zope.interface.Interface"
      name="dc:hasPart"
   />
   <zope:adapter
      factory="bop.rdf.ZoteroItemType"
      provides="bop.interfaces.IRDFConverter"
      for="zope.app.file.interfaces.IFile bop.interfaces.IZoteroFormat"
      name="z:itemType"
   />
   <zope:adapter
      factory="bop.rdf.ZopeFactory"
      provides="bop.interfaces.IRDFConverter"
      for="zope.interface.Interface bop.interfaces.IZopeFormat"
      name="zope:factory"
   />
   <zope:adapter
      factory="bop.rdf.ZopeName"
      provides="bop.interfaces.IRDFConverter"
      for="zope.interface.Interface bop.interfaces.IZopeFormat"
      name="zope:name"
   />
   <zope:adapter
      factory="bop.rdf.ZopeMarker"
      provides="bop.interfaces.IRDFConverter"
      for="zope.interface.Interface bop.interfaces.IZopeFormat"
      name="zope:marker"
   />
   <zope:adapter
      factory="bop.rdf.DateTimeFromUnicode"
      provides="zope.schema._bootstrapinterfaces.IFromUnicode"
      for="zope.schema.interfaces.IDatetime"
   />
   <zope:adapter
      factory="bop.rdf.TupleFromUnicode"
      provides="zope.schema._bootstrapinterfaces.IFromUnicode"
      for="zope.schema.interfaces.ITuple"
   />
   <zope:adapter
      factory="bop.rdf.ListFromUnicode"
      provides="zope.schema._bootstrapinterfaces.IFromUnicode"
      for="zope.schema.interfaces.IList"
   />
   <zope:adapter
      factory="bop.what.What"
      for="None"
      permission="zope.Public"
   />
   <zope:adapter
      factory="bop.when.When"
      for="None"
      permission="zope.Public"
   />
   <zope:adapter
      factory="bop.where.Where"
      for="zope.app.container.interfaces.IContained"
      permission="zope.Public"
   />
   <zope:adapter
      factory="bop.who.Who"
      for="None"
      permission="zope.Public"
   />
   <zope:adapter
      factory="bop.who.Contributors"
      for="None"
      permission="zope.Public"
   />
   <zope:utility
      component="bop.interfaces.IZoteroFormat"
      provides="bop.interfaces.IRDFFormat"
      name="Zotero"
   />
   <zope:utility
      component="bop.interfaces.IBebopFormat"
      provides="bop.interfaces.IRDFFormat"
      name="Bebop"
   />
   <zope:utility
      component="bop.rdf.DefaultNodeFactory"
      provides="bop.interfaces.IRDFFactory"
      name="{http://www.w3.org/1999/02/22-rdf-syntax-ns#}Description"
   />
   <zope:utility
      component="bop.rdf.ZAttachmentNode"
      provides="bop.interfaces.IRDFFactory"
      name="{http://www.zotero.org/namespaces/export#}Attachment"
   />
   <zope:utility
      component="bop.rdf.ZCollectionNode"
      provides="bop.interfaces.IRDFFactory"
      name="{http://www.zotero.org/namespaces/export#}Collection"
   />
   <zope:subscriber
      handler="bop.bootstrap.bootstrapSubscriber"
      for="zope.app.appsetup.interfaces.IDatabaseOpenedEvent"
   />
   <zope:subscriber
      handler="bop.shortref.removeShortRefSubscriber"
      for="zope.location.interfaces.ILocation zope.app.container.interfaces.IObjectRemovedEvent"
   />
   <zope:subscriber
      handler="bop.shortref.addShortRefSubscriber"
      for="zope.location.interfaces.ILocation zope.app.container.interfaces.IObjectAddedEvent"
   />
   <zope:class class="bop.permalink.TargetWrapper">
       <require
              permission="zope.Public"
              interface="zope.publisher.interfaces.IPublishTraverse"
       />
   </zope:class>
   <zope:class class="bop.permalink.Permalink">
       <require
              permission="zope.Public"
              interface="zope.publisher.interfaces.IPublishTraverse"
       />
   </zope:class>
   <browser:page
      class="bop.permalink.Permalink"
      layer="zope.publisher.interfaces.browser.IDefaultBrowserLayer"
      for="zope.interface.Interface"
      permission="zope.Public"
      name="permalink"
      attribute="__call__"
   />
   <zope:adapter
      factory="bop.shortcut.default_name"
      provides="bop.shortcut.IName"
      for="zope.interface.Interface"
   />
   <zope:adapter
      factory="bop.shortcut.default_title"
      provides="bop.shortcut.ITitle"
      for="zope.interface.Interface"
   />
   <zope:adapter
      factory="bop.shortcut.default_description"
      provides="bop.shortcut.IDescription"
      for="zope.interface.Interface"
   />
   <zope:adapter
      factory="bop.shortcut.default_subjects"
      provides="bop.shortcut.ISubjects"
      for="zope.interface.Interface"
   />
   <zope:adapter
      factory="bop.shortcut.default_language"
      provides="bop.shortcut.ILanguage"
      for="None"
   />
   <zope:adapter
      factory="bop.shortcut.default_add"
      provides="bop.shortcut.IAdd"
      for="zope.app.container.interfaces.IWriteContainer None None"
   />
   <zope:adapter
      factory="bop.shortcut.default_insert"
      provides="bop.shortcut.IInsert"
      for="zope.app.container.interfaces.IWriteContainer None None"
   />
   <zope:adapter
      factory="bop.shortcut.default_attachments"
      provides="bop.shortcut.IAttachments"
      for="None"
   />
   <zope:adapter
      factory="bop.shortcut.default_comments"
      provides="bop.shortcut.IComments"
      for="None"
   />
   <zope:adapter
      factory="bop.helper.default_deletable"
      provides="bop.helper.IDeletable"
      for="zope.interface.Interface zope.interface.Interface"
   />
   <zope:adapter
      factory="bop.helper.default_editable"
      provides="bop.helper.IEditable"
      for="zope.interface.Interface zope.interface.Interface"
   />
   <zope:adapter
      factory="bop.helper.file_editable"
      provides="bop.helper.IEditable"
      for="zope.app.file.interfaces.IFile zope.interface.Interface"
   />
   <zope:adapter
      factory="bop.permalink.default_url"
      provides="bop.permalink.IPermalinkURL"
      for="None"
   />
   <zope:adapter
      factory="bop.permalink.file_url"
      provides="bop.permalink.IPermalinkURL"
      for="zope.app.file.interfaces.IFile"
   />
   <zope:adapter
      factory="bop.permalink.default_redirect"
      provides="bop.permalink.IRedirect"
      for="None None"
   />
   <zope:adapter
      factory="bop.html.default_html"
      provides="bop.html.IHtmlify"
      for="zope.interface.Interface zope.interface.Interface"
   />
   <zope:adapter
      factory="bop.html.file_html"
      provides="bop.html.IHtmlify"
      for="zope.app.file.interfaces.IFile zope.interface.Interface"
   />
   <zope:adapter
      factory="bop.rdf.default_export"
      provides="bop.rdf.IExport"
      for="None None"
   />
   <zope:adapter
      factory="bop.rdf.default_serialize"
      provides="bop.rdf.ISerialize"
      for="None None None"
   />
   <zope:adapter
      factory="bop.rdf.serialize_zotero_file"
      provides="bop.rdf.ISerialize"
      for="zope.app.file.interfaces.IFile bop.interfaces.IZoteroFormat None"
   />
   <zope:adapter
      factory="bop.rdf.serialize_zotero_folder"
      provides="bop.rdf.ISerialize"
      for="zope.app.folder.interfaces.IFolder bop.interfaces.IZoteroFormat None"
   />
   <zope:adapter
      factory="bop.rdf.default_zItemType"
      provides="bop.rdf.IZoteroItemType"
      for="None"
   />
   <zope:adapter
      factory="bop.rdf.file_zItemType"
      provides="bop.rdf.IZoteroItemType"
      for="zope.app.file.interfaces.IFile"
   />
   <zope:adapter
      factory="bop.rdf.file_zItemType"
      provides="bop.rdf.IZoteroItemType"
      for="zope.app.folder.interfaces.IFolder"
   />
   <zope:adapter
      factory="bop.rdf.default_literal"
      provides="bop.rdf.ILiteral"
      for="None None"
   />
   <zope:adapter
      factory="bop.rdf.sequence_literal"
      provides="bop.rdf.ILiteral"
      for="zope.schema.interfaces.ITuple None"
   />
   <zope:adapter
      factory="bop.rdf.list_literal"
      provides="bop.rdf.ILiteral"
      for="zope.schema.interfaces.IList None"
   />
   <zope:adapter
      factory="bop.rdf.export_zip_container"
      provides="zope.interface.Interface"
      for="zope.app.container.interfaces.IReadContainer zope.publisher.interfaces.browser.IBrowserRequest"
      name="export_rdf.zip"
   />
   <zope:adapter
      factory="bop.rdf.snapshot_dir"
      provides="zope.interface.Interface"
      for="zope.app.container.interfaces.IReadContainer zope.publisher.interfaces.browser.IBrowserRequest"
      name="snapshot"
   />
   <zope:adapter
      factory="bop.rdf.restore_dir"
      provides="zope.interface.Interface"
      for="zope.app.container.interfaces.IReadContainer zope.publisher.interfaces.browser.IBrowserRequest"
      name="restore"
   />
   <zope:adapter
      factory="bop.unapi.default_formats"
      provides="bop.unapi.IUnApiFormats"
      for="None None"
   />
   <zope:adapter
      factory="bop.unapi.file_formats"
      provides="bop.unapi.IUnApiFormats"
      for="zope.app.file.interfaces.IFile None"
   />
   <zope:adapter
      factory="bop.unapi.container_formats"
      provides="bop.unapi.IUnApiFormats"
      for="zope.app.container.interfaces.IContainer None"
   />
   <zope:adapter
      factory="bop.unapi.default_identifier"
      provides="bop.unapi.IUnApiIdentifier"
      for="None None"
   />
   <zope:adapter
      factory="bop.unapi.default_resolve"
      provides="bop.unapi.IUnApiResolve"
      for="None None"
   />
   <zope:adapter
      factory="bop.unapi.default_formatted"
      provides="bop.unapi.IUnApiFormatted"
      for="None None"
   />
   <zope:adapter
      factory="bop.unapi.file_formatted"
      provides="bop.unapi.IUnApiFormatted"
      for="zope.app.file.interfaces.IFile None"
   />
   <zope:adapter
      factory="bop.unapi.default_handler"
      provides="zope.interface.Interface"
      for="None zope.publisher.interfaces.browser.IBrowserRequest"
      name="unapi"
   />
   <zope:adapter
      factory="bop.what.default_fulltexts"
      provides="bop.what.IFulltexts"
      for="None"
   />
   <zope:adapter
      factory="bop.what.file_fulltexts"
      provides="bop.what.IFulltexts"
      for="zope.app.file.interfaces.IFile"
   />
   <zope:adapter
      factory="bop.when.default_timestamp"
      provides="bop.when.ITimestamp"
      for="None"
   />
   <zope:adapter
      factory="bop.who.default_members"
      provides="bop.who.IMembers"
      for="zope.interface.Interface"
   />
   <zope:adapter
      factory="bop.who.default_owns"
      provides="bop.who.IOwns"
      for="zope.interface.Interface"
   />
   <zope:adapter
      factory="bop.who.default_realname"
      provides="bop.who.IRealname"
      for="zope.interface.Interface zope.interface.Interface"
   />
   <zope:adapter
      factory="bop.who.default_authors"
      provides="bop.who.IAuthors"
      for="zope.interface.Interface"
   />
   <zope:adapter
      factory="bop.who.default_authornames"
      provides="bop.who.IAuthors"
      for="zope.interface.Interface"
   />
   <zope:adapter
      factory="bop.who.default_contributors"
      provides="bop.who.IContributors"
      for="zope.interface.Interface"
   />
   <zope:adapter
      factory="bop.who.default_email"
      provides="bop.who.IEmail"
      for="zope.interface.Interface"
   />
</configure>