<repository name='Apache Sling Release Repository' lastmodified='20161031034538.509'>
  <resource id='org.apache.sling.extensions.classloader-leak-detector/1.0.0' symbolicname='org.apache.sling.extensions.classloader-leak-detector' presentationname='Adobe Sling ClassLoader Leak Detector' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.extensions.classloader-leak-detector/1.0.0/org.apache.sling.extensions.classloader-leak-detector-1.0.0.jar' version='1.0.0'>
    <description>Provides a web console configuration printer to provide details around classloader leaks</description>
    <size>18203</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.extensions.classloader-leak-detector'/>
      <p n='presentationname' v='Adobe Sling ClassLoader Leak Detector'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.6.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.6,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework.wiring)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework.wiring;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.util.tracker)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.util.tracker;version="[1.5,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=J2SE-1.5))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=J2SE-1.5))</require>
  </resource>
  <resource id='org.apache.sling.adapter/2.1.6' symbolicname='org.apache.sling.adapter' presentationname='Apache Sling Adapter Manager Implementation' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.adapter-2.1.6.jar' version='2.1.6'>
    <description>Bundle implementing the AdapterManager and provides a convenience        implementation of the Adaptable interface to make use of this        AdapterManager.</description>
    <size>29894</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.adapter'/>
      <p n='presentationname' v='Apache Sling Adapter Manager Implementation'/>
      <p n='version' t='version' v='2.1.6'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.adapter'/>
      <p n='version' t='version' v='2.1.0'/>
      <p n='uses:' v='org.apache.sling.api.adapter'/>
    </capability>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.adapter)(version&gt;=2.2.0)(!(version&gt;=2.3.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.adapter;version="[2.2,2.3)"</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.io)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.io;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.lang.builder)(version&gt;=2.5.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.lang.builder;version="[2.5,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.adapter)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.adapter;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.event)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.event;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.packageadmin)(version&gt;=1.2.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.packageadmin;version="[1.2,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.util.tracker)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.util.tracker;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.adapter/2.1.2' symbolicname='org.apache.sling.adapter' presentationname='Apache Sling Adapter Manager Implementation' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.adapter/2.1.2/org.apache.sling.adapter-2.1.2.jar' version='2.1.2'>
    <description>Bundle implementing the AdapterManager and provides a convenience        implementation of the Adaptable interface to make use of this        AdapterManager.</description>
    <size>26558</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.adapter'/>
      <p n='presentationname' v='Apache Sling Adapter Manager Implementation'/>
      <p n='version' t='version' v='2.1.2'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.adapter'/>
      <p n='version' t='version' v='2.0.6'/>
      <p n='uses:' v='org.apache.sling.api.adapter'/>
    </capability>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.adapter)(version&gt;=2.2.0)(!(version&gt;=2.3.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.adapter;version="[2.2,2.3)"</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.io)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.io;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.lang.builder)(version&gt;=2.5.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.lang.builder;version="[2.5,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.event)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.event;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.util.tracker)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.util.tracker;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=J2SE-1.5))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=J2SE-1.5))</require>
  </resource>
  <resource id='org.apache.sling.adapter/2.1.4' symbolicname='org.apache.sling.adapter' presentationname='Apache Sling Adapter Manager Implementation' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.adapter/2.1.4/org.apache.sling.adapter-2.1.4.jar' version='2.1.4'>
    <description>Bundle implementing the AdapterManager and provides a convenience        implementation of the Adaptable interface to make use of this        AdapterManager.</description>
    <size>29037</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.adapter'/>
      <p n='presentationname' v='Apache Sling Adapter Manager Implementation'/>
      <p n='version' t='version' v='2.1.4'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.adapter'/>
      <p n='version' t='version' v='2.1.0'/>
      <p n='uses:' v='org.apache.sling.api.adapter'/>
    </capability>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.adapter)(version&gt;=2.2.0)(!(version&gt;=2.3.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.adapter;version="[2.2,2.3)"</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.io)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.io;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.lang.builder)(version&gt;=2.5.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.lang.builder;version="[2.5,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.adapter)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.adapter;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.event)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.event;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.packageadmin)(version&gt;=1.2.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.packageadmin;version="[1.2,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.util.tracker)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.util.tracker;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=J2SE-1.5))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=J2SE-1.5))</require>
  </resource>
  <resource id='org.apache.sling.adapter/2.1.8' symbolicname='org.apache.sling.adapter' presentationname='Apache Sling Adapter Manager Implementation' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.adapter/2.1.8/org.apache.sling.adapter-2.1.8.jar' version='2.1.8'>
    <description>Bundle implementing the AdapterManager and provides a convenience        implementation of the Adaptable interface to make use of this        AdapterManager.</description>
    <size>30211</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.adapter'/>
      <p n='presentationname' v='Apache Sling Adapter Manager Implementation'/>
      <p n='version' t='version' v='2.1.8'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.adapter'/>
      <p n='version' t='version' v='2.1.0'/>
      <p n='uses:' v='org.apache.sling.api.adapter'/>
    </capability>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.adapter)(version&gt;=2.2.0)(!(version&gt;=2.3.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.adapter;version="[2.2,2.3)"</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.io)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.io;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.lang.builder)(version&gt;=2.5.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.lang.builder;version="[2.5,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.adapter)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.adapter;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.event)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.event;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.packageadmin)(version&gt;=1.2.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.packageadmin;version="[1.2,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.util.tracker)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.util.tracker;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.api/2.9.0' symbolicname='org.apache.sling.api' presentationname='Apache Sling API' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.api/2.9.0/org.apache.sling.api-2.9.0.jar' version='2.9.0'>
    <description>The Apache Sling API defines an extension to the Servlet        API 2.4 to provide access to content and unified access        to request parameters hiding the differences between the        different methods of transferring parameters from client        to server. Note that the Apache Sling API bundle does not        include the Servlet API but instead requires the API to        be provided by the Servlet container in which the Apache        Sling framework is running or by another bundle.</description>
    <size>92496</size>
    <documentation>http://sling.apache.org/site/sling-api.html</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.api'/>
      <p n='presentationname' v='Apache Sling API'/>
      <p n='version' t='version' v='2.9.0'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.api.adapter'/>
      <p n='version' t='version' v='2.2.1'/>
      <p n='uses:' v='javax.annotation'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.api.auth'/>
      <p n='version' t='version' v='1.0.1'/>
      <p n='uses:' v='javax.annotation,javax.servlet.http,org.apache.sling.api'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.api'/>
      <p n='version' t='version' v='2.3.1'/>
      <p n='uses:' v='javax.annotation,javax.servlet,javax.servlet.http,org.apache.sling.api.adapter,org.apache.sling.api.request,org.apache.sling.api.resource'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.api.request'/>
      <p n='version' t='version' v='2.4.1'/>
      <p n='uses:' v='javax.annotation,javax.servlet,javax.servlet.http,org.apache.sling.api,org.apache.sling.api.resource'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.api.resource'/>
      <p n='version' t='version' v='2.8.0'/>
      <p n='uses:' v='javax.annotation,javax.servlet.http,org.apache.sling.api,org.apache.sling.api.adapter'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.api.scripting'/>
      <p n='version' t='version' v='2.1.1'/>
      <p n='uses:' v='javax.annotation,org.apache.sling.api,org.apache.sling.api.request,org.apache.sling.api.resource,org.slf4j'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.api.security'/>
      <p n='version' t='version' v='1.0.1'/>
      <p n='uses:' v='javax.annotation,org.apache.sling.api.resource'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.api.servlets'/>
      <p n='version' t='version' v='2.1.1'/>
      <p n='uses:' v='javax.annotation,javax.servlet,javax.servlet.http,org.apache.sling.api,org.apache.sling.api.resource'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.api.wrappers'/>
      <p n='version' t='version' v='2.5.0'/>
      <p n='uses:' v='javax.servlet,javax.servlet.http,org.apache.sling.api,org.apache.sling.api.request,org.apache.sling.api.resource'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.servlet)(version&gt;=2.4.0))' extend='false' multiple='false' optional='false'>Import package javax.servlet;version=2.4</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http)(version&gt;=2.4.0))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http;version=2.4</require>
    <require name='package' filter='(&amp;(package=javax.annotation))' extend='false' multiple='false' optional='false'>Import package javax.annotation</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.api/2.14.0' symbolicname='org.apache.sling.api' presentationname='Apache Sling API' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.api-2.14.0.jar' version='2.14.0'>
    <description>The Apache Sling API defines an extension to the Servlet        API 2.4 to provide access to content and unified access        to request parameters hiding the differences between the        different methods of transferring parameters from client        to server. Note that the Apache Sling API bundle does not        include the Servlet API but instead requires the API to        be provided by the Servlet container in which the Apache        Sling framework is running or by another bundle.</description>
    <size>115248</size>
    <documentation>http://sling.apache.org/site/sling-api.html</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.api'/>
      <p n='presentationname' v='Apache Sling API'/>
      <p n='version' t='version' v='2.14.0'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.api.adapter'/>
      <p n='version' t='version' v='2.2.1'/>
      <p n='uses:' v='javax.annotation'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.api.auth'/>
      <p n='version' t='version' v='1.0.1'/>
      <p n='uses:' v='javax.annotation,javax.servlet.http,org.apache.sling.api'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.api'/>
      <p n='version' t='version' v='2.3.1'/>
      <p n='uses:' v='javax.annotation,javax.servlet,javax.servlet.http,org.apache.sling.api.adapter,org.apache.sling.api.request,org.apache.sling.api.resource'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.api.request'/>
      <p n='version' t='version' v='2.4.1'/>
      <p n='uses:' v='javax.annotation,javax.servlet,javax.servlet.http,org.apache.sling.api,org.apache.sling.api.resource'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.api.resource'/>
      <p n='version' t='version' v='2.9.1'/>
      <p n='uses:' v='javax.annotation,javax.servlet.http,org.apache.sling.api,org.apache.sling.api.adapter'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.api.resource.observation'/>
      <p n='version' t='version' v='1.1.0'/>
      <p n='uses:' v='javax.annotation'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.api.resource.path'/>
      <p n='version' t='version' v='1.1.0'/>
      <p n='uses:' v='javax.annotation'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.api.resource.runtime.dto'/>
      <p n='version' t='version' v='1.0.0'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.api.resource.runtime'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='org.apache.sling.api.resource.runtime.dto'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.api.scripting'/>
      <p n='version' t='version' v='2.3.0'/>
      <p n='uses:' v='javax.annotation,org.apache.sling.api,org.apache.sling.api.request,org.apache.sling.api.resource,org.slf4j'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.api.security'/>
      <p n='version' t='version' v='1.0.1'/>
      <p n='uses:' v='javax.annotation,org.apache.sling.api.resource'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.api.servlets'/>
      <p n='version' t='version' v='2.1.2'/>
      <p n='uses:' v='javax.annotation,javax.servlet,javax.servlet.http,org.apache.sling.api,org.apache.sling.api.resource'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.api.wrappers'/>
      <p n='version' t='version' v='2.5.0'/>
      <p n='uses:' v='javax.servlet,javax.servlet.http,org.apache.sling.api,org.apache.sling.api.request,org.apache.sling.api.resource'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.spi.resource.provider'/>
      <p n='version' t='version' v='1.0.1'/>
      <p n='uses:' v='javax.annotation,org.apache.sling.api.resource,org.apache.sling.api.resource.observation,org.apache.sling.api.resource.path'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.servlet)(version&gt;=2.4.0))' extend='false' multiple='false' optional='false'>Import package javax.servlet;version=2.4</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http)(version&gt;=2.4.0))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http;version=2.4</require>
    <require name='package' filter='(&amp;(package=javax.annotation))' extend='false' multiple='false' optional='false'>Import package javax.annotation</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.3.0)(!(version&gt;=2.4.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api;version="[2.3,2.4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.adapter)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.adapter;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.request)(version&gt;=2.4.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.request;version="[2.4,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.9.0)(!(version&gt;=2.10.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.9,2.10)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource.observation)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource.observation;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource.path)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource.path;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource.runtime.dto)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource.runtime.dto;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.wrappers)(version&gt;=2.5.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.wrappers;version="[2.5,3)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.7))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.7))</require>
  </resource>
  <resource id='org.apache.sling.api/2.12.0' symbolicname='org.apache.sling.api' presentationname='Apache Sling API' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.api/2.12.0/org.apache.sling.api-2.12.0.jar' version='2.12.0'>
    <description>The Apache Sling API defines an extension to the Servlet        API 2.4 to provide access to content and unified access        to request parameters hiding the differences between the        different methods of transferring parameters from client        to server. Note that the Apache Sling API bundle does not        include the Servlet API but instead requires the API to        be provided by the Servlet container in which the Apache        Sling framework is running or by another bundle.</description>
    <size>114330</size>
    <documentation>http://sling.apache.org/site/sling-api.html</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.api'/>
      <p n='presentationname' v='Apache Sling API'/>
      <p n='version' t='version' v='2.12.0'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.api'/>
      <p n='version' t='version' v='2.3.1'/>
      <p n='uses:' v='javax.annotation,javax.servlet,javax.servlet.http,org.apache.sling.api.adapter,org.apache.sling.api.request,org.apache.sling.api.resource'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.api.adapter'/>
      <p n='version' t='version' v='2.2.1'/>
      <p n='uses:' v='javax.annotation'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.api.auth'/>
      <p n='version' t='version' v='1.0.1'/>
      <p n='uses:' v='javax.annotation,javax.servlet.http,org.apache.sling.api'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.api.request'/>
      <p n='version' t='version' v='2.4.1'/>
      <p n='uses:' v='javax.annotation,javax.servlet,javax.servlet.http,org.apache.sling.api,org.apache.sling.api.resource'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.api.resource'/>
      <p n='version' t='version' v='2.9.1'/>
      <p n='uses:' v='javax.annotation,javax.servlet.http,org.apache.sling.api,org.apache.sling.api.adapter'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.api.resource.observation'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='javax.annotation'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.api.resource.path'/>
      <p n='version' t='version' v='1.0.0'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.api.resource.runtime'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='org.apache.sling.api.resource.runtime.dto'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.api.resource.runtime.dto'/>
      <p n='version' t='version' v='1.0.0'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.api.scripting'/>
      <p n='version' t='version' v='2.3.0'/>
      <p n='uses:' v='javax.annotation,org.apache.sling.api,org.apache.sling.api.request,org.apache.sling.api.resource,org.slf4j'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.api.security'/>
      <p n='version' t='version' v='1.0.1'/>
      <p n='uses:' v='javax.annotation,org.apache.sling.api.resource'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.api.servlets'/>
      <p n='version' t='version' v='2.1.2'/>
      <p n='uses:' v='javax.annotation,javax.servlet,javax.servlet.http,org.apache.sling.api,org.apache.sling.api.resource'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.api.wrappers'/>
      <p n='version' t='version' v='2.5.0'/>
      <p n='uses:' v='javax.servlet,javax.servlet.http,org.apache.sling.api,org.apache.sling.api.request,org.apache.sling.api.resource'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.spi.resource.provider'/>
      <p n='version' t='version' v='1.0.1'/>
      <p n='uses:' v='javax.annotation,org.apache.sling.api.resource,org.apache.sling.api.resource.observation,org.apache.sling.api.resource.path'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.servlet)(version&gt;=2.4.0))' extend='false' multiple='false' optional='false'>Import package javax.servlet;version=2.4</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http)(version&gt;=2.4.0))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http;version=2.4</require>
    <require name='package' filter='(&amp;(package=javax.annotation))' extend='false' multiple='false' optional='false'>Import package javax.annotation</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.3.0)(!(version&gt;=2.4.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api;version="[2.3,2.4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.adapter)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.adapter;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.request)(version&gt;=2.4.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.request;version="[2.4,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.9.0)(!(version&gt;=2.10.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.9,2.10)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource.observation)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource.observation;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource.path)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource.path;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource.runtime.dto)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource.runtime.dto;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.wrappers)(version&gt;=2.5.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.wrappers;version="[2.5,3)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.api/2.1.0' symbolicname='org.apache.sling.api' presentationname='Apache Sling API' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.api/2.1.0/org.apache.sling.api-2.1.0.jar' version='2.1.0'>
    <description>The Apache Sling API defines an extension to the Servlet        API 2.4 to provide access to content and unified access        to request parameters hiding the differences between the        different methods of transferring parameters from client        to server. Note that the Apache Sling API bundle does not        include the Servlet API but instead requires the API to        be provided by the Servlet container in which the Apache        Sling framework is running or by another bundle.</description>
    <size>66050</size>
    <documentation>http://sling.apache.org/site/sling-api.html</documentation>
    <source>org/apache/sling/org.apache.sling.api/2.1.0/org.apache.sling.api-2.1.0-sources.jar</source>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='org.apache.sling'/>
    <capability name='bundle'>
      <p n='manifestversion' v='2'/>
      <p n='presentationname' v='Apache Sling API'/>
      <p n='symbolicname' v='org.apache.sling.api'/>
      <p n='version' t='version' v='2.1.0'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.api'/>
      <p n='uses:' v='javax.servlet,org.apache.sling.api.request,org.apache.sling.api.adapter,org.apache.sling.api.resource,javax.servlet.http'/>
      <p n='version' t='version' v='2.1.0'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.api.adapter'/>
      <p n='version' t='version' v='2.1.0'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.api.auth'/>
      <p n='uses:' v='javax.servlet.http,org.apache.sling.api'/>
      <p n='version' t='version' v='1.0.0'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.api.request'/>
      <p n='uses:' v='org.apache.sling.api,javax.servlet,javax.servlet.http'/>
      <p n='version' t='version' v='2.1.0'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.api.resource'/>
      <p n='uses:' v='org.apache.sling.api.adapter,org.apache.sling.api,javax.servlet.http,org.apache.sling.api.wrappers'/>
      <p n='version' t='version' v='2.1.0'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.api.scripting'/>
      <p n='uses:' v='org.apache.sling.api,org.slf4j,org.apache.sling.api.resource,org.apache.sling.api.request'/>
      <p n='version' t='version' v='2.1.0'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.api.servlets'/>
      <p n='uses:' v='javax.servlet.http,javax.servlet,org.apache.sling.api,org.apache.sling.api.resource,org.apache.sling.api.wrappers'/>
      <p n='version' t='version' v='2.1.0'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.api.wrappers'/>
      <p n='uses:' v='javax.servlet,org.apache.sling.api.request,org.apache.sling.api,org.apache.sling.api.resource,javax.servlet.http'/>
      <p n='version' t='version' v='2.1.0'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.servlet)(version&gt;=2.4.0))' extend='false' multiple='false' optional='false'>Import package javax.servlet ;version=2.4.0</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http)(version&gt;=2.4.0))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http ;version=2.4.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.1.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api ;version=2.1.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.adapter)(version&gt;=2.1.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.adapter ;version=2.1.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.auth)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.auth ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.request)(version&gt;=2.1.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.request ;version=2.1.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.1.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource ;version=2.1.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.scripting)(version&gt;=2.1.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.scripting ;version=2.1.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.servlets)(version&gt;=2.1.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.servlets ;version=2.1.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.wrappers)(version&gt;=2.1.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.wrappers ;version=2.1.0</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0))' extend='false' multiple='false' optional='false'>Import package org.slf4j ;version=1.5.0</require>
  </resource>
  <resource id='org.apache.sling.api/2.0.4.incubator' symbolicname='org.apache.sling.api' presentationname='Apache Sling API' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.api/2.0.4.incubator/org.apache.sling.api-2.0.4.incubator.jar' version='2.0.4.incubator'>
    <description>The Apache Sling API defines an extension to the Servlet        API 2.4 to provide access to content and unified access        to request parameters hiding the differences between the        different methods of transferring parameters from client        to server. Note that the Apache Sling API bundle does not        include the Servlet API but instead requires the API to        be provided by the Servlet container in which the Apache        Sling framework is running or by another bundle.</description>
    <size>52065</size>
    <documentation>http://incubator.apache.org/sling/site/sling-api.html</documentation>
    <source>org/apache/sling/org.apache.sling.api/2.0.4-incubator/org.apache.sling.api-2.0.4-incubator-sources.jar</source>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='org.apache.sling'/>
    <capability name='bundle'>
      <p n='manifestversion' v='2'/>
      <p n='presentationname' v='Apache Sling API'/>
      <p n='symbolicname' v='org.apache.sling.api'/>
      <p n='version' t='version' v='2.0.4.incubator'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.api.servlets'/>
      <p n='uses:' v='javax.servlet,org.apache.sling.api,org.apache.sling.api.wrappers,javax.servlet.http'/>
      <p n='version' t='version' v='2.0.4.incubator'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.api.request'/>
      <p n='uses:' v='org.apache.sling.api'/>
      <p n='version' t='version' v='2.0.4.incubator'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.api.scripting'/>
      <p n='uses:' v='org.apache.sling.api.request,org.apache.sling.api,org.slf4j,org.apache.sling.api.resource'/>
      <p n='version' t='version' v='2.0.4.incubator'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.api'/>
      <p n='uses:' v='javax.servlet,org.apache.sling.api.request,javax.servlet.http,org.apache.sling.api.resource'/>
      <p n='version' t='version' v='2.0.4.incubator'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.api.adapter'/>
      <p n='version' t='version' v='2.0.4.incubator'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.api.wrappers'/>
      <p n='uses:' v='javax.servlet,org.apache.sling.api.request,org.apache.sling.api,javax.servlet.http,org.apache.sling.api.resource'/>
      <p n='version' t='version' v='2.0.4.incubator'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.api.resource'/>
      <p n='uses:' v='org.apache.sling.api,org.apache.sling.api.adapter,org.apache.sling.api.wrappers,javax.servlet.http'/>
      <p n='version' t='version' v='2.0.4.incubator'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.servlet)(version&gt;=2.4.0))' extend='false' multiple='false' optional='false'>Import package javax.servlet ;version=2.4.0</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http)(version&gt;=2.4.0))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http ;version=2.4.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.0.4.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api ;version=2.0.4.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.adapter)(version&gt;=2.0.4.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.adapter ;version=2.0.4.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.request)(version&gt;=2.0.4.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.request ;version=2.0.4.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.0.4.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource ;version=2.0.4.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.scripting)(version&gt;=2.0.4.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.scripting ;version=2.0.4.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.servlets)(version&gt;=2.0.4.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.servlets ;version=2.0.4.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.wrappers)(version&gt;=2.0.4.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.wrappers ;version=2.0.4.incubator</require>
    <require name='package' filter='(&amp;(package=org.slf4j))' extend='false' multiple='false' optional='false'>Import package org.slf4j</require>
  </resource>
  <resource id='org.apache.sling.api/2.14.2' symbolicname='org.apache.sling.api' presentationname='Apache Sling API' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.api-2.14.2.jar' version='2.14.2'>
    <description>The Apache Sling API defines an extension to the Servlet        API 2.4 to provide access to content and unified access        to request parameters hiding the differences between the        different methods of transferring parameters from client        to server. Note that the Apache Sling API bundle does not        include the Servlet API but instead requires the API to        be provided by the Servlet container in which the Apache        Sling framework is running or by another bundle.</description>
    <size>115538</size>
    <documentation>http://sling.apache.org/site/sling-api.html</documentation>
    <license>https://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.api'/>
      <p n='presentationname' v='Apache Sling API'/>
      <p n='version' t='version' v='2.14.2'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.api.adapter'/>
      <p n='version' t='version' v='2.2.2'/>
      <p n='uses:' v='javax.annotation'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.api.auth'/>
      <p n='version' t='version' v='1.0.2'/>
      <p n='uses:' v='javax.annotation,javax.servlet.http,org.apache.sling.api'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.api'/>
      <p n='version' t='version' v='2.3.2'/>
      <p n='uses:' v='javax.annotation,javax.servlet,javax.servlet.http,org.apache.sling.api.adapter,org.apache.sling.api.request,org.apache.sling.api.resource'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.api.request'/>
      <p n='version' t='version' v='2.4.2'/>
      <p n='uses:' v='javax.annotation,javax.servlet,javax.servlet.http,org.apache.sling.api,org.apache.sling.api.resource'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.api.resource'/>
      <p n='version' t='version' v='2.9.2'/>
      <p n='uses:' v='javax.annotation,javax.servlet.http,org.apache.sling.api,org.apache.sling.api.adapter'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.api.resource.observation'/>
      <p n='version' t='version' v='1.1.1'/>
      <p n='uses:' v='javax.annotation'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.api.resource.path'/>
      <p n='version' t='version' v='1.1.1'/>
      <p n='uses:' v='javax.annotation'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.api.resource.runtime.dto'/>
      <p n='version' t='version' v='1.0.0'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.api.resource.runtime'/>
      <p n='version' t='version' v='1.0.1'/>
      <p n='uses:' v='org.apache.sling.api.resource.runtime.dto'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.api.scripting'/>
      <p n='version' t='version' v='2.3.1'/>
      <p n='uses:' v='javax.annotation,org.apache.sling.api,org.apache.sling.api.request,org.apache.sling.api.resource,org.slf4j'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.api.security'/>
      <p n='version' t='version' v='1.0.2'/>
      <p n='uses:' v='javax.annotation,org.apache.sling.api.resource'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.api.servlets'/>
      <p n='version' t='version' v='2.1.3'/>
      <p n='uses:' v='javax.annotation,javax.servlet,javax.servlet.http,org.apache.sling.api,org.apache.sling.api.resource'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.api.wrappers'/>
      <p n='version' t='version' v='2.5.0'/>
      <p n='uses:' v='javax.servlet,javax.servlet.http,org.apache.sling.api,org.apache.sling.api.request,org.apache.sling.api.resource'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.spi.resource.provider'/>
      <p n='version' t='version' v='1.0.2'/>
      <p n='uses:' v='javax.annotation,org.apache.sling.api.resource,org.apache.sling.api.resource.observation,org.apache.sling.api.resource.path'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.annotation))' extend='false' multiple='false' optional='false'>Import package javax.annotation</require>
    <require name='package' filter='(&amp;(package=javax.servlet)(version&gt;=3.1.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.servlet;version="[3.1,4)"</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http)(version&gt;=3.1.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http;version="[3.1,4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.3.0)(!(version&gt;=2.4.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api;version="[2.3,2.4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.adapter)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.adapter;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.request)(version&gt;=2.4.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.request;version="[2.4,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.9.0)(!(version&gt;=2.10.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.9,2.10)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource.observation)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource.observation;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource.path)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource.path;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource.runtime.dto)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource.runtime.dto;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.wrappers)(version&gt;=2.5.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.wrappers;version="[2.5,3)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.7.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.7,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.7))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.7))</require>
  </resource>
  <resource id='org.apache.sling.api/2.0.6' symbolicname='org.apache.sling.api' presentationname='Apache Sling API' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.api/2.0.6/org.apache.sling.api-2.0.6.jar' version='2.0.6'>
    <description>The Apache Sling API defines an extension to the Servlet        API 2.4 to provide access to content and unified access        to request parameters hiding the differences between the        different methods of transferring parameters from client        to server. Note that the Apache Sling API bundle does not        include the Servlet API but instead requires the API to        be provided by the Servlet container in which the Apache        Sling framework is running or by another bundle.</description>
    <size>55472</size>
    <documentation>http://sling.apache.org/site/sling-api.html</documentation>
    <source>org/apache/sling/org.apache.sling.api/2.0.6/org.apache.sling.api-2.0.6-sources.jar</source>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='org.apache.sling'/>
    <capability name='bundle'>
      <p n='manifestversion' v='2'/>
      <p n='presentationname' v='Apache Sling API'/>
      <p n='symbolicname' v='org.apache.sling.api'/>
      <p n='version' t='version' v='2.0.6'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.api.servlets'/>
      <p n='uses' v='javax.servlet.http,javax.servlet,org.apache.sling.api,org.apache.sling.api.wrappers'/>
      <p n='version' t='version' v='2.0.6'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.api.adapter'/>
      <p n='version' t='version' v='2.0.6'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.api.resource'/>
      <p n='uses' v='org.apache.sling.api,org.apache.sling.api.adapter,javax.servlet.http,org.apache.sling.api.wrappers'/>
      <p n='version' t='version' v='2.0.6'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.api.wrappers'/>
      <p n='uses' v='javax.servlet.http,javax.servlet,org.apache.sling.api.resource,org.apache.sling.api.request,org.apache.sling.api'/>
      <p n='version' t='version' v='2.0.6'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.api.request'/>
      <p n='uses' v='org.apache.sling.api'/>
      <p n='version' t='version' v='2.0.6'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.api.scripting'/>
      <p n='uses' v='org.apache.sling.api,org.apache.sling.api.resource,org.slf4j,org.apache.sling.api.request'/>
      <p n='version' t='version' v='2.0.6'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.api'/>
      <p n='uses' v='javax.servlet.http,javax.servlet,org.apache.sling.api.adapter,org.apache.sling.api.resource,org.apache.sling.api.request'/>
      <p n='version' t='version' v='2.0.6'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.servlet)(version&gt;=2.4.0))' extend='false' multiple='false' optional='false'>Import package javax.servlet ;version=2.4.0</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http)(version&gt;=2.4.0))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http ;version=2.4.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.adapter)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.adapter ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.request)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.request ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.scripting)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.scripting ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.servlets)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.servlets ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.wrappers)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.wrappers ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0))' extend='false' multiple='false' optional='false'>Import package org.slf4j ;version=1.5.0</require>
  </resource>
  <resource id='org.apache.sling.auth.selector/1.0.6' symbolicname='org.apache.sling.auth.selector' presentationname='Apache Sling Authentication Selector' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.auth.selector/1.0.6/org.apache.sling.auth.selector-1.0.6.jar' version='1.0.6'>
    <description>Bundle implementing a Sling Authentication Handler which        allows for choosing which actual authentication handler        is to be used delegating the actual credential handling        to concrete handlers. The selector handler only presents        HTML forms to provide credential data such as username        and password for the Formbased Authentication Handler        or an OpenID identifier for the OpenID Authentication        Handler.</description>
    <size>19122</size>
    <documentation>http://sling.apache.org/site/openid-authenticationhandler.html</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.auth.selector'/>
      <p n='presentationname' v='Apache Sling Authentication Selector'/>
      <p n='version' t='version' v='1.0.6'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.auth.selector'/>
      <p n='version' t='version' v='1.0.6'/>
      <p n='uses:' v='javax.servlet.http,org.apache.sling.auth.core.spi'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.lang))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.lang</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.auth.core)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.auth.core;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.auth.core.spi)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.auth.core.spi;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.auth.form)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.auth.form;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.auth.openid)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.auth.openid;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.event))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.event</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=J2SE-1.5))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=J2SE-1.5))</require>
  </resource>
  <resource id='org.apache.sling.auth.core/1.3.6' symbolicname='org.apache.sling.auth.core' presentationname='Apache Sling Authentication Service' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.auth.core/1.3.6/org.apache.sling.auth.core-1.3.6.jar' version='1.3.6'>
    <description>The Sling Authentication Service bundle provides the basic        mechanisms to authenticate HTTP requests with a JCR repository.        The algorithms for extracting authentication details from the        requests is extensible by implementing an AuthenticationHandler        interface.</description>
    <size>88398</size>
    <documentation>http://sling.apache.org/site/authentication.html</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.auth.core'/>
      <p n='presentationname' v='Apache Sling Authentication Service'/>
      <p n='version' t='version' v='1.3.6'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.auth.core'/>
      <p n='version' t='version' v='1.2.0'/>
      <p n='uses:' v='javax.servlet.http'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.auth.core.spi'/>
      <p n='version' t='version' v='1.1.0'/>
      <p n='uses:' v='javax.servlet.http,org.apache.sling.api.resource'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.engine.auth'/>
      <p n='version' t='version' v='2.0.6'/>
      <p n='uses:' v='javax.servlet.http,org.apache.sling.api'/>
    </capability>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.auth)(version&gt;=1.0.0)(!(version&gt;=1.1.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.auth;version="[1.0,1.1)"</require>
    <require name='package' filter='(&amp;(package=javax.security.auth.login))' extend='false' multiple='false' optional='false'>Import package javax.security.auth.login</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.request)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.request;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.servlets)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.servlets;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.auth.core)(version&gt;=1.2.0)(!(version&gt;=1.3.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.auth.core;version="[1.2,1.3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.auth.core.spi)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.auth.core.spi;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.engine.auth)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.engine.auth;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.event)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.event;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.util.tracker)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.util.tracker;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=J2SE-1.5))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=J2SE-1.5))</require>
  </resource>
  <resource id='org.apache.sling.auth.core/1.3.10' symbolicname='org.apache.sling.auth.core' presentationname='Apache Sling Authentication Service' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.auth.core/1.3.10/org.apache.sling.auth.core-1.3.10.jar' version='1.3.10'>
    <description>The Sling Authentication Service bundle provides the basic        mechanisms to authenticate HTTP requests with a JCR repository.        The algorithms for extracting authentication details from the        requests is extensible by implementing an AuthenticationHandler        interface.</description>
    <size>90860</size>
    <documentation>http://sling.apache.org/site/authentication.html</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.auth.core'/>
      <p n='presentationname' v='Apache Sling Authentication Service'/>
      <p n='version' t='version' v='1.3.10'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.auth.core'/>
      <p n='version' t='version' v='1.2.0'/>
      <p n='uses:' v='javax.servlet.http'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.auth.core.spi'/>
      <p n='version' t='version' v='1.1.0'/>
      <p n='uses:' v='javax.servlet.http,org.apache.sling.api.resource'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.engine.auth'/>
      <p n='version' t='version' v='2.0.6'/>
      <p n='uses:' v='javax.servlet.http,org.apache.sling.api'/>
    </capability>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.auth)(version&gt;=1.0.0)(!(version&gt;=1.1.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.auth;version="[1.0,1.1)"</require>
    <require name='package' filter='(&amp;(package=javax.security.auth.login))' extend='false' multiple='false' optional='false'>Import package javax.security.auth.login</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.request)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.request;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.servlets)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.servlets;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.auth.core)(version&gt;=1.2.0)(!(version&gt;=1.3.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.auth.core;version="[1.2,1.3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.auth.core.spi)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.auth.core.spi;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.engine.auth)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.engine.auth;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.event)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.event;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.util.tracker)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.util.tracker;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.auth.core/1.3.16' symbolicname='org.apache.sling.auth.core' presentationname='Apache Sling Authentication Service' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.auth.core/1.3.16/org.apache.sling.auth.core-1.3.16.jar' version='1.3.16'>
    <description>The Sling Authentication Service bundle provides the basic        mechanisms to authenticate HTTP requests with a JCR repository.        The algorithms for extracting authentication details from the        requests is extensible by implementing an AuthenticationHandler        interface.</description>
    <size>91544</size>
    <documentation>http://sling.apache.org/site/authentication.html</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.auth.core'/>
      <p n='presentationname' v='Apache Sling Authentication Service'/>
      <p n='version' t='version' v='1.3.16'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.auth.core'/>
      <p n='version' t='version' v='1.2.0'/>
      <p n='uses:' v='javax.servlet.http'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.auth.core.spi'/>
      <p n='version' t='version' v='1.2.0'/>
      <p n='uses:' v='javax.servlet.http,org.apache.sling.api.resource'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.engine.auth'/>
      <p n='version' t='version' v='2.0.6'/>
      <p n='uses:' v='javax.servlet.http,org.apache.sling.api'/>
    </capability>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.auth)(version&gt;=1.0.0)(!(version&gt;=1.1.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.auth;version="[1.0,1.1)"</require>
    <require name='package' filter='(&amp;(package=javax.security.auth.login))' extend='false' multiple='false' optional='false'>Import package javax.security.auth.login</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.request)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.request;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.servlets)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.servlets;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.auth.core)(version&gt;=1.2.0)(!(version&gt;=1.3.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.auth.core;version="[1.2,1.3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.auth.core.spi)(version&gt;=1.2.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.auth.core.spi;version="[1.2,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.engine.auth)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.engine.auth;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.event)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.event;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.util.tracker)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.util.tracker;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.auth.xing.api/0.0.2' symbolicname='org.apache.sling.auth.xing.api' presentationname='Apache Sling Authentication XING API' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.auth.xing.api/0.0.2/org.apache.sling.auth.xing.api-0.0.2.jar' version='0.0.2'>
    <description>Apache Sling Authentication XING API</description>
    <size>12826</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.auth.xing.api'/>
      <p n='presentationname' v='Apache Sling Authentication XING API'/>
      <p n='version' t='version' v='0.0.2'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.auth.xing.api'/>
      <p n='version' t='version' v='0.0.2'/>
      <p n='uses:' v='javax.jcr,org.apache.jackrabbit.api.security.user,org.apache.sling.jcr.api'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.auth.xing.api.users'/>
      <p n='version' t='version' v='0.0.2'/>
      <p n='uses:' v='org.apache.sling.auth.xing.api'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr))' extend='false' multiple='false' optional='false'>Import package javax.jcr</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.api)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.api;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.api.security.user)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.api.security.user;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.api)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.api;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.7.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.7,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.auth.xing.login/0.0.2' symbolicname='org.apache.sling.auth.xing.login' presentationname='Apache Sling Authentication XING Login' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.auth.xing.login/0.0.2/org.apache.sling.auth.xing.login-0.0.2.jar' version='0.0.2'>
    <description>The parent project for Apache Sling</description>
    <size>225586</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.auth.xing.login'/>
      <p n='presentationname' v='Apache Sling Authentication XING Login'/>
      <p n='version' t='version' v='0.0.2'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.auth.xing.login'/>
      <p n='version' t='version' v='0.0.2'/>
      <p n='uses:' v='javax.jcr,org.apache.jackrabbit.api.security.user,org.apache.sling.auth.xing.api'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.crypto))' extend='false' multiple='false' optional='false'>Import package javax.crypto</require>
    <require name='package' filter='(&amp;(package=javax.crypto.spec))' extend='false' multiple='false' optional='false'>Import package javax.crypto.spec</require>
    <require name='package' filter='(&amp;(package=javax.jcr))' extend='false' multiple='false' optional='false'>Import package javax.jcr</require>
    <require name='package' filter='(&amp;(package=javax.security.auth.callback))' extend='false' multiple='false' optional='false'>Import package javax.security.auth.callback</require>
    <require name='package' filter='(&amp;(package=javax.security.auth.login))' extend='false' multiple='false' optional='false'>Import package javax.security.auth.login</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.codec.binary)(version&gt;=1.9.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.codec.binary;version="[1.9,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.lang)(version&gt;=2.6.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.lang;version="[2.6,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.api.security.user)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.api.security.user;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.auth.core)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.auth.core;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.auth.core.spi)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.auth.core.spi;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.auth.xing.api)(!(version&gt;=0.1.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.auth.xing.api;version="[0.0,0.1)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.api)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.api;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.jackrabbit.server.security)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.jackrabbit.server.security;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.7.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.7,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.auth.xing.oauth/0.0.2' symbolicname='org.apache.sling.auth.xing.oauth' presentationname='Apache Sling Authentication XING OAuth' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.auth.xing.oauth/0.0.2/org.apache.sling.auth.xing.oauth-0.0.2.jar' version='0.0.2'>
    <description>Apache Sling Authentication XING OAuth</description>
    <size>315088</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.auth.xing.oauth'/>
      <p n='presentationname' v='Apache Sling Authentication XING OAuth'/>
      <p n='version' t='version' v='0.0.2'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.auth.xing.oauth'/>
      <p n='version' t='version' v='0.0.2'/>
      <p n='uses:' v='javax.jcr,org.apache.sling.auth.xing.api'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.crypto))' extend='false' multiple='false' optional='false'>Import package javax.crypto</require>
    <require name='package' filter='(&amp;(package=javax.crypto.spec))' extend='false' multiple='false' optional='false'>Import package javax.crypto.spec</require>
    <require name='package' filter='(&amp;(package=javax.jcr))' extend='false' multiple='false' optional='false'>Import package javax.jcr</require>
    <require name='package' filter='(&amp;(package=javax.security.auth.callback))' extend='false' multiple='false' optional='false'>Import package javax.security.auth.callback</require>
    <require name='package' filter='(&amp;(package=javax.security.auth.login))' extend='false' multiple='false' optional='false'>Import package javax.security.auth.login</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=javax.xml.bind))' extend='false' multiple='false' optional='false'>Import package javax.xml.bind</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.codec.binary))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.codec.binary</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.lang)(version&gt;=2.6.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.lang;version="[2.6,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.api.security.user)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.api.security.user;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.auth.core.spi)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.auth.core.spi;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.auth.xing.api)(!(version&gt;=0.1.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.auth.xing.api;version="[0.0,0.1)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.auth.xing.api.users)(!(version&gt;=1.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.auth.xing.api.users;version="[0.0,1)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.api)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.api;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.jackrabbit.server.security)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.jackrabbit.server.security;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.7.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.7,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.bgservlets/1.0.6' symbolicname='org.apache.sling.bgservlets' presentationname='Apache Sling Background Servlets Engine' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.bgservlets/1.0.6/org.apache.sling.bgservlets-1.0.6.jar' version='1.0.6'>
    <description>Allows scripts and servlets to run as background tasks    which can be suspended, resumed, stopped and restarted.</description>
    <size>85375</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.bgservlets'/>
      <p n='presentationname' v='Apache Sling Background Servlets Engine'/>
      <p n='version' t='version' v='1.0.6'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.bgservlets'/>
      <p n='version' t='version' v='1.0.6'/>
      <p n='uses:' v='javax.jcr,javax.servlet,javax.servlet.http'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.jcr.query)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr.query;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.felix.webconsole)(version&gt;=3.0.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.felix.webconsole;version="[3.0,4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.request)(version&gt;=2.4.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.request;version="[2.4,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.6.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.6,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.servlets)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.servlets;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.bgservlets))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.bgservlets</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json.io)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json.io;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.engine)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.engine;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.api)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.api;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.settings)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.settings;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.util.tracker)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.util.tracker;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=J2SE-1.5))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=J2SE-1.5))</require>
  </resource>
  <resource id='org.apache.sling.bgservlets/1.0.0' symbolicname='org.apache.sling.bgservlets' presentationname='Apache Sling Background Servlets Engine' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.bgservlets/1.0.0/org.apache.sling.bgservlets-1.0.0.jar' version='1.0.0'>
    <description>Allows scripts and servlets to run as background tasks    which can be suspended, resumed, stopped and restarted.</description>
    <size>83698</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.bgservlets'/>
      <p n='presentationname' v='Apache Sling Background Servlets Engine'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.bgservlets'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='javax.jcr,javax.servlet,javax.servlet.http'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.jcr.query)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr.query;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.felix.webconsole)(version&gt;=3.0.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.felix.webconsole;version="[3.0,4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.request)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.request;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.servlets)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.servlets;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.bgservlets))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.bgservlets</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json.io)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json.io;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.engine)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.engine;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.api)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.api;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.util.tracker)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.util.tracker;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=J2SE-1.5))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=J2SE-1.5))</require>
  </resource>
  <resource id='org.apache.sling.bundleresource.impl/2.2.0' symbolicname='org.apache.sling.bundleresource.impl' presentationname='Apache Sling Bundle Resource Provider' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.bundleresource.impl/2.2.0/org.apache.sling.bundleresource.impl-2.2.0.jar' version='2.2.0'>
    <description>Provides a ResourceProvider implementation supporting bundle        based resources.</description>
    <size>35873</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.bundleresource.impl'/>
      <p n='presentationname' v='Apache Sling Bundle Resource Provider'/>
      <p n='version' t='version' v='2.2.0'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=J2SE-1.5))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=J2SE-1.5))</require>
  </resource>
  <resource id='org.apache.sling.bundleresource.impl/2.0.4.incubator' symbolicname='org.apache.sling.bundleresource.impl' presentationname='Apache Sling Bundle Resource Provider' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.bundleresource.impl/2.0.4.incubator/org.apache.sling.bundleresource.impl-2.0.4.incubator.jar' version='2.0.4.incubator'>
    <description>Provides a ResourceProvider implementation supporting bundle        based resources.</description>
    <size>36704</size>
    <documentation>http://incubator.apache.org/sling</documentation>
    <source>org/apache/sling/org.apache.sling.bundleresource.impl/2.0.4-incubator/org.apache.sling.bundleresource.impl-2.0.4-incubator-sources.jar</source>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='org.apache.sling'/>
    <capability name='bundle'>
      <p n='manifestversion' v='2'/>
      <p n='presentationname' v='Apache Sling Bundle Resource Provider'/>
      <p n='symbolicname' v='org.apache.sling.bundleresource.impl'/>
      <p n='version' t='version' v='2.0.4.incubator'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.adapter)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.adapter ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework</require>
    <require name='package' filter='(&amp;(package=org.slf4j))' extend='false' multiple='false' optional='false'>Import package org.slf4j</require>
  </resource>
  <resource id='org.apache.sling.commons.fsclassloader/1.0.0' symbolicname='org.apache.sling.commons.fsclassloader' presentationname='Apache Sling Commons FileSystem ClassLoader' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.commons.fsclassloader/1.0.0/org.apache.sling.commons.fsclassloader-1.0.0.jar' version='1.0.0'>
    <description>The Sling Commons FileSystem ClassLoader bundle provides a dynamic class loader for reading        and writing class files from and to the file system.</description>
    <size>13859</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.commons.fsclassloader'/>
      <p n='presentationname' v='Apache Sling Commons FileSystem ClassLoader'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.classloader)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.classloader;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=J2SE-1.5))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=J2SE-1.5))</require>
  </resource>
  <resource id='org.apache.sling.commons.fsclassloader/1.0.2' symbolicname='org.apache.sling.commons.fsclassloader' presentationname='Apache Sling Commons FileSystem ClassLoader' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.commons.fsclassloader/1.0.2/org.apache.sling.commons.fsclassloader-1.0.2.jar' version='1.0.2'>
    <description>The Sling Commons FileSystem ClassLoader bundle provides a dynamic class loader for reading        and writing class files from and to the file system.</description>
    <size>28410</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.commons.fsclassloader'/>
      <p n='presentationname' v='Apache Sling Commons FileSystem ClassLoader'/>
      <p n='version' t='version' v='1.0.2'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.io)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.io;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.lang)(version&gt;=2.5.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.lang;version="[2.5,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.felix.webconsole)(version&gt;=3.0.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.felix.webconsole;version="[3.0,4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.classloader)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.classloader;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=J2SE-1.5))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=J2SE-1.5))</require>
  </resource>
  <resource id='org.apache.sling.commons.html/1.0.0' symbolicname='org.apache.sling.commons.html' presentationname='Apache Sling Commons HTML Utilities' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.commons.html/1.0.0/org.apache.sling.commons.html-1.0.0.jar' version='1.0.0'>
    <description>The Sling Commons HTML bundle provides utility classes for parsing and creating HTML.</description>
    <size>103326</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.commons.html'/>
      <p n='presentationname' v='Apache Sling Commons HTML Utilities'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.commons.html'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='org.xml.sax,org.w3c.dom'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.xml.parsers))' extend='false' multiple='false' optional='false'>Import package javax.xml.parsers</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform.dom))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform.dom</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform.sax))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform.sax</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.html)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.html;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom</require>
    <require name='package' filter='(&amp;(package=org.xml.sax))' extend='false' multiple='false' optional='false'>Import package org.xml.sax</require>
    <require name='package' filter='(&amp;(package=org.xml.sax.ext))' extend='false' multiple='false' optional='false'>Import package org.xml.sax.ext</require>
    <require name='package' filter='(&amp;(package=org.xml.sax.helpers))' extend='false' multiple='false' optional='false'>Import package org.xml.sax.helpers</require>
  </resource>
  <resource id='org.apache.sling.commons.compiler/2.2.0' symbolicname='org.apache.sling.commons.compiler' presentationname='Apache Sling Commons Java Compiler' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.commons.compiler/2.2.0/org.apache.sling.commons.compiler-2.2.0.jar' version='2.2.0'>
    <description>The Sling Commons Java Compiler bundle provides platform independant Java Compilation         support using the Eclipse Java Compiler (org.eclipse.jdt).</description>
    <size>2210669</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.commons.compiler'/>
      <p n='presentationname' v='Apache Sling Commons Java Compiler'/>
      <p n='version' t='version' v='2.2.0'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.commons.compiler'/>
      <p n='version' t='version' v='2.1.0'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.annotation.processing))' extend='false' multiple='false' optional='false'>Import package javax.annotation.processing</require>
    <require name='package' filter='(&amp;(package=javax.lang.model))' extend='false' multiple='false' optional='false'>Import package javax.lang.model</require>
    <require name='package' filter='(&amp;(package=javax.lang.model.element))' extend='false' multiple='false' optional='false'>Import package javax.lang.model.element</require>
    <require name='package' filter='(&amp;(package=javax.lang.model.type))' extend='false' multiple='false' optional='false'>Import package javax.lang.model.type</require>
    <require name='package' filter='(&amp;(package=javax.lang.model.util))' extend='false' multiple='false' optional='false'>Import package javax.lang.model.util</require>
    <require name='package' filter='(&amp;(package=javax.tools))' extend='false' multiple='false' optional='false'>Import package javax.tools</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.classloader)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.classloader;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.compiler)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.compiler;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.commons.compiler/2.3.0' symbolicname='org.apache.sling.commons.compiler' presentationname='Apache Sling Commons Java Compiler' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.commons.compiler/2.3.0/org.apache.sling.commons.compiler-2.3.0.jar' version='2.3.0'>
    <description>The Sling Commons Java Compiler bundle provides platform independant Java Compilation         support using the Eclipse Java Compiler (org.eclipse.jdt).</description>
    <size>2318832</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.commons.compiler'/>
      <p n='presentationname' v='Apache Sling Commons Java Compiler'/>
      <p n='version' t='version' v='2.3.0'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.commons.compiler'/>
      <p n='version' t='version' v='2.1.0'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.annotation.processing))' extend='false' multiple='false' optional='false'>Import package javax.annotation.processing</require>
    <require name='package' filter='(&amp;(package=javax.lang.model))' extend='false' multiple='false' optional='false'>Import package javax.lang.model</require>
    <require name='package' filter='(&amp;(package=javax.lang.model.element))' extend='false' multiple='false' optional='false'>Import package javax.lang.model.element</require>
    <require name='package' filter='(&amp;(package=javax.lang.model.type))' extend='false' multiple='false' optional='false'>Import package javax.lang.model.type</require>
    <require name='package' filter='(&amp;(package=javax.lang.model.util))' extend='false' multiple='false' optional='false'>Import package javax.lang.model.util</require>
    <require name='package' filter='(&amp;(package=javax.tools))' extend='false' multiple='false' optional='false'>Import package javax.tools</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.classloader)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.classloader;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.compiler)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.compiler;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.7))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.7))</require>
  </resource>
  <resource id='org.apache.sling.commons.osgi/2.4.0' symbolicname='org.apache.sling.commons.osgi' presentationname='Apache Sling Commons OSGi support' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.commons.osgi/2.4.0/org.apache.sling.commons.osgi-2.4.0.jar' version='2.4.0'>
    <description>Commons OSGi</description>
    <size>33653</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.commons.osgi'/>
      <p n='presentationname' v='Apache Sling Commons OSGi support'/>
      <p n='version' t='version' v='2.4.0'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.commons.osgi'/>
      <p n='version' t='version' v='2.4.0'/>
      <p n='uses:' v='org.osgi.framework,org.osgi.service.event,org.osgi.util.tracker'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.commons.osgi.bundleversion'/>
      <p n='version' t='version' v='2.2.0'/>
      <p n='uses:' v='org.osgi.framework'/>
    </capability>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.event)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.event;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.util.tracker)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.util.tracker;version="[1.3,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.commons.osgi/2.0.4.incubator' symbolicname='org.apache.sling.commons.osgi' presentationname='Apache Sling Commons OSGi support' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.commons.osgi/2.0.4.incubator/org.apache.sling.commons.osgi-2.0.4.incubator.jar' version='2.0.4.incubator'>
    <description>Commons OSGi</description>
    <size>16006</size>
    <documentation>http://incubator.apache.org/sling</documentation>
    <source>org/apache/sling/org.apache.sling.commons.osgi/2.0.4-incubator/org.apache.sling.commons.osgi-2.0.4-incubator-sources.jar</source>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='org.apache.sling'/>
    <capability name='bundle'>
      <p n='manifestversion' v='2'/>
      <p n='presentationname' v='Apache Sling Commons OSGi support'/>
      <p n='symbolicname' v='org.apache.sling.commons.osgi'/>
      <p n='version' t='version' v='2.0.4.incubator'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.commons.osgi'/>
      <p n='uses:' v='org.osgi.service.event,org.osgi.framework'/>
      <p n='version' t='version' v='2.0.4.incubator'/>
    </capability>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.0.4.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi ;version=2.0.4.incubator</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.event))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.event</require>
  </resource>
  <resource id='org.apache.sling.commons.osgi/2.2.2' symbolicname='org.apache.sling.commons.osgi' presentationname='Apache Sling Commons OSGi support' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.commons.osgi/2.2.2/org.apache.sling.commons.osgi-2.2.2.jar' version='2.2.2'>
    <description>Commons OSGi</description>
    <size>26023</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.commons.osgi'/>
      <p n='presentationname' v='Apache Sling Commons OSGi support'/>
      <p n='version' t='version' v='2.2.2'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.commons.osgi'/>
      <p n='version' t='version' v='2.2.0'/>
      <p n='uses:' v='org.osgi.framework,org.osgi.service.event,org.osgi.util.tracker'/>
    </capability>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.event)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.event;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.util.tracker)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.util.tracker;version="[1.3,2)"</require>
    <require name='ee' filter='(|(ee=J2SE-1.5))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=J2SE-1.5))</require>
  </resource>
  <resource id='org.apache.sling.commons.osgi/2.0.6' symbolicname='org.apache.sling.commons.osgi' presentationname='Apache Sling Commons OSGi support' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.commons.osgi/2.0.6/org.apache.sling.commons.osgi-2.0.6.jar' version='2.0.6'>
    <description>Commons OSGi</description>
    <size>22567</size>
    <documentation>http://sling.apache.org</documentation>
    <source>org/apache/sling/org.apache.sling.commons.osgi/2.0.6/org.apache.sling.commons.osgi-2.0.6-sources.jar</source>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <category id='org.apache.sling'/>
    <capability name='bundle'>
      <p n='manifestversion' v='2'/>
      <p n='presentationname' v='Apache Sling Commons OSGi support'/>
      <p n='symbolicname' v='org.apache.sling.commons.osgi'/>
      <p n='version' t='version' v='2.0.6'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.commons.osgi'/>
      <p n='uses' v='org.osgi.framework,org.osgi.service.event'/>
      <p n='version' t='version' v='2.0.6'/>
    </capability>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.0.6))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi ;version=2.0.6</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework ;version=1.4.0</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.event)(version&gt;=1.1.0))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.event ;version=1.1.0</require>
  </resource>
  <resource id='org.apache.sling.servlets.compat/1.0.2' symbolicname='org.apache.sling.servlets.compat' presentationname='Apache Sling Compat Servlets' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.servlets.compat/1.0.2/org.apache.sling.servlets.compat-1.0.2.jar' version='1.0.2'>
    <description>Provides functionality which has been removed from the GET servlets module.</description>
    <size>17308</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.servlets.compat'/>
      <p n='presentationname' v='Apache Sling Compat Servlets'/>
      <p n='version' t='version' v='1.0.2'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.request)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.request;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.servlets)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.servlets;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json.io)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json.io;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=J2SE-1.5))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=J2SE-1.5))</require>
  </resource>
  <resource id='org.apache.sling.commons.contentdetection/1.0.2' symbolicname='org.apache.sling.commons.contentdetection' presentationname='Apache Sling Content Detection Support' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.commons.contentdetection/1.0.2/org.apache.sling.commons.contentdetection-1.0.2.jar' version='1.0.2'>
    <description>Content-based MIME type detection</description>
    <size>15127</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.commons.contentdetection'/>
      <p n='presentationname' v='Apache Sling Content Detection Support'/>
      <p n='version' t='version' v='1.0.2'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.commons.contentdetection'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='org.apache.sling.commons.mime'/>
    </capability>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.contentdetection)(version&gt;=1.0.0)(!(version&gt;=1.1.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.contentdetection;version="[1.0,1.1)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.mime)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.mime;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.tika.detect)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.tika.detect;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.tika.io)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.tika.io;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.tika.metadata)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.tika.metadata;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.tika.mime)(version&gt;=1.2.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.tika.mime;version="[1.2,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.crankstart.api/1.0.0' symbolicname='org.apache.sling.crankstart.api' presentationname='Apache Sling Crankstart API' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.crankstart.api/1.0.0/org.apache.sling.crankstart.api-1.0.0.jar' version='1.0.0'>
    <description>A different way of starting Sling - API module</description>
    <size>13166</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.crankstart.api'/>
      <p n='presentationname' v='Apache Sling Crankstart API'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.crankstart.api'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='org.osgi.framework.launch'/>
    </capability>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.6.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.6,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework.launch)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework.launch;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.7.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.7,2)"</require>
    <require name='ee' filter='(|(ee=J2SE-1.5))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=J2SE-1.5))</require>
  </resource>
  <resource id='org.apache.sling.crankstart.sling.extensions/1.0.0' symbolicname='org.apache.sling.crankstart.sling.extensions' presentationname='Apache Sling Crankstart Sling Extensions' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.crankstart.sling.extensions/1.0.0/org.apache.sling.crankstart.sling.extensions-1.0.0.jar' version='1.0.0'>
    <description>Sling-specific extension commands for the Crankstart launcher</description>
    <size>28077</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.crankstart.sling.extensions'/>
      <p n='presentationname' v='Apache Sling Crankstart Sling Extensions'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.crankstart.extensions.sling'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='org.apache.felix.inventory,org.apache.sling.crankstart.api,org.osgi.service.component,org.osgi.service.startlevel'/>
    </capability>
    <require name='package' filter='(&amp;(package=org.apache.felix.inventory)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='true'>Import package org.apache.felix.inventory;resolution:=optional;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.io)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='true'>Import package org.apache.commons.io;resolution:=optional;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.io.input)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='true'>Import package org.apache.commons.io.input;resolution:=optional;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.crankstart.api)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.crankstart.api;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.installer.api)(version&gt;=3.1.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.installer.api;version="[3.1,4)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.5,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework.launch)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework.launch;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.cm)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.cm;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.startlevel)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.startlevel;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=J2SE-1.5))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=J2SE-1.5))</require>
  </resource>
  <resource id='org.apache.sling.crankstart.test.services/1.0.0' symbolicname='org.apache.sling.crankstart.test.services' presentationname='Apache Sling Crankstart Test Services' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.crankstart.test.services/1.0.0/org.apache.sling.crankstart.test.services-1.0.0.jar' version='1.0.0'>
    <description>Bundle used to test the Crankstart launcher</description>
    <size>17447</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.crankstart.test.services'/>
      <p n='presentationname' v='Apache Sling Crankstart Test Services'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.crankstart.testservices'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='javax.servlet,org.apache.sling.crankstart.api,org.osgi.service.http'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.crankstart.api)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.crankstart.api;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.http)(version&gt;=1.2.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.http;version="[1.2,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=J2SE-1.5))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=J2SE-1.5))</require>
  </resource>
  <resource id='org.apache.sling.datasource/1.0.0' symbolicname='org.apache.sling.datasource' presentationname='Apache Sling DataSource Provider' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.datasource/1.0.0/org.apache.sling.datasource-1.0.0.jar' version='1.0.0'>
    <description>Enables creation of DataSource based on OSGi configuration</description>
    <size>167413</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.datasource'/>
      <p n='presentationname' v='Apache Sling DataSource Provider'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.management))' extend='false' multiple='false' optional='false'>Import package javax.management</require>
    <require name='package' filter='(&amp;(package=javax.management.openmbean))' extend='false' multiple='false' optional='false'>Import package javax.management.openmbean</require>
    <require name='package' filter='(&amp;(package=javax.naming))' extend='false' multiple='false' optional='false'>Import package javax.naming</require>
    <require name='package' filter='(&amp;(package=javax.naming.spi))' extend='false' multiple='false' optional='false'>Import package javax.naming.spi</require>
    <require name='package' filter='(&amp;(package=javax.sql))' extend='false' multiple='false' optional='false'>Import package javax.sql</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.6.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.6,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.util.tracker)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.util.tracker;version="[1.5,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.jcr.davex/1.2.2' symbolicname='org.apache.sling.jcr.davex' presentationname='Apache Sling DavEx Access to repositories' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.jcr.davex/1.2.2/org.apache.sling.jcr.davex-1.2.2.jar' version='1.2.2'>
    <description>Bundle to access JCR repositories over DavEx</description>
    <size>255303</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <category id='jcr'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.jcr.davex'/>
      <p n='presentationname' v='Apache Sling DavEx Access to repositories'/>
      <p n='version' t='version' v='1.2.2'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.jcr.lock)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr.lock;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.jcr.nodetype)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr.nodetype;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.jcr.observation)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr.observation;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.jcr.query)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr.query;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.jcr.version)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr.version;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=javax.transaction.xa))' extend='false' multiple='false' optional='false'>Import package javax.transaction.xa</require>
    <require name='package' filter='(&amp;(package=javax.xml.parsers))' extend='false' multiple='false' optional='false'>Import package javax.xml.parsers</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform.dom))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform.dom</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform.sax))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform.sax</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform.stream))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform.stream</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.fileupload)(version&gt;=1.2.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.fileupload;version="[1.2,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.fileupload.disk)(version&gt;=1.2.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.fileupload.disk;version="[1.2,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.fileupload.servlet)(version&gt;=1.2.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.fileupload.servlet;version="[1.2,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.commons.cnd)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.commons.cnd;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.commons.iterator)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.commons.iterator;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.commons.json)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.commons.json;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.commons.webdav)(version&gt;=2.5.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.commons.webdav;version="[2.5,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.commons.xml)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.commons.xml;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.spi)(version&gt;=3.0.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.spi;version="[3.0,4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.spi.commons)(version&gt;=2.4.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.spi.commons;version="[2.4,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.util)(version&gt;=2.4.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.util;version="[2.4,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.value)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.value;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.webdav)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.webdav;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.webdav.header)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.webdav.header;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.webdav.io)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.webdav.io;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.webdav.lock)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.webdav.lock;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.webdav.observation)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.webdav.observation;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.webdav.ordering)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.webdav.ordering;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.webdav.property)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.webdav.property;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.webdav.search)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.webdav.search;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.webdav.security)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.webdav.security;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.webdav.server)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.webdav.server;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.webdav.transaction)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.webdav.transaction;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.webdav.util)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.webdav.util;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.webdav.version)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.webdav.version;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.webdav.version.report)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.webdav.version.report;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.webdav.xml)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.webdav.xml;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.auth.core)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.auth.core;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.api)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.api;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.event)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.event;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.http)(version&gt;=1.2.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.http;version="[1.2,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom</require>
    <require name='package' filter='(&amp;(package=org.xml.sax))' extend='false' multiple='false' optional='false'>Import package org.xml.sax</require>
    <require name='package' filter='(&amp;(package=org.xml.sax.helpers))' extend='false' multiple='false' optional='false'>Import package org.xml.sax.helpers</require>
    <require name='ee' filter='(|(ee=J2SE-1.5))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=J2SE-1.5))</require>
  </resource>
  <resource id='org.apache.sling.jcr.davex/1.0.0' symbolicname='org.apache.sling.jcr.davex' presentationname='Apache Sling DavEx Access to repositories' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.jcr.davex/1.0.0/org.apache.sling.jcr.davex-1.0.0.jar' version='1.0.0'>
    <description>Bundle to access JCR repositories over DavEx</description>
    <size>1649156</size>
    <documentation>http://sling.apache.org</documentation>
    <source>org/apache/sling/org.apache.sling.jcr.davex/1.0.0/org.apache.sling.jcr.davex-1.0.0-sources.jar</source>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <category id='jcr'/>
    <category id='org.apache.sling'/>
    <capability name='bundle'>
      <p n='manifestversion' v='2'/>
      <p n='presentationname' v='Apache Sling DavEx Access to repositories'/>
      <p n='symbolicname' v='org.apache.sling.jcr.davex'/>
      <p n='version' t='version' v='1.0.0'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.lock)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.lock ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.nodetype)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.nodetype ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.observation)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.observation ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.query)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.query ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.query.qom)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.query.qom ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.version)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.version ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=javax.transaction.xa))' extend='false' multiple='false' optional='false'>Import package javax.transaction.xa</require>
    <require name='package' filter='(&amp;(package=javax.xml.datatype))' extend='false' multiple='false' optional='false'>Import package javax.xml.datatype</require>
    <require name='package' filter='(&amp;(package=javax.xml.namespace))' extend='false' multiple='false' optional='false'>Import package javax.xml.namespace</require>
    <require name='package' filter='(&amp;(package=javax.xml.parsers))' extend='false' multiple='false' optional='false'>Import package javax.xml.parsers</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform.dom))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform.dom</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform.sax))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform.sax</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform.stream))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform.stream</require>
    <require name='package' filter='(&amp;(package=javax.xml.validation))' extend='false' multiple='false' optional='false'>Import package javax.xml.validation</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.fileupload)(version&gt;=1.2.0))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.fileupload ;version=1.2.0</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.fileupload.disk)(version&gt;=1.2.0))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.fileupload.disk ;version=1.2.0</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.fileupload.servlet)(version&gt;=1.2.0))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.fileupload.servlet ;version=1.2.0</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit)(version&gt;=2.1.0))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit ;version=2.1.0</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.commons)(version&gt;=2.1.0))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.commons ;version=2.1.0</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.commons.iterator)(version&gt;=2.1.0))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.commons.iterator ;version=2.1.0</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.commons.json)(version&gt;=2.1.0))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.commons.json ;version=2.1.0</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.commons.xml)(version&gt;=2.1.0))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.commons.xml ;version=2.1.0</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.util)(version&gt;=2.1.0))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.util ;version=2.1.0</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.value)(version&gt;=2.1.0))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.value ;version=2.1.0</require>
    <require name='package' filter='(&amp;(package=org.apache.tika.detect))' extend='false' multiple='false' optional='false'>Import package org.apache.tika.detect</require>
    <require name='package' filter='(&amp;(package=org.apache.tika.metadata))' extend='false' multiple='false' optional='false'>Import package org.apache.tika.metadata</require>
    <require name='package' filter='(&amp;(package=org.apache.tika.mime))' extend='false' multiple='false' optional='false'>Import package org.apache.tika.mime</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0))' extend='false' multiple='false' optional='false'>Import package org.slf4j ;version=1.5.0</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom.events))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom.events</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom.ls))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom.ls</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom.ranges))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom.ranges</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom.traversal))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom.traversal</require>
    <require name='package' filter='(&amp;(package=org.xml.sax))' extend='false' multiple='false' optional='false'>Import package org.xml.sax</require>
    <require name='package' filter='(&amp;(package=org.xml.sax.ext))' extend='false' multiple='false' optional='false'>Import package org.xml.sax.ext</require>
    <require name='package' filter='(&amp;(package=org.xml.sax.helpers))' extend='false' multiple='false' optional='false'>Import package org.xml.sax.helpers</require>
  </resource>
  <resource id='org.apache.sling.jcr.davex/1.3.4' symbolicname='org.apache.sling.jcr.davex' presentationname='Apache Sling DavEx Access to repositories' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.jcr.davex/1.3.4/org.apache.sling.jcr.davex-1.3.4.jar' version='1.3.4'>
    <description>Bundle to access JCR repositories over DavEx</description>
    <size>273904</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <category id='jcr'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.jcr.davex'/>
      <p n='presentationname' v='Apache Sling DavEx Access to repositories'/>
      <p n='version' t='version' v='1.3.4'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.jcr.lock)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr.lock;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.jcr.nodetype)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr.nodetype;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.jcr.observation)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr.observation;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.jcr.query)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr.query;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.jcr.security)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr.security;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.jcr.version)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr.version;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=javax.transaction.xa))' extend='false' multiple='false' optional='false'>Import package javax.transaction.xa</require>
    <require name='package' filter='(&amp;(package=javax.xml.parsers))' extend='false' multiple='false' optional='false'>Import package javax.xml.parsers</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform.dom))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform.dom</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform.sax))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform.sax</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform.stream))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform.stream</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.fileupload)(version&gt;=1.2.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.fileupload;version="[1.2,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.fileupload.disk)(version&gt;=1.2.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.fileupload.disk;version="[1.2,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.fileupload.servlet)(version&gt;=1.2.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.fileupload.servlet;version="[1.2,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.commons.cnd)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.commons.cnd;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.commons.iterator)(version&gt;=2.4.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.commons.iterator;version="[2.4,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.commons.json)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.commons.json;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.commons.webdav)(version&gt;=2.5.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.commons.webdav;version="[2.5,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.commons.xml)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.commons.xml;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.spi)(version&gt;=3.0.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.spi;version="[3.0,4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.spi.commons)(version&gt;=2.4.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.spi.commons;version="[2.4,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.util)(version&gt;=2.4.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.util;version="[2.4,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.value)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.value;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.webdav)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.webdav;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.webdav.header)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.webdav.header;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.webdav.io)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.webdav.io;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.webdav.lock)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.webdav.lock;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.webdav.observation)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.webdav.observation;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.webdav.ordering)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.webdav.ordering;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.webdav.property)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.webdav.property;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.webdav.search)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.webdav.search;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.webdav.security)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.webdav.security;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.webdav.server)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.webdav.server;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.webdav.transaction)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.webdav.transaction;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.webdav.util)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.webdav.util;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.webdav.version)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.webdav.version;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.webdav.version.report)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.webdav.version.report;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.webdav.xml)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.webdav.xml;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.auth.core)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.auth.core;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.api)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.api;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.event)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.event;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.http)(version&gt;=1.2.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.http;version="[1.2,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom</require>
    <require name='package' filter='(&amp;(package=org.xml.sax))' extend='false' multiple='false' optional='false'>Import package org.xml.sax</require>
    <require name='package' filter='(&amp;(package=org.xml.sax.helpers))' extend='false' multiple='false' optional='false'>Import package org.xml.sax.helpers</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.servlets.get/2.1.12' symbolicname='org.apache.sling.servlets.get' presentationname='Apache Sling Default GET Servlets' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.servlets.get/2.1.12/org.apache.sling.servlets.get-2.1.12.jar' version='2.1.12'>
    <description>Provides default GET servlets for HTML, Text and JSON rendering        and streaming resources.</description>
    <size>58216</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.servlets.get'/>
      <p n='presentationname' v='Apache Sling Default GET Servlets'/>
      <p n='version' t='version' v='2.1.12'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr))' extend='false' multiple='false' optional='false'>Import package javax.jcr</require>
    <require name='package' filter='(&amp;(package=javax.jcr.version))' extend='false' multiple='false' optional='false'>Import package javax.jcr.version</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.lang)(version&gt;=2.4.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.lang;version="[2.4,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.request)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.request;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.servlets)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.servlets;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.wrappers)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.wrappers;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json.io)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json.io;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json.jcr)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json.jcr;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json.sling)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json.sling;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='package' filter='(&amp;(package=org.xml.sax))' extend='false' multiple='false' optional='false'>Import package org.xml.sax</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.servlets.get/2.0.4.incubator' symbolicname='org.apache.sling.servlets.get' presentationname='Apache Sling Default GET Servlets' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.servlets.get/2.0.4.incubator/org.apache.sling.servlets.get-2.0.4.incubator.jar' version='2.0.4.incubator'>
    <description>Provides default GET servlets for HTML, Text and JSON rendering        and streaming resources.</description>
    <size>44276</size>
    <documentation>http://incubator.apache.org/sling</documentation>
    <source>org/apache/sling/org.apache.sling.servlets.get/2.0.4-incubator/org.apache.sling.servlets.get-2.0.4-incubator-sources.jar</source>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='org.apache.sling'/>
    <capability name='bundle'>
      <p n='manifestversion' v='2'/>
      <p n='presentationname' v='Apache Sling Default GET Servlets'/>
      <p n='symbolicname' v='org.apache.sling.servlets.get'/>
      <p n='version' t='version' v='2.0.4.incubator'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.0.4.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api ;version=2.0.4.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.adapter)(version&gt;=2.0.4.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.adapter ;version=2.0.4.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.request)(version&gt;=2.0.4.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.request ;version=2.0.4.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.0.4.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource ;version=2.0.4.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.servlets)(version&gt;=2.0.4.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.servlets ;version=2.0.4.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json)(version&gt;=2.0.4.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json ;version=2.0.4.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json.io)(version&gt;=2.0.4.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json.io ;version=2.0.4.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.0.4.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi ;version=2.0.4.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.resource)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.resource ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component</require>
    <require name='package' filter='(&amp;(package=org.slf4j))' extend='false' multiple='false' optional='false'>Import package org.slf4j</require>
    <require name='package' filter='(&amp;(package=org.xml.sax))' extend='false' multiple='false' optional='false'>Import package org.xml.sax</require>
  </resource>
  <resource id='org.apache.sling.servlets.get/2.1.14' symbolicname='org.apache.sling.servlets.get' presentationname='Apache Sling Default GET Servlets' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.servlets.get/2.1.14/org.apache.sling.servlets.get-2.1.14.jar' version='2.1.14'>
    <description>Provides default GET servlets for HTML, Text and JSON rendering        and streaming resources.</description>
    <size>58189</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.servlets.get'/>
      <p n='presentationname' v='Apache Sling Default GET Servlets'/>
      <p n='version' t='version' v='2.1.14'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr))' extend='false' multiple='false' optional='false'>Import package javax.jcr</require>
    <require name='package' filter='(&amp;(package=javax.jcr.version))' extend='false' multiple='false' optional='false'>Import package javax.jcr.version</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.lang)(version&gt;=2.4.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.lang;version="[2.4,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.request)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.request;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.servlets)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.servlets;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.wrappers)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.wrappers;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json.io)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json.io;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json.jcr)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json.jcr;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json.sling)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json.sling;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='package' filter='(&amp;(package=org.xml.sax))' extend='false' multiple='false' optional='false'>Import package org.xml.sax</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.servlets.get/2.1.10' symbolicname='org.apache.sling.servlets.get' presentationname='Apache Sling Default GET Servlets' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.servlets.get/2.1.10/org.apache.sling.servlets.get-2.1.10.jar' version='2.1.10'>
    <description>Provides default GET servlets for HTML, Text and JSON rendering        and streaming resources.</description>
    <size>51718</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.servlets.get'/>
      <p n='presentationname' v='Apache Sling Default GET Servlets'/>
      <p n='version' t='version' v='2.1.10'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr))' extend='false' multiple='false' optional='false'>Import package javax.jcr</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.lang)(version&gt;=2.4.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.lang;version="[2.4,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.request)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.request;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.servlets)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.servlets;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.wrappers)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.wrappers;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json.io)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json.io;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json.sling)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json.sling;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='package' filter='(&amp;(package=org.xml.sax))' extend='false' multiple='false' optional='false'>Import package org.xml.sax</require>
    <require name='ee' filter='(|(ee=J2SE-1.5))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=J2SE-1.5))</require>
  </resource>
  <resource id='org.apache.sling.servlets.post/2.0.4.incubator' symbolicname='org.apache.sling.servlets.post' presentationname='Apache Sling Default POST Servlets' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.servlets.post/2.0.4.incubator/org.apache.sling.servlets.post-2.0.4.incubator.jar' version='2.0.4.incubator'>
    <description>Provides default POST servlets.</description>
    <size>61815</size>
    <documentation>http://incubator.apache.org/sling</documentation>
    <source>org/apache/sling/org.apache.sling.servlets.post/2.0.4-incubator/org.apache.sling.servlets.post-2.0.4-incubator-sources.jar</source>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='org.apache.sling'/>
    <capability name='bundle'>
      <p n='manifestversion' v='2'/>
      <p n='presentationname' v='Apache Sling Default POST Servlets'/>
      <p n='symbolicname' v='org.apache.sling.servlets.post'/>
      <p n='version' t='version' v='2.0.4.incubator'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.servlets.post'/>
      <p n='uses:' v='javax.jcr,org.apache.sling.api.servlets,org.apache.sling.api,org.slf4j,org.apache.sling.api.wrappers,javax.servlet.http,org.apache.sling.api.resource'/>
      <p n='version' t='version' v='2.0.4.incubator'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.nodetype)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.nodetype ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.util))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.util</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.0.4.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api ;version=2.0.4.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.request)(version&gt;=2.0.4.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.request ;version=2.0.4.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.0.4.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource ;version=2.0.4.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.servlets)(version&gt;=2.0.4.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.servlets ;version=2.0.4.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.wrappers)(version&gt;=2.0.4.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.wrappers ;version=2.0.4.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.servlets.post)(version&gt;=2.0.4.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.servlets.post ;version=2.0.4.incubator</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component</require>
    <require name='package' filter='(&amp;(package=org.slf4j))' extend='false' multiple='false' optional='false'>Import package org.slf4j</require>
  </resource>
  <resource id='org.apache.sling.servlets.post/2.3.6' symbolicname='org.apache.sling.servlets.post' presentationname='Apache Sling Default POST Servlets' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.servlets.post/2.3.6/org.apache.sling.servlets.post-2.3.6.jar' version='2.3.6'>
    <description>Provides default POST servlets.</description>
    <size>142525</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.servlets.post'/>
      <p n='presentationname' v='Apache Sling Default POST Servlets'/>
      <p n='version' t='version' v='2.3.6'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.servlets.post'/>
      <p n='version' t='version' v='2.2.0'/>
      <p n='uses:' v='javax.jcr,javax.servlet.http,org.apache.sling.api,org.apache.sling.api.resource,org.apache.sling.api.servlets,org.slf4j'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.jcr.nodetype)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr.nodetype;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.jcr.query)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr.query;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.jcr.version)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr.version;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.io)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.io;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.request)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.request;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.servlets)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.servlets;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.wrappers)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.wrappers;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.api)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.api;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.contentloader)(version&gt;=0.1.0)(!(version&gt;=1.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.contentloader;version="[0.1,1)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=J2SE-1.5))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=J2SE-1.5))</require>
  </resource>
  <resource id='org.apache.sling.servlets.post/2.3.8' symbolicname='org.apache.sling.servlets.post' presentationname='Apache Sling Default POST Servlets' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.servlets.post/2.3.8/org.apache.sling.servlets.post-2.3.8.jar' version='2.3.8'>
    <description>Provides default POST servlets.</description>
    <size>145865</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.servlets.post'/>
      <p n='presentationname' v='Apache Sling Default POST Servlets'/>
      <p n='version' t='version' v='2.3.8'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.servlets.post'/>
      <p n='version' t='version' v='2.3.0'/>
      <p n='uses:' v='javax.jcr,javax.servlet.http,org.apache.sling.api,org.apache.sling.api.resource,org.apache.sling.api.servlets,org.slf4j'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.jcr.nodetype)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr.nodetype;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.jcr.query)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr.query;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.jcr.version)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr.version;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.io)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.io;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.request)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.request;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.servlets)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.servlets;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.wrappers)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.wrappers;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.api)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.api;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.contentloader)(version&gt;=0.1.0)(!(version&gt;=1.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.contentloader;version="[0.1,1)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=J2SE-1.5))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=J2SE-1.5))</require>
  </resource>
  <resource id='org.apache.sling.servlets.post/2.3.12' symbolicname='org.apache.sling.servlets.post' presentationname='Apache Sling Default POST Servlets' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.servlets.post/2.3.12/org.apache.sling.servlets.post-2.3.12.jar' version='2.3.12'>
    <description>Provides default POST servlets.</description>
    <size>151333</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.servlets.post'/>
      <p n='presentationname' v='Apache Sling Default POST Servlets'/>
      <p n='version' t='version' v='2.3.12'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.servlets.post'/>
      <p n='version' t='version' v='2.3.0'/>
      <p n='uses:' v='javax.jcr,javax.servlet.http,org.apache.sling.api,org.apache.sling.api.resource,org.apache.sling.api.servlets,org.slf4j'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.jcr.nodetype)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr.nodetype;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.jcr.query)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr.query;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.jcr.version)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr.version;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.io)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.io;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.request)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.request;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.servlets)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.servlets;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.wrappers)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.wrappers;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.api)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.api;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.contentloader)(version&gt;=0.1.0)(!(version&gt;=1.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.contentloader;version="[0.1,1)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.discovery.api/1.0.4' symbolicname='org.apache.sling.discovery.api' presentationname='Apache Sling Discovery API' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.discovery.api/1.0.4/org.apache.sling.discovery.api-1.0.4.jar' version='1.0.4'>
    <description>Support for topology discovery of instances.</description>
    <size>13487</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.discovery.api'/>
      <p n='presentationname' v='Apache Sling Discovery API'/>
      <p n='version' t='version' v='1.0.4'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.discovery'/>
      <p n='version' t='version' v='1.0.2'/>
    </capability>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.discovery.api/1.0.2' symbolicname='org.apache.sling.discovery.api' presentationname='Apache Sling Discovery API' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.discovery.api/1.0.2/org.apache.sling.discovery.api-1.0.2.jar' version='1.0.2'>
    <description>Support for topology discovery of instances.</description>
    <size>13451</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.discovery.api'/>
      <p n='presentationname' v='Apache Sling Discovery API'/>
      <p n='version' t='version' v='1.0.2'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.discovery'/>
      <p n='version' t='version' v='1.0.2'/>
    </capability>
    <require name='ee' filter='(|(ee=J2SE-1.5))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=J2SE-1.5))</require>
  </resource>
  <resource id='org.apache.sling.discovery.base/1.1.4' symbolicname='org.apache.sling.discovery.base' presentationname='Apache Sling Discovery Base' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.discovery.base/1.1.4/org.apache.sling.discovery.base-1.1.4.jar' version='1.1.4'>
    <description>Contains Connector and Properties support that some implementations might choose to build upon</description>
    <size>83933</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.discovery.base'/>
      <p n='presentationname' v='Apache Sling Discovery Base'/>
      <p n='version' t='version' v='1.1.4'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.discovery.base.commons'/>
      <p n='version' t='version' v='2.0.0'/>
      <p n='uses:' v='org.apache.sling.api.resource,org.apache.sling.commons.scheduler,org.apache.sling.discovery,org.apache.sling.discovery.base.connectors,org.apache.sling.discovery.base.connectors.announcement,org.apache.sling.discovery.base.connectors.ping,org.apache.sling.discovery.commons.providers,org.apache.sling.discovery.commons.providers.spi,org.apache.sling.settings,org.osgi.framework,org.osgi.service.component,org.slf4j'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.discovery.base.connectors'/>
      <p n='version' t='version' v='1.0.0'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.discovery.base.connectors.announcement'/>
      <p n='version' t='version' v='1.1.2'/>
      <p n='uses:' v='org.apache.sling.api.resource,org.apache.sling.commons.json,org.apache.sling.discovery,org.apache.sling.discovery.base.connectors,org.apache.sling.settings'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.discovery.base.connectors.ping'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='javax.servlet,javax.servlet.http,org.apache.http,org.apache.http.client.methods,org.apache.sling.discovery.base.commons,org.apache.sling.discovery.base.connectors,org.apache.sling.discovery.base.connectors.announcement,org.osgi.service.component,org.osgi.service.http'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.discovery.base.connectors.ping.wl'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='javax.servlet'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.crypto))' extend='false' multiple='false' optional='false'>Import package javax.crypto</require>
    <require name='package' filter='(&amp;(package=javax.crypto.spec))' extend='false' multiple='false' optional='false'>Import package javax.crypto.spec</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.codec.binary))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.codec.binary</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.io)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.io;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.http))' extend='false' multiple='false' optional='false'>Import package org.apache.http</require>
    <require name='package' filter='(&amp;(package=org.apache.http.auth)(version&gt;=4.3.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.http.auth;version="[4.3,5)"</require>
    <require name='package' filter='(&amp;(package=org.apache.http.client)(version&gt;=4.3.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.http.client;version="[4.3,5)"</require>
    <require name='package' filter='(&amp;(package=org.apache.http.client.config)(version&gt;=4.3.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.http.client.config;version="[4.3,5)"</require>
    <require name='package' filter='(&amp;(package=org.apache.http.client.methods)(version&gt;=4.3.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.http.client.methods;version="[4.3,5)"</require>
    <require name='package' filter='(&amp;(package=org.apache.http.client.protocol)(version&gt;=4.3.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.http.client.protocol;version="[4.3,5)"</require>
    <require name='package' filter='(&amp;(package=org.apache.http.config))' extend='false' multiple='false' optional='false'>Import package org.apache.http.config</require>
    <require name='package' filter='(&amp;(package=org.apache.http.entity))' extend='false' multiple='false' optional='false'>Import package org.apache.http.entity</require>
    <require name='package' filter='(&amp;(package=org.apache.http.impl.client)(version&gt;=4.3.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.http.impl.client;version="[4.3,5)"</require>
    <require name='package' filter='(&amp;(package=org.apache.http.protocol))' extend='false' multiple='false' optional='false'>Import package org.apache.http.protocol</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.scheduler)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.scheduler;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.discovery))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.discovery</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.discovery.commons.providers)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.discovery.commons.providers;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.discovery.commons.providers.spi)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.discovery.commons.providers.spi;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.discovery.commons.providers.util)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.discovery.commons.providers.util;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.settings)(version&gt;=1.2.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.settings;version="[1.2,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.http)(version&gt;=1.2.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.http;version="[1.2,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.6.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.6,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.discovery.base/1.1.2' symbolicname='org.apache.sling.discovery.base' presentationname='Apache Sling Discovery Base' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.discovery.base/1.1.2/org.apache.sling.discovery.base-1.1.2.jar' version='1.1.2'>
    <description>Contains Connector and Properties support that some implementations might choose to build upon</description>
    <size>84695</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.discovery.base'/>
      <p n='presentationname' v='Apache Sling Discovery Base'/>
      <p n='version' t='version' v='1.1.2'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.discovery.base.commons'/>
      <p n='version' t='version' v='1.1.0'/>
      <p n='uses:' v='org.apache.sling.api.resource,org.apache.sling.commons.scheduler,org.apache.sling.discovery,org.apache.sling.discovery.base.connectors,org.apache.sling.discovery.base.connectors.announcement,org.apache.sling.discovery.base.connectors.ping,org.apache.sling.discovery.commons.providers,org.apache.sling.discovery.commons.providers.spi,org.apache.sling.launchpad.api,org.apache.sling.settings,org.osgi.framework,org.osgi.service.component,org.slf4j'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.discovery.base.connectors.announcement'/>
      <p n='version' t='version' v='1.1.2'/>
      <p n='uses:' v='org.apache.sling.api.resource,org.apache.sling.commons.json,org.apache.sling.discovery,org.apache.sling.discovery.base.connectors,org.apache.sling.settings'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.discovery.base.connectors'/>
      <p n='version' t='version' v='1.0.0'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.discovery.base.connectors.ping'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='javax.servlet,javax.servlet.http,org.apache.http,org.apache.http.client.methods,org.apache.sling.discovery.base.commons,org.apache.sling.discovery.base.connectors,org.apache.sling.discovery.base.connectors.announcement,org.osgi.service.component,org.osgi.service.http'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.discovery.base.connectors.ping.wl'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='javax.servlet'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.crypto))' extend='false' multiple='false' optional='false'>Import package javax.crypto</require>
    <require name='package' filter='(&amp;(package=javax.crypto.spec))' extend='false' multiple='false' optional='false'>Import package javax.crypto.spec</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.codec.binary))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.codec.binary</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.io)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.io;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.http))' extend='false' multiple='false' optional='false'>Import package org.apache.http</require>
    <require name='package' filter='(&amp;(package=org.apache.http.auth)(version&gt;=4.3.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.http.auth;version="[4.3,5)"</require>
    <require name='package' filter='(&amp;(package=org.apache.http.client)(version&gt;=4.3.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.http.client;version="[4.3,5)"</require>
    <require name='package' filter='(&amp;(package=org.apache.http.client.config)(version&gt;=4.3.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.http.client.config;version="[4.3,5)"</require>
    <require name='package' filter='(&amp;(package=org.apache.http.client.methods)(version&gt;=4.3.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.http.client.methods;version="[4.3,5)"</require>
    <require name='package' filter='(&amp;(package=org.apache.http.client.protocol)(version&gt;=4.3.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.http.client.protocol;version="[4.3,5)"</require>
    <require name='package' filter='(&amp;(package=org.apache.http.config))' extend='false' multiple='false' optional='false'>Import package org.apache.http.config</require>
    <require name='package' filter='(&amp;(package=org.apache.http.entity))' extend='false' multiple='false' optional='false'>Import package org.apache.http.entity</require>
    <require name='package' filter='(&amp;(package=org.apache.http.impl.client)(version&gt;=4.3.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.http.impl.client;version="[4.3,5)"</require>
    <require name='package' filter='(&amp;(package=org.apache.http.protocol))' extend='false' multiple='false' optional='false'>Import package org.apache.http.protocol</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.scheduler)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.scheduler;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.discovery))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.discovery</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.discovery.commons.providers)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.discovery.commons.providers;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.discovery.commons.providers.spi)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.discovery.commons.providers.spi;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.discovery.commons.providers.util)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.discovery.commons.providers.util;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.launchpad.api)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.launchpad.api;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.settings)(version&gt;=1.2.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.settings;version="[1.2,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.http)(version&gt;=1.2.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.http;version="[1.2,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.6.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.6,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.discovery.commons/1.0.12' symbolicname='org.apache.sling.discovery.commons' presentationname='Apache Sling Discovery Commons' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.discovery.commons/1.0.12/org.apache.sling.discovery.commons-1.0.12.jar' version='1.0.12'>
    <description>Common services related to Sling Discovery</description>
    <size>92141</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.discovery.commons'/>
      <p n='presentationname' v='Apache Sling Discovery Commons'/>
      <p n='version' t='version' v='1.0.12'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.discovery.commons'/>
      <p n='version' t='version' v='1.1.0'/>
      <p n='uses:' v='javax.annotation,org.apache.sling.commons.scheduler,org.apache.sling.discovery,org.slf4j'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.discovery.commons.providers.base'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='org.apache.sling.commons.scheduler,org.apache.sling.discovery,org.apache.sling.discovery.commons.providers,org.apache.sling.discovery.commons.providers.spi'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.discovery.commons.providers'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='org.apache.sling.commons.scheduler,org.apache.sling.discovery'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.discovery.commons.providers.spi.base'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='org.apache.sling.api.resource,org.apache.sling.discovery.commons.providers,org.apache.sling.discovery.commons.providers.spi,org.apache.sling.settings,org.osgi.framework,org.osgi.service.event,org.slf4j'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.discovery.commons.providers.spi'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='org.apache.sling.discovery.commons.providers'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.discovery.commons.providers.util'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='org.apache.sling.api.resource'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.annotation))' extend='false' multiple='false' optional='false'>Import package javax.annotation</require>
    <require name='package' filter='(&amp;(package=javax.jcr)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.scheduler)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.scheduler;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.discovery)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.discovery;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.discovery.commons.providers)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.discovery.commons.providers;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.discovery.commons.providers.spi)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.discovery.commons.providers.spi;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.discovery.commons.providers.util)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.discovery.commons.providers.util;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.settings)(version&gt;=1.2.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.settings;version="[1.2,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.event)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.event;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.6.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.6,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.discovery.standalone/1.0.0' symbolicname='org.apache.sling.discovery.standalone' presentationname='Apache Sling Discovery Standalone Implementation' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.discovery.standalone/1.0.0/org.apache.sling.discovery.standalone-1.0.0.jar' version='1.0.0'>
    <description>Implementation of the discovery API for standalone instances</description>
    <size>17957</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.discovery.standalone'/>
      <p n='presentationname' v='Apache Sling Discovery Standalone Implementation'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <require name='package' filter='(&amp;(package=org.apache.sling.discovery)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.discovery;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.settings)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.settings;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=J2SE-1.5))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=J2SE-1.5))</require>
  </resource>
  <resource id='org.apache.sling.discovery.standalone/1.0.2' symbolicname='org.apache.sling.discovery.standalone' presentationname='Apache Sling Discovery Standalone Implementation' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.discovery.standalone/1.0.2/org.apache.sling.discovery.standalone-1.0.2.jar' version='1.0.2'>
    <description>Implementation of the discovery API for standalone instances</description>
    <size>17157</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.discovery.standalone'/>
      <p n='presentationname' v='Apache Sling Discovery Standalone Implementation'/>
      <p n='version' t='version' v='1.0.2'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <require name='package' filter='(&amp;(package=org.apache.sling.discovery)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.discovery;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.settings)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.settings;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.discovery.support/1.0.0' symbolicname='org.apache.sling.discovery.support' presentationname='Apache Sling Discovery Support Bundle' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.discovery.support/1.0.0/org.apache.sling.discovery.support-1.0.0.jar' version='1.0.0'>
    <description>Supporting services for the discovery</description>
    <size>13275</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.discovery.support'/>
      <p n='presentationname' v='Apache Sling Discovery Support Bundle'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <require name='package' filter='(&amp;(package=org.apache.sling.discovery)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.discovery;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.settings)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.settings;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.0,2)"</require>
    <require name='ee' filter='(|(ee=J2SE-1.5))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=J2SE-1.5))</require>
  </resource>
  <resource id='org.apache.sling.event.dea/1.0.0' symbolicname='org.apache.sling.event.dea' presentationname='Apache Sling Distributed Event Admin' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.event.dea/1.0.0/org.apache.sling.event.dea-1.0.0.jar' version='1.0.0'>
    <description>Support distributing events through the OSGi event admin.</description>
    <size>27477</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.event.dea'/>
      <p n='presentationname' v='Apache Sling Distributed Event Admin'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.event.dea'/>
      <p n='version' t='version' v='1.0.0'/>
    </capability>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.6.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.6,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.discovery)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.discovery;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.settings)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.settings;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.7.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.7,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.event)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.event;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.event.dea/1.0.4' symbolicname='org.apache.sling.event.dea' presentationname='Apache Sling Distributed Event Admin' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.event.dea/1.0.4/org.apache.sling.event.dea-1.0.4.jar' version='1.0.4'>
    <description>Support distributing events through the OSGi event admin.</description>
    <size>28647</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.event.dea'/>
      <p n='presentationname' v='Apache Sling Distributed Event Admin'/>
      <p n='version' t='version' v='1.0.4'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.event.dea'/>
      <p n='version' t='version' v='1.0.0'/>
    </capability>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.discovery)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.discovery;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.settings)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.settings;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.5,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.event)(version&gt;=1.2.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.event;version="[1.2,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.event.dea/1.0.2' symbolicname='org.apache.sling.event.dea' presentationname='Apache Sling Distributed Event Admin' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.event.dea/1.0.2/org.apache.sling.event.dea-1.0.2.jar' version='1.0.2'>
    <description>Support distributing events through the OSGi event admin.</description>
    <size>28625</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.event.dea'/>
      <p n='presentationname' v='Apache Sling Distributed Event Admin'/>
      <p n='version' t='version' v='1.0.2'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.event.dea'/>
      <p n='version' t='version' v='1.0.0'/>
    </capability>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.discovery)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.discovery;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.settings)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.settings;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.5,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.event)(version&gt;=1.2.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.event;version="[1.2,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.distribution.api/0.3.0' symbolicname='org.apache.sling.distribution.api' presentationname='Apache Sling Distribution API' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.distribution.api/0.3.0/org.apache.sling.distribution.api-0.3.0.jar' version='0.3.0'>
    <description>The Apache Sling Distribution API bundle provides the APIs for the Sling Content Distribution module</description>
    <size>17172</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.distribution.api'/>
      <p n='presentationname' v='Apache Sling Distribution API'/>
      <p n='version' t='version' v='0.3.0'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.distribution'/>
      <p n='version' t='version' v='0.3.0'/>
      <p n='uses:' v='javax.annotation,org.apache.sling.api.resource'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.distribution.event'/>
      <p n='version' t='version' v='0.1.1'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.distribution.transport'/>
      <p n='version' t='version' v='0.1.0'/>
      <p n='uses:' v='javax.annotation'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.annotation))' extend='false' multiple='false' optional='false'>Import package javax.annotation</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.4.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.4,3)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.distribution.api/0.1.0' symbolicname='org.apache.sling.distribution.api' presentationname='Apache Sling Distribution API' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.distribution.api/0.1.0/org.apache.sling.distribution.api-0.1.0.jar' version='0.1.0'>
    <description>The Apache Sling Distribution API bundle provides the APIs for the Sling Content Distribution module</description>
    <size>16278</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.distribution.api'/>
      <p n='presentationname' v='Apache Sling Distribution API'/>
      <p n='version' t='version' v='0.1.0'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.distribution'/>
      <p n='version' t='version' v='0.1.0'/>
      <p n='uses:' v='javax.annotation,org.apache.sling.api.resource'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.distribution.event'/>
      <p n='version' t='version' v='0.1.0'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.distribution.transport'/>
      <p n='version' t='version' v='0.1.0'/>
      <p n='uses:' v='javax.annotation'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.annotation))' extend='false' multiple='false' optional='false'>Import package javax.annotation</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.4.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.4,3)"</require>
    <require name='ee' filter='(|(ee=J2SE-1.5))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=J2SE-1.5))</require>
  </resource>
  <resource id='org.apache.sling.distribution.core/0.1.18' symbolicname='org.apache.sling.distribution.core' presentationname='Apache Sling Distribution Core' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.distribution.core/0.1.18/org.apache.sling.distribution.core-0.1.18.jar' version='0.1.18'>
    <description>The Apache Sling Distribution Core bundle provides the basic code infrastructure and API implementations for the        Sling Content Distribution module</description>
    <size>521028</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.distribution.core'/>
      <p n='presentationname' v='Apache Sling Distribution Core'/>
      <p n='version' t='version' v='0.1.18'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.distribution.util'/>
      <p n='version' t='version' v='0.1.0'/>
      <p n='uses:' v='javax.annotation,javax.jcr,javax.jcr.observation,javax.servlet.http,org.apache.sling.distribution'/>
    </capability>
    <require name='package' filter='(&amp;(package=org.apache.sling.event.jobs)(version&gt;=1.5.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.event.jobs;version="[1.5.0,3.0)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.event.jobs.consumer)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.event.jobs.consumer;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.api)(version&gt;=2.2.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.api;version=2.2.0</require>
    <require name='package' filter='(&amp;(package=javax.annotation))' extend='false' multiple='false' optional='false'>Import package javax.annotation</require>
    <require name='package' filter='(&amp;(package=javax.jcr)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.jcr.observation)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr.observation;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.jcr.security)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr.security;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.net.ssl))' extend='false' multiple='false' optional='false'>Import package javax.net.ssl</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.io)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.io;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.logging)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.logging;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.http)(version&gt;=4.3.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.http;version="[4.3,5)"</require>
    <require name='package' filter='(&amp;(package=org.apache.http.auth)(version&gt;=4.3.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.http.auth;version="[4.3,5)"</require>
    <require name='package' filter='(&amp;(package=org.apache.http.client)(version&gt;=4.3.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.http.client;version="[4.3,5)"</require>
    <require name='package' filter='(&amp;(package=org.apache.http.client.config)(version&gt;=4.3.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.http.client.config;version="[4.3,5)"</require>
    <require name='package' filter='(&amp;(package=org.apache.http.client.fluent)(version&gt;=4.3.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.http.client.fluent;version="[4.3,5)"</require>
    <require name='package' filter='(&amp;(package=org.apache.http.client.methods)(version&gt;=4.3.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.http.client.methods;version="[4.3,5)"</require>
    <require name='package' filter='(&amp;(package=org.apache.http.client.params)(version&gt;=4.3.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.http.client.params;version="[4.3,5)"</require>
    <require name='package' filter='(&amp;(package=org.apache.http.client.protocol)(version&gt;=4.3.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.http.client.protocol;version="[4.3,5)"</require>
    <require name='package' filter='(&amp;(package=org.apache.http.client.utils)(version&gt;=4.3.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.http.client.utils;version="[4.3,5)"</require>
    <require name='package' filter='(&amp;(package=org.apache.http.concurrent)(version&gt;=4.3.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.http.concurrent;version="[4.3,5)"</require>
    <require name='package' filter='(&amp;(package=org.apache.http.config)(version&gt;=4.3.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.http.config;version="[4.3,5)"</require>
    <require name='package' filter='(&amp;(package=org.apache.http.conn)(version&gt;=4.3.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.http.conn;version="[4.3,5)"</require>
    <require name='package' filter='(&amp;(package=org.apache.http.conn.params)(version&gt;=4.3.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.http.conn.params;version="[4.3,5)"</require>
    <require name='package' filter='(&amp;(package=org.apache.http.conn.routing)(version&gt;=4.3.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.http.conn.routing;version="[4.3,5)"</require>
    <require name='package' filter='(&amp;(package=org.apache.http.conn.ssl)(version&gt;=4.3.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.http.conn.ssl;version="[4.3,5)"</require>
    <require name='package' filter='(&amp;(package=org.apache.http.cookie)(version&gt;=4.3.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.http.cookie;version="[4.3,5)"</require>
    <require name='package' filter='(&amp;(package=org.apache.http.entity)(version&gt;=4.3.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.http.entity;version="[4.3,5)"</require>
    <require name='package' filter='(&amp;(package=org.apache.http.impl)(version&gt;=4.3.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.http.impl;version="[4.3,5)"</require>
    <require name='package' filter='(&amp;(package=org.apache.http.impl.auth)(version&gt;=4.3.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.http.impl.auth;version="[4.3,5)"</require>
    <require name='package' filter='(&amp;(package=org.apache.http.impl.client)(version&gt;=4.3.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.http.impl.client;version="[4.3,5)"</require>
    <require name='package' filter='(&amp;(package=org.apache.http.impl.conn)(version&gt;=4.3.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.http.impl.conn;version="[4.3,5)"</require>
    <require name='package' filter='(&amp;(package=org.apache.http.impl.cookie)(version&gt;=4.3.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.http.impl.cookie;version="[4.3,5)"</require>
    <require name='package' filter='(&amp;(package=org.apache.http.impl.nio)(version&gt;=4.3.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.http.impl.nio;version="[4.3,5)"</require>
    <require name='package' filter='(&amp;(package=org.apache.http.impl.nio.codecs)(version&gt;=4.3.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.http.impl.nio.codecs;version="[4.3,5)"</require>
    <require name='package' filter='(&amp;(package=org.apache.http.impl.nio.reactor)(version&gt;=4.3.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.http.impl.nio.reactor;version="[4.3,5)"</require>
    <require name='package' filter='(&amp;(package=org.apache.http.message)(version&gt;=4.3.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.http.message;version="[4.3,5)"</require>
    <require name='package' filter='(&amp;(package=org.apache.http.nio)(version&gt;=4.3.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.http.nio;version="[4.3,5)"</require>
    <require name='package' filter='(&amp;(package=org.apache.http.nio.entity)(version&gt;=4.3.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.http.nio.entity;version="[4.3,5)"</require>
    <require name='package' filter='(&amp;(package=org.apache.http.nio.pool)(version&gt;=4.3.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.http.nio.pool;version="[4.3,5)"</require>
    <require name='package' filter='(&amp;(package=org.apache.http.nio.protocol)(version&gt;=4.3.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.http.nio.protocol;version="[4.3,5)"</require>
    <require name='package' filter='(&amp;(package=org.apache.http.nio.reactor)(version&gt;=4.3.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.http.nio.reactor;version="[4.3,5)"</require>
    <require name='package' filter='(&amp;(package=org.apache.http.nio.reactor.ssl)(version&gt;=4.3.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.http.nio.reactor.ssl;version="[4.3,5)"</require>
    <require name='package' filter='(&amp;(package=org.apache.http.nio.util)(version&gt;=4.3.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.http.nio.util;version="[4.3,5)"</require>
    <require name='package' filter='(&amp;(package=org.apache.http.params)(version&gt;=4.3.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.http.params;version="[4.3,5)"</require>
    <require name='package' filter='(&amp;(package=org.apache.http.pool)(version&gt;=4.3.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.http.pool;version="[4.3,5)"</require>
    <require name='package' filter='(&amp;(package=org.apache.http.protocol)(version&gt;=4.3.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.http.protocol;version="[4.3,5)"</require>
    <require name='package' filter='(&amp;(package=org.apache.http.util)(version&gt;=4.3.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.http.util;version="[4.3,5)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.api.observation)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.api.observation;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.commons)(version&gt;=2.4.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.commons;version="[2.4,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.util)(version&gt;=2.4.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.util;version="[2.4,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.vault.fs.api)(version&gt;=2.4.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.vault.fs.api;version="[2.4,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.vault.fs.config)(version&gt;=2.4.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.vault.fs.config;version="[2.4,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.vault.fs.filter)(version&gt;=2.4.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.vault.fs.filter;version="[2.4,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.vault.fs.io)(version&gt;=2.4.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.vault.fs.io;version="[2.4,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.vault.packaging)(version&gt;=2.4.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.vault.packaging;version="[2.4,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.5.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.5,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.servlets)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.servlets;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.wrappers)(version&gt;=2.5.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.wrappers;version="[2.5,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.scheduler)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.scheduler;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.distribution)(version&gt;=0.3.0)(!(version&gt;=0.4.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.distribution;version="[0.3,0.4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.distribution.transport)(version&gt;=0.1.0)(!(version&gt;=1.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.distribution.transport;version="[0.1,1)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.hc.api)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.hc.api;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.hc.util)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.hc.util;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.settings)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.settings;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.cm)(version&gt;=1.2.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.cm;version="[1.2,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.event)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.event;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.6.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.6,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j.helpers)(version&gt;=1.6.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j.helpers;version="[1.6,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.distribution.core/0.1.1' symbolicname='org.apache.sling.distribution.core' presentationname='Apache Sling Distribution Core' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.distribution.core/0.1.1/org.apache.sling.distribution.core-0.1.1.jar' version='0.1.1'>
    <description>The Apache Sling Distribution Core bundle provides the basic code infrastructure and API implementations for the        Sling Content Distribution module</description>
    <size>477023</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.distribution.core'/>
      <p n='presentationname' v='Apache Sling Distribution Core'/>
      <p n='version' t='version' v='0.1.1'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.distribution.util'/>
      <p n='version' t='version' v='0.1.0'/>
      <p n='uses:' v='javax.annotation,javax.jcr,javax.jcr.observation,javax.servlet.http,org.apache.sling.distribution'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.annotation))' extend='false' multiple='false' optional='false'>Import package javax.annotation</require>
    <require name='package' filter='(&amp;(package=javax.jcr)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.jcr.observation)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr.observation;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.jcr.security)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr.security;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.net.ssl))' extend='false' multiple='false' optional='false'>Import package javax.net.ssl</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.io)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.io;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.logging)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.logging;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.http)(version&gt;=4.3.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.http;version="[4.3,5)"</require>
    <require name='package' filter='(&amp;(package=org.apache.http.auth)(version&gt;=4.3.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.http.auth;version="[4.3,5)"</require>
    <require name='package' filter='(&amp;(package=org.apache.http.client)(version&gt;=4.3.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.http.client;version="[4.3,5)"</require>
    <require name='package' filter='(&amp;(package=org.apache.http.client.config)(version&gt;=4.3.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.http.client.config;version="[4.3,5)"</require>
    <require name='package' filter='(&amp;(package=org.apache.http.client.fluent)(version&gt;=4.3.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.http.client.fluent;version="[4.3,5)"</require>
    <require name='package' filter='(&amp;(package=org.apache.http.client.methods)(version&gt;=4.3.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.http.client.methods;version="[4.3,5)"</require>
    <require name='package' filter='(&amp;(package=org.apache.http.client.params)(version&gt;=4.3.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.http.client.params;version="[4.3,5)"</require>
    <require name='package' filter='(&amp;(package=org.apache.http.client.protocol)(version&gt;=4.3.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.http.client.protocol;version="[4.3,5)"</require>
    <require name='package' filter='(&amp;(package=org.apache.http.client.utils)(version&gt;=4.3.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.http.client.utils;version="[4.3,5)"</require>
    <require name='package' filter='(&amp;(package=org.apache.http.concurrent)(version&gt;=4.3.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.http.concurrent;version="[4.3,5)"</require>
    <require name='package' filter='(&amp;(package=org.apache.http.config)(version&gt;=4.3.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.http.config;version="[4.3,5)"</require>
    <require name='package' filter='(&amp;(package=org.apache.http.conn)(version&gt;=4.3.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.http.conn;version="[4.3,5)"</require>
    <require name='package' filter='(&amp;(package=org.apache.http.conn.params)(version&gt;=4.3.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.http.conn.params;version="[4.3,5)"</require>
    <require name='package' filter='(&amp;(package=org.apache.http.conn.routing)(version&gt;=4.3.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.http.conn.routing;version="[4.3,5)"</require>
    <require name='package' filter='(&amp;(package=org.apache.http.conn.ssl)(version&gt;=4.3.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.http.conn.ssl;version="[4.3,5)"</require>
    <require name='package' filter='(&amp;(package=org.apache.http.cookie)(version&gt;=4.3.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.http.cookie;version="[4.3,5)"</require>
    <require name='package' filter='(&amp;(package=org.apache.http.entity)(version&gt;=4.3.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.http.entity;version="[4.3,5)"</require>
    <require name='package' filter='(&amp;(package=org.apache.http.impl)(version&gt;=4.3.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.http.impl;version="[4.3,5)"</require>
    <require name='package' filter='(&amp;(package=org.apache.http.impl.auth)(version&gt;=4.3.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.http.impl.auth;version="[4.3,5)"</require>
    <require name='package' filter='(&amp;(package=org.apache.http.impl.client)(version&gt;=4.3.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.http.impl.client;version="[4.3,5)"</require>
    <require name='package' filter='(&amp;(package=org.apache.http.impl.conn)(version&gt;=4.3.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.http.impl.conn;version="[4.3,5)"</require>
    <require name='package' filter='(&amp;(package=org.apache.http.impl.cookie)(version&gt;=4.3.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.http.impl.cookie;version="[4.3,5)"</require>
    <require name='package' filter='(&amp;(package=org.apache.http.impl.nio)(version&gt;=4.3.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.http.impl.nio;version="[4.3,5)"</require>
    <require name='package' filter='(&amp;(package=org.apache.http.impl.nio.codecs)(version&gt;=4.3.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.http.impl.nio.codecs;version="[4.3,5)"</require>
    <require name='package' filter='(&amp;(package=org.apache.http.impl.nio.reactor)(version&gt;=4.3.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.http.impl.nio.reactor;version="[4.3,5)"</require>
    <require name='package' filter='(&amp;(package=org.apache.http.message)(version&gt;=4.3.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.http.message;version="[4.3,5)"</require>
    <require name='package' filter='(&amp;(package=org.apache.http.nio)(version&gt;=4.3.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.http.nio;version="[4.3,5)"</require>
    <require name='package' filter='(&amp;(package=org.apache.http.nio.entity)(version&gt;=4.3.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.http.nio.entity;version="[4.3,5)"</require>
    <require name='package' filter='(&amp;(package=org.apache.http.nio.pool)(version&gt;=4.3.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.http.nio.pool;version="[4.3,5)"</require>
    <require name='package' filter='(&amp;(package=org.apache.http.nio.protocol)(version&gt;=4.3.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.http.nio.protocol;version="[4.3,5)"</require>
    <require name='package' filter='(&amp;(package=org.apache.http.nio.reactor)(version&gt;=4.3.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.http.nio.reactor;version="[4.3,5)"</require>
    <require name='package' filter='(&amp;(package=org.apache.http.nio.reactor.ssl)(version&gt;=4.3.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.http.nio.reactor.ssl;version="[4.3,5)"</require>
    <require name='package' filter='(&amp;(package=org.apache.http.nio.util)(version&gt;=4.3.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.http.nio.util;version="[4.3,5)"</require>
    <require name='package' filter='(&amp;(package=org.apache.http.params)(version&gt;=4.3.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.http.params;version="[4.3,5)"</require>
    <require name='package' filter='(&amp;(package=org.apache.http.pool)(version&gt;=4.3.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.http.pool;version="[4.3,5)"</require>
    <require name='package' filter='(&amp;(package=org.apache.http.protocol)(version&gt;=4.3.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.http.protocol;version="[4.3,5)"</require>
    <require name='package' filter='(&amp;(package=org.apache.http.util)(version&gt;=4.3.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.http.util;version="[4.3,5)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.api.observation)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.api.observation;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.util)(version&gt;=2.4.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.util;version="[2.4,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.vault.fs.api)(version&gt;=2.4.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.vault.fs.api;version="[2.4,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.vault.fs.config)(version&gt;=2.4.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.vault.fs.config;version="[2.4,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.vault.fs.filter)(version&gt;=2.4.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.vault.fs.filter;version="[2.4,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.vault.fs.io)(version&gt;=2.4.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.vault.fs.io;version="[2.4,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.vault.packaging)(version&gt;=2.4.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.vault.packaging;version="[2.4,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.4.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.4,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.servlets)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.servlets;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.wrappers)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.wrappers;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.scheduler)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.scheduler;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.distribution)(version&gt;=0.1.0)(!(version&gt;=0.2.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.distribution;version="[0.1,0.2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.distribution.transport)(version&gt;=0.1.0)(!(version&gt;=1.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.distribution.transport;version="[0.1,1)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.event.jobs)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.event.jobs;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.event.jobs.consumer)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.event.jobs.consumer;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.hc.api)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.hc.api;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.hc.util)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.hc.util;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.api)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.api;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.settings)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.settings;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.cm)(version&gt;=1.2.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.cm;version="[1.2,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.event)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.event;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.6.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.6,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j.helpers)(version&gt;=1.6.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j.helpers;version="[1.6,2)"</require>
    <require name='ee' filter='(|(ee=J2SE-1.5))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=J2SE-1.5))</require>
  </resource>
  <resource id='org.apache.sling.distribution.core/0.1.4' symbolicname='org.apache.sling.distribution.core' presentationname='Apache Sling Distribution Core' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.distribution.core/0.1.4/org.apache.sling.distribution.core-0.1.4.jar' version='0.1.4'>
    <description>The Apache Sling Distribution Core bundle provides the basic code infrastructure and API implementations for the        Sling Content Distribution module</description>
    <size>485733</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.distribution.core'/>
      <p n='presentationname' v='Apache Sling Distribution Core'/>
      <p n='version' t='version' v='0.1.4'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.distribution.util'/>
      <p n='version' t='version' v='0.1.0'/>
      <p n='uses:' v='javax.annotation,javax.jcr,javax.jcr.observation,javax.servlet.http,org.apache.sling.distribution'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.annotation))' extend='false' multiple='false' optional='false'>Import package javax.annotation</require>
    <require name='package' filter='(&amp;(package=javax.jcr)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.jcr.observation)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr.observation;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.jcr.security)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr.security;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.net.ssl))' extend='false' multiple='false' optional='false'>Import package javax.net.ssl</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.io)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.io;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.logging)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.logging;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.http))' extend='false' multiple='false' optional='false'>Import package org.apache.http</require>
    <require name='package' filter='(&amp;(package=org.apache.http.auth))' extend='false' multiple='false' optional='false'>Import package org.apache.http.auth</require>
    <require name='package' filter='(&amp;(package=org.apache.http.client))' extend='false' multiple='false' optional='false'>Import package org.apache.http.client</require>
    <require name='package' filter='(&amp;(package=org.apache.http.client.config))' extend='false' multiple='false' optional='false'>Import package org.apache.http.client.config</require>
    <require name='package' filter='(&amp;(package=org.apache.http.client.fluent)(version&gt;=4.3.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.http.client.fluent;version="[4.3,5)"</require>
    <require name='package' filter='(&amp;(package=org.apache.http.client.methods))' extend='false' multiple='false' optional='false'>Import package org.apache.http.client.methods</require>
    <require name='package' filter='(&amp;(package=org.apache.http.client.params))' extend='false' multiple='false' optional='false'>Import package org.apache.http.client.params</require>
    <require name='package' filter='(&amp;(package=org.apache.http.client.protocol))' extend='false' multiple='false' optional='false'>Import package org.apache.http.client.protocol</require>
    <require name='package' filter='(&amp;(package=org.apache.http.client.utils))' extend='false' multiple='false' optional='false'>Import package org.apache.http.client.utils</require>
    <require name='package' filter='(&amp;(package=org.apache.http.concurrent))' extend='false' multiple='false' optional='false'>Import package org.apache.http.concurrent</require>
    <require name='package' filter='(&amp;(package=org.apache.http.config))' extend='false' multiple='false' optional='false'>Import package org.apache.http.config</require>
    <require name='package' filter='(&amp;(package=org.apache.http.conn))' extend='false' multiple='false' optional='false'>Import package org.apache.http.conn</require>
    <require name='package' filter='(&amp;(package=org.apache.http.conn.params))' extend='false' multiple='false' optional='false'>Import package org.apache.http.conn.params</require>
    <require name='package' filter='(&amp;(package=org.apache.http.conn.routing))' extend='false' multiple='false' optional='false'>Import package org.apache.http.conn.routing</require>
    <require name='package' filter='(&amp;(package=org.apache.http.conn.ssl))' extend='false' multiple='false' optional='false'>Import package org.apache.http.conn.ssl</require>
    <require name='package' filter='(&amp;(package=org.apache.http.cookie))' extend='false' multiple='false' optional='false'>Import package org.apache.http.cookie</require>
    <require name='package' filter='(&amp;(package=org.apache.http.entity))' extend='false' multiple='false' optional='false'>Import package org.apache.http.entity</require>
    <require name='package' filter='(&amp;(package=org.apache.http.impl))' extend='false' multiple='false' optional='false'>Import package org.apache.http.impl</require>
    <require name='package' filter='(&amp;(package=org.apache.http.impl.auth))' extend='false' multiple='false' optional='false'>Import package org.apache.http.impl.auth</require>
    <require name='package' filter='(&amp;(package=org.apache.http.impl.client))' extend='false' multiple='false' optional='false'>Import package org.apache.http.impl.client</require>
    <require name='package' filter='(&amp;(package=org.apache.http.impl.conn))' extend='false' multiple='false' optional='false'>Import package org.apache.http.impl.conn</require>
    <require name='package' filter='(&amp;(package=org.apache.http.impl.cookie))' extend='false' multiple='false' optional='false'>Import package org.apache.http.impl.cookie</require>
    <require name='package' filter='(&amp;(package=org.apache.http.impl.nio))' extend='false' multiple='false' optional='false'>Import package org.apache.http.impl.nio</require>
    <require name='package' filter='(&amp;(package=org.apache.http.impl.nio.codecs))' extend='false' multiple='false' optional='false'>Import package org.apache.http.impl.nio.codecs</require>
    <require name='package' filter='(&amp;(package=org.apache.http.impl.nio.reactor))' extend='false' multiple='false' optional='false'>Import package org.apache.http.impl.nio.reactor</require>
    <require name='package' filter='(&amp;(package=org.apache.http.message))' extend='false' multiple='false' optional='false'>Import package org.apache.http.message</require>
    <require name='package' filter='(&amp;(package=org.apache.http.nio))' extend='false' multiple='false' optional='false'>Import package org.apache.http.nio</require>
    <require name='package' filter='(&amp;(package=org.apache.http.nio.entity))' extend='false' multiple='false' optional='false'>Import package org.apache.http.nio.entity</require>
    <require name='package' filter='(&amp;(package=org.apache.http.nio.pool))' extend='false' multiple='false' optional='false'>Import package org.apache.http.nio.pool</require>
    <require name='package' filter='(&amp;(package=org.apache.http.nio.protocol))' extend='false' multiple='false' optional='false'>Import package org.apache.http.nio.protocol</require>
    <require name='package' filter='(&amp;(package=org.apache.http.nio.reactor))' extend='false' multiple='false' optional='false'>Import package org.apache.http.nio.reactor</require>
    <require name='package' filter='(&amp;(package=org.apache.http.nio.reactor.ssl))' extend='false' multiple='false' optional='false'>Import package org.apache.http.nio.reactor.ssl</require>
    <require name='package' filter='(&amp;(package=org.apache.http.nio.util))' extend='false' multiple='false' optional='false'>Import package org.apache.http.nio.util</require>
    <require name='package' filter='(&amp;(package=org.apache.http.params))' extend='false' multiple='false' optional='false'>Import package org.apache.http.params</require>
    <require name='package' filter='(&amp;(package=org.apache.http.pool))' extend='false' multiple='false' optional='false'>Import package org.apache.http.pool</require>
    <require name='package' filter='(&amp;(package=org.apache.http.protocol))' extend='false' multiple='false' optional='false'>Import package org.apache.http.protocol</require>
    <require name='package' filter='(&amp;(package=org.apache.http.util))' extend='false' multiple='false' optional='false'>Import package org.apache.http.util</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.api.observation)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.api.observation;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.util))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.util</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.vault.fs.api)(version&gt;=2.4.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.vault.fs.api;version="[2.4,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.vault.fs.config)(version&gt;=2.4.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.vault.fs.config;version="[2.4,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.vault.fs.filter)(version&gt;=2.4.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.vault.fs.filter;version="[2.4,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.vault.fs.io)(version&gt;=2.4.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.vault.fs.io;version="[2.4,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.vault.packaging)(version&gt;=2.4.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.vault.packaging;version="[2.4,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.4.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.4,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.servlets)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.servlets;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.wrappers)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.wrappers;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.scheduler)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.scheduler;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.distribution))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.distribution</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.distribution.transport))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.distribution.transport</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.event.jobs)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.event.jobs;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.event.jobs.consumer)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.event.jobs.consumer;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.hc.api)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.hc.api;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.hc.util)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.hc.util;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.api)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.api;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.settings)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.settings;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.cm)(version&gt;=1.2.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.cm;version="[1.2,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.event)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.event;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.6.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.6,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j.helpers)(version&gt;=1.6.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j.helpers;version="[1.6,2)"</require>
    <require name='ee' filter='(|(ee=J2SE-1.5))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=J2SE-1.5))</require>
  </resource>
  <resource id='org.apache.sling.distribution.it/0.1.0' symbolicname='org.apache.sling.distribution.it' presentationname='Apache Sling Distribution Integration Tests' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.distribution.it/0.1.0/org.apache.sling.distribution.it-0.1.0.jar' version='0.1.0'>
    <description>Project tests functionality for org.apache.sling.distribution bundle</description>
    <size>17039</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.distribution.it'/>
      <p n='presentationname' v='Apache Sling Distribution Integration Tests'/>
      <p n='version' t='version' v='0.1.0'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.distribution.it'/>
      <p n='version' t='version' v='0.1.0'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.4.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.4,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.servlets)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.servlets;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.distribution))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.distribution</require>
    <require name='ee' filter='(|(ee=J2SE-1.5))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=J2SE-1.5))</require>
  </resource>
  <resource id='org.apache.sling.distribution.it/0.1.2' symbolicname='org.apache.sling.distribution.it' presentationname='Apache Sling Distribution Integration Tests' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.distribution.it/0.1.2/org.apache.sling.distribution.it-0.1.2.jar' version='0.1.2'>
    <description>Project tests functionality for org.apache.sling.distribution bundle</description>
    <size>19488</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.distribution.it'/>
      <p n='presentationname' v='Apache Sling Distribution Integration Tests'/>
      <p n='version' t='version' v='0.1.2'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.distribution.it'/>
      <p n='version' t='version' v='0.1.2'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.api)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.api;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.api.security.user)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.api.security.user;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.commons)(version&gt;=2.4.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.commons;version="[2.4,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.commons.jackrabbit.authorization))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.commons.jackrabbit.authorization</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.4.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.4,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.servlets)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.servlets;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.distribution)(version&gt;=0.3.0)(!(version&gt;=1.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.distribution;version="[0.3,1)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.api)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.api;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.distribution.sample/0.1.6' symbolicname='org.apache.sling.distribution.sample' presentationname='Apache Sling Distribution Sample' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.distribution.sample/0.1.6/org.apache.sling.distribution.sample-0.1.6.jar' version='0.1.6'>
    <description>The Apache Sling Distribution sample bundle provides a set of sample configurations and custom component implementations.</description>
    <size>43817</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.distribution.sample'/>
      <p n='presentationname' v='Apache Sling Distribution Sample'/>
      <p n='version' t='version' v='0.1.6'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.distribution.test'/>
      <p n='version' t='version' v='0.1.6'/>
      <p n='uses:' v='org.apache.sling.jcr.api'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.api)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.api;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.api.security.user)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.api.security.user;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.commons)(version&gt;=2.4.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.commons;version="[2.4,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.commons.jackrabbit.authorization))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.commons.jackrabbit.authorization</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.api)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.api;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.6.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.6,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.distribution.sample/0.1.0' symbolicname='org.apache.sling.distribution.sample' presentationname='Apache Sling Distribution Sample' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.distribution.sample/0.1.0/org.apache.sling.distribution.sample-0.1.0.jar' version='0.1.0'>
    <description>The Apache Sling Distribution sample bundle provides a set of sample configurations and custom component implementations.</description>
    <size>28992</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.distribution.sample'/>
      <p n='presentationname' v='Apache Sling Distribution Sample'/>
      <p n='version' t='version' v='0.1.0'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <require name='ee' filter='(|(ee=J2SE-1.5))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=J2SE-1.5))</require>
  </resource>
  <resource id='org.apache.sling.commons.classloader/1.2.0' symbolicname='org.apache.sling.commons.classloader' presentationname='Apache Sling Dynamic Class Loader Support' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.commons.classloader/1.2.0/org.apache.sling.commons.classloader-1.2.0.jar' version='1.2.0'>
    <description>This bundle provides support for dynamic class loading used for example by the scripting engines.</description>
    <size>21961</size>
    <documentation>http://sling.apache.org</documentation>
    <source>org/apache/sling/org.apache.sling.commons.classloader/1.2.0/org.apache.sling.commons.classloader-1.2.0-sources.jar</source>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <category id='org.apache.sling'/>
    <capability name='bundle'>
      <p n='manifestversion' v='2'/>
      <p n='presentationname' v='Apache Sling Dynamic Class Loader Support'/>
      <p n='symbolicname' v='org.apache.sling.commons.classloader'/>
      <p n='version' t='version' v='1.2.0'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.commons.classloader'/>
      <p n='version' t='version' v='1.2.0'/>
    </capability>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.classloader)(version&gt;=1.2.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.classloader ;version=1.2.0</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework ;version=1.4.0</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.packageadmin)(version&gt;=1.2.0))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.packageadmin ;version=1.2.0</require>
    <require name='package' filter='(&amp;(package=org.osgi.util.tracker)(version&gt;=1.3.0))' extend='false' multiple='false' optional='false'>Import package org.osgi.util.tracker ;version=1.3.0</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0))' extend='false' multiple='false' optional='false'>Import package org.slf4j ;version=1.5.0</require>
  </resource>
  <resource id='org.apache.sling.commons.classloader/1.3.2' symbolicname='org.apache.sling.commons.classloader' presentationname='Apache Sling Dynamic Class Loader Support' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.commons.classloader/1.3.2/org.apache.sling.commons.classloader-1.3.2.jar' version='1.3.2'>
    <description>This bundle provides support for dynamic class loading used for example by the scripting engines.</description>
    <size>23467</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.commons.classloader'/>
      <p n='presentationname' v='Apache Sling Dynamic Class Loader Support'/>
      <p n='version' t='version' v='1.3.2'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.commons.classloader'/>
      <p n='version' t='version' v='1.3.0'/>
    </capability>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.classloader)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.classloader;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.packageadmin)(version&gt;=1.2.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.packageadmin;version="[1.2,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.util.tracker)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.util.tracker;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=J2SE-1.5))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=J2SE-1.5))</require>
  </resource>
  <resource id='org.apache.sling.engine/2.0.4.incubator' symbolicname='org.apache.sling.engine' presentationname='Apache Sling Engine Implementation' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.engine/2.0.4.incubator/org.apache.sling.engine-2.0.4.incubator.jar' version='2.0.4.incubator'>
    <description>Bundle implementing the core of Sling.</description>
    <size>167372</size>
    <documentation>http://incubator.apache.org/sling</documentation>
    <source>org/apache/sling/org.apache.sling.engine/2.0.4-incubator/org.apache.sling.engine-2.0.4-incubator-sources.jar</source>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='org.apache.sling'/>
    <capability name='bundle'>
      <p n='manifestversion' v='2'/>
      <p n='presentationname' v='Apache Sling Engine Implementation'/>
      <p n='symbolicname' v='org.apache.sling.engine'/>
      <p n='version' t='version' v='2.0.4.incubator'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.engine.auth'/>
      <p n='uses:' v='javax.jcr,org.apache.sling.api,javax.servlet.http'/>
      <p n='version' t='version' v='2.0.4.incubator'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.engine'/>
      <p n='uses:' v='javax.servlet,javax.servlet.http'/>
      <p n='version' t='version' v='2.0.4.incubator'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.engine.servlets'/>
      <p n='uses:' v='javax.servlet,org.apache.sling.api,org.osgi.framework'/>
      <p n='version' t='version' v='2.0.4.incubator'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.portlet))' extend='false' multiple='false' optional='true'>Import package javax.portlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections.iterators)(version&gt;=3.2.0))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections.iterators ;version=3.2.0</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.io))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.io</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.io.output))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.io.output</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.0.4.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api ;version=2.0.4.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.request)(version&gt;=2.0.4.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.request ;version=2.0.4.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.0.4.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource ;version=2.0.4.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.servlets)(version&gt;=2.0.4.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.servlets ;version=2.0.4.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.wrappers)(version&gt;=2.0.4.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.wrappers ;version=2.0.4.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.mime)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.mime ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.engine)(version&gt;=2.0.4.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.engine ;version=2.0.4.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.engine.auth)(version&gt;=2.0.4.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.engine.auth ;version=2.0.4.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.engine.servlets)(version&gt;=2.0.4.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.engine.servlets ;version=2.0.4.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.api)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.api ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.resource)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.resource ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.cm))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.cm</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.http))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.http</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.useradmin))' extend='false' multiple='false' optional='true'>Import package org.osgi.service.useradmin</require>
    <require name='package' filter='(&amp;(package=org.osgi.util.tracker))' extend='false' multiple='false' optional='false'>Import package org.osgi.util.tracker</require>
    <require name='package' filter='(&amp;(package=org.slf4j))' extend='false' multiple='false' optional='false'>Import package org.slf4j</require>
  </resource>
  <resource id='org.apache.sling.engine/2.4.6' symbolicname='org.apache.sling.engine' presentationname='Apache Sling Engine Implementation' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.engine/2.4.6/org.apache.sling.engine-2.4.6.jar' version='2.4.6'>
    <description>Bundle implementing the core of Sling.</description>
    <size>199570</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.engine'/>
      <p n='presentationname' v='Apache Sling Engine Implementation'/>
      <p n='version' t='version' v='2.4.6'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.engine'/>
      <p n='version' t='version' v='2.2.0'/>
      <p n='uses:' v='javax.servlet,javax.servlet.http,org.apache.sling.api.resource'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.engine.jmx'/>
      <p n='version' t='version' v='1.1.0'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.engine.servlets'/>
      <p n='version' t='version' v='2.0.8'/>
      <p n='uses:' v='javax.servlet,org.apache.sling.api,org.osgi.framework'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.servlet)(version&gt;=2.6.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.servlet;version="[2.6,4)"</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http)(version&gt;=2.6.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http;version="[2.6,4)"</require>
    <require name='package' filter='(&amp;(package=javax.servlet.descriptor)(version&gt;=2.6.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.servlet.descriptor;version="[2.6,4)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.useradmin)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='true'>Import package org.osgi.service.useradmin;resolution:=optional;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=javax.management))' extend='false' multiple='false' optional='false'>Import package javax.management</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.fileupload)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.fileupload;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.fileupload.disk)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.fileupload.disk;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.fileupload.servlet)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.fileupload.servlet;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.3.0)(!(version&gt;=2.4.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api;version="[2.3,2.4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.adapter)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.adapter;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.request)(version&gt;=2.4.0)(!(version&gt;=2.5.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.request;version="[2.4,2.5)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.4.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.4,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.servlets)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.servlets;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.wrappers)(version&gt;=2.4.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.wrappers;version="[2.4,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.auth.core)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.auth.core;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.mime)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.mime;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.engine)(version&gt;=2.2.0)(!(version&gt;=2.3.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.engine;version="[2.2,2.3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.engine.jmx)(version&gt;=1.1.0)(!(version&gt;=1.2.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.engine.jmx;version="[1.1,1.2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.engine.servlets)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.engine.servlets;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.settings)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.settings;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.http)(version&gt;=1.2.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.http;version="[1.2,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.util.tracker)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.util.tracker;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.engine/2.4.2' symbolicname='org.apache.sling.engine' presentationname='Apache Sling Engine Implementation' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.engine/2.4.2/org.apache.sling.engine-2.4.2.jar' version='2.4.2'>
    <description>Bundle implementing the core of Sling.</description>
    <size>195913</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.engine'/>
      <p n='presentationname' v='Apache Sling Engine Implementation'/>
      <p n='version' t='version' v='2.4.2'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.engine'/>
      <p n='version' t='version' v='2.2.0'/>
      <p n='uses:' v='javax.servlet,javax.servlet.http,org.apache.sling.api.resource'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.engine.jmx'/>
      <p n='version' t='version' v='1.0.2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.engine.servlets'/>
      <p n='version' t='version' v='2.0.8'/>
      <p n='uses:' v='javax.servlet,org.apache.sling.api,org.osgi.framework'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.servlet)(version&gt;=2.3.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.servlet;version="[2.3,4)"</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http)(version&gt;=2.3.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http;version="[2.3,4)"</require>
    <require name='package' filter='(&amp;(package=javax.servlet.descriptor)(version&gt;=2.6.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='true'>Import package javax.servlet.descriptor;resolution:=optional;version="[2.6,4)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.useradmin)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='true'>Import package org.osgi.service.useradmin;resolution:=optional;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=javax.management))' extend='false' multiple='false' optional='false'>Import package javax.management</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.fileupload)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.fileupload;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.fileupload.disk)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.fileupload.disk;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.fileupload.servlet)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.fileupload.servlet;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.3.0)(!(version&gt;=2.4.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api;version="[2.3,2.4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.adapter)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.adapter;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.request)(version&gt;=2.4.0)(!(version&gt;=2.5.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.request;version="[2.4,2.5)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.4.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.4,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.servlets)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.servlets;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.wrappers)(version&gt;=2.4.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.wrappers;version="[2.4,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.auth.core)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.auth.core;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.mime)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.mime;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.engine)(version&gt;=2.2.0)(!(version&gt;=2.3.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.engine;version="[2.2,2.3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.engine.jmx)(version&gt;=1.0.0)(!(version&gt;=1.1.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.engine.jmx;version="[1.0,1.1)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.engine.servlets)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.engine.servlets;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.settings)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.settings;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.http)(version&gt;=1.2.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.http;version="[1.2,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.util.tracker)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.util.tracker;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.engine/2.4.4' symbolicname='org.apache.sling.engine' presentationname='Apache Sling Engine Implementation' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.engine-2.4.4.jar' version='2.4.4'>
    <description>Bundle implementing the core of Sling.</description>
    <size>198912</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.engine'/>
      <p n='presentationname' v='Apache Sling Engine Implementation'/>
      <p n='version' t='version' v='2.4.4'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.engine.jmx'/>
      <p n='version' t='version' v='1.1.0'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.engine'/>
      <p n='version' t='version' v='2.2.0'/>
      <p n='uses:' v='javax.servlet,javax.servlet.http,org.apache.sling.api.resource'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.engine.servlets'/>
      <p n='version' t='version' v='2.0.8'/>
      <p n='uses:' v='javax.servlet,org.apache.sling.api,org.osgi.framework'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.servlet)(version&gt;=2.6.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.servlet;version="[2.6,4)"</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http)(version&gt;=2.6.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http;version="[2.6,4)"</require>
    <require name='package' filter='(&amp;(package=javax.servlet.descriptor)(version&gt;=2.6.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.servlet.descriptor;version="[2.6,4)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.useradmin)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='true'>Import package org.osgi.service.useradmin;resolution:=optional;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=javax.management))' extend='false' multiple='false' optional='false'>Import package javax.management</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.fileupload)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.fileupload;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.fileupload.disk)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.fileupload.disk;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.fileupload.servlet)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.fileupload.servlet;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.3.0)(!(version&gt;=2.4.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api;version="[2.3,2.4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.adapter)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.adapter;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.request)(version&gt;=2.4.0)(!(version&gt;=2.5.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.request;version="[2.4,2.5)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.4.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.4,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.servlets)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.servlets;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.wrappers)(version&gt;=2.4.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.wrappers;version="[2.4,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.auth.core)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.auth.core;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.mime)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.mime;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.engine)(version&gt;=2.2.0)(!(version&gt;=2.3.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.engine;version="[2.2,2.3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.engine.jmx)(version&gt;=1.1.0)(!(version&gt;=1.2.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.engine.jmx;version="[1.1,1.2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.engine.servlets)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.engine.servlets;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.settings)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.settings;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.http)(version&gt;=1.2.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.http;version="[1.2,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.util.tracker)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.util.tracker;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.engine/2.4.0' symbolicname='org.apache.sling.engine' presentationname='Apache Sling Engine Implementation' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.engine/2.4.0/org.apache.sling.engine-2.4.0.jar' version='2.4.0'>
    <description>Bundle implementing the core of Sling.</description>
    <size>195883</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.engine'/>
      <p n='presentationname' v='Apache Sling Engine Implementation'/>
      <p n='version' t='version' v='2.4.0'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.engine'/>
      <p n='version' t='version' v='2.2.0'/>
      <p n='uses:' v='javax.servlet,javax.servlet.http,org.apache.sling.api.resource'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.engine.jmx'/>
      <p n='version' t='version' v='1.0.2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.engine.servlets'/>
      <p n='version' t='version' v='2.0.8'/>
      <p n='uses:' v='javax.servlet,org.apache.sling.api,org.osgi.framework'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.servlet)(version&gt;=2.3.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.servlet;version="[2.3,4)"</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http)(version&gt;=2.3.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http;version="[2.3,4)"</require>
    <require name='package' filter='(&amp;(package=javax.servlet.descriptor)(version&gt;=2.6.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='true'>Import package javax.servlet.descriptor;resolution:=optional;version="[2.6,4)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.useradmin)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='true'>Import package org.osgi.service.useradmin;resolution:=optional;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=javax.management))' extend='false' multiple='false' optional='false'>Import package javax.management</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.fileupload)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.fileupload;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.fileupload.disk)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.fileupload.disk;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.fileupload.servlet)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.fileupload.servlet;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.3.0)(!(version&gt;=2.4.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api;version="[2.3,2.4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.adapter)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.adapter;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.request)(version&gt;=2.4.0)(!(version&gt;=2.5.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.request;version="[2.4,2.5)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.4.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.4,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.servlets)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.servlets;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.wrappers)(version&gt;=2.4.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.wrappers;version="[2.4,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.auth.core)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.auth.core;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.mime)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.mime;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.engine)(version&gt;=2.2.0)(!(version&gt;=2.3.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.engine;version="[2.2,2.3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.engine.jmx)(version&gt;=1.0.0)(!(version&gt;=1.1.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.engine.jmx;version="[1.0,1.1)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.engine.servlets)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.engine.servlets;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.settings)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.settings;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.http)(version&gt;=1.2.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.http;version="[1.2,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.util.tracker)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.util.tracker;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.event/4.0.2' symbolicname='org.apache.sling.event' presentationname='Apache Sling Event Support' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.event/4.0.2/org.apache.sling.event-4.0.2.jar' version='4.0.2'>
    <description>Support for eventing.</description>
    <size>295411</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.event'/>
      <p n='presentationname' v='Apache Sling Event Support'/>
      <p n='version' t='version' v='4.0.2'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.event.jobs.consumer'/>
      <p n='version' t='version' v='1.2.0'/>
      <p n='uses:' v='org.apache.sling.event.jobs'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.event.jobs.jmx'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='org.apache.sling.event.jobs'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.event.jobs'/>
      <p n='version' t='version' v='2.0.0'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='true'>Import package javax.servlet;resolution:=optional</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='true'>Import package javax.servlet.http;resolution:=optional</require>
    <require name='package' filter='(&amp;(package=org.apache.felix.inventory)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='true'>Import package org.apache.felix.inventory;resolution:=optional;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=javax.management))' extend='false' multiple='false' optional='false'>Import package javax.management</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.request)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.request;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.wrappers)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.wrappers;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.scheduler)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.scheduler;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.threads)(version&gt;=3.1.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.threads;version="[3.1,4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.discovery)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.discovery;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.discovery.commons)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.discovery.commons;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.event.jobs)(version&gt;=2.0.0)(!(version&gt;=2.1.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.event.jobs;version="[2.0,2.1)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.event.jobs.consumer)(version&gt;=1.2.0)(!(version&gt;=1.3.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.event.jobs.consumer;version="[1.2,1.3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.event.jobs.jmx)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.event.jobs.jmx;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.settings)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.settings;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.8.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.8,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.event)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.event;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.7))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.7))</require>
  </resource>
  <resource id='org.apache.sling.event/2.4.0' symbolicname='org.apache.sling.event' presentationname='Apache Sling Event Support' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.event/2.4.0/org.apache.sling.event-2.4.0.jar' version='2.4.0'>
    <description>Support for eventing.</description>
    <size>104168</size>
    <documentation>http://sling.apache.org</documentation>
    <source>org/apache/sling/org.apache.sling.event/2.4.0/org.apache.sling.event-2.4.0-sources.jar</source>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <category id='org.apache.sling'/>
    <capability name='bundle'>
      <p n='manifestversion' v='2'/>
      <p n='presentationname' v='Apache Sling Event Support'/>
      <p n='symbolicname' v='org.apache.sling.event'/>
      <p n='version' t='version' v='2.4.0'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.event'/>
      <p n='uses' v='org.osgi.service.event,org.slf4j,org.apache.sling.commons.threads'/>
      <p n='version' t='version' v='2.4.0'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.lock)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.lock ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.nodetype)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.nodetype ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.observation)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.observation ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.query)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.query ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.query.qom)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.query.qom ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.classloader)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.classloader ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.scheduler)(version&gt;=2.1.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.scheduler ;version=2.1.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.threads)(version&gt;=3.0.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.threads ;version=3.0.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.event)(version&gt;=2.4.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.event ;version=2.4.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.api)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.api ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.resource)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.resource ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.settings)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.settings ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.event)(version&gt;=1.1.0))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.event ;version=1.1.0</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0))' extend='false' multiple='false' optional='false'>Import package org.slf4j ;version=1.5.0</require>
  </resource>
  <resource id='org.apache.sling.event/3.7.4' symbolicname='org.apache.sling.event' presentationname='Apache Sling Event Support' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.event/3.7.4/org.apache.sling.event-3.7.4.jar' version='3.7.4'>
    <description>Support for eventing.</description>
    <size>354478</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.event'/>
      <p n='presentationname' v='Apache Sling Event Support'/>
      <p n='version' t='version' v='3.7.4'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.event'/>
      <p n='version' t='version' v='2.4.0'/>
      <p n='uses:' v='org.apache.sling.event.jobs,org.osgi.service.event'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.event.jobs.consumer'/>
      <p n='version' t='version' v='1.2.0'/>
      <p n='uses:' v='org.apache.sling.event.jobs'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.event.jobs.jmx'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='org.apache.sling.event.jobs'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.event.jobs'/>
      <p n='version' t='version' v='1.6.0'/>
      <p n='uses:' v='org.osgi.service.event'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='true'>Import package javax.servlet;resolution:=optional</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='true'>Import package javax.servlet.http;resolution:=optional</require>
    <require name='package' filter='(&amp;(package=javax.management))' extend='false' multiple='false' optional='false'>Import package javax.management</require>
    <require name='package' filter='(&amp;(package=org.apache.felix.inventory)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.felix.inventory;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.request)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.request;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.wrappers)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.wrappers;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.scheduler)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.scheduler;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.threads)(version&gt;=3.1.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.threads;version="[3.1,4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.discovery)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.discovery;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.event.jobs.consumer)(version&gt;=1.2.0)(!(version&gt;=1.3.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.event.jobs.consumer;version="[1.2,1.3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.event.jobs.jmx)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.event.jobs.jmx;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.settings)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.settings;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.5,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.event)(version&gt;=1.2.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.event;version="[1.2,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.event/3.6.0' symbolicname='org.apache.sling.event' presentationname='Apache Sling Event Support' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.event/3.6.0/org.apache.sling.event-3.6.0.jar' version='3.6.0'>
    <description>Support for eventing.</description>
    <size>341438</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.event'/>
      <p n='presentationname' v='Apache Sling Event Support'/>
      <p n='version' t='version' v='3.6.0'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.event'/>
      <p n='version' t='version' v='2.4.0'/>
      <p n='uses:' v='org.apache.sling.event.jobs,org.osgi.service.event'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.event.jobs.consumer'/>
      <p n='version' t='version' v='1.2.0'/>
      <p n='uses:' v='org.apache.sling.event.jobs'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.event.jobs.jmx'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='org.apache.sling.event.jobs'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.event.jobs'/>
      <p n='version' t='version' v='1.6.0'/>
      <p n='uses:' v='org.osgi.service.event'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='true'>Import package javax.servlet;resolution:=optional</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='true'>Import package javax.servlet.http;resolution:=optional</require>
    <require name='package' filter='(&amp;(package=javax.management))' extend='false' multiple='false' optional='false'>Import package javax.management</require>
    <require name='package' filter='(&amp;(package=org.apache.felix.inventory)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.felix.inventory;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.request)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.request;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.wrappers)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.wrappers;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.scheduler)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.scheduler;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.threads)(version&gt;=3.1.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.threads;version="[3.1,4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.discovery)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.discovery;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.event.jobs.consumer)(version&gt;=1.2.0)(!(version&gt;=1.3.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.event.jobs.consumer;version="[1.2,1.3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.event.jobs.jmx)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.event.jobs.jmx;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.settings)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.settings;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.5,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.event)(version&gt;=1.2.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.event;version="[1.2,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.event/4.1.0' symbolicname='org.apache.sling.event' presentationname='Apache Sling Event Support' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.event/4.1.0/org.apache.sling.event-4.1.0.jar' version='4.1.0'>
    <description>Support for eventing.</description>
    <size>295747</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.event'/>
      <p n='presentationname' v='Apache Sling Event Support'/>
      <p n='version' t='version' v='4.1.0'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.event.jobs'/>
      <p n='version' t='version' v='2.0.0'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.event.jobs.jmx'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='org.apache.sling.event.jobs'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.event.jobs.consumer'/>
      <p n='version' t='version' v='1.2.0'/>
      <p n='uses:' v='org.apache.sling.event.jobs'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='true'>Import package javax.servlet;resolution:=optional</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='true'>Import package javax.servlet.http;resolution:=optional</require>
    <require name='package' filter='(&amp;(package=org.apache.felix.inventory)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='true'>Import package org.apache.felix.inventory;resolution:=optional;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=javax.management))' extend='false' multiple='false' optional='false'>Import package javax.management</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.request)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.request;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.wrappers)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.wrappers;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.scheduler)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.scheduler;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.threads)(version&gt;=3.1.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.threads;version="[3.1,4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.discovery)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.discovery;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.discovery.commons)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.discovery.commons;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.event.jobs)(version&gt;=2.0.0)(!(version&gt;=2.1.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.event.jobs;version="[2.0,2.1)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.event.jobs.consumer)(version&gt;=1.2.0)(!(version&gt;=1.3.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.event.jobs.consumer;version="[1.2,1.3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.event.jobs.jmx)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.event.jobs.jmx;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.settings)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.settings;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.8.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.8,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.event)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.event;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.7))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.7))</require>
  </resource>
  <resource id='org.apache.sling.event/3.3.10' symbolicname='org.apache.sling.event' presentationname='Apache Sling Event Support' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.event/3.3.10/org.apache.sling.event-3.3.10.jar' version='3.3.10'>
    <description>Support for eventing.</description>
    <size>321422</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.event'/>
      <p n='presentationname' v='Apache Sling Event Support'/>
      <p n='version' t='version' v='3.3.10'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.event'/>
      <p n='version' t='version' v='2.4.0'/>
      <p n='uses:' v='org.apache.sling.event.jobs,org.osgi.service.event'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.event.jobs.consumer'/>
      <p n='version' t='version' v='1.1.0'/>
      <p n='uses:' v='org.apache.sling.event.jobs'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.event.jobs.jmx'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='org.apache.sling.event.jobs'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.event.jobs'/>
      <p n='version' t='version' v='1.4.0'/>
      <p n='uses:' v='org.osgi.service.event'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='true'>Import package javax.servlet;resolution:=optional</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='true'>Import package javax.servlet.http;resolution:=optional</require>
    <require name='package' filter='(&amp;(package=javax.management))' extend='false' multiple='false' optional='false'>Import package javax.management</require>
    <require name='package' filter='(&amp;(package=org.apache.felix.inventory)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.felix.inventory;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.wrappers)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.wrappers;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.scheduler)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.scheduler;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.threads)(version&gt;=3.1.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.threads;version="[3.1,4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.discovery)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.discovery;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.event.jobs.consumer)(version&gt;=1.1.0)(!(version&gt;=1.2.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.event.jobs.consumer;version="[1.1,1.2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.event.jobs.jmx)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.event.jobs.jmx;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.settings)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.settings;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.5,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.event)(version&gt;=1.2.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.event;version="[1.2,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.util.tracker)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.util.tracker;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.event/2.0.4.incubator' symbolicname='org.apache.sling.event' presentationname='Apache Sling Event Support' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.event/2.0.4.incubator/org.apache.sling.event-2.0.4.incubator.jar' version='2.0.4.incubator'>
    <description>Support for eventing.</description>
    <size>119739</size>
    <documentation>http://incubator.apache.org/sling</documentation>
    <source>org/apache/sling/org.apache.sling.event/2.0.4-incubator/org.apache.sling.event-2.0.4-incubator-sources.jar</source>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='org.apache.sling'/>
    <capability name='bundle'>
      <p n='manifestversion' v='2'/>
      <p n='presentationname' v='Apache Sling Event Support'/>
      <p n='symbolicname' v='org.apache.sling.event'/>
      <p n='version' t='version' v='2.0.4.incubator'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.event'/>
      <p n='uses:' v='javax.jcr,org.osgi.service.event,javax.jcr.nodetype,org.apache.sling.commons.threads,org.slf4j'/>
      <p n='version' t='version' v='2.0.4.incubator'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.lock)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.lock ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.nodetype)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.nodetype ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.observation)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.observation ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.query)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.query ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.util)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.util ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.name)(version&gt;=1.4.0))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.name ;version=1.4.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.scheduler)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.scheduler ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.threads)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.threads ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.engine)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.engine ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.event)(version&gt;=2.0.4.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.event ;version=2.0.4.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.api)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.api ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.resource)(version&gt;=2.0.4.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.resource ;version=2.0.4.incubator</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.event))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.event</require>
    <require name='package' filter='(&amp;(package=org.slf4j))' extend='false' multiple='false' optional='false'>Import package org.slf4j</require>
  </resource>
  <resource id='org.apache.sling.extensions.explorer/1.0.4' symbolicname='org.apache.sling.extensions.explorer' presentationname='Apache Sling Explorer' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.extensions.explorer/1.0.4/org.apache.sling.extensions.explorer-1.0.4.jar' version='1.0.4'>
    <description>Embedable Sling Explorer</description>
    <size>150126</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.extensions.explorer'/>
      <p n='presentationname' v='Apache Sling Explorer'/>
      <p n='version' t='version' v='1.0.4'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <require name='ee' filter='(|(ee=J2SE-1.5))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=J2SE-1.5))</require>
  </resource>
  <resource id='org.apache.sling.testing.samples.failingtests/1.0.6' symbolicname='org.apache.sling.testing.samples.failingtests' presentationname='Apache Sling Failing Server-Side Tests' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.testing.samples.failingtests/1.0.6/org.apache.sling.testing.samples.failingtests-1.0.6.jar' version='1.0.6'>
    <description>Bundle that supplies server-side tests that fail, to test the Sling JUnit extensions</description>
    <size>10325</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.testing.samples.failingtests'/>
      <p n='presentationname' v='Apache Sling Failing Server-Side Tests'/>
      <p n='version' t='version' v='1.0.6'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <require name='package' filter='(&amp;(package=junit.framework)(version&gt;=4.8.0))' extend='false' multiple='false' optional='false'>Import package junit.framework;version=4.8</require>
    <require name='package' filter='(&amp;(package=org.junit)(version&gt;=4.8.0))' extend='false' multiple='false' optional='false'>Import package org.junit;version=4.8</require>
  </resource>
  <resource id='org.apache.sling.featureflags/1.0.2' symbolicname='org.apache.sling.featureflags' presentationname='Apache Sling Feature Flags' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.featureflags/1.0.2/org.apache.sling.featureflags-1.0.2.jar' version='1.0.2'>
    <description>The parent project for Apache Sling</description>
    <size>21390</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.featureflags'/>
      <p n='presentationname' v='Apache Sling Feature Flags'/>
      <p n='version' t='version' v='1.0.2'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.featureflags'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='javax.servlet.http,org.apache.sling.api.resource'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.request)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.request;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.featureflags)(version&gt;=1.0.0)(!(version&gt;=1.1.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.featureflags;version="[1.0,1.1)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.featureflags/1.0.0' symbolicname='org.apache.sling.featureflags' presentationname='Apache Sling Feature Flags' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.featureflags/1.0.0/org.apache.sling.featureflags-1.0.0.jar' version='1.0.0'>
    <description>The parent project for Apache Sling</description>
    <size>20938</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.featureflags'/>
      <p n='presentationname' v='Apache Sling Feature Flags'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.featureflags'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='javax.servlet.http,org.apache.sling.api.resource'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.featureflags)(version&gt;=1.0.0)(!(version&gt;=1.1.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.featureflags;version="[1.0,1.1)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.installer.provider.file/1.1.0' symbolicname='org.apache.sling.installer.provider.file' presentationname='Apache Sling File Installer' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.installer.provider.file/1.1.0/org.apache.sling.installer.provider.file-1.1.0.jar' version='1.1.0'>
    <description>Installs OSGi bundles and configurations from the file system.</description>
    <size>37165</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.installer.provider.file'/>
      <p n='presentationname' v='Apache Sling File Installer'/>
      <p n='version' t='version' v='1.1.0'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <require name='package' filter='(&amp;(package=org.apache.sling.installer.api)(version&gt;=3.1.2)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.installer.api;version="[3.1.2,4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.settings)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.settings;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=J2SE-1.5))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=J2SE-1.5))</require>
  </resource>
  <resource id='org.apache.sling.installer.provider.file/1.0.4' symbolicname='org.apache.sling.installer.provider.file' presentationname='Apache Sling File Installer' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.installer.provider.file/1.0.4/org.apache.sling.installer.provider.file-1.0.4.jar' version='1.0.4'>
    <description>Installs OSGi bundles and configurations from the file system.</description>
    <size>36001</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.installer.provider.file'/>
      <p n='presentationname' v='Apache Sling File Installer'/>
      <p n='version' t='version' v='1.0.4'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <require name='package' filter='(&amp;(package=org.apache.sling.installer.api)(version&gt;=3.1.2)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.installer.api;version="[3.1.2,4)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=J2SE-1.5))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=J2SE-1.5))</require>
  </resource>
  <resource id='org.apache.sling.fsresource/0.9.2.incubator' symbolicname='org.apache.sling.fsresource' presentationname='Apache Sling Filesystem Resource Provider' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.fsresource/0.9.2.incubator/org.apache.sling.fsresource-0.9.2.incubator.jar' version='0.9.2.incubator'>
    <description>Provides a ResourceProvider implementation supporting filesystem        based resources.</description>
    <size>21162</size>
    <documentation>http://incubator.apache.org/sling</documentation>
    <source>org/apache/sling/org.apache.sling.fsresource/0.9.2-incubator/org.apache.sling.fsresource-0.9.2-incubator-sources.jar</source>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='org.apache.sling'/>
    <capability name='bundle'>
      <p n='manifestversion' v='2'/>
      <p n='presentationname' v='Apache Sling Filesystem Resource Provider'/>
      <p n='symbolicname' v='org.apache.sling.fsresource'/>
      <p n='version' t='version' v='0.9.2.incubator'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr))' extend='false' multiple='false' optional='false'>Import package javax.jcr</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.adapter)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.adapter ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.servlets)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.servlets ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component</require>
    <require name='package' filter='(&amp;(package=org.slf4j))' extend='false' multiple='false' optional='false'>Import package org.slf4j</require>
  </resource>
  <resource id='org.apache.sling.fsresource/1.1.4' symbolicname='org.apache.sling.fsresource' presentationname='Apache Sling Filesystem Resource Provider' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.fsresource/1.1.4/org.apache.sling.fsresource-1.1.4.jar' version='1.1.4'>
    <description>Provides a ResourceProvider implementation supporting filesystem        based resources.</description>
    <size>24770</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.fsresource'/>
      <p n='presentationname' v='Apache Sling Filesystem Resource Provider'/>
      <p n='version' t='version' v='1.1.4'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.wrappers)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.wrappers;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.event)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.event;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=J2SE-1.5))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=J2SE-1.5))</require>
  </resource>
  <resource id='org.apache.sling.auth.form/1.0.8' symbolicname='org.apache.sling.auth.form' presentationname='Apache Sling Form Based Authentication Handler' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.auth.form/1.0.8/org.apache.sling.auth.form-1.0.8.jar' version='1.0.8'>
    <description>Bundle implementing form based authentication with login        and logout support. Authentication state is maintained in        a Cookie or in an HTTP Session. The password is only submitted        when first authenticating.</description>
    <size>58868</size>
    <documentation>http://sling.apache.org/site/form-based-authenticationhandler.html</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.auth.form'/>
      <p n='presentationname' v='Apache Sling Form Based Authentication Handler'/>
      <p n='version' t='version' v='1.0.8'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.auth.form'/>
      <p n='version' t='version' v='1.0.0'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.security.auth.callback))' extend='false' multiple='false' optional='true'>Import package javax.security.auth.callback;resolution:=optional</require>
    <require name='package' filter='(&amp;(package=javax.security.auth.login))' extend='false' multiple='false' optional='true'>Import package javax.security.auth.login;resolution:=optional</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.jackrabbit.server.security)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='true'>Import package org.apache.sling.jcr.jackrabbit.server.security;resolution:=optional;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.crypto))' extend='false' multiple='false' optional='false'>Import package javax.crypto</require>
    <require name='package' filter='(&amp;(package=javax.crypto.spec))' extend='false' multiple='false' optional='false'>Import package javax.crypto.spec</require>
    <require name='package' filter='(&amp;(package=javax.jcr))' extend='false' multiple='false' optional='false'>Import package javax.jcr</require>
    <require name='package' filter='(&amp;(package=javax.security.auth.spi))' extend='false' multiple='false' optional='false'>Import package javax.security.auth.spi</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.lang)(version&gt;=2.4.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.lang;version="[2.4,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.felix.jaas)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='true'>Import package org.apache.felix.jaas;resolution:=optional;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.oak.spi.security.authentication)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='true'>Import package org.apache.jackrabbit.oak.spi.security.authentication;resolution:=optional;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.auth.core)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.auth.core;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.auth.core.spi)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.auth.core.spi;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.auth.form)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.auth.form;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.event)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.event;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.auth.form/1.0.6' symbolicname='org.apache.sling.auth.form' presentationname='Apache Sling Form Based Authentication Handler' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.auth.form/1.0.6/org.apache.sling.auth.form-1.0.6.jar' version='1.0.6'>
    <description>Bundle implementing form based authentication with login        and logout support. Authentication state is maintained in        a Cookie or in an HTTP Session. The password is only submitted        when first authenticating.</description>
    <size>51667</size>
    <documentation>http://sling.apache.org/site/form-based-authenticationhandler.html</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.auth.form'/>
      <p n='presentationname' v='Apache Sling Form Based Authentication Handler'/>
      <p n='version' t='version' v='1.0.6'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.auth.form'/>
      <p n='version' t='version' v='1.0.0'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.security.auth.callback))' extend='false' multiple='false' optional='true'>Import package javax.security.auth.callback;resolution:=optional</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.jackrabbit.server.security)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='true'>Import package org.apache.sling.jcr.jackrabbit.server.security;resolution:=optional;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.crypto))' extend='false' multiple='false' optional='false'>Import package javax.crypto</require>
    <require name='package' filter='(&amp;(package=javax.crypto.spec))' extend='false' multiple='false' optional='false'>Import package javax.crypto.spec</require>
    <require name='package' filter='(&amp;(package=javax.jcr))' extend='false' multiple='false' optional='false'>Import package javax.jcr</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.lang)(version&gt;=2.4.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.lang;version="[2.4,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.auth.core)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.auth.core;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.auth.core.spi)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.auth.core.spi;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.auth.form)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.auth.form;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.event)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.event;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='package' filter='(&amp;(package=javax.security.auth.login))' extend='false' multiple='false' optional='true'>Import package javax.security.auth.login;resolution:=optional</require>
    <require name='ee' filter='(|(ee=J2SE-1.5))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=J2SE-1.5))</require>
  </resource>
  <resource id='org.apache.sling.extensions.gwt.servlet/3.0.1.SNAPSHOT' symbolicname='org.apache.sling.extensions.gwt.servlet' presentationname='Apache Sling Google Web Toolkit Servlet Library' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.extensions.gwt.servlet/3.0.1.SNAPSHOT/org.apache.sling.extensions.gwt.servlet-3.0.1.SNAPSHOT.jar' version='3.0.1.SNAPSHOT'>
    <description>This bundle provides the Google Web Toolkit (GWT) servlet        library.</description>
    <size>1579338</size>
    <documentation>http://sling.apache.org</documentation>
    <source>org/apache/sling/org.apache.sling.extensions.gwt.servlet/3.0.0/org.apache.sling.extensions.gwt.servlet-3.0.0-sources.jar</source>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <category id='org.apache.sling'/>
    <capability name='bundle'>
      <p n='manifestversion' v='2'/>
      <p n='presentationname' v='Apache Sling Google Web Toolkit Servlet Library'/>
      <p n='symbolicname' v='org.apache.sling.extensions.gwt.servlet'/>
      <p n='version' t='version' v='3.0.1.SNAPSHOT'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.extensions.gwt.user.server.rpc'/>
      <p n='uses' v='javax.servlet,com.google.gwt.user.server.rpc,org.osgi.framework,com.google.gwt.user.client.rpc,javax.servlet.http'/>
      <p n='version' t='version' v='3.0.0'/>
    </capability>
    <capability name='package'>
      <p n='package' v='com.google.gwt.rpc.server'/>
      <p n='uses' v='com.google.gwt.user.client.rpc,com.google.gwt.user.server.rpc.impl,com.google.gwt.user.server.rpc,javax.servlet,javax.servlet.http,com.google.gwt.user.client.rpc.impl'/>
      <p n='version' t='version' v='2.0.4'/>
    </capability>
    <capability name='package'>
      <p n='package' v='com.google.gwt.user.server.rpc'/>
      <p n='uses' v='javax.servlet,javax.servlet.http,com.google.gwt.rpc.server,com.google.gwt.user.client.rpc,com.google.gwt.user.server.rpc.impl'/>
      <p n='version' t='version' v='2.0.4'/>
    </capability>
    <capability name='package'>
      <p n='package' v='com.google.gwt.user.server.rpc.impl'/>
      <p n='uses' v='com.google.gwt.user.server.rpc,com.google.gwt.user.client.rpc,com.google.gwt.user.client.rpc.impl'/>
      <p n='version' t='version' v='2.0.4'/>
    </capability>
    <capability name='package'>
      <p n='package' v='com.google.gwt.user.client.rpc.impl'/>
      <p n='uses' v='com.google.gwt.user.client.rpc'/>
      <p n='version' t='version' v='2.0.4'/>
    </capability>
    <capability name='package'>
      <p n='package' v='com.google.gwt.user.client.rpc.core.java.sql'/>
      <p n='uses' v='com.google.gwt.user.client.rpc'/>
      <p n='version' t='version' v='2.0.4'/>
    </capability>
    <capability name='package'>
      <p n='package' v='com.google.gwt.user.client.rpc'/>
      <p n='version' t='version' v='2.0.4'/>
    </capability>
    <capability name='package'>
      <p n='package' v='com.google.gwt.user.client.rpc.core.java.util'/>
      <p n='uses' v='com.google.gwt.user.client.rpc'/>
      <p n='version' t='version' v='2.0.4'/>
    </capability>
    <capability name='package'>
      <p n='package' v='com.google.gwt.user.client.rpc.core.java.lang'/>
      <p n='uses' v='com.google.gwt.user.client.rpc'/>
      <p n='version' t='version' v='2.0.4'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.extensions.gwt.user.server.rpc)(version&gt;=3.0.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.extensions.gwt.user.server.rpc ;version=3.0.0</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework ;version=1.4.0</require>
  </resource>
  <resource id='org.apache.sling.extensions.gwt.servlet/3.0.0' symbolicname='org.apache.sling.extensions.gwt.servlet' presentationname='Apache Sling Google Web Toolkit Servlet Library' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.extensions.gwt.servlet/3.0.0/org.apache.sling.extensions.gwt.servlet-3.0.0.jar' version='3.0.0'>
    <description>This bundle provides the Google Web Toolkit (GWT) servlet        library.</description>
    <size>1579302</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.extensions.gwt.servlet'/>
      <p n='presentationname' v='Apache Sling Google Web Toolkit Servlet Library'/>
      <p n='version' t='version' v='3.0.0'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.extensions.gwt.user.server.rpc'/>
      <p n='version' t='version' v='3.0.0'/>
      <p n='uses:' v='javax.servlet,com.google.gwt.user.server.rpc,org.osgi.framework,com.google.gwt.user.client.rpc,javax.servlet.http'/>
    </capability>
    <capability name='package'>
      <p n='package' v='com.google.gwt.rpc.server'/>
      <p n='version' t='version' v='2.0.4'/>
      <p n='uses:' v='com.google.gwt.user.client.rpc,com.google.gwt.user.server.rpc.impl,com.google.gwt.user.server.rpc,javax.servlet,javax.servlet.http,com.google.gwt.user.client.rpc.impl'/>
    </capability>
    <capability name='package'>
      <p n='package' v='com.google.gwt.user.server.rpc'/>
      <p n='version' t='version' v='2.0.4'/>
      <p n='uses:' v='javax.servlet,javax.servlet.http,com.google.gwt.rpc.server,com.google.gwt.user.client.rpc,com.google.gwt.user.server.rpc.impl'/>
    </capability>
    <capability name='package'>
      <p n='package' v='com.google.gwt.user.server.rpc.impl'/>
      <p n='version' t='version' v='2.0.4'/>
      <p n='uses:' v='com.google.gwt.user.server.rpc,com.google.gwt.user.client.rpc,com.google.gwt.user.client.rpc.impl'/>
    </capability>
    <capability name='package'>
      <p n='package' v='com.google.gwt.user.client.rpc.impl'/>
      <p n='version' t='version' v='2.0.4'/>
      <p n='uses:' v='com.google.gwt.user.client.rpc'/>
    </capability>
    <capability name='package'>
      <p n='package' v='com.google.gwt.user.client.rpc.core.java.sql'/>
      <p n='version' t='version' v='2.0.4'/>
      <p n='uses:' v='com.google.gwt.user.client.rpc'/>
    </capability>
    <capability name='package'>
      <p n='package' v='com.google.gwt.user.client.rpc'/>
      <p n='version' t='version' v='2.0.4'/>
    </capability>
    <capability name='package'>
      <p n='package' v='com.google.gwt.user.client.rpc.core.java.util'/>
      <p n='version' t='version' v='2.0.4'/>
      <p n='uses:' v='com.google.gwt.user.client.rpc'/>
    </capability>
    <capability name='package'>
      <p n='package' v='com.google.gwt.user.client.rpc.core.java.lang'/>
      <p n='version' t='version' v='2.0.4'/>
      <p n='uses:' v='com.google.gwt.user.client.rpc'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.extensions.gwt.user.server.rpc)(version&gt;=3.0.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.extensions.gwt.user.server.rpc;version=3.0</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version=1.4</require>
  </resource>
  <resource id='org.apache.sling.hc.core/1.2.0' symbolicname='org.apache.sling.hc.core' presentationname='Apache Sling Health Check Core' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.hc.core/1.2.0/org.apache.sling.hc.core-1.2.0.jar' version='1.2.0'>
    <description>The Sling Health Check Core</description>
    <size>82177</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.hc.core'/>
      <p n='presentationname' v='Apache Sling Health Check Core'/>
      <p n='version' t='version' v='1.2.0'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.hc.api.execution'/>
      <p n='version' t='version' v='1.1.0'/>
      <p n='uses:' v='org.apache.sling.hc.api,org.apache.sling.hc.util'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.hc.api'/>
      <p n='version' t='version' v='1.0.1'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.hc.util'/>
      <p n='version' t='version' v='1.2.0'/>
      <p n='uses:' v='org.apache.sling.hc.api,org.osgi.framework'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.management))' extend='false' multiple='false' optional='false'>Import package javax.management</require>
    <require name='package' filter='(&amp;(package=javax.management.openmbean))' extend='false' multiple='false' optional='false'>Import package javax.management.openmbean</require>
    <require name='package' filter='(&amp;(package=javax.script))' extend='false' multiple='false' optional='false'>Import package javax.script</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.lang)(version&gt;=2.5.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.lang;version="[2.5,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.lang.time)(version&gt;=2.5.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.lang.time;version="[2.5,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.scheduler)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.scheduler;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.threads)(version&gt;=3.1.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.threads;version="[3.1,4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.hc.api)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.hc.api;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.hc.api.execution)(version&gt;=1.1.0)(!(version&gt;=1.2.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.hc.api.execution;version="[1.1,1.2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.hc.util)(version&gt;=1.2.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.hc.util;version="[1.2,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.api)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.api;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.util.tracker)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.util.tracker;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.6.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.6,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j.helpers)(version&gt;=1.6.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j.helpers;version="[1.6,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.hc.core/1.2.4' symbolicname='org.apache.sling.hc.core' presentationname='Apache Sling Health Check Core' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.hc.core/1.2.4/org.apache.sling.hc.core-1.2.4.jar' version='1.2.4'>
    <description>The Sling Health Check Core</description>
    <size>109925</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.hc.core'/>
      <p n='presentationname' v='Apache Sling Health Check Core'/>
      <p n='version' t='version' v='1.2.4'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.hc.api.execution'/>
      <p n='version' t='version' v='1.1.0'/>
      <p n='uses:' v='org.apache.sling.hc.api,org.apache.sling.hc.util'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.hc.api'/>
      <p n='version' t='version' v='1.0.1'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.hc.util'/>
      <p n='version' t='version' v='1.2.0'/>
      <p n='uses:' v='org.apache.sling.hc.api,org.osgi.framework'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.management))' extend='false' multiple='false' optional='false'>Import package javax.management</require>
    <require name='package' filter='(&amp;(package=javax.management.openmbean))' extend='false' multiple='false' optional='false'>Import package javax.management.openmbean</require>
    <require name='package' filter='(&amp;(package=javax.script))' extend='false' multiple='false' optional='false'>Import package javax.script</require>
    <require name='package' filter='(&amp;(package=javax.servlet)(version&gt;=2.6.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.servlet;version="[2.6,3)"</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http)(version&gt;=2.6.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http;version="[2.6,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.lang)(version&gt;=2.5.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.lang;version="[2.5,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.lang.time)(version&gt;=2.5.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.lang.time;version="[2.5,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.scheduler)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.scheduler;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.threads)(version&gt;=3.1.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.threads;version="[3.1,4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.hc.api)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.hc.api;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.hc.api.execution)(version&gt;=1.1.0)(!(version&gt;=1.2.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.hc.api.execution;version="[1.1,1.2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.hc.util)(version&gt;=1.2.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.hc.util;version="[1.2,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.api)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.api;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.http)(version&gt;=1.2.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.http;version="[1.2,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.util.tracker)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.util.tracker;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.6.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.6,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j.helpers)(version&gt;=1.6.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j.helpers;version="[1.6,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.hc.core/1.2.2' symbolicname='org.apache.sling.hc.core' presentationname='Apache Sling Health Check Core' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.hc.core/1.2.2/org.apache.sling.hc.core-1.2.2.jar' version='1.2.2'>
    <description>The Sling Health Check Core</description>
    <size>81206</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.hc.core'/>
      <p n='presentationname' v='Apache Sling Health Check Core'/>
      <p n='version' t='version' v='1.2.2'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.hc.api.execution'/>
      <p n='version' t='version' v='1.1.0'/>
      <p n='uses:' v='org.apache.sling.hc.api,org.apache.sling.hc.util'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.hc.api'/>
      <p n='version' t='version' v='1.0.1'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.hc.util'/>
      <p n='version' t='version' v='1.2.0'/>
      <p n='uses:' v='org.apache.sling.hc.api,org.osgi.framework'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.management))' extend='false' multiple='false' optional='false'>Import package javax.management</require>
    <require name='package' filter='(&amp;(package=javax.management.openmbean))' extend='false' multiple='false' optional='false'>Import package javax.management.openmbean</require>
    <require name='package' filter='(&amp;(package=javax.script))' extend='false' multiple='false' optional='false'>Import package javax.script</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.lang)(version&gt;=2.5.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.lang;version="[2.5,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.lang.time)(version&gt;=2.5.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.lang.time;version="[2.5,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.scheduler)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.scheduler;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.threads)(version&gt;=3.1.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.threads;version="[3.1,4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.hc.api)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.hc.api;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.hc.api.execution)(version&gt;=1.1.0)(!(version&gt;=1.2.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.hc.api.execution;version="[1.1,1.2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.hc.util)(version&gt;=1.2.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.hc.util;version="[1.2,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.api)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.api;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.util.tracker)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.util.tracker;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.6.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.6,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j.helpers)(version&gt;=1.6.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j.helpers;version="[1.6,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.hc.junit.bridge/1.0.2' symbolicname='org.apache.sling.hc.junit.bridge' presentationname='Apache Sling Health Check JUnit Bridge' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.hc.junit.bridge/1.0.2/org.apache.sling.hc.junit.bridge-1.0.2.jar' version='1.0.2'>
    <description>Makes Sling Health Checks available as server-side JUnit tests, to        allow them to be used as part of integration tests.</description>
    <size>16164</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.hc.junit.bridge'/>
      <p n='presentationname' v='Apache Sling Health Check JUnit Bridge'/>
      <p n='version' t='version' v='1.0.2'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.hc.junitbridge'/>
      <p n='version' t='version' v='1.0.2'/>
      <p n='uses:' v='junit.framework,org.apache.sling.junit,org.junit.runner,org.junit.runners,org.osgi.service.component'/>
    </capability>
    <require name='package' filter='(&amp;(package=junit.framework)(version&gt;=4.8.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package junit.framework;version="[4.8,5)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.hc.api)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.hc.api;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.hc.util)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.hc.util;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.junit)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.junit;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.junit)(version&gt;=4.8.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.junit;version="[4.8,5)"</require>
    <require name='package' filter='(&amp;(package=org.junit.runner)(version&gt;=4.8.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.junit.runner;version="[4.8,5)"</require>
    <require name='package' filter='(&amp;(package=org.junit.runners)(version&gt;=4.8.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.junit.runners;version="[4.8,5)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.0,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.hc.samples/1.0.6' symbolicname='org.apache.sling.hc.samples' presentationname='Apache Sling Health Check Samples' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.hc.samples/1.0.6/org.apache.sling.hc.samples-1.0.6.jar' version='1.0.6'>
    <description>Sling Health Check sample content and configurations</description>
    <size>28002</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.hc.samples'/>
      <p n='presentationname' v='Apache Sling Health Check Samples'/>
      <p n='version' t='version' v='1.0.6'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.hc.samples.junit'/>
      <p n='version' t='version' v='1.0.6'/>
      <p n='uses:' v='org.apache.sling.junit.annotations,org.junit,org.junit.runner'/>
    </capability>
    <require name='package' filter='(&amp;(package=org.junit)(version&gt;=4.8.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='true'>Import package org.junit;resolution:=optional;version="[4.8,5)"</require>
    <require name='package' filter='(&amp;(package=org.junit.runner)(version&gt;=4.8.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='true'>Import package org.junit.runner;resolution:=optional;version="[4.8,5)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.junit.annotations)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='true'>Import package org.apache.sling.junit.annotations;resolution:=optional;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=javax.script))' extend='false' multiple='false' optional='false'>Import package javax.script</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.hc.api)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.hc.api;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.hc.util)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.hc.util;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.api)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.api;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.6.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.6,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.hc.support/1.0.4' symbolicname='org.apache.sling.hc.support' presentationname='Apache Sling Health Check Support Components' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.hc.support/1.0.4/org.apache.sling.hc.support-1.0.4.jar' version='1.0.4'>
    <description>Default Sling Health Check Support Components</description>
    <size>23969</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.hc.support'/>
      <p n='presentationname' v='Apache Sling Health Check Support Components'/>
      <p n='version' t='version' v='1.0.4'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr))' extend='false' multiple='false' optional='false'>Import package javax.jcr</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.engine)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.engine;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.hc.api)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.hc.api;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.hc.util)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.hc.util;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.api)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.api;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.6.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.6,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.hc.webconsole/1.1.2' symbolicname='org.apache.sling.hc.webconsole' presentationname='Apache Sling Health Check Webconsole Plugin' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.hc.webconsole/1.1.2/org.apache.sling.hc.webconsole-1.1.2.jar' version='1.1.2'>
    <description>Webconsole plugin for Sling Health Check Services</description>
    <size>16477</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.hc.webconsole'/>
      <p n='presentationname' v='Apache Sling Health Check Webconsole Plugin'/>
      <p n='version' t='version' v='1.1.2'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.request)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.request;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.hc.api)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.hc.api;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.hc.api.execution)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.hc.api.execution;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.hc.util)(version&gt;=1.2.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.hc.util;version="[1.2,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.httpauth/2.0.4.incubator' symbolicname='org.apache.sling.httpauth' presentationname='Apache Sling HTTP Header Authentication' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.httpauth/2.0.4.incubator/org.apache.sling.httpauth-2.0.4.incubator.jar' version='2.0.4.incubator'>
    <description>Bundle implementing Basic HTTP Header authentication with login        and logout support</description>
    <size>32265</size>
    <documentation>http://incubator.apache.org/sling</documentation>
    <source>org/apache/sling/org.apache.sling.httpauth/2.0.4-incubator/org.apache.sling.httpauth-2.0.4-incubator-sources.jar</source>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='org.apache.sling'/>
    <capability name='bundle'>
      <p n='manifestversion' v='2'/>
      <p n='presentationname' v='Apache Sling HTTP Header Authentication'/>
      <p n='symbolicname' v='org.apache.sling.httpauth'/>
      <p n='version' t='version' v='2.0.4.incubator'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.servlets)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.servlets ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.engine.auth)(version&gt;=2.0.4.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.engine.auth ;version=2.0.4.incubator</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component</require>
    <require name='package' filter='(&amp;(package=org.slf4j))' extend='false' multiple='false' optional='false'>Import package org.slf4j</require>
  </resource>
  <resource id='org.apache.sling.jcr.contentloader/2.1.0' symbolicname='org.apache.sling.jcr.contentloader' presentationname='Apache Sling Initial Content Loader' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.jcr.contentloader/2.1.0/org.apache.sling.jcr.contentloader-2.1.0.jar' version='2.1.0'>
    <description>This bundle provides initial content installation through bundles.</description>
    <size>132543</size>
    <documentation>http://sling.apache.org</documentation>
    <source>org/apache/sling/org.apache.sling.jcr.contentloader/2.1.0/org.apache.sling.jcr.contentloader-2.1.0-sources.jar</source>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <category id='org.apache.sling'/>
    <capability name='bundle'>
      <p n='manifestversion' v='2'/>
      <p n='presentationname' v='Apache Sling Initial Content Loader'/>
      <p n='symbolicname' v='org.apache.sling.jcr.contentloader'/>
      <p n='version' t='version' v='2.1.0'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.jcr.contentloader'/>
      <p n='uses' v='javax.jcr'/>
      <p n='version' t='version' v='0.0.0'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.lock)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.lock ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.nodetype)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.nodetype ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.version)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.version ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform.stream))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform.stream</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.io.input)(version&gt;=1.4.0))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.io.input ;version=1.4.0</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.api.security.principal)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.api.security.principal ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.api.security.user)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.api.security.user ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.mime)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.mime ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.engine)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.engine ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.api)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.api ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.base.util)(version&gt;=2.1.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.base.util ;version=2.1.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.contentloader))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.contentloader</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework ;version=1.4.0</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0))' extend='false' multiple='false' optional='false'>Import package org.slf4j ;version=1.5.0</require>
  </resource>
  <resource id='org.apache.sling.jcr.contentloader/2.1.10' symbolicname='org.apache.sling.jcr.contentloader' presentationname='Apache Sling Initial Content Loader' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.jcr.contentloader/2.1.10/org.apache.sling.jcr.contentloader-2.1.10.jar' version='2.1.10'>
    <description>This bundle provides initial content installation through bundles.</description>
    <size>132387</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <category id='jcr'/>
    <category id='jackrabbit'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.jcr.contentloader'/>
      <p n='presentationname' v='Apache Sling Initial Content Loader'/>
      <p n='version' t='version' v='2.1.10'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.jcr.contentloader'/>
      <p n='version' t='version' v='0.1.0'/>
      <p n='uses:' v='javax.jcr'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.jcr.lock)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr.lock;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.jcr.nodetype)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr.nodetype;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.jcr.version)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr.version;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform.stream))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform.stream</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.io.input)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.io.input;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.api.security.principal)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.api.security.principal;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.api.security.user)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.api.security.user;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.mime)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.mime;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.api)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.api;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.base.util)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.base.util;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.contentloader)(version&gt;=0.1.0)(!(version&gt;=0.2.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.contentloader;version="[0.1,0.2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.settings)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.settings;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=J2SE-1.5))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=J2SE-1.5))</require>
  </resource>
  <resource id='org.apache.sling.jcr.contentloader/2.0.4.incubator' symbolicname='org.apache.sling.jcr.contentloader' presentationname='Apache Sling Initial Content Loader' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.jcr.contentloader/2.0.4.incubator/org.apache.sling.jcr.contentloader-2.0.4.incubator.jar' version='2.0.4.incubator'>
    <description>This bundle provides initial content installation through bundles.</description>
    <size>94310</size>
    <documentation>http://incubator.apache.org/sling</documentation>
    <source>org/apache/sling/org.apache.sling.jcr.contentloader/2.0.4-incubator/org.apache.sling.jcr.contentloader-2.0.4-incubator-sources.jar</source>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='org.apache.sling'/>
    <capability name='bundle'>
      <p n='manifestversion' v='2'/>
      <p n='presentationname' v='Apache Sling Initial Content Loader'/>
      <p n='symbolicname' v='org.apache.sling.jcr.contentloader'/>
      <p n='version' t='version' v='2.0.4.incubator'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.lock)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.lock ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.nodetype)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.nodetype ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.version)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.version ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform.stream))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform.stream</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.io.input)(version&gt;=1.4.0))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.io.input ;version=1.4.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.mime)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.mime ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.engine)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.engine ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.api)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.api ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component</require>
    <require name='package' filter='(&amp;(package=org.slf4j))' extend='false' multiple='false' optional='false'>Import package org.slf4j</require>
  </resource>
  <resource id='org.apache.sling.installer.core/3.6.2' symbolicname='org.apache.sling.installer.core' presentationname='Apache Sling Installer' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.installer.core/3.6.2/org.apache.sling.installer.core-3.6.2.jar' version='3.6.2'>
    <description>Provides services to install OSGi bundles and configurations        by supplying input streams and dictionaries.</description>
    <size>151871</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.installer.core'/>
      <p n='presentationname' v='Apache Sling Installer'/>
      <p n='version' t='version' v='3.6.2'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.installer.api'/>
      <p n='version' t='version' v='3.2.0'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.installer.api.info'/>
      <p n='version' t='version' v='1.0.2'/>
      <p n='uses:' v='org.apache.sling.installer.api.tasks,org.osgi.framework'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.installer.api.event'/>
      <p n='version' t='version' v='1.0.2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.installer.api.tasks'/>
      <p n='version' t='version' v='1.3.2'/>
      <p n='uses:' v='org.osgi.framework'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.installer.api.jmx'/>
      <p n='version' t='version' v='1.0.2'/>
    </capability>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(version&lt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2]"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework.wiring))' extend='false' multiple='false' optional='true'>Import package org.osgi.framework.wiring;resolution:=optional</require>
    <require name='package' filter='(&amp;(package=javax.management))' extend='false' multiple='false' optional='false'>Import package javax.management</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.installer.api)(version&gt;=3.2.0)(!(version&gt;=3.3.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.installer.api;version="[3.2,3.3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.installer.api.event)(version&gt;=1.0.0)(!(version&gt;=1.1.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.installer.api.event;version="[1.0,1.1)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.installer.api.info)(version&gt;=1.0.0)(!(version&gt;=1.1.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.installer.api.info;version="[1.0,1.1)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.installer.api.jmx)(version&gt;=1.0.0)(!(version&gt;=1.1.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.installer.api.jmx;version="[1.0,1.1)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.installer.api.tasks)(version&gt;=1.3.0)(!(version&gt;=1.4.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.installer.api.tasks;version="[1.3,1.4)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.packageadmin)(version&gt;=1.2.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.packageadmin;version="[1.2,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.startlevel)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.startlevel;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=J2SE-1.5))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=J2SE-1.5))</require>
  </resource>
  <resource id='org.apache.sling.installer.core/3.6.6' symbolicname='org.apache.sling.installer.core' presentationname='Apache Sling Installer' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.installer.core/3.6.6/org.apache.sling.installer.core-3.6.6.jar' version='3.6.6'>
    <description>Provides services to install OSGi bundles and configurations        by supplying input streams and dictionaries.</description>
    <size>151997</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.installer.core'/>
      <p n='presentationname' v='Apache Sling Installer'/>
      <p n='version' t='version' v='3.6.6'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.installer.api'/>
      <p n='version' t='version' v='3.2.0'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.installer.api.info'/>
      <p n='version' t='version' v='1.0.2'/>
      <p n='uses:' v='org.apache.sling.installer.api.tasks,org.osgi.framework'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.installer.api.event'/>
      <p n='version' t='version' v='1.0.2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.installer.api.tasks'/>
      <p n='version' t='version' v='1.3.2'/>
      <p n='uses:' v='org.osgi.framework'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.installer.api.jmx'/>
      <p n='version' t='version' v='1.0.2'/>
    </capability>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(version&lt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2]"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework.wiring))' extend='false' multiple='false' optional='true'>Import package org.osgi.framework.wiring;resolution:=optional</require>
    <require name='package' filter='(&amp;(package=javax.management))' extend='false' multiple='false' optional='false'>Import package javax.management</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.installer.api)(version&gt;=3.2.0)(!(version&gt;=3.3.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.installer.api;version="[3.2,3.3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.installer.api.event)(version&gt;=1.0.0)(!(version&gt;=1.1.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.installer.api.event;version="[1.0,1.1)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.installer.api.info)(version&gt;=1.0.0)(!(version&gt;=1.1.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.installer.api.info;version="[1.0,1.1)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.installer.api.jmx)(version&gt;=1.0.0)(!(version&gt;=1.1.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.installer.api.jmx;version="[1.0,1.1)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.installer.api.tasks)(version&gt;=1.3.0)(!(version&gt;=1.4.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.installer.api.tasks;version="[1.3,1.4)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.packageadmin)(version&gt;=1.2.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.packageadmin;version="[1.2,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.startlevel)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.startlevel;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=J2SE-1.5))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=J2SE-1.5))</require>
  </resource>
  <resource id='org.apache.sling.installer.core/3.6.8' symbolicname='org.apache.sling.installer.core' presentationname='Apache Sling Installer' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.installer.core/3.6.8/org.apache.sling.installer.core-3.6.8.jar' version='3.6.8'>
    <description>Provides services to install OSGi bundles and configurations        by supplying input streams and dictionaries.</description>
    <size>158566</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.installer.core'/>
      <p n='presentationname' v='Apache Sling Installer'/>
      <p n='version' t='version' v='3.6.8'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.installer.api'/>
      <p n='version' t='version' v='3.2.0'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.installer.api.info'/>
      <p n='version' t='version' v='1.0.2'/>
      <p n='uses:' v='org.apache.sling.installer.api.tasks,org.osgi.framework'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.installer.api.event'/>
      <p n='version' t='version' v='1.0.2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.installer.api.tasks'/>
      <p n='version' t='version' v='1.3.4'/>
      <p n='uses:' v='org.osgi.framework'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.installer.api.jmx'/>
      <p n='version' t='version' v='1.0.2'/>
    </capability>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(version&lt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2]"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework.wiring))' extend='false' multiple='false' optional='true'>Import package org.osgi.framework.wiring;resolution:=optional</require>
    <require name='package' filter='(&amp;(package=javax.management))' extend='false' multiple='false' optional='false'>Import package javax.management</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.installer.api)(version&gt;=3.2.0)(!(version&gt;=3.3.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.installer.api;version="[3.2,3.3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.installer.api.event)(version&gt;=1.0.0)(!(version&gt;=1.1.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.installer.api.event;version="[1.0,1.1)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.installer.api.info)(version&gt;=1.0.0)(!(version&gt;=1.1.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.installer.api.info;version="[1.0,1.1)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.installer.api.jmx)(version&gt;=1.0.0)(!(version&gt;=1.1.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.installer.api.jmx;version="[1.0,1.1)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.installer.api.tasks)(version&gt;=1.3.0)(!(version&gt;=1.4.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.installer.api.tasks;version="[1.3,1.4)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.packageadmin)(version&gt;=1.2.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.packageadmin;version="[1.2,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.startlevel)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.startlevel;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.installer.factory.configuration/1.1.2' symbolicname='org.apache.sling.installer.factory.configuration' presentationname='Apache Sling Installer Configuration Admin Support' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.installer.factory.configuration/1.1.2/org.apache.sling.installer.factory.configuration-1.1.2.jar' version='1.1.2'>
    <description>Provides support for configurations to the Apache Sling OSGi installer</description>
    <size>28929</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.installer.factory.configuration'/>
      <p n='presentationname' v='Apache Sling Installer Configuration Admin Support'/>
      <p n='version' t='version' v='1.1.2'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.installer.factories.configuration'/>
      <p n='version' t='version' v='1.1.2'/>
    </capability>
    <require name='package' filter='(&amp;(package=org.apache.sling.installer.api)(version&gt;=3.2.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.installer.api;version="[3.2,4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.installer.api.tasks)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.installer.api.tasks;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.cm)(version&gt;=1.2.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.cm;version="[1.2,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=J2SE-1.5))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=J2SE-1.5))</require>
  </resource>
  <resource id='org.apache.sling.installer.console/1.0.0' symbolicname='org.apache.sling.installer.console' presentationname='Apache Sling Installer WebConsole Plugin' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.installer.console/1.0.0/org.apache.sling.installer.console-1.0.0.jar' version='1.0.0'>
    <description>Provides a web console plugin for the OSGi installer</description>
    <size>14555</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.installer.console'/>
      <p n='presentationname' v='Apache Sling Installer WebConsole Plugin'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.installer.api.info)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.installer.api.info;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.installer.api.tasks)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.installer.api.tasks;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
  </resource>
  <resource id='org.apache.sling.i18n/2.4.4' symbolicname='org.apache.sling.i18n' presentationname='Apache Sling Internationalization Support' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.i18n/2.4.4/org.apache.sling.i18n-2.4.4.jar' version='2.4.4'>
    <description>Support for creating Java I18N ResourceBundles from repository        resources.</description>
    <size>70750</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.i18n'/>
      <p n='presentationname' v='Apache Sling Internationalization Support'/>
      <p n='version' t='version' v='2.4.4'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.i18n'/>
      <p n='version' t='version' v='2.2.0'/>
      <p n='uses:' v='javax.servlet.http,org.apache.sling.api'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.wrappers)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.wrappers;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.scheduler)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.scheduler;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.i18n)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.i18n;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.event)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.event;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.i18n/2.3.2' symbolicname='org.apache.sling.i18n' presentationname='Apache Sling Internationalization Support' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.i18n/2.3.2/org.apache.sling.i18n-2.3.2.jar' version='2.3.2'>
    <description>Support for creating Java I18N ResourceBundles from repository        resources.</description>
    <size>61106</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.i18n'/>
      <p n='presentationname' v='Apache Sling Internationalization Support'/>
      <p n='version' t='version' v='2.3.2'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.i18n'/>
      <p n='version' t='version' v='2.2.0'/>
      <p n='uses:' v='javax.servlet.http,org.apache.sling.api'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.wrappers)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.wrappers;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.i18n)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.i18n;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.event)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.event;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.i18n/2.4.2' symbolicname='org.apache.sling.i18n' presentationname='Apache Sling Internationalization Support' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.i18n/2.4.2/org.apache.sling.i18n-2.4.2.jar' version='2.4.2'>
    <description>Support for creating Java I18N ResourceBundles from repository        resources.</description>
    <size>62859</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.i18n'/>
      <p n='presentationname' v='Apache Sling Internationalization Support'/>
      <p n='version' t='version' v='2.4.2'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.i18n'/>
      <p n='version' t='version' v='2.2.0'/>
      <p n='uses:' v='javax.servlet.http,org.apache.sling.api'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.commons.json)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.commons.json;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.wrappers)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.wrappers;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.i18n)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.i18n;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.event)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.event;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.i18n/2.4.6' symbolicname='org.apache.sling.i18n' presentationname='Apache Sling Internationalization Support' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.i18n/2.4.6/org.apache.sling.i18n-2.4.6.jar' version='2.4.6'>
    <description>Support for creating Java I18N ResourceBundles from repository        resources.</description>
    <size>70666</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.i18n'/>
      <p n='presentationname' v='Apache Sling Internationalization Support'/>
      <p n='version' t='version' v='2.4.6'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.i18n'/>
      <p n='version' t='version' v='2.2.0'/>
      <p n='uses:' v='javax.servlet.http,org.apache.sling.api'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.wrappers)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.wrappers;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.scheduler)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.scheduler;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.i18n)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.i18n;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.event)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.event;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.resource.inventory/1.0.4' symbolicname='org.apache.sling.resource.inventory' presentationname='Apache Sling Inventory Printer Based on Resources' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.resource.inventory/1.0.4/org.apache.sling.resource.inventory-1.0.4.jar' version='1.0.4'>
    <description>The parent project for Apache Sling</description>
    <size>17536</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.resource.inventory'/>
      <p n='presentationname' v='Apache Sling Inventory Printer Based on Resources'/>
      <p n='version' t='version' v='1.0.4'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <require name='package' filter='(&amp;(package=org.apache.commons.lang3)(version&gt;=3.0.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.lang3;version="[3.0,4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.felix.inventory)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.felix.inventory;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=J2SE-1.5))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=J2SE-1.5))</require>
  </resource>
  <resource id='org.apache.sling.resource.inventory/1.0.2' symbolicname='org.apache.sling.resource.inventory' presentationname='Apache Sling Inventory Printer Based on Resources' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.resource.inventory/1.0.2/org.apache.sling.resource.inventory-1.0.2.jar' version='1.0.2'>
    <description>The parent project for Apache Sling</description>
    <size>17209</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.resource.inventory'/>
      <p n='presentationname' v='Apache Sling Inventory Printer Based on Resources'/>
      <p n='version' t='version' v='1.0.2'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <require name='package' filter='(&amp;(package=org.apache.commons.lang3)(version&gt;=3.0.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.lang3;version="[3.0,4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.felix.inventory)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.felix.inventory;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json;version="[2.0,3)"</require>
    <require name='ee' filter='(|(ee=J2SE-1.5))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=J2SE-1.5))</require>
  </resource>
  <resource id='org.apache.sling.jcr.jackrabbit.server/2.3.0' symbolicname='org.apache.sling.jcr.jackrabbit.server' presentationname='Apache Sling Jackrabbit Embedded Repository' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.jcr.jackrabbit.server/2.3.0/org.apache.sling.jcr.jackrabbit.server-2.3.0.jar' version='2.3.0'>
    <description>Bundle providing support to embed Jackrabbit Repository        instances and publish via RMI and/or JNDI</description>
    <size>4287033</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <category id='jcr'/>
    <category id='jackrabbit'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.jcr.jackrabbit.server'/>
      <p n='presentationname' v='Apache Sling Jackrabbit Embedded Repository'/>
      <p n='version' t='version' v='2.3.0'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.jcr.jackrabbit.server'/>
      <p n='version' t='version' v='2.3.0'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.jcr.jackrabbit.server.security'/>
      <p n='version' t='version' v='2.0.6'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.jcr.jackrabbit.server.security.accessmanager'/>
      <p n='version' t='version' v='2.0.6'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core'/>
      <p n='version' t='version' v='2.10.1'/>
      <p n='uses:' v='org.apache.jackrabbit.core.cache,org.apache.jackrabbit.core.cluster,org.apache.jackrabbit.core.config,org.apache.jackrabbit.core.data,org.apache.jackrabbit.core.fs,org.apache.jackrabbit.core.gc,org.apache.jackrabbit.core.id,org.apache.jackrabbit.core.lock,org.apache.jackrabbit.core.nodetype,org.apache.jackrabbit.core.observation,org.apache.jackrabbit.core.persistence,org.apache.jackrabbit.core.query,org.apache.jackrabbit.core.retention,org.apache.jackrabbit.core.security,org.apache.jackrabbit.core.security.authentication,org.apache.jackrabbit.core.security.authorization,org.apache.jackrabbit.core.security.principal,org.apache.jackrabbit.core.security.user,org.apache.jackrabbit.core.session,org.apache.jackrabbit.core.state,org.apache.jackrabbit.core.stats,org.apache.jackrabbit.core.util,org.apache.jackrabbit.core.value,org.apache.jackrabbit.core.version'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core.cache'/>
      <p n='version' t='version' v='2.10.1'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core.cluster'/>
      <p n='version' t='version' v='2.10.1'/>
      <p n='uses:' v='org.apache.jackrabbit.core.config,org.apache.jackrabbit.core.id,org.apache.jackrabbit.core.journal,org.apache.jackrabbit.core.nodetype,org.apache.jackrabbit.core.observation,org.apache.jackrabbit.core.state,org.apache.jackrabbit.core.xml'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core.config'/>
      <p n='version' t='version' v='2.10.1'/>
      <p n='uses:' v='org.apache.jackrabbit.core.data,org.apache.jackrabbit.core.fs,org.apache.jackrabbit.core.journal,org.apache.jackrabbit.core.query,org.apache.jackrabbit.core.security.user.action,org.apache.jackrabbit.core.state,org.apache.jackrabbit.core.util,org.apache.jackrabbit.core.util.db,org.apache.jackrabbit.core.xml'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core.data'/>
      <p n='version' t='version' v='2.10.1'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core.data.db'/>
      <p n='version' t='version' v='2.10.1'/>
      <p n='uses:' v='org.apache.jackrabbit.core.data,org.apache.jackrabbit.core.util.db'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core.data.util'/>
      <p n='version' t='version' v='2.10.1'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core.fs'/>
      <p n='version' t='version' v='2.10.1'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core.fs.db'/>
      <p n='version' t='version' v='2.10.1'/>
      <p n='uses:' v='org.apache.jackrabbit.core.fs,org.apache.jackrabbit.core.util.db'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core.fs.local'/>
      <p n='version' t='version' v='2.10.1'/>
      <p n='uses:' v='org.apache.jackrabbit.core.fs'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core.fs.mem'/>
      <p n='version' t='version' v='2.10.1'/>
      <p n='uses:' v='org.apache.jackrabbit.core.fs'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core.gc'/>
      <p n='version' t='version' v='2.10.1'/>
      <p n='uses:' v='org.apache.jackrabbit.core,org.apache.jackrabbit.core.data,org.apache.jackrabbit.core.persistence'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core.id'/>
      <p n='version' t='version' v='2.10.1'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core.jndi'/>
      <p n='version' t='version' v='2.10.1'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core.jndi.provider'/>
      <p n='version' t='version' v='2.10.1'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core.journal'/>
      <p n='version' t='version' v='2.10.1'/>
      <p n='uses:' v='org.apache.jackrabbit.core.id,org.apache.jackrabbit.core.util.db,org.apache.jackrabbit.core.version'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core.lock'/>
      <p n='version' t='version' v='2.10.1'/>
      <p n='uses:' v='org.apache.jackrabbit.core,org.apache.jackrabbit.core.cluster,org.apache.jackrabbit.core.fs,org.apache.jackrabbit.core.id,org.apache.jackrabbit.core.observation,org.apache.jackrabbit.core.session'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core.nodetype'/>
      <p n='version' t='version' v='2.10.1'/>
      <p n='uses:' v='org.apache.jackrabbit.core.cluster,org.apache.jackrabbit.core.fs,org.apache.jackrabbit.core.session,org.apache.jackrabbit.core.value'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core.nodetype.virtual'/>
      <p n='version' t='version' v='2.10.1'/>
      <p n='uses:' v='org.apache.jackrabbit.core,org.apache.jackrabbit.core.id,org.apache.jackrabbit.core.nodetype,org.apache.jackrabbit.core.observation,org.apache.jackrabbit.core.state,org.apache.jackrabbit.core.virtual'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core.nodetype.xml'/>
      <p n='version' t='version' v='2.10.1'/>
      <p n='uses:' v='org.apache.jackrabbit.core.nodetype'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core.observation'/>
      <p n='version' t='version' v='2.10.1'/>
      <p n='uses:' v='org.apache.jackrabbit.core,org.apache.jackrabbit.core.cluster,org.apache.jackrabbit.core.id,org.apache.jackrabbit.core.journal,org.apache.jackrabbit.core.nodetype,org.apache.jackrabbit.core.state,org.apache.jackrabbit.core.value'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core.persistence'/>
      <p n='version' t='version' v='2.10.1'/>
      <p n='uses:' v='org.apache.jackrabbit.core.data,org.apache.jackrabbit.core.fs,org.apache.jackrabbit.core.id,org.apache.jackrabbit.core.nodetype,org.apache.jackrabbit.core.persistence.util,org.apache.jackrabbit.core.state'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core.persistence.bundle'/>
      <p n='version' t='version' v='2.10.1'/>
      <p n='uses:' v='org.apache.jackrabbit.core.cache,org.apache.jackrabbit.core.cluster,org.apache.jackrabbit.core.id,org.apache.jackrabbit.core.persistence,org.apache.jackrabbit.core.persistence.check,org.apache.jackrabbit.core.persistence.util,org.apache.jackrabbit.core.state,org.apache.jackrabbit.core.util'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core.persistence.check'/>
      <p n='version' t='version' v='2.10.1'/>
      <p n='uses:' v='org.apache.jackrabbit.core.cluster'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core.persistence.db'/>
      <p n='version' t='version' v='2.10.1'/>
      <p n='uses:' v='org.apache.jackrabbit.core.fs,org.apache.jackrabbit.core.id,org.apache.jackrabbit.core.persistence,org.apache.jackrabbit.core.persistence.util,org.apache.jackrabbit.core.state,org.apache.jackrabbit.core.util.db'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core.persistence.mem'/>
      <p n='version' t='version' v='2.10.1'/>
      <p n='uses:' v='org.apache.jackrabbit.core.fs,org.apache.jackrabbit.core.id,org.apache.jackrabbit.core.persistence,org.apache.jackrabbit.core.persistence.bundle,org.apache.jackrabbit.core.persistence.util,org.apache.jackrabbit.core.state'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core.persistence.obj'/>
      <p n='version' t='version' v='2.10.1'/>
      <p n='uses:' v='org.apache.jackrabbit.core.id,org.apache.jackrabbit.core.persistence,org.apache.jackrabbit.core.state'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core.persistence.pool'/>
      <p n='version' t='version' v='2.10.1'/>
      <p n='uses:' v='org.apache.jackrabbit.core.fs,org.apache.jackrabbit.core.id,org.apache.jackrabbit.core.persistence,org.apache.jackrabbit.core.persistence.bundle,org.apache.jackrabbit.core.persistence.util,org.apache.jackrabbit.core.state,org.apache.jackrabbit.core.util,org.apache.jackrabbit.core.util.db'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core.persistence.util'/>
      <p n='version' t='version' v='2.10.1'/>
      <p n='uses:' v='org.apache.jackrabbit.core.data,org.apache.jackrabbit.core.fs,org.apache.jackrabbit.core.id,org.apache.jackrabbit.core.persistence,org.apache.jackrabbit.core.state,org.apache.jackrabbit.core.util,org.apache.jackrabbit.core.value'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core.persistence.xml'/>
      <p n='version' t='version' v='2.10.1'/>
      <p n='uses:' v='org.apache.jackrabbit.core.id,org.apache.jackrabbit.core.persistence,org.apache.jackrabbit.core.state'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core.query'/>
      <p n='version' t='version' v='2.10.1'/>
      <p n='uses:' v='org.apache.jackrabbit.core,org.apache.jackrabbit.core.cluster,org.apache.jackrabbit.core.fs,org.apache.jackrabbit.core.id,org.apache.jackrabbit.core.nodetype,org.apache.jackrabbit.core.persistence,org.apache.jackrabbit.core.session,org.apache.jackrabbit.core.state'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core.query.lucene'/>
      <p n='version' t='version' v='2.10.1'/>
      <p n='uses:' v='org.apache.jackrabbit.core,org.apache.jackrabbit.core.fs,org.apache.jackrabbit.core.id,org.apache.jackrabbit.core.nodetype,org.apache.jackrabbit.core.query,org.apache.jackrabbit.core.query.lucene.constraint,org.apache.jackrabbit.core.query.lucene.directory,org.apache.jackrabbit.core.session,org.apache.jackrabbit.core.state,org.apache.jackrabbit.core.value,org.apache.lucene.analysis,org.apache.lucene.document,org.apache.lucene.index,org.apache.lucene.queryParser,org.apache.lucene.search,org.apache.lucene.util'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core.query.lucene.constraint'/>
      <p n='version' t='version' v='2.10.1'/>
      <p n='uses:' v='org.apache.jackrabbit.core,org.apache.jackrabbit.core.id,org.apache.jackrabbit.core.query.lucene,org.apache.jackrabbit.core.state,org.apache.lucene.index,org.apache.lucene.search'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core.query.lucene.directory'/>
      <p n='version' t='version' v='2.10.1'/>
      <p n='uses:' v='org.apache.jackrabbit.core.query.lucene,org.apache.lucene.store'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core.query.lucene.hits'/>
      <p n='version' t='version' v='2.10.1'/>
      <p n='uses:' v='org.apache.lucene.index,org.apache.lucene.search'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core.query.lucene.join'/>
      <p n='version' t='version' v='2.10.1'/>
      <p n='uses:' v='org.apache.jackrabbit.core,org.apache.jackrabbit.core.query.lucene,org.apache.lucene.index,org.apache.lucene.search'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core.query.lucene.sort'/>
      <p n='version' t='version' v='2.10.1'/>
      <p n='uses:' v='org.apache.jackrabbit.core.query.lucene,org.apache.lucene.index,org.apache.lucene.search'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core.retention'/>
      <p n='version' t='version' v='2.10.1'/>
      <p n='uses:' v='org.apache.jackrabbit.core,org.apache.jackrabbit.core.fs,org.apache.jackrabbit.core.observation'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core.security'/>
      <p n='version' t='version' v='2.10.1'/>
      <p n='uses:' v='org.apache.jackrabbit.core,org.apache.jackrabbit.core.fs,org.apache.jackrabbit.core.id,org.apache.jackrabbit.core.security.authentication,org.apache.jackrabbit.core.security.authorization'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core.security.authentication'/>
      <p n='version' t='version' v='2.10.1'/>
      <p n='uses:' v='org.apache.jackrabbit.core.config,org.apache.jackrabbit.core.security.principal'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core.security.authentication.token'/>
      <p n='version' t='version' v='2.10.1'/>
      <p n='uses:' v='org.apache.jackrabbit.core,org.apache.jackrabbit.core.security.authentication'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core.security.authorization'/>
      <p n='version' t='version' v='2.10.1'/>
      <p n='uses:' v='org.apache.jackrabbit.core,org.apache.jackrabbit.core.cluster,org.apache.jackrabbit.core.config,org.apache.jackrabbit.core.fs,org.apache.jackrabbit.core.id,org.apache.jackrabbit.core.observation'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core.security.authorization.acl'/>
      <p n='version' t='version' v='2.10.1'/>
      <p n='uses:' v='org.apache.jackrabbit.core,org.apache.jackrabbit.core.id,org.apache.jackrabbit.core.security.authorization'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core.security.authorization.combined'/>
      <p n='version' t='version' v='2.10.1'/>
      <p n='uses:' v='org.apache.jackrabbit.core,org.apache.jackrabbit.core.security.authorization'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core.security.authorization.principalbased'/>
      <p n='version' t='version' v='2.10.1'/>
      <p n='uses:' v='org.apache.jackrabbit.core,org.apache.jackrabbit.core.security.authorization'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core.security.principal'/>
      <p n='version' t='version' v='2.10.1'/>
      <p n='uses:' v='org.apache.jackrabbit.core.observation,org.apache.jackrabbit.core.security.user'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core.security.simple'/>
      <p n='version' t='version' v='2.10.1'/>
      <p n='uses:' v='org.apache.jackrabbit.core.id,org.apache.jackrabbit.core.security,org.apache.jackrabbit.core.security.authentication,org.apache.jackrabbit.core.security.authorization'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core.security.user'/>
      <p n='version' t='version' v='2.10.1'/>
      <p n='uses:' v='org.apache.jackrabbit.core,org.apache.jackrabbit.core.id,org.apache.jackrabbit.core.observation,org.apache.jackrabbit.core.security.authorization,org.apache.jackrabbit.core.security.user.action,org.apache.jackrabbit.core.state,org.apache.jackrabbit.core.util,org.apache.jackrabbit.core.xml'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core.security.user.action'/>
      <p n='version' t='version' v='2.10.1'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core.session'/>
      <p n='version' t='version' v='2.10.1'/>
      <p n='uses:' v='org.apache.jackrabbit.core,org.apache.jackrabbit.core.config,org.apache.jackrabbit.core.data,org.apache.jackrabbit.core.id,org.apache.jackrabbit.core.nodetype,org.apache.jackrabbit.core.observation,org.apache.jackrabbit.core.security,org.apache.jackrabbit.core.security.authorization,org.apache.jackrabbit.core.state'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core.state'/>
      <p n='version' t='version' v='2.10.1'/>
      <p n='uses:' v='org.apache.jackrabbit.core,org.apache.jackrabbit.core.cache,org.apache.jackrabbit.core.cluster,org.apache.jackrabbit.core.id,org.apache.jackrabbit.core.nodetype,org.apache.jackrabbit.core.observation,org.apache.jackrabbit.core.persistence,org.apache.jackrabbit.core.value,org.apache.jackrabbit.core.virtual'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core.stats'/>
      <p n='version' t='version' v='2.10.1'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core.util'/>
      <p n='version' t='version' v='2.10.1'/>
      <p n='uses:' v='org.apache.jackrabbit.core.id'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core.util.db'/>
      <p n='version' t='version' v='2.10.1'/>
      <p n='uses:' v='org.apache.jackrabbit.core.config'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core.value'/>
      <p n='version' t='version' v='2.10.1'/>
      <p n='uses:' v='org.apache.jackrabbit.core.data,org.apache.jackrabbit.core.fs,org.apache.jackrabbit.core.id'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core.version'/>
      <p n='version' t='version' v='2.10.1'/>
      <p n='uses:' v='org.apache.jackrabbit.core,org.apache.jackrabbit.core.cluster,org.apache.jackrabbit.core.fs,org.apache.jackrabbit.core.id,org.apache.jackrabbit.core.nodetype,org.apache.jackrabbit.core.observation,org.apache.jackrabbit.core.persistence,org.apache.jackrabbit.core.session,org.apache.jackrabbit.core.state,org.apache.jackrabbit.core.value,org.apache.jackrabbit.core.virtual'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core.virtual'/>
      <p n='version' t='version' v='2.10.1'/>
      <p n='uses:' v='org.apache.jackrabbit.core.id,org.apache.jackrabbit.core.nodetype,org.apache.jackrabbit.core.state,org.apache.jackrabbit.core.value'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core.xml'/>
      <p n='version' t='version' v='2.10.1'/>
      <p n='uses:' v='org.apache.jackrabbit.core,org.apache.jackrabbit.core.config,org.apache.jackrabbit.core.id,org.apache.jackrabbit.core.nodetype,org.apache.jackrabbit.core.session,org.apache.jackrabbit.core.state,org.apache.jackrabbit.core.util,org.apache.jackrabbit.core.value'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.lucene'/>
      <p n='version' t='version' v='3.6.2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.lucene.analysis'/>
      <p n='version' t='version' v='3.6.2'/>
      <p n='uses:' v='org.apache.lucene.analysis.tokenattributes,org.apache.lucene.document,org.apache.lucene.index,org.apache.lucene.util'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.lucene.analysis.standard'/>
      <p n='version' t='version' v='3.6.2'/>
      <p n='uses:' v='org.apache.lucene.analysis,org.apache.lucene.analysis.tokenattributes,org.apache.lucene.util'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.lucene.analysis.standard.std31'/>
      <p n='version' t='version' v='3.6.2'/>
      <p n='uses:' v='org.apache.lucene.analysis.standard,org.apache.lucene.analysis.tokenattributes'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.lucene.analysis.standard.std34'/>
      <p n='version' t='version' v='3.6.2'/>
      <p n='uses:' v='org.apache.lucene.analysis.standard,org.apache.lucene.analysis.tokenattributes'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.lucene.analysis.tokenattributes'/>
      <p n='version' t='version' v='3.6.2'/>
      <p n='uses:' v='org.apache.lucene.index,org.apache.lucene.util'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.lucene.collation'/>
      <p n='version' t='version' v='3.6.2'/>
      <p n='uses:' v='org.apache.lucene.analysis'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.lucene.document'/>
      <p n='version' t='version' v='3.6.2'/>
      <p n='uses:' v='org.apache.lucene.analysis,org.apache.lucene.index'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.lucene.index'/>
      <p n='version' t='version' v='3.6.2'/>
      <p n='uses:' v='org.apache.lucene.analysis,org.apache.lucene.document,org.apache.lucene.search,org.apache.lucene.store,org.apache.lucene.util'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.lucene.queryParser'/>
      <p n='version' t='version' v='3.6.2'/>
      <p n='uses:' v='org.apache.lucene.analysis,org.apache.lucene.document,org.apache.lucene.index,org.apache.lucene.search,org.apache.lucene.util'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.lucene.search'/>
      <p n='version' t='version' v='3.6.2'/>
      <p n='uses:' v='org.apache.lucene.analysis,org.apache.lucene.document,org.apache.lucene.index,org.apache.lucene.search.spans,org.apache.lucene.store,org.apache.lucene.util'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.lucene.search.function'/>
      <p n='version' t='version' v='3.6.2'/>
      <p n='uses:' v='org.apache.lucene.index,org.apache.lucene.search'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.lucene.search.payloads'/>
      <p n='version' t='version' v='3.6.2'/>
      <p n='uses:' v='org.apache.lucene.index,org.apache.lucene.search,org.apache.lucene.search.spans'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.lucene.search.spans'/>
      <p n='version' t='version' v='3.6.2'/>
      <p n='uses:' v='org.apache.lucene.index,org.apache.lucene.search'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.lucene.store'/>
      <p n='version' t='version' v='3.6.2'/>
      <p n='uses:' v='org.apache.lucene.index'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.lucene.util'/>
      <p n='version' t='version' v='3.6.2'/>
      <p n='uses:' v='org.apache.lucene.index,org.apache.lucene.search,org.apache.lucene.store'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.lucene.util.fst'/>
      <p n='version' t='version' v='3.6.2'/>
      <p n='uses:' v='org.apache.lucene.store,org.apache.lucene.util'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.lucene.util.packed'/>
      <p n='version' t='version' v='3.6.2'/>
      <p n='uses:' v='org.apache.lucene.store'/>
    </capability>
    <require name='package' filter='(&amp;(package=com.microsoft.sqlserver.jdbc))' extend='false' multiple='false' optional='true'>Import package com.microsoft.sqlserver.jdbc;resolution:=optional</require>
    <require name='package' filter='(&amp;(package=org.postgresql))' extend='false' multiple='false' optional='true'>Import package org.postgresql;resolution:=optional</require>
    <require name='package' filter='(&amp;(package=org.apache.derby.jdbc))' extend='false' multiple='false' optional='true'>Import package org.apache.derby.jdbc;resolution:=optional</require>
    <require name='package' filter='(&amp;(package=oracle.jdbc))' extend='false' multiple='false' optional='true'>Import package oracle.jdbc;resolution:=optional</require>
    <require name='package' filter='(&amp;(package=org.h2))' extend='false' multiple='false' optional='true'>Import package org.h2;resolution:=optional</require>
    <require name='package' filter='(&amp;(package=org.gjt.mm.mysql))' extend='false' multiple='false' optional='true'>Import package org.gjt.mm.mysql;resolution:=optional</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.jcr.jackrabbit.server/2.2.0' symbolicname='org.apache.sling.jcr.jackrabbit.server' presentationname='Apache Sling Jackrabbit Embedded Repository' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.jcr.jackrabbit.server/2.2.0/org.apache.sling.jcr.jackrabbit.server-2.2.0.jar' version='2.2.0'>
    <description>Bundle providing support to embed Jackrabbit Repository        instances and publish via RMI and/or JNDI</description>
    <size>4210224</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <category id='jcr'/>
    <category id='jackrabbit'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.jcr.jackrabbit.server'/>
      <p n='presentationname' v='Apache Sling Jackrabbit Embedded Repository'/>
      <p n='version' t='version' v='2.2.0'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.jcr.jackrabbit.server'/>
      <p n='version' t='version' v='2.2.0'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.jcr.jackrabbit.server.security'/>
      <p n='version' t='version' v='2.0.6'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.jcr.jackrabbit.server.security.accessmanager'/>
      <p n='version' t='version' v='2.0.6'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core'/>
      <p n='version' t='version' v='2.6.5'/>
      <p n='uses:' v='org.apache.jackrabbit.core.cache,org.apache.jackrabbit.core.cluster,org.apache.jackrabbit.core.config,org.apache.jackrabbit.core.data,org.apache.jackrabbit.core.fs,org.apache.jackrabbit.core.id,org.apache.jackrabbit.core.lock,org.apache.jackrabbit.core.nodetype,org.apache.jackrabbit.core.observation,org.apache.jackrabbit.core.persistence,org.apache.jackrabbit.core.query,org.apache.jackrabbit.core.retention,org.apache.jackrabbit.core.security,org.apache.jackrabbit.core.security.authentication,org.apache.jackrabbit.core.security.authorization,org.apache.jackrabbit.core.security.principal,org.apache.jackrabbit.core.security.user,org.apache.jackrabbit.core.session,org.apache.jackrabbit.core.state,org.apache.jackrabbit.core.stats,org.apache.jackrabbit.core.util,org.apache.jackrabbit.core.value,org.apache.jackrabbit.core.version'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core.cache'/>
      <p n='version' t='version' v='2.6.5'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core.cluster'/>
      <p n='version' t='version' v='2.6.5'/>
      <p n='uses:' v='org.apache.jackrabbit.core.config,org.apache.jackrabbit.core.id,org.apache.jackrabbit.core.journal,org.apache.jackrabbit.core.nodetype,org.apache.jackrabbit.core.observation,org.apache.jackrabbit.core.state,org.apache.jackrabbit.core.xml'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core.config'/>
      <p n='version' t='version' v='2.6.5'/>
      <p n='uses:' v='org.apache.jackrabbit.core.data,org.apache.jackrabbit.core.fs,org.apache.jackrabbit.core.journal,org.apache.jackrabbit.core.query,org.apache.jackrabbit.core.security.user.action,org.apache.jackrabbit.core.state,org.apache.jackrabbit.core.util,org.apache.jackrabbit.core.util.db,org.apache.jackrabbit.core.xml'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core.data'/>
      <p n='version' t='version' v='2.6.5'/>
      <p n='uses:' v='org.apache.jackrabbit.core,org.apache.jackrabbit.core.persistence'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core.data.db'/>
      <p n='version' t='version' v='2.6.5'/>
      <p n='uses:' v='org.apache.jackrabbit.core.data,org.apache.jackrabbit.core.util.db'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core.fs'/>
      <p n='version' t='version' v='2.6.5'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core.fs.db'/>
      <p n='version' t='version' v='2.6.5'/>
      <p n='uses:' v='org.apache.jackrabbit.core.fs,org.apache.jackrabbit.core.util.db'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core.fs.local'/>
      <p n='version' t='version' v='2.6.5'/>
      <p n='uses:' v='org.apache.jackrabbit.core.fs'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core.fs.mem'/>
      <p n='version' t='version' v='2.6.5'/>
      <p n='uses:' v='org.apache.jackrabbit.core.fs'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core.id'/>
      <p n='version' t='version' v='2.6.5'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core.jmx'/>
      <p n='version' t='version' v='2.6.5'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core.jndi'/>
      <p n='version' t='version' v='2.6.5'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core.jndi.provider'/>
      <p n='version' t='version' v='2.6.5'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core.journal'/>
      <p n='version' t='version' v='2.6.5'/>
      <p n='uses:' v='org.apache.jackrabbit.core.id,org.apache.jackrabbit.core.util.db,org.apache.jackrabbit.core.version'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core.lock'/>
      <p n='version' t='version' v='2.6.5'/>
      <p n='uses:' v='org.apache.jackrabbit.core,org.apache.jackrabbit.core.cluster,org.apache.jackrabbit.core.fs,org.apache.jackrabbit.core.id,org.apache.jackrabbit.core.observation,org.apache.jackrabbit.core.session'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core.nodetype'/>
      <p n='version' t='version' v='2.6.5'/>
      <p n='uses:' v='org.apache.jackrabbit.core.cluster,org.apache.jackrabbit.core.fs,org.apache.jackrabbit.core.session,org.apache.jackrabbit.core.value'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core.nodetype.virtual'/>
      <p n='version' t='version' v='2.6.5'/>
      <p n='uses:' v='org.apache.jackrabbit.core,org.apache.jackrabbit.core.id,org.apache.jackrabbit.core.nodetype,org.apache.jackrabbit.core.observation,org.apache.jackrabbit.core.state,org.apache.jackrabbit.core.virtual'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core.nodetype.xml'/>
      <p n='version' t='version' v='2.6.5'/>
      <p n='uses:' v='org.apache.jackrabbit.core.nodetype'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core.observation'/>
      <p n='version' t='version' v='2.6.5'/>
      <p n='uses:' v='org.apache.jackrabbit.core,org.apache.jackrabbit.core.cluster,org.apache.jackrabbit.core.id,org.apache.jackrabbit.core.journal,org.apache.jackrabbit.core.nodetype,org.apache.jackrabbit.core.state,org.apache.jackrabbit.core.value'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core.persistence'/>
      <p n='version' t='version' v='2.6.5'/>
      <p n='uses:' v='org.apache.jackrabbit.core.data,org.apache.jackrabbit.core.fs,org.apache.jackrabbit.core.id,org.apache.jackrabbit.core.nodetype,org.apache.jackrabbit.core.persistence.util,org.apache.jackrabbit.core.state,org.apache.jackrabbit.core.stats'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core.persistence.bundle'/>
      <p n='version' t='version' v='2.6.5'/>
      <p n='uses:' v='org.apache.jackrabbit.core.cache,org.apache.jackrabbit.core.id,org.apache.jackrabbit.core.persistence,org.apache.jackrabbit.core.persistence.check,org.apache.jackrabbit.core.persistence.util,org.apache.jackrabbit.core.state,org.apache.jackrabbit.core.util'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core.persistence.check'/>
      <p n='version' t='version' v='2.6.5'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core.persistence.db'/>
      <p n='version' t='version' v='2.6.5'/>
      <p n='uses:' v='org.apache.jackrabbit.core.fs,org.apache.jackrabbit.core.id,org.apache.jackrabbit.core.persistence,org.apache.jackrabbit.core.persistence.util,org.apache.jackrabbit.core.state,org.apache.jackrabbit.core.util.db'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core.persistence.mem'/>
      <p n='version' t='version' v='2.6.5'/>
      <p n='uses:' v='org.apache.jackrabbit.core.fs,org.apache.jackrabbit.core.id,org.apache.jackrabbit.core.persistence,org.apache.jackrabbit.core.persistence.bundle,org.apache.jackrabbit.core.persistence.util,org.apache.jackrabbit.core.state'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core.persistence.obj'/>
      <p n='version' t='version' v='2.6.5'/>
      <p n='uses:' v='org.apache.jackrabbit.core.id,org.apache.jackrabbit.core.persistence,org.apache.jackrabbit.core.state'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core.persistence.pool'/>
      <p n='version' t='version' v='2.6.5'/>
      <p n='uses:' v='org.apache.jackrabbit.core.fs,org.apache.jackrabbit.core.id,org.apache.jackrabbit.core.persistence,org.apache.jackrabbit.core.persistence.bundle,org.apache.jackrabbit.core.persistence.util,org.apache.jackrabbit.core.state,org.apache.jackrabbit.core.util,org.apache.jackrabbit.core.util.db'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core.persistence.util'/>
      <p n='version' t='version' v='2.6.5'/>
      <p n='uses:' v='org.apache.jackrabbit.core.data,org.apache.jackrabbit.core.fs,org.apache.jackrabbit.core.id,org.apache.jackrabbit.core.persistence,org.apache.jackrabbit.core.state,org.apache.jackrabbit.core.util,org.apache.jackrabbit.core.value'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core.persistence.xml'/>
      <p n='version' t='version' v='2.6.5'/>
      <p n='uses:' v='org.apache.jackrabbit.core.id,org.apache.jackrabbit.core.persistence,org.apache.jackrabbit.core.state'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core.query'/>
      <p n='version' t='version' v='2.6.5'/>
      <p n='uses:' v='org.apache.jackrabbit.core,org.apache.jackrabbit.core.cluster,org.apache.jackrabbit.core.fs,org.apache.jackrabbit.core.id,org.apache.jackrabbit.core.nodetype,org.apache.jackrabbit.core.persistence,org.apache.jackrabbit.core.session,org.apache.jackrabbit.core.state'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core.query.lucene'/>
      <p n='version' t='version' v='2.6.5'/>
      <p n='uses:' v='org.apache.jackrabbit.core,org.apache.jackrabbit.core.fs,org.apache.jackrabbit.core.id,org.apache.jackrabbit.core.nodetype,org.apache.jackrabbit.core.query,org.apache.jackrabbit.core.query.lucene.constraint,org.apache.jackrabbit.core.query.lucene.directory,org.apache.jackrabbit.core.session,org.apache.jackrabbit.core.state,org.apache.jackrabbit.core.value,org.apache.lucene.analysis,org.apache.lucene.document,org.apache.lucene.index,org.apache.lucene.queryParser,org.apache.lucene.search,org.apache.lucene.util'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core.query.lucene.constraint'/>
      <p n='version' t='version' v='2.6.5'/>
      <p n='uses:' v='org.apache.jackrabbit.core,org.apache.jackrabbit.core.id,org.apache.jackrabbit.core.query.lucene,org.apache.jackrabbit.core.state,org.apache.lucene.index,org.apache.lucene.search'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core.query.lucene.directory'/>
      <p n='version' t='version' v='2.6.5'/>
      <p n='uses:' v='org.apache.jackrabbit.core.query.lucene,org.apache.lucene.store'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core.query.lucene.hits'/>
      <p n='version' t='version' v='2.6.5'/>
      <p n='uses:' v='org.apache.lucene.index,org.apache.lucene.search'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core.query.lucene.join'/>
      <p n='version' t='version' v='2.6.5'/>
      <p n='uses:' v='org.apache.jackrabbit.core,org.apache.jackrabbit.core.query.lucene,org.apache.lucene.index,org.apache.lucene.search'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core.query.lucene.sort'/>
      <p n='version' t='version' v='2.6.5'/>
      <p n='uses:' v='org.apache.jackrabbit.core.query.lucene,org.apache.lucene.index,org.apache.lucene.search'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core.retention'/>
      <p n='version' t='version' v='2.6.5'/>
      <p n='uses:' v='org.apache.jackrabbit.core,org.apache.jackrabbit.core.fs,org.apache.jackrabbit.core.observation'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core.security'/>
      <p n='version' t='version' v='2.6.5'/>
      <p n='uses:' v='org.apache.jackrabbit.core,org.apache.jackrabbit.core.fs,org.apache.jackrabbit.core.id,org.apache.jackrabbit.core.security.authentication,org.apache.jackrabbit.core.security.authorization'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core.security.authentication'/>
      <p n='version' t='version' v='2.6.5'/>
      <p n='uses:' v='org.apache.jackrabbit.core.config,org.apache.jackrabbit.core.security.principal'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core.security.authentication.token'/>
      <p n='version' t='version' v='2.6.5'/>
      <p n='uses:' v='org.apache.jackrabbit.core.security.authentication'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core.security.authorization'/>
      <p n='version' t='version' v='2.6.5'/>
      <p n='uses:' v='org.apache.jackrabbit.core,org.apache.jackrabbit.core.cluster,org.apache.jackrabbit.core.config,org.apache.jackrabbit.core.fs,org.apache.jackrabbit.core.id,org.apache.jackrabbit.core.observation'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core.security.authorization.acl'/>
      <p n='version' t='version' v='2.6.5'/>
      <p n='uses:' v='org.apache.jackrabbit.core,org.apache.jackrabbit.core.id,org.apache.jackrabbit.core.security.authorization'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core.security.authorization.combined'/>
      <p n='version' t='version' v='2.6.5'/>
      <p n='uses:' v='org.apache.jackrabbit.core,org.apache.jackrabbit.core.security.authorization'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core.security.authorization.principalbased'/>
      <p n='version' t='version' v='2.6.5'/>
      <p n='uses:' v='org.apache.jackrabbit.core,org.apache.jackrabbit.core.security.authorization'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core.security.principal'/>
      <p n='version' t='version' v='2.6.5'/>
      <p n='uses:' v='org.apache.jackrabbit.core.observation,org.apache.jackrabbit.core.security.user'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core.security.simple'/>
      <p n='version' t='version' v='2.6.5'/>
      <p n='uses:' v='org.apache.jackrabbit.core.id,org.apache.jackrabbit.core.security,org.apache.jackrabbit.core.security.authentication,org.apache.jackrabbit.core.security.authorization'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core.security.user'/>
      <p n='version' t='version' v='2.6.5'/>
      <p n='uses:' v='org.apache.jackrabbit.core,org.apache.jackrabbit.core.id,org.apache.jackrabbit.core.observation,org.apache.jackrabbit.core.security.authorization,org.apache.jackrabbit.core.security.user.action,org.apache.jackrabbit.core.state,org.apache.jackrabbit.core.util,org.apache.jackrabbit.core.xml'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core.security.user.action'/>
      <p n='version' t='version' v='2.6.5'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core.session'/>
      <p n='version' t='version' v='2.6.5'/>
      <p n='uses:' v='org.apache.jackrabbit.core,org.apache.jackrabbit.core.config,org.apache.jackrabbit.core.data,org.apache.jackrabbit.core.id,org.apache.jackrabbit.core.nodetype,org.apache.jackrabbit.core.observation,org.apache.jackrabbit.core.security,org.apache.jackrabbit.core.security.authorization,org.apache.jackrabbit.core.state'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core.state'/>
      <p n='version' t='version' v='2.6.5'/>
      <p n='uses:' v='org.apache.jackrabbit.core,org.apache.jackrabbit.core.cache,org.apache.jackrabbit.core.cluster,org.apache.jackrabbit.core.id,org.apache.jackrabbit.core.nodetype,org.apache.jackrabbit.core.observation,org.apache.jackrabbit.core.persistence,org.apache.jackrabbit.core.value,org.apache.jackrabbit.core.virtual'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core.stats'/>
      <p n='version' t='version' v='2.6.5'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core.util'/>
      <p n='version' t='version' v='2.6.5'/>
      <p n='uses:' v='org.apache.jackrabbit.core.id'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core.util.db'/>
      <p n='version' t='version' v='2.6.5'/>
      <p n='uses:' v='org.apache.jackrabbit.core.config'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core.value'/>
      <p n='version' t='version' v='2.6.5'/>
      <p n='uses:' v='org.apache.jackrabbit.core.data,org.apache.jackrabbit.core.fs,org.apache.jackrabbit.core.id'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core.version'/>
      <p n='version' t='version' v='2.6.5'/>
      <p n='uses:' v='org.apache.jackrabbit.core,org.apache.jackrabbit.core.cluster,org.apache.jackrabbit.core.fs,org.apache.jackrabbit.core.id,org.apache.jackrabbit.core.nodetype,org.apache.jackrabbit.core.observation,org.apache.jackrabbit.core.persistence,org.apache.jackrabbit.core.session,org.apache.jackrabbit.core.state,org.apache.jackrabbit.core.value,org.apache.jackrabbit.core.virtual'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core.virtual'/>
      <p n='version' t='version' v='2.6.5'/>
      <p n='uses:' v='org.apache.jackrabbit.core.id,org.apache.jackrabbit.core.nodetype,org.apache.jackrabbit.core.state,org.apache.jackrabbit.core.value'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core.xml'/>
      <p n='version' t='version' v='2.6.5'/>
      <p n='uses:' v='org.apache.jackrabbit.core,org.apache.jackrabbit.core.config,org.apache.jackrabbit.core.id,org.apache.jackrabbit.core.nodetype,org.apache.jackrabbit.core.session,org.apache.jackrabbit.core.state,org.apache.jackrabbit.core.util,org.apache.jackrabbit.core.value'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.lucene'/>
      <p n='version' t='version' v='3.6.2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.lucene.analysis'/>
      <p n='version' t='version' v='3.6.2'/>
      <p n='uses:' v='org.apache.lucene.analysis.tokenattributes,org.apache.lucene.document,org.apache.lucene.index,org.apache.lucene.util'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.lucene.analysis.standard'/>
      <p n='version' t='version' v='3.6.2'/>
      <p n='uses:' v='org.apache.lucene.analysis,org.apache.lucene.analysis.tokenattributes,org.apache.lucene.util'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.lucene.analysis.standard.std31'/>
      <p n='version' t='version' v='3.6.2'/>
      <p n='uses:' v='org.apache.lucene.analysis.standard,org.apache.lucene.analysis.tokenattributes'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.lucene.analysis.standard.std34'/>
      <p n='version' t='version' v='3.6.2'/>
      <p n='uses:' v='org.apache.lucene.analysis.standard,org.apache.lucene.analysis.tokenattributes'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.lucene.analysis.tokenattributes'/>
      <p n='version' t='version' v='3.6.2'/>
      <p n='uses:' v='org.apache.lucene.index,org.apache.lucene.util'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.lucene.collation'/>
      <p n='version' t='version' v='3.6.2'/>
      <p n='uses:' v='org.apache.lucene.analysis'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.lucene.document'/>
      <p n='version' t='version' v='3.6.2'/>
      <p n='uses:' v='org.apache.lucene.analysis,org.apache.lucene.index'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.lucene.index'/>
      <p n='version' t='version' v='3.6.2'/>
      <p n='uses:' v='org.apache.lucene.analysis,org.apache.lucene.document,org.apache.lucene.search,org.apache.lucene.store,org.apache.lucene.util'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.lucene.queryParser'/>
      <p n='version' t='version' v='3.6.2'/>
      <p n='uses:' v='org.apache.lucene.analysis,org.apache.lucene.document,org.apache.lucene.index,org.apache.lucene.search,org.apache.lucene.util'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.lucene.search'/>
      <p n='version' t='version' v='3.6.2'/>
      <p n='uses:' v='org.apache.lucene.analysis,org.apache.lucene.document,org.apache.lucene.index,org.apache.lucene.search.spans,org.apache.lucene.store,org.apache.lucene.util'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.lucene.search.function'/>
      <p n='version' t='version' v='3.6.2'/>
      <p n='uses:' v='org.apache.lucene.index,org.apache.lucene.search'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.lucene.search.payloads'/>
      <p n='version' t='version' v='3.6.2'/>
      <p n='uses:' v='org.apache.lucene.index,org.apache.lucene.search,org.apache.lucene.search.spans'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.lucene.search.spans'/>
      <p n='version' t='version' v='3.6.2'/>
      <p n='uses:' v='org.apache.lucene.index,org.apache.lucene.search'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.lucene.store'/>
      <p n='version' t='version' v='3.6.2'/>
      <p n='uses:' v='org.apache.lucene.index'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.lucene.util'/>
      <p n='version' t='version' v='3.6.2'/>
      <p n='uses:' v='org.apache.lucene.index,org.apache.lucene.search,org.apache.lucene.store'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.lucene.util.fst'/>
      <p n='version' t='version' v='3.6.2'/>
      <p n='uses:' v='org.apache.lucene.store,org.apache.lucene.util'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.lucene.util.packed'/>
      <p n='version' t='version' v='3.6.2'/>
      <p n='uses:' v='org.apache.lucene.store'/>
    </capability>
    <require name='package' filter='(&amp;(package=oracle.jdbc))' extend='false' multiple='false' optional='true'>Import package oracle.jdbc;resolution:=optional</require>
    <require name='package' filter='(&amp;(package=org.postgresql))' extend='false' multiple='false' optional='true'>Import package org.postgresql;resolution:=optional</require>
    <require name='package' filter='(&amp;(package=org.gjt.mm.mysql))' extend='false' multiple='false' optional='true'>Import package org.gjt.mm.mysql;resolution:=optional</require>
    <require name='package' filter='(&amp;(package=org.apache.derby.jdbc))' extend='false' multiple='false' optional='true'>Import package org.apache.derby.jdbc;resolution:=optional</require>
    <require name='package' filter='(&amp;(package=org.h2))' extend='false' multiple='false' optional='true'>Import package org.h2;resolution:=optional</require>
    <require name='package' filter='(&amp;(package=com.microsoft.sqlserver.jdbc))' extend='false' multiple='false' optional='true'>Import package com.microsoft.sqlserver.jdbc;resolution:=optional</require>
    <require name='ee' filter='(|(ee=J2SE-1.5))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=J2SE-1.5))</require>
  </resource>
  <resource id='org.apache.sling.jcr.jackrabbit.server/2.1.0' symbolicname='org.apache.sling.jcr.jackrabbit.server' presentationname='Apache Sling Jackrabbit Embedded Repository' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.jcr.jackrabbit.server/2.1.0/org.apache.sling.jcr.jackrabbit.server-2.1.0.jar' version='2.1.0'>
    <description>Bundle providing support to embed Jackrabbit Repository        instances and publish via RMI and/or JNDI</description>
    <size>3985734</size>
    <documentation>http://sling.apache.org</documentation>
    <source>org/apache/sling/org.apache.sling.jcr.jackrabbit.server/2.1.0/org.apache.sling.jcr.jackrabbit.server-2.1.0-sources.jar</source>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <category id='jcr'/>
    <category id='jackrabbit'/>
    <category id='org.apache.sling'/>
    <capability name='bundle'>
      <p n='manifestversion' v='2'/>
      <p n='presentationname' v='Apache Sling Jackrabbit Embedded Repository'/>
      <p n='symbolicname' v='org.apache.sling.jcr.jackrabbit.server'/>
      <p n='version' t='version' v='2.1.0'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.jcr.jackrabbit.server'/>
      <p n='uses' v='javax.jcr'/>
      <p n='version' t='version' v='2.1.0'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.jcr.jackrabbit.server.security.accessmanager'/>
      <p n='uses' v='javax.jcr,javax.security.auth'/>
      <p n='version' t='version' v='2.0.4.incubator'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.jcr.jackrabbit.server.security'/>
      <p n='uses' v='javax.jcr,javax.security.auth.callback,javax.security.auth.login'/>
      <p n='version' t='version' v='2.0.4.incubator'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core.security.principal'/>
      <p n='uses' v='org.apache.jackrabbit.api.security.principal,org.slf4j,javax.jcr,org.apache.jackrabbit.api.security.user,javax.security.auth,org.apache.jackrabbit.spi,org.apache.jackrabbit.spi.commons.conversion,javax.jcr.observation,org.apache.jackrabbit.util,org.apache.jackrabbit.commons.iterator'/>
      <p n='version' t='version' v='2.1.1'/>
    </capability>
    <require name='package' filter='(&amp;(package=com.microsoft.sqlserver.jdbc))' extend='false' multiple='false' optional='true'>Import package com.microsoft.sqlserver.jdbc</require>
    <require name='package' filter='(&amp;(package=javax.imageio.spi))' extend='false' multiple='false' optional='false'>Import package javax.imageio.spi</require>
    <require name='package' filter='(&amp;(package=javax.jcr)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.lock)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.lock ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.nodetype)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.nodetype ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.observation)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.observation ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.query)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.query ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.query.qom)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.query.qom ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.retention)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.retention ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.security)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.security ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.util)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.util ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.version)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.version ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=javax.naming))' extend='false' multiple='false' optional='false'>Import package javax.naming</require>
    <require name='package' filter='(&amp;(package=javax.naming.spi))' extend='false' multiple='false' optional='false'>Import package javax.naming.spi</require>
    <require name='package' filter='(&amp;(package=javax.security.auth))' extend='false' multiple='false' optional='false'>Import package javax.security.auth</require>
    <require name='package' filter='(&amp;(package=javax.security.auth.callback))' extend='false' multiple='false' optional='false'>Import package javax.security.auth.callback</require>
    <require name='package' filter='(&amp;(package=javax.security.auth.login))' extend='false' multiple='false' optional='false'>Import package javax.security.auth.login</require>
    <require name='package' filter='(&amp;(package=javax.security.auth.spi))' extend='false' multiple='false' optional='false'>Import package javax.security.auth.spi</require>
    <require name='package' filter='(&amp;(package=javax.sql))' extend='false' multiple='false' optional='false'>Import package javax.sql</require>
    <require name='package' filter='(&amp;(package=javax.swing))' extend='false' multiple='false' optional='true'>Import package javax.swing</require>
    <require name='package' filter='(&amp;(package=javax.swing.border))' extend='false' multiple='false' optional='true'>Import package javax.swing.border</require>
    <require name='package' filter='(&amp;(package=javax.transaction.xa))' extend='false' multiple='false' optional='false'>Import package javax.transaction.xa</require>
    <require name='package' filter='(&amp;(package=javax.xml.parsers))' extend='false' multiple='false' optional='false'>Import package javax.xml.parsers</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform.dom))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform.dom</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform.stream))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform.stream</require>
    <require name='package' filter='(&amp;(package=oracle.jdbc))' extend='false' multiple='false' optional='true'>Import package oracle.jdbc</require>
    <require name='package' filter='(&amp;(package=org.apache.derby.jdbc))' extend='false' multiple='false' optional='true'>Import package org.apache.derby.jdbc</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.api)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.api ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.api.management)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.api.management ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.api.observation)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.api.observation ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.api.security)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.api.security ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.api.security.principal)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.api.security.principal ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.api.security.user)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.api.security.user ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.commons)(version&gt;=2.1.0))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.commons ;version=2.1.0</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.commons.cnd)(version&gt;=2.1.0))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.commons.cnd ;version=2.1.0</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.commons.iterator)(version&gt;=2.1.0))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.commons.iterator ;version=2.1.0</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.commons.query)(version&gt;=2.1.0))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.commons.query ;version=2.1.0</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.commons.query.qom)(version&gt;=2.1.0))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.commons.query.qom ;version=2.1.0</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.rmi.remote)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.rmi.remote ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.rmi.server)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.rmi.server ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.spi)(version&gt;=2.1.0))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.spi ;version=2.1.0</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.spi.commons)(version&gt;=2.1.0))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.spi.commons ;version=2.1.0</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.spi.commons.conversion)(version&gt;=2.1.0))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.spi.commons.conversion ;version=2.1.0</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.spi.commons.name)(version&gt;=2.1.0))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.spi.commons.name ;version=2.1.0</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.spi.commons.namespace)(version&gt;=2.1.0))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.spi.commons.namespace ;version=2.1.0</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.spi.commons.nodetype)(version&gt;=2.1.0))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.spi.commons.nodetype ;version=2.1.0</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.spi.commons.nodetype.compact)(version&gt;=2.1.0))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.spi.commons.nodetype.compact ;version=2.1.0</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.spi.commons.nodetype.constraint)(version&gt;=2.1.0))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.spi.commons.nodetype.constraint ;version=2.1.0</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.spi.commons.query)(version&gt;=2.1.0))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.spi.commons.query ;version=2.1.0</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.spi.commons.query.qom)(version&gt;=2.1.0))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.spi.commons.query.qom ;version=2.1.0</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.spi.commons.value)(version&gt;=2.1.0))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.spi.commons.value ;version=2.1.0</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.util)(version&gt;=2.1.0))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.util ;version=2.1.0</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.value)(version&gt;=2.1.0))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.value ;version=2.1.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.api)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.api ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.base)(version&gt;=2.1.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.base ;version=2.1.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.jackrabbit.server)(version&gt;=2.1.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.jackrabbit.server ;version=2.1.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.jackrabbit.server.security)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.jackrabbit.server.security ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.jackrabbit.server.security.accessmanager)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.jackrabbit.server.security.accessmanager ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=org.apache.tika.config))' extend='false' multiple='false' optional='false'>Import package org.apache.tika.config</require>
    <require name='package' filter='(&amp;(package=org.apache.tika.exception))' extend='false' multiple='false' optional='false'>Import package org.apache.tika.exception</require>
    <require name='package' filter='(&amp;(package=org.apache.tika.metadata))' extend='false' multiple='false' optional='false'>Import package org.apache.tika.metadata</require>
    <require name='package' filter='(&amp;(package=org.apache.tika.parser))' extend='false' multiple='false' optional='false'>Import package org.apache.tika.parser</require>
    <require name='package' filter='(&amp;(package=org.apache.tika.parser.html))' extend='false' multiple='false' optional='false'>Import package org.apache.tika.parser.html</require>
    <require name='package' filter='(&amp;(package=org.apache.tika.parser.image))' extend='false' multiple='false' optional='false'>Import package org.apache.tika.parser.image</require>
    <require name='package' filter='(&amp;(package=org.apache.tika.parser.microsoft))' extend='false' multiple='false' optional='false'>Import package org.apache.tika.parser.microsoft</require>
    <require name='package' filter='(&amp;(package=org.apache.tika.parser.odf))' extend='false' multiple='false' optional='false'>Import package org.apache.tika.parser.odf</require>
    <require name='package' filter='(&amp;(package=org.apache.tika.parser.pdf))' extend='false' multiple='false' optional='false'>Import package org.apache.tika.parser.pdf</require>
    <require name='package' filter='(&amp;(package=org.apache.tika.parser.rtf))' extend='false' multiple='false' optional='false'>Import package org.apache.tika.parser.rtf</require>
    <require name='package' filter='(&amp;(package=org.apache.tika.parser.txt))' extend='false' multiple='false' optional='false'>Import package org.apache.tika.parser.txt</require>
    <require name='package' filter='(&amp;(package=org.apache.tika.parser.xml))' extend='false' multiple='false' optional='false'>Import package org.apache.tika.parser.xml</require>
    <require name='package' filter='(&amp;(package=org.gjt.mm.mysql))' extend='false' multiple='false' optional='true'>Import package org.gjt.mm.mysql</require>
    <require name='package' filter='(&amp;(package=org.h2))' extend='false' multiple='false' optional='true'>Import package org.h2</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework ;version=1.4.0</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.cm)(version&gt;=1.2.0))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.cm ;version=1.2.0</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.log)(version&gt;=1.3.0))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.log ;version=1.3.0</require>
    <require name='package' filter='(&amp;(package=org.osgi.util.tracker)(version&gt;=1.3.0))' extend='false' multiple='false' optional='false'>Import package org.osgi.util.tracker ;version=1.3.0</require>
    <require name='package' filter='(&amp;(package=org.postgresql))' extend='false' multiple='false' optional='true'>Import package org.postgresql</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0))' extend='false' multiple='false' optional='false'>Import package org.slf4j ;version=1.5.0</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom</require>
    <require name='package' filter='(&amp;(package=org.xml.sax))' extend='false' multiple='false' optional='false'>Import package org.xml.sax</require>
    <require name='package' filter='(&amp;(package=org.xml.sax.helpers))' extend='false' multiple='false' optional='false'>Import package org.xml.sax.helpers</require>
  </resource>
  <resource id='org.apache.sling.jcr.jackrabbit.server/2.0.3.incubator-SNAPSHOT' symbolicname='org.apache.sling.jcr.jackrabbit.server' presentationname='Apache Sling Jackrabbit Embedded Repository' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.jcr.jackrabbit.server/2.0.3.incubator-SNAPSHOT/org.apache.sling.jcr.jackrabbit.server-2.0.3.incubator-SNAPSHOT.jar' version='2.0.3.incubator-SNAPSHOT'>
    <description>Bundle providing support to embed Jackrabbit Repository instances and publish via RMI and/or JNDI</description>
    <size>11500947</size>
    <documentation>http://incubator.apache.org/sling</documentation>
    <source>org/apache/sling/org.apache.sling.jcr.jackrabbit.server/2.0.4-incubator/org.apache.sling.jcr.jackrabbit.server-2.0.4-incubator-sources.jar</source>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='org.apache.sling'/>
    <capability name='bundle'>
      <p n='manifestversion' v='2'/>
      <p n='presentationname' v='Apache Sling Jackrabbit Embedded Repository'/>
      <p n='symbolicname' v='org.apache.sling.jcr.jackrabbit.server'/>
      <p n='version' t='version' v='2.0.3.incubator-SNAPSHOT'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.jcr.jackrabbit.server.security'/>
      <p n='uses:' v='javax.jcr,javax.security.auth.callback,javax.security.auth.login,javax.security.auth'/>
      <p n='version' t='version' v='2.0.3.incubator-SNAPSHOT'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.core.security.principal'/>
      <p n='uses:' v='javax.jcr,org.slf4j,org.apache.commons.collections.iterators,org.apache.jackrabbit.api.security.user,org.apache.commons.collections.map,javax.jcr.observation,org.apache.jackrabbit.api.security.principal,org.apache.commons.collections.set'/>
      <p n='version' t='version' v='2.0.3.incubator-SNAPSHOT'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.jcr.jackrabbit.server.security.accessmanager'/>
      <p n='uses:' v='javax.jcr,javax.security.auth'/>
      <p n='version' t='version' v='2.0.3.incubator-SNAPSHOT'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr))' extend='false' multiple='false' optional='false'>Import package javax.jcr</require>
    <require name='package' filter='(&amp;(package=javax.jcr.lock))' extend='false' multiple='false' optional='false'>Import package javax.jcr.lock</require>
    <require name='package' filter='(&amp;(package=javax.jcr.nodetype))' extend='false' multiple='false' optional='false'>Import package javax.jcr.nodetype</require>
    <require name='package' filter='(&amp;(package=javax.jcr.observation))' extend='false' multiple='false' optional='false'>Import package javax.jcr.observation</require>
    <require name='package' filter='(&amp;(package=javax.jcr.query))' extend='false' multiple='false' optional='false'>Import package javax.jcr.query</require>
    <require name='package' filter='(&amp;(package=javax.jcr.util))' extend='false' multiple='false' optional='false'>Import package javax.jcr.util</require>
    <require name='package' filter='(&amp;(package=javax.jcr.version))' extend='false' multiple='false' optional='false'>Import package javax.jcr.version</require>
    <require name='package' filter='(&amp;(package=javax.naming))' extend='false' multiple='false' optional='false'>Import package javax.naming</require>
    <require name='package' filter='(&amp;(package=javax.naming.directory))' extend='false' multiple='false' optional='false'>Import package javax.naming.directory</require>
    <require name='package' filter='(&amp;(package=javax.naming.spi))' extend='false' multiple='false' optional='false'>Import package javax.naming.spi</require>
    <require name='package' filter='(&amp;(package=javax.security.auth))' extend='false' multiple='false' optional='false'>Import package javax.security.auth</require>
    <require name='package' filter='(&amp;(package=javax.security.auth.callback))' extend='false' multiple='false' optional='false'>Import package javax.security.auth.callback</require>
    <require name='package' filter='(&amp;(package=javax.security.auth.login))' extend='false' multiple='false' optional='false'>Import package javax.security.auth.login</require>
    <require name='package' filter='(&amp;(package=javax.security.auth.spi))' extend='false' multiple='false' optional='false'>Import package javax.security.auth.spi</require>
    <require name='package' filter='(&amp;(package=javax.xml.datatype))' extend='false' multiple='false' optional='false'>Import package javax.xml.datatype</require>
    <require name='package' filter='(&amp;(package=javax.xml.namespace))' extend='false' multiple='false' optional='false'>Import package javax.xml.namespace</require>
    <require name='package' filter='(&amp;(package=javax.xml.parsers))' extend='false' multiple='false' optional='false'>Import package javax.xml.parsers</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform.dom))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform.dom</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform.sax))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform.sax</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform.stream))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform.stream</require>
    <require name='package' filter='(&amp;(package=javax.xml.validation))' extend='false' multiple='false' optional='false'>Import package javax.xml.validation</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections.buffer))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections.buffer</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections.iterators))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections.iterators</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections.list))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections.list</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections.map))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections.map</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections.set))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections.set</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.api)(version&gt;=1.5.0))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.api ;version=1.5.0</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.api.jsr283)(version&gt;=1.5.0))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.api.jsr283 ;version=1.5.0</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.api.jsr283.nodetype)(version&gt;=1.5.0))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.api.jsr283.nodetype ;version=1.5.0</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.api.jsr283.retention)(version&gt;=1.5.0))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.api.jsr283.retention ;version=1.5.0</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.api.jsr283.security)(version&gt;=1.5.0))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.api.jsr283.security ;version=1.5.0</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.api.observation)(version&gt;=1.5.0))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.api.observation ;version=1.5.0</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.api.security.principal)(version&gt;=1.5.0))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.api.security.principal ;version=1.5.0</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.api.security.user)(version&gt;=1.5.0))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.api.security.user ;version=1.5.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.api))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.api</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.base)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.base ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.jackrabbit.server.security)(version&gt;=2.0.3.incubator-SNAPSHOT))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.jackrabbit.server.security ;version=2.0.3.incubator-SNAPSHOT</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.cm))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.cm</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.log))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.log</require>
    <require name='package' filter='(&amp;(package=org.osgi.util.tracker))' extend='false' multiple='false' optional='false'>Import package org.osgi.util.tracker</require>
    <require name='package' filter='(&amp;(package=org.slf4j))' extend='false' multiple='false' optional='false'>Import package org.slf4j</require>
    <require name='package' filter='(&amp;(package=org.xml.sax))' extend='false' multiple='false' optional='false'>Import package org.xml.sax</require>
    <require name='package' filter='(&amp;(package=org.xml.sax.helpers))' extend='false' multiple='false' optional='false'>Import package org.xml.sax.helpers</require>
  </resource>
  <resource id='org.apache.sling.jcr.jackrabbit.accessmanager/2.1.2' symbolicname='org.apache.sling.jcr.jackrabbit.accessmanager' presentationname='Apache Sling Jackrabbit JSR-283 Access Control Manager Support' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.jcr.jackrabbit.accessmanager/2.1.2/org.apache.sling.jcr.jackrabbit.accessmanager-2.1.2.jar' version='2.1.2'>
    <description>Provides SlingPostOperations for the Jackrabbit JSR-283 Access Control Manager.</description>
    <size>39749</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.jcr.jackrabbit.accessmanager'/>
      <p n='presentationname' v='Apache Sling Jackrabbit JSR-283 Access Control Manager Support'/>
      <p n='version' t='version' v='2.1.2'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.jcr.jackrabbit.accessmanager'/>
      <p n='version' t='version' v='2.1.1'/>
      <p n='uses:' v='javax.jcr,javax.jcr.security,org.apache.sling.commons.json'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.jcr.jackrabbit.accessmanager.post'/>
      <p n='version' t='version' v='2.1.1'/>
      <p n='uses:' v='javax.jcr,javax.jcr.security,javax.servlet,javax.servlet.http,org.apache.sling.api,org.apache.sling.api.servlets,org.apache.sling.commons.json,org.apache.sling.jcr.jackrabbit.accessmanager,org.apache.sling.servlets.post'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.jcr.security)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr.security;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.api.security.principal)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.api.security.principal;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.request)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.request;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.servlets)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.servlets;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.wrappers)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.wrappers;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.base.util)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.base.util;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.servlets.post)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.servlets.post;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=J2SE-1.5))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=J2SE-1.5))</require>
  </resource>
  <resource id='org.apache.sling.jcr.jackrabbit.accessmanager/2.1.0' symbolicname='org.apache.sling.jcr.jackrabbit.accessmanager' presentationname='Apache Sling Jackrabbit JSR-283 Access Control Manager Support' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.jcr.jackrabbit.accessmanager/2.1.0/org.apache.sling.jcr.jackrabbit.accessmanager-2.1.0.jar' version='2.1.0'>
    <description>Provides SlingPostOperations for the Jackrabbit JSR-283 Access Control Manager.</description>
    <size>37652</size>
    <documentation>http://sling.apache.org</documentation>
    <source>org/apache/sling/org.apache.sling.jcr.jackrabbit.accessmanager/2.1.0/org.apache.sling.jcr.jackrabbit.accessmanager-2.1.0-sources.jar</source>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <category id='org.apache.sling'/>
    <capability name='bundle'>
      <p n='manifestversion' v='2'/>
      <p n='presentationname' v='Apache Sling Jackrabbit JSR-283 Access Control Manager Support'/>
      <p n='symbolicname' v='org.apache.sling.jcr.jackrabbit.accessmanager'/>
      <p n='version' t='version' v='2.1.0'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.jcr.jackrabbit.accessmanager'/>
      <p n='uses' v='javax.jcr.security,javax.jcr,org.apache.sling.jcr.base.util'/>
      <p n='version' t='version' v='2.1.0'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.jcr.jackrabbit.accessmanager.post'/>
      <p n='uses' v='org.apache.sling.servlets.post,javax.jcr,org.apache.sling.api.wrappers,org.slf4j,javax.jcr.security,org.apache.sling.api.resource,org.apache.sling.api.servlets,javax.servlet,org.apache.sling.api,javax.servlet.http,org.apache.sling.jcr.base.util,org.apache.sling.commons.json,org.apache.jackrabbit.api.security.principal'/>
      <p n='version' t='version' v='2.1.0'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.security)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.security ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.api.security.principal)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.api.security.principal ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.servlets)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.servlets ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.wrappers)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.wrappers ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.base.util)(version&gt;=2.1.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.base.util ;version=2.1.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.jackrabbit.accessmanager)(version&gt;=2.1.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.jackrabbit.accessmanager ;version=2.1.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.jackrabbit.accessmanager.post)(version&gt;=2.1.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.jackrabbit.accessmanager.post ;version=2.1.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.servlets.post)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.servlets.post ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0))' extend='false' multiple='false' optional='false'>Import package org.slf4j ;version=1.5.0</require>
  </resource>
  <resource id='org.apache.sling.jcr.jackrabbit.accessmanager/2.0.2.incubator' symbolicname='org.apache.sling.jcr.jackrabbit.accessmanager' presentationname='Apache Sling Jackrabbit JSR-283 Access Control Manager Support' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.jcr.jackrabbit.accessmanager/2.0.2.incubator/org.apache.sling.jcr.jackrabbit.accessmanager-2.0.2.incubator.jar' version='2.0.2.incubator'>
    <description>Provides SlingPostOperations for the Jackrabbit JSR-283 Access Control Manager.</description>
    <size>33235</size>
    <documentation>http://incubator.apache.org/sling</documentation>
    <source>org/apache/sling/org.apache.sling.jcr.jackrabbit.accessmanager/2.0.2-incubator/org.apache.sling.jcr.jackrabbit.accessmanager-2.0.2-incubator-sources.jar</source>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='org.apache.sling'/>
    <capability name='bundle'>
      <p n='manifestversion' v='2'/>
      <p n='presentationname' v='Apache Sling Jackrabbit JSR-283 Access Control Manager Support'/>
      <p n='symbolicname' v='org.apache.sling.jcr.jackrabbit.accessmanager'/>
      <p n='version' t='version' v='2.0.2.incubator'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.jcr.jackrabbit.accessmanager.post'/>
      <p n='uses:' v='javax.jcr,org.slf4j,org.apache.sling.api.wrappers,org.apache.sling.api.resource,org.apache.jackrabbit.api.jsr283.security,org.apache.sling.api.servlets,javax.servlet,org.apache.jackrabbit.api.security.user,org.apache.sling.jcr.base.util,org.apache.sling.commons.json,org.apache.sling.servlets.post,org.apache.sling.api,javax.servlet.http'/>
      <p n='version' t='version' v='2.0.2.incubator'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.jcr.jackrabbit.accessmanager'/>
      <p n='uses:' v='javax.jcr,org.apache.jackrabbit.api.jsr283.security,org.apache.sling.jcr.base.util,org.apache.jackrabbit.api.security.principal'/>
      <p n='version' t='version' v='2.0.2.incubator'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.api.jsr283.security)(version&gt;=1.5.0))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.api.jsr283.security ;version=1.5.0</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.api.security.principal)(version&gt;=1.5.0))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.api.security.principal ;version=1.5.0</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.api.security.user)(version&gt;=1.5.0))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.api.security.user ;version=1.5.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.0.4.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api ;version=2.0.4.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.0.4.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource ;version=2.0.4.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.servlets)(version&gt;=2.0.4.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.servlets ;version=2.0.4.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.wrappers)(version&gt;=2.0.4.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.wrappers ;version=2.0.4.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json)(version&gt;=2.0.4.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json ;version=2.0.4.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.base.util)(version&gt;=2.0.4.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.base.util ;version=2.0.4.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.jackrabbit.accessmanager)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.jackrabbit.accessmanager ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.jackrabbit.accessmanager.post)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.jackrabbit.accessmanager.post ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.servlets.post)(version&gt;=2.0.4.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.servlets.post ;version=2.0.4.incubator</require>
    <require name='package' filter='(&amp;(package=org.slf4j))' extend='false' multiple='false' optional='false'>Import package org.slf4j</require>
  </resource>
  <resource id='org.apache.sling.jcr.jackrabbit.usermanager/2.0.2.incubator' symbolicname='org.apache.sling.jcr.jackrabbit.usermanager' presentationname='Apache Sling Jackrabbit UserManager Support' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.jcr.jackrabbit.usermanager/2.0.2.incubator/org.apache.sling.jcr.jackrabbit.usermanager-2.0.2.incubator.jar' version='2.0.2.incubator'>
    <description>Provides ResourceProvider and SlingPostOperations for the Jackrabbit		UserManager.</description>
    <size>53092</size>
    <documentation>http://incubator.apache.org/sling</documentation>
    <source>org/apache/sling/org.apache.sling.jcr.jackrabbit.usermanager/2.0.2-incubator/org.apache.sling.jcr.jackrabbit.usermanager-2.0.2-incubator-sources.jar</source>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='org.apache.sling'/>
    <capability name='bundle'>
      <p n='manifestversion' v='2'/>
      <p n='presentationname' v='Apache Sling Jackrabbit UserManager Support'/>
      <p n='symbolicname' v='org.apache.sling.jcr.jackrabbit.usermanager'/>
      <p n='version' t='version' v='2.0.2.incubator'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.api.security.principal)(version&gt;=1.5.0))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.api.security.principal ;version=1.5.0</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.api.security.user)(version&gt;=1.5.0))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.api.security.user ;version=1.5.0</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.util))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.util</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.adapter)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.adapter ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.0.4.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api ;version=2.0.4.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.request)(version&gt;=2.0.4.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.request ;version=2.0.4.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.0.4.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource ;version=2.0.4.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.servlets)(version&gt;=2.0.4.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.servlets ;version=2.0.4.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.wrappers)(version&gt;=2.0.4.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.wrappers ;version=2.0.4.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.api)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.api ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.base.util)(version&gt;=2.0.4.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.base.util ;version=2.0.4.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.resource)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.resource ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.servlets.post)(version&gt;=2.0.4.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.servlets.post ;version=2.0.4.incubator</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component</require>
    <require name='package' filter='(&amp;(package=org.slf4j))' extend='false' multiple='false' optional='false'>Import package org.slf4j</require>
  </resource>
  <resource id='org.apache.sling.jcr.jackrabbit.usermanager/2.1.0' symbolicname='org.apache.sling.jcr.jackrabbit.usermanager' presentationname='Apache Sling Jackrabbit UserManager Support' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.jcr.jackrabbit.usermanager/2.1.0/org.apache.sling.jcr.jackrabbit.usermanager-2.1.0.jar' version='2.1.0'>
    <description>Provides ResourceProvider and SlingPostOperations for the Jackrabbit        UserManager.</description>
    <size>66764</size>
    <documentation>http://sling.apache.org</documentation>
    <source>org/apache/sling/org.apache.sling.jcr.jackrabbit.usermanager/2.1.0/org.apache.sling.jcr.jackrabbit.usermanager-2.1.0-sources.jar</source>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <category id='org.apache.sling'/>
    <capability name='bundle'>
      <p n='manifestversion' v='2'/>
      <p n='presentationname' v='Apache Sling Jackrabbit UserManager Support'/>
      <p n='symbolicname' v='org.apache.sling.jcr.jackrabbit.usermanager'/>
      <p n='version' t='version' v='2.1.0'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.jackrabbit.usermanager'/>
      <p n='uses' v='javax.jcr'/>
      <p n='version' t='version' v='2.1.0'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.api.security.principal)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.api.security.principal ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.api.security.user)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.api.security.user ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.util))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.util</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.1.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api ;version=2.1.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.request)(version&gt;=2.1.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.request ;version=2.1.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.1.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource ;version=2.1.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.servlets)(version&gt;=2.1.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.servlets ;version=2.1.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.wrappers)(version&gt;=2.1.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.wrappers ;version=2.1.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jackrabbit.usermanager)(version&gt;=2.1.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jackrabbit.usermanager ;version=2.1.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.api)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.api ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.base.util)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.base.util ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.resource)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.resource ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.servlets.post)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.servlets.post ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0))' extend='false' multiple='false' optional='false'>Import package org.slf4j ;version=1.5.0</require>
  </resource>
  <resource id='org.apache.sling.jcr.jackrabbit.usermanager/2.2.4' symbolicname='org.apache.sling.jcr.jackrabbit.usermanager' presentationname='Apache Sling Jackrabbit UserManager Support' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.jcr.jackrabbit.usermanager-2.2.4.jar' version='2.2.4'>
    <description>Provides ResourceProvider and SlingPostOperations for the Jackrabbit        UserManager.</description>
    <size>86550</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.jcr.jackrabbit.usermanager'/>
      <p n='presentationname' v='Apache Sling Jackrabbit UserManager Support'/>
      <p n='version' t='version' v='2.2.4'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.jackrabbit.usermanager'/>
      <p n='version' t='version' v='2.2.1'/>
      <p n='uses:' v='javax.jcr,org.apache.jackrabbit.api.security.user,org.apache.sling.api.resource,org.apache.sling.servlets.post'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr))' extend='false' multiple='false' optional='false'>Import package javax.jcr</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.api.security.principal)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.api.security.principal;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.api.security.user)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.api.security.user;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.util))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.util</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.request)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.request;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.servlets)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.servlets;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.wrappers)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.wrappers;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jackrabbit.usermanager)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jackrabbit.usermanager;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.api)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.api;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.base.util)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.base.util;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.resource)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.resource;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.servlets.post)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.servlets.post;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.jcr.jackrabbit.usermanager/2.2.2' symbolicname='org.apache.sling.jcr.jackrabbit.usermanager' presentationname='Apache Sling Jackrabbit UserManager Support' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.jcr.jackrabbit.usermanager/2.2.2/org.apache.sling.jcr.jackrabbit.usermanager-2.2.2.jar' version='2.2.2'>
    <description>Provides ResourceProvider and SlingPostOperations for the Jackrabbit        UserManager.</description>
    <size>86392</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.jcr.jackrabbit.usermanager'/>
      <p n='presentationname' v='Apache Sling Jackrabbit UserManager Support'/>
      <p n='version' t='version' v='2.2.2'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.jackrabbit.usermanager'/>
      <p n='version' t='version' v='2.2.1'/>
      <p n='uses:' v='javax.jcr,org.apache.jackrabbit.api.security.user,org.apache.sling.api.resource,org.apache.sling.servlets.post'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr))' extend='false' multiple='false' optional='false'>Import package javax.jcr</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.api.security.principal)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.api.security.principal;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.api.security.user)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.api.security.user;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.util))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.util</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.request)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.request;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.servlets)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.servlets;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.wrappers)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.wrappers;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jackrabbit.usermanager)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jackrabbit.usermanager;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.api)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.api;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.base.util)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.base.util;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.resource)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.resource;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.servlets.post)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.servlets.post;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=J2SE-1.5))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=J2SE-1.5))</require>
  </resource>
  <resource id='org.apache.sling.javax.activation/0.1.0' symbolicname='org.apache.sling.javax.activation' presentationname='Apache Sling javax.activation bundle' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.javax.activation/0.1.0/org.apache.sling.javax.activation-0.1.0.jar' version='0.1.0'>
    <description>The Apache Sling javax.activation bundle contributes an OSGi-compatible activation bundle.</description>
    <size>117201</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.javax.activation'/>
      <p n='presentationname' v='Apache Sling javax.activation bundle'/>
      <p n='version' t='version' v='0.1.0'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='javax.activation'/>
      <p n='version' t='version' v='1.1.1'/>
    </capability>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.util.tracker)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.util.tracker;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=J2SE-1.5))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=J2SE-1.5))</require>
  </resource>
  <resource id='org.apache.sling.jcr.base/2.0.4.incubator' symbolicname='org.apache.sling.jcr.base' presentationname='Apache Sling JCR Base Bundle' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.jcr.base/2.0.4.incubator/org.apache.sling.jcr.base-2.0.4.incubator.jar' version='2.0.4.incubator'>
    <description>The JCR base bundle provides JCR utility classes</description>
    <size>272231</size>
    <documentation>http://incubator.apache.org/sling</documentation>
    <source>org/apache/sling/org.apache.sling.jcr.base/2.0.4-incubator/org.apache.sling.jcr.base-2.0.4-incubator-sources.jar</source>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='org.apache.sling'/>
    <capability name='bundle'>
      <p n='manifestversion' v='2'/>
      <p n='presentationname' v='Apache Sling JCR Base Bundle'/>
      <p n='symbolicname' v='org.apache.sling.jcr.base'/>
      <p n='version' t='version' v='2.0.4.incubator'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.jcr.base.util'/>
      <p n='uses:' v='javax.jcr,javax.naming,org.slf4j,org.apache.jackrabbit.api.jsr283.security,org.apache.jackrabbit.api.security.user,org.apache.jackrabbit.api.security.principal,org.apache.jackrabbit.api'/>
      <p n='version' t='version' v='2.0.4.incubator'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.jcr.base'/>
      <p n='uses:' v='javax.jcr,org.apache.sling.jcr.api,javax.jcr.nodetype,org.slf4j,org.osgi.service.component,org.osgi.service.log,org.apache.sling.jcr.base.util,org.osgi.framework,org.apache.jackrabbit.api'/>
      <p n='version' t='version' v='2.0.4.incubator'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.lock)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.lock ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.nodetype)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.nodetype ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.observation)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.observation ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.query)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.query ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.version)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.version ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.naming))' extend='false' multiple='false' optional='false'>Import package javax.naming</require>
    <require name='package' filter='(&amp;(package=javax.naming.spi))' extend='false' multiple='false' optional='false'>Import package javax.naming.spi</require>
    <require name='package' filter='(&amp;(package=javax.transaction.xa))' extend='false' multiple='false' optional='false'>Import package javax.transaction.xa</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform.sax))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform.sax</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform.stream))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform.stream</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.api)(version&gt;=1.5.0))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.api ;version=1.5.0</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.api.jsr283.security)(version&gt;=1.5.0))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.api.jsr283.security ;version=1.5.0</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.api.security.principal)(version&gt;=1.5.0))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.api.security.principal ;version=1.5.0</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.api.security.user)(version&gt;=1.5.0))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.api.security.user ;version=1.5.0</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.commons.repository))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.commons.repository</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.commons.xml))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.commons.xml</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.api)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.api ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.base)(version&gt;=2.0.4.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.base ;version=2.0.4.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.base.util)(version&gt;=2.0.4.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.base.util ;version=2.0.4.incubator</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.log))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.log</require>
    <require name='package' filter='(&amp;(package=org.slf4j))' extend='false' multiple='false' optional='false'>Import package org.slf4j</require>
    <require name='package' filter='(&amp;(package=org.xml.sax))' extend='false' multiple='false' optional='false'>Import package org.xml.sax</require>
    <require name='package' filter='(&amp;(package=org.xml.sax.helpers))' extend='false' multiple='false' optional='false'>Import package org.xml.sax.helpers</require>
  </resource>
  <resource id='org.apache.sling.jcr.base/2.2.2' symbolicname='org.apache.sling.jcr.base' presentationname='Apache Sling JCR Base Bundle' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.jcr.base/2.2.2/org.apache.sling.jcr.base-2.2.2.jar' version='2.2.2'>
    <description>The JCR base bundle provides JCR utility classes</description>
    <size>54509</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <category id='jcr'/>
    <category id='jackrabbit'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.jcr.base'/>
      <p n='presentationname' v='Apache Sling JCR Base Bundle'/>
      <p n='version' t='version' v='2.2.2'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.jcr.base'/>
      <p n='version' t='version' v='2.3.0'/>
      <p n='uses:' v='javax.jcr,org.apache.sling.jcr.api,org.apache.sling.jcr.base.util,org.apache.sling.serviceusermapping,org.osgi.framework,org.osgi.service.component,org.osgi.service.log'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.jcr.base.util'/>
      <p n='version' t='version' v='2.1.0'/>
      <p n='uses:' v='javax.jcr,javax.jcr.security,org.apache.jackrabbit.api.security.principal,org.apache.jackrabbit.api.security.user,org.apache.jackrabbit.rmi.client'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.jcr.nodetype)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr.nodetype;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.jcr.security)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr.security;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.naming))' extend='false' multiple='false' optional='false'>Import package javax.naming</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.api)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.api;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.api.security)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.api.security;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.api.security.principal)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.api.security.principal;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.api.security.user)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.api.security.user;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.commons.cnd)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.commons.cnd;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.rmi.client)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.rmi.client;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.rmi.jackrabbit)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.rmi.jackrabbit;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.rmi.remote)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.rmi.remote;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.api)(version&gt;=2.2.0)(!(version&gt;=2.3.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.api;version="[2.2,2.3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.serviceusermapping)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.serviceusermapping;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.log)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.log;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.util.tracker)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.util.tracker;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=J2SE-1.5))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=J2SE-1.5))</require>
  </resource>
  <resource id='org.apache.sling.jcr.base/2.4.0' symbolicname='org.apache.sling.jcr.base' presentationname='Apache Sling JCR Base Bundle' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.jcr.base/2.4.0/org.apache.sling.jcr.base-2.4.0.jar' version='2.4.0'>
    <description>The JCR base bundle provides JCR utility classes</description>
    <size>40875</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <category id='jcr'/>
    <category id='jackrabbit'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.jcr.base'/>
      <p n='presentationname' v='Apache Sling JCR Base Bundle'/>
      <p n='version' t='version' v='2.4.0'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.jcr.base'/>
      <p n='version' t='version' v='3.0.0'/>
      <p n='uses:' v='javax.jcr,org.apache.sling.jcr.api,org.apache.sling.serviceusermapping,org.osgi.framework'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.jcr.base.util'/>
      <p n='version' t='version' v='2.1.0'/>
      <p n='uses:' v='javax.jcr,javax.jcr.security,org.apache.jackrabbit.api.security.principal,org.apache.jackrabbit.api.security.user,org.apache.jackrabbit.rmi.client'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.jcr.nodetype)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr.nodetype;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.jcr.security)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr.security;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.naming))' extend='false' multiple='false' optional='false'>Import package javax.naming</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.api)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.api;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.api.security)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.api.security;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.api.security.principal)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.api.security.principal;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.api.security.user)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.api.security.user;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.commons.cnd)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.commons.cnd;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.rmi.client)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.rmi.client;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.rmi.remote)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.rmi.remote;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.api)(version&gt;=2.4.0)(!(version&gt;=2.5.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.api;version="[2.4,2.5)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.serviceusermapping)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.serviceusermapping;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.util.tracker)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.util.tracker;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.jcr.base/2.1.0' symbolicname='org.apache.sling.jcr.base' presentationname='Apache Sling JCR Base Bundle' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.jcr.base/2.1.0/org.apache.sling.jcr.base-2.1.0.jar' version='2.1.0'>
    <description>The JCR base bundle provides JCR utility classes</description>
    <size>37482</size>
    <documentation>http://sling.apache.org</documentation>
    <source>org/apache/sling/org.apache.sling.jcr.base/2.1.0/org.apache.sling.jcr.base-2.1.0-sources.jar</source>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <category id='jcr'/>
    <category id='jackrabbit'/>
    <category id='org.apache.sling'/>
    <capability name='bundle'>
      <p n='manifestversion' v='2'/>
      <p n='presentationname' v='Apache Sling JCR Base Bundle'/>
      <p n='symbolicname' v='org.apache.sling.jcr.base'/>
      <p n='version' t='version' v='2.1.0'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.jcr.base'/>
      <p n='uses' v='javax.jcr,org.osgi.service.log,org.apache.sling.jcr.base.util,org.apache.sling.jcr.api,org.osgi.util.tracker,org.osgi.framework,org.osgi.service.component,org.apache.jackrabbit.api,org.apache.jackrabbit.commons.cnd,javax.jcr.nodetype,org.slf4j'/>
      <p n='version' t='version' v='2.1.0'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.jcr.base.util'/>
      <p n='uses' v='javax.jcr,org.apache.jackrabbit.api.security,org.apache.jackrabbit.api.security.user,org.apache.jackrabbit.api.security.principal,org.slf4j,org.apache.jackrabbit.api,javax.jcr.security,org.apache.jackrabbit.rmi.remote,javax.naming,org.apache.jackrabbit.rmi.client,org.apache.jackrabbit.rmi.jackrabbit'/>
      <p n='version' t='version' v='2.1.0'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.nodetype)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.nodetype ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.security)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.security ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=javax.naming))' extend='false' multiple='false' optional='false'>Import package javax.naming</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.api)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.api ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.api.security)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.api.security ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.api.security.principal)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.api.security.principal ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.api.security.user)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.api.security.user ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.commons.cnd)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.commons.cnd ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.rmi.client)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.rmi.client ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.rmi.jackrabbit)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.rmi.jackrabbit ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.rmi.remote)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.rmi.remote ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.api)(version&gt;=2.1.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.api ;version=2.1.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.base)(version&gt;=2.1.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.base ;version=2.1.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.base.util)(version&gt;=2.1.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.base.util ;version=2.1.0</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework ;version=1.4.0</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.log)(version&gt;=1.3.0))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.log ;version=1.3.0</require>
    <require name='package' filter='(&amp;(package=org.osgi.util.tracker)(version&gt;=1.3.0))' extend='false' multiple='false' optional='false'>Import package org.osgi.util.tracker ;version=1.3.0</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0))' extend='false' multiple='false' optional='false'>Import package org.slf4j ;version=1.5.0</require>
  </resource>
  <resource id='org.apache.sling.jcr.classloader/3.2.2' symbolicname='org.apache.sling.jcr.classloader' presentationname='Apache Sling JCR ClassLoader' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.jcr.classloader/3.2.2/org.apache.sling.jcr.classloader-3.2.2.jar' version='3.2.2'>
    <description>This bundle provides a cloassloader for the Apache Sling Commons        dynamic classloader. The classloader provided supports loading        classes from a JCR repository at configured paths. This bundle        also implements a class writer which allows to store compiled        classes (like compiled JSPs etc.) in the repository.</description>
    <size>32114</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <category id='jcr'/>
    <category id='jackrabbit'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.jcr.classloader'/>
      <p n='presentationname' v='Apache Sling JCR ClassLoader'/>
      <p n='version' t='version' v='3.2.2'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr))' extend='false' multiple='false' optional='false'>Import package javax.jcr</require>
    <require name='package' filter='(&amp;(package=javax.jcr.nodetype))' extend='false' multiple='false' optional='false'>Import package javax.jcr.nodetype</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.classloader)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.classloader;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.mime)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.mime;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.api)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.api;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.settings)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.settings;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=J2SE-1.5))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=J2SE-1.5))</require>
  </resource>
  <resource id='org.apache.sling.jcr.classloader/3.1.2' symbolicname='org.apache.sling.jcr.classloader' presentationname='Apache Sling JCR ClassLoader' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.jcr.classloader/3.1.2/org.apache.sling.jcr.classloader-3.1.2.jar' version='3.1.2'>
    <description>This bundle provides a cloassloader for the Apache Sling Commons        dynamic classloader. The classloader provided supports loading        classes from a JCR repository at configured paths. This bundle        also implements a class writer which allows to store compiled        classes (like compiled JSPs etc.) in the repository.</description>
    <size>45158</size>
    <documentation>http://sling.apache.org</documentation>
    <source>org/apache/sling/org.apache.sling.jcr.classloader/3.1.2/org.apache.sling.jcr.classloader-3.1.2-sources.jar</source>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <category id='jcr'/>
    <category id='jackrabbit'/>
    <category id='org.apache.sling'/>
    <capability name='bundle'>
      <p n='manifestversion' v='2'/>
      <p n='presentationname' v='Apache Sling JCR ClassLoader'/>
      <p n='symbolicname' v='org.apache.sling.jcr.classloader'/>
      <p n='version' t='version' v='3.1.2'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr))' extend='false' multiple='false' optional='false'>Import package javax.jcr</require>
    <require name='package' filter='(&amp;(package=javax.jcr.nodetype))' extend='false' multiple='false' optional='false'>Import package javax.jcr.nodetype</require>
    <require name='package' filter='(&amp;(package=javax.jcr.observation))' extend='false' multiple='false' optional='false'>Import package javax.jcr.observation</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.classloader)(version&gt;=1.2.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.classloader ;version=1.2.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.mime)(version&gt;=2.1.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.mime ;version=2.1.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.api)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.api ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0))' extend='false' multiple='false' optional='false'>Import package org.slf4j ;version=1.5.0</require>
  </resource>
  <resource id='org.apache.sling.installer.provider.jcr/3.1.18' symbolicname='org.apache.sling.installer.provider.jcr' presentationname='Apache Sling JCR Installer' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.installer.provider.jcr/3.1.18/org.apache.sling.installer.provider.jcr-3.1.18.jar' version='3.1.18'>
    <description>Installs OSGi bundles and configurations      found in the JCR repository.</description>
    <size>61654</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.installer.provider.jcr'/>
      <p n='presentationname' v='Apache Sling JCR Installer'/>
      <p n='version' t='version' v='3.1.18'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr;version=1.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.nodetype)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.nodetype;version=1.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.observation)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.observation;version=1.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.installer.api)(version&gt;=3.1.2)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.installer.api;version="[3.1.2,4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.api.observation)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.api.observation;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.api)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.api;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.settings)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.settings;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.cm)(version&gt;=1.2.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.cm;version="[1.2,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.installer.provider.jcr/3.1.16' symbolicname='org.apache.sling.installer.provider.jcr' presentationname='Apache Sling JCR Installer' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.installer.provider.jcr/3.1.16/org.apache.sling.installer.provider.jcr-3.1.16.jar' version='3.1.16'>
    <description>Installs OSGi bundles and configurations      found in the JCR repository.</description>
    <size>59472</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.installer.provider.jcr'/>
      <p n='presentationname' v='Apache Sling JCR Installer'/>
      <p n='version' t='version' v='3.1.16'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr;version=1.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.nodetype)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.nodetype;version=1.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.observation)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.observation;version=1.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.installer.api)(version&gt;=3.1.2)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.installer.api;version="[3.1.2,4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.api)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.api;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.settings)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.settings;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.cm)(version&gt;=1.2.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.cm;version="[1.2,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=J2SE-1.5))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=J2SE-1.5))</require>
  </resource>
  <resource id='org.apache.sling.jcr.compiler/2.1.0' symbolicname='org.apache.sling.jcr.compiler' presentationname='Apache Sling JCR Java Compiler' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.jcr.compiler/2.1.0/org.apache.sling.jcr.compiler-2.1.0.jar' version='2.1.0'>
    <description>The Sling JCR Java Compiler bundle provides support for compiling        Java source code stored in the repository and writing the class         files to the repository.</description>
    <size>16587</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.jcr.compiler'/>
      <p n='presentationname' v='Apache Sling JCR Java Compiler'/>
      <p n='version' t='version' v='2.1.0'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.jcr.compiler'/>
      <p n='version' t='version' v='2.1.0'/>
      <p n='uses:' v='org.apache.sling.commons.compiler'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr))' extend='false' multiple='false' optional='false'>Import package javax.jcr</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.compiler)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.compiler;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.api)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.api;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.compiler)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.compiler;version="[2.1,3)"</require>
  </resource>
  <resource id='org.apache.sling.jcr.oak.server/1.1.0' symbolicname='org.apache.sling.jcr.oak.server' presentationname='Apache Sling JCR Oak Repository Server' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.jcr.oak.server/1.1.0/org.apache.sling.jcr.oak.server-1.1.0.jar' version='1.1.0'>
    <description>This bundle provides a SlingRepository based on Apache Jackrabbit Oak.</description>
    <size>28793</size>
    <documentation>http://sling.apache.org</documentation>
    <license>https://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.jcr.oak.server'/>
      <p n='presentationname' v='Apache Sling JCR Oak Repository Server'/>
      <p n='version' t='version' v='1.1.0'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.oak))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.oak</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.oak.spi.security.authentication)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.oak.spi.security.authentication;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=com.google.common.collect)(version&gt;=15.0.0)(!(version&gt;=16.0.0)))' extend='false' multiple='false' optional='false'>Import package com.google.common.collect;version="[15.0,16)"</require>
    <require name='package' filter='(&amp;(package=javax.jcr)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.jcr.lock)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr.lock;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.jcr.nodetype)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr.nodetype;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.jcr.retention)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr.retention;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.jcr.security)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr.security;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.jcr.version)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr.version;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.security.auth))' extend='false' multiple='false' optional='false'>Import package javax.security.auth</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.api)(version&gt;=2.4.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.api;version="[2.4,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.api.security.principal)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.api.security.principal;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.api.security.user)(version&gt;=2.4.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.api.security.user;version="[2.4,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.commons.jackrabbit.authorization)(version&gt;=2.13.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.commons.jackrabbit.authorization;version="[2.13,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.oak.api)(version&gt;=3.1.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.oak.api;version="[3.1,4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.oak.jcr))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.oak.jcr</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.oak.osgi))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.oak.osgi</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.oak.plugins.commit))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.oak.plugins.commit</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.oak.plugins.index))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.oak.plugins.index</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.oak.plugins.index.aggregate))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.oak.plugins.index.aggregate</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.oak.plugins.index.lucene.util))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.oak.plugins.index.lucene.util</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.oak.plugins.name))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.oak.plugins.name</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.oak.plugins.nodetype))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.oak.plugins.nodetype</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.oak.plugins.nodetype.write))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.oak.plugins.nodetype.write</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.oak.plugins.observation))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.oak.plugins.observation</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.oak.plugins.version))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.oak.plugins.version</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.oak.spi.commit))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.oak.spi.commit</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.oak.spi.lifecycle))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.oak.spi.lifecycle</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.oak.spi.query))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.oak.spi.query</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.oak.spi.security)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.oak.spi.security;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.oak.spi.security.principal)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.oak.spi.security.principal;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.oak.spi.security.user)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.oak.spi.security.user;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.oak.spi.state))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.oak.spi.state</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.oak.spi.whiteboard))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.oak.spi.whiteboard</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.threads)(version&gt;=3.2.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.threads;version="[3.2,4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.api)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.api;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.base)(version&gt;=3.0.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.base;version="[3.0,4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.serviceusermapping)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.serviceusermapping;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.8.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.8,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.7.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.7,2)"</require>
    <require name='package' filter='(&amp;(package=org.xml.sax))' extend='false' multiple='false' optional='false'>Import package org.xml.sax</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.test))' extend='false' multiple='false' optional='true'>Import package org.apache.jackrabbit.test;resolution:=optional</require>
    <require name='package' filter='(&amp;(package=com.mongodb))' extend='false' multiple='false' optional='true'>Import package com.mongodb;resolution:=optional</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.oak.security.user))' extend='false' multiple='false' optional='true'>Import package org.apache.jackrabbit.oak.security.user;resolution:=optional</require>
    <require name='package' filter='(&amp;(package=org.apache.felix.jaas.boot))' extend='false' multiple='false' optional='false'>Import package org.apache.felix.jaas.boot</require>
    <require name='ee' filter='(|(ee=JavaSE-1.7))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.7))</require>
  </resource>
  <resource id='org.apache.sling.jcr.prefs/1.0.0' symbolicname='org.apache.sling.jcr.prefs' presentationname='Apache Sling JCR Prefs' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.jcr.prefs/1.0.0/org.apache.sling.jcr.prefs-1.0.0.jar' version='1.0.0'>
    <description>Apache Sling JCR Implementation for OSGi Preferences</description>
    <size>15394</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.jcr.prefs'/>
      <p n='presentationname' v='Apache Sling JCR Prefs'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=org.apache.felix.prefs))' extend='false' multiple='false' optional='false'>Import package org.apache.felix.prefs</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.api)(version&gt;=2.0.2))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.api;version=2.0.2</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.prefs)(version&gt;=1.1.0))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.prefs;version=1.1.0</require>
  </resource>
  <resource id='org.apache.sling.jcr.registration/1.0.2' symbolicname='org.apache.sling.jcr.registration' presentationname='Apache Sling JCR Repository Registration' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.jcr.registration/1.0.2/org.apache.sling.jcr.registration-1.0.2.jar' version='1.0.2'>
    <description>Bundle providing support to publish JCR repository services via RMI and/or JNDI</description>
    <size>31775</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <category id='jcr'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.jcr.registration'/>
      <p n='presentationname' v='Apache Sling JCR Repository Registration'/>
      <p n='version' t='version' v='1.0.2'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.jcr.registration'/>
      <p n='version' t='version' v='1.1.0'/>
      <p n='uses:' v='javax.jcr,org.osgi.framework,org.osgi.service.component,org.osgi.service.log'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.naming))' extend='false' multiple='false' optional='false'>Import package javax.naming</require>
    <require name='package' filter='(&amp;(package=javax.naming.spi))' extend='false' multiple='false' optional='false'>Import package javax.naming.spi</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.rmi.remote)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.rmi.remote;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.rmi.server)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.rmi.server;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.registration)(version&gt;=1.1.0)(!(version&gt;=1.2.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.registration;version="[1.1,1.2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.log)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.log;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=javax.transaction.xa))' extend='false' multiple='false' optional='true'>Import package javax.transaction.xa;resolution:=optional</require>
    <require name='ee' filter='(|(ee=J2SE-1.5))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=J2SE-1.5))</require>
  </resource>
  <resource id='org.apache.sling.jcr.resource/2.5.4' symbolicname='org.apache.sling.jcr.resource' presentationname='Apache Sling JCR Resource Resolver' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.jcr.resource/2.5.4/org.apache.sling.jcr.resource-2.5.4.jar' version='2.5.4'>
    <description>This bundle provides the JCR based ResourceResolver.</description>
    <size>134131</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.jcr.resource'/>
      <p n='presentationname' v='Apache Sling JCR Resource Resolver'/>
      <p n='version' t='version' v='2.5.4'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.jcr.resource'/>
      <p n='version' t='version' v='2.3.0'/>
      <p n='uses:' v='javax.jcr,javax.jcr.query,org.apache.sling.api.resource'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.script))' extend='false' multiple='false' optional='true'>Import package javax.script;resolution:=optional</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.api)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='true'>Import package org.apache.sling.scripting.api;resolution:=optional;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.8.0)(!(version&gt;=2.9.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.8,2.9)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.1.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi;version=2.1.0</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.oak.plugins.observation)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='true'>Import package org.apache.jackrabbit.oak.plugins.observation;resolution:=optional;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.oak.spi.commit)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='true'>Import package org.apache.jackrabbit.oak.spi.commit;resolution:=optional;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=javax.jcr)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.jcr.nodetype)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr.nodetype;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.jcr.observation)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr.observation;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.jcr.query)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr.query;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.jcr.version)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr.version;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.lang))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.lang</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.api)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.api;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.api.security.user)(version&gt;=2.4.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.api.security.user;version="[2.4,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.adapter)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.adapter;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.wrappers)(version&gt;=2.5.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.wrappers;version="[2.5,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.auth.core.spi)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.auth.core.spi;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.classloader)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.classloader;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.api)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.api;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.serviceusermapping)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.serviceusermapping;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.2.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.2,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.event)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.event;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.util.tracker)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.util.tracker;version="[1.5,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='package' filter='(&amp;(package=javax.annotation))' extend='false' multiple='false' optional='true'>Import package javax.annotation;resolution:=optional</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.jcr.resource/2.5.0' symbolicname='org.apache.sling.jcr.resource' presentationname='Apache Sling JCR Resource Resolver' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.jcr.resource/2.5.0/org.apache.sling.jcr.resource-2.5.0.jar' version='2.5.0'>
    <description>This bundle provides the JCR based ResourceResolver.</description>
    <size>126837</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.jcr.resource'/>
      <p n='presentationname' v='Apache Sling JCR Resource Resolver'/>
      <p n='version' t='version' v='2.5.0'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.jcr.resource'/>
      <p n='version' t='version' v='2.2.0'/>
      <p n='uses:' v='javax.jcr,javax.jcr.query,org.apache.sling.api.resource'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.script))' extend='false' multiple='false' optional='true'>Import package javax.script;resolution:=optional</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.api)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='true'>Import package org.apache.sling.scripting.api;resolution:=optional;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.8.0)(!(version&gt;=2.9.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.8,2.9)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.1.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi;version=2.1.0</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.oak.plugins.observation)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='true'>Import package org.apache.jackrabbit.oak.plugins.observation;resolution:=optional;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.oak.spi.commit)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='true'>Import package org.apache.jackrabbit.oak.spi.commit;resolution:=optional;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=javax.jcr)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.jcr.nodetype)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr.nodetype;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.jcr.observation)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr.observation;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.jcr.query)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr.query;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.jcr.version)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr.version;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.lang))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.lang</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.api)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.api;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.api.security.user)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.api.security.user;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.adapter)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.adapter;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.wrappers)(version&gt;=2.5.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.wrappers;version="[2.5,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.auth.core.spi)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.auth.core.spi;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.classloader)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.classloader;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.api)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.api;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.serviceusermapping)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.serviceusermapping;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.2.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.2,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.event)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.event;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.util.tracker)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.util.tracker;version="[1.5,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='package' filter='(&amp;(package=javax.annotation))' extend='false' multiple='false' optional='true'>Import package javax.annotation;resolution:=optional</require>
    <require name='ee' filter='(|(ee=J2SE-1.5))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=J2SE-1.5))</require>
  </resource>
  <resource id='org.apache.sling.jcr.resource/2.8.0' symbolicname='org.apache.sling.jcr.resource' presentationname='Apache Sling JCR Resource Resolver' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.jcr.resource/2.8.0/org.apache.sling.jcr.resource-2.8.0.jar' version='2.8.0'>
    <description>This bundle provides the JCR based ResourceResolver.</description>
    <size>151411</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.jcr.resource'/>
      <p n='presentationname' v='Apache Sling JCR Resource Resolver'/>
      <p n='version' t='version' v='2.8.0'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.jcr.resource.api'/>
      <p n='version' t='version' v='1.0.0'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.jcr.resource'/>
      <p n='version' t='version' v='2.4.0'/>
      <p n='uses:' v='javax.jcr,javax.jcr.query,org.apache.sling.api.resource'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.script))' extend='false' multiple='false' optional='true'>Import package javax.script;resolution:=optional</require>
    <require name='package' filter='(&amp;(package=javax.annotation))' extend='false' multiple='false' optional='true'>Import package javax.annotation;resolution:=optional</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.api)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='true'>Import package org.apache.sling.scripting.api;resolution:=optional;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.9.0)(!(version&gt;=2.10.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.9,2.10)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.1.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi;version=2.1.0</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.oak.plugins.observation))' extend='false' multiple='false' optional='true'>Import package org.apache.jackrabbit.oak.plugins.observation;resolution:=optional;version=0.0.0</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.oak.spi.commit))' extend='false' multiple='false' optional='true'>Import package org.apache.jackrabbit.oak.spi.commit;resolution:=optional;version=0.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.jcr.nodetype)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr.nodetype;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.jcr.observation)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr.observation;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.jcr.query)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr.query;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.jcr.version)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr.version;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.management))' extend='false' multiple='false' optional='false'>Import package javax.management</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.lang))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.lang</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.api)(version&gt;=2.4.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.api;version="[2.4,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.api.security.user)(version&gt;=2.4.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.api.security.user;version="[2.4,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource.observation)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource.observation;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource.path)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource.path;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.wrappers)(version&gt;=2.5.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.wrappers;version="[2.5,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.classloader)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.classloader;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.api)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.api;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.serviceusermapping)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.serviceusermapping;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.spi.resource.provider)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.spi.resource.provider;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.2.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.2,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.jcr.resourcesecurity/1.0.2' symbolicname='org.apache.sling.jcr.resourcesecurity' presentationname='Apache Sling JCR Resource Security' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.jcr.resourcesecurity/1.0.2/org.apache.sling.jcr.resourcesecurity-1.0.2.jar' version='1.0.2'>
    <description>This bundle provides a resource access gate to protect resources based on JCR nodes.</description>
    <size>13349</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.jcr.resourcesecurity'/>
      <p n='presentationname' v='Apache Sling JCR Resource Security'/>
      <p n='version' t='version' v='1.0.2'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.4.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.4,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.resourceaccesssecurity)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.resourceaccesssecurity;version="[1.0,2)"</require>
    <require name='ee' filter='(|(ee=J2SE-1.5))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=J2SE-1.5))</require>
  </resource>
  <resource id='org.apache.sling.jcr.webconsole/1.0.2' symbolicname='org.apache.sling.jcr.webconsole' presentationname='Apache Sling JCR WebConsole Bundle' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.jcr.webconsole/1.0.2/org.apache.sling.jcr.webconsole-1.0.2.jar' version='1.0.2'>
    <description>The JCR WebConsole bundle provides Felix WebConsole plugins.</description>
    <size>19502</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <category id='jcr'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.jcr.webconsole'/>
      <p n='presentationname' v='Apache Sling JCR WebConsole Bundle'/>
      <p n='version' t='version' v='1.0.2'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr))' extend='false' multiple='false' optional='false'>Import package javax.jcr</require>
    <require name='package' filter='(&amp;(package=javax.jcr.nodetype))' extend='false' multiple='false' optional='false'>Import package javax.jcr.nodetype</require>
    <require name='package' filter='(&amp;(package=javax.jcr.version))' extend='false' multiple='false' optional='false'>Import package javax.jcr.version</require>
    <require name='package' filter='(&amp;(package=org.apache.felix.webconsole)(version&gt;=3.0.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.felix.webconsole;version="[3.0,4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.api)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.api;version="[2.0,3)"</require>
    <require name='ee' filter='(|(ee=J2SE-1.5))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=J2SE-1.5))</require>
  </resource>
  <resource id='org.apache.sling.jcr.webconsole/1.0.0' symbolicname='org.apache.sling.jcr.webconsole' presentationname='Apache Sling JCR WebConsole Bundle' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.jcr.webconsole/1.0.0/org.apache.sling.jcr.webconsole-1.0.0.jar' version='1.0.0'>
    <description>The JCR WebConsole bundle provides Felix WebConsole plugins.</description>
    <size>15790</size>
    <documentation>http://sling.apache.org</documentation>
    <source>org/apache/sling/org.apache.sling.jcr.webconsole/1.0.0/org.apache.sling.jcr.webconsole-1.0.0-sources.jar</source>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <category id='jcr'/>
    <category id='org.apache.sling'/>
    <capability name='bundle'>
      <p n='manifestversion' v='2'/>
      <p n='presentationname' v='Apache Sling JCR WebConsole Bundle'/>
      <p n='symbolicname' v='org.apache.sling.jcr.webconsole'/>
      <p n='version' t='version' v='1.0.0'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr))' extend='false' multiple='false' optional='false'>Import package javax.jcr</require>
    <require name='package' filter='(&amp;(package=javax.jcr.nodetype))' extend='false' multiple='false' optional='false'>Import package javax.jcr.nodetype</require>
    <require name='package' filter='(&amp;(package=javax.jcr.version))' extend='false' multiple='false' optional='false'>Import package javax.jcr.version</require>
    <require name='package' filter='(&amp;(package=org.apache.felix.webconsole)(version&gt;=3.0.0))' extend='false' multiple='false' optional='false'>Import package org.apache.felix.webconsole ;version=3.0.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.api)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.api ;version=2.0.0</require>
  </resource>
  <resource id='org.apache.sling.jmx.provider/1.0.2' symbolicname='org.apache.sling.jmx.provider' presentationname='Apache Sling JMX Resource Provider' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.jmx.provider/1.0.2/org.apache.sling.jmx.provider-1.0.2.jar' version='1.0.2'>
    <description>The parent project for Apache Sling</description>
    <size>34718</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.jmx.provider'/>
      <p n='presentationname' v='Apache Sling JMX Resource Provider'/>
      <p n='version' t='version' v='1.0.2'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.management))' extend='false' multiple='false' optional='false'>Import package javax.management</require>
    <require name='package' filter='(&amp;(package=javax.management.openmbean))' extend='false' multiple='false' optional='false'>Import package javax.management.openmbean</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.5.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.5,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.wrappers)(version&gt;=2.5.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.wrappers;version="[2.5,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi;version="[2.1,3)"</require>
    <require name='ee' filter='(|(ee=J2SE-1.5))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=J2SE-1.5))</require>
  </resource>
  <resource id='org.apache.sling.commons.json/2.0.16' symbolicname='org.apache.sling.commons.json' presentationname='Apache Sling JSON Library' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.commons.json/2.0.16/org.apache.sling.commons.json-2.0.16.jar' version='2.0.16'>
    <description>Apache Sling JSON Library</description>
    <size>64850</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.commons.json'/>
      <p n='presentationname' v='Apache Sling JSON Library'/>
      <p n='version' t='version' v='2.0.16'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.commons.json.http'/>
      <p n='version' t='version' v='2.0.4'/>
      <p n='uses:' v='org.apache.sling.commons.json'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.commons.json.io'/>
      <p n='version' t='version' v='2.1.0'/>
      <p n='uses:' v='org.apache.sling.commons.json'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.commons.json.jcr'/>
      <p n='version' t='version' v='2.0.4'/>
      <p n='uses:' v='javax.jcr,org.apache.sling.commons.json,org.apache.sling.commons.json.io'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.commons.json'/>
      <p n='version' t='version' v='2.0.4'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.commons.json.sling'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='org.apache.sling.api.request,org.apache.sling.api.resource,org.apache.sling.commons.json'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.commons.json.util'/>
      <p n='version' t='version' v='2.0.4'/>
      <p n='uses:' v='org.apache.sling.commons.json'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.commons.json.xml'/>
      <p n='version' t='version' v='2.0.4'/>
      <p n='uses:' v='org.apache.sling.commons.json'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='true'>Import package javax.jcr;resolution:=optional;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.request)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='true'>Import package org.apache.sling.api.request;resolution:=optional;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='true'>Import package org.apache.sling.api.resource;resolution:=optional;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json.io)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json.io;version="[2.1,3)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.commons.json/2.0.8' symbolicname='org.apache.sling.commons.json' presentationname='Apache Sling JSON Library' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.commons.json/2.0.8/org.apache.sling.commons.json-2.0.8.jar' version='2.0.8'>
    <description>Apache Sling JSON Library</description>
    <size>61836</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.commons.json'/>
      <p n='presentationname' v='Apache Sling JSON Library'/>
      <p n='version' t='version' v='2.0.8'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.commons.json'/>
      <p n='version' t='version' v='2.0.4'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.commons.json.io'/>
      <p n='version' t='version' v='2.1.0'/>
      <p n='uses:' v='org.apache.sling.commons.json'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.commons.json.xml'/>
      <p n='version' t='version' v='2.0.4'/>
      <p n='uses:' v='org.apache.sling.commons.json'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.commons.json.util'/>
      <p n='version' t='version' v='2.0.4'/>
      <p n='uses:' v='org.apache.sling.commons.json'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.commons.json.jcr'/>
      <p n='version' t='version' v='2.0.4'/>
      <p n='uses:' v='javax.jcr,org.apache.sling.commons.json,org.apache.sling.commons.json.io'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.commons.json.http'/>
      <p n='version' t='version' v='2.0.4'/>
      <p n='uses:' v='org.apache.sling.commons.json'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.commons.json.sling'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='org.apache.sling.api.request,org.apache.sling.api.resource,org.apache.sling.commons.json'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='true'>Import package javax.jcr;resolution:=optional;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.jcr.nodetype)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='true'>Import package javax.jcr.nodetype;resolution:=optional;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.request)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='true'>Import package org.apache.sling.api.request;resolution:=optional;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='true'>Import package org.apache.sling.api.resource;resolution:=optional;version="[2.0,3)"</require>
    <require name='ee' filter='(|(ee=J2SE-1.5))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=J2SE-1.5))</require>
  </resource>
  <resource id='org.apache.sling.commons.json/2.0.12' symbolicname='org.apache.sling.commons.json' presentationname='Apache Sling JSON Library' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.commons.json-2.0.12.jar' version='2.0.12'>
    <description>Apache Sling JSON Library</description>
    <size>64879</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.commons.json'/>
      <p n='presentationname' v='Apache Sling JSON Library'/>
      <p n='version' t='version' v='2.0.12'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.commons.json.io'/>
      <p n='version' t='version' v='2.1.0'/>
      <p n='uses:' v='org.apache.sling.commons.json'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.commons.json.util'/>
      <p n='version' t='version' v='2.0.4'/>
      <p n='uses:' v='org.apache.sling.commons.json'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.commons.json'/>
      <p n='version' t='version' v='2.0.4'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.commons.json.sling'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='org.apache.sling.api.request,org.apache.sling.api.resource,org.apache.sling.commons.json'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.commons.json.xml'/>
      <p n='version' t='version' v='2.0.4'/>
      <p n='uses:' v='org.apache.sling.commons.json'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.commons.json.http'/>
      <p n='version' t='version' v='2.0.4'/>
      <p n='uses:' v='org.apache.sling.commons.json'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.commons.json.jcr'/>
      <p n='version' t='version' v='2.0.4'/>
      <p n='uses:' v='javax.jcr,org.apache.sling.commons.json,org.apache.sling.commons.json.io'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='true'>Import package javax.jcr;resolution:=optional;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.jcr.nodetype)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='true'>Import package javax.jcr.nodetype;resolution:=optional;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.request)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='true'>Import package org.apache.sling.api.request;resolution:=optional;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='true'>Import package org.apache.sling.api.resource;resolution:=optional;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json.io)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json.io;version="[2.1,3)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.commons.json/2.0.18' symbolicname='org.apache.sling.commons.json' presentationname='Apache Sling JSON Library' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.commons.json/2.0.18/org.apache.sling.commons.json-2.0.18.jar' version='2.0.18'>
    <description>Apache Sling JSON Library</description>
    <size>65654</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.commons.json'/>
      <p n='presentationname' v='Apache Sling JSON Library'/>
      <p n='version' t='version' v='2.0.18'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.commons.json.http'/>
      <p n='version' t='version' v='2.0.4'/>
      <p n='uses:' v='org.apache.sling.commons.json'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.commons.json.io'/>
      <p n='version' t='version' v='2.2.0'/>
      <p n='uses:' v='org.apache.sling.commons.json'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.commons.json.jcr'/>
      <p n='version' t='version' v='2.0.4'/>
      <p n='uses:' v='javax.jcr,org.apache.sling.commons.json,org.apache.sling.commons.json.io'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.commons.json'/>
      <p n='version' t='version' v='2.0.4'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.commons.json.sling'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='org.apache.sling.api.request,org.apache.sling.api.resource,org.apache.sling.commons.json'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.commons.json.util'/>
      <p n='version' t='version' v='2.0.4'/>
      <p n='uses:' v='org.apache.sling.commons.json'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.commons.json.xml'/>
      <p n='version' t='version' v='2.0.4'/>
      <p n='uses:' v='org.apache.sling.commons.json'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='true'>Import package javax.jcr;resolution:=optional;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.request)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='true'>Import package org.apache.sling.api.request;resolution:=optional;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='true'>Import package org.apache.sling.api.resource;resolution:=optional;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json.io)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json.io;version="[2.2,3)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.commons.json/2.0.10' symbolicname='org.apache.sling.commons.json' presentationname='Apache Sling JSON Library' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.commons.json/2.0.10/org.apache.sling.commons.json-2.0.10.jar' version='2.0.10'>
    <description>Apache Sling JSON Library</description>
    <size>61797</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.commons.json'/>
      <p n='presentationname' v='Apache Sling JSON Library'/>
      <p n='version' t='version' v='2.0.10'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.commons.json.http'/>
      <p n='version' t='version' v='2.0.4'/>
      <p n='uses:' v='org.apache.sling.commons.json'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.commons.json.io'/>
      <p n='version' t='version' v='2.1.0'/>
      <p n='uses:' v='org.apache.sling.commons.json'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.commons.json.jcr'/>
      <p n='version' t='version' v='2.0.4'/>
      <p n='uses:' v='javax.jcr,org.apache.sling.commons.json,org.apache.sling.commons.json.io'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.commons.json'/>
      <p n='version' t='version' v='2.0.4'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.commons.json.sling'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='org.apache.sling.api.request,org.apache.sling.api.resource,org.apache.sling.commons.json'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.commons.json.util'/>
      <p n='version' t='version' v='2.0.4'/>
      <p n='uses:' v='org.apache.sling.commons.json'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.commons.json.xml'/>
      <p n='version' t='version' v='2.0.4'/>
      <p n='uses:' v='org.apache.sling.commons.json'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='true'>Import package javax.jcr;resolution:=optional;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.jcr.nodetype)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='true'>Import package javax.jcr.nodetype;resolution:=optional;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.request)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='true'>Import package org.apache.sling.api.request;resolution:=optional;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='true'>Import package org.apache.sling.api.resource;resolution:=optional;version="[2.0,3)"</require>
    <require name='ee' filter='(|(ee=J2SE-1.5))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=J2SE-1.5))</require>
  </resource>
  <resource id='org.apache.sling.commons.json/2.0.4.incubator' symbolicname='org.apache.sling.commons.json' presentationname='Apache Sling JSON Library' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.commons.json/2.0.4.incubator/org.apache.sling.commons.json-2.0.4.incubator.jar' version='2.0.4.incubator'>
    <description>Apache Sling JSON Library</description>
    <size>48693</size>
    <documentation>http://incubator.apache.org/sling</documentation>
    <source>org/apache/sling/org.apache.sling.commons.json/2.0.4-incubator/org.apache.sling.commons.json-2.0.4-incubator-sources.jar</source>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='org.apache.sling'/>
    <capability name='bundle'>
      <p n='manifestversion' v='2'/>
      <p n='presentationname' v='Apache Sling JSON Library'/>
      <p n='symbolicname' v='org.apache.sling.commons.json'/>
      <p n='version' t='version' v='2.0.4.incubator'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.commons.json.http'/>
      <p n='uses:' v='org.apache.sling.commons.json'/>
      <p n='version' t='version' v='2.0.4.incubator'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.commons.json'/>
      <p n='version' t='version' v='2.0.4.incubator'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.commons.json.xml'/>
      <p n='uses:' v='org.apache.sling.commons.json'/>
      <p n='version' t='version' v='2.0.4.incubator'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.commons.json.util'/>
      <p n='uses:' v='org.apache.sling.commons.json'/>
      <p n='version' t='version' v='2.0.4.incubator'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.commons.json.jcr'/>
      <p n='uses:' v='javax.jcr,org.apache.sling.commons.json,javax.jcr.nodetype,org.apache.sling.commons.json.io'/>
      <p n='version' t='version' v='2.0.4.incubator'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.commons.json.io'/>
      <p n='uses:' v='org.apache.sling.commons.json'/>
      <p n='version' t='version' v='2.0.4.incubator'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr))' extend='false' multiple='false' optional='false'>Import package javax.jcr</require>
    <require name='package' filter='(&amp;(package=javax.jcr.nodetype))' extend='false' multiple='false' optional='false'>Import package javax.jcr.nodetype</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json)(version&gt;=2.0.4.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json ;version=2.0.4.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json.http)(version&gt;=2.0.4.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json.http ;version=2.0.4.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json.io)(version&gt;=2.0.4.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json.io ;version=2.0.4.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json.jcr)(version&gt;=2.0.4.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json.jcr ;version=2.0.4.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json.util)(version&gt;=2.0.4.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json.util ;version=2.0.4.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json.xml)(version&gt;=2.0.4.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json.xml ;version=2.0.4.incubator</require>
  </resource>
  <resource id='org.apache.sling.scripting.jsp.taglib/2.2.4' symbolicname='org.apache.sling.scripting.jsp.taglib' presentationname='Apache Sling JSP Tag Library' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.scripting.jsp.taglib/2.2.4/org.apache.sling.scripting.jsp.taglib-2.2.4.jar' version='2.2.4'>
    <description>Core Tag Library for Apache Sling JSP support</description>
    <size>437017</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.scripting.jsp.taglib'/>
      <p n='presentationname' v='Apache Sling JSP Tag Library'/>
      <p n='version' t='version' v='2.2.4'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.jsp.taglib'/>
      <p n='version' t='version' v='2.2.0'/>
      <p n='uses:' v='javax.servlet,javax.servlet.jsp,javax.servlet.jsp.tagext,org.apache.sling.api.adapter,org.apache.sling.api.resource'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.jsp.taglib.helpers'/>
      <p n='version' t='version' v='2.2.0'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.jsp.taglib.tei'/>
      <p n='version' t='version' v='2.2.0'/>
      <p n='uses:' v='javax.servlet.jsp.tagext'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.servlet.jsp)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package javax.servlet.jsp;version=2.0</require>
    <require name='package' filter='(&amp;(package=javax.servlet.jsp.tagext)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package javax.servlet.jsp.tagext;version=2.0</require>
    <require name='package' filter='(&amp;(package=javax.crypto))' extend='false' multiple='false' optional='false'>Import package javax.crypto</require>
    <require name='package' filter='(&amp;(package=javax.crypto.spec))' extend='false' multiple='false' optional='false'>Import package javax.crypto.spec</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections.iterators)(version&gt;=3.2.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections.iterators;version="[3.2,4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.fileupload))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.fileupload</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.fileupload.disk))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.fileupload.disk</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.fileupload.servlet))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.fileupload.servlet</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.fileupload.util))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.fileupload.util</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.io)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.io;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.lang)(version&gt;=2.4.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.lang;version="[2.4,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.adapter)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.adapter;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.request)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.request;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.scripting)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.scripting;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.servlets)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.servlets;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.classloader)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.classloader;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.jsp.util)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.jsp.util;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='package' filter='(&amp;(package=javax.jcr))' extend='false' multiple='false' optional='true'>Import package javax.jcr;resolution:=optional</require>
    <require name='ee' filter='(|(ee=J2SE-1.5))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=J2SE-1.5))</require>
  </resource>
  <resource id='org.apache.sling.scripting.jsp.taglib/2.0.4.incubator' symbolicname='org.apache.sling.scripting.jsp.taglib' presentationname='Apache Sling JSP Tag Library' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.scripting.jsp.taglib/2.0.4.incubator/org.apache.sling.scripting.jsp.taglib-2.0.4.incubator.jar' version='2.0.4.incubator'>
    <description>Core Tag Library for Apache Sling JSP support</description>
    <size>18622</size>
    <documentation>http://incubator.apache.org/sling</documentation>
    <source>org/apache/sling/org.apache.sling.scripting.jsp.taglib/2.0.4-incubator/org.apache.sling.scripting.jsp.taglib-2.0.4-incubator-sources.jar</source>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='org.apache.sling'/>
    <capability name='bundle'>
      <p n='manifestversion' v='2'/>
      <p n='presentationname' v='Apache Sling JSP Tag Library'/>
      <p n='symbolicname' v='org.apache.sling.scripting.jsp.taglib'/>
      <p n='version' t='version' v='2.0.4.incubator'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.jsp.taglib'/>
      <p n='uses:' v='javax.jcr,org.apache.sling.api.request,org.apache.sling.api.scripting,org.apache.sling.scripting.jsp.util,javax.servlet.jsp,org.slf4j,org.apache.sling.api.resource,javax.servlet,org.apache.sling.jcr.resource,org.apache.sling.api,javax.servlet.jsp.tagext'/>
      <p n='version' t='version' v='2.0.4.incubator'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.jsp)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package javax.servlet.jsp ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=javax.servlet.jsp.tagext)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package javax.servlet.jsp.tagext ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.0.4.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api ;version=2.0.4.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.request)(version&gt;=2.0.4.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.request ;version=2.0.4.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.0.4.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource ;version=2.0.4.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.scripting)(version&gt;=2.0.4.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.scripting ;version=2.0.4.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.resource)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.resource ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.jsp.taglib)(version&gt;=2.0.4.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.jsp.taglib ;version=2.0.4.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.jsp.util)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.jsp.util ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.slf4j))' extend='false' multiple='false' optional='false'>Import package org.slf4j</require>
  </resource>
  <resource id='org.apache.sling.scripting.jsp.taglib/2.2.2' symbolicname='org.apache.sling.scripting.jsp.taglib' presentationname='Apache Sling JSP Tag Library' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.scripting.jsp.taglib/2.2.2/org.apache.sling.scripting.jsp.taglib-2.2.2.jar' version='2.2.2'>
    <description>Core Tag Library for Apache Sling JSP support</description>
    <size>437038</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.scripting.jsp.taglib'/>
      <p n='presentationname' v='Apache Sling JSP Tag Library'/>
      <p n='version' t='version' v='2.2.2'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.jsp.taglib'/>
      <p n='version' t='version' v='2.2.0'/>
      <p n='uses:' v='javax.servlet,javax.servlet.jsp,javax.servlet.jsp.tagext,org.apache.sling.api.adapter,org.apache.sling.api.resource'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.jsp.taglib.helpers'/>
      <p n='version' t='version' v='2.2.0'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.jsp.taglib.tei'/>
      <p n='version' t='version' v='2.2.0'/>
      <p n='uses:' v='javax.servlet.jsp.tagext'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.servlet.jsp)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package javax.servlet.jsp;version=2.0</require>
    <require name='package' filter='(&amp;(package=javax.servlet.jsp.tagext)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package javax.servlet.jsp.tagext;version=2.0</require>
    <require name='package' filter='(&amp;(package=javax.crypto))' extend='false' multiple='false' optional='false'>Import package javax.crypto</require>
    <require name='package' filter='(&amp;(package=javax.crypto.spec))' extend='false' multiple='false' optional='false'>Import package javax.crypto.spec</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections.iterators)(version&gt;=3.2.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections.iterators;version="[3.2,4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.fileupload))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.fileupload</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.fileupload.disk))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.fileupload.disk</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.fileupload.servlet))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.fileupload.servlet</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.fileupload.util))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.fileupload.util</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.io)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.io;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.lang)(version&gt;=2.4.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.lang;version="[2.4,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.adapter)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.adapter;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.request)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.request;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.scripting)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.scripting;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.servlets)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.servlets;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.classloader)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.classloader;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.jsp.util)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.jsp.util;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='package' filter='(&amp;(package=javax.jcr))' extend='false' multiple='false' optional='true'>Import package javax.jcr;resolution:=optional</require>
    <require name='ee' filter='(|(ee=J2SE-1.5))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=J2SE-1.5))</require>
  </resource>
  <resource id='org.apache.sling.scripting.jsp.taglib/2.2.6' symbolicname='org.apache.sling.scripting.jsp.taglib' presentationname='Apache Sling JSP Tag Library' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.scripting.jsp.taglib/2.2.6/org.apache.sling.scripting.jsp.taglib-2.2.6.jar' version='2.2.6'>
    <description>Core Tag Library for Apache Sling JSP support</description>
    <size>439238</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.scripting.jsp.taglib'/>
      <p n='presentationname' v='Apache Sling JSP Tag Library'/>
      <p n='version' t='version' v='2.2.6'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.jsp.taglib'/>
      <p n='version' t='version' v='2.2.0'/>
      <p n='uses:' v='javax.servlet,javax.servlet.jsp,javax.servlet.jsp.tagext,org.apache.sling.api.adapter,org.apache.sling.api.resource'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.jsp.taglib.helpers'/>
      <p n='version' t='version' v='2.2.0'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.jsp.taglib.tei'/>
      <p n='version' t='version' v='2.2.0'/>
      <p n='uses:' v='javax.servlet.jsp.tagext'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.servlet.jsp)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package javax.servlet.jsp;version=2.0</require>
    <require name='package' filter='(&amp;(package=javax.servlet.jsp.tagext)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package javax.servlet.jsp.tagext;version=2.0</require>
    <require name='package' filter='(&amp;(package=javax.crypto))' extend='false' multiple='false' optional='false'>Import package javax.crypto</require>
    <require name='package' filter='(&amp;(package=javax.crypto.spec))' extend='false' multiple='false' optional='false'>Import package javax.crypto.spec</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections.iterators)(version&gt;=3.2.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections.iterators;version="[3.2,4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.fileupload))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.fileupload</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.fileupload.disk))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.fileupload.disk</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.fileupload.servlet))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.fileupload.servlet</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.fileupload.util))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.fileupload.util</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.lang)(version&gt;=2.4.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.lang;version="[2.4,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.adapter)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.adapter;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.request)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.request;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.scripting)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.scripting;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.servlets)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.servlets;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.classloader)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.classloader;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.jsp.util)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.jsp.util;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='package' filter='(&amp;(package=javax.jcr))' extend='false' multiple='false' optional='true'>Import package javax.jcr;resolution:=optional</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.scripting.jsp.taglib/2.1.2' symbolicname='org.apache.sling.scripting.jsp.taglib' presentationname='Apache Sling JSP Tag Library' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.scripting.jsp.taglib/2.1.2/org.apache.sling.scripting.jsp.taglib-2.1.2.jar' version='2.1.2'>
    <description>Core Tag Library for Apache Sling JSP support</description>
    <size>23736</size>
    <documentation>http://sling.apache.org</documentation>
    <source>org/apache/sling/org.apache.sling.scripting.jsp.taglib/2.1.2/org.apache.sling.scripting.jsp.taglib-2.1.2-sources.jar</source>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <category id='org.apache.sling'/>
    <capability name='bundle'>
      <p n='manifestversion' v='2'/>
      <p n='presentationname' v='Apache Sling JSP Tag Library'/>
      <p n='symbolicname' v='org.apache.sling.scripting.jsp.taglib'/>
      <p n='version' t='version' v='2.1.2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.jsp.taglib'/>
      <p n='uses' v='org.apache.sling.api.resource,javax.servlet,org.apache.sling.api.request,org.apache.sling.scripting.jsp.util,org.apache.sling.api,javax.servlet.jsp.tagext,org.slf4j,javax.servlet.jsp,org.apache.sling.api.scripting,org.apache.sling.api.servlets'/>
      <p n='version' t='version' v='2.1.0'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr))' extend='false' multiple='false' optional='true'>Import package javax.jcr</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.jsp)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package javax.servlet.jsp ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=javax.servlet.jsp.tagext)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package javax.servlet.jsp.tagext ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.1.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api ;version=2.1.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.request)(version&gt;=2.1.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.request ;version=2.1.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.1.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource ;version=2.1.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.scripting)(version&gt;=2.1.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.scripting ;version=2.1.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.servlets)(version&gt;=2.1.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.servlets ;version=2.1.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.jsp.taglib)(version&gt;=2.1.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.jsp.taglib ;version=2.1.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.jsp.util)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.jsp.util ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0))' extend='false' multiple='false' optional='false'>Import package org.slf4j ;version=1.5.0</require>
  </resource>
  <resource id='org.apache.sling.junit.core/1.0.16' symbolicname='org.apache.sling.junit.core' presentationname='Apache Sling JUnit Core' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.junit.core/1.0.16/org.apache.sling.junit.core-1.0.16.jar' version='1.0.16'>
    <description>Runs JUnit tests in an OSGi framework and provides the JUnit libraries</description>
    <size>456017</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.junit.core'/>
      <p n='presentationname' v='Apache Sling JUnit Core'/>
      <p n='version' t='version' v='1.0.16'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.junit'/>
      <p n='version' t='version' v='1.1.0'/>
      <p n='uses:' v='javax.servlet.http,org.junit.runner.notification,org.osgi.framework'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.junit.rules'/>
      <p n='version' t='version' v='1.3.0'/>
      <p n='uses:' v='org.junit.rules,org.junit.runner,org.junit.runners.model'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.junit.annotations'/>
      <p n='version' t='version' v='1.0.8'/>
      <p n='uses:' v='org.junit.runners,org.junit.runners.model'/>
    </capability>
    <capability name='package'>
      <p n='package' v='junit.framework'/>
      <p n='version' t='version' v='4.12.0'/>
      <p n='uses:' v='org.junit.runner,org.junit.runner.manipulation,org.junit.runner.notification'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.junit'/>
      <p n='version' t='version' v='4.12.0'/>
      <p n='uses:' v='org.hamcrest,org.junit.runners'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.junit.matchers'/>
      <p n='version' t='version' v='4.12.0'/>
      <p n='uses:' v='org.hamcrest,org.hamcrest.core'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.junit.rules'/>
      <p n='version' t='version' v='4.12.0'/>
      <p n='uses:' v='org.hamcrest,org.junit,org.junit.runner,org.junit.runners.model'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.junit.runner'/>
      <p n='version' t='version' v='4.12.0'/>
      <p n='uses:' v='junit.framework,org.junit.runner.manipulation,org.junit.runner.notification,org.junit.runners.model'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.junit.runner.manipulation'/>
      <p n='version' t='version' v='4.12.0'/>
      <p n='uses:' v='org.junit.runner'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.junit.runner.notification'/>
      <p n='version' t='version' v='4.12.0'/>
      <p n='uses:' v='org.junit.runner'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.junit.runners'/>
      <p n='version' t='version' v='4.12.0'/>
      <p n='uses:' v='org.junit.rules,org.junit.runner,org.junit.runner.manipulation,org.junit.runner.notification,org.junit.runners.model,org.junit.runners.parameterized'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.junit.runners.model'/>
      <p n='version' t='version' v='4.12.0'/>
      <p n='uses:' v='org.junit.runner'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.junit.runners.parameterized'/>
      <p n='version' t='version' v='4.12.0'/>
      <p n='uses:' v='org.junit.runner,org.junit.runner.notification,org.junit.runners,org.junit.runners.model'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.hamcrest'/>
      <p n='version' t='version' v='1.3.0'/>
      <p n='uses:' v='javax.xml.namespace,org.hamcrest.collection,org.hamcrest.core,org.hamcrest.internal,org.w3c.dom'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.hamcrest.beans'/>
      <p n='version' t='version' v='1.3.0'/>
      <p n='uses:' v='org.hamcrest'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.hamcrest.collection'/>
      <p n='version' t='version' v='1.3.0'/>
      <p n='uses:' v='org.hamcrest'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.hamcrest.core'/>
      <p n='version' t='version' v='1.3.0'/>
      <p n='uses:' v='org.hamcrest'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.hamcrest.internal'/>
      <p n='version' t='version' v='1.3.0'/>
      <p n='uses:' v='org.hamcrest'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.hamcrest.number'/>
      <p n='version' t='version' v='1.3.0'/>
      <p n='uses:' v='org.hamcrest'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.hamcrest.object'/>
      <p n='version' t='version' v='1.3.0'/>
      <p n='uses:' v='org.hamcrest'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.hamcrest.text'/>
      <p n='version' t='version' v='1.3.0'/>
      <p n='uses:' v='org.hamcrest'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.hamcrest.xml'/>
      <p n='version' t='version' v='1.3.0'/>
      <p n='uses:' v='javax.xml.namespace,org.hamcrest,org.w3c.dom'/>
    </capability>
    <require name='package' filter='(&amp;(package=ch.qos.logback.classic)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='true'>Import package ch.qos.logback.classic;resolution:=optional;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=ch.qos.logback.classic.spi)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='true'>Import package ch.qos.logback.classic.spi;resolution:=optional;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=ch.qos.logback.core)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='true'>Import package ch.qos.logback.core;resolution:=optional;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=ch.qos.logback.core.read)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='true'>Import package ch.qos.logback.core.read;resolution:=optional;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=javax.management))' extend='false' multiple='false' optional='false'>Import package javax.management</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=javax.xml.namespace))' extend='false' multiple='false' optional='false'>Import package javax.xml.namespace</require>
    <require name='package' filter='(&amp;(package=javax.xml.parsers))' extend='false' multiple='false' optional='false'>Import package javax.xml.parsers</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform.dom))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform.dom</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform.stream))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform.stream</require>
    <require name='package' filter='(&amp;(package=javax.xml.xpath))' extend='false' multiple='false' optional='false'>Import package javax.xml.xpath</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json.io)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json.io;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.junit)(version&gt;=1.1.0)(!(version&gt;=1.2.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.junit;version="[1.1,1.2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.junit.annotations)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.junit.annotations;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.hamcrest)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.hamcrest;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.hamcrest.beans)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.hamcrest.beans;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.hamcrest.collection)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.hamcrest.collection;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.hamcrest.core)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.hamcrest.core;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.hamcrest.internal)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.hamcrest.internal;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.hamcrest.number)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.hamcrest.number;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.hamcrest.object)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.hamcrest.object;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.hamcrest.text)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.hamcrest.text;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.hamcrest.xml)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.hamcrest.xml;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.junit.runner.manipulation)(version&gt;=4.12.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.junit.runner.manipulation;version="[4.12,5)"</require>
    <require name='package' filter='(&amp;(package=org.junit.runner.notification)(version&gt;=4.12.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.junit.runner.notification;version="[4.12,5)"</require>
    <require name='package' filter='(&amp;(package=org.junit.runners.parameterized)(version&gt;=4.12.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.junit.runners.parameterized;version="[4.12,5)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.http)(version&gt;=1.2.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.http;version="[1.2,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.util.tracker)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.util.tracker;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.junit.core/1.0.6' symbolicname='org.apache.sling.junit.core' presentationname='Apache Sling JUnit Core' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.junit.core/1.0.6/org.apache.sling.junit.core-1.0.6.jar' version='1.0.6'>
    <description>Runs JUnit tests in an OSGi framework and provides the JUnit libraries</description>
    <size>257580</size>
    <documentation>http://sling.apache.org</documentation>
    <source>org/apache/sling/org.apache.sling.junit.core/1.0.6/org.apache.sling.junit.core-1.0.6-sources.jar</source>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <category id='org.apache.sling'/>
    <capability name='bundle'>
      <p n='manifestversion' v='2'/>
      <p n='presentationname' v='Apache Sling JUnit Core'/>
      <p n='symbolicname' v='org.apache.sling.junit.core'/>
      <p n='version' t='version' v='1.0.6'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.junit'/>
      <p n='uses' v='org.osgi.framework,org.junit.runner.notification,javax.servlet.http'/>
      <p n='version' t='version' v='1.0.6'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.junit.annotations'/>
      <p n='uses' v='org.junit.runners,org.junit.runners.model,org.osgi.framework,org.apache.sling.junit,org.slf4j'/>
      <p n='version' t='version' v='1.0.6'/>
    </capability>
    <capability name='package'>
      <p n='package' v='junit.framework'/>
      <p n='uses' v='org.junit.runner.manipulation,org.junit.runner,org.junit.runner.notification,org.junit'/>
      <p n='version' t='version' v='4.8.2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.junit'/>
      <p n='version' t='version' v='4.8.2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.junit.matchers'/>
      <p n='version' t='version' v='4.8.2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.junit.rules'/>
      <p n='uses' v='org.junit,org.junit.runners.model,org.junit.matchers'/>
      <p n='version' t='version' v='4.8.2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.junit.runner.manipulation'/>
      <p n='uses' v='org.junit.runner'/>
      <p n='version' t='version' v='4.8.2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.junit.runner'/>
      <p n='uses' v='org.junit.runners.model,org.junit.runners,junit.framework,org.junit.runner.notification,org.junit.runner.manipulation'/>
      <p n='version' t='version' v='4.8.2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.junit.runner.notification'/>
      <p n='uses' v='org.junit.runner'/>
      <p n='version' t='version' v='4.8.2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.junit.runners'/>
      <p n='uses' v='org.junit.runners.model,org.junit.runner.notification,org.junit,org.junit.rules,org.junit.runner,org.junit.runner.manipulation'/>
      <p n='version' t='version' v='4.8.2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.junit.runners.model'/>
      <p n='uses' v='org.junit.runner,org.junit'/>
      <p n='version' t='version' v='4.8.2'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=javax.xml.parsers))' extend='false' multiple='false' optional='false'>Import package javax.xml.parsers</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform.dom))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform.dom</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform.stream))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform.stream</require>
    <require name='package' filter='(&amp;(package=junit.framework)(version&gt;=4.8.0))' extend='false' multiple='false' optional='false'>Import package junit.framework ;version=4.8.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json.io)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json.io ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.junit)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.junit ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.junit.annotations)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.junit.annotations ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=org.junit)(version&gt;=4.8.0))' extend='false' multiple='false' optional='false'>Import package org.junit ;version=4.8.0</require>
    <require name='package' filter='(&amp;(package=org.junit.matchers)(version&gt;=4.8.0))' extend='false' multiple='false' optional='false'>Import package org.junit.matchers ;version=4.8.0</require>
    <require name='package' filter='(&amp;(package=org.junit.rules)(version&gt;=4.8.0))' extend='false' multiple='false' optional='false'>Import package org.junit.rules ;version=4.8.0</require>
    <require name='package' filter='(&amp;(package=org.junit.runner)(version&gt;=4.8.0))' extend='false' multiple='false' optional='false'>Import package org.junit.runner ;version=4.8.0</require>
    <require name='package' filter='(&amp;(package=org.junit.runner.manipulation)(version&gt;=4.8.0))' extend='false' multiple='false' optional='false'>Import package org.junit.runner.manipulation ;version=4.8.0</require>
    <require name='package' filter='(&amp;(package=org.junit.runner.notification)(version&gt;=4.8.0))' extend='false' multiple='false' optional='false'>Import package org.junit.runner.notification ;version=4.8.0</require>
    <require name='package' filter='(&amp;(package=org.junit.runners)(version&gt;=4.8.0))' extend='false' multiple='false' optional='false'>Import package org.junit.runners ;version=4.8.0</require>
    <require name='package' filter='(&amp;(package=org.junit.runners.model)(version&gt;=4.8.0))' extend='false' multiple='false' optional='false'>Import package org.junit.runners.model ;version=4.8.0</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework ;version=1.4.0</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.http)(version&gt;=1.2.0))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.http ;version=1.2.0</require>
    <require name='package' filter='(&amp;(package=org.osgi.util.tracker)(version&gt;=1.3.0))' extend='false' multiple='false' optional='false'>Import package org.osgi.util.tracker ;version=1.3.0</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0))' extend='false' multiple='false' optional='false'>Import package org.slf4j ;version=1.5.0</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom</require>
  </resource>
  <resource id='org.apache.sling.junit.core/1.0.10' symbolicname='org.apache.sling.junit.core' presentationname='Apache Sling JUnit Core' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.junit.core/1.0.10/org.apache.sling.junit.core-1.0.10.jar' version='1.0.10'>
    <description>Runs JUnit tests in an OSGi framework and provides the JUnit libraries</description>
    <size>323430</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.junit.core'/>
      <p n='presentationname' v='Apache Sling JUnit Core'/>
      <p n='version' t='version' v='1.0.10'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.junit'/>
      <p n='version' t='version' v='1.1.0'/>
      <p n='uses:' v='javax.servlet.http,org.junit.runner.notification,org.osgi.framework'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.junit.rules'/>
      <p n='version' t='version' v='1.0.10'/>
      <p n='uses:' v='org.junit.rules,org.junit.runner,org.junit.runners.model'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.junit.annotations'/>
      <p n='version' t='version' v='1.0.8'/>
      <p n='uses:' v='org.junit.runners,org.junit.runners.model'/>
    </capability>
    <capability name='package'>
      <p n='package' v='junit.framework'/>
      <p n='version' t='version' v='4.11.0'/>
      <p n='uses:' v='org.junit.runner,org.junit.runner.manipulation,org.junit.runner.notification'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.junit'/>
      <p n='version' t='version' v='4.11.0'/>
      <p n='uses:' v='org.hamcrest,org.junit.runners'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.junit.matchers'/>
      <p n='version' t='version' v='4.11.0'/>
      <p n='uses:' v='org.hamcrest,org.hamcrest.core'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.junit.rules'/>
      <p n='version' t='version' v='4.11.0'/>
      <p n='uses:' v='org.hamcrest,org.junit.runner,org.junit.runners.model'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.junit.runner'/>
      <p n='version' t='version' v='4.11.0'/>
      <p n='uses:' v='junit.framework,org.junit.runner.manipulation,org.junit.runner.notification,org.junit.runners.model'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.junit.runner.manipulation'/>
      <p n='version' t='version' v='4.11.0'/>
      <p n='uses:' v='org.junit.runner'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.junit.runner.notification'/>
      <p n='version' t='version' v='4.11.0'/>
      <p n='uses:' v='org.junit.runner'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.junit.runners'/>
      <p n='version' t='version' v='4.11.0'/>
      <p n='uses:' v='org.junit.rules,org.junit.runner,org.junit.runner.manipulation,org.junit.runner.notification,org.junit.runners.model'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.junit.runners.model'/>
      <p n='version' t='version' v='4.11.0'/>
      <p n='uses:' v='org.junit.runner'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.hamcrest'/>
      <p n='version' t='version' v='1.3.0'/>
      <p n='uses:' v='org.hamcrest.core,org.hamcrest.internal'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.hamcrest.core'/>
      <p n='version' t='version' v='1.3.0'/>
      <p n='uses:' v='org.hamcrest'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.hamcrest.internal'/>
      <p n='version' t='version' v='1.3.0'/>
      <p n='uses:' v='org.hamcrest'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.management))' extend='false' multiple='false' optional='false'>Import package javax.management</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=javax.xml.parsers))' extend='false' multiple='false' optional='false'>Import package javax.xml.parsers</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform.dom))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform.dom</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform.stream))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform.stream</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json.io)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json.io;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.junit)(version&gt;=1.1.0)(!(version&gt;=1.2.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.junit;version="[1.1,1.2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.junit.annotations)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.junit.annotations;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.hamcrest)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.hamcrest;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.junit.runner.manipulation)(version&gt;=4.11.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.junit.runner.manipulation;version="[4.11,5)"</require>
    <require name='package' filter='(&amp;(package=org.junit.runner.notification)(version&gt;=4.11.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.junit.runner.notification;version="[4.11,5)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.http)(version&gt;=1.2.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.http;version="[1.2,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.util.tracker)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.util.tracker;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom</require>
    <require name='ee' filter='(|(ee=J2SE-1.5))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=J2SE-1.5))</require>
  </resource>
  <resource id='org.apache.sling.junit.core/1.0.18' symbolicname='org.apache.sling.junit.core' presentationname='Apache Sling JUnit Core' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.junit.core/1.0.18/org.apache.sling.junit.core-1.0.18.jar' version='1.0.18'>
    <description>Runs JUnit tests in an OSGi framework and provides the JUnit libraries</description>
    <size>456658</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.junit.core'/>
      <p n='presentationname' v='Apache Sling JUnit Core'/>
      <p n='version' t='version' v='1.0.18'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.junit'/>
      <p n='version' t='version' v='1.1.0'/>
      <p n='uses:' v='javax.servlet.http,org.junit.runner.notification,org.osgi.framework'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.junit.rules'/>
      <p n='version' t='version' v='1.3.0'/>
      <p n='uses:' v='org.junit.rules,org.junit.runner,org.junit.runners.model'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.junit.annotations'/>
      <p n='version' t='version' v='1.0.8'/>
      <p n='uses:' v='org.junit.runners,org.junit.runners.model'/>
    </capability>
    <capability name='package'>
      <p n='package' v='junit.framework'/>
      <p n='version' t='version' v='4.12.0'/>
      <p n='uses:' v='org.junit.runner,org.junit.runner.manipulation,org.junit.runner.notification'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.junit'/>
      <p n='version' t='version' v='4.12.0'/>
      <p n='uses:' v='org.hamcrest,org.junit.runners'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.junit.matchers'/>
      <p n='version' t='version' v='4.12.0'/>
      <p n='uses:' v='org.hamcrest,org.hamcrest.core'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.junit.rules'/>
      <p n='version' t='version' v='4.12.0'/>
      <p n='uses:' v='org.hamcrest,org.junit,org.junit.runner,org.junit.runners.model'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.junit.runner'/>
      <p n='version' t='version' v='4.12.0'/>
      <p n='uses:' v='junit.framework,org.junit.runner.manipulation,org.junit.runner.notification,org.junit.runners.model'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.junit.runner.manipulation'/>
      <p n='version' t='version' v='4.12.0'/>
      <p n='uses:' v='org.junit.runner'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.junit.runner.notification'/>
      <p n='version' t='version' v='4.12.0'/>
      <p n='uses:' v='org.junit.runner'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.junit.runners'/>
      <p n='version' t='version' v='4.12.0'/>
      <p n='uses:' v='org.junit.rules,org.junit.runner,org.junit.runner.manipulation,org.junit.runner.notification,org.junit.runners.model,org.junit.runners.parameterized'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.junit.runners.model'/>
      <p n='version' t='version' v='4.12.0'/>
      <p n='uses:' v='org.junit.runner'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.junit.runners.parameterized'/>
      <p n='version' t='version' v='4.12.0'/>
      <p n='uses:' v='org.junit.runner,org.junit.runner.notification,org.junit.runners,org.junit.runners.model'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.hamcrest'/>
      <p n='version' t='version' v='1.3.0'/>
      <p n='uses:' v='javax.xml.namespace,org.hamcrest.collection,org.hamcrest.core,org.hamcrest.internal,org.w3c.dom'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.hamcrest.beans'/>
      <p n='version' t='version' v='1.3.0'/>
      <p n='uses:' v='org.hamcrest'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.hamcrest.collection'/>
      <p n='version' t='version' v='1.3.0'/>
      <p n='uses:' v='org.hamcrest'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.hamcrest.core'/>
      <p n='version' t='version' v='1.3.0'/>
      <p n='uses:' v='org.hamcrest'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.hamcrest.internal'/>
      <p n='version' t='version' v='1.3.0'/>
      <p n='uses:' v='org.hamcrest'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.hamcrest.number'/>
      <p n='version' t='version' v='1.3.0'/>
      <p n='uses:' v='org.hamcrest'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.hamcrest.object'/>
      <p n='version' t='version' v='1.3.0'/>
      <p n='uses:' v='org.hamcrest'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.hamcrest.text'/>
      <p n='version' t='version' v='1.3.0'/>
      <p n='uses:' v='org.hamcrest'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.hamcrest.xml'/>
      <p n='version' t='version' v='1.3.0'/>
      <p n='uses:' v='javax.xml.namespace,org.hamcrest,org.w3c.dom'/>
    </capability>
    <require name='package' filter='(&amp;(package=ch.qos.logback.classic)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='true'>Import package ch.qos.logback.classic;resolution:=optional;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=ch.qos.logback.classic.spi)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='true'>Import package ch.qos.logback.classic.spi;resolution:=optional;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=ch.qos.logback.core)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='true'>Import package ch.qos.logback.core;resolution:=optional;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=ch.qos.logback.core.read)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='true'>Import package ch.qos.logback.core.read;resolution:=optional;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=javax.management))' extend='false' multiple='false' optional='false'>Import package javax.management</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=javax.xml.namespace))' extend='false' multiple='false' optional='false'>Import package javax.xml.namespace</require>
    <require name='package' filter='(&amp;(package=javax.xml.parsers))' extend='false' multiple='false' optional='false'>Import package javax.xml.parsers</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform.dom))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform.dom</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform.stream))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform.stream</require>
    <require name='package' filter='(&amp;(package=javax.xml.xpath))' extend='false' multiple='false' optional='false'>Import package javax.xml.xpath</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json.io)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json.io;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.junit)(version&gt;=1.1.0)(!(version&gt;=1.2.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.junit;version="[1.1,1.2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.junit.annotations)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.junit.annotations;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.hamcrest)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.hamcrest;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.hamcrest.beans)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.hamcrest.beans;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.hamcrest.collection)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.hamcrest.collection;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.hamcrest.core)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.hamcrest.core;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.hamcrest.internal)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.hamcrest.internal;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.hamcrest.number)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.hamcrest.number;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.hamcrest.object)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.hamcrest.object;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.hamcrest.text)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.hamcrest.text;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.hamcrest.xml)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.hamcrest.xml;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.junit.runner.manipulation)(version&gt;=4.12.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.junit.runner.manipulation;version="[4.12,5)"</require>
    <require name='package' filter='(&amp;(package=org.junit.runner.notification)(version&gt;=4.12.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.junit.runner.notification;version="[4.12,5)"</require>
    <require name='package' filter='(&amp;(package=org.junit.runners.parameterized)(version&gt;=4.12.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.junit.runners.parameterized;version="[4.12,5)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.http)(version&gt;=1.2.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.http;version="[1.2,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.util.tracker)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.util.tracker;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.junit.healthcheck/1.0.6' symbolicname='org.apache.sling.junit.healthcheck' presentationname='Apache Sling JUnit Health Checks' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.junit.healthcheck/1.0.6/org.apache.sling.junit.healthcheck-1.0.6.jar' version='1.0.6'>
    <description>Sling Health Check services that run JUnit tests</description>
    <size>16680</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.junit.healthcheck'/>
      <p n='presentationname' v='Apache Sling JUnit Health Checks'/>
      <p n='version' t='version' v='1.0.6'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.hc.api)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.hc.api;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.hc.util)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.hc.util;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.junit)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.junit;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.junit.runner)(version&gt;=4.8.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.junit.runner;version="[4.8,5)"</require>
    <require name='package' filter='(&amp;(package=org.junit.runner.notification)(version&gt;=4.8.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.junit.runner.notification;version="[4.8,5)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.testing.tools.http))' extend='false' multiple='false' optional='true'>Import package org.apache.sling.testing.tools.http;resolution:=optional</require>
    <require name='ee' filter='(|(ee=J2SE-1.5))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=J2SE-1.5))</require>
  </resource>
  <resource id='org.apache.sling.junit.remote/1.0.6' symbolicname='org.apache.sling.junit.remote' presentationname='Apache Sling JUnit Remote Tests Runners' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.junit.remote/1.0.6/org.apache.sling.junit.remote-1.0.6.jar' version='1.0.6'>
    <description>Utilities to run server-side JUnit tests remotely</description>
    <size>25330</size>
    <documentation>http://sling.apache.org</documentation>
    <source>org/apache/sling/org.apache.sling.junit.remote/1.0.6/org.apache.sling.junit.remote-1.0.6-sources.jar</source>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <category id='org.apache.sling'/>
    <capability name='bundle'>
      <p n='manifestversion' v='2'/>
      <p n='presentationname' v='Apache Sling JUnit Remote Tests Runners'/>
      <p n='symbolicname' v='org.apache.sling.junit.remote'/>
      <p n='version' t='version' v='1.0.6'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.junit.remote.exported'/>
      <p n='uses' v='org.apache.sling.testing.tools.http,org.slf4j,org.apache.sling.junit.remote.ide,org.junit'/>
      <p n='version' t='version' v='0.0.0'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.junit.remote.ide'/>
      <p n='uses' v='org.junit.runner,org.junit.runner.notification,javax.servlet,org.apache.sling.junit,org.slf4j,javax.servlet.http,org.junit.runners.model,org.junit.rules,org.apache.sling.testing.tools.http,org.apache.http'/>
      <p n='version' t='version' v='0.0.0'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.http))' extend='false' multiple='false' optional='true'>Import package org.apache.http</require>
    <require name='package' filter='(&amp;(package=org.apache.http.client))' extend='false' multiple='false' optional='true'>Import package org.apache.http.client</require>
    <require name='package' filter='(&amp;(package=org.apache.http.impl.client))' extend='false' multiple='false' optional='true'>Import package org.apache.http.impl.client</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.junit)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.junit ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.junit.remote.exported))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.junit.remote.exported</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.junit.remote.ide))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.junit.remote.ide</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.testing.tools.http))' extend='false' multiple='false' optional='true'>Import package org.apache.sling.testing.tools.http</require>
    <require name='package' filter='(&amp;(package=org.junit)(version&gt;=4.8.0))' extend='false' multiple='false' optional='false'>Import package org.junit ;version=4.8.0</require>
    <require name='package' filter='(&amp;(package=org.junit.internal))' extend='false' multiple='false' optional='true'>Import package org.junit.internal</require>
    <require name='package' filter='(&amp;(package=org.junit.internal.runners.model))' extend='false' multiple='false' optional='true'>Import package org.junit.internal.runners.model</require>
    <require name='package' filter='(&amp;(package=org.junit.rules)(version&gt;=4.8.0))' extend='false' multiple='false' optional='false'>Import package org.junit.rules ;version=4.8.0</require>
    <require name='package' filter='(&amp;(package=org.junit.runner)(version&gt;=4.8.0))' extend='false' multiple='false' optional='false'>Import package org.junit.runner ;version=4.8.0</require>
    <require name='package' filter='(&amp;(package=org.junit.runner.notification)(version&gt;=4.8.0))' extend='false' multiple='false' optional='false'>Import package org.junit.runner.notification ;version=4.8.0</require>
    <require name='package' filter='(&amp;(package=org.junit.runners)(version&gt;=4.8.0))' extend='false' multiple='false' optional='false'>Import package org.junit.runners ;version=4.8.0</require>
    <require name='package' filter='(&amp;(package=org.junit.runners.model)(version&gt;=4.8.0))' extend='false' multiple='false' optional='false'>Import package org.junit.runners.model ;version=4.8.0</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0))' extend='false' multiple='false' optional='false'>Import package org.slf4j ;version=1.5.0</require>
  </resource>
  <resource id='org.apache.sling.junit.remote/1.0.10' symbolicname='org.apache.sling.junit.remote' presentationname='Apache Sling JUnit Remote Tests Runners' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.junit.remote/1.0.10/org.apache.sling.junit.remote-1.0.10.jar' version='1.0.10'>
    <description>Utilities to run server-side JUnit tests remotely</description>
    <size>27130</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.junit.remote'/>
      <p n='presentationname' v='Apache Sling JUnit Remote Tests Runners'/>
      <p n='version' t='version' v='1.0.10'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.junit.remote.exported'/>
      <p n='version' t='version' v='1.0.8'/>
      <p n='uses:' v='org.apache.sling.junit.remote.ide,org.junit'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.junit.remote.httpclient'/>
      <p n='version' t='version' v='1.0.10'/>
      <p n='uses:' v='org.apache.http.client,org.apache.sling.testing.tools.http'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.junit.remote.ide'/>
      <p n='version' t='version' v='1.1.0'/>
      <p n='uses:' v='javax.servlet.http,org.apache.sling.junit,org.apache.sling.testing.tools.http,org.junit.rules,org.junit.runner,org.junit.runner.notification,org.junit.runners.model'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.junit.remote.testrunner'/>
      <p n='version' t='version' v='1.0.10'/>
      <p n='uses:' v='org.junit.runner,org.junit.runner.notification,org.junit.runners,org.junit.runners.model'/>
    </capability>
    <require name='package' filter='(&amp;(package=org.apache.http))' extend='false' multiple='false' optional='true'>Import package org.apache.http;resolution:=optional</require>
    <require name='package' filter='(&amp;(package=org.apache.http.client))' extend='false' multiple='false' optional='true'>Import package org.apache.http.client;resolution:=optional</require>
    <require name='package' filter='(&amp;(package=org.apache.http.client.entity))' extend='false' multiple='false' optional='true'>Import package org.apache.http.client.entity;resolution:=optional</require>
    <require name='package' filter='(&amp;(package=org.apache.http.impl.client))' extend='false' multiple='false' optional='true'>Import package org.apache.http.impl.client;resolution:=optional</require>
    <require name='package' filter='(&amp;(package=org.apache.http.message))' extend='false' multiple='false' optional='true'>Import package org.apache.http.message;resolution:=optional</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.testing.tools.http)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='true'>Import package org.apache.sling.testing.tools.http;resolution:=optional;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.junit.internal))' extend='false' multiple='false' optional='true'>Import package org.junit.internal;resolution:=optional</require>
    <require name='package' filter='(&amp;(package=org.junit.internal.runners.model))' extend='false' multiple='false' optional='true'>Import package org.junit.internal.runners.model;resolution:=optional</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.junit))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.junit</require>
    <require name='package' filter='(&amp;(package=org.junit)(version&gt;=4.11.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.junit;version="[4.11,5)"</require>
    <require name='package' filter='(&amp;(package=org.junit.rules)(version&gt;=4.11.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.junit.rules;version="[4.11,5)"</require>
    <require name='package' filter='(&amp;(package=org.junit.runner)(version&gt;=4.11.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.junit.runner;version="[4.11,5)"</require>
    <require name='package' filter='(&amp;(package=org.junit.runner.notification)(version&gt;=4.11.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.junit.runner.notification;version="[4.11,5)"</require>
    <require name='package' filter='(&amp;(package=org.junit.runners)(version&gt;=4.11.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.junit.runners;version="[4.11,5)"</require>
    <require name='package' filter='(&amp;(package=org.junit.runners.model)(version&gt;=4.11.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.junit.runners.model;version="[4.11,5)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.testing.tools.sling)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='true'>Import package org.apache.sling.testing.tools.sling;resolution:=optional;version="[1.0,2)"</require>
    <require name='ee' filter='(|(ee=J2SE-1.5))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=J2SE-1.5))</require>
  </resource>
  <resource id='org.apache.sling.junit.scriptable/1.0.10' symbolicname='org.apache.sling.junit.scriptable' presentationname='Apache Sling JUnit Scriptable Tests Provider' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.junit.scriptable/1.0.10/org.apache.sling.junit.scriptable-1.0.10.jar' version='1.0.10'>
    <description>Registers Sling test resources with the JUnit core         so that they can be run as tests.</description>
    <size>23939</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.junit.scriptable'/>
      <p n='presentationname' v='Apache Sling JUnit Scriptable Tests Provider'/>
      <p n='version' t='version' v='1.0.10'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.junit.scriptable'/>
      <p n='version' t='version' v='1.0.10'/>
      <p n='uses:' v='javax.jcr,javax.servlet,javax.servlet.http,org.apache.sling.engine,org.apache.sling.jcr.api,org.apache.sling.jcr.resource,org.apache.sling.junit,org.junit,org.junit.runner,org.junit.runners,org.osgi.service.component'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr))' extend='false' multiple='false' optional='false'>Import package javax.jcr</require>
    <require name='package' filter='(&amp;(package=javax.jcr.observation))' extend='false' multiple='false' optional='false'>Import package javax.jcr.observation</require>
    <require name='package' filter='(&amp;(package=javax.jcr.query))' extend='false' multiple='false' optional='false'>Import package javax.jcr.query</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.engine)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.engine;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.api)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.api;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.resource)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.resource;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.junit))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.junit</require>
    <require name='package' filter='(&amp;(package=org.junit)(version&gt;=4.8.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.junit;version="[4.8,5)"</require>
    <require name='package' filter='(&amp;(package=org.junit.runner)(version&gt;=4.8.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.junit.runner;version="[4.8,5)"</require>
    <require name='package' filter='(&amp;(package=org.junit.runners)(version&gt;=4.8.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.junit.runners;version="[4.8,5)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=J2SE-1.5))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=J2SE-1.5))</require>
  </resource>
  <resource id='org.apache.sling.junit.scriptable/1.0.6' symbolicname='org.apache.sling.junit.scriptable' presentationname='Apache Sling JUnit Scriptable Tests Provider' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.junit.scriptable/1.0.6/org.apache.sling.junit.scriptable-1.0.6.jar' version='1.0.6'>
    <description>Registers Sling test resources with the JUnit core         so that they can be run as tests.</description>
    <size>24192</size>
    <documentation>http://sling.apache.org</documentation>
    <source>org/apache/sling/org.apache.sling.junit.scriptable/1.0.6/org.apache.sling.junit.scriptable-1.0.6-sources.jar</source>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <category id='org.apache.sling'/>
    <capability name='bundle'>
      <p n='manifestversion' v='2'/>
      <p n='presentationname' v='Apache Sling JUnit Scriptable Tests Provider'/>
      <p n='symbolicname' v='org.apache.sling.junit.scriptable'/>
      <p n='version' t='version' v='1.0.6'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.junit.scriptable'/>
      <p n='uses' v='org.junit,javax.servlet,javax.servlet.http,javax.jcr.observation,org.slf4j,org.apache.sling.engine,org.apache.sling.api.resource,javax.jcr,org.apache.sling.jcr.api,org.osgi.service.component,javax.jcr.query,org.apache.sling.jcr.resource,org.apache.sling.junit,org.junit.runner,org.junit.runners'/>
      <p n='version' t='version' v='0.0.0'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.observation)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.observation ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.query)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.query ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.engine)(version&gt;=2.1.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.engine ;version=2.1.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.api)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.api ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.resource)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.resource ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.junit)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.junit ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.junit.scriptable))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.junit.scriptable</require>
    <require name='package' filter='(&amp;(package=org.junit)(version&gt;=4.8.0))' extend='false' multiple='false' optional='false'>Import package org.junit ;version=4.8.0</require>
    <require name='package' filter='(&amp;(package=org.junit.runner)(version&gt;=4.8.0))' extend='false' multiple='false' optional='false'>Import package org.junit.runner ;version=4.8.0</require>
    <require name='package' filter='(&amp;(package=org.junit.runners)(version&gt;=4.8.0))' extend='false' multiple='false' optional='false'>Import package org.junit.runners ;version=4.8.0</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0))' extend='false' multiple='false' optional='false'>Import package org.slf4j ;version=1.5.0</require>
  </resource>
  <resource id='org.apache.sling.launchpad.api/1.2.0' symbolicname='org.apache.sling.launchpad.api' presentationname='Apache Sling Launchpad API' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.launchpad.api/1.2.0/org.apache.sling.launchpad.api-1.2.0.jar' version='1.2.0'>
    <description>This module contains the API exposed by Launchpad to bundles.</description>
    <size>10718</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.launchpad.api'/>
      <p n='presentationname' v='Apache Sling Launchpad API'/>
      <p n='version' t='version' v='1.2.0'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.launchpad.api'/>
      <p n='version' t='version' v='1.2.0'/>
    </capability>
    <require name='ee' filter='(|(ee=J2SE-1.5))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=J2SE-1.5))</require>
  </resource>
  <resource id='org.apache.sling.launchpad.api/1.1.0' symbolicname='org.apache.sling.launchpad.api' presentationname='Apache Sling Launchpad API' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.launchpad.api/1.1.0/org.apache.sling.launchpad.api-1.1.0.jar' version='1.1.0'>
    <description>This module contains the API exposed by Launchpad to bundles.</description>
    <size>9994</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.launchpad.api'/>
      <p n='presentationname' v='Apache Sling Launchpad API'/>
      <p n='version' t='version' v='1.1.0'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.launchpad.api'/>
      <p n='version' t='version' v='1.1.0'/>
    </capability>
    <require name='package' filter='(&amp;(package=org.apache.sling.launchpad.api)(version&gt;=1.1.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.launchpad.api;version=1.1</require>
  </resource>
  <resource id='system.bundle/2.0.4.incubator' symbolicname='system.bundle' presentationname='Apache Sling Launchpad Base' uri='http://repo1.maven.org/maven2/org/apache/sling/system.bundle/2.0.4.incubator/system.bundle-2.0.4.incubator.jar' version='2.0.4.incubator'>
    <description>This module contains the common classes and configuration files used        by the various launchpad modules..</description>
    <size>681778</size>
    <documentation>http://cwiki.apache.org/SLING/the-sling-launchpad.html</documentation>
    <source>org/apache/sling/org.apache.sling.launchpad.base/2.0.4-incubator/org.apache.sling.launchpad.base-2.0.4-incubator-sources.jar</source>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='org.apache.sling'/>
    <capability name='bundle'>
      <p n='manifestversion' v='2'/>
      <p n='presentationname' v='Apache Sling Launchpad Base'/>
      <p n='symbolicname' v='system.bundle'/>
      <p n='version' t='version' v='2.0.4.incubator'/>
    </capability>
  </resource>
  <resource id='system.bundle/5.4.0.2_6_10' symbolicname='system.bundle' presentationname='Apache Sling Launchpad Base' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.launchpad.base/5.4.0-2.6.10/org.apache.sling.launchpad.base-5.4.0-2.6.10.jar' version='5.4.0.2_6_10'>
    <description>This module contains the common classes and configuration files used        by the various launchpad modules..</description>
    <size>779570</size>
    <documentation>http://sling.apache.org/site/the-sling-launchpad.html</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='system.bundle'/>
      <p n='presentationname' v='Apache Sling Launchpad Base'/>
      <p n='version' t='version' v='5.4.0.2_6_10'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='system.bundle/4.6.1.2_5_8' symbolicname='system.bundle' presentationname='Apache Sling Launchpad Base' uri='http://repo1.maven.org/maven2/org/apache/sling/system.bundle/4.6.1.2_5_8/system.bundle-4.6.1.2_5_8.jar' version='4.6.1.2_5_8'>
    <description>This module contains the common classes and configuration files used        by the various launchpad modules..</description>
    <size>659901</size>
    <documentation>http://sling.apache.org/site/the-sling-launchpad.html</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='system.bundle'/>
      <p n='presentationname' v='Apache Sling Launchpad Base'/>
      <p n='version' t='version' v='4.6.1.2_5_8'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='system.bundle/5.0.1.2_6_2' symbolicname='system.bundle' presentationname='Apache Sling Launchpad Base' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.launchpad.base/5.0.1-2.6.2/org.apache.sling.launchpad.base-5.0.1-2.6.2.jar' version='5.0.1.2_6_2'>
    <description>This module contains the common classes and configuration files used        by the various launchpad modules..</description>
    <size>688263</size>
    <documentation>http://sling.apache.org/site/the-sling-launchpad.html</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='system.bundle'/>
      <p n='presentationname' v='Apache Sling Launchpad Base'/>
      <p n='version' t='version' v='5.0.1.2_6_2'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.launchpad.content/2.0.8' symbolicname='org.apache.sling.launchpad.content' presentationname='Apache Sling Launchpad Content' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.launchpad.content/2.0.8/org.apache.sling.launchpad.content-2.0.8.jar' version='2.0.8'>
    <description>This bundle provides content that is loaded in the JCR repository    for the Sling Launchpad.</description>
    <size>30334</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.launchpad.content'/>
      <p n='presentationname' v='Apache Sling Launchpad Content'/>
      <p n='version' t='version' v='2.0.8'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <require name='ee' filter='(|(ee=J2SE-1.5))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=J2SE-1.5))</require>
  </resource>
  <resource id='org.apache.sling.launchpad.content/2.0.4.incubator' symbolicname='org.apache.sling.launchpad.content' presentationname='Apache Sling Launchpad Content' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.launchpad.content/2.0.4.incubator/org.apache.sling.launchpad.content-2.0.4.incubator.jar' version='2.0.4.incubator'>
    <description>This bundle provides content that is loaded in the JCR repository    for the Sling Launchpad.</description>
    <size>25024</size>
    <documentation>http://incubator.apache.org/sling</documentation>
    <source>org/apache/sling/org.apache.sling.launchpad.content/2.0.4-incubator/org.apache.sling.launchpad.content-2.0.4-incubator-sources.jar</source>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='org.apache.sling'/>
    <capability name='bundle'>
      <p n='manifestversion' v='2'/>
      <p n='presentationname' v='Apache Sling Launchpad Content'/>
      <p n='symbolicname' v='org.apache.sling.launchpad.content'/>
      <p n='version' t='version' v='2.0.4.incubator'/>
    </capability>
  </resource>
  <resource id='org.apache.sling.launchpad.content/2.0.6' symbolicname='org.apache.sling.launchpad.content' presentationname='Apache Sling Launchpad Content' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.launchpad.content/2.0.6/org.apache.sling.launchpad.content-2.0.6.jar' version='2.0.6'>
    <description>This bundle provides content that is loaded in the JCR repository    for the Sling Launchpad.</description>
    <size>26109</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.launchpad.content'/>
      <p n='presentationname' v='Apache Sling Launchpad Content'/>
      <p n='version' t='version' v='2.0.6'/>
      <p n='manifestversion' v='2'/>
    </capability>
  </resource>
  <resource id='org.apache.sling.launchpad.installer/1.0.0' symbolicname='org.apache.sling.launchpad.installer' presentationname='Apache Sling Launchpad Installer' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.launchpad.installer/1.0.0/org.apache.sling.launchpad.installer-1.0.0.jar' version='1.0.0'>
    <description>This module installs the contents of the launchpad archive into the framework.</description>
    <size>13053</size>
    <documentation>http://sling.apache.org</documentation>
    <source>org/apache/sling/org.apache.sling.launchpad.installer/1.0.0/org.apache.sling.launchpad.installer-1.0.0-sources.jar</source>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <category id='org.apache.sling'/>
    <capability name='bundle'>
      <p n='manifestversion' v='2'/>
      <p n='presentationname' v='Apache Sling Launchpad Installer'/>
      <p n='symbolicname' v='org.apache.sling.launchpad.installer'/>
      <p n='version' t='version' v='1.0.0'/>
    </capability>
    <require name='package' filter='(&amp;(package=org.apache.sling.installer.api)(version&gt;=3.0.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.installer.api ;version=3.0.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.launchpad.api)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.launchpad.api ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework ;version=1.4.0</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0))' extend='false' multiple='false' optional='false'>Import package org.slf4j ;version=1.5.0</require>
  </resource>
  <resource id='org.apache.sling.launchpad.installer/1.2.2' symbolicname='org.apache.sling.launchpad.installer' presentationname='Apache Sling Launchpad Installer' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.launchpad.installer/1.2.2/org.apache.sling.launchpad.installer-1.2.2.jar' version='1.2.2'>
    <description>This module installs the contents of the launchpad archive into the framework.</description>
    <size>16979</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.launchpad.installer'/>
      <p n='presentationname' v='Apache Sling Launchpad Installer'/>
      <p n='version' t='version' v='1.2.2'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <require name='package' filter='(&amp;(package=org.apache.sling.installer.api)(version&gt;=3.1.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.installer.api;version="[3.1,4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.installer.api.event)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.installer.api.event;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.launchpad.api)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.launchpad.api;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.settings)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.settings;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=J2SE-1.5))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=J2SE-1.5))</require>
  </resource>
  <resource id='org.apache.sling.launchpad.test-services/2.0.10' symbolicname='org.apache.sling.launchpad.test-services' presentationname='Apache Sling Launchpad Testing Services' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.launchpad.test-services/2.0.10/org.apache.sling.launchpad.test-services-2.0.10.jar' version='2.0.10'>
    <description>Sling services used by the Launchpad Testing integration tests</description>
    <size>184355</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.launchpad.test-services'/>
      <p n='presentationname' v='Apache Sling Launchpad Testing Services'/>
      <p n='version' t='version' v='2.0.10'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.launchpad.testservices.exported'/>
      <p n='version' t='version' v='2.0.10'/>
      <p n='uses:' v='javax.servlet,javax.servlet.http'/>
    </capability>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.jackrabbit.server)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='true'>Import package org.apache.sling.jcr.jackrabbit.server;resolution:=optional;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=javax.jcr)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.jcr.nodetype)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr.nodetype;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.jcr.security)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr.security;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.script))' extend='false' multiple='false' optional='false'>Import package javax.script</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=javax.xml.bind))' extend='false' multiple='false' optional='false'>Import package javax.xml.bind</require>
    <require name='package' filter='(&amp;(package=javax.xml.bind.annotation))' extend='false' multiple='false' optional='false'>Import package javax.xml.bind.annotation</require>
    <require name='package' filter='(&amp;(package=javax.xml.parsers))' extend='false' multiple='false' optional='false'>Import package javax.xml.parsers</require>
    <require name='package' filter='(&amp;(package=javax.xml.xpath))' extend='false' multiple='false' optional='false'>Import package javax.xml.xpath</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.api.security.user)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.api.security.user;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.commons)(version&gt;=2.4.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.commons;version="[2.4,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.server.io))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.server.io</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.webdav))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.webdav</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.webdav.property))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.webdav.property</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.adapter)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.adapter;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.request)(version&gt;=2.4.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.request;version="[2.4,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.9.0)(!(version&gt;=2.10.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.9,2.10)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.scripting)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.scripting;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.servlets)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.servlets;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.wrappers)(version&gt;=2.5.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.wrappers;version="[2.5,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json.io)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json.io;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.api)(version&gt;=2.4.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.api;version="[2.4,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.base.util)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.base.util;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.repoinit)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.repoinit;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.junit.annotations)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.junit.annotations;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.launchpad.testservices.exported))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.launchpad.testservices.exported</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.repoinit.parser)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.repoinit.parser;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.api)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.api;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.servlets.post)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.servlets.post;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.spi.resource.provider)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.spi.resource.provider;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.junit)(version&gt;=4.8.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.junit;version="[4.8,5)"</require>
    <require name='package' filter='(&amp;(package=org.junit.runner)(version&gt;=4.8.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.junit.runner;version="[4.8,5)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.cm)(version&gt;=1.2.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.cm;version="[1.2,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.event)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.event;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.packageadmin)(version&gt;=1.2.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.packageadmin;version="[1.2,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom</require>
    <require name='package' filter='(&amp;(package=org.xml.sax))' extend='false' multiple='false' optional='false'>Import package org.xml.sax</require>
    <require name='package' filter='(&amp;(package=org.xml.sax.helpers))' extend='false' multiple='false' optional='false'>Import package org.xml.sax.helpers</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.launchpad.test-services/2.0.8' symbolicname='org.apache.sling.launchpad.test-services' presentationname='Apache Sling Launchpad Testing Services' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.launchpad.test-services/2.0.8/org.apache.sling.launchpad.test-services-2.0.8.jar' version='2.0.8'>
    <description>Sling services used by the Launchpad Testing integration tests</description>
    <size>36710</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.launchpad.test-services'/>
      <p n='presentationname' v='Apache Sling Launchpad Testing Services'/>
      <p n='version' t='version' v='2.0.8'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.launchpad.testservices.exported'/>
      <p n='version' t='version' v='0.0.0'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr))' extend='false' multiple='false' optional='false'>Import package javax.jcr</require>
    <require name='package' filter='(&amp;(package=javax.script))' extend='false' multiple='false' optional='false'>Import package javax.script</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.1.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api;version=2.1</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.request)(version&gt;=2.1.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.request;version=2.1</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.1.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version=2.1</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.scripting)(version&gt;=2.1.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.scripting;version=2.1</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.servlets)(version&gt;=2.1.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.servlets;version=2.1</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json;version=2.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json.io)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json.io;version=2.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.api)(version&gt;=2.1.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.api;version=2.1</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.jackrabbit.server)(version&gt;=2.1.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.jackrabbit.server;version=2.1</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.launchpad.testservices.exported))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.launchpad.testservices.exported</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.api)(version&gt;=2.1.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.api;version=2.1</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.cm)(version&gt;=1.2.0))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.cm;version=1.2</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version=1.0</require>
  </resource>
  <resource id='org.apache.sling.launchpad.test-services/2.0.6.incubator' symbolicname='org.apache.sling.launchpad.test-services' presentationname='Apache Sling Launchpad Testing Services' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.launchpad.test-services/2.0.6.incubator/org.apache.sling.launchpad.test-services-2.0.6.incubator.jar' version='2.0.6.incubator'>
    <description>Sling services used by the Launchpad Testing integration tests</description>
    <size>14292</size>
    <documentation>http://incubator.apache.org/sling</documentation>
    <source>org/apache/sling/org.apache.sling.launchpad.test-services/2.0.6-incubator/org.apache.sling.launchpad.test-services-2.0.6-incubator-sources.jar</source>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='org.apache.sling'/>
    <capability name='bundle'>
      <p n='manifestversion' v='2'/>
      <p n='presentationname' v='Apache Sling Launchpad Testing Services'/>
      <p n='symbolicname' v='org.apache.sling.launchpad.test-services'/>
      <p n='version' t='version' v='2.0.6.incubator'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.0.4.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api ;version=2.0.4.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.0.4.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource ;version=2.0.4.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.servlets)(version&gt;=2.0.4.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.servlets ;version=2.0.4.incubator</require>
  </resource>
  <resource id='org.apache.sling.tracer/1.0.0' symbolicname='org.apache.sling.tracer' presentationname='Apache Sling Log Tracer' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.tracer/1.0.0/org.apache.sling.tracer-1.0.0.jar' version='1.0.0'>
    <description>Tracer provides support for enabling the logs for specific category at specific level and    only for specific request. It provides a very fine level of control via config provided    as part of HTTP request around how the logging should be performed for given category.    Refer to http://sling.apache.org/documentation/bundles/log-tracers.html</description>
    <size>54154</size>
    <documentation>https://sling.apache.org/documentation/bundles/log-tracers.html</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.tracer'/>
      <p n='presentationname' v='Apache Sling Log Tracer'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <require name='package' filter='(&amp;(package=ch.qos.logback.classic)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package ch.qos.logback.classic;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=ch.qos.logback.classic.turbo)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package ch.qos.logback.classic.turbo;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=ch.qos.logback.core.helpers)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package ch.qos.logback.core.helpers;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=ch.qos.logback.core.spi)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package ch.qos.logback.core.spi;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=com.google.common.base)(version&gt;=15.0.0)(!(version&gt;=16.0.0)))' extend='false' multiple='false' optional='false'>Import package com.google.common.base;version="[15.0,16)"</require>
    <require name='package' filter='(&amp;(package=com.google.common.cache)(version&gt;=15.0.0)(!(version&gt;=16.0.0)))' extend='false' multiple='false' optional='false'>Import package com.google.common.cache;version="[15.0,16)"</require>
    <require name='package' filter='(&amp;(package=com.google.common.collect)(version&gt;=15.0.0)(!(version&gt;=16.0.0)))' extend='false' multiple='false' optional='false'>Import package com.google.common.collect;version="[15.0,16)"</require>
    <require name='package' filter='(&amp;(package=com.google.common.primitives)(version&gt;=15.0.0)(!(version&gt;=16.0.0)))' extend='false' multiple='false' optional='false'>Import package com.google.common.primitives;version="[15.0,16)"</require>
    <require name='package' filter='(&amp;(package=javax.annotation))' extend='false' multiple='false' optional='false'>Import package javax.annotation</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.io)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.io;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.felix.webconsole)(version&gt;=3.1.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.felix.webconsole;version="[3.1,4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.request)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.request;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json.io)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json.io;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.6.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.6,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.7.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.7,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j.helpers)(version&gt;=1.7.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j.helpers;version="[1.7,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.tracer/0.0.2' symbolicname='org.apache.sling.tracer' presentationname='Apache Sling Log Tracer' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.tracer/0.0.2/org.apache.sling.tracer-0.0.2.jar' version='0.0.2'>
    <description>Tracer provides support for enabling the logs for specific category at specific level and    only for specific request. It provides a very fine level of control via config provided    as part of HTTP request around how the logging should be performed for given category.    Refer to http://sling.apache.org/documentation/bundles/log-tracers.html</description>
    <size>26648</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.tracer'/>
      <p n='presentationname' v='Apache Sling Log Tracer'/>
      <p n='version' t='version' v='0.0.2'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <require name='package' filter='(&amp;(package=ch.qos.logback.classic)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package ch.qos.logback.classic;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=ch.qos.logback.classic.turbo)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package ch.qos.logback.classic.turbo;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=ch.qos.logback.core.helpers)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package ch.qos.logback.core.helpers;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=ch.qos.logback.core.spi)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package ch.qos.logback.core.spi;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.request)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.request;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.6.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.6,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.6.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.6,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j.helpers)(version&gt;=1.6.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j.helpers;version="[1.6,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.commons.metrics/1.0.0' symbolicname='org.apache.sling.commons.metrics' presentationname='Apache Sling Metrics' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.commons.metrics/1.0.0/org.apache.sling.commons.metrics-1.0.0.jar' version='1.0.0'>
    <description>Integrates Metric library with Sling. Refer to    https://sling.apache.org/documentation/bundles/metrics.html    for details</description>
    <size>37661</size>
    <documentation>https://sling.apache.org/documentation/bundles/metrics.html</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.commons.metrics'/>
      <p n='presentationname' v='Apache Sling Metrics'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.commons.metrics'/>
      <p n='version' t='version' v='1.0.0'/>
    </capability>
    <require name='package' filter='(&amp;(package=com.codahale.metrics)(version&gt;=3.1.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package com.codahale.metrics;version="[3.1,4)"</require>
    <require name='package' filter='(&amp;(package=javax.management))' extend='false' multiple='false' optional='false'>Import package javax.management</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='true'>Import package javax.servlet.http;resolution:=optional</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.io.output)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='true'>Import package org.apache.commons.io.output;resolution:=optional;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.felix.inventory)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='true'>Import package org.apache.felix.inventory;resolution:=optional;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.metrics)(version&gt;=1.0.0)(!(version&gt;=1.1.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.metrics;version="[1.0,1.1)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.6.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.6,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.util.tracker)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.util.tracker;version="[1.5,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.commons.mime/2.0.4.incubator' symbolicname='org.apache.sling.commons.mime' presentationname='Apache Sling MIME type mapping support' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.commons.mime/2.0.4.incubator/org.apache.sling.commons.mime-2.0.4.incubator.jar' version='2.0.4.incubator'>
    <description>Support for configurable MIME type mapping and querying</description>
    <size>15991</size>
    <documentation>http://incubator.apache.org/sling</documentation>
    <source>org/apache/sling/org.apache.sling.commons.mime/2.0.4-incubator/org.apache.sling.commons.mime-2.0.4-incubator-sources.jar</source>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='org.apache.sling'/>
    <capability name='bundle'>
      <p n='manifestversion' v='2'/>
      <p n='presentationname' v='Apache Sling MIME type mapping support'/>
      <p n='symbolicname' v='org.apache.sling.commons.mime'/>
      <p n='version' t='version' v='2.0.4.incubator'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.commons.mime'/>
      <p n='version' t='version' v='2.0.4.incubator'/>
    </capability>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.mime)(version&gt;=2.0.4.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.mime ;version=2.0.4.incubator</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.log))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.log</require>
  </resource>
  <resource id='org.apache.sling.commons.mime/2.1.8' symbolicname='org.apache.sling.commons.mime' presentationname='Apache Sling MIME type mapping support' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.commons.mime/2.1.8/org.apache.sling.commons.mime-2.1.8.jar' version='2.1.8'>
    <description>Support for configurable MIME type mapping and querying</description>
    <size>37034</size>
    <documentation>http://sling.apache.org/site/mime-type-support.html</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.commons.mime'/>
      <p n='presentationname' v='Apache Sling MIME type mapping support'/>
      <p n='version' t='version' v='2.1.8'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.commons.mime'/>
      <p n='version' t='version' v='2.1.4'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='true'>Import package javax.servlet.http;resolution:=optional</require>
    <require name='package' filter='(&amp;(package=org.apache.tika)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='true'>Import package org.apache.tika;resolution:=optional;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.tika.mime)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='true'>Import package org.apache.tika.mime;resolution:=optional;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.mime)(version&gt;=2.1.0)(!(version&gt;=2.2.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.mime;version="[2.1,2.2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.log)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.log;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.felix.webconsole))' extend='false' multiple='false' optional='true'>Import package org.apache.felix.webconsole;resolution:=optional</require>
    <require name='ee' filter='(|(ee=J2SE-1.5))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=J2SE-1.5))</require>
  </resource>
  <resource id='org.apache.sling.models.api/1.1.0' symbolicname='org.apache.sling.models.api' presentationname='Apache Sling Models API' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.models.api/1.1.0/org.apache.sling.models.api-1.1.0.jar' version='1.1.0'>
    <description>Apache Sling Models API</description>
    <size>26477</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.models.api'/>
      <p n='presentationname' v='Apache Sling Models API'/>
      <p n='version' t='version' v='1.1.0'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.models.annotations'/>
      <p n='version' t='version' v='1.1.2'/>
      <p n='uses:' v='javax.inject'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.models.annotations.injectorspecific'/>
      <p n='version' t='version' v='1.0.2'/>
      <p n='uses:' v='org.apache.sling.models.annotations,org.apache.sling.models.spi.injectorspecific'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.models.spi'/>
      <p n='version' t='version' v='1.0.2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.models.spi.injectorspecific'/>
      <p n='version' t='version' v='1.0.0'/>
    </capability>
    <capability name='package'>
      <p n='package' v='javax.inject'/>
      <p n='version' t='version' v='0.0.0'/>
    </capability>
    <require name='ee' filter='(|(ee=J2SE-1.5))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=J2SE-1.5))</require>
  </resource>
  <resource id='org.apache.sling.models.impl/1.2.6' symbolicname='org.apache.sling.models.impl' presentationname='Apache Sling Models Implementation' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.models.impl/1.2.6/org.apache.sling.models.impl-1.2.6.jar' version='1.2.6'>
    <description>Apache Sling Models Implementation</description>
    <size>331800</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.models.impl'/>
      <p n='presentationname' v='Apache Sling Models Implementation'/>
      <p n='version' t='version' v='1.2.6'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.annotation))' extend='false' multiple='false' optional='false'>Import package javax.annotation</require>
    <require name='package' filter='(&amp;(package=javax.inject))' extend='false' multiple='false' optional='false'>Import package javax.inject</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections.comparators))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections.comparators</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections.keyvalue))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections.keyvalue</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections.list))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections.list</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections.set))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections.set</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.lang)(version&gt;=2.5.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.lang;version="[2.5,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.logging))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.logging</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.adapter)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.adapter;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.scripting)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.scripting;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.models.annotations)(version&gt;=1.2.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.models.annotations;version="[1.2,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.models.annotations.injectorspecific)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.models.annotations.injectorspecific;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.models.factory)(version&gt;=1.1.0)(!(version&gt;=1.2.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.models.factory;version="[1.1,1.2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.models.spi)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.models.spi;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.models.spi.injectorspecific)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.models.spi.injectorspecific;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.event)(version&gt;=1.2.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.event;version="[1.2,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.models.impl/1.2.4' symbolicname='org.apache.sling.models.impl' presentationname='Apache Sling Models Implementation' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.models.impl/1.2.4/org.apache.sling.models.impl-1.2.4.jar' version='1.2.4'>
    <description>Apache Sling Models Implementation</description>
    <size>331555</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.models.impl'/>
      <p n='presentationname' v='Apache Sling Models Implementation'/>
      <p n='version' t='version' v='1.2.4'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.annotation))' extend='false' multiple='false' optional='false'>Import package javax.annotation</require>
    <require name='package' filter='(&amp;(package=javax.inject))' extend='false' multiple='false' optional='false'>Import package javax.inject</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections.comparators))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections.comparators</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections.keyvalue))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections.keyvalue</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections.list))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections.list</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections.set))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections.set</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.lang)(version&gt;=2.5.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.lang;version="[2.5,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.logging))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.logging</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.adapter)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.adapter;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.scripting)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.scripting;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.models.annotations)(version&gt;=1.2.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.models.annotations;version="[1.2,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.models.annotations.injectorspecific)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.models.annotations.injectorspecific;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.models.factory)(version&gt;=1.1.0)(!(version&gt;=1.2.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.models.factory;version="[1.1,1.2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.models.spi)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.models.spi;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.models.spi.injectorspecific)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.models.spi.injectorspecific;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.event)(version&gt;=1.2.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.event;version="[1.2,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.models.impl/1.2.8' symbolicname='org.apache.sling.models.impl' presentationname='Apache Sling Models Implementation' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.models.impl/1.2.8/org.apache.sling.models.impl-1.2.8.jar' version='1.2.8'>
    <description>Apache Sling Models Implementation</description>
    <size>331691</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.models.impl'/>
      <p n='presentationname' v='Apache Sling Models Implementation'/>
      <p n='version' t='version' v='1.2.8'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.annotation))' extend='false' multiple='false' optional='false'>Import package javax.annotation</require>
    <require name='package' filter='(&amp;(package=javax.inject))' extend='false' multiple='false' optional='false'>Import package javax.inject</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections.comparators))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections.comparators</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections.keyvalue))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections.keyvalue</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections.list))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections.list</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections.set))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections.set</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.lang)(version&gt;=2.5.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.lang;version="[2.5,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.logging))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.logging</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.adapter)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.adapter;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.scripting)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.scripting;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.models.annotations)(version&gt;=1.2.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.models.annotations;version="[1.2,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.models.annotations.injectorspecific)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.models.annotations.injectorspecific;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.models.factory)(version&gt;=1.1.0)(!(version&gt;=1.2.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.models.factory;version="[1.1,1.2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.models.spi)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.models.spi;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.models.spi.injectorspecific)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.models.spi.injectorspecific;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.event)(version&gt;=1.2.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.event;version="[1.2,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.models.impl/1.1.0' symbolicname='org.apache.sling.models.impl' presentationname='Apache Sling Models Implementation' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.models.impl/1.1.0/org.apache.sling.models.impl-1.1.0.jar' version='1.1.0'>
    <description>Apache Sling Models Implementation</description>
    <size>297896</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.models.impl'/>
      <p n='presentationname' v='Apache Sling Models Implementation'/>
      <p n='version' t='version' v='1.1.0'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.annotation))' extend='false' multiple='false' optional='false'>Import package javax.annotation</require>
    <require name='package' filter='(&amp;(package=javax.inject)(!(version&gt;=1.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.inject;version="[0.0,1)"</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections.comparators))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections.comparators</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections.keyvalue))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections.keyvalue</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections.list))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections.list</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections.set))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections.set</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.lang)(version&gt;=2.5.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.lang;version="[2.5,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.logging))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.logging</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.adapter)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.adapter;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.scripting)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.scripting;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.models.annotations)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.models.annotations;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.models.annotations.injectorspecific)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.models.annotations.injectorspecific;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.models.spi)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.models.spi;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.models.spi.injectorspecific)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.models.spi.injectorspecific;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.nosql.couchbase-client/1.0.2' symbolicname='org.apache.sling.nosql.couchbase-client' presentationname='Apache Sling NoSQL Couchbase Client' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.nosql.couchbase-client/1.0.2/org.apache.sling.nosql.couchbase-client-1.0.2.jar' version='1.0.2'>
    <description>Couchbase client provider using Couchbase SDK 2.</description>
    <size>4709810</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.nosql.couchbase-client'/>
      <p n='presentationname' v='Apache Sling NoSQL Couchbase Client'/>
      <p n='version' t='version' v='1.0.2'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='com.couchbase.client.java'/>
      <p n='version' t='version' v='2.2.4'/>
      <p n='uses:' v='com.couchbase.client.java.bucket,com.couchbase.client.java.cluster,com.couchbase.client.java.document,com.couchbase.client.java.document.subdoc,com.couchbase.client.java.env,com.couchbase.client.java.query,com.couchbase.client.java.query.core,com.couchbase.client.java.repository,com.couchbase.client.java.search,com.couchbase.client.java.search.query,com.couchbase.client.java.transcoder,com.couchbase.client.java.view,rx'/>
    </capability>
    <capability name='package'>
      <p n='package' v='com.couchbase.client.java.bucket'/>
      <p n='version' t='version' v='2.2.4'/>
      <p n='uses:' v='com.couchbase.client.java,com.couchbase.client.java.document.json,com.couchbase.client.java.env,com.couchbase.client.java.query.util,com.couchbase.client.java.view,rx'/>
    </capability>
    <capability name='package'>
      <p n='package' v='com.couchbase.client.java.cluster'/>
      <p n='version' t='version' v='2.2.4'/>
      <p n='uses:' v='com.couchbase.client.java,com.couchbase.client.java.bucket,com.couchbase.client.java.document.json,com.couchbase.client.java.env,com.couchbase.client.java.util.features,rx'/>
    </capability>
    <capability name='package'>
      <p n='package' v='com.couchbase.client.java.document'/>
      <p n='version' t='version' v='2.2.4'/>
      <p n='uses:' v='com.couchbase.client.java.document.json'/>
    </capability>
    <capability name='package'>
      <p n='package' v='com.couchbase.client.java.document.json'/>
      <p n='version' t='version' v='2.2.4'/>
    </capability>
    <capability name='package'>
      <p n='package' v='com.couchbase.client.java.document.subdoc'/>
      <p n='version' t='version' v='2.2.4'/>
    </capability>
    <capability name='package'>
      <p n='package' v='com.couchbase.client.java.env'/>
      <p n='version' t='version' v='2.2.4'/>
      <p n='uses:' v='rx'/>
    </capability>
    <capability name='package'>
      <p n='package' v='com.couchbase.client.java.error'/>
      <p n='version' t='version' v='2.2.4'/>
      <p n='uses:' v='com.couchbase.client.java.document.json'/>
    </capability>
    <capability name='package'>
      <p n='package' v='com.couchbase.client.java.error.subdoc'/>
      <p n='version' t='version' v='2.2.4'/>
      <p n='uses:' v='com.couchbase.client.java.document.subdoc'/>
    </capability>
    <capability name='package'>
      <p n='package' v='com.couchbase.client.java.event.consumers'/>
      <p n='version' t='version' v='2.2.4'/>
      <p n='uses:' v='com.couchbase.client.java,rx'/>
    </capability>
    <capability name='package'>
      <p n='package' v='com.couchbase.client.java.query'/>
      <p n='version' t='version' v='2.2.4'/>
      <p n='uses:' v='com.couchbase.client.java.document.json,com.couchbase.client.java.query.consistency,com.couchbase.client.java.query.dsl,com.couchbase.client.java.query.dsl.path,com.couchbase.client.java.query.dsl.path.index,rx'/>
    </capability>
    <capability name='package'>
      <p n='package' v='com.couchbase.client.java.query.consistency'/>
      <p n='version' t='version' v='2.2.4'/>
    </capability>
    <capability name='package'>
      <p n='package' v='com.couchbase.client.java.query.core'/>
      <p n='version' t='version' v='2.2.4'/>
      <p n='uses:' v='com.couchbase.client.java.document.json,com.couchbase.client.java.query,com.couchbase.client.java.util,rx'/>
    </capability>
    <capability name='package'>
      <p n='package' v='com.couchbase.client.java.query.dsl'/>
      <p n='version' t='version' v='2.2.4'/>
      <p n='uses:' v='com.couchbase.client.java.document.json,com.couchbase.client.java.query'/>
    </capability>
    <capability name='package'>
      <p n='package' v='com.couchbase.client.java.query.dsl.element'/>
      <p n='version' t='version' v='2.2.4'/>
      <p n='uses:' v='com.couchbase.client.java.document.json,com.couchbase.client.java.query,com.couchbase.client.java.query.dsl,com.couchbase.client.java.query.dsl.path,com.couchbase.client.java.query.dsl.path.index'/>
    </capability>
    <capability name='package'>
      <p n='package' v='com.couchbase.client.java.query.dsl.functions'/>
      <p n='version' t='version' v='2.2.4'/>
      <p n='uses:' v='com.couchbase.client.java.document.json,com.couchbase.client.java.query.dsl'/>
    </capability>
    <capability name='package'>
      <p n='package' v='com.couchbase.client.java.query.dsl.path'/>
      <p n='version' t='version' v='2.2.4'/>
      <p n='uses:' v='com.couchbase.client.java.document.json,com.couchbase.client.java.query,com.couchbase.client.java.query.dsl,com.couchbase.client.java.query.dsl.element,com.couchbase.client.java.query.dsl.path.index'/>
    </capability>
    <capability name='package'>
      <p n='package' v='com.couchbase.client.java.query.dsl.path.index'/>
      <p n='version' t='version' v='2.2.4'/>
      <p n='uses:' v='com.couchbase.client.java.query,com.couchbase.client.java.query.dsl,com.couchbase.client.java.query.dsl.path'/>
    </capability>
    <capability name='package'>
      <p n='package' v='com.couchbase.client.java.query.util'/>
      <p n='version' t='version' v='2.2.4'/>
      <p n='uses:' v='com.couchbase.client.java.document.json,com.couchbase.client.java.query.dsl.path.index'/>
    </capability>
    <capability name='package'>
      <p n='package' v='com.couchbase.client.java.repository'/>
      <p n='version' t='version' v='2.2.4'/>
      <p n='uses:' v='com.couchbase.client.java,com.couchbase.client.java.document,com.couchbase.client.java.env,rx'/>
    </capability>
    <capability name='package'>
      <p n='package' v='com.couchbase.client.java.repository.annotation'/>
      <p n='version' t='version' v='2.2.4'/>
    </capability>
    <capability name='package'>
      <p n='package' v='com.couchbase.client.java.repository.mapping'/>
      <p n='version' t='version' v='2.2.4'/>
      <p n='uses:' v='com.couchbase.client.java.document'/>
    </capability>
    <capability name='package'>
      <p n='package' v='com.couchbase.client.java.search'/>
      <p n='version' t='version' v='2.2.4'/>
      <p n='uses:' v='com.couchbase.client.java.document.json'/>
    </capability>
    <capability name='package'>
      <p n='package' v='com.couchbase.client.java.search.query'/>
      <p n='version' t='version' v='2.2.4'/>
      <p n='uses:' v='com.couchbase.client.java.document.json,com.couchbase.client.java.search'/>
    </capability>
    <capability name='package'>
      <p n='package' v='com.couchbase.client.java.transcoder'/>
      <p n='version' t='version' v='2.2.4'/>
      <p n='uses:' v='com.couchbase.client.java.document,com.couchbase.client.java.document.json'/>
    </capability>
    <capability name='package'>
      <p n='package' v='com.couchbase.client.java.transcoder.subdoc'/>
      <p n='version' t='version' v='2.2.4'/>
      <p n='uses:' v='com.couchbase.client.java.error'/>
    </capability>
    <capability name='package'>
      <p n='package' v='com.couchbase.client.java.util'/>
      <p n='version' t='version' v='2.2.4'/>
      <p n='uses:' v='com.couchbase.client.java,javax.naming,rx'/>
    </capability>
    <capability name='package'>
      <p n='package' v='com.couchbase.client.java.util.features'/>
      <p n='version' t='version' v='2.2.4'/>
    </capability>
    <capability name='package'>
      <p n='package' v='com.couchbase.client.java.util.retry'/>
      <p n='version' t='version' v='2.2.4'/>
      <p n='uses:' v='rx,rx.functions'/>
    </capability>
    <capability name='package'>
      <p n='package' v='com.couchbase.client.java.view'/>
      <p n='version' t='version' v='2.2.4'/>
      <p n='uses:' v='com.couchbase.client.java,com.couchbase.client.java.document,com.couchbase.client.java.document.json,com.couchbase.client.java.env,rx'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.nosql.couchbase.client'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='com.couchbase.client.java'/>
    </capability>
    <require name='package' filter='(&amp;(package=com.barchart.udt))' extend='false' multiple='false' optional='true'>Import package com.barchart.udt;resolution:=optional</require>
    <require name='package' filter='(&amp;(package=com.barchart.udt.nio))' extend='false' multiple='false' optional='true'>Import package com.barchart.udt.nio;resolution:=optional</require>
    <require name='package' filter='(&amp;(package=com.google.protobuf))' extend='false' multiple='false' optional='true'>Import package com.google.protobuf;resolution:=optional</require>
    <require name='package' filter='(&amp;(package=com.jcraft.jzlib))' extend='false' multiple='false' optional='true'>Import package com.jcraft.jzlib;resolution:=optional</require>
    <require name='package' filter='(&amp;(package=com.sun.management))' extend='false' multiple='false' optional='true'>Import package com.sun.management;resolution:=optional</require>
    <require name='package' filter='(&amp;(package=com.sun.nio.sctp))' extend='false' multiple='false' optional='true'>Import package com.sun.nio.sctp;resolution:=optional</require>
    <require name='package' filter='(&amp;(package=gnu.io))' extend='false' multiple='false' optional='true'>Import package gnu.io;resolution:=optional</require>
    <require name='package' filter='(&amp;(package=javassist))' extend='false' multiple='false' optional='true'>Import package javassist;resolution:=optional</require>
    <require name='package' filter='(&amp;(package=org.apache.tomcat.jni))' extend='false' multiple='false' optional='true'>Import package org.apache.tomcat.jni;resolution:=optional</require>
    <require name='package' filter='(&amp;(package=org.bouncycastle.asn1.x500))' extend='false' multiple='false' optional='true'>Import package org.bouncycastle.asn1.x500;resolution:=optional</require>
    <require name='package' filter='(&amp;(package=org.bouncycastle.cert))' extend='false' multiple='false' optional='true'>Import package org.bouncycastle.cert;resolution:=optional</require>
    <require name='package' filter='(&amp;(package=org.bouncycastle.cert.jcajce))' extend='false' multiple='false' optional='true'>Import package org.bouncycastle.cert.jcajce;resolution:=optional</require>
    <require name='package' filter='(&amp;(package=org.bouncycastle.jce.provider))' extend='false' multiple='false' optional='true'>Import package org.bouncycastle.jce.provider;resolution:=optional</require>
    <require name='package' filter='(&amp;(package=org.bouncycastle.operator))' extend='false' multiple='false' optional='true'>Import package org.bouncycastle.operator;resolution:=optional</require>
    <require name='package' filter='(&amp;(package=org.bouncycastle.operator.jcajce))' extend='false' multiple='false' optional='true'>Import package org.bouncycastle.operator.jcajce;resolution:=optional</require>
    <require name='package' filter='(&amp;(package=org.eclipse.jetty.alpn))' extend='false' multiple='false' optional='true'>Import package org.eclipse.jetty.alpn;resolution:=optional</require>
    <require name='package' filter='(&amp;(package=org.eclipse.jetty.npn))' extend='false' multiple='false' optional='true'>Import package org.eclipse.jetty.npn;resolution:=optional</require>
    <require name='package' filter='(&amp;(package=org.jboss.marshalling))' extend='false' multiple='false' optional='true'>Import package org.jboss.marshalling;resolution:=optional</require>
    <require name='package' filter='(&amp;(package=rx.internal.operators)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='true'>Import package rx.internal.operators;resolution:=optional;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=rx.internal.schedulers)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='true'>Import package rx.internal.schedulers;resolution:=optional;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=rx.internal.util)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='true'>Import package rx.internal.util;resolution:=optional;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=sun.misc))' extend='false' multiple='false' optional='true'>Import package sun.misc;resolution:=optional</require>
    <require name='package' filter='(&amp;(package=sun.security.util))' extend='false' multiple='false' optional='true'>Import package sun.security.util;resolution:=optional</require>
    <require name='package' filter='(&amp;(package=sun.security.x509))' extend='false' multiple='false' optional='true'>Import package sun.security.x509;resolution:=optional</require>
    <require name='package' filter='(&amp;(package=com.couchbase.client.java.query.consistency)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package com.couchbase.client.java.query.consistency;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=com.couchbase.client.java.query.dsl)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package com.couchbase.client.java.query.dsl;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=com.couchbase.client.java.query.dsl.element)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package com.couchbase.client.java.query.dsl.element;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=com.couchbase.client.java.query.dsl.path)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package com.couchbase.client.java.query.dsl.path;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=com.couchbase.client.java.query.dsl.path.index)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package com.couchbase.client.java.query.dsl.path.index;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=com.couchbase.client.java.repository)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package com.couchbase.client.java.repository;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=com.couchbase.client.java.repository.annotation)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package com.couchbase.client.java.repository.annotation;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=com.couchbase.client.java.search)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package com.couchbase.client.java.search;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=com.couchbase.client.java.search.query)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package com.couchbase.client.java.search.query;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=com.couchbase.client.java.util.features)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package com.couchbase.client.java.util.features;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=javax.crypto))' extend='false' multiple='false' optional='false'>Import package javax.crypto</require>
    <require name='package' filter='(&amp;(package=javax.crypto.spec))' extend='false' multiple='false' optional='false'>Import package javax.crypto.spec</require>
    <require name='package' filter='(&amp;(package=javax.naming))' extend='false' multiple='false' optional='false'>Import package javax.naming</require>
    <require name='package' filter='(&amp;(package=javax.naming.directory))' extend='false' multiple='false' optional='false'>Import package javax.naming.directory</require>
    <require name='package' filter='(&amp;(package=javax.net.ssl))' extend='false' multiple='false' optional='false'>Import package javax.net.ssl</require>
    <require name='package' filter='(&amp;(package=javax.security.auth.callback))' extend='false' multiple='false' optional='false'>Import package javax.security.auth.callback</require>
    <require name='package' filter='(&amp;(package=javax.security.auth.x500))' extend='false' multiple='false' optional='false'>Import package javax.security.auth.x500</require>
    <require name='package' filter='(&amp;(package=javax.security.cert))' extend='false' multiple='false' optional='false'>Import package javax.security.cert</require>
    <require name='package' filter='(&amp;(package=javax.security.sasl))' extend='false' multiple='false' optional='false'>Import package javax.security.sasl</require>
    <require name='package' filter='(&amp;(package=javax.xml.bind))' extend='false' multiple='false' optional='false'>Import package javax.xml.bind</require>
    <require name='package' filter='(&amp;(package=javax.xml.datatype))' extend='false' multiple='false' optional='false'>Import package javax.xml.datatype</require>
    <require name='package' filter='(&amp;(package=javax.xml.namespace))' extend='false' multiple='false' optional='false'>Import package javax.xml.namespace</require>
    <require name='package' filter='(&amp;(package=javax.xml.parsers))' extend='false' multiple='false' optional='false'>Import package javax.xml.parsers</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.logging))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.logging</require>
    <require name='package' filter='(&amp;(package=org.apache.log4j))' extend='false' multiple='false' optional='false'>Import package org.apache.log4j</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.nosql.couchbase.client)(version&gt;=1.0.0)(!(version&gt;=1.1.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.nosql.couchbase.client;version="[1.0,1.1)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j.helpers)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j.helpers;version="[1.5,2)"</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom.bootstrap))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom.bootstrap</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom.ls))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom.ls</require>
    <require name='package' filter='(&amp;(package=org.xml.sax))' extend='false' multiple='false' optional='false'>Import package org.xml.sax</require>
    <require name='package' filter='(&amp;(package=rx)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package rx;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=rx.exceptions)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package rx.exceptions;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=rx.functions)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package rx.functions;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=rx.observables)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package rx.observables;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=rx.observers)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package rx.observers;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=rx.schedulers)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package rx.schedulers;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=rx.subjects)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package rx.subjects;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=rx.subscriptions)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package rx.subscriptions;version="[1.0,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.7))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.7))</require>
  </resource>
  <resource id='org.apache.sling.nosql.couchbase-resourceprovider/1.1.0' symbolicname='org.apache.sling.nosql.couchbase-resourceprovider' presentationname='Apache Sling NoSQL Couchbase Resource Provider' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.nosql.couchbase-resourceprovider/1.1.0/org.apache.sling.nosql.couchbase-resourceprovider-1.1.0.jar' version='1.1.0'>
    <description>Resource Provider with Couchbase Persistence for Apache Sling.</description>
    <size>19273</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.nosql.couchbase-resourceprovider'/>
      <p n='presentationname' v='Apache Sling NoSQL Couchbase Resource Provider'/>
      <p n='version' t='version' v='1.1.0'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <require name='package' filter='(&amp;(package=com.couchbase.client.java)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package com.couchbase.client.java;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=com.couchbase.client.java.document)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package com.couchbase.client.java.document;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=com.couchbase.client.java.document.json)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package com.couchbase.client.java.document.json;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=com.couchbase.client.java.error)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package com.couchbase.client.java.error;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=com.couchbase.client.java.query)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package com.couchbase.client.java.query;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=com.couchbase.client.java.query.consistency)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package com.couchbase.client.java.query.consistency;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=com.couchbase.client.java.query.dsl)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package com.couchbase.client.java.query.dsl;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=com.couchbase.client.java.query.dsl.path)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package com.couchbase.client.java.query.dsl.path;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.lang3)(version&gt;=3.3.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.lang3;version="[3.3,4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.8.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.8,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.nosql.couchbase.client)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.nosql.couchbase.client;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.nosql.generic.adapter)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.nosql.generic.adapter;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.nosql.generic.resource)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.nosql.generic.resource;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.event)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.event;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.7))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.7))</require>
  </resource>
  <resource id='org.apache.sling.nosql.generic/1.1.0' symbolicname='org.apache.sling.nosql.generic' presentationname='Apache Sling NoSQL Generic Resource Provider' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.nosql.generic/1.1.0/org.apache.sling.nosql.generic-1.1.0.jar' version='1.1.0'>
    <description>The parent project for Apache Sling</description>
    <size>34417</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.nosql.generic'/>
      <p n='presentationname' v='Apache Sling NoSQL Generic Resource Provider'/>
      <p n='version' t='version' v='1.1.0'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.nosql.generic.adapter'/>
      <p n='version' t='version' v='2.0.0'/>
      <p n='uses:' v='org.apache.sling.api.resource,org.slf4j'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.nosql.generic.resource'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='org.apache.sling.api.resource,org.apache.sling.nosql.generic.adapter,org.osgi.service.event'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=javax.xml.bind))' extend='false' multiple='false' optional='false'>Import package javax.xml.bind</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.io)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.io;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.lang3)(version&gt;=3.3.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.lang3;version="[3.3,4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.8.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.8,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.wrappers)(version&gt;=2.5.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.wrappers;version="[2.5,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.nosql.generic.adapter)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.nosql.generic.adapter;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.event)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.event;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.7))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.7))</require>
  </resource>
  <resource id='org.apache.sling.nosql.mongodb-resourceprovider/1.1.0' symbolicname='org.apache.sling.nosql.mongodb-resourceprovider' presentationname='Apache Sling NoSQL MongoDB Resource Provider' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.nosql.mongodb-resourceprovider/1.1.0/org.apache.sling.nosql.mongodb-resourceprovider-1.1.0.jar' version='1.1.0'>
    <description>Resource Provider with MongoDB Persistence for Apache Sling.</description>
    <size>17419</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.nosql.mongodb-resourceprovider'/>
      <p n='presentationname' v='Apache Sling NoSQL MongoDB Resource Provider'/>
      <p n='version' t='version' v='1.1.0'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <require name='package' filter='(&amp;(package=com.mongodb)(version&gt;=3.1.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package com.mongodb;version="[3.1,4)"</require>
    <require name='package' filter='(&amp;(package=com.mongodb.client)(version&gt;=3.1.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package com.mongodb.client;version="[3.1,4)"</require>
    <require name='package' filter='(&amp;(package=com.mongodb.client.model)(version&gt;=3.1.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package com.mongodb.client.model;version="[3.1,4)"</require>
    <require name='package' filter='(&amp;(package=com.mongodb.client.result)(version&gt;=3.1.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package com.mongodb.client.result;version="[3.1,4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.8.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.8,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.nosql.generic.adapter)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.nosql.generic.adapter;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.nosql.generic.resource)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.nosql.generic.resource;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.bson)(version&gt;=3.1.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.bson;version="[3.1,4)"</require>
    <require name='package' filter='(&amp;(package=org.bson.conversions)(version&gt;=3.1.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.bson.conversions;version="[3.1,4)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.event)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.event;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.7))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.7))</require>
  </resource>
  <resource id='org.apache.sling.jcr.oak.server/1.0.0' symbolicname='org.apache.sling.jcr.oak.server' presentationname='Apache Sling Oak Repository Server' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.jcr.oak.server-1.0.0.jar' version='1.0.0'>
    <description>This bundle provides a SlingRepository based on Apache Oak.</description>
    <size>480342</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.jcr.oak.server'/>
      <p n='presentationname' v='Apache Sling Oak Repository Server'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.oak.spi.security.authentication)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.oak.spi.security.authentication;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=com.google.common.base)(version&gt;=15.0.0)(!(version&gt;=16.0.0)))' extend='false' multiple='false' optional='false'>Import package com.google.common.base;version="[15.0,16)"</require>
    <require name='package' filter='(&amp;(package=com.google.common.collect)(version&gt;=15.0.0)(!(version&gt;=16.0.0)))' extend='false' multiple='false' optional='false'>Import package com.google.common.collect;version="[15.0,16)"</require>
    <require name='package' filter='(&amp;(package=com.google.common.util.concurrent)(version&gt;=15.0.0)(!(version&gt;=16.0.0)))' extend='false' multiple='false' optional='false'>Import package com.google.common.util.concurrent;version="[15.0,16)"</require>
    <require name='package' filter='(&amp;(package=javax.annotation))' extend='false' multiple='false' optional='false'>Import package javax.annotation</require>
    <require name='package' filter='(&amp;(package=javax.jcr)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.jcr.lock)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr.lock;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.jcr.nodetype)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr.nodetype;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.jcr.observation)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr.observation;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.jcr.query)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr.query;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.jcr.query.qom)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr.query.qom;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.jcr.retention)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr.retention;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.jcr.security)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr.security;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.jcr.util)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr.util;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.jcr.version)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr.version;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.management))' extend='false' multiple='false' optional='false'>Import package javax.management</require>
    <require name='package' filter='(&amp;(package=javax.management.openmbean))' extend='false' multiple='false' optional='false'>Import package javax.management.openmbean</require>
    <require name='package' filter='(&amp;(package=javax.security.auth))' extend='false' multiple='false' optional='false'>Import package javax.security.auth</require>
    <require name='package' filter='(&amp;(package=javax.security.auth.login))' extend='false' multiple='false' optional='false'>Import package javax.security.auth.login</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.io)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.io;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.api)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.api;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.api.jmx)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.api.jmx;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.api.observation)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.api.observation;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.api.security)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.api.security;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.api.security.authentication.token)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.api.security.authentication.token;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.api.security.authorization)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.api.security.authorization;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.api.security.principal)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.api.security.principal;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.api.security.user)(version&gt;=2.4.0)(!(version&gt;=2.5.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.api.security.user;version="[2.4,2.5)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.api.stats)(version&gt;=1.2.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.api.stats;version="[1.2,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.commons)(version&gt;=2.4.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.commons;version="[2.4,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.commons.iterator)(version&gt;=2.4.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.commons.iterator;version="[2.4,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.commons.jackrabbit.authorization))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.commons.jackrabbit.authorization</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.commons.observation))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.commons.observation</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.commons.xml)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.commons.xml;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.oak)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.oak;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.oak.api)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.oak.api;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.oak.api.jmx)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.oak.api.jmx;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.oak.commons)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.oak.commons;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.oak.namepath)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.oak.namepath;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.oak.osgi)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.oak.osgi;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.oak.plugins.atomic)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.oak.plugins.atomic;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.oak.plugins.commit)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.oak.plugins.commit;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.oak.plugins.identifier)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.oak.plugins.identifier;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.oak.plugins.index)(version&gt;=3.0.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.oak.plugins.index;version="[3.0,4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.oak.plugins.index.aggregate)(version&gt;=1.2.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.oak.plugins.index.aggregate;version="[1.2,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.oak.plugins.index.counter)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.oak.plugins.index.counter;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.oak.plugins.index.lucene.util)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.oak.plugins.index.lucene.util;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.oak.plugins.index.nodetype)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.oak.plugins.index.nodetype;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.oak.plugins.index.property)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.oak.plugins.index.property;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.oak.plugins.index.reference)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.oak.plugins.index.reference;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.oak.plugins.itemsave)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.oak.plugins.itemsave;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.oak.plugins.lock)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.oak.plugins.lock;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.oak.plugins.memory)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.oak.plugins.memory;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.oak.plugins.name)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.oak.plugins.name;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.oak.plugins.nodetype)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.oak.plugins.nodetype;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.oak.plugins.nodetype.write)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.oak.plugins.nodetype.write;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.oak.plugins.observation)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.oak.plugins.observation;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.oak.plugins.observation.filter)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.oak.plugins.observation.filter;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.oak.plugins.tree)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.oak.plugins.tree;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.oak.plugins.value)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.oak.plugins.value;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.oak.plugins.version)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.oak.plugins.version;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.oak.query)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.oak.query;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.oak.security)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.oak.security;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.oak.spi.commit)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.oak.spi.commit;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.oak.spi.gc)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.oak.spi.gc;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.oak.spi.lifecycle)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.oak.spi.lifecycle;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.oak.spi.query)(version&gt;=4.0.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.oak.spi.query;version="[4.0,5)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.oak.spi.security)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.oak.spi.security;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.oak.spi.security.authorization)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.oak.spi.security.authorization;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.oak.spi.security.authorization.permission)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.oak.spi.security.authorization.permission;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.oak.spi.security.principal)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.oak.spi.security.principal;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.oak.spi.security.privilege)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.oak.spi.security.privilege;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.oak.spi.security.user)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.oak.spi.security.user;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.oak.spi.security.user.util)(version&gt;=1.2.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.oak.spi.security.user.util;version="[1.2,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.oak.spi.state)(version&gt;=1.2.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.oak.spi.state;version="[1.2,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.oak.spi.whiteboard)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.oak.spi.whiteboard;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.oak.spi.xml)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.oak.spi.xml;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.oak.stats)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.oak.stats;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.oak.util)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.oak.util;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.stats)(version&gt;=2.7.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.stats;version="[2.7,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.util)(version&gt;=2.4.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.util;version="[2.4,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.value)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.value;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.threads)(version&gt;=3.2.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.threads;version="[3.2,4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.api)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.api;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.base)(version&gt;=2.4.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.base;version="[2.4,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.serviceusermapping)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.serviceusermapping;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='package' filter='(&amp;(package=org.xml.sax))' extend='false' multiple='false' optional='false'>Import package org.xml.sax</require>
    <require name='package' filter='(&amp;(package=org.xml.sax.helpers))' extend='false' multiple='false' optional='false'>Import package org.xml.sax.helpers</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.test))' extend='false' multiple='false' optional='true'>Import package org.apache.jackrabbit.test;resolution:=optional</require>
    <require name='package' filter='(&amp;(package=com.mongodb))' extend='false' multiple='false' optional='true'>Import package com.mongodb;resolution:=optional</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.oak.security.user))' extend='false' multiple='false' optional='true'>Import package org.apache.jackrabbit.oak.security.user;resolution:=optional</require>
    <require name='package' filter='(&amp;(package=org.apache.felix.jaas.boot))' extend='false' multiple='false' optional='false'>Import package org.apache.felix.jaas.boot</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.oak.restrictions/1.0.0' symbolicname='org.apache.sling.oak.restrictions' presentationname='Apache Sling Oak Restrictions' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.oak.restrictions-1.0.0.jar' version='1.0.0'>
    <description>Supports additional restrictions for OAK (e.g. for resource type).</description>
    <size>15211</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.oak.restrictions'/>
      <p n='presentationname' v='Apache Sling Oak Restrictions'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.oak.api)(version&gt;=1.0.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.oak.api;version="[1.0,4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.oak.util))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.oak.util;version=0.0.0</require>
    <require name='package' filter='(&amp;(package=javax.annotation))' extend='false' multiple='false' optional='false'>Import package javax.annotation</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.oak.spi.security.authorization.restriction)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.oak.spi.security.authorization.restriction;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.discovery.oak/1.2.8' symbolicname='org.apache.sling.discovery.oak' presentationname='Apache Sling Oak-Based Discovery Service' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.discovery.oak/1.2.8/org.apache.sling.discovery.oak-1.2.8.jar' version='1.2.8'>
    <description>Implementation of Apache Sling Discovery based on Jackrabbit Oak using its discovery-lite descriptor for in-cluster view detection and a TopologyView through HTTP POST heartbeats announcing sub-topologies to each other.</description>
    <size>75295</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.discovery.oak'/>
      <p n='presentationname' v='Apache Sling Oak-Based Discovery Service'/>
      <p n='version' t='version' v='1.2.8'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.management))' extend='false' multiple='false' optional='false'>Import package javax.management</require>
    <require name='package' filter='(&amp;(package=javax.servlet)(version&gt;=3.0.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.servlet;version="[3.0,4)"</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http)(version&gt;=3.0.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http;version="[3.0,4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.felix.webconsole)(version&gt;=3.0.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.felix.webconsole;version="[3.0,4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.scheduler)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.scheduler;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.discovery)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.discovery;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.discovery.base.commons)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.discovery.base.commons;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.discovery.base.connectors)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.discovery.base.connectors;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.discovery.base.connectors.announcement)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.discovery.base.connectors.announcement;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.discovery.base.connectors.ping)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.discovery.base.connectors.ping;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.discovery.commons)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.discovery.commons;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.discovery.commons.providers)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.discovery.commons.providers;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.discovery.commons.providers.base)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.discovery.commons.providers.base;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.discovery.commons.providers.spi)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.discovery.commons.providers.spi;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.discovery.commons.providers.spi.base)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.discovery.commons.providers.spi.base;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.discovery.commons.providers.util)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.discovery.commons.providers.util;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.hc.api)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.hc.api;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.hc.util)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.hc.util;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.settings)(version&gt;=1.2.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.settings;version="[1.2,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.6.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.6,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.discovery.oak/1.2.6' symbolicname='org.apache.sling.discovery.oak' presentationname='Apache Sling Oak-Based Discovery Service' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.discovery.oak/1.2.6/org.apache.sling.discovery.oak-1.2.6.jar' version='1.2.6'>
    <description>Implementation of Apache Sling Discovery based on Jackrabbit Oak using its discovery-lite descriptor for in-cluster view detection and a TopologyView through HTTP POST heartbeats announcing sub-topologies to each other.</description>
    <size>75243</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.discovery.oak'/>
      <p n='presentationname' v='Apache Sling Oak-Based Discovery Service'/>
      <p n='version' t='version' v='1.2.6'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.discovery.oak.cluster'/>
      <p n='version' t='version' v='1.2.6'/>
      <p n='uses:' v='org.apache.sling.api.resource,org.apache.sling.discovery.base.commons,org.apache.sling.discovery.commons.providers.spi,org.apache.sling.discovery.commons.providers.spi.base,org.apache.sling.discovery.oak,org.apache.sling.settings'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.discovery.oak'/>
      <p n='version' t='version' v='1.2.6'/>
      <p n='uses:' v='javax.servlet,javax.servlet.http,org.apache.felix.webconsole,org.apache.sling.api.resource,org.apache.sling.commons.scheduler,org.apache.sling.discovery,org.apache.sling.discovery.base.commons,org.apache.sling.discovery.base.connectors,org.apache.sling.discovery.base.connectors.announcement,org.apache.sling.discovery.base.connectors.ping,org.apache.sling.discovery.commons.providers,org.apache.sling.discovery.commons.providers.spi.base,org.apache.sling.discovery.oak.pinger,org.apache.sling.hc.api,org.apache.sling.settings,org.osgi.framework,org.slf4j'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.discovery.oak.pinger'/>
      <p n='version' t='version' v='1.2.6'/>
      <p n='uses:' v='org.apache.sling.api.resource,org.apache.sling.commons.scheduler,org.apache.sling.discovery.base.commons,org.apache.sling.discovery.base.connectors,org.apache.sling.discovery.base.connectors.announcement,org.apache.sling.discovery.base.connectors.ping,org.apache.sling.discovery.oak,org.apache.sling.launchpad.api,org.apache.sling.settings'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.management))' extend='false' multiple='false' optional='false'>Import package javax.management</require>
    <require name='package' filter='(&amp;(package=javax.servlet)(version&gt;=3.0.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.servlet;version="[3.0,4)"</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http)(version&gt;=3.0.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http;version="[3.0,4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.felix.webconsole)(version&gt;=3.0.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.felix.webconsole;version="[3.0,4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.scheduler)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.scheduler;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.discovery)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.discovery;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.discovery.base.commons)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.discovery.base.commons;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.discovery.base.connectors)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.discovery.base.connectors;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.discovery.base.connectors.announcement)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.discovery.base.connectors.announcement;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.discovery.base.connectors.ping)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.discovery.base.connectors.ping;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.discovery.commons)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.discovery.commons;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.discovery.commons.providers)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.discovery.commons.providers;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.discovery.commons.providers.base)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.discovery.commons.providers.base;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.discovery.commons.providers.spi)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.discovery.commons.providers.spi;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.discovery.commons.providers.spi.base)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.discovery.commons.providers.spi.base;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.discovery.commons.providers.util)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.discovery.commons.providers.util;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.discovery.oak))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.discovery.oak</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.discovery.oak.pinger))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.discovery.oak.pinger</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.hc.api)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.hc.api;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.hc.util)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.hc.util;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.launchpad.api)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.launchpad.api;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.settings)(version&gt;=1.2.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.settings;version="[1.2,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.6.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.6,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.jcr.ocm/2.0.4.incubator' symbolicname='org.apache.sling.jcr.ocm' presentationname='Apache Sling Object Content Mapping' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.jcr.ocm/2.0.4.incubator/org.apache.sling.jcr.ocm-2.0.4.incubator.jar' version='2.0.4.incubator'>
    <description>This bundle provides Object Content Mapping support for        resources loaded from a JCR repositories. This support is        implemented as an AdapterFactory for Resource objects.</description>
    <size>640523</size>
    <documentation>http://incubator.apache.org/sling</documentation>
    <source>org/apache/sling/org.apache.sling.jcr.ocm/2.0.4-incubator/org.apache.sling.jcr.ocm-2.0.4-incubator-sources.jar</source>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='org.apache.sling'/>
    <capability name='bundle'>
      <p n='manifestversion' v='2'/>
      <p n='presentationname' v='Apache Sling Object Content Mapping'/>
      <p n='symbolicname' v='org.apache.sling.jcr.ocm'/>
      <p n='version' t='version' v='2.0.4.incubator'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.ocm.version'/>
      <p n='uses:' v='javax.jcr,org.apache.jackrabbit.ocm.exception,javax.jcr.version'/>
      <p n='version' t='version' v='1.4.0'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.ocm.mapper'/>
      <p n='version' t='version' v='1.4.0'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.ocm.manager'/>
      <p n='uses:' v='javax.jcr,org.apache.jackrabbit.ocm.version,org.apache.jackrabbit.ocm.exception,javax.jcr.version,org.apache.jackrabbit.ocm.query'/>
      <p n='version' t='version' v='1.4.0'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.ocm.exception'/>
      <p n='uses:' v='javax.jcr.query'/>
      <p n='version' t='version' v='1.4.0'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.jcr.ocm'/>
      <p n='uses:' v='javax.jcr,org.apache.jackrabbit.ocm.manager,org.apache.jackrabbit.ocm.manager.collectionconverter,org.apache.jackrabbit.ocm.manager.collectionconverter.impl'/>
      <p n='version' t='version' v='2.0.4.incubator'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.ocm.query'/>
      <p n='version' t='version' v='1.4.0'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.ocm.manager.collectionconverter.impl'/>
      <p n='uses:' v='javax.jcr,org.apache.commons.logging,org.apache.jackrabbit.ocm.exception,javax.jcr.version,javax.jcr.nodetype,org.apache.jackrabbit.ocm.manager.atomictypeconverter,javax.jcr.lock,javax.jcr.query,org.apache.jackrabbit.ocm.mapper,org.apache.jackrabbit.ocm.manager.collectionconverter'/>
      <p n='version' t='version' v='1.4.0'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.ocm.manager.collectionconverter'/>
      <p n='uses:' v='javax.jcr,org.apache.jackrabbit.ocm.exception,org.apache.jackrabbit.ocm.manager.collectionconverter.impl'/>
      <p n='version' t='version' v='1.4.0'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.ocm.manager.atomictypeconverter'/>
      <p n='uses:' v='javax.jcr'/>
      <p n='version' t='version' v='1.4.0'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.lock)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.lock ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.nodetype)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.nodetype ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.observation)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.observation ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.query)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.query ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.version)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.version ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections.comparators))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections.comparators</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections.keyvalue))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections.keyvalue</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections.list))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections.list</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections.set))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections.set</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.lang))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.lang</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.logging))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.logging</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.ocm.exception)(version&gt;=1.4.0))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.ocm.exception ;version=1.4.0</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.ocm.manager)(version&gt;=1.4.0))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.ocm.manager ;version=1.4.0</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.ocm.manager.atomictypeconverter)(version&gt;=1.4.0))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.ocm.manager.atomictypeconverter ;version=1.4.0</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.ocm.manager.collectionconverter)(version&gt;=1.4.0))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.ocm.manager.collectionconverter ;version=1.4.0</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.ocm.manager.collectionconverter.impl)(version&gt;=1.4.0))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.ocm.manager.collectionconverter.impl ;version=1.4.0</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.ocm.mapper)(version&gt;=1.4.0))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.ocm.mapper ;version=1.4.0</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.ocm.query)(version&gt;=1.4.0))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.ocm.query ;version=1.4.0</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.ocm.version)(version&gt;=1.4.0))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.ocm.version ;version=1.4.0</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.value)(version&gt;=1.5.0))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.value ;version=1.5.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.adapter)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.adapter ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.ocm)(version&gt;=2.0.4.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.ocm ;version=2.0.4.incubator</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.event))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.event</require>
    <require name='package' filter='(&amp;(package=org.slf4j))' extend='false' multiple='false' optional='false'>Import package org.slf4j</require>
  </resource>
  <resource id='org.apache.sling.auth.openid/1.0.4' symbolicname='org.apache.sling.auth.openid' presentationname='Apache Sling OpenID Authentication' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.auth.openid/1.0.4/org.apache.sling.auth.openid-1.0.4.jar' version='1.0.4'>
    <description>Bundle implementing OpenID authentication with login        and logout support</description>
    <size>306441</size>
    <documentation>http://sling.apache.org/site/openid-authenticationhandler.html</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.auth.openid'/>
      <p n='presentationname' v='Apache Sling OpenID Authentication'/>
      <p n='version' t='version' v='1.0.4'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.auth.openid'/>
      <p n='version' t='version' v='1.0.0'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.crypto))' extend='false' multiple='false' optional='true'>Import package javax.crypto;resolution:=optional</require>
    <require name='package' filter='(&amp;(package=javax.crypto.spec))' extend='false' multiple='false' optional='true'>Import package javax.crypto.spec;resolution:=optional</require>
    <require name='package' filter='(&amp;(package=javax.jcr))' extend='false' multiple='false' optional='true'>Import package javax.jcr;resolution:=optional</require>
    <require name='package' filter='(&amp;(package=javax.security.auth.callback))' extend='false' multiple='false' optional='true'>Import package javax.security.auth.callback;resolution:=optional</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='true'>Import package javax.servlet;resolution:=optional</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='true'>Import package javax.servlet.http;resolution:=optional</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.api)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='true'>Import package org.apache.jackrabbit.api;resolution:=optional;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.api.security.user)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='true'>Import package org.apache.jackrabbit.api.security.user;resolution:=optional;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.auth.core)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='true'>Import package org.apache.sling.auth.core;resolution:=optional;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.auth.core.spi)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='true'>Import package org.apache.sling.auth.core.spi;resolution:=optional;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.auth.openid)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='true'>Import package org.apache.sling.auth.openid;resolution:=optional;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='true'>Import package org.apache.sling.commons.osgi;resolution:=optional;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.api)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='true'>Import package org.apache.sling.jcr.api;resolution:=optional;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.jackrabbit.server.security)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='true'>Import package org.apache.sling.jcr.jackrabbit.server.security;resolution:=optional;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='true'>Import package org.osgi.framework;resolution:=optional;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='true'>Import package org.osgi.service.component;resolution:=optional;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='true'>Import package org.slf4j;resolution:=optional;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=J2SE-1.5))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=J2SE-1.5))</require>
  </resource>
  <resource id='org.apache.sling.openidauth/0.9.0.incubator' symbolicname='org.apache.sling.openidauth' presentationname='Apache Sling OpenID Authentication' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.openidauth/0.9.0.incubator/org.apache.sling.openidauth-0.9.0.incubator.jar' version='0.9.0.incubator'>
    <description>Bundle implementing OpenID authentication with login        and logout support</description>
    <size>297475</size>
    <documentation>http://incubator.apache.org/sling</documentation>
    <source>org/apache/sling/org.apache.sling.openidauth/0.9.0-incubator/org.apache.sling.openidauth-0.9.0-incubator-sources.jar</source>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='org.apache.sling'/>
    <capability name='bundle'>
      <p n='manifestversion' v='2'/>
      <p n='presentationname' v='Apache Sling OpenID Authentication'/>
      <p n='symbolicname' v='org.apache.sling.openidauth'/>
      <p n='version' t='version' v='0.9.0.incubator'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.openidauth'/>
      <p n='version' t='version' v='0.0.0'/>
    </capability>
    <capability name='package'>
      <p n='package' v='com.dyuproject.openid'/>
      <p n='uses:' v='javax.crypto,javax.crypto.spec,javax.servlet,javax.servlet.http'/>
      <p n='version' t='version' v='0.0.0'/>
    </capability>
    <require name='package' filter='(&amp;(package=com.dyuproject.openid))' extend='false' multiple='false' optional='true'>Import package com.dyuproject.openid</require>
    <require name='package' filter='(&amp;(package=javax.crypto))' extend='false' multiple='false' optional='true'>Import package javax.crypto</require>
    <require name='package' filter='(&amp;(package=javax.crypto.spec))' extend='false' multiple='false' optional='true'>Import package javax.crypto.spec</require>
    <require name='package' filter='(&amp;(package=javax.jcr)(version&gt;=1.0.0))' extend='false' multiple='false' optional='true'>Import package javax.jcr ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.security.auth.callback))' extend='false' multiple='false' optional='true'>Import package javax.security.auth.callback</require>
    <require name='package' filter='(&amp;(package=javax.security.auth.login))' extend='false' multiple='false' optional='true'>Import package javax.security.auth.login</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='true'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='true'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='true'>Import package org.apache.sling.commons.osgi ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.engine.auth)(version&gt;=2.0.4.incubator))' extend='false' multiple='false' optional='true'>Import package org.apache.sling.engine.auth ;version=2.0.4.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.jackrabbit.server.security)(version&gt;=2.0.3.incubator-SNAPSHOT))' extend='false' multiple='false' optional='true'>Import package org.apache.sling.jcr.jackrabbit.server.security ;version=2.0.3.incubator-SNAPSHOT</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.openidauth))' extend='false' multiple='false' optional='true'>Import package org.apache.sling.openidauth</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component))' extend='false' multiple='false' optional='true'>Import package org.osgi.service.component</require>
    <require name='package' filter='(&amp;(package=org.slf4j))' extend='false' multiple='false' optional='true'>Import package org.slf4j</require>
  </resource>
  <resource id='org.apache.sling.commons.log/2.0.4.incubator' symbolicname='org.apache.sling.commons.log' presentationname='Apache Sling OSGi LogService Implementation' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.commons.log/2.0.4.incubator/org.apache.sling.commons.log-2.0.4.incubator.jar' version='2.0.4.incubator'>
    <description>Implementation of the OSGi Compendium Log Service using SLF4J        on top of a private implementation. In addition to providing the        implemented SLF4J API, the Log4J and Jakarta Commons Logging APIs        are provided with implementations on top of the SLF4J API.</description>
    <size>94760</size>
    <documentation>http://incubator.apache.org/sling</documentation>
    <source>org/apache/sling/org.apache.sling.commons.log/2.0.4-incubator/org.apache.sling.commons.log-2.0.4-incubator-sources.jar</source>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='org.apache.sling'/>
    <capability name='bundle'>
      <p n='manifestversion' v='2'/>
      <p n='presentationname' v='Apache Sling OSGi LogService Implementation'/>
      <p n='symbolicname' v='org.apache.sling.commons.log'/>
      <p n='version' t='version' v='2.0.4.incubator'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.osgi.service.log'/>
      <p n='uses:' v='org.osgi.framework'/>
      <p n='version' t='version' v='1.3.0'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.commons.logging'/>
      <p n='version' t='version' v='1.1.1'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.log4j'/>
      <p n='uses:' v='org.slf4j'/>
      <p n='version' t='version' v='1.2.15'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.osgi.service.cm'/>
      <p n='uses:' v='org.osgi.framework'/>
      <p n='version' t='version' v='1.2.0'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.slf4j'/>
      <p n='version' t='version' v='1.5.2'/>
    </capability>
    <require name='package' filter='(&amp;(package=org.apache.commons.logging)(version&gt;=1.1.1))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.logging ;version=1.1.1</require>
    <require name='package' filter='(&amp;(package=org.apache.log4j)(version&gt;=1.2.15))' extend='false' multiple='false' optional='false'>Import package org.apache.log4j ;version=1.2.15</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.cm)(version&gt;=1.2.0))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.cm ;version=1.2.0</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.log)(version&gt;=1.3.0))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.log ;version=1.3.0</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.2))' extend='false' multiple='false' optional='false'>Import package org.slf4j ;version=1.5.2</require>
  </resource>
  <resource id='org.apache.sling.commons.logservice/1.0.4' symbolicname='org.apache.sling.commons.logservice' presentationname='Apache Sling OSGi LogService Implementation' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.commons.logservice/1.0.4/org.apache.sling.commons.logservice-1.0.4.jar' version='1.0.4'>
    <description>Implementation of the OSGi Compendium Log Service using SLF4J        as the actual logging backend.</description>
    <size>25360</size>
    <documentation>http://sling.apache.org/site/logging.html</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.commons.logservice'/>
      <p n='presentationname' v='Apache Sling OSGi LogService Implementation'/>
      <p n='version' t='version' v='1.0.4'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.osgi.service.log'/>
      <p n='version' t='version' v='1.3.0'/>
      <p n='uses:' v='org.osgi.framework'/>
    </capability>
    <require name='package' filter='(&amp;(package=org.osgi.service.log)(version&gt;=1.3.0)(!(version&gt;=1.4.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.log;version="[1.3,1.4)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=J2SE-1.5))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=J2SE-1.5))</require>
  </resource>
  <resource id='org.apache.sling.commons.logservice/1.0.6' symbolicname='org.apache.sling.commons.logservice' presentationname='Apache Sling OSGi LogService Implementation' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.commons.logservice-1.0.6.jar' version='1.0.6'>
    <description>Implementation of the OSGi Compendium Log Service using SLF4J        as the actual logging backend.</description>
    <size>26148</size>
    <documentation>http://sling.apache.org/site/logging.html</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.commons.logservice'/>
      <p n='presentationname' v='Apache Sling OSGi LogService Implementation'/>
      <p n='version' t='version' v='1.0.6'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.osgi.service.log'/>
      <p n='version' t='version' v='1.3.0'/>
      <p n='uses:' v='org.osgi.framework'/>
    </capability>
    <require name='package' filter='(&amp;(package=org.osgi.service.log)(version&gt;=1.3.0)(!(version&gt;=1.4.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.log;version="[1.3,1.4)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.5,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.startlevel)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.startlevel;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.performance.base/1.0.2' symbolicname='org.apache.sling.performance.base' presentationname='Apache Sling Performance Test Utilities' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.performance.base/1.0.2/org.apache.sling.performance.base-1.0.2.jar' version='1.0.2'>
    <description>The parent project for Apache Sling</description>
    <size>39666</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.performance.base'/>
      <p n='presentationname' v='Apache Sling Performance Test Utilities'/>
      <p n='version' t='version' v='1.0.2'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.performance'/>
      <p n='version' t='version' v='1.0.2'/>
      <p n='uses:' v='javax.jcr,javax.naming,javax.servlet,javax.servlet.http,org.apache.commons.math.stat.descriptive,org.apache.sling.api.resource,org.apache.sling.jcr.api,org.junit.runner.notification,org.junit.runners,org.junit.runners.model'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.performance.annotation'/>
      <p n='version' t='version' v='1.0.2'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.naming))' extend='false' multiple='false' optional='false'>Import package javax.naming</require>
    <require name='package' filter='(&amp;(package=javax.naming.directory))' extend='false' multiple='false' optional='false'>Import package javax.naming.directory</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections.map)(version&gt;=3.2.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections.map;version="[3.2,4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.io.output)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.io.output;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.math.stat.descriptive)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.math.stat.descriptive;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.api)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.api;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.junit))' extend='false' multiple='false' optional='false'>Import package org.junit</require>
    <require name='package' filter='(&amp;(package=org.junit.runner))' extend='false' multiple='false' optional='false'>Import package org.junit.runner</require>
    <require name='package' filter='(&amp;(package=org.junit.runner.notification))' extend='false' multiple='false' optional='false'>Import package org.junit.runner.notification</require>
    <require name='package' filter='(&amp;(package=org.junit.runners))' extend='false' multiple='false' optional='false'>Import package org.junit.runners</require>
    <require name='package' filter='(&amp;(package=org.junit.runners.model))' extend='false' multiple='false' optional='false'>Import package org.junit.runners.model</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=J2SE-1.5))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=J2SE-1.5))</require>
  </resource>
  <resource id='org.apache.sling.provisioning.model/1.4.4' symbolicname='org.apache.sling.provisioning.model' presentationname='Apache Sling Provisioning Model' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.provisioning.model/1.4.4/org.apache.sling.provisioning.model-1.4.4.jar' version='1.4.4'>
    <description>The provisioning model for Apache Sling</description>
    <size>70280</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.provisioning.model'/>
      <p n='presentationname' v='Apache Sling Provisioning Model'/>
      <p n='version' t='version' v='1.4.4'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.provisioning.model'/>
      <p n='version' t='version' v='1.5.0'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.provisioning.model.io'/>
      <p n='version' t='version' v='1.2.0'/>
      <p n='uses:' v='org.apache.sling.provisioning.model'/>
    </capability>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.provisioning.model/1.2.0' symbolicname='org.apache.sling.provisioning.model' presentationname='Apache Sling Provisioning Model' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.provisioning.model/1.2.0/org.apache.sling.provisioning.model-1.2.0.jar' version='1.2.0'>
    <description>The provisioning model for Apache Sling</description>
    <size>52577</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.provisioning.model'/>
      <p n='presentationname' v='Apache Sling Provisioning Model'/>
      <p n='version' t='version' v='1.2.0'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.provisioning.model'/>
      <p n='version' t='version' v='1.2.0'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.provisioning.model.io'/>
      <p n='version' t='version' v='1.1.0'/>
      <p n='uses:' v='org.apache.sling.provisioning.model'/>
    </capability>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.provisioning.model/1.1.0' symbolicname='org.apache.sling.provisioning.model' presentationname='Apache Sling Provisioning Model' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.provisioning.model/1.1.0/org.apache.sling.provisioning.model-1.1.0.jar' version='1.1.0'>
    <description>The provisioning model for Apache Sling</description>
    <size>50787</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.provisioning.model'/>
      <p n='presentationname' v='Apache Sling Provisioning Model'/>
      <p n='version' t='version' v='1.1.0'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.provisioning.model'/>
      <p n='version' t='version' v='1.1.0'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.provisioning.model.io'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='org.apache.sling.provisioning.model'/>
    </capability>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.query/3.0.0' symbolicname='org.apache.sling.query' presentationname='Apache Sling Query' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.query/3.0.0/org.apache.sling.query-3.0.0.jar' version='3.0.0'>
    <description>jQuery-inspired repository traversal tool for Sling</description>
    <size>134417</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.query'/>
      <p n='presentationname' v='Apache Sling Query'/>
      <p n='version' t='version' v='3.0.0'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.query'/>
      <p n='version' t='version' v='3.0.0'/>
      <p n='uses:' v='org.apache.sling.api.resource,org.apache.sling.query.api'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.query.api'/>
      <p n='version' t='version' v='3.0.0'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr))' extend='false' multiple='false' optional='false'>Import package javax.jcr</require>
    <require name='package' filter='(&amp;(package=javax.jcr.nodetype))' extend='false' multiple='false' optional='false'>Import package javax.jcr.nodetype</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.lang)(version&gt;=2.5.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.lang;version="[2.5,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.lang.builder)(version&gt;=2.5.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.lang.builder;version="[2.5,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.adapter)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.adapter;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.query.api))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.query.api</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.jcr.repoinit/1.0.0' symbolicname='org.apache.sling.jcr.repoinit' presentationname='Apache Sling RepoInit JCR module' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.jcr.repoinit/1.0.0/org.apache.sling.jcr.repoinit-1.0.0.jar' version='1.0.0'>
    <description>Initializes a JCR repository based on the output	  of the RepoInit Language parser.</description>
    <size>23359</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.jcr.repoinit'/>
      <p n='presentationname' v='Apache Sling RepoInit JCR module'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.jcr.repoinit'/>
      <p n='version' t='version' v='1.1.0'/>
      <p n='uses:' v='javax.jcr,org.apache.sling.repoinit.parser.operations'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.jcr.security)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr.security;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.io)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.io;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.api)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.api;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.api.security)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.api.security;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.api.security.user)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.api.security.user;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.commons.jackrabbit.authorization))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.commons.jackrabbit.authorization</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.api)(version&gt;=2.4.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.api;version="[2.4,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.repoinit)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.repoinit;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.provisioning.model)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.provisioning.model;version="[1.5,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.provisioning.model.io)(version&gt;=1.2.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.provisioning.model.io;version="[1.2,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.repoinit.parser)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.repoinit.parser;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.repoinit.parser.operations)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.repoinit.parser.operations;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.repoinit.parser/1.0.2' symbolicname='org.apache.sling.repoinit.parser' presentationname='Apache Sling RepoInit Parser' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.repoinit.parser/1.0.2/org.apache.sling.repoinit.parser-1.0.2.jar' version='1.0.2'>
    <description>Parser for the Repository Initialization language used in Sling</description>
    <size>56402</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.repoinit.parser'/>
      <p n='presentationname' v='Apache Sling RepoInit Parser'/>
      <p n='version' t='version' v='1.0.2'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.repoinit.parser.operations'/>
      <p n='version' t='version' v='1.0.0'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.repoinit.parser'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='org.apache.sling.repoinit.parser.operations'/>
    </capability>
    <require name='package' filter='(&amp;(package=org.apache.sling.repoinit.parser)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.repoinit.parser;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.repoinit.parser.operations)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.repoinit.parser.operations;version="[1.0,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.jcr.api/2.2.0' symbolicname='org.apache.sling.jcr.api' presentationname='Apache Sling Repository API Bundle' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.jcr.api/2.2.0/org.apache.sling.jcr.api-2.2.0.jar' version='2.2.0'>
    <description>This OSGi bundle provides the JCR packages as        well as a helper service interface to be implemented and        provided by repository providers.</description>
    <size>13055</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <category id='jcr'/>
    <category id='jackrabbit'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.jcr.api'/>
      <p n='presentationname' v='Apache Sling Repository API Bundle'/>
      <p n='version' t='version' v='2.2.0'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.jcr.api'/>
      <p n='version' t='version' v='2.2.0'/>
      <p n='uses:' v='javax.jcr'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr))' extend='false' multiple='false' optional='false'>Import package javax.jcr</require>
    <require name='ee' filter='(|(ee=J2SE-1.5))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=J2SE-1.5))</require>
  </resource>
  <resource id='org.apache.sling.jcr.api/2.0.4' symbolicname='org.apache.sling.jcr.api' presentationname='Apache Sling Repository API Bundle' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.jcr.api/2.0.4/org.apache.sling.jcr.api-2.0.4.jar' version='2.0.4'>
    <description>This OSGi bundle provides the JCR packages as        well as a helper service interface to be implemented and        provided by repository providers.</description>
    <size>12109</size>
    <documentation>http://sling.apache.org</documentation>
    <source>org/apache/sling/org.apache.sling.jcr.api/2.0.4/org.apache.sling.jcr.api-2.0.4-sources.jar</source>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='org.apache.sling'/>
    <capability name='bundle'>
      <p n='manifestversion' v='2'/>
      <p n='presentationname' v='Apache Sling Repository API Bundle'/>
      <p n='symbolicname' v='org.apache.sling.jcr.api'/>
      <p n='version' t='version' v='2.0.4'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.jcr.api'/>
      <p n='uses' v='javax.jcr'/>
      <p n='version' t='version' v='2.0.4'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr))' extend='false' multiple='false' optional='false'>Import package javax.jcr</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.api)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.api ;version=2.0.0</require>
  </resource>
  <resource id='org.apache.sling.jcr.api/2.1.0' symbolicname='org.apache.sling.jcr.api' presentationname='Apache Sling Repository API Bundle' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.jcr.api/2.1.0/org.apache.sling.jcr.api-2.1.0.jar' version='2.1.0'>
    <description>This OSGi bundle provides the JCR packages as        well as a helper service interface to be implemented and        provided by repository providers.</description>
    <size>12471</size>
    <documentation>http://sling.apache.org</documentation>
    <source>org/apache/sling/org.apache.sling.jcr.api/2.1.0/org.apache.sling.jcr.api-2.1.0-sources.jar</source>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <category id='jcr'/>
    <category id='jackrabbit'/>
    <category id='org.apache.sling'/>
    <capability name='bundle'>
      <p n='manifestversion' v='2'/>
      <p n='presentationname' v='Apache Sling Repository API Bundle'/>
      <p n='symbolicname' v='org.apache.sling.jcr.api'/>
      <p n='version' t='version' v='2.1.0'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.jcr.api'/>
      <p n='uses' v='javax.jcr'/>
      <p n='version' t='version' v='2.1.0'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr))' extend='false' multiple='false' optional='false'>Import package javax.jcr</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.api)(version&gt;=2.1.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.api ;version=2.1.0</require>
  </resource>
  <resource id='org.apache.sling.jcr.api/2.4.0' symbolicname='org.apache.sling.jcr.api' presentationname='Apache Sling Repository API Bundle' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.jcr.api/2.4.0/org.apache.sling.jcr.api-2.4.0.jar' version='2.4.0'>
    <description>This OSGi bundle provides the JCR packages as        well as a helper service interface to be implemented and        provided by repository providers.</description>
    <size>13597</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <category id='jcr'/>
    <category id='jackrabbit'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.jcr.api'/>
      <p n='presentationname' v='Apache Sling Repository API Bundle'/>
      <p n='version' t='version' v='2.4.0'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.jcr.api'/>
      <p n='version' t='version' v='2.4.0'/>
      <p n='uses:' v='javax.jcr'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr))' extend='false' multiple='false' optional='false'>Import package javax.jcr</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.jcr.classloader/2.0.4.incubator' symbolicname='org.apache.sling.jcr.classloader' presentationname='Apache Sling Repository ClassLoader' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.jcr.classloader/2.0.4.incubator/org.apache.sling.jcr.classloader-2.0.4.incubator.jar' version='2.0.4.incubator'>
    <description>Provides Support for delegate class loaders built dynamically.        Delegate class loaders supported are generic ClassLoader, OSGi        bundles and repository class loader.</description>
    <size>159817</size>
    <documentation>http://incubator.apache.org/sling</documentation>
    <source>org/apache/sling/org.apache.sling.jcr.classloader/2.0.4-incubator/org.apache.sling.jcr.classloader-2.0.4-incubator-sources.jar</source>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='org.apache.sling'/>
    <capability name='bundle'>
      <p n='manifestversion' v='2'/>
      <p n='presentationname' v='Apache Sling Repository ClassLoader'/>
      <p n='symbolicname' v='org.apache.sling.jcr.classloader'/>
      <p n='version' t='version' v='2.0.4.incubator'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.jcr.classloader'/>
      <p n='uses:' v='javax.jcr'/>
      <p n='version' t='version' v='2.0.4.incubator'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.classloader'/>
      <p n='uses:' v='javax.jcr,org.apache.jackrabbit.net,javax.jcr.nodetype,org.slf4j,javax.jcr.observation,org.apache.jackrabbit.api'/>
      <p n='version' t='version' v='1.4.0'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.net'/>
      <p n='uses:' v='javax.jcr,org.apache.jackrabbit.classloader,org.slf4j'/>
      <p n='version' t='version' v='1.4.0'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.lock)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.lock ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.nodetype)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.nodetype ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.observation)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.observation ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.util)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.util ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections)(version&gt;=3.2.0))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections ;version=3.2.0</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections.bidimap)(version&gt;=3.2.0))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections.bidimap ;version=3.2.0</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.api))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.api</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.classloader)(version&gt;=1.4.0))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.classloader ;version=1.4.0</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.net)(version&gt;=1.4.0))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.net ;version=1.4.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.api)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.api ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.classloader)(version&gt;=2.0.4.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.classloader ;version=2.0.4.incubator</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component</require>
    <require name='package' filter='(&amp;(package=org.slf4j))' extend='false' multiple='false' optional='false'>Import package org.slf4j</require>
  </resource>
  <resource id='org.apache.sling.resourcebuilder/1.0.0' symbolicname='org.apache.sling.resourcebuilder' presentationname='Apache Sling Resource Builder' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.resourcebuilder/1.0.0/org.apache.sling.resourcebuilder-1.0.0.jar' version='1.0.0'>
    <description>Utilities to create Sling content</description>
    <size>18101</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.resourcebuilder'/>
      <p n='presentationname' v='Apache Sling Resource Builder'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.resourcebuilder.api'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='org.apache.sling.api.resource'/>
    </capability>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.mime)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.mime;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.resourcebuilder.api))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.resourcebuilder.api</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.resourcecollection/1.0.0' symbolicname='org.apache.sling.resourcecollection' presentationname='Apache Sling Resource Collection API' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.resourcecollection/1.0.0/org.apache.sling.resourcecollection-1.0.0.jar' version='1.0.0'>
    <description>The Apache Sling resource collection bundle provides an api to manage collections of Resources.</description>
    <size>19713</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.resourcecollection'/>
      <p n='presentationname' v='Apache Sling Resource Collection API'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.resource.collection'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='org.apache.sling.api.resource'/>
    </capability>
    <require name='package' filter='(&amp;(package=org.apache.commons.lang)(version&gt;=2.4.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.lang;version="[2.4,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.adapter)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.adapter;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.4.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.4,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.resource.collection))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.resource.collection</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=J2SE-1.5))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=J2SE-1.5))</require>
  </resource>
  <resource id='org.apache.sling.resourcemerger/1.2.10' symbolicname='org.apache.sling.resourcemerger' presentationname='Apache Sling Resource Merger' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.resourcemerger/1.2.10/org.apache.sling.resourcemerger-1.2.10.jar' version='1.2.10'>
    <description>This bundle provides services to merge resources.</description>
    <size>44863</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.resourcemerger'/>
      <p n='presentationname' v='Apache Sling Resource Merger'/>
      <p n='version' t='version' v='1.2.10'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.resourcemerger.api'/>
      <p n='version' t='version' v='1.2.0'/>
      <p n='uses:' v='org.apache.sling.api.resource'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.resourcemerger.spi'/>
      <p n='version' t='version' v='1.1.0'/>
      <p n='uses:' v='org.apache.sling.api.resource'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.5.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.5,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.wrappers)(version&gt;=2.5.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.wrappers;version="[2.5,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.resourcemerger.api)(version&gt;=1.2.0)(!(version&gt;=1.3.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.resourcemerger.api;version="[1.2,1.3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.resourcemerger.spi)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.resourcemerger.spi;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.util.tracker)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.util.tracker;version="[1.3,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.resourcemerger/1.2.8' symbolicname='org.apache.sling.resourcemerger' presentationname='Apache Sling Resource Merger' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.resourcemerger/1.2.8/org.apache.sling.resourcemerger-1.2.8.jar' version='1.2.8'>
    <description>This bundle provides services to merge resources.</description>
    <size>43363</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.resourcemerger'/>
      <p n='presentationname' v='Apache Sling Resource Merger'/>
      <p n='version' t='version' v='1.2.8'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.resourcemerger.api'/>
      <p n='version' t='version' v='1.2.0'/>
      <p n='uses:' v='org.apache.sling.api.resource'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.resourcemerger.spi'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='org.apache.sling.api.resource'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.5.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.5,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.wrappers)(version&gt;=2.5.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.wrappers;version="[2.5,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.resourcemerger.api)(version&gt;=1.2.0)(!(version&gt;=1.3.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.resourcemerger.api;version="[1.2,1.3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.resourcemerger.spi)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.resourcemerger.spi;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.util.tracker)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.util.tracker;version="[1.3,2)"</require>
    <require name='ee' filter='(|(ee=J2SE-1.5))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=J2SE-1.5))</require>
  </resource>
  <resource id='org.apache.sling.resourcemerger/1.3.0' symbolicname='org.apache.sling.resourcemerger' presentationname='Apache Sling Resource Merger' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.resourcemerger/1.3.0/org.apache.sling.resourcemerger-1.3.0.jar' version='1.3.0'>
    <description>This bundle provides services to merge resources.</description>
    <size>46999</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.resourcemerger'/>
      <p n='presentationname' v='Apache Sling Resource Merger'/>
      <p n='version' t='version' v='1.3.0'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.resourcemerger.api'/>
      <p n='version' t='version' v='1.2.0'/>
      <p n='uses:' v='org.apache.sling.api.resource'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.resourcemerger.spi'/>
      <p n='version' t='version' v='1.2.0'/>
      <p n='uses:' v='org.apache.sling.api.resource'/>
    </capability>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.9.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.9,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.wrappers)(version&gt;=2.5.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.wrappers;version="[2.5,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.resourcemerger.api)(version&gt;=1.2.0)(!(version&gt;=1.3.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.resourcemerger.api;version="[1.2,1.3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.resourcemerger.spi)(version&gt;=1.2.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.resourcemerger.spi;version="[1.2,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.spi.resource.provider)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.spi.resource.provider;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.util.tracker)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.util.tracker;version="[1.3,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.jcr.resource/2.0.4.incubator' symbolicname='org.apache.sling.jcr.resource' presentationname='Apache Sling Resource Resolver' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.jcr.resource/2.0.4.incubator/org.apache.sling.jcr.resource-2.0.4.incubator.jar' version='2.0.4.incubator'>
    <description>This bundle provides the JCR based ResourceResolver.</description>
    <size>109638</size>
    <documentation>http://incubator.apache.org/sling</documentation>
    <source>org/apache/sling/org.apache.sling.jcr.resource/2.0.4-incubator/org.apache.sling.jcr.resource-2.0.4-incubator-sources.jar</source>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='org.apache.sling'/>
    <capability name='bundle'>
      <p n='manifestversion' v='2'/>
      <p n='presentationname' v='Apache Sling Resource Resolver'/>
      <p n='symbolicname' v='org.apache.sling.jcr.resource'/>
      <p n='version' t='version' v='2.0.4.incubator'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.jcr.resource'/>
      <p n='uses:' v='javax.jcr.query,javax.jcr,javax.jcr.nodetype,org.slf4j,org.apache.sling.api.resource'/>
      <p n='version' t='version' v='2.0.4.incubator'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.lock)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.lock ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.nodetype)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.nodetype ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.observation)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.observation ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.query)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.query ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.version)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.version ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections)(version&gt;=3.2.0))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections ;version=3.2.0</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections.bidimap)(version&gt;=3.2.0))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections.bidimap ;version=3.2.0</require>
    <require name='package' filter='(&amp;(package=org.apache.felix.webconsole))' extend='false' multiple='false' optional='false'>Import package org.apache.felix.webconsole</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.adapter)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.adapter ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.0.4.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api ;version=2.0.4.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.0.4.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource ;version=2.0.4.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.wrappers)(version&gt;=2.0.4.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.wrappers ;version=2.0.4.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.api)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.api ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.resource)(version&gt;=2.0.4.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.resource ;version=2.0.4.incubator</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component</require>
    <require name='package' filter='(&amp;(package=org.slf4j))' extend='false' multiple='false' optional='false'>Import package org.slf4j</require>
  </resource>
  <resource id='org.apache.sling.resourceresolver/1.1.2' symbolicname='org.apache.sling.resourceresolver' presentationname='Apache Sling Resource Resolver' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.resourceresolver/1.1.2/org.apache.sling.resourceresolver-1.1.2.jar' version='1.1.2'>
    <description>This bundle provides the Resource Resolver and the Resource Resolver Factory.</description>
    <size>141042</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.resourceresolver'/>
      <p n='presentationname' v='Apache Sling Resource Resolver'/>
      <p n='version' t='version' v='1.1.2'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.6.0)(!(version&gt;=2.7.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.6,2.7)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.2.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi;version=2.2.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections)(version&gt;=3.2.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections;version="[3.2,4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections.bidimap)(version&gt;=3.2.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections.bidimap;version="[3.2,4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.adapter)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.adapter;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.request)(version&gt;=2.4.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.request;version="[2.4,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.security)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.security;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.wrappers)(version&gt;=2.5.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.wrappers;version="[2.5,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.serviceusermapping)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.serviceusermapping;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.event)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.event;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='package' filter='(&amp;(package=javax.annotation))' extend='false' multiple='false' optional='true'>Import package javax.annotation;resolution:=optional</require>
    <require name='ee' filter='(|(ee=J2SE-1.5))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=J2SE-1.5))</require>
  </resource>
  <resource id='org.apache.sling.resourceresolver/1.2.6' symbolicname='org.apache.sling.resourceresolver' presentationname='Apache Sling Resource Resolver' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.resourceresolver/1.2.6/org.apache.sling.resourceresolver-1.2.6.jar' version='1.2.6'>
    <description>This bundle provides the Resource Resolver and the Resource Resolver Factory.</description>
    <size>168312</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.resourceresolver'/>
      <p n='presentationname' v='Apache Sling Resource Resolver'/>
      <p n='version' t='version' v='1.2.6'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.8.0)(!(version&gt;=2.9.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.8,2.9)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.2.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi;version=2.2.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections)(version&gt;=3.2.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections;version="[3.2,4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections.bidimap)(version&gt;=3.2.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections.bidimap;version="[3.2,4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.adapter)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.adapter;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.request)(version&gt;=2.4.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.request;version="[2.4,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.security)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.security;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.wrappers)(version&gt;=2.5.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.wrappers;version="[2.5,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.serviceusermapping)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.serviceusermapping;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.event)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.event;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='package' filter='(&amp;(package=javax.annotation))' extend='false' multiple='false' optional='true'>Import package javax.annotation;resolution:=optional</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.resourceresolver/1.4.14' symbolicname='org.apache.sling.resourceresolver' presentationname='Apache Sling Resource Resolver' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.resourceresolver-1.4.14.jar' version='1.4.14'>
    <description>This bundle provides the Resource Resolver and the Resource Resolver Factory.</description>
    <size>218416</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.resourceresolver'/>
      <p n='presentationname' v='Apache Sling Resource Resolver'/>
      <p n='version' t='version' v='1.4.14'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.annotation))' extend='false' multiple='false' optional='true'>Import package javax.annotation;resolution:=optional</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.9.0)(!(version&gt;=2.10.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.9,2.10)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.2.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi;version=2.2.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections)(version&gt;=3.2.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections;version="[3.2,4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections.bidimap)(version&gt;=3.2.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections.bidimap;version="[3.2,4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections.iterators)(version&gt;=3.2.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections.iterators;version="[3.2,4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.lang)(version&gt;=2.4.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.lang;version="[2.4,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.adapter)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.adapter;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.request)(version&gt;=2.4.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.request;version="[2.4,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource.observation)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource.observation;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource.path)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource.path;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource.runtime)(version&gt;=1.0.0)(!(version&gt;=1.1.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource.runtime;version="[1.0,1.1)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource.runtime.dto)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource.runtime.dto;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.security)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.security;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.wrappers)(version&gt;=2.5.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.wrappers;version="[2.5,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.serviceusermapping)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.serviceusermapping;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.spi.resource.provider)(version&gt;=1.0.0)(!(version&gt;=1.1.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.spi.resource.provider;version="[1.0,1.1)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.event)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.event;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.util.tracker)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.util.tracker;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.resourceresolver/1.4.18' symbolicname='org.apache.sling.resourceresolver' presentationname='Apache Sling Resource Resolver' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.resourceresolver-1.4.18.jar' version='1.4.18'>
    <description>This bundle provides the Resource Resolver and the Resource Resolver Factory.</description>
    <size>218920</size>
    <documentation>http://sling.apache.org</documentation>
    <license>https://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.resourceresolver'/>
      <p n='presentationname' v='Apache Sling Resource Resolver'/>
      <p n='version' t='version' v='1.4.18'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.annotation))' extend='false' multiple='false' optional='true'>Import package javax.annotation;resolution:=optional</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.9.0)(!(version&gt;=2.10.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.9,2.10)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.2.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi;version=2.2.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.servlet)(version&gt;=3.1.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.servlet;version="[3.1,4)"</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http)(version&gt;=3.1.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http;version="[3.1,4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections)(version&gt;=3.2.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections;version="[3.2,4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections.bidimap)(version&gt;=3.2.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections.bidimap;version="[3.2,4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections.iterators)(version&gt;=3.2.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections.iterators;version="[3.2,4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.lang)(version&gt;=2.4.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.lang;version="[2.4,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.adapter)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.adapter;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.request)(version&gt;=2.4.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.request;version="[2.4,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource.observation)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource.observation;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource.path)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource.path;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource.runtime)(version&gt;=1.0.0)(!(version&gt;=1.1.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource.runtime;version="[1.0,1.1)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource.runtime.dto)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource.runtime.dto;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.security)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.security;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.wrappers)(version&gt;=2.5.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.wrappers;version="[2.5,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.serviceusermapping)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.serviceusermapping;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.spi.resource.provider)(version&gt;=1.0.0)(!(version&gt;=1.1.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.spi.resource.provider;version="[1.0,1.1)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.8.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.8,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.event)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.event;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.util.tracker)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.util.tracker;version="[1.5,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.7.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.7,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.7))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.7))</require>
  </resource>
  <resource id='org.apache.sling.resourceresolver/1.2.4' symbolicname='org.apache.sling.resourceresolver' presentationname='Apache Sling Resource Resolver' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.resourceresolver/1.2.4/org.apache.sling.resourceresolver-1.2.4.jar' version='1.2.4'>
    <description>This bundle provides the Resource Resolver and the Resource Resolver Factory.</description>
    <size>168212</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.resourceresolver'/>
      <p n='presentationname' v='Apache Sling Resource Resolver'/>
      <p n='version' t='version' v='1.2.4'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.8.0)(!(version&gt;=2.9.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.8,2.9)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.2.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi;version=2.2.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections)(version&gt;=3.2.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections;version="[3.2,4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections.bidimap)(version&gt;=3.2.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections.bidimap;version="[3.2,4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.adapter)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.adapter;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.request)(version&gt;=2.4.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.request;version="[2.4,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.security)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.security;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.wrappers)(version&gt;=2.5.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.wrappers;version="[2.5,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.serviceusermapping)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.serviceusermapping;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.event)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.event;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='package' filter='(&amp;(package=javax.annotation))' extend='false' multiple='false' optional='true'>Import package javax.annotation;resolution:=optional</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.resourceresolver/1.4.16' symbolicname='org.apache.sling.resourceresolver' presentationname='Apache Sling Resource Resolver' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.resourceresolver/1.4.16/org.apache.sling.resourceresolver-1.4.16.jar' version='1.4.16'>
    <description>This bundle provides the Resource Resolver and the Resource Resolver Factory.</description>
    <size>218638</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.resourceresolver'/>
      <p n='presentationname' v='Apache Sling Resource Resolver'/>
      <p n='version' t='version' v='1.4.16'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.annotation))' extend='false' multiple='false' optional='true'>Import package javax.annotation;resolution:=optional</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.9.0)(!(version&gt;=2.10.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.9,2.10)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.2.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi;version=2.2.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections)(version&gt;=3.2.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections;version="[3.2,4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections.bidimap)(version&gt;=3.2.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections.bidimap;version="[3.2,4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections.iterators)(version&gt;=3.2.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections.iterators;version="[3.2,4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.lang)(version&gt;=2.4.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.lang;version="[2.4,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.adapter)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.adapter;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.request)(version&gt;=2.4.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.request;version="[2.4,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource.observation)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource.observation;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource.path)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource.path;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource.runtime)(version&gt;=1.0.0)(!(version&gt;=1.1.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource.runtime;version="[1.0,1.1)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource.runtime.dto)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource.runtime.dto;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.security)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.security;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.wrappers)(version&gt;=2.5.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.wrappers;version="[2.5,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.serviceusermapping)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.serviceusermapping;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.spi.resource.provider)(version&gt;=1.0.0)(!(version&gt;=1.1.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.spi.resource.provider;version="[1.0,1.1)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.event)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.event;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.util.tracker)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.util.tracker;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.discovery.impl/1.2.6' symbolicname='org.apache.sling.discovery.impl' presentationname='Apache Sling Resource-Based Discovery Service' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.discovery.impl/1.2.6/org.apache.sling.discovery.impl-1.2.6.jar' version='1.2.6'>
    <description>Implementation of Apache Sling Discovery based on Sling Resource providing a ClusterView through resource-clustering (eg jackrabbit clustering) and a TopologyView through HTTP POST heartbeats announcing sub-topologies to each other.</description>
    <size>107284</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.discovery.impl'/>
      <p n='presentationname' v='Apache Sling Resource-Based Discovery Service'/>
      <p n='version' t='version' v='1.2.6'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.management))' extend='false' multiple='false' optional='false'>Import package javax.management</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.felix.webconsole)(version&gt;=3.0.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.felix.webconsole;version="[3.0,4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.scheduler)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.scheduler;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.discovery))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.discovery</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.discovery.base.commons)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.discovery.base.commons;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.discovery.base.connectors)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.discovery.base.connectors;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.discovery.base.connectors.announcement)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.discovery.base.connectors.announcement;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.discovery.base.connectors.ping)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.discovery.base.connectors.ping;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.discovery.commons.providers)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.discovery.commons.providers;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.discovery.commons.providers.base)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.discovery.commons.providers.base;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.discovery.commons.providers.spi)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.discovery.commons.providers.spi;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.discovery.commons.providers.spi.base)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.discovery.commons.providers.spi.base;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.discovery.commons.providers.util)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.discovery.commons.providers.util;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.settings)(version&gt;=1.2.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.settings;version="[1.2,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.event)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.event;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.6.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.6,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.discovery.impl/1.0.10' symbolicname='org.apache.sling.discovery.impl' presentationname='Apache Sling Resource-Based Discovery Service' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.discovery.impl/1.0.10/org.apache.sling.discovery.impl-1.0.10.jar' version='1.0.10'>
    <description>Implementation of Apache Sling Discovery based on Sling Resource providing a ClusterView through resource-clustering (eg jackrabbit clustering) and a TopologyView through HTTP POST heartbeats announcing sub-topologies to each other.</description>
    <size>145107</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.discovery.impl'/>
      <p n='presentationname' v='Apache Sling Resource-Based Discovery Service'/>
      <p n='version' t='version' v='1.0.10'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.crypto))' extend='false' multiple='false' optional='false'>Import package javax.crypto</require>
    <require name='package' filter='(&amp;(package=javax.crypto.spec))' extend='false' multiple='false' optional='false'>Import package javax.crypto.spec</require>
    <require name='package' filter='(&amp;(package=javax.jcr)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.codec.binary))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.codec.binary</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.httpclient))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.httpclient</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.httpclient.auth))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.httpclient.auth</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.httpclient.methods))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.httpclient.methods</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.httpclient.params))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.httpclient.params</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.io)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.io;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.felix.webconsole)(version&gt;=3.0.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.felix.webconsole;version="[3.0,4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.scheduler)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.scheduler;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.discovery)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.discovery;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.launchpad.api)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.launchpad.api;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.settings)(version&gt;=1.2.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.settings;version="[1.2,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.event)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.event;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.http)(version&gt;=1.2.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.http;version="[1.2,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.6.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.6,2)"</require>
    <require name='ee' filter='(|(ee=J2SE-1.5))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=J2SE-1.5))</require>
  </resource>
  <resource id='org.apache.sling.discovery.impl/1.1.6' symbolicname='org.apache.sling.discovery.impl' presentationname='Apache Sling Resource-Based Discovery Service' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.discovery.impl/1.1.6/org.apache.sling.discovery.impl-1.1.6.jar' version='1.1.6'>
    <description>Implementation of Apache Sling Discovery based on Sling Resource providing a ClusterView through resource-clustering (eg jackrabbit clustering) and a TopologyView through HTTP POST heartbeats announcing sub-topologies to each other.</description>
    <size>157549</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.discovery.impl'/>
      <p n='presentationname' v='Apache Sling Resource-Based Discovery Service'/>
      <p n='version' t='version' v='1.1.6'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.crypto))' extend='false' multiple='false' optional='false'>Import package javax.crypto</require>
    <require name='package' filter='(&amp;(package=javax.crypto.spec))' extend='false' multiple='false' optional='false'>Import package javax.crypto.spec</require>
    <require name='package' filter='(&amp;(package=javax.jcr)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.management))' extend='false' multiple='false' optional='false'>Import package javax.management</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.codec.binary))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.codec.binary</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.io)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.io;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.felix.webconsole)(version&gt;=3.0.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.felix.webconsole;version="[3.0,4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.http))' extend='false' multiple='false' optional='false'>Import package org.apache.http</require>
    <require name='package' filter='(&amp;(package=org.apache.http.auth)(version&gt;=4.3.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.http.auth;version="[4.3,5)"</require>
    <require name='package' filter='(&amp;(package=org.apache.http.client)(version&gt;=4.3.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.http.client;version="[4.3,5)"</require>
    <require name='package' filter='(&amp;(package=org.apache.http.client.config)(version&gt;=4.3.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.http.client.config;version="[4.3,5)"</require>
    <require name='package' filter='(&amp;(package=org.apache.http.client.methods)(version&gt;=4.3.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.http.client.methods;version="[4.3,5)"</require>
    <require name='package' filter='(&amp;(package=org.apache.http.client.protocol)(version&gt;=4.3.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.http.client.protocol;version="[4.3,5)"</require>
    <require name='package' filter='(&amp;(package=org.apache.http.config))' extend='false' multiple='false' optional='false'>Import package org.apache.http.config</require>
    <require name='package' filter='(&amp;(package=org.apache.http.entity))' extend='false' multiple='false' optional='false'>Import package org.apache.http.entity</require>
    <require name='package' filter='(&amp;(package=org.apache.http.impl.client)(version&gt;=4.3.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.http.impl.client;version="[4.3,5)"</require>
    <require name='package' filter='(&amp;(package=org.apache.http.protocol))' extend='false' multiple='false' optional='false'>Import package org.apache.http.protocol</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.scheduler)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.scheduler;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.discovery))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.discovery</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.launchpad.api)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.launchpad.api;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.settings)(version&gt;=1.2.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.settings;version="[1.2,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.event)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.event;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.http)(version&gt;=1.2.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.http;version="[1.2,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.6.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.6,2)"</require>
    <require name='ee' filter='(|(ee=J2SE-1.5))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=J2SE-1.5))</require>
  </resource>
  <resource id='org.apache.sling.discovery.impl/1.2.8' symbolicname='org.apache.sling.discovery.impl' presentationname='Apache Sling Resource-Based Discovery Service' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.discovery.impl/1.2.8/org.apache.sling.discovery.impl-1.2.8.jar' version='1.2.8'>
    <description>Implementation of Apache Sling Discovery based on Sling Resource providing a ClusterView through resource-clustering (eg jackrabbit clustering) and a TopologyView through HTTP POST heartbeats announcing sub-topologies to each other.</description>
    <size>107833</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.discovery.impl'/>
      <p n='presentationname' v='Apache Sling Resource-Based Discovery Service'/>
      <p n='version' t='version' v='1.2.8'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.management))' extend='false' multiple='false' optional='false'>Import package javax.management</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.felix.webconsole)(version&gt;=3.0.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.felix.webconsole;version="[3.0,4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.scheduler)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.scheduler;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.discovery))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.discovery</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.discovery.base.commons)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.discovery.base.commons;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.discovery.base.connectors)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.discovery.base.connectors;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.discovery.base.connectors.announcement)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.discovery.base.connectors.announcement;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.discovery.base.connectors.ping)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.discovery.base.connectors.ping;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.discovery.commons.providers)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.discovery.commons.providers;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.discovery.commons.providers.base)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.discovery.commons.providers.base;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.discovery.commons.providers.spi)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.discovery.commons.providers.spi;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.discovery.commons.providers.spi.base)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.discovery.commons.providers.spi.base;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.discovery.commons.providers.util)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.discovery.commons.providers.util;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.settings)(version&gt;=1.2.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.settings;version="[1.2,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.event)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.event;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.6.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.6,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.discovery.impl/1.1.0' symbolicname='org.apache.sling.discovery.impl' presentationname='Apache Sling Resource-Based Discovery Service' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.discovery.impl/1.1.0/org.apache.sling.discovery.impl-1.1.0.jar' version='1.1.0'>
    <description>Implementation of Apache Sling Discovery based on Sling Resource providing a ClusterView through resource-clustering (eg jackrabbit clustering) and a TopologyView through HTTP POST heartbeats announcing sub-topologies to each other.</description>
    <size>147811</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.discovery.impl'/>
      <p n='presentationname' v='Apache Sling Resource-Based Discovery Service'/>
      <p n='version' t='version' v='1.1.0'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.crypto))' extend='false' multiple='false' optional='false'>Import package javax.crypto</require>
    <require name='package' filter='(&amp;(package=javax.crypto.spec))' extend='false' multiple='false' optional='false'>Import package javax.crypto.spec</require>
    <require name='package' filter='(&amp;(package=javax.jcr)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.codec.binary))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.codec.binary</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.io)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.io;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.felix.webconsole)(version&gt;=3.0.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.felix.webconsole;version="[3.0,4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.http))' extend='false' multiple='false' optional='false'>Import package org.apache.http</require>
    <require name='package' filter='(&amp;(package=org.apache.http.auth)(version&gt;=4.3.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.http.auth;version="[4.3,5)"</require>
    <require name='package' filter='(&amp;(package=org.apache.http.client)(version&gt;=4.3.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.http.client;version="[4.3,5)"</require>
    <require name='package' filter='(&amp;(package=org.apache.http.client.config)(version&gt;=4.3.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.http.client.config;version="[4.3,5)"</require>
    <require name='package' filter='(&amp;(package=org.apache.http.client.methods)(version&gt;=4.3.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.http.client.methods;version="[4.3,5)"</require>
    <require name='package' filter='(&amp;(package=org.apache.http.client.protocol)(version&gt;=4.3.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.http.client.protocol;version="[4.3,5)"</require>
    <require name='package' filter='(&amp;(package=org.apache.http.config))' extend='false' multiple='false' optional='false'>Import package org.apache.http.config</require>
    <require name='package' filter='(&amp;(package=org.apache.http.entity))' extend='false' multiple='false' optional='false'>Import package org.apache.http.entity</require>
    <require name='package' filter='(&amp;(package=org.apache.http.impl.client)(version&gt;=4.3.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.http.impl.client;version="[4.3,5)"</require>
    <require name='package' filter='(&amp;(package=org.apache.http.protocol))' extend='false' multiple='false' optional='false'>Import package org.apache.http.protocol</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.scheduler)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.scheduler;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.discovery))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.discovery</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.launchpad.api)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.launchpad.api;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.settings)(version&gt;=1.2.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.settings;version="[1.2,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.event)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.event;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.http)(version&gt;=1.2.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.http;version="[1.2,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.6.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.6,2)"</require>
    <require name='ee' filter='(|(ee=J2SE-1.5))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=J2SE-1.5))</require>
  </resource>
  <resource id='org.apache.sling.rewriter/1.0.4' symbolicname='org.apache.sling.rewriter' presentationname='Apache Sling Rewriter' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.rewriter/1.0.4/org.apache.sling.rewriter-1.0.4.jar' version='1.0.4'>
    <description>The Apache Sling rewriter allows configurable post processing of any output        from Apache Sling. The output can be processed by a configurable processor        or a configurable pipeline.</description>
    <size>68563</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.rewriter'/>
      <p n='presentationname' v='Apache Sling Rewriter'/>
      <p n='version' t='version' v='1.0.4'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.rewriter'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='org.xml.sax,org.apache.sling.api.resource,org.apache.sling.api'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform.sax))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform.sax</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform.stream))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform.stream</require>
    <require name='package' filter='(&amp;(package=org.apache.cocoon.components.serializers.util)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='true'>Import package org.apache.cocoon.components.serializers.util;resolution:=optional;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.request)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.request;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.wrappers)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.wrappers;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.html)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.html;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.rewriter)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.rewriter;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.event)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.event;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.util.tracker)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.util.tracker;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='package' filter='(&amp;(package=org.xml.sax))' extend='false' multiple='false' optional='false'>Import package org.xml.sax</require>
    <require name='package' filter='(&amp;(package=org.xml.sax.ext))' extend='false' multiple='false' optional='false'>Import package org.xml.sax.ext</require>
    <require name='package' filter='(&amp;(package=org.xml.sax.helpers))' extend='false' multiple='false' optional='false'>Import package org.xml.sax.helpers</require>
  </resource>
  <resource id='org.apache.sling.rewriter/1.1.4' symbolicname='org.apache.sling.rewriter' presentationname='Apache Sling Rewriter' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.rewriter/1.1.4/org.apache.sling.rewriter-1.1.4.jar' version='1.1.4'>
    <description>The Apache Sling rewriter allows configurable post processing of any output        from Apache Sling. The output can be processed by a configurable processor        or a configurable pipeline.</description>
    <size>80283</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.rewriter'/>
      <p n='presentationname' v='Apache Sling Rewriter'/>
      <p n='version' t='version' v='1.1.4'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.rewriter'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='org.apache.sling.api,org.apache.sling.api.resource,org.xml.sax'/>
    </capability>
    <require name='package' filter='(&amp;(package=org.apache.cocoon.components.serializers.util)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='true'>Import package org.apache.cocoon.components.serializers.util;resolution:=optional;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform.sax))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform.sax</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform.stream))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform.stream</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.request)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.request;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.wrappers)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.wrappers;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.html)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.html;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.rewriter)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.rewriter;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.event)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.event;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.util.tracker)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.util.tracker;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='package' filter='(&amp;(package=org.xml.sax))' extend='false' multiple='false' optional='false'>Import package org.xml.sax</require>
    <require name='package' filter='(&amp;(package=org.xml.sax.ext))' extend='false' multiple='false' optional='false'>Import package org.xml.sax.ext</require>
    <require name='package' filter='(&amp;(package=org.xml.sax.helpers))' extend='false' multiple='false' optional='false'>Import package org.xml.sax.helpers</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.samples.path-based.rtp/2.0.4' symbolicname='org.apache.sling.samples.path-based.rtp' presentationname='Apache Sling Sample Path Based Resource Type Provider' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.samples.path-based.rtp/2.0.4/org.apache.sling.samples.path-based.rtp-2.0.4.jar' version='2.0.4'>
    <description>Provides a configurable path-based sample resource type provider        for resources which do not have an explicit one.</description>
    <size>15412</size>
    <documentation>http://sling.apache.org</documentation>
    <source>org/apache/sling/samples/org.apache.sling.samples.path-based.rtp/2.0.4/org.apache.sling.samples.path-based.rtp-2.0.4-sources.jar</source>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <category id='jcr'/>
    <category id='org.apache.sling.samples'/>
    <capability name='bundle'>
      <p n='manifestversion' v='2'/>
      <p n='presentationname' v='Apache Sling Sample Path Based Resource Type Provider'/>
      <p n='symbolicname' v='org.apache.sling.samples.path-based.rtp'/>
      <p n='version' t='version' v='2.0.4'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.samples.pathbasedrtp'/>
      <p n='uses' v='org.slf4j,javax.jcr.nodetype,org.osgi.service.component,javax.jcr,org.apache.sling.jcr.resource'/>
      <p n='version' t='version' v='0.0.0'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.nodetype)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.nodetype ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.resource)(version&gt;=2.0.6))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.resource ;version=2.0.6</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.samples.pathbasedrtp))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.samples.pathbasedrtp</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.2))' extend='false' multiple='false' optional='false'>Import package org.slf4j ;version=1.5.2</require>
  </resource>
  <resource id='org.apache.sling.testing.samples.sampletests/1.0.6' symbolicname='org.apache.sling.testing.samples.sampletests' presentationname='Apache Sling Sample Server-Side Tests' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.testing.samples.sampletests/1.0.6/org.apache.sling.testing.samples.sampletests-1.0.6.jar' version='1.0.6'>
    <description>Bundle that supplies sample server-side test classes for the Sling JUnit extensions</description>
    <size>11641</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.testing.samples.sampletests'/>
      <p n='presentationname' v='Apache Sling Sample Server-Side Tests'/>
      <p n='version' t='version' v='1.0.6'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <require name='package' filter='(&amp;(package=junit.framework)(version&gt;=4.8.0))' extend='false' multiple='false' optional='false'>Import package junit.framework;version=4.8</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.junit.annotations)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.junit.annotations;version=1.0</require>
    <require name='package' filter='(&amp;(package=org.junit)(version&gt;=4.8.0))' extend='false' multiple='false' optional='false'>Import package org.junit;version=4.8</require>
    <require name='package' filter='(&amp;(package=org.junit.runner)(version&gt;=4.8.0))' extend='false' multiple='false' optional='false'>Import package org.junit.runner;version=4.8</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version=1.4</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.cm)(version&gt;=1.2.0))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.cm;version=1.2</require>
  </resource>
  <resource id='org.apache.sling.commons.scheduler/2.0.4.incubator' symbolicname='org.apache.sling.commons.scheduler' presentationname='Apache Sling Scheduler Support' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.commons.scheduler/2.0.4.incubator/org.apache.sling.commons.scheduler-2.0.4.incubator.jar' version='2.0.4.incubator'>
    <description>Support for scheduling.</description>
    <size>971760</size>
    <documentation>http://incubator.apache.org/sling</documentation>
    <source>org/apache/sling/org.apache.sling.commons.scheduler/2.0.4-incubator/org.apache.sling.commons.scheduler-2.0.4-incubator-sources.jar</source>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='org.apache.sling'/>
    <capability name='bundle'>
      <p n='manifestversion' v='2'/>
      <p n='presentationname' v='Apache Sling Scheduler Support'/>
      <p n='symbolicname' v='org.apache.sling.commons.scheduler'/>
      <p n='version' t='version' v='2.0.4.incubator'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.commons.scheduler'/>
      <p n='version' t='version' v='2.0.4.incubator'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.management))' extend='false' multiple='false' optional='false'>Import package javax.management</require>
    <require name='package' filter='(&amp;(package=javax.management.loading))' extend='false' multiple='false' optional='false'>Import package javax.management.loading</require>
    <require name='package' filter='(&amp;(package=javax.management.modelmbean))' extend='false' multiple='false' optional='false'>Import package javax.management.modelmbean</require>
    <require name='package' filter='(&amp;(package=javax.naming))' extend='false' multiple='false' optional='false'>Import package javax.naming</require>
    <require name='package' filter='(&amp;(package=javax.naming.spi))' extend='false' multiple='false' optional='false'>Import package javax.naming.spi</require>
    <require name='package' filter='(&amp;(package=javax.rmi))' extend='false' multiple='false' optional='false'>Import package javax.rmi</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=javax.sql))' extend='false' multiple='false' optional='false'>Import package javax.sql</require>
    <require name='package' filter='(&amp;(package=javax.transaction))' extend='false' multiple='false' optional='false'>Import package javax.transaction</require>
    <require name='package' filter='(&amp;(package=javax.xml.parsers))' extend='false' multiple='false' optional='false'>Import package javax.xml.parsers</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform.dom))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform.dom</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform.stream))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform.stream</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections.comparators))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections.comparators</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections.keyvalue))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections.keyvalue</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections.list))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections.list</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections.set))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections.set</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.logging))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.logging</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.scheduler)(version&gt;=2.0.4.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.scheduler ;version=2.0.4.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.threads)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.threads ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component</require>
    <require name='package' filter='(&amp;(package=org.slf4j))' extend='false' multiple='false' optional='false'>Import package org.slf4j</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom</require>
    <require name='package' filter='(&amp;(package=org.xml.sax))' extend='false' multiple='false' optional='false'>Import package org.xml.sax</require>
    <require name='package' filter='(&amp;(package=org.xml.sax.helpers))' extend='false' multiple='false' optional='false'>Import package org.xml.sax.helpers</require>
  </resource>
  <resource id='org.apache.sling.commons.scheduler/2.4.6' symbolicname='org.apache.sling.commons.scheduler' presentationname='Apache Sling Scheduler Support' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.commons.scheduler/2.4.6/org.apache.sling.commons.scheduler-2.4.6.jar' version='2.4.6'>
    <description>Support for scheduling.</description>
    <size>654383</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.commons.scheduler'/>
      <p n='presentationname' v='Apache Sling Scheduler Support'/>
      <p n='version' t='version' v='2.4.6'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.commons.scheduler'/>
      <p n='version' t='version' v='2.4.0'/>
    </capability>
    <require name='package' filter='(&amp;(package=org.apache.sling.discovery)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='true'>Import package org.apache.sling.discovery;resolution:=optional;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=javax.management))' extend='false' multiple='false' optional='false'>Import package javax.management</require>
    <require name='package' filter='(&amp;(package=javax.management.openmbean))' extend='false' multiple='false' optional='false'>Import package javax.management.openmbean</require>
    <require name='package' filter='(&amp;(package=javax.naming))' extend='false' multiple='false' optional='false'>Import package javax.naming</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=javax.sql))' extend='false' multiple='false' optional='false'>Import package javax.sql</require>
    <require name='package' filter='(&amp;(package=javax.transaction))' extend='false' multiple='false' optional='false'>Import package javax.transaction</require>
    <require name='package' filter='(&amp;(package=javax.xml.bind))' extend='false' multiple='false' optional='false'>Import package javax.xml.bind</require>
    <require name='package' filter='(&amp;(package=javax.xml.namespace))' extend='false' multiple='false' optional='false'>Import package javax.xml.namespace</require>
    <require name='package' filter='(&amp;(package=javax.xml.parsers))' extend='false' multiple='false' optional='false'>Import package javax.xml.parsers</require>
    <require name='package' filter='(&amp;(package=javax.xml.xpath))' extend='false' multiple='false' optional='false'>Import package javax.xml.xpath</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.scheduler)(version&gt;=2.4.0)(!(version&gt;=2.5.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.scheduler;version="[2.4,2.5)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.threads)(version&gt;=3.0.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.threads;version="[3.0,4)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.util.tracker)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.util.tracker;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom</require>
    <require name='package' filter='(&amp;(package=org.xml.sax))' extend='false' multiple='false' optional='false'>Import package org.xml.sax</require>
    <require name='ee' filter='(|(ee=J2SE-1.5))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=J2SE-1.5))</require>
  </resource>
  <resource id='org.apache.sling.commons.scheduler/2.5.0' symbolicname='org.apache.sling.commons.scheduler' presentationname='Apache Sling Scheduler Support' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.commons.scheduler/2.5.0/org.apache.sling.commons.scheduler-2.5.0.jar' version='2.5.0'>
    <description>Support for scheduling.</description>
    <size>663343</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.commons.scheduler'/>
      <p n='presentationname' v='Apache Sling Scheduler Support'/>
      <p n='version' t='version' v='2.5.0'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.commons.scheduler'/>
      <p n='version' t='version' v='2.5.0'/>
    </capability>
    <require name='package' filter='(&amp;(package=org.apache.sling.discovery)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='true'>Import package org.apache.sling.discovery;resolution:=optional;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.settings)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='true'>Import package org.apache.sling.settings;resolution:=optional;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=javax.management))' extend='false' multiple='false' optional='false'>Import package javax.management</require>
    <require name='package' filter='(&amp;(package=javax.management.openmbean))' extend='false' multiple='false' optional='false'>Import package javax.management.openmbean</require>
    <require name='package' filter='(&amp;(package=javax.naming))' extend='false' multiple='false' optional='false'>Import package javax.naming</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=javax.sql))' extend='false' multiple='false' optional='false'>Import package javax.sql</require>
    <require name='package' filter='(&amp;(package=javax.transaction))' extend='false' multiple='false' optional='false'>Import package javax.transaction</require>
    <require name='package' filter='(&amp;(package=javax.xml.bind))' extend='false' multiple='false' optional='false'>Import package javax.xml.bind</require>
    <require name='package' filter='(&amp;(package=javax.xml.namespace))' extend='false' multiple='false' optional='false'>Import package javax.xml.namespace</require>
    <require name='package' filter='(&amp;(package=javax.xml.parsers))' extend='false' multiple='false' optional='false'>Import package javax.xml.parsers</require>
    <require name='package' filter='(&amp;(package=javax.xml.xpath))' extend='false' multiple='false' optional='false'>Import package javax.xml.xpath</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.scheduler)(version&gt;=2.5.0)(!(version&gt;=2.6.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.scheduler;version="[2.5,2.6)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.threads)(version&gt;=3.3.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.threads;version="[3.3,4)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.util.tracker)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.util.tracker;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom</require>
    <require name='package' filter='(&amp;(package=org.xml.sax))' extend='false' multiple='false' optional='false'>Import package org.xml.sax</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.commons.scheduler/2.4.12' symbolicname='org.apache.sling.commons.scheduler' presentationname='Apache Sling Scheduler Support' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.commons.scheduler/2.4.12/org.apache.sling.commons.scheduler-2.4.12.jar' version='2.4.12'>
    <description>Support for scheduling.</description>
    <size>659981</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.commons.scheduler'/>
      <p n='presentationname' v='Apache Sling Scheduler Support'/>
      <p n='version' t='version' v='2.4.12'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.commons.scheduler'/>
      <p n='version' t='version' v='2.4.0'/>
    </capability>
    <require name='package' filter='(&amp;(package=org.apache.sling.discovery)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='true'>Import package org.apache.sling.discovery;resolution:=optional;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.settings)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='true'>Import package org.apache.sling.settings;resolution:=optional;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=javax.management))' extend='false' multiple='false' optional='false'>Import package javax.management</require>
    <require name='package' filter='(&amp;(package=javax.management.openmbean))' extend='false' multiple='false' optional='false'>Import package javax.management.openmbean</require>
    <require name='package' filter='(&amp;(package=javax.naming))' extend='false' multiple='false' optional='false'>Import package javax.naming</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=javax.sql))' extend='false' multiple='false' optional='false'>Import package javax.sql</require>
    <require name='package' filter='(&amp;(package=javax.transaction))' extend='false' multiple='false' optional='false'>Import package javax.transaction</require>
    <require name='package' filter='(&amp;(package=javax.xml.bind))' extend='false' multiple='false' optional='false'>Import package javax.xml.bind</require>
    <require name='package' filter='(&amp;(package=javax.xml.namespace))' extend='false' multiple='false' optional='false'>Import package javax.xml.namespace</require>
    <require name='package' filter='(&amp;(package=javax.xml.parsers))' extend='false' multiple='false' optional='false'>Import package javax.xml.parsers</require>
    <require name='package' filter='(&amp;(package=javax.xml.xpath))' extend='false' multiple='false' optional='false'>Import package javax.xml.xpath</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.scheduler)(version&gt;=2.4.0)(!(version&gt;=2.5.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.scheduler;version="[2.4,2.5)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.threads)(version&gt;=3.0.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.threads;version="[3.0,4)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.util.tracker)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.util.tracker;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom</require>
    <require name='package' filter='(&amp;(package=org.xml.sax))' extend='false' multiple='false' optional='false'>Import package org.xml.sax</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.commons.scheduler/2.4.8' symbolicname='org.apache.sling.commons.scheduler' presentationname='Apache Sling Scheduler Support' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.commons.scheduler/2.4.8/org.apache.sling.commons.scheduler-2.4.8.jar' version='2.4.8'>
    <description>Support for scheduling.</description>
    <size>658088</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.commons.scheduler'/>
      <p n='presentationname' v='Apache Sling Scheduler Support'/>
      <p n='version' t='version' v='2.4.8'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.commons.scheduler'/>
      <p n='version' t='version' v='2.4.0'/>
    </capability>
    <require name='package' filter='(&amp;(package=org.apache.sling.discovery)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='true'>Import package org.apache.sling.discovery;resolution:=optional;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.settings)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='true'>Import package org.apache.sling.settings;resolution:=optional;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=javax.management))' extend='false' multiple='false' optional='false'>Import package javax.management</require>
    <require name='package' filter='(&amp;(package=javax.management.openmbean))' extend='false' multiple='false' optional='false'>Import package javax.management.openmbean</require>
    <require name='package' filter='(&amp;(package=javax.naming))' extend='false' multiple='false' optional='false'>Import package javax.naming</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=javax.sql))' extend='false' multiple='false' optional='false'>Import package javax.sql</require>
    <require name='package' filter='(&amp;(package=javax.transaction))' extend='false' multiple='false' optional='false'>Import package javax.transaction</require>
    <require name='package' filter='(&amp;(package=javax.xml.bind))' extend='false' multiple='false' optional='false'>Import package javax.xml.bind</require>
    <require name='package' filter='(&amp;(package=javax.xml.namespace))' extend='false' multiple='false' optional='false'>Import package javax.xml.namespace</require>
    <require name='package' filter='(&amp;(package=javax.xml.parsers))' extend='false' multiple='false' optional='false'>Import package javax.xml.parsers</require>
    <require name='package' filter='(&amp;(package=javax.xml.xpath))' extend='false' multiple='false' optional='false'>Import package javax.xml.xpath</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.scheduler)(version&gt;=2.4.0)(!(version&gt;=2.5.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.scheduler;version="[2.4,2.5)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.threads)(version&gt;=3.0.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.threads;version="[3.0,4)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.util.tracker)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.util.tracker;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom</require>
    <require name='package' filter='(&amp;(package=org.xml.sax))' extend='false' multiple='false' optional='false'>Import package org.xml.sax</require>
    <require name='ee' filter='(|(ee=J2SE-1.5))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=J2SE-1.5))</require>
  </resource>
  <resource id='org.apache.sling.scripting.console/1.0.0' symbolicname='org.apache.sling.scripting.console' presentationname='Apache Sling Script Console' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.scripting.console/1.0.0/org.apache.sling.scripting.console-1.0.0.jar' version='1.0.0'>
    <description>Web Console plugin for evaluating scripts</description>
    <size>63018</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.scripting.console'/>
      <p n='presentationname' v='Apache Sling Script Console'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.script))' extend='false' multiple='false' optional='false'>Import package javax.script</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.fileupload))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.fileupload</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.io))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.io</require>
    <require name='package' filter='(&amp;(package=org.apache.felix.webconsole)(version&gt;=3.0.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.felix.webconsole;version="[3.0,4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.scripting)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.scripting;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json.io)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json.io;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.5,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=J2SE-1.5))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=J2SE-1.5))</require>
  </resource>
  <resource id='org.apache.sling.scripting.core/2.0.30' symbolicname='org.apache.sling.scripting.core' presentationname='Apache Sling Scripting Core implementation' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.scripting.core/2.0.30/org.apache.sling.scripting.core-2.0.30.jar' version='2.0.30'>
    <description>Sling Scripting core functionality</description>
    <size>82169</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.scripting.core'/>
      <p n='presentationname' v='Apache Sling Scripting Core implementation'/>
      <p n='version' t='version' v='2.0.30'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.core'/>
      <p n='version' t='version' v='2.1.0'/>
      <p n='uses:' v='org.apache.sling.api,org.apache.sling.api.request,org.apache.sling.api.resource,org.apache.sling.api.scripting,org.apache.sling.scripting.api,org.osgi.framework'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.core.servlet'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='javax.servlet,javax.servlet.http'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.script))' extend='false' multiple='false' optional='false'>Import package javax.script</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.io)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.io;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.lang)(version&gt;=2.4.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.lang;version="[2.4,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.felix.webconsole)(version&gt;=3.1.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.felix.webconsole;version="[3.1,4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.adapter)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.adapter;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.request)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.request;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.scripting)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.scripting;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.wrappers)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.wrappers;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.mime)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.mime;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.threads)(version&gt;=3.1.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.threads;version="[3.1,4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.api)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.api;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.5,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.event)(version&gt;=1.2.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.event;version="[1.2,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.util.tracker)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.util.tracker;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.scripting.core/2.0.34' symbolicname='org.apache.sling.scripting.core' presentationname='Apache Sling Scripting Core implementation' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.scripting.core-2.0.34.jar' version='2.0.34'>
    <description>Sling Scripting core functionality</description>
    <size>82469</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.scripting.core'/>
      <p n='presentationname' v='Apache Sling Scripting Core implementation'/>
      <p n='version' t='version' v='2.0.34'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.core'/>
      <p n='version' t='version' v='2.1.0'/>
      <p n='uses:' v='org.apache.sling.api,org.apache.sling.api.request,org.apache.sling.api.resource,org.apache.sling.api.scripting,org.apache.sling.scripting.api,org.osgi.framework'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.core.servlet'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='javax.servlet,javax.servlet.http'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.script))' extend='false' multiple='false' optional='false'>Import package javax.script</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.io)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.io;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.lang)(version&gt;=2.4.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.lang;version="[2.4,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.felix.webconsole)(version&gt;=3.1.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.felix.webconsole;version="[3.1,4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.adapter)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.adapter;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.request)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.request;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.scripting)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.scripting;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.wrappers)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.wrappers;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.mime)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.mime;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.threads)(version&gt;=3.1.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.threads;version="[3.1,4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.api)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.api;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.5,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.event)(version&gt;=1.2.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.event;version="[1.2,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.util.tracker)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.util.tracker;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.scripting.core/2.0.38' symbolicname='org.apache.sling.scripting.core' presentationname='Apache Sling Scripting Core implementation' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.scripting.core/2.0.38/org.apache.sling.scripting.core-2.0.38.jar' version='2.0.38'>
    <description>Sling Scripting core functionality</description>
    <size>82429</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.scripting.core'/>
      <p n='presentationname' v='Apache Sling Scripting Core implementation'/>
      <p n='version' t='version' v='2.0.38'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.core'/>
      <p n='version' t='version' v='2.1.0'/>
      <p n='uses:' v='org.apache.sling.api,org.apache.sling.api.request,org.apache.sling.api.resource,org.apache.sling.api.scripting,org.apache.sling.scripting.api,org.osgi.framework'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.core.servlet'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='javax.servlet,javax.servlet.http'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.script))' extend='false' multiple='false' optional='false'>Import package javax.script</require>
    <require name='package' filter='(&amp;(package=javax.servlet)(version&gt;=3.0.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.servlet;version="[3.0,4)"</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http)(version&gt;=3.0.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http;version="[3.0,4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.io)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.io;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.lang)(version&gt;=2.4.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.lang;version="[2.4,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.felix.webconsole)(version&gt;=3.1.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.felix.webconsole;version="[3.1,4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.adapter)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.adapter;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.request)(version&gt;=2.4.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.request;version="[2.4,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.9.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.9,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.scripting)(version&gt;=2.3.0)(!(version&gt;=2.4.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.scripting;version="[2.3,2.4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.wrappers)(version&gt;=2.5.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.wrappers;version="[2.5,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.mime)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.mime;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.threads)(version&gt;=3.1.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.threads;version="[3.1,4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.api)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.api;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.5,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.event)(version&gt;=1.2.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.event;version="[1.2,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.util.tracker)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.util.tracker;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.scripting.core/2.0.4.incubator' symbolicname='org.apache.sling.scripting.core' presentationname='Apache Sling Scripting Core implementation' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.scripting.core/2.0.4.incubator/org.apache.sling.scripting.core-2.0.4.incubator.jar' version='2.0.4.incubator'>
    <description>Sling Scripting core functionality</description>
    <size>33878</size>
    <documentation>http://incubator.apache.org/sling</documentation>
    <source>org/apache/sling/org.apache.sling.scripting.core/2.0.4-incubator/org.apache.sling.scripting.core-2.0.4-incubator-sources.jar</source>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='org.apache.sling'/>
    <capability name='bundle'>
      <p n='manifestversion' v='2'/>
      <p n='presentationname' v='Apache Sling Scripting Core implementation'/>
      <p n='symbolicname' v='org.apache.sling.scripting.core'/>
      <p n='version' t='version' v='2.0.4.incubator'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.core'/>
      <p n='uses:' v='javax.servlet,org.apache.sling.api.request,org.apache.sling.api.scripting,org.apache.sling.api,org.osgi.framework'/>
      <p n='version' t='version' v='2.0.4.incubator'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.script))' extend='false' multiple='false' optional='false'>Import package javax.script</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.adapter)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.adapter ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.request)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.request ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.scripting)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.scripting ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.wrappers)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.wrappers ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.mime)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.mime ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.core)(version&gt;=2.0.4.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.core ;version=2.0.4.incubator</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component</require>
    <require name='package' filter='(&amp;(package=org.slf4j))' extend='false' multiple='false' optional='false'>Import package org.slf4j</require>
  </resource>
  <resource id='org.apache.sling.scripting.core/2.0.16' symbolicname='org.apache.sling.scripting.core' presentationname='Apache Sling Scripting Core implementation' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.scripting.core/2.0.16/org.apache.sling.scripting.core-2.0.16.jar' version='2.0.16'>
    <description>Sling Scripting core functionality</description>
    <size>50775</size>
    <documentation>http://sling.apache.org</documentation>
    <source>org/apache/sling/org.apache.sling.scripting.core/2.0.16/org.apache.sling.scripting.core-2.0.16-sources.jar</source>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <category id='org.apache.sling'/>
    <capability name='bundle'>
      <p n='manifestversion' v='2'/>
      <p n='presentationname' v='Apache Sling Scripting Core implementation'/>
      <p n='symbolicname' v='org.apache.sling.scripting.core'/>
      <p n='version' t='version' v='2.0.16'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.core'/>
      <p n='uses' v='javax.servlet,org.apache.sling.api.request,org.apache.sling.api.scripting,org.apache.sling.api,org.osgi.framework,org.slf4j,org.apache.sling.api.resource'/>
      <p n='version' t='version' v='2.0.8'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.script))' extend='false' multiple='false' optional='false'>Import package javax.script</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.1.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api ;version=2.1.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.adapter)(version&gt;=2.1.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.adapter ;version=2.1.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.request)(version&gt;=2.1.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.request ;version=2.1.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.1.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource ;version=2.1.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.scripting)(version&gt;=2.1.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.scripting ;version=2.1.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.wrappers)(version&gt;=2.1.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.wrappers ;version=2.1.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.mime)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.mime ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.api)(version&gt;=2.1.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.api ;version=2.1.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.core)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.core ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework ;version=1.4.0</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.event)(version&gt;=1.1.0))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.event ;version=1.1.0</require>
    <require name='package' filter='(&amp;(package=org.osgi.util.tracker)(version&gt;=1.3.0))' extend='false' multiple='false' optional='false'>Import package org.osgi.util.tracker ;version=1.3.0</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0))' extend='false' multiple='false' optional='false'>Import package org.slf4j ;version=1.5.0</require>
  </resource>
  <resource id='org.apache.sling.scripting.core/2.0.28' symbolicname='org.apache.sling.scripting.core' presentationname='Apache Sling Scripting Core implementation' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.scripting.core/2.0.28/org.apache.sling.scripting.core-2.0.28.jar' version='2.0.28'>
    <description>Sling Scripting core functionality</description>
    <size>65342</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.scripting.core'/>
      <p n='presentationname' v='Apache Sling Scripting Core implementation'/>
      <p n='version' t='version' v='2.0.28'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.core'/>
      <p n='version' t='version' v='2.0.8'/>
      <p n='uses:' v='org.apache.sling.api,org.apache.sling.api.request,org.apache.sling.api.resource,org.apache.sling.api.scripting,org.osgi.framework'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.script))' extend='false' multiple='false' optional='false'>Import package javax.script</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.adapter)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.adapter;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.request)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.request;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.scripting)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.scripting;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.wrappers)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.wrappers;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.mime)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.mime;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.api)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.api;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.5,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.event)(version&gt;=1.2.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.event;version="[1.2,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.util.tracker)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.util.tracker;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.scripting.core/2.0.32' symbolicname='org.apache.sling.scripting.core' presentationname='Apache Sling Scripting Core implementation' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.scripting.core/2.0.32/org.apache.sling.scripting.core-2.0.32.jar' version='2.0.32'>
    <description>Sling Scripting core functionality</description>
    <size>82173</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.scripting.core'/>
      <p n='presentationname' v='Apache Sling Scripting Core implementation'/>
      <p n='version' t='version' v='2.0.32'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.core'/>
      <p n='version' t='version' v='2.1.0'/>
      <p n='uses:' v='org.apache.sling.api,org.apache.sling.api.request,org.apache.sling.api.resource,org.apache.sling.api.scripting,org.apache.sling.scripting.api,org.osgi.framework'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.core.servlet'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='javax.servlet,javax.servlet.http'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.script))' extend='false' multiple='false' optional='false'>Import package javax.script</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.io)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.io;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.lang)(version&gt;=2.4.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.lang;version="[2.4,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.felix.webconsole)(version&gt;=3.1.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.felix.webconsole;version="[3.1,4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.adapter)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.adapter;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.request)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.request;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.scripting)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.scripting;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.wrappers)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.wrappers;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.mime)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.mime;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.threads)(version&gt;=3.1.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.threads;version="[3.1,4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.api)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.api;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.5,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.event)(version&gt;=1.2.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.event;version="[1.2,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.util.tracker)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.util.tracker;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.scripting.core/2.0.36' symbolicname='org.apache.sling.scripting.core' presentationname='Apache Sling Scripting Core implementation' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.scripting.core-2.0.36.jar' version='2.0.36'>
    <description>Sling Scripting core functionality</description>
    <size>82589</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.scripting.core'/>
      <p n='presentationname' v='Apache Sling Scripting Core implementation'/>
      <p n='version' t='version' v='2.0.36'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.core'/>
      <p n='version' t='version' v='2.1.0'/>
      <p n='uses:' v='org.apache.sling.api,org.apache.sling.api.request,org.apache.sling.api.resource,org.apache.sling.api.scripting,org.apache.sling.scripting.api,org.osgi.framework'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.core.servlet'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='javax.servlet,javax.servlet.http'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.script))' extend='false' multiple='false' optional='false'>Import package javax.script</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.io)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.io;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.lang)(version&gt;=2.4.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.lang;version="[2.4,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.felix.webconsole)(version&gt;=3.1.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.felix.webconsole;version="[3.1,4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.adapter)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.adapter;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.request)(version&gt;=2.4.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.request;version="[2.4,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.9.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.9,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.scripting)(version&gt;=2.2.0)(!(version&gt;=2.3.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.scripting;version="[2.2,2.3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.wrappers)(version&gt;=2.5.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.wrappers;version="[2.5,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.mime)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.mime;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.threads)(version&gt;=3.1.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.threads;version="[3.1,4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.api)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.api;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.5,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.event)(version&gt;=1.2.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.event;version="[1.2,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.util.tracker)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.util.tracker;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.scripting.core/2.0.40' symbolicname='org.apache.sling.scripting.core' presentationname='Apache Sling Scripting Core implementation' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.scripting.core-2.0.40.jar' version='2.0.40'>
    <description>Sling Scripting core functionality</description>
    <size>84119</size>
    <documentation>http://sling.apache.org</documentation>
    <license>https://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.scripting.core'/>
      <p n='presentationname' v='Apache Sling Scripting Core implementation'/>
      <p n='version' t='version' v='2.0.40'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.core'/>
      <p n='version' t='version' v='2.1.0'/>
      <p n='uses:' v='org.apache.sling.api,org.apache.sling.api.request,org.apache.sling.api.resource,org.apache.sling.api.scripting,org.apache.sling.scripting.api,org.osgi.framework'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.core.servlet'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='javax.servlet,javax.servlet.http'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.annotation))' extend='false' multiple='false' optional='false'>Import package javax.annotation</require>
    <require name='package' filter='(&amp;(package=javax.script))' extend='false' multiple='false' optional='false'>Import package javax.script</require>
    <require name='package' filter='(&amp;(package=javax.servlet)(version&gt;=3.1.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.servlet;version="[3.1,4)"</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http)(version&gt;=3.1.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http;version="[3.1,4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.io)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.io;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.lang)(version&gt;=2.4.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.lang;version="[2.4,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.felix.webconsole)(version&gt;=3.1.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.felix.webconsole;version="[3.1,4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.adapter)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.adapter;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.request)(version&gt;=2.4.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.request;version="[2.4,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.9.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.9,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource.observation)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource.observation;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.scripting)(version&gt;=2.3.0)(!(version&gt;=2.4.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.scripting;version="[2.3,2.4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.wrappers)(version&gt;=2.5.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.wrappers;version="[2.5,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.mime)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.mime;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.threads)(version&gt;=3.1.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.threads;version="[3.1,4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.api)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.api;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.8.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.8,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.event)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.event;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.util.tracker)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.util.tracker;version="[1.5,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.7.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.7,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.7))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.7))</require>
  </resource>
  <resource id='org.apache.sling.scripting.groovy/1.0.0' symbolicname='org.apache.sling.scripting.groovy' presentationname='Apache Sling Scripting Groovy Support' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.scripting.groovy/1.0.0/org.apache.sling.scripting.groovy-1.0.0.jar' version='1.0.0'>
    <description>Support for scripting with Groovy</description>
    <size>13890</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.scripting.groovy'/>
      <p n='presentationname' v='Apache Sling Scripting Groovy Support'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <require name='package' filter='(&amp;(package=groovy.json)(version&gt;=1.8.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package groovy.json;version="[1.8,2)"</require>
    <require name='package' filter='(&amp;(package=groovy.lang)(version&gt;=1.8.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package groovy.lang;version="[1.8,2)"</require>
    <require name='package' filter='(&amp;(package=groovy.text)(version&gt;=1.8.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package groovy.text;version="[1.8,2)"</require>
    <require name='package' filter='(&amp;(package=javax.script))' extend='false' multiple='false' optional='false'>Import package javax.script</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.classloader)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.classloader;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.api)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.api;version="[2.0,3)"</require>
    <require name='ee' filter='(|(ee=J2SE-1.5))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=J2SE-1.5))</require>
  </resource>
  <resource id='org.apache.sling.scripting.groovy/1.0.2' symbolicname='org.apache.sling.scripting.groovy' presentationname='Apache Sling Scripting Groovy Support' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.scripting.groovy/1.0.2/org.apache.sling.scripting.groovy-1.0.2.jar' version='1.0.2'>
    <description>Support for scripting with Groovy</description>
    <size>13985</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.scripting.groovy'/>
      <p n='presentationname' v='Apache Sling Scripting Groovy Support'/>
      <p n='version' t='version' v='1.0.2'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <require name='package' filter='(&amp;(package=groovy.json)(version&gt;=2.4.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package groovy.json;version="[2.4,3)"</require>
    <require name='package' filter='(&amp;(package=groovy.lang)(version&gt;=2.4.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package groovy.lang;version="[2.4,3)"</require>
    <require name='package' filter='(&amp;(package=groovy.text)(version&gt;=2.4.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package groovy.text;version="[2.4,3)"</require>
    <require name='package' filter='(&amp;(package=javax.script))' extend='false' multiple='false' optional='false'>Import package javax.script</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.classloader)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.classloader;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.api)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.api;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.codehaus.groovy.util)(version&gt;=2.4.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.codehaus.groovy.util;version="[2.4,3)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.scripting.sightly.compiler/1.0.2' symbolicname='org.apache.sling.scripting.sightly.compiler' presentationname='Apache Sling Scripting HTL Compiler' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.scripting.sightly.compiler-1.0.2.jar' version='1.0.2'>
    <description>The Apache Sling Scripting HTL Compiler provides support for compiling HTML Template Language scripts into an Abstract        Syntax Tree.</description>
    <size>533334</size>
    <documentation>http://sling.apache.org</documentation>
    <license>https://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.scripting.sightly.compiler'/>
      <p n='presentationname' v='Apache Sling Scripting HTL Compiler'/>
      <p n='version' t='version' v='1.0.2'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.sightly.compiler.backend'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='org.apache.sling.scripting.sightly.compiler.commands'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.sightly.compiler.commands'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='org.apache.sling.scripting.sightly.compiler.expression'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.sightly.compiler'/>
      <p n='version' t='version' v='1.0.1'/>
      <p n='uses:' v='org.apache.sling.scripting.sightly.compiler.backend,org.apache.sling.scripting.sightly.compiler.commands'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.sightly.compiler.expression'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='org.apache.sling.scripting.sightly.compiler.expression.nodes'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.sightly.compiler.expression.nodes'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='org.apache.sling.scripting.sightly.compiler.expression'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.sightly.compiler.util'/>
      <p n='version' t='version' v='1.0.0'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.imageio))' extend='false' multiple='false' optional='false'>Import package javax.imageio</require>
    <require name='package' filter='(&amp;(package=javax.print))' extend='false' multiple='false' optional='false'>Import package javax.print</require>
    <require name='package' filter='(&amp;(package=javax.print.attribute))' extend='false' multiple='false' optional='false'>Import package javax.print.attribute</require>
    <require name='package' filter='(&amp;(package=javax.swing))' extend='false' multiple='false' optional='false'>Import package javax.swing</require>
    <require name='package' filter='(&amp;(package=javax.swing.border))' extend='false' multiple='false' optional='false'>Import package javax.swing.border</require>
    <require name='package' filter='(&amp;(package=javax.swing.event))' extend='false' multiple='false' optional='false'>Import package javax.swing.event</require>
    <require name='package' filter='(&amp;(package=javax.swing.filechooser))' extend='false' multiple='false' optional='false'>Import package javax.swing.filechooser</require>
    <require name='package' filter='(&amp;(package=javax.swing.tree))' extend='false' multiple='false' optional='false'>Import package javax.swing.tree</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.io)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.io;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.lang)(version&gt;=2.5.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.lang;version="[2.5,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.compiler.backend)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.compiler.backend;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.compiler.expression)(version&gt;=1.0.0)(!(version&gt;=1.1.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.compiler.expression;version="[1.0,1.1)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.compiler.util)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.compiler.util;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.7.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.7,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.7))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.7))</require>
  </resource>
  <resource id='org.apache.sling.scripting.sightly.compiler/1.0.0' symbolicname='org.apache.sling.scripting.sightly.compiler' presentationname='Apache Sling Scripting HTL Compiler' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.scripting.sightly.compiler-1.0.0.jar' version='1.0.0'>
    <description>The Apache Sling Scripting HTL Compiler provides support for compiling HTML Template Language scripts into an Abstract        Syntax Tree.</description>
    <size>533408</size>
    <documentation>http://sling.apache.org</documentation>
    <license>https://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.scripting.sightly.compiler'/>
      <p n='presentationname' v='Apache Sling Scripting HTL Compiler'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.sightly.compiler.backend'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='org.apache.sling.scripting.sightly.compiler.commands'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.sightly.compiler.commands'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='org.apache.sling.scripting.sightly.compiler.expression'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.sightly.compiler'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='org.apache.sling.scripting.sightly.compiler.backend,org.apache.sling.scripting.sightly.compiler.commands'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.sightly.compiler.expression'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='org.apache.sling.scripting.sightly.compiler.expression.nodes'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.sightly.compiler.expression.nodes'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='org.apache.sling.scripting.sightly.compiler.expression'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.sightly.compiler.util'/>
      <p n='version' t='version' v='1.0.0'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.imageio))' extend='false' multiple='false' optional='false'>Import package javax.imageio</require>
    <require name='package' filter='(&amp;(package=javax.print))' extend='false' multiple='false' optional='false'>Import package javax.print</require>
    <require name='package' filter='(&amp;(package=javax.print.attribute))' extend='false' multiple='false' optional='false'>Import package javax.print.attribute</require>
    <require name='package' filter='(&amp;(package=javax.swing))' extend='false' multiple='false' optional='false'>Import package javax.swing</require>
    <require name='package' filter='(&amp;(package=javax.swing.border))' extend='false' multiple='false' optional='false'>Import package javax.swing.border</require>
    <require name='package' filter='(&amp;(package=javax.swing.event))' extend='false' multiple='false' optional='false'>Import package javax.swing.event</require>
    <require name='package' filter='(&amp;(package=javax.swing.filechooser))' extend='false' multiple='false' optional='false'>Import package javax.swing.filechooser</require>
    <require name='package' filter='(&amp;(package=javax.swing.tree))' extend='false' multiple='false' optional='false'>Import package javax.swing.tree</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.io)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.io;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.lang)(version&gt;=2.5.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.lang;version="[2.5,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.compiler.backend)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.compiler.backend;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.compiler.expression)(version&gt;=1.0.0)(!(version&gt;=1.1.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.compiler.expression;version="[1.0,1.1)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.compiler.util)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.compiler.util;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.7.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.7,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.7))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.7))</require>
  </resource>
  <resource id='org.apache.sling.scripting.sightly/1.0.26' symbolicname='org.apache.sling.scripting.sightly' presentationname='Apache Sling Scripting HTL Engine' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.scripting.sightly-1.0.26.jar' version='1.0.26'>
    <description>The Apache Sling Scripting HTL Engine is a Java implementation of the HTML Template Language specification. The bundle contains the        HTL script engine and its runtime implementation.</description>
    <size>108530</size>
    <documentation>http://sling.apache.org</documentation>
    <license>https://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.scripting.sightly'/>
      <p n='presentationname' v='Apache Sling Scripting HTL Engine'/>
      <p n='version' t='version' v='1.0.26'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.sightly'/>
      <p n='version' t='version' v='1.0.1'/>
      <p n='uses:' v='org.apache.sling.api,org.apache.sling.api.resource'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.annotation))' extend='false' multiple='false' optional='false'>Import package javax.annotation</require>
    <require name='package' filter='(&amp;(package=javax.script))' extend='false' multiple='false' optional='false'>Import package javax.script</require>
    <require name='package' filter='(&amp;(package=javax.servlet)(version&gt;=3.1.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.servlet;version="[3.1,4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.io)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.io;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.lang)(version&gt;=2.5.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.lang;version="[2.5,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.adapter)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.adapter;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.request)(version&gt;=2.4.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.request;version="[2.4,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.9.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.9,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource.observation)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource.observation;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.scripting)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.scripting;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.servlets)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.servlets;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.wrappers)(version&gt;=2.5.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.wrappers;version="[2.5,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.classloader)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.classloader;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.compiler)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.compiler;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.i18n)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.i18n;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.api)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.api;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.compiler)(version&gt;=1.0.0)(!(version&gt;=1.1.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.compiler;version="[1.0,1.1)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.compiler.backend)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.compiler.backend;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.compiler.expression)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.compiler.expression;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.extension)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.extension;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.java.compiler)(version&gt;=1.1.0)(!(version&gt;=1.2.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.java.compiler;version="[1.1,1.2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.pojo)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.pojo;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.render)(version&gt;=2.0.0)(!(version&gt;=2.1.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.render;version="[2.0,2.1)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.use)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.use;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.xss)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.xss;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.8.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.8,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.7.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.7,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.7))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.7))</require>
  </resource>
  <resource id='org.apache.sling.scripting.sightly/1.0.22' symbolicname='org.apache.sling.scripting.sightly' presentationname='Apache Sling Scripting HTL Engine' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.scripting.sightly-1.0.22.jar' version='1.0.22'>
    <description>The Apache Sling Scripting HTL Engine is a Java implementation of the HTML Template Language specification. The bundle contains the        HTL script engine and its runtime implementation.</description>
    <size>105460</size>
    <documentation>http://sling.apache.org</documentation>
    <license>https://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.scripting.sightly'/>
      <p n='presentationname' v='Apache Sling Scripting HTL Engine'/>
      <p n='version' t='version' v='1.0.22'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.sightly'/>
      <p n='version' t='version' v='1.0.1'/>
      <p n='uses:' v='org.apache.sling.api,org.apache.sling.api.resource'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.annotation))' extend='false' multiple='false' optional='false'>Import package javax.annotation</require>
    <require name='package' filter='(&amp;(package=javax.script))' extend='false' multiple='false' optional='false'>Import package javax.script</require>
    <require name='package' filter='(&amp;(package=javax.servlet)(version&gt;=3.1.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.servlet;version="[3.1,4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.io)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.io;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.lang)(version&gt;=2.5.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.lang;version="[2.5,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.adapter)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.adapter;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.request)(version&gt;=2.4.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.request;version="[2.4,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.9.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.9,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource.observation)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource.observation;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.scripting)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.scripting;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.servlets)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.servlets;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.wrappers)(version&gt;=2.5.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.wrappers;version="[2.5,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.classloader)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.classloader;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.compiler)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.compiler;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.i18n)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.i18n;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.api)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.api;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.compiler)(version&gt;=1.0.0)(!(version&gt;=1.1.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.compiler;version="[1.0,1.1)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.compiler.backend)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.compiler.backend;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.compiler.expression)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.compiler.expression;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.extension)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.extension;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.java.compiler)(version&gt;=1.1.0)(!(version&gt;=1.2.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.java.compiler;version="[1.1,1.2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.pojo)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.pojo;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.render)(version&gt;=2.0.0)(!(version&gt;=2.1.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.render;version="[2.0,2.1)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.use)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.use;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.xss)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.xss;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.8.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.8,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.7.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.7,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.7))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.7))</require>
  </resource>
  <resource id='org.apache.sling.scripting.sightly/1.0.20' symbolicname='org.apache.sling.scripting.sightly' presentationname='Apache Sling Scripting HTL Engine' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.scripting.sightly-1.0.20.jar' version='1.0.20'>
    <description>The Apache Sling Scripting HTL Engine is a Java implementation of the HTML Template Language specification. The bundle contains the        HTL script engine and its runtime implementation.</description>
    <size>108494</size>
    <documentation>http://sling.apache.org</documentation>
    <license>https://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.scripting.sightly'/>
      <p n='presentationname' v='Apache Sling Scripting HTL Engine'/>
      <p n='version' t='version' v='1.0.20'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.sightly'/>
      <p n='version' t='version' v='1.0.1'/>
      <p n='uses:' v='org.apache.sling.api,org.apache.sling.api.resource'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.annotation))' extend='false' multiple='false' optional='false'>Import package javax.annotation</require>
    <require name='package' filter='(&amp;(package=javax.script))' extend='false' multiple='false' optional='false'>Import package javax.script</require>
    <require name='package' filter='(&amp;(package=javax.servlet)(version&gt;=3.1.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.servlet;version="[3.1,4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.io)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.io;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.lang)(version&gt;=2.5.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.lang;version="[2.5,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.adapter)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.adapter;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.request)(version&gt;=2.4.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.request;version="[2.4,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.9.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.9,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource.observation)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource.observation;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.scripting)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.scripting;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.servlets)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.servlets;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.wrappers)(version&gt;=2.5.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.wrappers;version="[2.5,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.classloader)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.classloader;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.compiler)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.compiler;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.i18n)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.i18n;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.api)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.api;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.compiler)(version&gt;=1.0.0)(!(version&gt;=1.1.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.compiler;version="[1.0,1.1)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.compiler.backend)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.compiler.backend;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.compiler.expression)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.compiler.expression;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.extension)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.extension;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.java.compiler)(version&gt;=1.0.0)(!(version&gt;=1.1.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.java.compiler;version="[1.0,1.1)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.pojo)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.pojo;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.render)(version&gt;=2.0.0)(!(version&gt;=2.1.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.render;version="[2.0,2.1)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.use)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.use;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.xss)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.xss;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.8.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.8,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.7.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.7,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.7))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.7))</require>
  </resource>
  <resource id='org.apache.sling.scripting.sightly/1.0.24' symbolicname='org.apache.sling.scripting.sightly' presentationname='Apache Sling Scripting HTL Engine' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.scripting.sightly-1.0.24.jar' version='1.0.24'>
    <description>The Apache Sling Scripting HTL Engine is a Java implementation of the HTML Template Language specification. The bundle contains the        HTL script engine and its runtime implementation.</description>
    <size>108212</size>
    <documentation>http://sling.apache.org</documentation>
    <license>https://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.scripting.sightly'/>
      <p n='presentationname' v='Apache Sling Scripting HTL Engine'/>
      <p n='version' t='version' v='1.0.24'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.sightly'/>
      <p n='version' t='version' v='1.0.1'/>
      <p n='uses:' v='org.apache.sling.api,org.apache.sling.api.resource'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.annotation))' extend='false' multiple='false' optional='false'>Import package javax.annotation</require>
    <require name='package' filter='(&amp;(package=javax.script))' extend='false' multiple='false' optional='false'>Import package javax.script</require>
    <require name='package' filter='(&amp;(package=javax.servlet)(version&gt;=3.1.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.servlet;version="[3.1,4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.io)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.io;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.lang)(version&gt;=2.5.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.lang;version="[2.5,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.adapter)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.adapter;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.request)(version&gt;=2.4.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.request;version="[2.4,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.9.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.9,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource.observation)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource.observation;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.scripting)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.scripting;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.servlets)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.servlets;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.wrappers)(version&gt;=2.5.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.wrappers;version="[2.5,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.classloader)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.classloader;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.compiler)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.compiler;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.i18n)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.i18n;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.api)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.api;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.compiler)(version&gt;=1.0.0)(!(version&gt;=1.1.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.compiler;version="[1.0,1.1)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.compiler.backend)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.compiler.backend;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.compiler.expression)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.compiler.expression;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.extension)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.extension;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.java.compiler)(version&gt;=1.1.0)(!(version&gt;=1.2.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.java.compiler;version="[1.1,1.2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.pojo)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.pojo;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.render)(version&gt;=2.0.0)(!(version&gt;=2.1.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.render;version="[2.0,2.1)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.use)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.use;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.xss)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.xss;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.8.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.8,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.7.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.7,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.7))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.7))</require>
  </resource>
  <resource id='org.apache.sling.scripting.sightly.compiler.java/1.0.2' symbolicname='org.apache.sling.scripting.sightly.compiler.java' presentationname='Apache Sling Scripting HTL Java Compiler' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.scripting.sightly.compiler.java-1.0.2.jar' version='1.0.2'>
    <description>The Apache Sling Scripting HTL Java Compiler provides support for transpiling the Abstract Syntax Tree produced by the        org.apache.sling.scripting.sightly.compiler module into Java source code.</description>
    <size>85918</size>
    <documentation>http://sling.apache.org</documentation>
    <license>https://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.scripting.sightly.compiler.java'/>
      <p n='presentationname' v='Apache Sling Scripting HTL Java Compiler'/>
      <p n='version' t='version' v='1.0.2'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.sightly.extension'/>
      <p n='version' t='version' v='1.0.1'/>
      <p n='uses:' v='org.apache.sling.scripting.sightly.render'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.sightly.java.compiler'/>
      <p n='version' t='version' v='1.1.0'/>
      <p n='uses:' v='javax.script,org.apache.sling.scripting.sightly,org.apache.sling.scripting.sightly.compiler.backend,org.apache.sling.scripting.sightly.compiler.commands,org.apache.sling.scripting.sightly.render'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.sightly'/>
      <p n='version' t='version' v='1.0.1'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.sightly.pojo'/>
      <p n='version' t='version' v='1.0.1'/>
      <p n='uses:' v='javax.script'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.sightly.render'/>
      <p n='version' t='version' v='2.0.0'/>
      <p n='uses:' v='javax.script'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.sightly.use'/>
      <p n='version' t='version' v='1.0.1'/>
      <p n='uses:' v='javax.script,org.apache.sling.scripting.sightly.render'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.script))' extend='false' multiple='false' optional='false'>Import package javax.script</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.io)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.io;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.lang)(version&gt;=2.5.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.lang;version="[2.5,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.compiler.backend)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.compiler.backend;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.compiler.commands)(version&gt;=1.0.0)(!(version&gt;=1.1.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.compiler.commands;version="[1.0,1.1)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.compiler.expression)(version&gt;=1.0.0)(!(version&gt;=1.1.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.compiler.expression;version="[1.0,1.1)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.compiler.expression.nodes)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.compiler.expression.nodes;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.compiler.util)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.compiler.util;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.render)(version&gt;=2.0.0)(!(version&gt;=2.1.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.render;version="[2.0,2.1)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.7.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.7,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.7))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.7))</require>
  </resource>
  <resource id='org.apache.sling.scripting.sightly.compiler.java/1.0.0' symbolicname='org.apache.sling.scripting.sightly.compiler.java' presentationname='Apache Sling Scripting HTL Java Compiler' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.scripting.sightly.compiler.java-1.0.0.jar' version='1.0.0'>
    <description>The Apache Sling Scripting HTL Java Compiler provides support for transpiling the Abstract Syntax Tree produced by the        org.apache.sling.scripting.sightly.compiler module into Java source code.</description>
    <size>85516</size>
    <documentation>http://sling.apache.org</documentation>
    <license>https://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.scripting.sightly.compiler.java'/>
      <p n='presentationname' v='Apache Sling Scripting HTL Java Compiler'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.sightly.extension'/>
      <p n='version' t='version' v='1.0.1'/>
      <p n='uses:' v='org.apache.sling.scripting.sightly.render'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.sightly.java.compiler'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='javax.script,org.apache.sling.scripting.sightly,org.apache.sling.scripting.sightly.compiler.backend,org.apache.sling.scripting.sightly.compiler.commands,org.apache.sling.scripting.sightly.render'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.sightly'/>
      <p n='version' t='version' v='1.0.1'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.sightly.pojo'/>
      <p n='version' t='version' v='1.0.1'/>
      <p n='uses:' v='javax.script'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.sightly.render'/>
      <p n='version' t='version' v='2.0.0'/>
      <p n='uses:' v='javax.script'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.sightly.use'/>
      <p n='version' t='version' v='1.0.1'/>
      <p n='uses:' v='javax.script,org.apache.sling.scripting.sightly.render'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.script))' extend='false' multiple='false' optional='false'>Import package javax.script</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.io)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.io;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.lang)(version&gt;=2.5.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.lang;version="[2.5,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.compiler.backend)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.compiler.backend;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.compiler.commands)(version&gt;=1.0.0)(!(version&gt;=1.1.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.compiler.commands;version="[1.0,1.1)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.compiler.expression)(version&gt;=1.0.0)(!(version&gt;=1.1.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.compiler.expression;version="[1.0,1.1)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.compiler.expression.nodes)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.compiler.expression.nodes;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.compiler.util)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.compiler.util;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.render)(version&gt;=2.0.0)(!(version&gt;=2.1.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.render;version="[2.0,2.1)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.7.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.7,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.7))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.7))</require>
  </resource>
  <resource id='org.apache.sling.scripting.sightly.compiler.java/1.0.4' symbolicname='org.apache.sling.scripting.sightly.compiler.java' presentationname='Apache Sling Scripting HTL Java Compiler' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.scripting.sightly.compiler.java-1.0.4.jar' version='1.0.4'>
    <description>The Apache Sling Scripting HTL Java Compiler provides support for transpiling the Abstract Syntax Tree produced by the        org.apache.sling.scripting.sightly.compiler module into Java source code.</description>
    <size>85914</size>
    <documentation>http://sling.apache.org</documentation>
    <license>https://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.scripting.sightly.compiler.java'/>
      <p n='presentationname' v='Apache Sling Scripting HTL Java Compiler'/>
      <p n='version' t='version' v='1.0.4'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.sightly.extension'/>
      <p n='version' t='version' v='1.0.1'/>
      <p n='uses:' v='org.apache.sling.scripting.sightly.render'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.sightly.java.compiler'/>
      <p n='version' t='version' v='1.1.0'/>
      <p n='uses:' v='javax.script,org.apache.sling.scripting.sightly,org.apache.sling.scripting.sightly.compiler.backend,org.apache.sling.scripting.sightly.compiler.commands,org.apache.sling.scripting.sightly.render'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.sightly'/>
      <p n='version' t='version' v='1.0.1'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.sightly.pojo'/>
      <p n='version' t='version' v='1.0.1'/>
      <p n='uses:' v='javax.script'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.sightly.render'/>
      <p n='version' t='version' v='2.0.0'/>
      <p n='uses:' v='javax.script'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.sightly.use'/>
      <p n='version' t='version' v='1.0.1'/>
      <p n='uses:' v='javax.script,org.apache.sling.scripting.sightly.render'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.script))' extend='false' multiple='false' optional='false'>Import package javax.script</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.io)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.io;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.lang)(version&gt;=2.5.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.lang;version="[2.5,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.compiler.backend)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.compiler.backend;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.compiler.commands)(version&gt;=1.0.0)(!(version&gt;=1.1.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.compiler.commands;version="[1.0,1.1)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.compiler.expression)(version&gt;=1.0.0)(!(version&gt;=1.1.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.compiler.expression;version="[1.0,1.1)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.compiler.expression.nodes)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.compiler.expression.nodes;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.compiler.util)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.compiler.util;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.render)(version&gt;=2.0.0)(!(version&gt;=2.1.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.render;version="[2.0,2.1)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.7.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.7,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.7))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.7))</require>
  </resource>
  <resource id='org.apache.sling.scripting.sightly.js.provider/1.0.12' symbolicname='org.apache.sling.scripting.sightly.js.provider' presentationname='Apache Sling Scripting HTL JavaScript Use Provider' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.scripting.sightly.js.provider-1.0.12.jar' version='1.0.12'>
    <description>The Apache Sling HTL JavaScript Use Provider adds support for accessing JS scripts from HTL&apos;s Use-API.</description>
    <size>80390</size>
    <documentation>http://sling.apache.org</documentation>
    <license>https://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.scripting.sightly.js.provider'/>
      <p n='presentationname' v='Apache Sling Scripting HTL JavaScript Use Provider'/>
      <p n='version' t='version' v='1.0.12'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.script))' extend='false' multiple='false' optional='false'>Import package javax.script</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.io)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.io;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.lang)(version&gt;=2.5.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.lang;version="[2.5,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.scripting)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.scripting;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.api)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.api;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.core)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.core;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.render)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.render;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.use)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.use;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.mozilla.javascript))' extend='false' multiple='false' optional='false'>Import package org.mozilla.javascript</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.7.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.7,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.7))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.7))</require>
  </resource>
  <resource id='org.apache.sling.scripting.sightly.js.provider/1.0.16' symbolicname='org.apache.sling.scripting.sightly.js.provider' presentationname='Apache Sling Scripting HTL JavaScript Use Provider' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.scripting.sightly.js.provider-1.0.16.jar' version='1.0.16'>
    <description>The Apache Sling HTL JavaScript Use Provider adds support for accessing JS scripts from HTL&apos;s Use-API.</description>
    <size>81748</size>
    <documentation>http://sling.apache.org</documentation>
    <license>https://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.scripting.sightly.js.provider'/>
      <p n='presentationname' v='Apache Sling Scripting HTL JavaScript Use Provider'/>
      <p n='version' t='version' v='1.0.16'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.script))' extend='false' multiple='false' optional='false'>Import package javax.script</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http)(version&gt;=3.1.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http;version="[3.1,4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.io)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.io;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.lang)(version&gt;=2.5.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.lang;version="[2.5,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.4.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.4,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.scripting)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.scripting;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.api)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.api;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.core)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.core;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.render)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.render;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.use)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.use;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.mozilla.javascript))' extend='false' multiple='false' optional='false'>Import package org.mozilla.javascript</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.7.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.7,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.7))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.7))</require>
  </resource>
  <resource id='org.apache.sling.scripting.sightly.js.provider/1.0.14' symbolicname='org.apache.sling.scripting.sightly.js.provider' presentationname='Apache Sling Scripting HTL JavaScript Use Provider' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.scripting.sightly.js.provider-1.0.14.jar' version='1.0.14'>
    <description>The Apache Sling HTL JavaScript Use Provider adds support for accessing JS scripts from HTL&apos;s Use-API.</description>
    <size>80363</size>
    <documentation>http://sling.apache.org</documentation>
    <license>https://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.scripting.sightly.js.provider'/>
      <p n='presentationname' v='Apache Sling Scripting HTL JavaScript Use Provider'/>
      <p n='version' t='version' v='1.0.14'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.script))' extend='false' multiple='false' optional='false'>Import package javax.script</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http)(version&gt;=3.1.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http;version="[3.1,4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.io)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.io;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.lang)(version&gt;=2.5.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.lang;version="[2.5,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.4.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.4,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.scripting)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.scripting;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.api)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.api;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.core)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.core;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.render)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.render;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.use)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.use;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.mozilla.javascript))' extend='false' multiple='false' optional='false'>Import package org.mozilla.javascript</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.7.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.7,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.7))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.7))</require>
  </resource>
  <resource id='org.apache.sling.scripting.sightly.repl/1.0.4' symbolicname='org.apache.sling.scripting.sightly.repl' presentationname='Apache Sling Scripting HTL Read-Eval-Print Loop Environment' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.scripting.sightly.repl-1.0.4.jar' version='1.0.4'>
    <description>REPL for Apache Sling Scripting HTL engine</description>
    <size>199723</size>
    <documentation>http://sling.apache.org</documentation>
    <license>https://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.scripting.sightly.repl'/>
      <p n='presentationname' v='Apache Sling Scripting HTL Read-Eval-Print Loop Environment'/>
      <p n='version' t='version' v='1.0.4'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.servlet)(version&gt;=3.1.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.servlet;version="[3.1,4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.io)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.io;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.servlets)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.servlets;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.8.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.8,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.7.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.7,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.7))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.7))</require>
  </resource>
  <resource id='org.apache.sling.scripting.sightly.models.provider/1.0.4' symbolicname='org.apache.sling.scripting.sightly.models.provider' presentationname='Apache Sling Scripting HTL Sling Models Use Provider' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.scripting.sightly.models.provider-1.0.4.jar' version='1.0.4'>
    <description>Apache Sling Scripting HTL Sling Models Use Provider adds support for accessing Sling Models from HTL&apos;s Use-API leveraging the        ModelFactory.</description>
    <size>15152</size>
    <documentation>http://sling.apache.org</documentation>
    <license>https://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.scripting.sightly.models.provider'/>
      <p n='presentationname' v='Apache Sling Scripting HTL Sling Models Use Provider'/>
      <p n='version' t='version' v='1.0.4'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.script))' extend='false' multiple='false' optional='false'>Import package javax.script</require>
    <require name='package' filter='(&amp;(package=javax.servlet)(version&gt;=3.1.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.servlet;version="[3.1,4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.classloader)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.classloader;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.models.factory)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.models.factory;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.render)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.render;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.use)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.use;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.7.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.7,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.7))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.7))</require>
  </resource>
  <resource id='org.apache.sling.scripting.sightly.models.provider/1.0.2' symbolicname='org.apache.sling.scripting.sightly.models.provider' presentationname='Apache Sling Scripting HTL Sling Models Use Provider' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.scripting.sightly.models.provider-1.0.2.jar' version='1.0.2'>
    <description>Apache Sling Scripting HTL Sling Models Use Provider adds support for accessing Sling Models from HTL&apos;s Use-API leveraging the        ModelFactory.</description>
    <size>14818</size>
    <documentation>http://sling.apache.org</documentation>
    <license>https://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.scripting.sightly.models.provider'/>
      <p n='presentationname' v='Apache Sling Scripting HTL Sling Models Use Provider'/>
      <p n='version' t='version' v='1.0.2'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.script))' extend='false' multiple='false' optional='false'>Import package javax.script</require>
    <require name='package' filter='(&amp;(package=javax.servlet)(version&gt;=3.1.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.servlet;version="[3.1,4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.classloader)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.classloader;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.models.factory)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.models.factory;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.render)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.render;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.use)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.use;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.7.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.7,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.7))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.7))</require>
  </resource>
  <resource id='org.apache.sling.scripting.api/2.1.6' symbolicname='org.apache.sling.scripting.api' presentationname='Apache Sling Scripting Implementation API' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.scripting.api/2.1.6/org.apache.sling.scripting.api-2.1.6.jar' version='2.1.6'>
    <description>This bundle provides the internal API to implement scripting. As such        it bundles the Java Scripting API provided by Apache BSF.</description>
    <size>14248</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.scripting.api'/>
      <p n='presentationname' v='Apache Sling Scripting Implementation API'/>
      <p n='version' t='version' v='2.1.6'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.api'/>
      <p n='version' t='version' v='2.2.0'/>
      <p n='uses:' v='javax.script'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.script))' extend='false' multiple='false' optional='false'>Import package javax.script</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.scripting.api/2.1.8' symbolicname='org.apache.sling.scripting.api' presentationname='Apache Sling Scripting Implementation API' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.scripting.api/2.1.8/org.apache.sling.scripting.api-2.1.8.jar' version='2.1.8'>
    <description>This bundle provides the internal API to implement scripting.</description>
    <size>15113</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.scripting.api'/>
      <p n='presentationname' v='Apache Sling Scripting Implementation API'/>
      <p n='version' t='version' v='2.1.8'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.api'/>
      <p n='version' t='version' v='2.3.0'/>
      <p n='uses:' v='javax.script'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.script))' extend='false' multiple='false' optional='false'>Import package javax.script</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.scripting.java/2.0.12' symbolicname='org.apache.sling.scripting.java' presentationname='Apache Sling Scripting Java Support' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.scripting.java/2.0.12/org.apache.sling.scripting.java-2.0.12.jar' version='2.0.12'>
    <description>Support for scripting Java</description>
    <size>36537</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.scripting.java'/>
      <p n='presentationname' v='Apache Sling Scripting Java Support'/>
      <p n='version' t='version' v='2.0.12'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='javax.inject'/>
      <p n='version' t='version' v='0.0.0'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.inject)(!(version&gt;=1.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.inject;version="[0.0,1)"</require>
    <require name='package' filter='(&amp;(package=javax.script))' extend='false' multiple='false' optional='false'>Import package javax.script</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.scripting)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.scripting;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.classloader)(version&gt;=1.2.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.classloader;version="[1.2,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.compiler)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.compiler;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.api)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.api;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.event)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.event;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=J2SE-1.5))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=J2SE-1.5))</require>
  </resource>
  <resource id='org.apache.sling.scripting.java/2.0.14' symbolicname='org.apache.sling.scripting.java' presentationname='Apache Sling Scripting Java Support' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.scripting.java/2.0.14/org.apache.sling.scripting.java-2.0.14.jar' version='2.0.14'>
    <description>Support for scripting Java</description>
    <size>34900</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.scripting.java'/>
      <p n='presentationname' v='Apache Sling Scripting Java Support'/>
      <p n='version' t='version' v='2.0.14'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.inject))' extend='false' multiple='false' optional='false'>Import package javax.inject</require>
    <require name='package' filter='(&amp;(package=javax.script))' extend='false' multiple='false' optional='false'>Import package javax.script</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.scripting)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.scripting;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.classloader)(version&gt;=1.2.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.classloader;version="[1.2,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.compiler)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.compiler;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.api)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.api;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.event)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.event;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.scripting.javascript/2.0.24' symbolicname='org.apache.sling.scripting.javascript' presentationname='Apache Sling Scripting JavaScript Support' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.scripting.javascript-2.0.24.jar' version='2.0.24'>
    <description>Support for JavaScript scripting</description>
    <size>1334288</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.scripting.javascript'/>
      <p n='presentationname' v='Apache Sling Scripting JavaScript Support'/>
      <p n='version' t='version' v='2.0.24'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.javascript'/>
      <p n='version' t='version' v='0.1.0'/>
      <p n='uses:' v='org.mozilla.javascript'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.mozilla.javascript'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='org.mozilla.javascript.debug'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.mozilla.classfile'/>
      <p n='version' t='version' v='0.0.1'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.mozilla.javascript.debug'/>
      <p n='version' t='version' v='0.0.1'/>
      <p n='uses:' v='org.mozilla.javascript'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr;version=2.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.lock)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.lock;version=2.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.nodetype)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.nodetype;version=2.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.version)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.version;version=2.0</require>
    <require name='package' filter='(&amp;(package=javax.script))' extend='false' multiple='false' optional='false'>Import package javax.script</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=javax.swing))' extend='false' multiple='false' optional='false'>Import package javax.swing</require>
    <require name='package' filter='(&amp;(package=javax.swing.border))' extend='false' multiple='false' optional='false'>Import package javax.swing.border</require>
    <require name='package' filter='(&amp;(package=javax.swing.event))' extend='false' multiple='false' optional='false'>Import package javax.swing.event</require>
    <require name='package' filter='(&amp;(package=javax.swing.filechooser))' extend='false' multiple='false' optional='false'>Import package javax.swing.filechooser</require>
    <require name='package' filter='(&amp;(package=javax.swing.table))' extend='false' multiple='false' optional='false'>Import package javax.swing.table</require>
    <require name='package' filter='(&amp;(package=javax.swing.text))' extend='false' multiple='false' optional='false'>Import package javax.swing.text</require>
    <require name='package' filter='(&amp;(package=javax.swing.tree))' extend='false' multiple='false' optional='false'>Import package javax.swing.tree</require>
    <require name='package' filter='(&amp;(package=javax.xml.parsers))' extend='false' multiple='false' optional='false'>Import package javax.xml.parsers</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform.dom))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform.dom</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform.stream))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform.stream</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections)(version&gt;=3.2.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections;version="[3.2,4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.io)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.io;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.scripting)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.scripting;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.classloader)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.classloader;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json.jcr)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json.jcr;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.resource)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.resource;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.api)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.api;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.core)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.core;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.javascript)(version&gt;=0.1.0)(!(version&gt;=1.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.javascript;version="[0.1,1)"</require>
    <require name='package' filter='(&amp;(package=org.mozilla.classfile)(!(version&gt;=1.0.0)))' extend='false' multiple='false' optional='false'>Import package org.mozilla.classfile;version="[0.0,1)"</require>
    <require name='package' filter='(&amp;(package=org.mozilla.javascript.debug)(!(version&gt;=1.0.0)))' extend='false' multiple='false' optional='false'>Import package org.mozilla.javascript.debug;version="[0.0,1)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom</require>
    <require name='package' filter='(&amp;(package=org.xml.sax))' extend='false' multiple='false' optional='false'>Import package org.xml.sax</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.scripting.javascript/2.0.16' symbolicname='org.apache.sling.scripting.javascript' presentationname='Apache Sling Scripting JavaScript Support' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.scripting.javascript/2.0.16/org.apache.sling.scripting.javascript-2.0.16.jar' version='2.0.16'>
    <description>Support for JavaScript scripting</description>
    <size>1143953</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.scripting.javascript'/>
      <p n='presentationname' v='Apache Sling Scripting JavaScript Support'/>
      <p n='version' t='version' v='2.0.16'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.javascript'/>
      <p n='version' t='version' v='0.1.0'/>
      <p n='uses:' v='org.mozilla.javascript'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.mozilla.javascript'/>
      <p n='version' t='version' v='0.0.1'/>
      <p n='uses:' v='org.mozilla.javascript.debug'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.mozilla.classfile'/>
      <p n='version' t='version' v='0.0.1'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.mozilla.javascript.debug'/>
      <p n='version' t='version' v='0.0.1'/>
      <p n='uses:' v='org.mozilla.javascript'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr;version=2.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.lock)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.lock;version=2.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.nodetype)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.nodetype;version=2.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.version)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.version;version=2.0</require>
    <require name='package' filter='(&amp;(package=javax.script))' extend='false' multiple='false' optional='false'>Import package javax.script</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=javax.swing))' extend='false' multiple='false' optional='false'>Import package javax.swing</require>
    <require name='package' filter='(&amp;(package=javax.swing.border))' extend='false' multiple='false' optional='false'>Import package javax.swing.border</require>
    <require name='package' filter='(&amp;(package=javax.swing.event))' extend='false' multiple='false' optional='false'>Import package javax.swing.event</require>
    <require name='package' filter='(&amp;(package=javax.swing.filechooser))' extend='false' multiple='false' optional='false'>Import package javax.swing.filechooser</require>
    <require name='package' filter='(&amp;(package=javax.swing.table))' extend='false' multiple='false' optional='false'>Import package javax.swing.table</require>
    <require name='package' filter='(&amp;(package=javax.swing.text))' extend='false' multiple='false' optional='false'>Import package javax.swing.text</require>
    <require name='package' filter='(&amp;(package=javax.swing.tree))' extend='false' multiple='false' optional='false'>Import package javax.swing.tree</require>
    <require name='package' filter='(&amp;(package=javax.xml.parsers))' extend='false' multiple='false' optional='false'>Import package javax.xml.parsers</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform.dom))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform.dom</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform.stream))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform.stream</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections)(version&gt;=3.2.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections;version="[3.2,4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.scripting)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.scripting;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.classloader)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.classloader;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json.jcr)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json.jcr;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.resource)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.resource;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.api)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.api;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.javascript)(version&gt;=0.1.0)(!(version&gt;=1.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.javascript;version="[0.1,1)"</require>
    <require name='package' filter='(&amp;(package=org.mozilla.classfile)(!(version&gt;=1.0.0)))' extend='false' multiple='false' optional='false'>Import package org.mozilla.classfile;version="[0.0,1)"</require>
    <require name='package' filter='(&amp;(package=org.mozilla.javascript.debug)(!(version&gt;=1.0.0)))' extend='false' multiple='false' optional='false'>Import package org.mozilla.javascript.debug;version="[0.0,1)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom</require>
    <require name='package' filter='(&amp;(package=org.xml.sax))' extend='false' multiple='false' optional='false'>Import package org.xml.sax</require>
    <require name='ee' filter='(|(ee=J2SE-1.5))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=J2SE-1.5))</require>
  </resource>
  <resource id='org.apache.sling.scripting.javascript/2.0.20' symbolicname='org.apache.sling.scripting.javascript' presentationname='Apache Sling Scripting JavaScript Support' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.scripting.javascript/2.0.20/org.apache.sling.scripting.javascript-2.0.20.jar' version='2.0.20'>
    <description>Support for JavaScript scripting</description>
    <size>1332711</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.scripting.javascript'/>
      <p n='presentationname' v='Apache Sling Scripting JavaScript Support'/>
      <p n='version' t='version' v='2.0.20'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.javascript'/>
      <p n='version' t='version' v='0.1.0'/>
      <p n='uses:' v='org.mozilla.javascript'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.mozilla.javascript'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='org.mozilla.javascript.debug'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.mozilla.classfile'/>
      <p n='version' t='version' v='0.0.1'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.mozilla.javascript.debug'/>
      <p n='version' t='version' v='0.0.1'/>
      <p n='uses:' v='org.mozilla.javascript'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr;version=2.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.lock)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.lock;version=2.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.nodetype)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.nodetype;version=2.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.version)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.version;version=2.0</require>
    <require name='package' filter='(&amp;(package=javax.script))' extend='false' multiple='false' optional='false'>Import package javax.script</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=javax.swing))' extend='false' multiple='false' optional='false'>Import package javax.swing</require>
    <require name='package' filter='(&amp;(package=javax.swing.border))' extend='false' multiple='false' optional='false'>Import package javax.swing.border</require>
    <require name='package' filter='(&amp;(package=javax.swing.event))' extend='false' multiple='false' optional='false'>Import package javax.swing.event</require>
    <require name='package' filter='(&amp;(package=javax.swing.filechooser))' extend='false' multiple='false' optional='false'>Import package javax.swing.filechooser</require>
    <require name='package' filter='(&amp;(package=javax.swing.table))' extend='false' multiple='false' optional='false'>Import package javax.swing.table</require>
    <require name='package' filter='(&amp;(package=javax.swing.text))' extend='false' multiple='false' optional='false'>Import package javax.swing.text</require>
    <require name='package' filter='(&amp;(package=javax.swing.tree))' extend='false' multiple='false' optional='false'>Import package javax.swing.tree</require>
    <require name='package' filter='(&amp;(package=javax.xml.parsers))' extend='false' multiple='false' optional='false'>Import package javax.xml.parsers</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform.dom))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform.dom</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform.stream))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform.stream</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections)(version&gt;=3.2.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections;version="[3.2,4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.io)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.io;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.scripting)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.scripting;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.classloader)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.classloader;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json.jcr)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json.jcr;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.resource)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.resource;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.api)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.api;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.core)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.core;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.javascript)(version&gt;=0.1.0)(!(version&gt;=1.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.javascript;version="[0.1,1)"</require>
    <require name='package' filter='(&amp;(package=org.mozilla.classfile)(!(version&gt;=1.0.0)))' extend='false' multiple='false' optional='false'>Import package org.mozilla.classfile;version="[0.0,1)"</require>
    <require name='package' filter='(&amp;(package=org.mozilla.javascript.debug)(!(version&gt;=1.0.0)))' extend='false' multiple='false' optional='false'>Import package org.mozilla.javascript.debug;version="[0.0,1)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom</require>
    <require name='package' filter='(&amp;(package=org.xml.sax))' extend='false' multiple='false' optional='false'>Import package org.xml.sax</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.scripting.javascript/2.0.26' symbolicname='org.apache.sling.scripting.javascript' presentationname='Apache Sling Scripting JavaScript Support' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.scripting.javascript-2.0.26.jar' version='2.0.26'>
    <description>Support for JavaScript scripting</description>
    <size>1360145</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.scripting.javascript'/>
      <p n='presentationname' v='Apache Sling Scripting JavaScript Support'/>
      <p n='version' t='version' v='2.0.26'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.javascript'/>
      <p n='version' t='version' v='0.1.0'/>
      <p n='uses:' v='org.mozilla.javascript'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.mozilla.javascript'/>
      <p n='version' t='version' v='1.1.0'/>
      <p n='uses:' v='org.mozilla.javascript.debug'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.mozilla.classfile'/>
      <p n='version' t='version' v='0.0.1'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.mozilla.javascript.debug'/>
      <p n='version' t='version' v='0.0.1'/>
      <p n='uses:' v='org.mozilla.javascript'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr;version=2.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.lock)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.lock;version=2.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.nodetype)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.nodetype;version=2.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.version)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.version;version=2.0</require>
    <require name='package' filter='(&amp;(package=javax.script))' extend='false' multiple='false' optional='false'>Import package javax.script</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=javax.swing))' extend='false' multiple='false' optional='false'>Import package javax.swing</require>
    <require name='package' filter='(&amp;(package=javax.swing.border))' extend='false' multiple='false' optional='false'>Import package javax.swing.border</require>
    <require name='package' filter='(&amp;(package=javax.swing.event))' extend='false' multiple='false' optional='false'>Import package javax.swing.event</require>
    <require name='package' filter='(&amp;(package=javax.swing.filechooser))' extend='false' multiple='false' optional='false'>Import package javax.swing.filechooser</require>
    <require name='package' filter='(&amp;(package=javax.swing.table))' extend='false' multiple='false' optional='false'>Import package javax.swing.table</require>
    <require name='package' filter='(&amp;(package=javax.swing.text))' extend='false' multiple='false' optional='false'>Import package javax.swing.text</require>
    <require name='package' filter='(&amp;(package=javax.swing.tree))' extend='false' multiple='false' optional='false'>Import package javax.swing.tree</require>
    <require name='package' filter='(&amp;(package=javax.xml.parsers))' extend='false' multiple='false' optional='false'>Import package javax.xml.parsers</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform.dom))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform.dom</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform.stream))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform.stream</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections)(version&gt;=3.2.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections;version="[3.2,4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.io)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.io;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.scripting)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.scripting;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.classloader)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.classloader;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json.jcr)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json.jcr;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.resource)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.resource;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.api)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.api;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.core)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.core;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.javascript)(version&gt;=0.1.0)(!(version&gt;=1.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.javascript;version="[0.1,1)"</require>
    <require name='package' filter='(&amp;(package=org.mozilla.classfile)(!(version&gt;=1.0.0)))' extend='false' multiple='false' optional='false'>Import package org.mozilla.classfile;version="[0.0,1)"</require>
    <require name='package' filter='(&amp;(package=org.mozilla.javascript.debug)(!(version&gt;=1.0.0)))' extend='false' multiple='false' optional='false'>Import package org.mozilla.javascript.debug;version="[0.0,1)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom</require>
    <require name='package' filter='(&amp;(package=org.xml.sax))' extend='false' multiple='false' optional='false'>Import package org.xml.sax</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.scripting.javascript/2.0.30' symbolicname='org.apache.sling.scripting.javascript' presentationname='Apache Sling Scripting JavaScript Support' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.scripting.javascript/2.0.30/org.apache.sling.scripting.javascript-2.0.30.jar' version='2.0.30'>
    <description>Support for JavaScript scripting</description>
    <size>1362002</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.scripting.javascript'/>
      <p n='presentationname' v='Apache Sling Scripting JavaScript Support'/>
      <p n='version' t='version' v='2.0.30'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.javascript'/>
      <p n='version' t='version' v='0.1.0'/>
      <p n='uses:' v='org.mozilla.javascript'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.mozilla.javascript'/>
      <p n='version' t='version' v='1.1.0'/>
      <p n='uses:' v='org.mozilla.javascript.ast,org.mozilla.javascript.debug'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.mozilla.javascript.ast'/>
      <p n='version' t='version' v='1.1.0'/>
      <p n='uses:' v='org.mozilla.javascript'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.mozilla.classfile'/>
      <p n='version' t='version' v='0.0.1'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.mozilla.javascript.debug'/>
      <p n='version' t='version' v='0.0.1'/>
      <p n='uses:' v='org.mozilla.javascript'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr;version=2.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.lock)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.lock;version=2.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.nodetype)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.nodetype;version=2.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.version)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.version;version=2.0</require>
    <require name='package' filter='(&amp;(package=javax.script))' extend='false' multiple='false' optional='false'>Import package javax.script</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=javax.swing))' extend='false' multiple='false' optional='false'>Import package javax.swing</require>
    <require name='package' filter='(&amp;(package=javax.swing.border))' extend='false' multiple='false' optional='false'>Import package javax.swing.border</require>
    <require name='package' filter='(&amp;(package=javax.swing.event))' extend='false' multiple='false' optional='false'>Import package javax.swing.event</require>
    <require name='package' filter='(&amp;(package=javax.swing.filechooser))' extend='false' multiple='false' optional='false'>Import package javax.swing.filechooser</require>
    <require name='package' filter='(&amp;(package=javax.swing.table))' extend='false' multiple='false' optional='false'>Import package javax.swing.table</require>
    <require name='package' filter='(&amp;(package=javax.swing.text))' extend='false' multiple='false' optional='false'>Import package javax.swing.text</require>
    <require name='package' filter='(&amp;(package=javax.swing.tree))' extend='false' multiple='false' optional='false'>Import package javax.swing.tree</require>
    <require name='package' filter='(&amp;(package=javax.xml.parsers))' extend='false' multiple='false' optional='false'>Import package javax.xml.parsers</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform.dom))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform.dom</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform.stream))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform.stream</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections)(version&gt;=3.2.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections;version="[3.2,4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.io)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.io;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.scripting)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.scripting;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.classloader)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.classloader;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json.jcr)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json.jcr;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.api)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.api;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.core)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.core;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.javascript)(version&gt;=0.1.0)(!(version&gt;=1.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.javascript;version="[0.1,1)"</require>
    <require name='package' filter='(&amp;(package=org.mozilla.classfile)(!(version&gt;=1.0.0)))' extend='false' multiple='false' optional='false'>Import package org.mozilla.classfile;version="[0.0,1)"</require>
    <require name='package' filter='(&amp;(package=org.mozilla.javascript.ast)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.mozilla.javascript.ast;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.mozilla.javascript.debug)(!(version&gt;=1.0.0)))' extend='false' multiple='false' optional='false'>Import package org.mozilla.javascript.debug;version="[0.0,1)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom</require>
    <require name='package' filter='(&amp;(package=org.xml.sax))' extend='false' multiple='false' optional='false'>Import package org.xml.sax</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.scripting.javascript/2.0.18' symbolicname='org.apache.sling.scripting.javascript' presentationname='Apache Sling Scripting JavaScript Support' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.scripting.javascript/2.0.18/org.apache.sling.scripting.javascript-2.0.18.jar' version='2.0.18'>
    <description>Support for JavaScript scripting</description>
    <size>1328937</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.scripting.javascript'/>
      <p n='presentationname' v='Apache Sling Scripting JavaScript Support'/>
      <p n='version' t='version' v='2.0.18'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.javascript'/>
      <p n='version' t='version' v='0.1.0'/>
      <p n='uses:' v='org.mozilla.javascript'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.mozilla.javascript'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='org.mozilla.javascript.debug'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.mozilla.classfile'/>
      <p n='version' t='version' v='0.0.1'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.mozilla.javascript.debug'/>
      <p n='version' t='version' v='0.0.1'/>
      <p n='uses:' v='org.mozilla.javascript'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr;version=2.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.lock)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.lock;version=2.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.nodetype)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.nodetype;version=2.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.version)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.version;version=2.0</require>
    <require name='package' filter='(&amp;(package=javax.script))' extend='false' multiple='false' optional='false'>Import package javax.script</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=javax.swing))' extend='false' multiple='false' optional='false'>Import package javax.swing</require>
    <require name='package' filter='(&amp;(package=javax.swing.border))' extend='false' multiple='false' optional='false'>Import package javax.swing.border</require>
    <require name='package' filter='(&amp;(package=javax.swing.event))' extend='false' multiple='false' optional='false'>Import package javax.swing.event</require>
    <require name='package' filter='(&amp;(package=javax.swing.filechooser))' extend='false' multiple='false' optional='false'>Import package javax.swing.filechooser</require>
    <require name='package' filter='(&amp;(package=javax.swing.table))' extend='false' multiple='false' optional='false'>Import package javax.swing.table</require>
    <require name='package' filter='(&amp;(package=javax.swing.text))' extend='false' multiple='false' optional='false'>Import package javax.swing.text</require>
    <require name='package' filter='(&amp;(package=javax.swing.tree))' extend='false' multiple='false' optional='false'>Import package javax.swing.tree</require>
    <require name='package' filter='(&amp;(package=javax.xml.parsers))' extend='false' multiple='false' optional='false'>Import package javax.xml.parsers</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform.dom))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform.dom</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform.stream))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform.stream</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections)(version&gt;=3.2.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections;version="[3.2,4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.scripting)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.scripting;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.classloader)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.classloader;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json.jcr)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json.jcr;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.resource)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.resource;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.api)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.api;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.javascript)(version&gt;=0.1.0)(!(version&gt;=1.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.javascript;version="[0.1,1)"</require>
    <require name='package' filter='(&amp;(package=org.mozilla.classfile)(!(version&gt;=1.0.0)))' extend='false' multiple='false' optional='false'>Import package org.mozilla.classfile;version="[0.0,1)"</require>
    <require name='package' filter='(&amp;(package=org.mozilla.javascript.debug)(!(version&gt;=1.0.0)))' extend='false' multiple='false' optional='false'>Import package org.mozilla.javascript.debug;version="[0.0,1)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom</require>
    <require name='package' filter='(&amp;(package=org.xml.sax))' extend='false' multiple='false' optional='false'>Import package org.xml.sax</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.scripting.javascript/2.0.22' symbolicname='org.apache.sling.scripting.javascript' presentationname='Apache Sling Scripting JavaScript Support' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.scripting.javascript-2.0.22.jar' version='2.0.22'>
    <description>Support for JavaScript scripting</description>
    <size>1332905</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.scripting.javascript'/>
      <p n='presentationname' v='Apache Sling Scripting JavaScript Support'/>
      <p n='version' t='version' v='2.0.22'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.javascript'/>
      <p n='version' t='version' v='0.1.0'/>
      <p n='uses:' v='org.mozilla.javascript'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.mozilla.javascript'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='org.mozilla.javascript.debug'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.mozilla.classfile'/>
      <p n='version' t='version' v='0.0.1'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.mozilla.javascript.debug'/>
      <p n='version' t='version' v='0.0.1'/>
      <p n='uses:' v='org.mozilla.javascript'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr;version=2.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.lock)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.lock;version=2.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.nodetype)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.nodetype;version=2.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.version)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.version;version=2.0</require>
    <require name='package' filter='(&amp;(package=javax.script))' extend='false' multiple='false' optional='false'>Import package javax.script</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=javax.swing))' extend='false' multiple='false' optional='false'>Import package javax.swing</require>
    <require name='package' filter='(&amp;(package=javax.swing.border))' extend='false' multiple='false' optional='false'>Import package javax.swing.border</require>
    <require name='package' filter='(&amp;(package=javax.swing.event))' extend='false' multiple='false' optional='false'>Import package javax.swing.event</require>
    <require name='package' filter='(&amp;(package=javax.swing.filechooser))' extend='false' multiple='false' optional='false'>Import package javax.swing.filechooser</require>
    <require name='package' filter='(&amp;(package=javax.swing.table))' extend='false' multiple='false' optional='false'>Import package javax.swing.table</require>
    <require name='package' filter='(&amp;(package=javax.swing.text))' extend='false' multiple='false' optional='false'>Import package javax.swing.text</require>
    <require name='package' filter='(&amp;(package=javax.swing.tree))' extend='false' multiple='false' optional='false'>Import package javax.swing.tree</require>
    <require name='package' filter='(&amp;(package=javax.xml.parsers))' extend='false' multiple='false' optional='false'>Import package javax.xml.parsers</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform.dom))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform.dom</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform.stream))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform.stream</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections)(version&gt;=3.2.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections;version="[3.2,4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.io)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.io;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.scripting)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.scripting;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.classloader)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.classloader;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json.jcr)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json.jcr;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.resource)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.resource;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.api)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.api;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.core)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.core;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.javascript)(version&gt;=0.1.0)(!(version&gt;=1.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.javascript;version="[0.1,1)"</require>
    <require name='package' filter='(&amp;(package=org.mozilla.classfile)(!(version&gt;=1.0.0)))' extend='false' multiple='false' optional='false'>Import package org.mozilla.classfile;version="[0.0,1)"</require>
    <require name='package' filter='(&amp;(package=org.mozilla.javascript.debug)(!(version&gt;=1.0.0)))' extend='false' multiple='false' optional='false'>Import package org.mozilla.javascript.debug;version="[0.0,1)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom</require>
    <require name='package' filter='(&amp;(package=org.xml.sax))' extend='false' multiple='false' optional='false'>Import package org.xml.sax</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.scripting.javascript/2.0.14' symbolicname='org.apache.sling.scripting.javascript' presentationname='Apache Sling Scripting JavaScript Support' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.scripting.javascript/2.0.14/org.apache.sling.scripting.javascript-2.0.14.jar' version='2.0.14'>
    <description>Support for JavaScript scripting</description>
    <size>1143417</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.scripting.javascript'/>
      <p n='presentationname' v='Apache Sling Scripting JavaScript Support'/>
      <p n='version' t='version' v='2.0.14'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.javascript'/>
      <p n='version' t='version' v='0.1.0'/>
      <p n='uses:' v='org.mozilla.javascript'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.mozilla.javascript'/>
      <p n='version' t='version' v='0.0.0.1_7R4'/>
      <p n='uses:' v='org.mozilla.javascript.debug'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.mozilla.classfile'/>
      <p n='version' t='version' v='0.0.0.1_7R4'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.mozilla.javascript.debug'/>
      <p n='version' t='version' v='0.0.0.1_7R4'/>
      <p n='uses:' v='org.mozilla.javascript'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=javax.jcr.lock)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr.lock;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=javax.jcr.nodetype)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr.nodetype;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=javax.jcr.version)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr.version;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=javax.script))' extend='false' multiple='false' optional='false'>Import package javax.script</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=javax.swing))' extend='false' multiple='false' optional='false'>Import package javax.swing</require>
    <require name='package' filter='(&amp;(package=javax.swing.border))' extend='false' multiple='false' optional='false'>Import package javax.swing.border</require>
    <require name='package' filter='(&amp;(package=javax.swing.event))' extend='false' multiple='false' optional='false'>Import package javax.swing.event</require>
    <require name='package' filter='(&amp;(package=javax.swing.filechooser))' extend='false' multiple='false' optional='false'>Import package javax.swing.filechooser</require>
    <require name='package' filter='(&amp;(package=javax.swing.table))' extend='false' multiple='false' optional='false'>Import package javax.swing.table</require>
    <require name='package' filter='(&amp;(package=javax.swing.text))' extend='false' multiple='false' optional='false'>Import package javax.swing.text</require>
    <require name='package' filter='(&amp;(package=javax.swing.tree))' extend='false' multiple='false' optional='false'>Import package javax.swing.tree</require>
    <require name='package' filter='(&amp;(package=javax.xml.parsers))' extend='false' multiple='false' optional='false'>Import package javax.xml.parsers</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform.dom))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform.dom</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform.stream))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform.stream</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.scripting)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.scripting;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.classloader)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.classloader;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json.jcr)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json.jcr;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.resource)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.resource;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.api)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.api;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.javascript)(version&gt;=0.1.0)(!(version&gt;=1.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.javascript;version="[0.1,1)"</require>
    <require name='package' filter='(&amp;(package=org.mozilla.classfile)(!(version&gt;=1.0.0)))' extend='false' multiple='false' optional='false'>Import package org.mozilla.classfile;version="[0.0,1)"</require>
    <require name='package' filter='(&amp;(package=org.mozilla.javascript.debug)(!(version&gt;=1.0.0)))' extend='false' multiple='false' optional='false'>Import package org.mozilla.javascript.debug;version="[0.0,1)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom</require>
    <require name='package' filter='(&amp;(package=org.xml.sax))' extend='false' multiple='false' optional='false'>Import package org.xml.sax</require>
    <require name='ee' filter='(|(ee=J2SE-1.5))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=J2SE-1.5))</require>
  </resource>
  <resource id='org.apache.sling.scripting.javascript/2.0.4.incubator' symbolicname='org.apache.sling.scripting.javascript' presentationname='Apache Sling Scripting JavaScript Support' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.scripting.javascript/2.0.4.incubator/org.apache.sling.scripting.javascript-2.0.4.incubator.jar' version='2.0.4.incubator'>
    <description>Support for JavaScript scripting</description>
    <size>814277</size>
    <documentation>http://incubator.apache.org/sling</documentation>
    <source>org/apache/sling/org.apache.sling.scripting.javascript/2.0.4-incubator/org.apache.sling.scripting.javascript-2.0.4-incubator-sources.jar</source>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='org.apache.sling'/>
    <capability name='bundle'>
      <p n='manifestversion' v='2'/>
      <p n='presentationname' v='Apache Sling Scripting JavaScript Support'/>
      <p n='symbolicname' v='org.apache.sling.scripting.javascript'/>
      <p n='version' t='version' v='2.0.4.incubator'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.mozilla.javascript'/>
      <p n='version' t='version' v='0.0.0'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.javascript'/>
      <p n='uses:' v='org.mozilla.javascript'/>
      <p n='version' t='version' v='0.0.0'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.lock)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.lock ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.nodetype)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.nodetype ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.version)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.version ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.script))' extend='false' multiple='false' optional='false'>Import package javax.script</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=javax.swing))' extend='false' multiple='false' optional='false'>Import package javax.swing</require>
    <require name='package' filter='(&amp;(package=javax.swing.border))' extend='false' multiple='false' optional='false'>Import package javax.swing.border</require>
    <require name='package' filter='(&amp;(package=javax.swing.event))' extend='false' multiple='false' optional='false'>Import package javax.swing.event</require>
    <require name='package' filter='(&amp;(package=javax.swing.filechooser))' extend='false' multiple='false' optional='false'>Import package javax.swing.filechooser</require>
    <require name='package' filter='(&amp;(package=javax.swing.table))' extend='false' multiple='false' optional='false'>Import package javax.swing.table</require>
    <require name='package' filter='(&amp;(package=javax.swing.text))' extend='false' multiple='false' optional='false'>Import package javax.swing.text</require>
    <require name='package' filter='(&amp;(package=javax.swing.tree))' extend='false' multiple='false' optional='false'>Import package javax.swing.tree</require>
    <require name='package' filter='(&amp;(package=javax.xml.namespace))' extend='false' multiple='false' optional='false'>Import package javax.xml.namespace</require>
    <require name='package' filter='(&amp;(package=javax.xml.parsers))' extend='false' multiple='false' optional='false'>Import package javax.xml.parsers</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform.dom))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform.dom</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform.stream))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform.stream</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.scripting)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.scripting ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json.jcr)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json.jcr ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.resource)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.resource ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.api)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.api ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.javascript))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.javascript</require>
    <require name='package' filter='(&amp;(package=org.mozilla.javascript))' extend='false' multiple='false' optional='false'>Import package org.mozilla.javascript</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component</require>
    <require name='package' filter='(&amp;(package=org.slf4j))' extend='false' multiple='false' optional='false'>Import package org.slf4j</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom</require>
    <require name='package' filter='(&amp;(package=org.xml.sax))' extend='false' multiple='false' optional='false'>Import package org.xml.sax</require>
  </resource>
  <resource id='org.apache.sling.scripting.jsp/2.0.6.incubator' symbolicname='org.apache.sling.scripting.jsp' presentationname='Apache Sling Scripting JSP Support' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.scripting.jsp/2.0.6.incubator/org.apache.sling.scripting.jsp-2.0.6.incubator.jar' version='2.0.6.incubator'>
    <description>Support for JSP scripting</description>
    <size>2189820</size>
    <documentation>http://incubator.apache.org/sling</documentation>
    <source>org/apache/sling/org.apache.sling.scripting.jsp/2.0.6-incubator/org.apache.sling.scripting.jsp-2.0.6-incubator-sources.jar</source>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='org.apache.sling'/>
    <capability name='bundle'>
      <p n='manifestversion' v='2'/>
      <p n='presentationname' v='Apache Sling Scripting JSP Support'/>
      <p n='symbolicname' v='org.apache.sling.scripting.jsp'/>
      <p n='version' t='version' v='2.0.6.incubator'/>
    </capability>
    <capability name='package'>
      <p n='package' v='javax.el'/>
      <p n='version' t='version' v='2.1.0'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.jsp.jasper.runtime'/>
      <p n='uses:' v='javax.naming,javax.el,javax.servlet.jsp,javax.servlet,javax.servlet.jsp.el,javax.servlet.jsp.tagext,javax.servlet.http'/>
      <p n='version' t='version' v='2.0.6.incubator'/>
    </capability>
    <capability name='package'>
      <p n='package' v='javax.servlet.jsp.el'/>
      <p n='uses:' v='javax.servlet,javax.el,javax.servlet.jsp,javax.servlet.http'/>
      <p n='version' t='version' v='2.1.0'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.jsp.util'/>
      <p n='uses:' v='javax.servlet,org.apache.sling.api,org.slf4j,org.apache.sling.api.wrappers,javax.servlet.jsp'/>
      <p n='version' t='version' v='2.0.6.incubator'/>
    </capability>
    <capability name='package'>
      <p n='package' v='javax.servlet.jsp.tagext'/>
      <p n='uses:' v='javax.servlet.jsp'/>
      <p n='version' t='version' v='2.1.0'/>
    </capability>
    <capability name='package'>
      <p n='package' v='javax.servlet.jsp'/>
      <p n='uses:' v='javax.servlet,javax.el,javax.servlet.jsp.el,javax.servlet.jsp.tagext,javax.servlet.http'/>
      <p n='version' t='version' v='2.1.0'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.el)(version&gt;=2.1.0))' extend='false' multiple='false' optional='false'>Import package javax.el ;version=2.1.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.naming))' extend='false' multiple='false' optional='false'>Import package javax.naming</require>
    <require name='package' filter='(&amp;(package=javax.script))' extend='false' multiple='false' optional='false'>Import package javax.script</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=javax.servlet.jsp)(version&gt;=2.1.0))' extend='false' multiple='false' optional='false'>Import package javax.servlet.jsp ;version=2.1.0</require>
    <require name='package' filter='(&amp;(package=javax.servlet.jsp.el)(version&gt;=2.1.0))' extend='false' multiple='false' optional='false'>Import package javax.servlet.jsp.el ;version=2.1.0</require>
    <require name='package' filter='(&amp;(package=javax.servlet.jsp.tagext)(version&gt;=2.1.0))' extend='false' multiple='false' optional='false'>Import package javax.servlet.jsp.tagext ;version=2.1.0</require>
    <require name='package' filter='(&amp;(package=javax.xml.parsers))' extend='false' multiple='false' optional='false'>Import package javax.xml.parsers</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.scripting)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.scripting ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.wrappers)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.wrappers ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.api)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.api ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.classloader)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.classloader ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.api)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.api ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.jsp.jasper.runtime)(version&gt;=2.0.6.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.jsp.jasper.runtime ;version=2.0.6.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.jsp.util)(version&gt;=2.0.6.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.jsp.util ;version=2.0.6.incubator</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component</require>
    <require name='package' filter='(&amp;(package=org.slf4j))' extend='false' multiple='false' optional='false'>Import package org.slf4j</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom</require>
    <require name='package' filter='(&amp;(package=org.xml.sax))' extend='false' multiple='false' optional='false'>Import package org.xml.sax</require>
    <require name='package' filter='(&amp;(package=org.xml.sax.ext))' extend='false' multiple='false' optional='false'>Import package org.xml.sax.ext</require>
    <require name='package' filter='(&amp;(package=org.xml.sax.helpers))' extend='false' multiple='false' optional='false'>Import package org.xml.sax.helpers</require>
  </resource>
  <resource id='org.apache.sling.scripting.jsp/2.1.8' symbolicname='org.apache.sling.scripting.jsp' presentationname='Apache Sling Scripting JSP Support' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.scripting.jsp/2.1.8/org.apache.sling.scripting.jsp-2.1.8.jar' version='2.1.8'>
    <description>Support for JSP scripting</description>
    <size>918716</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.scripting.jsp'/>
      <p n='presentationname' v='Apache Sling Scripting JSP Support'/>
      <p n='version' t='version' v='2.1.8'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.jsp.jasper.runtime'/>
      <p n='version' t='version' v='2.0.8'/>
      <p n='uses:' v='javax.el,javax.naming,javax.servlet,javax.servlet.http,javax.servlet.jsp,javax.servlet.jsp.el,javax.servlet.jsp.tagext'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.jsp.util'/>
      <p n='version' t='version' v='2.0.8'/>
      <p n='uses:' v='javax.servlet,javax.servlet.jsp,org.apache.sling.api,org.apache.sling.api.wrappers,org.slf4j'/>
    </capability>
    <capability name='package'>
      <p n='package' v='javax.el'/>
      <p n='version' t='version' v='2.1.0'/>
    </capability>
    <capability name='package'>
      <p n='package' v='javax.servlet.jsp'/>
      <p n='version' t='version' v='2.1.0'/>
      <p n='uses:' v='javax.el,javax.servlet,javax.servlet.http,javax.servlet.jsp.el,javax.servlet.jsp.tagext'/>
    </capability>
    <capability name='package'>
      <p n='package' v='javax.servlet.jsp.el'/>
      <p n='version' t='version' v='2.1.0'/>
      <p n='uses:' v='javax.el'/>
    </capability>
    <capability name='package'>
      <p n='package' v='javax.servlet.jsp.resources'/>
      <p n='version' t='version' v='2.1.0'/>
    </capability>
    <capability name='package'>
      <p n='package' v='javax.servlet.jsp.tagext'/>
      <p n='version' t='version' v='2.1.0'/>
      <p n='uses:' v='javax.servlet.jsp'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.el)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.el;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=javax.naming))' extend='false' multiple='false' optional='false'>Import package javax.naming</require>
    <require name='package' filter='(&amp;(package=javax.script))' extend='false' multiple='false' optional='false'>Import package javax.script</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=javax.servlet.jsp)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.servlet.jsp;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=javax.servlet.jsp.el)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.servlet.jsp.el;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=javax.servlet.jsp.tagext)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.servlet.jsp.tagext;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=javax.xml.parsers))' extend='false' multiple='false' optional='false'>Import package javax.xml.parsers</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.scripting)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.scripting;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.wrappers)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.wrappers;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.classloader)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.classloader;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.compiler)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.compiler;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.api)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.api;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.jsp.util)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.jsp.util;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.event)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.event;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom</require>
    <require name='package' filter='(&amp;(package=org.xml.sax))' extend='false' multiple='false' optional='false'>Import package org.xml.sax</require>
    <require name='package' filter='(&amp;(package=org.xml.sax.ext))' extend='false' multiple='false' optional='false'>Import package org.xml.sax.ext</require>
    <require name='package' filter='(&amp;(package=org.xml.sax.helpers))' extend='false' multiple='false' optional='false'>Import package org.xml.sax.helpers</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.scripting.jsp/2.0.16' symbolicname='org.apache.sling.scripting.jsp' presentationname='Apache Sling Scripting JSP Support' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.scripting.jsp/2.0.16/org.apache.sling.scripting.jsp-2.0.16.jar' version='2.0.16'>
    <description>Support for JSP scripting</description>
    <size>2221320</size>
    <documentation>http://sling.apache.org</documentation>
    <source>org/apache/sling/org.apache.sling.scripting.jsp/2.0.16/org.apache.sling.scripting.jsp-2.0.16-sources.jar</source>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <category id='org.apache.sling'/>
    <capability name='bundle'>
      <p n='manifestversion' v='2'/>
      <p n='presentationname' v='Apache Sling Scripting JSP Support'/>
      <p n='symbolicname' v='org.apache.sling.scripting.jsp'/>
      <p n='version' t='version' v='2.0.16'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.jsp.jasper.runtime'/>
      <p n='uses' v='javax.naming,javax.servlet.jsp.tagext,javax.servlet.jsp,javax.servlet,javax.servlet.http,javax.el,javax.servlet.jsp.el'/>
      <p n='version' t='version' v='2.0.8'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.jsp.util'/>
      <p n='uses' v='javax.servlet,org.apache.sling.api,javax.servlet.jsp,org.apache.sling.api.wrappers,org.slf4j'/>
      <p n='version' t='version' v='2.0.8'/>
    </capability>
    <capability name='package'>
      <p n='package' v='javax.el'/>
      <p n='version' t='version' v='2.1.0'/>
    </capability>
    <capability name='package'>
      <p n='package' v='javax.servlet.jsp'/>
      <p n='uses' v='javax.servlet,javax.servlet.http,javax.el,javax.servlet.jsp.el,javax.servlet.jsp.tagext'/>
      <p n='version' t='version' v='2.1.0'/>
    </capability>
    <capability name='package'>
      <p n='package' v='javax.servlet.jsp.el'/>
      <p n='uses' v='javax.servlet,javax.servlet.jsp,javax.servlet.http,javax.el'/>
      <p n='version' t='version' v='2.1.0'/>
    </capability>
    <capability name='package'>
      <p n='package' v='javax.servlet.jsp.resources'/>
      <p n='version' t='version' v='2.1.0'/>
    </capability>
    <capability name='package'>
      <p n='package' v='javax.servlet.jsp.tagext'/>
      <p n='uses' v='javax.servlet.jsp'/>
      <p n='version' t='version' v='2.1.0'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.el)(version&gt;=2.1.0))' extend='false' multiple='false' optional='false'>Import package javax.el ;version=2.1.0</require>
    <require name='package' filter='(&amp;(package=javax.naming))' extend='false' multiple='false' optional='false'>Import package javax.naming</require>
    <require name='package' filter='(&amp;(package=javax.script))' extend='false' multiple='false' optional='false'>Import package javax.script</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=javax.servlet.jsp)(version&gt;=2.1.0))' extend='false' multiple='false' optional='false'>Import package javax.servlet.jsp ;version=2.1.0</require>
    <require name='package' filter='(&amp;(package=javax.servlet.jsp.el)(version&gt;=2.1.0))' extend='false' multiple='false' optional='false'>Import package javax.servlet.jsp.el ;version=2.1.0</require>
    <require name='package' filter='(&amp;(package=javax.servlet.jsp.resources)(version&gt;=2.1.0))' extend='false' multiple='false' optional='false'>Import package javax.servlet.jsp.resources ;version=2.1.0</require>
    <require name='package' filter='(&amp;(package=javax.servlet.jsp.tagext)(version&gt;=2.1.0))' extend='false' multiple='false' optional='false'>Import package javax.servlet.jsp.tagext ;version=2.1.0</require>
    <require name='package' filter='(&amp;(package=javax.xml.parsers))' extend='false' multiple='false' optional='false'>Import package javax.xml.parsers</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.scripting)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.scripting ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.wrappers)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.wrappers ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.classloader)(version&gt;=1.2.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.classloader ;version=1.2.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.api)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.api ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.jsp.jasper.runtime)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.jsp.jasper.runtime ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.jsp.util)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.jsp.util ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework ;version=1.4.0</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.event)(version&gt;=1.1.0))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.event ;version=1.1.0</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0))' extend='false' multiple='false' optional='false'>Import package org.slf4j ;version=1.5.0</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom</require>
    <require name='package' filter='(&amp;(package=org.xml.sax))' extend='false' multiple='false' optional='false'>Import package org.xml.sax</require>
    <require name='package' filter='(&amp;(package=org.xml.sax.ext))' extend='false' multiple='false' optional='false'>Import package org.xml.sax.ext</require>
    <require name='package' filter='(&amp;(package=org.xml.sax.helpers))' extend='false' multiple='false' optional='false'>Import package org.xml.sax.helpers</require>
  </resource>
  <resource id='org.apache.sling.scripting.jsp/2.1.6' symbolicname='org.apache.sling.scripting.jsp' presentationname='Apache Sling Scripting JSP Support' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.scripting.jsp/2.1.6/org.apache.sling.scripting.jsp-2.1.6.jar' version='2.1.6'>
    <description>Support for JSP scripting</description>
    <size>917996</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.scripting.jsp'/>
      <p n='presentationname' v='Apache Sling Scripting JSP Support'/>
      <p n='version' t='version' v='2.1.6'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.jsp.jasper.runtime'/>
      <p n='version' t='version' v='2.0.8'/>
      <p n='uses:' v='javax.el,javax.naming,javax.servlet,javax.servlet.http,javax.servlet.jsp,javax.servlet.jsp.el,javax.servlet.jsp.tagext'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.jsp.util'/>
      <p n='version' t='version' v='2.0.8'/>
      <p n='uses:' v='javax.servlet,javax.servlet.jsp,org.apache.sling.api,org.apache.sling.api.wrappers,org.slf4j'/>
    </capability>
    <capability name='package'>
      <p n='package' v='javax.el'/>
      <p n='version' t='version' v='2.1.0'/>
    </capability>
    <capability name='package'>
      <p n='package' v='javax.servlet.jsp'/>
      <p n='version' t='version' v='2.1.0'/>
      <p n='uses:' v='javax.el,javax.servlet,javax.servlet.http,javax.servlet.jsp.el,javax.servlet.jsp.tagext'/>
    </capability>
    <capability name='package'>
      <p n='package' v='javax.servlet.jsp.el'/>
      <p n='version' t='version' v='2.1.0'/>
      <p n='uses:' v='javax.el'/>
    </capability>
    <capability name='package'>
      <p n='package' v='javax.servlet.jsp.resources'/>
      <p n='version' t='version' v='2.1.0'/>
    </capability>
    <capability name='package'>
      <p n='package' v='javax.servlet.jsp.tagext'/>
      <p n='version' t='version' v='2.1.0'/>
      <p n='uses:' v='javax.servlet.jsp'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.el)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.el;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=javax.naming))' extend='false' multiple='false' optional='false'>Import package javax.naming</require>
    <require name='package' filter='(&amp;(package=javax.script))' extend='false' multiple='false' optional='false'>Import package javax.script</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=javax.servlet.jsp)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.servlet.jsp;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=javax.servlet.jsp.el)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.servlet.jsp.el;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=javax.servlet.jsp.tagext)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.servlet.jsp.tagext;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=javax.xml.parsers))' extend='false' multiple='false' optional='false'>Import package javax.xml.parsers</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.scripting)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.scripting;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.wrappers)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.wrappers;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.classloader)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.classloader;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.compiler)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.compiler;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.api)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.api;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.jsp.util)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.jsp.util;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.event)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.event;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom</require>
    <require name='package' filter='(&amp;(package=org.xml.sax))' extend='false' multiple='false' optional='false'>Import package org.xml.sax</require>
    <require name='package' filter='(&amp;(package=org.xml.sax.ext))' extend='false' multiple='false' optional='false'>Import package org.xml.sax.ext</require>
    <require name='package' filter='(&amp;(package=org.xml.sax.helpers))' extend='false' multiple='false' optional='false'>Import package org.xml.sax.helpers</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.scripting.jsp/2.0.18' symbolicname='org.apache.sling.scripting.jsp' presentationname='Apache Sling Scripting JSP Support' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.scripting.jsp/2.0.18/org.apache.sling.scripting.jsp-2.0.18.jar' version='2.0.18'>
    <description>Support for JSP scripting</description>
    <size>2222782</size>
    <documentation>http://sling.apache.org</documentation>
    <source>org/apache/sling/org.apache.sling.scripting.jsp/2.0.18/org.apache.sling.scripting.jsp-2.0.18-sources.jar</source>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <category id='org.apache.sling'/>
    <capability name='bundle'>
      <p n='manifestversion' v='2'/>
      <p n='presentationname' v='Apache Sling Scripting JSP Support'/>
      <p n='symbolicname' v='org.apache.sling.scripting.jsp'/>
      <p n='version' t='version' v='2.0.18'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.jsp.jasper.runtime'/>
      <p n='uses' v='javax.naming,javax.servlet.jsp.tagext,javax.servlet.jsp,javax.servlet,javax.servlet.http,javax.el,javax.servlet.jsp.el'/>
      <p n='version' t='version' v='2.0.8'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.jsp.util'/>
      <p n='uses' v='javax.servlet,org.apache.sling.api,javax.servlet.jsp,org.apache.sling.api.wrappers,org.slf4j'/>
      <p n='version' t='version' v='2.0.8'/>
    </capability>
    <capability name='package'>
      <p n='package' v='javax.el'/>
      <p n='version' t='version' v='2.1.0'/>
    </capability>
    <capability name='package'>
      <p n='package' v='javax.servlet.jsp'/>
      <p n='uses' v='javax.servlet,javax.servlet.http,javax.el,javax.servlet.jsp.el,javax.servlet.jsp.tagext'/>
      <p n='version' t='version' v='2.1.0'/>
    </capability>
    <capability name='package'>
      <p n='package' v='javax.servlet.jsp.el'/>
      <p n='uses' v='javax.servlet,javax.servlet.jsp,javax.servlet.http,javax.el'/>
      <p n='version' t='version' v='2.1.0'/>
    </capability>
    <capability name='package'>
      <p n='package' v='javax.servlet.jsp.resources'/>
      <p n='version' t='version' v='2.1.0'/>
    </capability>
    <capability name='package'>
      <p n='package' v='javax.servlet.jsp.tagext'/>
      <p n='uses' v='javax.servlet.jsp'/>
      <p n='version' t='version' v='2.1.0'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.el)(version&gt;=2.1.0))' extend='false' multiple='false' optional='false'>Import package javax.el ;version=2.1.0</require>
    <require name='package' filter='(&amp;(package=javax.naming))' extend='false' multiple='false' optional='false'>Import package javax.naming</require>
    <require name='package' filter='(&amp;(package=javax.script))' extend='false' multiple='false' optional='false'>Import package javax.script</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=javax.servlet.jsp)(version&gt;=2.1.0))' extend='false' multiple='false' optional='false'>Import package javax.servlet.jsp ;version=2.1.0</require>
    <require name='package' filter='(&amp;(package=javax.servlet.jsp.el)(version&gt;=2.1.0))' extend='false' multiple='false' optional='false'>Import package javax.servlet.jsp.el ;version=2.1.0</require>
    <require name='package' filter='(&amp;(package=javax.servlet.jsp.resources)(version&gt;=2.1.0))' extend='false' multiple='false' optional='false'>Import package javax.servlet.jsp.resources ;version=2.1.0</require>
    <require name='package' filter='(&amp;(package=javax.servlet.jsp.tagext)(version&gt;=2.1.0))' extend='false' multiple='false' optional='false'>Import package javax.servlet.jsp.tagext ;version=2.1.0</require>
    <require name='package' filter='(&amp;(package=javax.xml.parsers))' extend='false' multiple='false' optional='false'>Import package javax.xml.parsers</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.scripting)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.scripting ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.wrappers)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.wrappers ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.classloader)(version&gt;=1.2.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.classloader ;version=1.2.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.api)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.api ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.jsp.jasper.runtime)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.jsp.jasper.runtime ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.jsp.util)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.jsp.util ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework ;version=1.4.0</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.event)(version&gt;=1.1.0))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.event ;version=1.1.0</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0))' extend='false' multiple='false' optional='false'>Import package org.slf4j ;version=1.5.0</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom</require>
    <require name='package' filter='(&amp;(package=org.xml.sax))' extend='false' multiple='false' optional='false'>Import package org.xml.sax</require>
    <require name='package' filter='(&amp;(package=org.xml.sax.ext))' extend='false' multiple='false' optional='false'>Import package org.xml.sax.ext</require>
    <require name='package' filter='(&amp;(package=org.xml.sax.helpers))' extend='false' multiple='false' optional='false'>Import package org.xml.sax.helpers</require>
  </resource>
  <resource id='org.apache.sling.scripting.jst/2.0.6' symbolicname='org.apache.sling.scripting.jst' presentationname='Apache Sling Scripting JST Support' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.scripting.jst/2.0.6/org.apache.sling.scripting.jst-2.0.6.jar' version='2.0.6'>
    <description>Support for JST scripting</description>
    <size>951356</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.scripting.jst'/>
      <p n='presentationname' v='Apache Sling Scripting JST Support'/>
      <p n='version' t='version' v='2.0.6'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr)(version&gt;=1.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr;version="[1.0,3.0)"</require>
    <require name='package' filter='(&amp;(package=javax.jcr.nodetype)(version&gt;=1.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr.nodetype;version="[1.0,3.0)"</require>
    <require name='package' filter='(&amp;(package=javax.script))' extend='false' multiple='false' optional='false'>Import package javax.script</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=javax.xml.parsers))' extend='false' multiple='false' optional='false'>Import package javax.xml.parsers</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform.dom))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform.dom</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform.stream))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform.stream</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.scripting)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.scripting;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.servlets)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.servlets;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.wrappers)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.wrappers;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json.jcr)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json.jcr;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.api)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.api;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.xml.serialize))' extend='false' multiple='false' optional='true'>Import package org.apache.xml.serialize;resolution:=optional</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom.events))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom.events</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom.html))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom.html</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom.ranges))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom.ranges</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom.traversal))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom.traversal</require>
    <require name='package' filter='(&amp;(package=org.xml.sax))' extend='false' multiple='false' optional='false'>Import package org.xml.sax</require>
    <require name='package' filter='(&amp;(package=org.xml.sax.ext))' extend='false' multiple='false' optional='false'>Import package org.xml.sax.ext</require>
    <require name='package' filter='(&amp;(package=org.xml.sax.helpers))' extend='false' multiple='false' optional='false'>Import package org.xml.sax.helpers</require>
    <require name='package' filter='(&amp;(package=sun.misc))' extend='false' multiple='false' optional='true'>Import package sun.misc;resolution:=optional</require>
  </resource>
  <resource id='org.apache.sling.scripting.sightly/1.0.10' symbolicname='org.apache.sling.scripting.sightly' presentationname='Apache Sling Scripting Sightly Engine' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.scripting.sightly-1.0.10.jar' version='1.0.10'>
    <description>The Apache Sling Scripting Sightly Engine is a Java implementation of the Sightly specification. The bundle contains the Sightly        engine and its plugin framework implementation.</description>
    <size>690183</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.scripting.sightly'/>
      <p n='presentationname' v='Apache Sling Scripting Sightly Engine'/>
      <p n='version' t='version' v='1.0.10'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.sightly.extension'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='org.apache.sling.scripting.sightly.render'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.sightly'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='org.apache.sling.api,org.apache.sling.api.resource'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.sightly.pojo'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='javax.script'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.sightly.render'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='javax.script,org.apache.sling.api.resource'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.sightly.use'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='javax.script,org.apache.sling.scripting.sightly.render'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.imageio))' extend='false' multiple='false' optional='false'>Import package javax.imageio</require>
    <require name='package' filter='(&amp;(package=javax.print))' extend='false' multiple='false' optional='false'>Import package javax.print</require>
    <require name='package' filter='(&amp;(package=javax.print.attribute))' extend='false' multiple='false' optional='false'>Import package javax.print.attribute</require>
    <require name='package' filter='(&amp;(package=javax.script))' extend='false' multiple='false' optional='false'>Import package javax.script</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.swing))' extend='false' multiple='false' optional='false'>Import package javax.swing</require>
    <require name='package' filter='(&amp;(package=javax.swing.border))' extend='false' multiple='false' optional='false'>Import package javax.swing.border</require>
    <require name='package' filter='(&amp;(package=javax.swing.event))' extend='false' multiple='false' optional='false'>Import package javax.swing.event</require>
    <require name='package' filter='(&amp;(package=javax.swing.filechooser))' extend='false' multiple='false' optional='false'>Import package javax.swing.filechooser</require>
    <require name='package' filter='(&amp;(package=javax.swing.tree))' extend='false' multiple='false' optional='false'>Import package javax.swing.tree</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.io)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.io;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.lang)(version&gt;=2.5.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.lang;version="[2.5,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.adapter)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.adapter;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.request)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.request;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.scripting)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.scripting;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.servlets)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.servlets;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.wrappers)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.wrappers;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.classloader)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.classloader;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.compiler)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.compiler;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.i18n)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.i18n;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.api)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.api;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.extension)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.extension;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.pojo)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.pojo;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.render)(version&gt;=1.0.0)(!(version&gt;=1.1.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.render;version="[1.0,1.1)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.use)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.use;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.xss)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.xss;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.event)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.event;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.scripting.sightly/1.0.14' symbolicname='org.apache.sling.scripting.sightly' presentationname='Apache Sling Scripting Sightly Engine' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.scripting.sightly-1.0.14.jar' version='1.0.14'>
    <description>The Apache Sling Scripting Sightly Engine is a Java implementation of the Sightly specification. The bundle contains the Sightly        engine and its plugin framework implementation.</description>
    <size>690564</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.scripting.sightly'/>
      <p n='presentationname' v='Apache Sling Scripting Sightly Engine'/>
      <p n='version' t='version' v='1.0.14'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.sightly.extension'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='org.apache.sling.scripting.sightly.render'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.sightly'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='org.apache.sling.api,org.apache.sling.api.resource'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.sightly.pojo'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='javax.script'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.sightly.render'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='javax.script,org.apache.sling.api.resource'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.sightly.use'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='javax.script,org.apache.sling.scripting.sightly.render'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.imageio))' extend='false' multiple='false' optional='false'>Import package javax.imageio</require>
    <require name='package' filter='(&amp;(package=javax.print))' extend='false' multiple='false' optional='false'>Import package javax.print</require>
    <require name='package' filter='(&amp;(package=javax.print.attribute))' extend='false' multiple='false' optional='false'>Import package javax.print.attribute</require>
    <require name='package' filter='(&amp;(package=javax.script))' extend='false' multiple='false' optional='false'>Import package javax.script</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.swing))' extend='false' multiple='false' optional='false'>Import package javax.swing</require>
    <require name='package' filter='(&amp;(package=javax.swing.border))' extend='false' multiple='false' optional='false'>Import package javax.swing.border</require>
    <require name='package' filter='(&amp;(package=javax.swing.event))' extend='false' multiple='false' optional='false'>Import package javax.swing.event</require>
    <require name='package' filter='(&amp;(package=javax.swing.filechooser))' extend='false' multiple='false' optional='false'>Import package javax.swing.filechooser</require>
    <require name='package' filter='(&amp;(package=javax.swing.tree))' extend='false' multiple='false' optional='false'>Import package javax.swing.tree</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.io)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.io;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.lang)(version&gt;=2.5.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.lang;version="[2.5,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.adapter)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.adapter;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.request)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.request;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.scripting)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.scripting;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.servlets)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.servlets;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.wrappers)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.wrappers;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.classloader)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.classloader;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.compiler)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.compiler;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.i18n)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.i18n;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.api)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.api;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.extension)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.extension;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.pojo)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.pojo;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.render)(version&gt;=1.0.0)(!(version&gt;=1.1.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.render;version="[1.0,1.1)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.use)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.use;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.xss)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.xss;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.event)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.event;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.scripting.sightly/1.0.18' symbolicname='org.apache.sling.scripting.sightly' presentationname='Apache Sling Scripting Sightly Engine' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.scripting.sightly-1.0.18.jar' version='1.0.18'>
    <description>The Apache Sling Scripting Sightly Engine is a Java implementation of the Sightly specification. The bundle contains the Sightly        engine and its plugin framework implementation.</description>
    <size>692551</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.scripting.sightly'/>
      <p n='presentationname' v='Apache Sling Scripting Sightly Engine'/>
      <p n='version' t='version' v='1.0.18'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.sightly.extension'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='org.apache.sling.scripting.sightly.render'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.sightly'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='org.apache.sling.api,org.apache.sling.api.resource'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.sightly.pojo'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='javax.script'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.sightly.render'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='javax.script,org.apache.sling.api.resource'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.sightly.use'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='javax.script,org.apache.sling.scripting.sightly.render'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.imageio))' extend='false' multiple='false' optional='false'>Import package javax.imageio</require>
    <require name='package' filter='(&amp;(package=javax.print))' extend='false' multiple='false' optional='false'>Import package javax.print</require>
    <require name='package' filter='(&amp;(package=javax.print.attribute))' extend='false' multiple='false' optional='false'>Import package javax.print.attribute</require>
    <require name='package' filter='(&amp;(package=javax.script))' extend='false' multiple='false' optional='false'>Import package javax.script</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.swing))' extend='false' multiple='false' optional='false'>Import package javax.swing</require>
    <require name='package' filter='(&amp;(package=javax.swing.border))' extend='false' multiple='false' optional='false'>Import package javax.swing.border</require>
    <require name='package' filter='(&amp;(package=javax.swing.event))' extend='false' multiple='false' optional='false'>Import package javax.swing.event</require>
    <require name='package' filter='(&amp;(package=javax.swing.filechooser))' extend='false' multiple='false' optional='false'>Import package javax.swing.filechooser</require>
    <require name='package' filter='(&amp;(package=javax.swing.tree))' extend='false' multiple='false' optional='false'>Import package javax.swing.tree</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.io)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.io;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.lang)(version&gt;=2.5.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.lang;version="[2.5,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.adapter)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.adapter;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.request)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.request;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.scripting)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.scripting;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.servlets)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.servlets;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.wrappers)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.wrappers;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.classloader)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.classloader;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.compiler)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.compiler;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.i18n)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.i18n;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.api)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.api;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.extension)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.extension;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.pojo)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.pojo;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.render)(version&gt;=1.0.0)(!(version&gt;=1.1.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.render;version="[1.0,1.1)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.use)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.use;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.xss)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.xss;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.event)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.event;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.scripting.sightly/1.0.2' symbolicname='org.apache.sling.scripting.sightly' presentationname='Apache Sling Scripting Sightly Engine' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.scripting.sightly/1.0.2/org.apache.sling.scripting.sightly-1.0.2.jar' version='1.0.2'>
    <description>The Apache Sling Scripting Sightly Engine is a Java implementation of the Sightly specification. The bundle contains the Sightly        engine and its plugin framework implementation.</description>
    <size>689864</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.scripting.sightly'/>
      <p n='presentationname' v='Apache Sling Scripting Sightly Engine'/>
      <p n='version' t='version' v='1.0.2'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.sightly.extension'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='org.apache.sling.scripting.sightly.render'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.sightly'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='org.apache.sling.api,org.apache.sling.api.resource'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.sightly.pojo'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='javax.script'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.sightly.render'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='javax.script,org.apache.sling.api.resource'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.sightly.use'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='javax.script,org.apache.sling.scripting.sightly.render'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.imageio))' extend='false' multiple='false' optional='false'>Import package javax.imageio</require>
    <require name='package' filter='(&amp;(package=javax.print))' extend='false' multiple='false' optional='false'>Import package javax.print</require>
    <require name='package' filter='(&amp;(package=javax.print.attribute))' extend='false' multiple='false' optional='false'>Import package javax.print.attribute</require>
    <require name='package' filter='(&amp;(package=javax.script))' extend='false' multiple='false' optional='false'>Import package javax.script</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.swing))' extend='false' multiple='false' optional='false'>Import package javax.swing</require>
    <require name='package' filter='(&amp;(package=javax.swing.border))' extend='false' multiple='false' optional='false'>Import package javax.swing.border</require>
    <require name='package' filter='(&amp;(package=javax.swing.event))' extend='false' multiple='false' optional='false'>Import package javax.swing.event</require>
    <require name='package' filter='(&amp;(package=javax.swing.filechooser))' extend='false' multiple='false' optional='false'>Import package javax.swing.filechooser</require>
    <require name='package' filter='(&amp;(package=javax.swing.tree))' extend='false' multiple='false' optional='false'>Import package javax.swing.tree</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.io)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.io;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.lang)(version&gt;=2.5.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.lang;version="[2.5,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.adapter)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.adapter;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.request)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.request;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.scripting)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.scripting;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.servlets)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.servlets;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.wrappers)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.wrappers;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.classloader)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.classloader;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.compiler)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.compiler;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.i18n)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.i18n;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.compiler)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.compiler;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.api)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.api;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.extension)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.extension;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.pojo)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.pojo;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.render)(version&gt;=1.0.0)(!(version&gt;=1.1.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.render;version="[1.0,1.1)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.use)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.use;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.settings)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.settings;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.xss)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.xss;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.event)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.event;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.scripting.sightly/1.0.6' symbolicname='org.apache.sling.scripting.sightly' presentationname='Apache Sling Scripting Sightly Engine' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.scripting.sightly-1.0.6.jar' version='1.0.6'>
    <description>The Apache Sling Scripting Sightly Engine is a Java implementation of the Sightly specification. The bundle contains the Sightly        engine and its plugin framework implementation.</description>
    <size>688161</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.scripting.sightly'/>
      <p n='presentationname' v='Apache Sling Scripting Sightly Engine'/>
      <p n='version' t='version' v='1.0.6'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.sightly.extension'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='org.apache.sling.scripting.sightly.render'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.sightly'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='org.apache.sling.api,org.apache.sling.api.resource'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.sightly.pojo'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='javax.script'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.sightly.render'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='javax.script,org.apache.sling.api.resource'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.sightly.use'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='javax.script,org.apache.sling.scripting.sightly.render'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.imageio))' extend='false' multiple='false' optional='false'>Import package javax.imageio</require>
    <require name='package' filter='(&amp;(package=javax.print))' extend='false' multiple='false' optional='false'>Import package javax.print</require>
    <require name='package' filter='(&amp;(package=javax.print.attribute))' extend='false' multiple='false' optional='false'>Import package javax.print.attribute</require>
    <require name='package' filter='(&amp;(package=javax.script))' extend='false' multiple='false' optional='false'>Import package javax.script</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.swing))' extend='false' multiple='false' optional='false'>Import package javax.swing</require>
    <require name='package' filter='(&amp;(package=javax.swing.border))' extend='false' multiple='false' optional='false'>Import package javax.swing.border</require>
    <require name='package' filter='(&amp;(package=javax.swing.event))' extend='false' multiple='false' optional='false'>Import package javax.swing.event</require>
    <require name='package' filter='(&amp;(package=javax.swing.filechooser))' extend='false' multiple='false' optional='false'>Import package javax.swing.filechooser</require>
    <require name='package' filter='(&amp;(package=javax.swing.tree))' extend='false' multiple='false' optional='false'>Import package javax.swing.tree</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.io)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.io;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.lang)(version&gt;=2.5.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.lang;version="[2.5,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.adapter)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.adapter;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.request)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.request;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.scripting)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.scripting;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.servlets)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.servlets;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.wrappers)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.wrappers;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.classloader)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.classloader;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.compiler)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.compiler;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.i18n)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.i18n;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.api)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.api;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.extension)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.extension;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.pojo)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.pojo;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.render)(version&gt;=1.0.0)(!(version&gt;=1.1.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.render;version="[1.0,1.1)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.use)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.use;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.xss)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.xss;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.event)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.event;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.scripting.sightly/1.0.12' symbolicname='org.apache.sling.scripting.sightly' presentationname='Apache Sling Scripting Sightly Engine' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.scripting.sightly-1.0.12.jar' version='1.0.12'>
    <description>The Apache Sling Scripting Sightly Engine is a Java implementation of the Sightly specification. The bundle contains the Sightly        engine and its plugin framework implementation.</description>
    <size>690669</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.scripting.sightly'/>
      <p n='presentationname' v='Apache Sling Scripting Sightly Engine'/>
      <p n='version' t='version' v='1.0.12'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.sightly.extension'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='org.apache.sling.scripting.sightly.render'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.sightly'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='org.apache.sling.api,org.apache.sling.api.resource'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.sightly.pojo'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='javax.script'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.sightly.render'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='javax.script,org.apache.sling.api.resource'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.sightly.use'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='javax.script,org.apache.sling.scripting.sightly.render'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.imageio))' extend='false' multiple='false' optional='false'>Import package javax.imageio</require>
    <require name='package' filter='(&amp;(package=javax.print))' extend='false' multiple='false' optional='false'>Import package javax.print</require>
    <require name='package' filter='(&amp;(package=javax.print.attribute))' extend='false' multiple='false' optional='false'>Import package javax.print.attribute</require>
    <require name='package' filter='(&amp;(package=javax.script))' extend='false' multiple='false' optional='false'>Import package javax.script</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.swing))' extend='false' multiple='false' optional='false'>Import package javax.swing</require>
    <require name='package' filter='(&amp;(package=javax.swing.border))' extend='false' multiple='false' optional='false'>Import package javax.swing.border</require>
    <require name='package' filter='(&amp;(package=javax.swing.event))' extend='false' multiple='false' optional='false'>Import package javax.swing.event</require>
    <require name='package' filter='(&amp;(package=javax.swing.filechooser))' extend='false' multiple='false' optional='false'>Import package javax.swing.filechooser</require>
    <require name='package' filter='(&amp;(package=javax.swing.tree))' extend='false' multiple='false' optional='false'>Import package javax.swing.tree</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.io)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.io;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.lang)(version&gt;=2.5.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.lang;version="[2.5,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.adapter)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.adapter;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.request)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.request;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.scripting)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.scripting;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.servlets)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.servlets;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.wrappers)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.wrappers;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.classloader)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.classloader;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.compiler)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.compiler;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.i18n)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.i18n;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.api)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.api;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.extension)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.extension;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.pojo)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.pojo;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.render)(version&gt;=1.0.0)(!(version&gt;=1.1.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.render;version="[1.0,1.1)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.use)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.use;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.xss)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.xss;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.event)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.event;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.scripting.sightly/1.0.16' symbolicname='org.apache.sling.scripting.sightly' presentationname='Apache Sling Scripting Sightly Engine' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.scripting.sightly-1.0.16.jar' version='1.0.16'>
    <description>The Apache Sling Scripting Sightly Engine is a Java implementation of the Sightly specification. The bundle contains the Sightly        engine and its plugin framework implementation.</description>
    <size>690573</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.scripting.sightly'/>
      <p n='presentationname' v='Apache Sling Scripting Sightly Engine'/>
      <p n='version' t='version' v='1.0.16'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.sightly.extension'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='org.apache.sling.scripting.sightly.render'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.sightly'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='org.apache.sling.api,org.apache.sling.api.resource'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.sightly.pojo'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='javax.script'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.sightly.render'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='javax.script,org.apache.sling.api.resource'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.sightly.use'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='javax.script,org.apache.sling.scripting.sightly.render'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.imageio))' extend='false' multiple='false' optional='false'>Import package javax.imageio</require>
    <require name='package' filter='(&amp;(package=javax.print))' extend='false' multiple='false' optional='false'>Import package javax.print</require>
    <require name='package' filter='(&amp;(package=javax.print.attribute))' extend='false' multiple='false' optional='false'>Import package javax.print.attribute</require>
    <require name='package' filter='(&amp;(package=javax.script))' extend='false' multiple='false' optional='false'>Import package javax.script</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.swing))' extend='false' multiple='false' optional='false'>Import package javax.swing</require>
    <require name='package' filter='(&amp;(package=javax.swing.border))' extend='false' multiple='false' optional='false'>Import package javax.swing.border</require>
    <require name='package' filter='(&amp;(package=javax.swing.event))' extend='false' multiple='false' optional='false'>Import package javax.swing.event</require>
    <require name='package' filter='(&amp;(package=javax.swing.filechooser))' extend='false' multiple='false' optional='false'>Import package javax.swing.filechooser</require>
    <require name='package' filter='(&amp;(package=javax.swing.tree))' extend='false' multiple='false' optional='false'>Import package javax.swing.tree</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.io)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.io;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.lang)(version&gt;=2.5.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.lang;version="[2.5,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.adapter)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.adapter;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.request)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.request;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.scripting)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.scripting;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.servlets)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.servlets;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.wrappers)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.wrappers;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.classloader)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.classloader;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.compiler)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.compiler;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.i18n)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.i18n;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.api)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.api;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.extension)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.extension;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.pojo)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.pojo;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.render)(version&gt;=1.0.0)(!(version&gt;=1.1.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.render;version="[1.0,1.1)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.use)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.use;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.xss)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.xss;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.event)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.event;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.scripting.sightly/1.0.0' symbolicname='org.apache.sling.scripting.sightly' presentationname='Apache Sling Scripting Sightly Engine' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.scripting.sightly/1.0.0/org.apache.sling.scripting.sightly-1.0.0.jar' version='1.0.0'>
    <description>The Apache Sling Scripting Sightly Engine is a Java implementation of the Sightly specification. The bundle contains the Sightly        engine and its plugin framework implementation.</description>
    <size>689811</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.scripting.sightly'/>
      <p n='presentationname' v='Apache Sling Scripting Sightly Engine'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.sightly.extension'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='org.apache.sling.scripting.sightly.render'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.sightly'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='org.apache.sling.api,org.apache.sling.api.resource'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.sightly.pojo'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='javax.script'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.sightly.render'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='javax.script,org.apache.sling.api.resource'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.sightly.use'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='javax.script,org.apache.sling.scripting.sightly.render'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.imageio))' extend='false' multiple='false' optional='false'>Import package javax.imageio</require>
    <require name='package' filter='(&amp;(package=javax.print))' extend='false' multiple='false' optional='false'>Import package javax.print</require>
    <require name='package' filter='(&amp;(package=javax.print.attribute))' extend='false' multiple='false' optional='false'>Import package javax.print.attribute</require>
    <require name='package' filter='(&amp;(package=javax.script))' extend='false' multiple='false' optional='false'>Import package javax.script</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.swing))' extend='false' multiple='false' optional='false'>Import package javax.swing</require>
    <require name='package' filter='(&amp;(package=javax.swing.border))' extend='false' multiple='false' optional='false'>Import package javax.swing.border</require>
    <require name='package' filter='(&amp;(package=javax.swing.event))' extend='false' multiple='false' optional='false'>Import package javax.swing.event</require>
    <require name='package' filter='(&amp;(package=javax.swing.filechooser))' extend='false' multiple='false' optional='false'>Import package javax.swing.filechooser</require>
    <require name='package' filter='(&amp;(package=javax.swing.tree))' extend='false' multiple='false' optional='false'>Import package javax.swing.tree</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.io)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.io;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.lang)(version&gt;=2.5.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.lang;version="[2.5,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.adapter)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.adapter;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.request)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.request;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.scripting)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.scripting;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.servlets)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.servlets;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.wrappers)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.wrappers;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.classloader)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.classloader;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.compiler)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.compiler;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.i18n)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.i18n;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.compiler)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.compiler;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.api)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.api;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.extension)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.extension;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.pojo)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.pojo;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.render)(version&gt;=1.0.0)(!(version&gt;=1.1.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.render;version="[1.0,1.1)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.use)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.use;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.settings)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.settings;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.xss)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.xss;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.event)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.event;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.scripting.sightly/1.0.4' symbolicname='org.apache.sling.scripting.sightly' presentationname='Apache Sling Scripting Sightly Engine' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.scripting.sightly-1.0.4.jar' version='1.0.4'>
    <description>The Apache Sling Scripting Sightly Engine is a Java implementation of the Sightly specification. The bundle contains the Sightly        engine and its plugin framework implementation.</description>
    <size>687549</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.scripting.sightly'/>
      <p n='presentationname' v='Apache Sling Scripting Sightly Engine'/>
      <p n='version' t='version' v='1.0.4'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.sightly.extension'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='org.apache.sling.scripting.sightly.render'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.sightly'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='org.apache.sling.api,org.apache.sling.api.resource'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.sightly.pojo'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='javax.script'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.sightly.render'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='javax.script,org.apache.sling.api.resource'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.sightly.use'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='javax.script,org.apache.sling.scripting.sightly.render'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.imageio))' extend='false' multiple='false' optional='false'>Import package javax.imageio</require>
    <require name='package' filter='(&amp;(package=javax.print))' extend='false' multiple='false' optional='false'>Import package javax.print</require>
    <require name='package' filter='(&amp;(package=javax.print.attribute))' extend='false' multiple='false' optional='false'>Import package javax.print.attribute</require>
    <require name='package' filter='(&amp;(package=javax.script))' extend='false' multiple='false' optional='false'>Import package javax.script</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.swing))' extend='false' multiple='false' optional='false'>Import package javax.swing</require>
    <require name='package' filter='(&amp;(package=javax.swing.border))' extend='false' multiple='false' optional='false'>Import package javax.swing.border</require>
    <require name='package' filter='(&amp;(package=javax.swing.event))' extend='false' multiple='false' optional='false'>Import package javax.swing.event</require>
    <require name='package' filter='(&amp;(package=javax.swing.filechooser))' extend='false' multiple='false' optional='false'>Import package javax.swing.filechooser</require>
    <require name='package' filter='(&amp;(package=javax.swing.tree))' extend='false' multiple='false' optional='false'>Import package javax.swing.tree</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.io)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.io;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.lang)(version&gt;=2.5.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.lang;version="[2.5,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.adapter)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.adapter;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.request)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.request;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.scripting)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.scripting;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.servlets)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.servlets;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.wrappers)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.wrappers;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.classloader)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.classloader;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.compiler)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.compiler;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.i18n)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.i18n;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.api)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.api;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.extension)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.extension;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.pojo)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.pojo;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.render)(version&gt;=1.0.0)(!(version&gt;=1.1.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.render;version="[1.0,1.1)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.use)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.use;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.xss)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.xss;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.event)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.event;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.scripting.sightly.testing-content/1.0.0' symbolicname='org.apache.sling.scripting.sightly.testing-content' presentationname='Apache Sling Scripting Sightly Integration Tests Content' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.scripting.sightly.testing-content/1.0.0/org.apache.sling.scripting.sightly.testing-content-1.0.0.jar' version='1.0.0'>
    <description>This bundle contains:            - Content adapted from the Adobe Sightly TCK meant to test the org.apache.sling.scripting.sightly implementations.            - Content meant to test performance of the org.apache.sling.scripting.sightly implementation.</description>
    <size>69459</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.scripting.sightly.testing-content'/>
      <p n='presentationname' v='Apache Sling Scripting Sightly Integration Tests Content'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.sightly.testing.adaptable'/>
      <p n='version' t='version' v='1.0.0'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.sightly.testing.models'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='org.apache.sling.api,org.apache.sling.api.resource,org.apache.sling.models.annotations'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.inject)(!(version&gt;=1.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.inject;version="[0.0,1)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.adapter)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.adapter;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.models.annotations)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.models.annotations;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.testing.adaptable))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.testing.adaptable</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.scripting.sightly.testing-content/1.0.4' symbolicname='org.apache.sling.scripting.sightly.testing-content' presentationname='Apache Sling Scripting Sightly Integration Tests Content' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.scripting.sightly.testing-content/1.0.4/org.apache.sling.scripting.sightly.testing-content-1.0.4.jar' version='1.0.4'>
    <description>This bundle contains:            - Content adapted from the Adobe Sightly TCK meant to test the org.apache.sling.scripting.sightly implementations.            - Content meant to test performance of the org.apache.sling.scripting.sightly implementation.</description>
    <size>81944</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.scripting.sightly.testing-content'/>
      <p n='presentationname' v='Apache Sling Scripting Sightly Integration Tests Content'/>
      <p n='version' t='version' v='1.0.4'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.sightly.testing.adaptable'/>
      <p n='version' t='version' v='1.0.4'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.sightly.testing.models'/>
      <p n='version' t='version' v='1.0.4'/>
      <p n='uses:' v='org.apache.sling.api,org.apache.sling.api.resource,org.apache.sling.models.annotations'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.inject)(!(version&gt;=1.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.inject;version="[0.0,1)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.adapter)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.adapter;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.models.annotations)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.models.annotations;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.testing.adaptable))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.testing.adaptable</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.scripting.sightly.testing-content/1.0.2' symbolicname='org.apache.sling.scripting.sightly.testing-content' presentationname='Apache Sling Scripting Sightly Integration Tests Content' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.scripting.sightly.testing-content/1.0.2/org.apache.sling.scripting.sightly.testing-content-1.0.2.jar' version='1.0.2'>
    <description>This bundle contains:            - Content adapted from the Adobe Sightly TCK meant to test the org.apache.sling.scripting.sightly implementations.            - Content meant to test performance of the org.apache.sling.scripting.sightly implementation.</description>
    <size>70398</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.scripting.sightly.testing-content'/>
      <p n='presentationname' v='Apache Sling Scripting Sightly Integration Tests Content'/>
      <p n='version' t='version' v='1.0.2'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.sightly.testing.adaptable'/>
      <p n='version' t='version' v='1.0.2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.sightly.testing.models'/>
      <p n='version' t='version' v='1.0.2'/>
      <p n='uses:' v='org.apache.sling.api,org.apache.sling.api.resource,org.apache.sling.models.annotations'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.inject)(!(version&gt;=1.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.inject;version="[0.0,1)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.adapter)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.adapter;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.models.annotations)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.models.annotations;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.testing.adaptable))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.testing.adaptable</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.scripting.sightly.testing-content/1.0.6' symbolicname='org.apache.sling.scripting.sightly.testing-content' presentationname='Apache Sling Scripting Sightly Integration Tests Content' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.scripting.sightly.testing-content/1.0.6/org.apache.sling.scripting.sightly.testing-content-1.0.6.jar' version='1.0.6'>
    <description>This bundle contains:            - Content adapted from the Adobe Sightly TCK meant to test the org.apache.sling.scripting.sightly implementations.            - Content meant to test performance of the org.apache.sling.scripting.sightly implementation.</description>
    <size>94716</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.scripting.sightly.testing-content'/>
      <p n='presentationname' v='Apache Sling Scripting Sightly Integration Tests Content'/>
      <p n='version' t='version' v='1.0.6'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.sightly.testing.adaptable'/>
      <p n='version' t='version' v='1.0.4'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.sightly.testing.models'/>
      <p n='version' t='version' v='1.1.0'/>
      <p n='uses:' v='org.apache.sling.api,org.apache.sling.api.resource,org.apache.sling.models.annotations'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.sightly.testing.use'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='javax.script,org.apache.sling.api.resource,org.apache.sling.scripting.sightly.pojo'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.inject)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.inject;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.script))' extend='false' multiple='false' optional='false'>Import package javax.script</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.adapter)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.adapter;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.models.annotations)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.models.annotations;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.pojo)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.pojo;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.testing.adaptable)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.testing.adaptable;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.testing.use)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.testing.use;version="[1.0,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.scripting.sightly.js.provider/1.0.0' symbolicname='org.apache.sling.scripting.sightly.js.provider' presentationname='Apache Sling Scripting Sightly JavaScript Use Provider' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.scripting.sightly.js.provider/1.0.0/org.apache.sling.scripting.sightly.js.provider-1.0.0.jar' version='1.0.0'>
    <description>The Apache Sling Sightly JavaScript Use Provider adds support for accessing JS scripts from Sightly&apos;s Use-API.</description>
    <size>76043</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.scripting.sightly.js.provider'/>
      <p n='presentationname' v='Apache Sling Scripting Sightly JavaScript Use Provider'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.script))' extend='false' multiple='false' optional='false'>Import package javax.script</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.io)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.io;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.lang)(version&gt;=2.5.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.lang;version="[2.5,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.scripting)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.scripting;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.api)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.api;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.render)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.render;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.use)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.use;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.mozilla.javascript))' extend='false' multiple='false' optional='false'>Import package org.mozilla.javascript</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.scripting.sightly.js.provider/1.0.4' symbolicname='org.apache.sling.scripting.sightly.js.provider' presentationname='Apache Sling Scripting Sightly JavaScript Use Provider' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.scripting.sightly.js.provider/1.0.4/org.apache.sling.scripting.sightly.js.provider-1.0.4.jar' version='1.0.4'>
    <description>The Apache Sling Sightly JavaScript Use Provider adds support for accessing JS scripts from Sightly&apos;s Use-API.</description>
    <size>76510</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.scripting.sightly.js.provider'/>
      <p n='presentationname' v='Apache Sling Scripting Sightly JavaScript Use Provider'/>
      <p n='version' t='version' v='1.0.4'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.script))' extend='false' multiple='false' optional='false'>Import package javax.script</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.io)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.io;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.lang)(version&gt;=2.5.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.lang;version="[2.5,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.scripting)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.scripting;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.api)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.api;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.render)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.render;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.use)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.use;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.mozilla.javascript))' extend='false' multiple='false' optional='false'>Import package org.mozilla.javascript</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.scripting.sightly.js.provider/1.0.8' symbolicname='org.apache.sling.scripting.sightly.js.provider' presentationname='Apache Sling Scripting Sightly JavaScript Use Provider' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.scripting.sightly.js.provider-1.0.8.jar' version='1.0.8'>
    <description>The Apache Sling Sightly JavaScript Use Provider adds support for accessing JS scripts from Sightly&apos;s Use-API.</description>
    <size>76518</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.scripting.sightly.js.provider'/>
      <p n='presentationname' v='Apache Sling Scripting Sightly JavaScript Use Provider'/>
      <p n='version' t='version' v='1.0.8'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.script))' extend='false' multiple='false' optional='false'>Import package javax.script</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.io)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.io;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.lang)(version&gt;=2.5.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.lang;version="[2.5,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.scripting)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.scripting;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.api)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.api;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.core)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.core;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.render)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.render;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.use)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.use;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.mozilla.javascript))' extend='false' multiple='false' optional='false'>Import package org.mozilla.javascript</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.scripting.sightly.js.provider/1.0.6' symbolicname='org.apache.sling.scripting.sightly.js.provider' presentationname='Apache Sling Scripting Sightly JavaScript Use Provider' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.scripting.sightly.js.provider/1.0.6/org.apache.sling.scripting.sightly.js.provider-1.0.6.jar' version='1.0.6'>
    <description>The Apache Sling Sightly JavaScript Use Provider adds support for accessing JS scripts from Sightly&apos;s Use-API.</description>
    <size>77693</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.scripting.sightly.js.provider'/>
      <p n='presentationname' v='Apache Sling Scripting Sightly JavaScript Use Provider'/>
      <p n='version' t='version' v='1.0.6'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.script))' extend='false' multiple='false' optional='false'>Import package javax.script</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.io)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.io;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.lang)(version&gt;=2.5.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.lang;version="[2.5,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.scripting)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.scripting;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.api)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.api;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.core)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.core;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.render)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.render;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.use)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.use;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.mozilla.javascript))' extend='false' multiple='false' optional='false'>Import package org.mozilla.javascript</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.cm)(version&gt;=1.2.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.cm;version="[1.2,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.scripting.sightly.js.provider/1.0.10' symbolicname='org.apache.sling.scripting.sightly.js.provider' presentationname='Apache Sling Scripting Sightly JavaScript Use Provider' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.scripting.sightly.js.provider-1.0.10.jar' version='1.0.10'>
    <description>The Apache Sling Sightly JavaScript Use Provider adds support for accessing JS scripts from Sightly&apos;s Use-API.</description>
    <size>80367</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.scripting.sightly.js.provider'/>
      <p n='presentationname' v='Apache Sling Scripting Sightly JavaScript Use Provider'/>
      <p n='version' t='version' v='1.0.10'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.script))' extend='false' multiple='false' optional='false'>Import package javax.script</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.io)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.io;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.lang)(version&gt;=2.5.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.lang;version="[2.5,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.scripting)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.scripting;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.api)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.api;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.core)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.core;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.render)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.render;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.use)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.use;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.mozilla.javascript))' extend='false' multiple='false' optional='false'>Import package org.mozilla.javascript</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.scripting.sightly.models.provider/1.0.0' symbolicname='org.apache.sling.scripting.sightly.models.provider' presentationname='Apache Sling Scripting Sightly Models Use Provider' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.scripting.sightly.models.provider-1.0.0.jar' version='1.0.0'>
    <description>Apache Sling Scripting Sightly Models Use Provider adds support for accessing Sling Models from Sightly&apos;s Use-API leveraging the ModelFactory.</description>
    <size>14672</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.scripting.sightly.models.provider'/>
      <p n='presentationname' v='Apache Sling Scripting Sightly Models Use Provider'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.script))' extend='false' multiple='false' optional='false'>Import package javax.script</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.classloader)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.classloader;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.models.factory)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.models.factory;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.render)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.render;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.use)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.use;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.scripting.sightly.repl/1.0.2' symbolicname='org.apache.sling.scripting.sightly.repl' presentationname='Apache Sling Scripting Sightly Read-Eval-Print Loop Environment' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.scripting.sightly.repl-1.0.2.jar' version='1.0.2'>
    <description>REPL for Apache Sling Scripting Sightly engine</description>
    <size>200851</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.scripting.sightly.repl'/>
      <p n='presentationname' v='Apache Sling Scripting Sightly Read-Eval-Print Loop Environment'/>
      <p n='version' t='version' v='1.0.2'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.sightly.repl'/>
      <p n='version' t='version' v='1.0.2'/>
      <p n='uses:' v='javax.servlet,org.apache.sling.api,org.apache.sling.api.servlets,org.osgi.service.component'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.io)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.io;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.servlets)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.servlets;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.scripting.sightly.repl/1.0.0' symbolicname='org.apache.sling.scripting.sightly.repl' presentationname='Apache Sling Scripting Sightly Read-Eval-Print Loop Environment' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.scripting.sightly.repl/1.0.0/org.apache.sling.scripting.sightly.repl-1.0.0.jar' version='1.0.0'>
    <description>REPL for Apache Sling Scripting Sightly engine</description>
    <size>19940</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.scripting.sightly.repl'/>
      <p n='presentationname' v='Apache Sling Scripting Sightly Read-Eval-Print Loop Environment'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.scripting.thymeleaf/0.0.6' symbolicname='org.apache.sling.scripting.thymeleaf' presentationname='Apache Sling Scripting Thymeleaf' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.scripting.thymeleaf/0.0.6/org.apache.sling.scripting.thymeleaf-0.0.6.jar' version='0.0.6'>
    <description>Apache Sling Scripting Thymeleaf</description>
    <size>1354750</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.scripting.thymeleaf'/>
      <p n='presentationname' v='Apache Sling Scripting Thymeleaf'/>
      <p n='version' t='version' v='0.0.6'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.thymeleaf'/>
      <p n='version' t='version' v='0.0.2'/>
      <p n='uses:' v='org.apache.sling.api.resource,org.thymeleaf,org.thymeleaf.context,org.thymeleaf.templatemode'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.thymeleaf'/>
      <p n='version' t='version' v='2.1.4.RELEASE'/>
      <p n='uses:' v='org.thymeleaf.cache,org.thymeleaf.context,org.thymeleaf.dialect,org.thymeleaf.doctype,org.thymeleaf.doctype.resolution,org.thymeleaf.doctype.translation,org.thymeleaf.dom,org.thymeleaf.fragment,org.thymeleaf.messageresolver,org.thymeleaf.processor,org.thymeleaf.templatemode,org.thymeleaf.templateresolver'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.thymeleaf.cache'/>
      <p n='version' t='version' v='2.1.4.RELEASE'/>
      <p n='uses:' v='org.slf4j,org.thymeleaf,org.thymeleaf.dom'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.thymeleaf.context'/>
      <p n='version' t='version' v='2.1.4.RELEASE'/>
      <p n='uses:' v='javax.servlet,javax.servlet.http,org.thymeleaf.dialect'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.thymeleaf.dialect'/>
      <p n='version' t='version' v='2.1.4.RELEASE'/>
      <p n='uses:' v='org.thymeleaf.context,org.thymeleaf.doctype.resolution,org.thymeleaf.doctype.translation,org.thymeleaf.processor'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.thymeleaf.doctype'/>
      <p n='version' t='version' v='2.1.4.RELEASE'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.thymeleaf.doctype.resolution'/>
      <p n='version' t='version' v='2.1.4.RELEASE'/>
      <p n='uses:' v='javax.servlet,org.thymeleaf.doctype,org.xml.sax'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.thymeleaf.doctype.translation'/>
      <p n='version' t='version' v='2.1.4.RELEASE'/>
      <p n='uses:' v='org.thymeleaf.doctype'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.thymeleaf.dom'/>
      <p n='version' t='version' v='2.1.4.RELEASE'/>
      <p n='uses:' v='org.thymeleaf,org.thymeleaf.doctype'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.thymeleaf.dtd.standard'/>
      <p n='version' t='version' v='2.1.4.RELEASE'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.thymeleaf.dtd.thymeleaf'/>
      <p n='version' t='version' v='2.1.4.RELEASE'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.thymeleaf.exceptions'/>
      <p n='version' t='version' v='2.1.4.RELEASE'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.thymeleaf.expression'/>
      <p n='version' t='version' v='2.1.4.RELEASE'/>
      <p n='uses:' v='org.thymeleaf,org.thymeleaf.context'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.thymeleaf.fragment'/>
      <p n='version' t='version' v='2.1.4.RELEASE'/>
      <p n='uses:' v='org.thymeleaf,org.thymeleaf.dom'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.thymeleaf.messageresolver'/>
      <p n='version' t='version' v='2.1.4.RELEASE'/>
      <p n='uses:' v='org.thymeleaf'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.thymeleaf.processor'/>
      <p n='version' t='version' v='2.1.4.RELEASE'/>
      <p n='uses:' v='org.thymeleaf,org.thymeleaf.dialect,org.thymeleaf.dom'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.thymeleaf.processor.attr'/>
      <p n='version' t='version' v='2.1.4.RELEASE'/>
      <p n='uses:' v='org.thymeleaf,org.thymeleaf.dom,org.thymeleaf.processor'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.thymeleaf.processor.comment'/>
      <p n='version' t='version' v='2.1.4.RELEASE'/>
      <p n='uses:' v='org.thymeleaf,org.thymeleaf.dom,org.thymeleaf.processor'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.thymeleaf.processor.document'/>
      <p n='version' t='version' v='2.1.4.RELEASE'/>
      <p n='uses:' v='org.thymeleaf,org.thymeleaf.dom,org.thymeleaf.processor'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.thymeleaf.processor.element'/>
      <p n='version' t='version' v='2.1.4.RELEASE'/>
      <p n='uses:' v='org.thymeleaf,org.thymeleaf.dom,org.thymeleaf.processor'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.thymeleaf.processor.text'/>
      <p n='version' t='version' v='2.1.4.RELEASE'/>
      <p n='uses:' v='org.thymeleaf,org.thymeleaf.dom,org.thymeleaf.processor'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.thymeleaf.resourceresolver'/>
      <p n='version' t='version' v='2.1.4.RELEASE'/>
      <p n='uses:' v='org.thymeleaf'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.thymeleaf.standard'/>
      <p n='version' t='version' v='2.1.4.RELEASE'/>
      <p n='uses:' v='org.thymeleaf,org.thymeleaf.dialect,org.thymeleaf.doctype,org.thymeleaf.doctype.resolution,org.thymeleaf.doctype.translation,org.thymeleaf.processor,org.thymeleaf.standard.expression'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.thymeleaf.standard.expression'/>
      <p n='version' t='version' v='2.1.4.RELEASE'/>
      <p n='uses:' v='org.thymeleaf,org.thymeleaf.context'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.thymeleaf.standard.fragment'/>
      <p n='version' t='version' v='2.1.4.RELEASE'/>
      <p n='uses:' v='org.thymeleaf,org.thymeleaf.context,org.thymeleaf.dom,org.thymeleaf.fragment'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.thymeleaf.standard.inliner'/>
      <p n='version' t='version' v='2.1.4.RELEASE'/>
      <p n='uses:' v='org.thymeleaf,org.thymeleaf.dom'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.thymeleaf.standard.processor.attr'/>
      <p n='version' t='version' v='2.1.4.RELEASE'/>
      <p n='uses:' v='org.thymeleaf,org.thymeleaf.dom,org.thymeleaf.processor,org.thymeleaf.processor.attr,org.thymeleaf.standard.expression,org.thymeleaf.standard.inliner'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.thymeleaf.standard.processor.element'/>
      <p n='version' t='version' v='2.1.4.RELEASE'/>
      <p n='uses:' v='org.thymeleaf,org.thymeleaf.dom,org.thymeleaf.processor.element'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.thymeleaf.standard.processor.text'/>
      <p n='version' t='version' v='2.1.4.RELEASE'/>
      <p n='uses:' v='org.thymeleaf,org.thymeleaf.dom,org.thymeleaf.processor,org.thymeleaf.processor.text'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.thymeleaf.templatemode'/>
      <p n='version' t='version' v='2.1.4.RELEASE'/>
      <p n='uses:' v='org.thymeleaf.templateparser,org.thymeleaf.templatewriter'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.thymeleaf.templateparser'/>
      <p n='version' t='version' v='2.1.4.RELEASE'/>
      <p n='uses:' v='org.thymeleaf,org.thymeleaf.dom,org.xml.sax'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.thymeleaf.templateparser.html'/>
      <p n='version' t='version' v='2.1.4.RELEASE'/>
      <p n='uses:' v='org.thymeleaf,org.thymeleaf.dom,org.thymeleaf.templateparser'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.thymeleaf.templateparser.xmldom'/>
      <p n='version' t='version' v='2.1.4.RELEASE'/>
      <p n='uses:' v='javax.xml.parsers,org.thymeleaf,org.thymeleaf.dom,org.thymeleaf.templateparser,org.thymeleaf.util'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.thymeleaf.templateparser.xmlsax'/>
      <p n='version' t='version' v='2.1.4.RELEASE'/>
      <p n='uses:' v='javax.xml.parsers,org.thymeleaf,org.thymeleaf.dom,org.thymeleaf.templateparser,org.thymeleaf.util'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.thymeleaf.templateresolver'/>
      <p n='version' t='version' v='2.1.4.RELEASE'/>
      <p n='uses:' v='org.thymeleaf,org.thymeleaf.resourceresolver'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.thymeleaf.templatewriter'/>
      <p n='version' t='version' v='2.1.4.RELEASE'/>
      <p n='uses:' v='org.thymeleaf,org.thymeleaf.dom'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.thymeleaf.util'/>
      <p n='version' t='version' v='2.1.4.RELEASE'/>
      <p n='uses:' v='org.thymeleaf,org.thymeleaf.dom,org.thymeleaf.resourceresolver,org.thymeleaf.templateparser,org.thymeleaf.templatewriter,org.w3c.dom'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.thymeleaf.xml.thymeleaf'/>
      <p n='version' t='version' v='2.1.4.RELEASE'/>
    </capability>
    <require name='package' filter='(&amp;(package=javassist))' extend='false' multiple='false' optional='false'>Import package javassist</require>
    <require name='package' filter='(&amp;(package=javax.script))' extend='false' multiple='false' optional='false'>Import package javax.script</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=javax.xml.parsers))' extend='false' multiple='false' optional='false'>Import package javax.xml.parsers</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.request)(version&gt;=2.4.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.request;version="[2.4,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.5.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.5,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.scripting)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.scripting;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.i18n)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.i18n;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.api)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.api;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.thymeleaf)(!(version&gt;=0.1.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.thymeleaf;version="[0.0,0.1)"</require>
    <require name='package' filter='(&amp;(package=org.apache.xerces.impl))' extend='false' multiple='false' optional='false'>Import package org.apache.xerces.impl</require>
    <require name='package' filter='(&amp;(package=org.apache.xerces.parsers))' extend='false' multiple='false' optional='false'>Import package org.apache.xerces.parsers</require>
    <require name='package' filter='(&amp;(package=org.apache.xerces.util))' extend='false' multiple='false' optional='false'>Import package org.apache.xerces.util</require>
    <require name='package' filter='(&amp;(package=org.apache.xerces.xni))' extend='false' multiple='false' optional='false'>Import package org.apache.xerces.xni</require>
    <require name='package' filter='(&amp;(package=org.apache.xerces.xni.parser))' extend='false' multiple='false' optional='false'>Import package org.apache.xerces.xni.parser</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.7.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.7,2)"</require>
    <require name='package' filter='(&amp;(package=org.thymeleaf)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.thymeleaf;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.thymeleaf.dialect)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.thymeleaf.dialect;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.thymeleaf.exceptions)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.thymeleaf.exceptions;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.thymeleaf.messageresolver)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.thymeleaf.messageresolver;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.thymeleaf.processor)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.thymeleaf.processor;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.thymeleaf.processor.attr)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.thymeleaf.processor.attr;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.thymeleaf.resourceresolver)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.thymeleaf.resourceresolver;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.thymeleaf.standard)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.thymeleaf.standard;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.thymeleaf.templateparser)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.thymeleaf.templateparser;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.thymeleaf.templateparser.xmlsax)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.thymeleaf.templateparser.xmlsax;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.thymeleaf.templateresolver)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.thymeleaf.templateresolver;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.thymeleaf.templatewriter)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.thymeleaf.templatewriter;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom</require>
    <require name='package' filter='(&amp;(package=org.xml.sax))' extend='false' multiple='false' optional='false'>Import package org.xml.sax</require>
    <require name='package' filter='(&amp;(package=org.xml.sax.ext))' extend='false' multiple='false' optional='false'>Import package org.xml.sax.ext</require>
    <require name='package' filter='(&amp;(package=org.xml.sax.helpers))' extend='false' multiple='false' optional='false'>Import package org.xml.sax.helpers</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.io.input)(version&gt;=1.4.9999))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.io.input;version=1.4.9999</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.scripting.thymeleaf/0.0.4' symbolicname='org.apache.sling.scripting.thymeleaf' presentationname='Apache Sling Scripting Thymeleaf' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.scripting.thymeleaf/0.0.4/org.apache.sling.scripting.thymeleaf-0.0.4.jar' version='0.0.4'>
    <description>Apache Sling Scripting Thymeleaf</description>
    <size>1329792</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.scripting.thymeleaf'/>
      <p n='presentationname' v='Apache Sling Scripting Thymeleaf'/>
      <p n='version' t='version' v='0.0.4'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.thymeleaf'/>
      <p n='version' t='version' v='0.0.2'/>
      <p n='uses:' v='org.apache.sling.api.resource'/>
    </capability>
    <require name='package' filter='(&amp;(package=javassist))' extend='false' multiple='false' optional='false'>Import package javassist</require>
    <require name='package' filter='(&amp;(package=javax.script))' extend='false' multiple='false' optional='false'>Import package javax.script</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=javax.xml.parsers))' extend='false' multiple='false' optional='false'>Import package javax.xml.parsers</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.5.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.5,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.scripting)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.scripting;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.i18n)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.i18n;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.api)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.api;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.xerces.impl))' extend='false' multiple='false' optional='false'>Import package org.apache.xerces.impl</require>
    <require name='package' filter='(&amp;(package=org.apache.xerces.parsers))' extend='false' multiple='false' optional='false'>Import package org.apache.xerces.parsers</require>
    <require name='package' filter='(&amp;(package=org.apache.xerces.util))' extend='false' multiple='false' optional='false'>Import package org.apache.xerces.util</require>
    <require name='package' filter='(&amp;(package=org.apache.xerces.xni))' extend='false' multiple='false' optional='false'>Import package org.apache.xerces.xni</require>
    <require name='package' filter='(&amp;(package=org.apache.xerces.xni.parser))' extend='false' multiple='false' optional='false'>Import package org.apache.xerces.xni.parser</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.7.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.7,2)"</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom</require>
    <require name='package' filter='(&amp;(package=org.xml.sax))' extend='false' multiple='false' optional='false'>Import package org.xml.sax</require>
    <require name='package' filter='(&amp;(package=org.xml.sax.ext))' extend='false' multiple='false' optional='false'>Import package org.xml.sax.ext</require>
    <require name='package' filter='(&amp;(package=org.xml.sax.helpers))' extend='false' multiple='false' optional='false'>Import package org.xml.sax.helpers</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.io.input)(version&gt;=1.4.9999))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.io.input;version=1.4.9999</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.scripting.thymeleaf/1.0.0' symbolicname='org.apache.sling.scripting.thymeleaf' presentationname='Apache Sling Scripting Thymeleaf' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.scripting.thymeleaf/1.0.0/org.apache.sling.scripting.thymeleaf-1.0.0.jar' version='1.0.0'>
    <description>Apache Sling Scripting Thymeleaf</description>
    <size>1507153</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.scripting.thymeleaf'/>
      <p n='presentationname' v='Apache Sling Scripting Thymeleaf'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.thymeleaf'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='org.apache.sling.api.resource,org.thymeleaf.context,org.thymeleaf.templatemode'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.thymeleaf'/>
      <p n='version' t='version' v='3.0.0.RELEASE'/>
      <p n='uses:' v='org.thymeleaf.cache,org.thymeleaf.context,org.thymeleaf.dialect,org.thymeleaf.engine,org.thymeleaf.expression,org.thymeleaf.linkbuilder,org.thymeleaf.messageresolver,org.thymeleaf.model,org.thymeleaf.postprocessor,org.thymeleaf.preprocessor,org.thymeleaf.processor.cdatasection,org.thymeleaf.processor.comment,org.thymeleaf.processor.doctype,org.thymeleaf.processor.element,org.thymeleaf.processor.processinginstruction,org.thymeleaf.processor.templateboundaries,org.thymeleaf.processor.text,org.thymeleaf.processor.xmldeclaration,org.thymeleaf.templatemode,org.thymeleaf.templateparser.markup.decoupled,org.thymeleaf.templateresolver'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.thymeleaf.cache'/>
      <p n='version' t='version' v='3.0.0.RELEASE'/>
      <p n='uses:' v='org.slf4j,org.thymeleaf.engine,org.thymeleaf.templatemode'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.thymeleaf.context'/>
      <p n='version' t='version' v='3.0.0.RELEASE'/>
      <p n='uses:' v='javax.servlet,javax.servlet.http,org.thymeleaf,org.thymeleaf.engine,org.thymeleaf.expression,org.thymeleaf.inline,org.thymeleaf.model,org.thymeleaf.templatemode'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.thymeleaf.dialect'/>
      <p n='version' t='version' v='3.0.0.RELEASE'/>
      <p n='uses:' v='org.thymeleaf.expression,org.thymeleaf.postprocessor,org.thymeleaf.preprocessor,org.thymeleaf.processor'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.thymeleaf.engine'/>
      <p n='version' t='version' v='3.0.0.RELEASE'/>
      <p n='uses:' v='org.attoparser,org.thymeleaf,org.thymeleaf.cache,org.thymeleaf.context,org.thymeleaf.inline,org.thymeleaf.model,org.thymeleaf.processor.cdatasection,org.thymeleaf.processor.comment,org.thymeleaf.processor.doctype,org.thymeleaf.processor.element,org.thymeleaf.processor.processinginstruction,org.thymeleaf.processor.templateboundaries,org.thymeleaf.processor.text,org.thymeleaf.processor.xmldeclaration,org.thymeleaf.standard.expression,org.thymeleaf.templatemode,org.thymeleaf.templateparser.raw,org.thymeleaf.templateparser.text,org.thymeleaf.templateresource'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.thymeleaf.exceptions'/>
      <p n='version' t='version' v='3.0.0.RELEASE'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.thymeleaf.expression'/>
      <p n='version' t='version' v='3.0.0.RELEASE'/>
      <p n='uses:' v='org.thymeleaf.context,org.thymeleaf.engine,org.thymeleaf.templatemode'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.thymeleaf.inline'/>
      <p n='version' t='version' v='3.0.0.RELEASE'/>
      <p n='uses:' v='org.thymeleaf.context,org.thymeleaf.model'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.thymeleaf.linkbuilder'/>
      <p n='version' t='version' v='3.0.0.RELEASE'/>
      <p n='uses:' v='org.thymeleaf.context'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.thymeleaf.messageresolver'/>
      <p n='version' t='version' v='3.0.0.RELEASE'/>
      <p n='uses:' v='org.thymeleaf.context,org.thymeleaf.templateresource'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.thymeleaf.model'/>
      <p n='version' t='version' v='3.0.0.RELEASE'/>
      <p n='uses:' v='org.thymeleaf,org.thymeleaf.engine,org.thymeleaf.templatemode'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.thymeleaf.postprocessor'/>
      <p n='version' t='version' v='3.0.0.RELEASE'/>
      <p n='uses:' v='org.thymeleaf.engine,org.thymeleaf.templatemode'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.thymeleaf.preprocessor'/>
      <p n='version' t='version' v='3.0.0.RELEASE'/>
      <p n='uses:' v='org.thymeleaf.engine,org.thymeleaf.templatemode'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.thymeleaf.processor'/>
      <p n='version' t='version' v='3.0.0.RELEASE'/>
      <p n='uses:' v='org.thymeleaf.templatemode'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.thymeleaf.processor.cdatasection'/>
      <p n='version' t='version' v='3.0.0.RELEASE'/>
      <p n='uses:' v='org.thymeleaf.context,org.thymeleaf.model,org.thymeleaf.processor,org.thymeleaf.templatemode'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.thymeleaf.processor.comment'/>
      <p n='version' t='version' v='3.0.0.RELEASE'/>
      <p n='uses:' v='org.thymeleaf.context,org.thymeleaf.model,org.thymeleaf.processor,org.thymeleaf.templatemode'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.thymeleaf.processor.doctype'/>
      <p n='version' t='version' v='3.0.0.RELEASE'/>
      <p n='uses:' v='org.thymeleaf.context,org.thymeleaf.model,org.thymeleaf.processor,org.thymeleaf.templatemode'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.thymeleaf.processor.element'/>
      <p n='version' t='version' v='3.0.0.RELEASE'/>
      <p n='uses:' v='org.thymeleaf.context,org.thymeleaf.engine,org.thymeleaf.inline,org.thymeleaf.model,org.thymeleaf.processor,org.thymeleaf.templatemode'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.thymeleaf.processor.processinginstruction'/>
      <p n='version' t='version' v='3.0.0.RELEASE'/>
      <p n='uses:' v='org.thymeleaf.context,org.thymeleaf.model,org.thymeleaf.processor,org.thymeleaf.templatemode'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.thymeleaf.processor.templateboundaries'/>
      <p n='version' t='version' v='3.0.0.RELEASE'/>
      <p n='uses:' v='org.thymeleaf.context,org.thymeleaf.inline,org.thymeleaf.model,org.thymeleaf.processor,org.thymeleaf.templatemode'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.thymeleaf.processor.text'/>
      <p n='version' t='version' v='3.0.0.RELEASE'/>
      <p n='uses:' v='org.thymeleaf.context,org.thymeleaf.model,org.thymeleaf.processor,org.thymeleaf.templatemode'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.thymeleaf.processor.xmldeclaration'/>
      <p n='version' t='version' v='3.0.0.RELEASE'/>
      <p n='uses:' v='org.thymeleaf.context,org.thymeleaf.model,org.thymeleaf.processor,org.thymeleaf.templatemode'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.thymeleaf.standard'/>
      <p n='version' t='version' v='3.0.0.RELEASE'/>
      <p n='uses:' v='org.thymeleaf.dialect,org.thymeleaf.expression,org.thymeleaf.processor,org.thymeleaf.standard.expression,org.thymeleaf.standard.serializer'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.thymeleaf.standard.expression'/>
      <p n='version' t='version' v='3.0.0.RELEASE'/>
      <p n='uses:' v='ognl,org.thymeleaf,org.thymeleaf.context,org.thymeleaf.engine,org.thymeleaf.expression'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.thymeleaf.standard.inline'/>
      <p n='version' t='version' v='3.0.0.RELEASE'/>
      <p n='uses:' v='org.thymeleaf,org.thymeleaf.context,org.thymeleaf.inline,org.thymeleaf.model,org.thymeleaf.templatemode'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.thymeleaf.standard.processor'/>
      <p n='version' t='version' v='3.0.0.RELEASE'/>
      <p n='uses:' v='org.thymeleaf.context,org.thymeleaf.engine,org.thymeleaf.inline,org.thymeleaf.model,org.thymeleaf.processor,org.thymeleaf.processor.cdatasection,org.thymeleaf.processor.comment,org.thymeleaf.processor.doctype,org.thymeleaf.processor.element,org.thymeleaf.processor.templateboundaries,org.thymeleaf.processor.text,org.thymeleaf.standard.expression,org.thymeleaf.standard.inline,org.thymeleaf.templatemode'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.thymeleaf.standard.serializer'/>
      <p n='version' t='version' v='3.0.0.RELEASE'/>
      <p n='uses:' v='org.thymeleaf'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.thymeleaf.standard.util'/>
      <p n='version' t='version' v='3.0.0.RELEASE'/>
      <p n='uses:' v='org.thymeleaf.engine,org.thymeleaf.processor.element'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.thymeleaf.templatemode'/>
      <p n='version' t='version' v='3.0.0.RELEASE'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.thymeleaf.templateparser'/>
      <p n='version' t='version' v='3.0.0.RELEASE'/>
      <p n='uses:' v='org.thymeleaf,org.thymeleaf.engine,org.thymeleaf.templatemode,org.thymeleaf.templateresource'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.thymeleaf.templateparser.markup'/>
      <p n='version' t='version' v='3.0.0.RELEASE'/>
      <p n='uses:' v='org.attoparser.config,org.thymeleaf,org.thymeleaf.engine,org.thymeleaf.templatemode,org.thymeleaf.templateparser,org.thymeleaf.templateresource'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.thymeleaf.templateparser.markup.decoupled'/>
      <p n='version' t='version' v='3.0.0.RELEASE'/>
      <p n='uses:' v='org.attoparser,org.attoparser.select,org.thymeleaf,org.thymeleaf.templatemode,org.thymeleaf.templateresource'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.thymeleaf.templateparser.raw'/>
      <p n='version' t='version' v='3.0.0.RELEASE'/>
      <p n='uses:' v='org.thymeleaf,org.thymeleaf.engine,org.thymeleaf.templatemode,org.thymeleaf.templateparser,org.thymeleaf.templateresource'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.thymeleaf.templateparser.reader'/>
      <p n='version' t='version' v='3.0.0.RELEASE'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.thymeleaf.templateparser.text'/>
      <p n='version' t='version' v='3.0.0.RELEASE'/>
      <p n='uses:' v='org.thymeleaf,org.thymeleaf.engine,org.thymeleaf.templatemode,org.thymeleaf.templateparser,org.thymeleaf.templateresource'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.thymeleaf.templateresolver'/>
      <p n='version' t='version' v='3.0.0.RELEASE'/>
      <p n='uses:' v='javax.servlet,org.thymeleaf,org.thymeleaf.cache,org.thymeleaf.context,org.thymeleaf.templatemode,org.thymeleaf.templateresource,org.thymeleaf.util'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.thymeleaf.templateresource'/>
      <p n='version' t='version' v='3.0.0.RELEASE'/>
      <p n='uses:' v='javax.servlet'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.thymeleaf.util'/>
      <p n='version' t='version' v='3.0.0.RELEASE'/>
      <p n='uses:' v='org.thymeleaf,org.thymeleaf.context,org.thymeleaf.dialect,org.thymeleaf.engine,org.thymeleaf.postprocessor,org.thymeleaf.preprocessor,org.thymeleaf.processor,org.thymeleaf.processor.cdatasection,org.thymeleaf.processor.comment,org.thymeleaf.processor.doctype,org.thymeleaf.processor.element,org.thymeleaf.processor.processinginstruction,org.thymeleaf.processor.templateboundaries,org.thymeleaf.processor.text,org.thymeleaf.processor.xmldeclaration,org.thymeleaf.templatemode'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.thymeleaf.xml.thymeleaf'/>
      <p n='version' t='version' v='3.0.0.RELEASE'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.attoparser'/>
      <p n='version' t='version' v='2.0.0.RELEASE'/>
      <p n='uses:' v='org.attoparser.config,org.attoparser.select'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.attoparser.config'/>
      <p n='version' t='version' v='2.0.0.RELEASE'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.attoparser.discard'/>
      <p n='version' t='version' v='2.0.0.RELEASE'/>
      <p n='uses:' v='org.attoparser'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.attoparser.dom'/>
      <p n='version' t='version' v='2.0.0.RELEASE'/>
      <p n='uses:' v='org.attoparser,org.attoparser.config'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.attoparser.duplicate'/>
      <p n='version' t='version' v='2.0.0.RELEASE'/>
      <p n='uses:' v='org.attoparser,org.attoparser.config,org.attoparser.select'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.attoparser.minimize'/>
      <p n='version' t='version' v='2.0.0.RELEASE'/>
      <p n='uses:' v='org.attoparser,org.attoparser.config'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.attoparser.output'/>
      <p n='version' t='version' v='2.0.0.RELEASE'/>
      <p n='uses:' v='org.attoparser'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.attoparser.prettyhtml'/>
      <p n='version' t='version' v='2.0.0.RELEASE'/>
      <p n='uses:' v='org.attoparser'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.attoparser.select'/>
      <p n='version' t='version' v='2.0.0.RELEASE'/>
      <p n='uses:' v='org.attoparser,org.attoparser.config'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.attoparser.simple'/>
      <p n='version' t='version' v='2.0.0.RELEASE'/>
      <p n='uses:' v='org.attoparser,org.attoparser.config'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.attoparser.trace'/>
      <p n='version' t='version' v='2.0.0.RELEASE'/>
      <p n='uses:' v='org.attoparser'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.attoparser.util'/>
      <p n='version' t='version' v='2.0.0.RELEASE'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.unbescape.css'/>
      <p n='version' t='version' v='1.1.3.RELEASE'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.unbescape.csv'/>
      <p n='version' t='version' v='1.1.3.RELEASE'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.unbescape.html'/>
      <p n='version' t='version' v='1.1.3.RELEASE'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.unbescape.java'/>
      <p n='version' t='version' v='1.1.3.RELEASE'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.unbescape.javascript'/>
      <p n='version' t='version' v='1.1.3.RELEASE'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.unbescape.json'/>
      <p n='version' t='version' v='1.1.3.RELEASE'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.unbescape.properties'/>
      <p n='version' t='version' v='1.1.3.RELEASE'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.unbescape.uri'/>
      <p n='version' t='version' v='1.1.3.RELEASE'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.unbescape.xml'/>
      <p n='version' t='version' v='1.1.3.RELEASE'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ognl'/>
      <p n='version' t='version' v='3.1.3'/>
      <p n='uses:' v='ognl.enhance'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ognl.enhance'/>
      <p n='version' t='version' v='3.1.3'/>
      <p n='uses:' v='javassist,ognl'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ognl.internal'/>
      <p n='version' t='version' v='3.1.3'/>
      <p n='uses:' v='ognl'/>
    </capability>
    <require name='package' filter='(&amp;(package=com.fasterxml.jackson.core)(version&gt;=2.6.3))' extend='false' multiple='false' optional='true'>Import package com.fasterxml.jackson.core;resolution:=optional;version=2.6.3</require>
    <require name='package' filter='(&amp;(package=com.fasterxml.jackson.databind)(version&gt;=2.6.3))' extend='false' multiple='false' optional='true'>Import package com.fasterxml.jackson.databind;resolution:=optional;version=2.6.3</require>
    <require name='package' filter='(&amp;(package=javassist)(version&gt;=3.20.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package javassist;version="[3.20,4)"</require>
    <require name='package' filter='(&amp;(package=javax.script))' extend='false' multiple='false' optional='false'>Import package javax.script</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=ognl)(version&gt;=3.1.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package ognl;version="[3.1,4)"</require>
    <require name='package' filter='(&amp;(package=ognl.enhance)(version&gt;=3.1.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package ognl.enhance;version="[3.1,4)"</require>
    <require name='package' filter='(&amp;(package=ognl.internal)(version&gt;=3.1.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package ognl.internal;version="[3.1,4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.io)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.io;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.request)(version&gt;=2.4.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.request;version="[2.4,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.9.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.9,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource.path)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource.path;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.scripting)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.scripting;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.i18n)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.i18n;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.api)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.api;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.core.servlet)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.core.servlet;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.thymeleaf)(version&gt;=1.0.0)(!(version&gt;=1.1.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.thymeleaf;version="[1.0,1.1)"</require>
    <require name='package' filter='(&amp;(package=org.attoparser)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.attoparser;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.attoparser.config)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.attoparser.config;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.attoparser.discard)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.attoparser.discard;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.attoparser.select)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.attoparser.select;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.attoparser.util)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.attoparser.util;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.8.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.8,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.7.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.7,2)"</require>
    <require name='package' filter='(&amp;(package=org.thymeleaf)(version&gt;=3.0.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.thymeleaf;version="[3.0,4)"</require>
    <require name='package' filter='(&amp;(package=org.thymeleaf.cache)(version&gt;=3.0.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.thymeleaf.cache;version="[3.0,4)"</require>
    <require name='package' filter='(&amp;(package=org.thymeleaf.context)(version&gt;=3.0.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.thymeleaf.context;version="[3.0,4)"</require>
    <require name='package' filter='(&amp;(package=org.thymeleaf.dialect)(version&gt;=3.0.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.thymeleaf.dialect;version="[3.0,4)"</require>
    <require name='package' filter='(&amp;(package=org.thymeleaf.engine)(version&gt;=3.0.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.thymeleaf.engine;version="[3.0,4)"</require>
    <require name='package' filter='(&amp;(package=org.thymeleaf.exceptions)(version&gt;=3.0.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.thymeleaf.exceptions;version="[3.0,4)"</require>
    <require name='package' filter='(&amp;(package=org.thymeleaf.expression)(version&gt;=3.0.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.thymeleaf.expression;version="[3.0,4)"</require>
    <require name='package' filter='(&amp;(package=org.thymeleaf.inline)(version&gt;=3.0.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.thymeleaf.inline;version="[3.0,4)"</require>
    <require name='package' filter='(&amp;(package=org.thymeleaf.linkbuilder)(version&gt;=3.0.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.thymeleaf.linkbuilder;version="[3.0,4)"</require>
    <require name='package' filter='(&amp;(package=org.thymeleaf.messageresolver)(version&gt;=3.0.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.thymeleaf.messageresolver;version="[3.0,4)"</require>
    <require name='package' filter='(&amp;(package=org.thymeleaf.model)(version&gt;=3.0.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.thymeleaf.model;version="[3.0,4)"</require>
    <require name='package' filter='(&amp;(package=org.thymeleaf.postprocessor)(version&gt;=3.0.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.thymeleaf.postprocessor;version="[3.0,4)"</require>
    <require name='package' filter='(&amp;(package=org.thymeleaf.preprocessor)(version&gt;=3.0.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.thymeleaf.preprocessor;version="[3.0,4)"</require>
    <require name='package' filter='(&amp;(package=org.thymeleaf.processor)(version&gt;=3.0.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.thymeleaf.processor;version="[3.0,4)"</require>
    <require name='package' filter='(&amp;(package=org.thymeleaf.processor.cdatasection)(version&gt;=3.0.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.thymeleaf.processor.cdatasection;version="[3.0,4)"</require>
    <require name='package' filter='(&amp;(package=org.thymeleaf.processor.comment)(version&gt;=3.0.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.thymeleaf.processor.comment;version="[3.0,4)"</require>
    <require name='package' filter='(&amp;(package=org.thymeleaf.processor.doctype)(version&gt;=3.0.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.thymeleaf.processor.doctype;version="[3.0,4)"</require>
    <require name='package' filter='(&amp;(package=org.thymeleaf.processor.element)(version&gt;=3.0.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.thymeleaf.processor.element;version="[3.0,4)"</require>
    <require name='package' filter='(&amp;(package=org.thymeleaf.processor.processinginstruction)(version&gt;=3.0.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.thymeleaf.processor.processinginstruction;version="[3.0,4)"</require>
    <require name='package' filter='(&amp;(package=org.thymeleaf.processor.templateboundaries)(version&gt;=3.0.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.thymeleaf.processor.templateboundaries;version="[3.0,4)"</require>
    <require name='package' filter='(&amp;(package=org.thymeleaf.processor.text)(version&gt;=3.0.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.thymeleaf.processor.text;version="[3.0,4)"</require>
    <require name='package' filter='(&amp;(package=org.thymeleaf.processor.xmldeclaration)(version&gt;=3.0.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.thymeleaf.processor.xmldeclaration;version="[3.0,4)"</require>
    <require name='package' filter='(&amp;(package=org.thymeleaf.standard)(version&gt;=3.0.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.thymeleaf.standard;version="[3.0,4)"</require>
    <require name='package' filter='(&amp;(package=org.thymeleaf.standard.expression)(version&gt;=3.0.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.thymeleaf.standard.expression;version="[3.0,4)"</require>
    <require name='package' filter='(&amp;(package=org.thymeleaf.standard.inline)(version&gt;=3.0.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.thymeleaf.standard.inline;version="[3.0,4)"</require>
    <require name='package' filter='(&amp;(package=org.thymeleaf.standard.processor)(version&gt;=3.0.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.thymeleaf.standard.processor;version="[3.0,4)"</require>
    <require name='package' filter='(&amp;(package=org.thymeleaf.standard.serializer)(version&gt;=3.0.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.thymeleaf.standard.serializer;version="[3.0,4)"</require>
    <require name='package' filter='(&amp;(package=org.thymeleaf.standard.util)(version&gt;=3.0.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.thymeleaf.standard.util;version="[3.0,4)"</require>
    <require name='package' filter='(&amp;(package=org.thymeleaf.templatemode)(version&gt;=3.0.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.thymeleaf.templatemode;version="[3.0,4)"</require>
    <require name='package' filter='(&amp;(package=org.thymeleaf.templateparser)(version&gt;=3.0.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.thymeleaf.templateparser;version="[3.0,4)"</require>
    <require name='package' filter='(&amp;(package=org.thymeleaf.templateparser.markup)(version&gt;=3.0.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.thymeleaf.templateparser.markup;version="[3.0,4)"</require>
    <require name='package' filter='(&amp;(package=org.thymeleaf.templateparser.markup.decoupled)(version&gt;=3.0.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.thymeleaf.templateparser.markup.decoupled;version="[3.0,4)"</require>
    <require name='package' filter='(&amp;(package=org.thymeleaf.templateparser.raw)(version&gt;=3.0.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.thymeleaf.templateparser.raw;version="[3.0,4)"</require>
    <require name='package' filter='(&amp;(package=org.thymeleaf.templateparser.reader)(version&gt;=3.0.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.thymeleaf.templateparser.reader;version="[3.0,4)"</require>
    <require name='package' filter='(&amp;(package=org.thymeleaf.templateparser.text)(version&gt;=3.0.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.thymeleaf.templateparser.text;version="[3.0,4)"</require>
    <require name='package' filter='(&amp;(package=org.thymeleaf.templateresolver)(version&gt;=3.0.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.thymeleaf.templateresolver;version="[3.0,4)"</require>
    <require name='package' filter='(&amp;(package=org.thymeleaf.templateresource)(version&gt;=3.0.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.thymeleaf.templateresource;version="[3.0,4)"</require>
    <require name='package' filter='(&amp;(package=org.thymeleaf.util)(version&gt;=3.0.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.thymeleaf.util;version="[3.0,4)"</require>
    <require name='package' filter='(&amp;(package=org.unbescape.css)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.unbescape.css;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.unbescape.html)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.unbescape.html;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.unbescape.java)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.unbescape.java;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.unbescape.javascript)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.unbescape.javascript;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.unbescape.json)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.unbescape.json;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.unbescape.uri)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.unbescape.uri;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.unbescape.xml)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.unbescape.xml;version="[1.1,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.7))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.7))</require>
  </resource>
  <resource id='org.apache.sling.security/1.0.10' symbolicname='org.apache.sling.security' presentationname='Apache Sling Security' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.security/1.0.10/org.apache.sling.security-1.0.10.jar' version='1.0.10'>
    <description>The Apache Sling Security module.</description>
    <size>27010</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.security'/>
      <p n='presentationname' v='Apache Sling Security'/>
      <p n='version' t='version' v='1.0.10'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.wrappers)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.wrappers;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=J2SE-1.5))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=J2SE-1.5))</require>
  </resource>
  <resource id='org.apache.sling.security/1.0.18' symbolicname='org.apache.sling.security' presentationname='Apache Sling Security' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.security/1.0.18/org.apache.sling.security-1.0.18.jar' version='1.0.18'>
    <description>The Apache Sling Security module.</description>
    <size>29433</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.security'/>
      <p n='presentationname' v='Apache Sling Security'/>
      <p n='version' t='version' v='1.0.18'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.wrappers)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.wrappers;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.serviceusermapper/1.2.0' symbolicname='org.apache.sling.serviceusermapper' presentationname='Apache Sling Service User Mapper' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.serviceusermapper/1.2.0/org.apache.sling.serviceusermapper-1.2.0.jar' version='1.2.0'>
    <description>Provides a service to map service names with        optional service information to user names to        be used to access repositories such as the JCR        repository or the Sling ResourceResolver.</description>
    <size>26306</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.serviceusermapper'/>
      <p n='presentationname' v='Apache Sling Service User Mapper'/>
      <p n='version' t='version' v='1.2.0'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.serviceusermapping'/>
      <p n='version' t='version' v='1.2.0'/>
      <p n='uses:' v='org.osgi.framework'/>
    </capability>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.serviceusermapping)(version&gt;=1.2.0)(!(version&gt;=1.3.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.serviceusermapping;version="[1.2,1.3)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.6.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.6,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework.hooks.service)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework.hooks.service;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=J2SE-1.5))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=J2SE-1.5))</require>
  </resource>
  <resource id='org.apache.sling.serviceusermapper/1.2.2' symbolicname='org.apache.sling.serviceusermapper' presentationname='Apache Sling Service User Mapper' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.serviceusermapper/1.2.2/org.apache.sling.serviceusermapper-1.2.2.jar' version='1.2.2'>
    <description>Provides a service to map service names with        optional service information to user names to        be used to access repositories such as the JCR        repository or the Sling ResourceResolver.</description>
    <size>34441</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.serviceusermapper'/>
      <p n='presentationname' v='Apache Sling Service User Mapper'/>
      <p n='version' t='version' v='1.2.2'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.serviceusermapping'/>
      <p n='version' t='version' v='1.2.0'/>
      <p n='uses:' v='org.osgi.framework'/>
    </capability>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.felix.inventory)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='true'>Import package org.apache.felix.inventory;resolution:=optional;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json.io)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json.io;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.serviceusermapping)(version&gt;=1.2.0)(!(version&gt;=1.3.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.serviceusermapping;version="[1.2,1.3)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.6.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.6,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework.hooks.service)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework.hooks.service;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.servlet-helpers/1.0.0' symbolicname='org.apache.sling.servlet-helpers' presentationname='Apache Sling Servlet Helpers' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.servlet-helpers/1.0.0/org.apache.sling.servlet-helpers-1.0.0.jar' version='1.0.0'>
    <description>Mock implementations of SlingHttpServletRequest, SlingHttpServletResponse and related classes.</description>
    <size>35251</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.servlet-helpers'/>
      <p n='presentationname' v='Apache Sling Servlet Helpers'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.servlethelpers'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='javax.servlet,javax.servlet.descriptor,javax.servlet.http,org.apache.sling.api,org.apache.sling.api.adapter,org.apache.sling.api.request,org.apache.sling.api.resource'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.servlet)(version&gt;=3.0.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.servlet;version="[3.0,4)"</require>
    <require name='package' filter='(&amp;(package=javax.servlet.descriptor)(version&gt;=3.0.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.servlet.descriptor;version="[3.0,4)"</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http)(version&gt;=3.0.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http;version="[3.0,4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections)(version&gt;=3.2.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections;version="[3.2,4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.lang3)(version&gt;=3.0.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.lang3;version="[3.0,4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.lang3.math)(version&gt;=3.0.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.lang3.math;version="[3.0,4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.adapter)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.adapter;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.request)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.request;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.3,3)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.servlet-helpers/1.1.0' symbolicname='org.apache.sling.servlet-helpers' presentationname='Apache Sling Servlet Helpers' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.servlet-helpers/1.1.0/org.apache.sling.servlet-helpers-1.1.0.jar' version='1.1.0'>
    <description>Mock implementations of SlingHttpServletRequest, SlingHttpServletResponse and related classes.</description>
    <size>36372</size>
    <documentation>http://sling.apache.org</documentation>
    <license>https://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.servlet-helpers'/>
      <p n='presentationname' v='Apache Sling Servlet Helpers'/>
      <p n='version' t='version' v='1.1.0'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.servlethelpers'/>
      <p n='version' t='version' v='1.1.0'/>
      <p n='uses:' v='javax.servlet,javax.servlet.descriptor,javax.servlet.http,org.apache.sling.api,org.apache.sling.api.adapter,org.apache.sling.api.request,org.apache.sling.api.resource'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.servlet)(version&gt;=3.1.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.servlet;version="[3.1,4)"</require>
    <require name='package' filter='(&amp;(package=javax.servlet.descriptor)(version&gt;=3.1.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.servlet.descriptor;version="[3.1,4)"</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http)(version&gt;=3.1.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http;version="[3.1,4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections)(version&gt;=3.2.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections;version="[3.2,4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.lang3)(version&gt;=3.0.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.lang3;version="[3.0,4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.lang3.math)(version&gt;=3.0.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.lang3.math;version="[3.0,4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.adapter)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.adapter;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.request)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.request;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.3,3)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.7))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.7))</require>
  </resource>
  <resource id='org.apache.sling.servlets.resolver/2.3.6' symbolicname='org.apache.sling.servlets.resolver' presentationname='Apache Sling Servlet Resolver' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.servlets.resolver/2.3.6/org.apache.sling.servlets.resolver-2.3.6.jar' version='2.3.6'>
    <description>Bundle implementing the Sling API ServletResolver.</description>
    <size>65599</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.servlets.resolver'/>
      <p n='presentationname' v='Apache Sling Servlet Resolver'/>
      <p n='version' t='version' v='2.3.6'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.servlets.resolver.jmx'/>
      <p n='version' t='version' v='2.3.6'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.management))' extend='false' multiple='false' optional='false'>Import package javax.management</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.lang)(version&gt;=2.4.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.lang;version="[2.4,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.request)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.request;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.scripting)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.scripting;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.servlets)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.servlets;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.wrappers)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.wrappers;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.engine)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.engine;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.engine.servlets)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.engine.servlets;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.servlets.resolver.jmx))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.servlets.resolver.jmx</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.event)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.event;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=J2SE-1.5))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=J2SE-1.5))</require>
  </resource>
  <resource id='org.apache.sling.servlets.resolver/2.0.6.incubator' symbolicname='org.apache.sling.servlets.resolver' presentationname='Apache Sling Servlet Resolver' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.servlets.resolver/2.0.6.incubator/org.apache.sling.servlets.resolver-2.0.6.incubator.jar' version='2.0.6.incubator'>
    <description>Bundle implementing the Sling API ServletResolver.</description>
    <size>40290</size>
    <documentation>http://incubator.apache.org/sling</documentation>
    <source>org/apache/sling/org.apache.sling.servlets.resolver/2.0.6-incubator/org.apache.sling.servlets.resolver-2.0.6-incubator-sources.jar</source>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='org.apache.sling'/>
    <capability name='bundle'>
      <p n='manifestversion' v='2'/>
      <p n='presentationname' v='Apache Sling Servlet Resolver'/>
      <p n='symbolicname' v='org.apache.sling.servlets.resolver'/>
      <p n='version' t='version' v='2.0.6.incubator'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.adapter)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.adapter ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.request)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.request ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.scripting)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.scripting ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.servlets)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.servlets ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.engine)(version&gt;=2.0.4.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.engine ;version=2.0.4.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.engine.servlets)(version&gt;=2.0.4.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.engine.servlets ;version=2.0.4.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.resource)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.resource ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component</require>
    <require name='package' filter='(&amp;(package=org.slf4j))' extend='false' multiple='false' optional='false'>Import package org.slf4j</require>
  </resource>
  <resource id='org.apache.sling.servlets.resolver/2.4.4' symbolicname='org.apache.sling.servlets.resolver' presentationname='Apache Sling Servlet Resolver' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.servlets.resolver/2.4.4/org.apache.sling.servlets.resolver-2.4.4.jar' version='2.4.4'>
    <description>Bundle implementing the Sling API ServletResolver.</description>
    <size>68080</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.servlets.resolver'/>
      <p n='presentationname' v='Apache Sling Servlet Resolver'/>
      <p n='version' t='version' v='2.4.4'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.servlets.resolver.jmx'/>
      <p n='version' t='version' v='2.3.6'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.management))' extend='false' multiple='false' optional='false'>Import package javax.management</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.lang)(version&gt;=2.4.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.lang;version="[2.4,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.request)(version&gt;=2.4.0)(!(version&gt;=2.5.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.request;version="[2.4,2.5)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.9.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.9,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.scripting)(version&gt;=2.3.0)(!(version&gt;=2.4.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.scripting;version="[2.3,2.4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.servlets)(version&gt;=2.1.0)(!(version&gt;=2.2.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.servlets;version="[2.1,2.2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.wrappers)(version&gt;=2.5.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.wrappers;version="[2.5,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.engine)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.engine;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.engine.servlets)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.engine.servlets;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.servlets.resolver.jmx)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.servlets.resolver.jmx;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.spi.resource.provider)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.spi.resource.provider;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.event)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.event;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.settings/1.3.8' symbolicname='org.apache.sling.settings' presentationname='Apache Sling Settings' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.settings/1.3.8/org.apache.sling.settings-1.3.8.jar' version='1.3.8'>
    <description>Settings support including run modes</description>
    <size>30735</size>
    <documentation>http://sling.apache.org/documentation/bundles/sling-settings-orgapacheslingsettings.html</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.settings'/>
      <p n='presentationname' v='Apache Sling Settings'/>
      <p n='version' t='version' v='1.3.8'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.settings'/>
      <p n='version' t='version' v='1.3.0'/>
    </capability>
    <require name='package' filter='(&amp;(package=org.osgi.service.cm)(version&gt;=1.2.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='true'>Import package org.osgi.service.cm;resolution:=optional;version="[1.2,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.felix.shell)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='true'>Import package org.apache.felix.shell;resolution:=optional;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.settings)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.settings;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.settings/1.3.6' symbolicname='org.apache.sling.settings' presentationname='Apache Sling Settings' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.settings/1.3.6/org.apache.sling.settings-1.3.6.jar' version='1.3.6'>
    <description>Settings support including run modes</description>
    <size>30135</size>
    <documentation>http://sling.apache.org/documentation/bundles/sling-settings-orgapacheslingsettings.html</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.settings'/>
      <p n='presentationname' v='Apache Sling Settings'/>
      <p n='version' t='version' v='1.3.6'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.settings'/>
      <p n='version' t='version' v='1.3.0'/>
    </capability>
    <require name='package' filter='(&amp;(package=org.osgi.service.cm)(version&gt;=1.2.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='true'>Import package org.osgi.service.cm;resolution:=optional;version="[1.2,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.felix.shell)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='true'>Import package org.apache.felix.shell;resolution:=optional;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.launchpad.api)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.launchpad.api;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.settings)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.settings;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=J2SE-1.5))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=J2SE-1.5))</require>
  </resource>
  <resource id='org.apache.sling.jcr.webdav/2.0.6.incubator' symbolicname='org.apache.sling.jcr.webdav' presentationname='Apache Sling Simple WebDAV Access to repositories' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.jcr.webdav/2.0.6.incubator/org.apache.sling.jcr.webdav-2.0.6.incubator.jar' version='2.0.6.incubator'>
    <description>Bundle to access JCR repositories over WebDAV</description>
    <size>1812380</size>
    <documentation>http://incubator.apache.org/sling</documentation>
    <source>org/apache/sling/org.apache.sling.jcr.webdav/2.0.6-incubator/org.apache.sling.jcr.webdav-2.0.6-incubator-sources.jar</source>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='org.apache.sling'/>
    <capability name='bundle'>
      <p n='manifestversion' v='2'/>
      <p n='presentationname' v='Apache Sling Simple WebDAV Access to repositories'/>
      <p n='symbolicname' v='org.apache.sling.jcr.webdav'/>
      <p n='version' t='version' v='2.0.6.incubator'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.lock)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.lock ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.nodetype)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.nodetype ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.observation)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.observation ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.query)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.query ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.util)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.util ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.version)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.version ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.naming))' extend='false' multiple='false' optional='false'>Import package javax.naming</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=javax.transaction.xa))' extend='false' multiple='false' optional='false'>Import package javax.transaction.xa</require>
    <require name='package' filter='(&amp;(package=javax.xml.datatype))' extend='false' multiple='false' optional='false'>Import package javax.xml.datatype</require>
    <require name='package' filter='(&amp;(package=javax.xml.namespace))' extend='false' multiple='false' optional='false'>Import package javax.xml.namespace</require>
    <require name='package' filter='(&amp;(package=javax.xml.parsers))' extend='false' multiple='false' optional='false'>Import package javax.xml.parsers</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform.dom))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform.dom</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform.sax))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform.sax</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform.stream))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform.stream</require>
    <require name='package' filter='(&amp;(package=javax.xml.validation))' extend='false' multiple='false' optional='false'>Import package javax.xml.validation</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.api.jsr283)(version&gt;=1.5.0))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.api.jsr283 ;version=1.5.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.mime)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.mime ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.0.4.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi ;version=2.0.4.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.api)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.api ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.http))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.http</require>
    <require name='package' filter='(&amp;(package=org.slf4j))' extend='false' multiple='false' optional='false'>Import package org.slf4j</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom.events))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom.events</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom.ls))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom.ls</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom.ranges))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom.ranges</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom.traversal))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom.traversal</require>
    <require name='package' filter='(&amp;(package=org.xml.sax))' extend='false' multiple='false' optional='false'>Import package org.xml.sax</require>
    <require name='package' filter='(&amp;(package=org.xml.sax.ext))' extend='false' multiple='false' optional='false'>Import package org.xml.sax.ext</require>
    <require name='package' filter='(&amp;(package=org.xml.sax.helpers))' extend='false' multiple='false' optional='false'>Import package org.xml.sax.helpers</require>
  </resource>
  <resource id='org.apache.sling.jcr.webdav/2.3.4' symbolicname='org.apache.sling.jcr.webdav' presentationname='Apache Sling Simple WebDAV Access to repositories' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.jcr.webdav/2.3.4/org.apache.sling.jcr.webdav-2.3.4.jar' version='2.3.4'>
    <description>Bundle to access JCR repositories over WebDAV</description>
    <size>165975</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <category id='jcr'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.jcr.webdav'/>
      <p n='presentationname' v='Apache Sling Simple WebDAV Access to repositories'/>
      <p n='version' t='version' v='2.3.4'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.server.io'/>
      <p n='version' t='version' v='2.12.1'/>
      <p n='uses:' v='javax.jcr,org.apache.jackrabbit.webdav,org.apache.jackrabbit.webdav.io,org.apache.jackrabbit.webdav.property,org.apache.tika.detect,org.slf4j'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.jcr.lock)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr.lock;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.jcr.nodetype)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr.nodetype;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.jcr.query)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr.query;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.jcr.version)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr.version;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=javax.xml.parsers))' extend='false' multiple='false' optional='false'>Import package javax.xml.parsers</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.commons)(version&gt;=2.4.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.commons;version="[2.4,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.commons.webdav)(version&gt;=2.5.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.commons.webdav;version="[2.5,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.util)(version&gt;=2.4.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.util;version="[2.4,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.webdav)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.webdav;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.webdav.bind)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.webdav.bind;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.webdav.io)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.webdav.io;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.webdav.lock)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.webdav.lock;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.webdav.property)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.webdav.property;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.webdav.security)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.webdav.security;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.webdav.server)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.webdav.server;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.webdav.util)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.webdav.util;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.webdav.version)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.webdav.version;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.webdav.version.report)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.webdav.version.report;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.webdav.xml)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.webdav.xml;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.mime)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.mime;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.api)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.api;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.tika.detect)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.tika.detect;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.tika.metadata)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.tika.metadata;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.tika.mime)(version&gt;=1.2.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.tika.mime;version="[1.2,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.8.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.8,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.http)(version&gt;=1.2.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.http;version="[1.2,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom</require>
    <require name='package' filter='(&amp;(package=org.xml.sax))' extend='false' multiple='false' optional='false'>Import package org.xml.sax</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.jcr.webdav/2.1.0' symbolicname='org.apache.sling.jcr.webdav' presentationname='Apache Sling Simple WebDAV Access to repositories' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.jcr.webdav/2.1.0/org.apache.sling.jcr.webdav-2.1.0.jar' version='2.1.0'>
    <description>Bundle to access JCR repositories over WebDAV</description>
    <size>1871576</size>
    <documentation>http://sling.apache.org</documentation>
    <source>org/apache/sling/org.apache.sling.jcr.webdav/2.1.0/org.apache.sling.jcr.webdav-2.1.0-sources.jar</source>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <category id='jcr'/>
    <category id='org.apache.sling'/>
    <capability name='bundle'>
      <p n='manifestversion' v='2'/>
      <p n='presentationname' v='Apache Sling Simple WebDAV Access to repositories'/>
      <p n='symbolicname' v='org.apache.sling.jcr.webdav'/>
      <p n='version' t='version' v='2.1.0'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.imageio.spi))' extend='false' multiple='false' optional='false'>Import package javax.imageio.spi</require>
    <require name='package' filter='(&amp;(package=javax.jcr)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.lock)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.lock ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.nodetype)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.nodetype ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.observation)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.observation ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.query)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.query ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.query.qom)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.query.qom ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.security)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.security ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.util)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.util ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.version)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.version ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=javax.naming))' extend='false' multiple='false' optional='false'>Import package javax.naming</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=javax.transaction.xa))' extend='false' multiple='false' optional='false'>Import package javax.transaction.xa</require>
    <require name='package' filter='(&amp;(package=javax.xml.datatype))' extend='false' multiple='false' optional='false'>Import package javax.xml.datatype</require>
    <require name='package' filter='(&amp;(package=javax.xml.namespace))' extend='false' multiple='false' optional='false'>Import package javax.xml.namespace</require>
    <require name='package' filter='(&amp;(package=javax.xml.parsers))' extend='false' multiple='false' optional='false'>Import package javax.xml.parsers</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform.dom))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform.dom</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform.sax))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform.sax</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform.stream))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform.stream</require>
    <require name='package' filter='(&amp;(package=javax.xml.validation))' extend='false' multiple='false' optional='false'>Import package javax.xml.validation</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.fileupload)(version&gt;=1.2.0))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.fileupload ;version=1.2.0</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.fileupload.disk)(version&gt;=1.2.0))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.fileupload.disk ;version=1.2.0</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.fileupload.servlet)(version&gt;=1.2.0))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.fileupload.servlet ;version=1.2.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.mime)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.mime ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.api)(version&gt;=2.0.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.api ;version=2.0.0</require>
    <require name='package' filter='(&amp;(package=org.apache.tika.detect))' extend='false' multiple='false' optional='false'>Import package org.apache.tika.detect</require>
    <require name='package' filter='(&amp;(package=org.apache.tika.metadata))' extend='false' multiple='false' optional='false'>Import package org.apache.tika.metadata</require>
    <require name='package' filter='(&amp;(package=org.apache.tika.mime))' extend='false' multiple='false' optional='false'>Import package org.apache.tika.mime</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.http)(version&gt;=1.2.0))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.http ;version=1.2.0</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0))' extend='false' multiple='false' optional='false'>Import package org.slf4j ;version=1.5.0</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom.events))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom.events</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom.ls))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom.ls</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom.ranges))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom.ranges</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom.traversal))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom.traversal</require>
    <require name='package' filter='(&amp;(package=org.xml.sax))' extend='false' multiple='false' optional='false'>Import package org.xml.sax</require>
    <require name='package' filter='(&amp;(package=org.xml.sax.ext))' extend='false' multiple='false' optional='false'>Import package org.xml.sax.ext</require>
    <require name='package' filter='(&amp;(package=org.xml.sax.helpers))' extend='false' multiple='false' optional='false'>Import package org.xml.sax.helpers</require>
  </resource>
  <resource id='org.apache.sling.jcr.webdav/2.2.2' symbolicname='org.apache.sling.jcr.webdav' presentationname='Apache Sling Simple WebDAV Access to repositories' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.jcr.webdav/2.2.2/org.apache.sling.jcr.webdav-2.2.2.jar' version='2.2.2'>
    <description>Bundle to access JCR repositories over WebDAV</description>
    <size>160228</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <category id='jcr'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.jcr.webdav'/>
      <p n='presentationname' v='Apache Sling Simple WebDAV Access to repositories'/>
      <p n='version' t='version' v='2.2.2'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.server.io'/>
      <p n='version' t='version' v='2.3.0'/>
      <p n='uses:' v='javax.jcr,org.apache.jackrabbit.webdav,org.apache.jackrabbit.webdav.io,org.apache.jackrabbit.webdav.property,org.apache.tika.detect,org.slf4j'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.jcr.lock)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr.lock;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.jcr.nodetype)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr.nodetype;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.jcr.query)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr.query;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.jcr.version)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr.version;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=javax.xml.parsers))' extend='false' multiple='false' optional='false'>Import package javax.xml.parsers</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.commons)(version&gt;=2.4.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.commons;version="[2.4,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.commons.webdav)(version&gt;=2.5.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.commons.webdav;version="[2.5,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.util)(version&gt;=2.4.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.util;version="[2.4,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.webdav)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.webdav;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.webdav.bind)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.webdav.bind;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.webdav.io)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.webdav.io;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.webdav.lock)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.webdav.lock;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.webdav.property)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.webdav.property;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.webdav.security)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.webdav.security;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.webdav.server)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.webdav.server;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.webdav.util)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.webdav.util;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.webdav.version)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.webdav.version;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.webdav.version.report)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.webdav.version.report;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.webdav.xml)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.webdav.xml;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.mime)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.mime;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.api)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.api;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.tika.detect)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.tika.detect;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.tika.metadata)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.tika.metadata;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.tika.mime)(version&gt;=1.2.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.tika.mime;version="[1.2,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.http)(version&gt;=1.2.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.http;version="[1.2,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom</require>
    <require name='package' filter='(&amp;(package=org.xml.sax))' extend='false' multiple='false' optional='false'>Import package org.xml.sax</require>
    <require name='ee' filter='(|(ee=J2SE-1.5))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=J2SE-1.5))</require>
  </resource>
  <resource id='org.apache.sling.jcr.webdav/2.3.2' symbolicname='org.apache.sling.jcr.webdav' presentationname='Apache Sling Simple WebDAV Access to repositories' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.jcr.webdav-2.3.2.jar' version='2.3.2'>
    <description>Bundle to access JCR repositories over WebDAV</description>
    <size>165963</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <category id='jcr'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.jcr.webdav'/>
      <p n='presentationname' v='Apache Sling Simple WebDAV Access to repositories'/>
      <p n='version' t='version' v='2.3.2'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.server.io'/>
      <p n='version' t='version' v='2.4.0'/>
      <p n='uses:' v='javax.jcr,org.apache.jackrabbit.webdav,org.apache.jackrabbit.webdav.io,org.apache.jackrabbit.webdav.property,org.apache.tika.detect,org.slf4j'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.jcr.lock)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr.lock;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.jcr.nodetype)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr.nodetype;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.jcr.query)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr.query;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.jcr.version)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr.version;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=javax.xml.parsers))' extend='false' multiple='false' optional='false'>Import package javax.xml.parsers</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.commons)(version&gt;=2.4.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.commons;version="[2.4,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.commons.webdav)(version&gt;=2.5.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.commons.webdav;version="[2.5,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.util)(version&gt;=2.4.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.util;version="[2.4,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.webdav)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.webdav;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.webdav.bind)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.webdav.bind;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.webdav.io)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.webdav.io;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.webdav.lock)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.webdav.lock;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.webdav.property)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.webdav.property;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.webdav.security)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.webdav.security;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.webdav.server)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.webdav.server;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.webdav.util)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.webdav.util;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.webdav.version)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.webdav.version;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.webdav.version.report)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.webdav.version.report;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.webdav.xml)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.webdav.xml;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.mime)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.mime;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.api)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.api;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.tika.detect)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.tika.detect;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.tika.metadata)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.tika.metadata;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.tika.mime)(version&gt;=1.2.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.tika.mime;version="[1.2,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.http)(version&gt;=1.2.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.http;version="[1.2,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom</require>
    <require name='package' filter='(&amp;(package=org.xml.sax))' extend='false' multiple='false' optional='false'>Import package org.xml.sax</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.commons.log/4.0.2' symbolicname='org.apache.sling.commons.log' presentationname='Apache Sling SLF4J Implementation (Logback)' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.commons.log/4.0.2/org.apache.sling.commons.log-4.0.2.jar' version='4.0.2'>
    <description>This bundle embeds Logback which provides the SLF4J logging API.    The embedding supports dynamic OSGi-configuration without    requiring to edit some global filesystem based XML file.</description>
    <size>759956</size>
    <documentation>http://sling.apache.org/site/logging.html</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.commons.log'/>
      <p n='presentationname' v='Apache Sling SLF4J Implementation (Logback)'/>
      <p n='version' t='version' v='4.0.2'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.commons.log.logback'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='org.xml.sax'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.slf4j.impl'/>
      <p n='version' t='version' v='1.6.4'/>
      <p n='uses:' v='org.slf4j,org.slf4j.spi'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.classic'/>
      <p n='version' t='version' v='1.1.2'/>
      <p n='uses:' v='ch.qos.logback.classic.spi,ch.qos.logback.classic.turbo,ch.qos.logback.core,ch.qos.logback.core.pattern,ch.qos.logback.core.spi,ch.qos.logback.core.status,org.slf4j,org.slf4j.spi'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.classic.boolex'/>
      <p n='version' t='version' v='1.1.2'/>
      <p n='uses:' v='ch.qos.logback.classic.spi,ch.qos.logback.core.boolex,groovy.lang'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.classic.db'/>
      <p n='version' t='version' v='1.1.2'/>
      <p n='uses:' v='ch.qos.logback.classic.db.names,ch.qos.logback.classic.spi,ch.qos.logback.core.db'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.classic.db.names'/>
      <p n='version' t='version' v='1.1.2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.classic.encoder'/>
      <p n='version' t='version' v='1.1.2'/>
      <p n='uses:' v='ch.qos.logback.classic.spi,ch.qos.logback.core.pattern'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.classic.filter'/>
      <p n='version' t='version' v='1.1.2'/>
      <p n='uses:' v='ch.qos.logback.classic,ch.qos.logback.classic.spi,ch.qos.logback.core.filter,ch.qos.logback.core.spi'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.classic.gaffer'/>
      <p n='version' t='version' v='1.1.2'/>
      <p n='uses:' v='ch.qos.logback.classic,ch.qos.logback.core,ch.qos.logback.core.spi,ch.qos.logback.core.status,groovy.lang,org.codehaus.groovy.control.customizers'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.classic.helpers'/>
      <p n='version' t='version' v='1.1.2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.classic.html'/>
      <p n='version' t='version' v='1.1.2'/>
      <p n='uses:' v='ch.qos.logback.classic.spi,ch.qos.logback.core.html,ch.qos.logback.core.pattern'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.classic.jmx'/>
      <p n='version' t='version' v='1.1.2'/>
      <p n='uses:' v='ch.qos.logback.classic,ch.qos.logback.classic.spi,ch.qos.logback.core,ch.qos.logback.core.joran.spi,ch.qos.logback.core.spi,javax.management'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.classic.joran'/>
      <p n='version' t='version' v='1.1.2'/>
      <p n='uses:' v='ch.qos.logback.core.joran,ch.qos.logback.core.joran.spi'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.classic.joran.action'/>
      <p n='version' t='version' v='1.1.2'/>
      <p n='uses:' v='ch.qos.logback.core.joran.action,ch.qos.logback.core.joran.spi,org.xml.sax'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.classic.jul'/>
      <p n='version' t='version' v='1.1.2'/>
      <p n='uses:' v='ch.qos.logback.classic,ch.qos.logback.classic.spi,ch.qos.logback.core.spi'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.classic.log4j'/>
      <p n='version' t='version' v='1.1.2'/>
      <p n='uses:' v='ch.qos.logback.classic.spi,ch.qos.logback.core'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.classic.net'/>
      <p n='version' t='version' v='1.1.2'/>
      <p n='uses:' v='ch.qos.logback.classic,ch.qos.logback.classic.spi,ch.qos.logback.core,ch.qos.logback.core.boolex,ch.qos.logback.core.helpers,ch.qos.logback.core.joran.spi,ch.qos.logback.core.net,ch.qos.logback.core.net.ssl,ch.qos.logback.core.pattern,ch.qos.logback.core.spi,javax.jms,javax.naming,javax.net,javax.net.ssl'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.classic.net.server'/>
      <p n='version' t='version' v='1.1.2'/>
      <p n='uses:' v='ch.qos.logback.classic.net,ch.qos.logback.classic.spi,ch.qos.logback.core.net.server,ch.qos.logback.core.net.ssl,ch.qos.logback.core.spi,javax.net'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.classic.pattern'/>
      <p n='version' t='version' v='1.1.2'/>
      <p n='uses:' v='ch.qos.logback.classic.spi,ch.qos.logback.core.pattern,org.slf4j'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.classic.pattern.color'/>
      <p n='version' t='version' v='1.1.2'/>
      <p n='uses:' v='ch.qos.logback.classic.spi,ch.qos.logback.core.pattern.color'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.classic.selector'/>
      <p n='version' t='version' v='1.1.2'/>
      <p n='uses:' v='ch.qos.logback.classic'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.classic.selector.servlet'/>
      <p n='version' t='version' v='1.1.2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.classic.sift'/>
      <p n='version' t='version' v='1.1.2'/>
      <p n='uses:' v='ch.qos.logback.classic.spi,ch.qos.logback.core,ch.qos.logback.core.joran.action,ch.qos.logback.core.joran.event,ch.qos.logback.core.joran.spi,ch.qos.logback.core.sift,org.xml.sax'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.classic.spi'/>
      <p n='version' t='version' v='1.1.2'/>
      <p n='uses:' v='ch.qos.logback.classic,ch.qos.logback.classic.turbo,ch.qos.logback.core,ch.qos.logback.core.spi,org.slf4j'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.classic.turbo'/>
      <p n='version' t='version' v='1.1.2'/>
      <p n='uses:' v='ch.qos.logback.classic,ch.qos.logback.core.spi,org.slf4j'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.classic.util'/>
      <p n='version' t='version' v='1.1.2'/>
      <p n='uses:' v='ch.qos.logback.classic,ch.qos.logback.classic.selector,ch.qos.logback.classic.spi,ch.qos.logback.core.joran.spi,javax.naming,org.slf4j.spi'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.core'/>
      <p n='version' t='version' v='1.1.2'/>
      <p n='uses:' v='ch.qos.logback.core.encoder,ch.qos.logback.core.filter,ch.qos.logback.core.helpers,ch.qos.logback.core.joran.spi,ch.qos.logback.core.spi,ch.qos.logback.core.status'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.core.boolex'/>
      <p n='version' t='version' v='1.1.2'/>
      <p n='uses:' v='ch.qos.logback.core.spi'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.core.db'/>
      <p n='version' t='version' v='1.1.2'/>
      <p n='uses:' v='ch.qos.logback.core,ch.qos.logback.core.db.dialect,ch.qos.logback.core.joran.action,ch.qos.logback.core.joran.spi,ch.qos.logback.core.spi,javax.sql,org.xml.sax'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.core.db.dialect'/>
      <p n='version' t='version' v='1.1.2'/>
      <p n='uses:' v='ch.qos.logback.core.spi'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.core.encoder'/>
      <p n='version' t='version' v='1.1.2'/>
      <p n='uses:' v='ch.qos.logback.core,ch.qos.logback.core.spi'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.core.filter'/>
      <p n='version' t='version' v='1.1.2'/>
      <p n='uses:' v='ch.qos.logback.core.boolex,ch.qos.logback.core.spi'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.core.helpers'/>
      <p n='version' t='version' v='1.1.2'/>
      <p n='uses:' v='ch.qos.logback.core'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.core.html'/>
      <p n='version' t='version' v='1.1.2'/>
      <p n='uses:' v='ch.qos.logback.core,ch.qos.logback.core.pattern'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.core.joran'/>
      <p n='version' t='version' v='1.1.2'/>
      <p n='uses:' v='ch.qos.logback.core,ch.qos.logback.core.joran.event,ch.qos.logback.core.joran.spi,ch.qos.logback.core.spi,org.xml.sax'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.core.joran.action'/>
      <p n='version' t='version' v='1.1.2'/>
      <p n='uses:' v='ch.qos.logback.core.joran.spi,ch.qos.logback.core.joran.util,ch.qos.logback.core.spi,ch.qos.logback.core.util,org.xml.sax'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.core.joran.conditional'/>
      <p n='version' t='version' v='1.1.2'/>
      <p n='uses:' v='ch.qos.logback.core.joran.action,ch.qos.logback.core.joran.event,ch.qos.logback.core.joran.spi,ch.qos.logback.core.spi,org.codehaus.commons.compiler,org.xml.sax'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.core.joran.event'/>
      <p n='version' t='version' v='1.1.2'/>
      <p n='uses:' v='ch.qos.logback.core,ch.qos.logback.core.joran.spi,ch.qos.logback.core.spi,ch.qos.logback.core.status,org.xml.sax,org.xml.sax.helpers'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.core.joran.event.stax'/>
      <p n='version' t='version' v='1.1.2'/>
      <p n='uses:' v='ch.qos.logback.core,ch.qos.logback.core.joran.spi,ch.qos.logback.core.spi,javax.xml.stream,javax.xml.stream.events'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.core.joran.node'/>
      <p n='version' t='version' v='1.1.2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.core.joran.spi'/>
      <p n='version' t='version' v='1.1.2'/>
      <p n='uses:' v='ch.qos.logback.core,ch.qos.logback.core.joran.action,ch.qos.logback.core.joran.event,ch.qos.logback.core.spi,ch.qos.logback.core.status,org.xml.sax'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.core.joran.util'/>
      <p n='version' t='version' v='1.1.2'/>
      <p n='uses:' v='ch.qos.logback.core,ch.qos.logback.core.joran.spi,ch.qos.logback.core.spi,ch.qos.logback.core.util'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.core.layout'/>
      <p n='version' t='version' v='1.1.2'/>
      <p n='uses:' v='ch.qos.logback.core'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.core.net'/>
      <p n='version' t='version' v='1.1.2'/>
      <p n='uses:' v='ch.qos.logback.core,ch.qos.logback.core.boolex,ch.qos.logback.core.helpers,ch.qos.logback.core.net.ssl,ch.qos.logback.core.pattern,ch.qos.logback.core.sift,ch.qos.logback.core.spi,ch.qos.logback.core.util,javax.mail,javax.mail.internet,javax.naming,javax.net'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.core.net.server'/>
      <p n='version' t='version' v='1.1.2'/>
      <p n='uses:' v='ch.qos.logback.core,ch.qos.logback.core.net.ssl,ch.qos.logback.core.spi,javax.net'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.core.net.ssl'/>
      <p n='version' t='version' v='1.1.2'/>
      <p n='uses:' v='ch.qos.logback.core.joran.spi,ch.qos.logback.core.spi,javax.net,javax.net.ssl'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.core.pattern'/>
      <p n='version' t='version' v='1.1.2'/>
      <p n='uses:' v='ch.qos.logback.core,ch.qos.logback.core.encoder,ch.qos.logback.core.spi,ch.qos.logback.core.status'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.core.pattern.color'/>
      <p n='version' t='version' v='1.1.2'/>
      <p n='uses:' v='ch.qos.logback.core.pattern'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.core.pattern.parser'/>
      <p n='version' t='version' v='1.1.2'/>
      <p n='uses:' v='ch.qos.logback.core.pattern,ch.qos.logback.core.pattern.util,ch.qos.logback.core.spi'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.core.pattern.util'/>
      <p n='version' t='version' v='1.1.2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.core.property'/>
      <p n='version' t='version' v='1.1.2'/>
      <p n='uses:' v='ch.qos.logback.core'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.core.read'/>
      <p n='version' t='version' v='1.1.2'/>
      <p n='uses:' v='ch.qos.logback.core'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.core.recovery'/>
      <p n='version' t='version' v='1.1.2'/>
      <p n='uses:' v='ch.qos.logback.core,ch.qos.logback.core.status'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.core.rolling'/>
      <p n='version' t='version' v='1.1.2'/>
      <p n='uses:' v='ch.qos.logback.core,ch.qos.logback.core.joran.spi,ch.qos.logback.core.rolling.helper,ch.qos.logback.core.spi'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.core.rolling.helper'/>
      <p n='version' t='version' v='1.1.2'/>
      <p n='uses:' v='ch.qos.logback.core,ch.qos.logback.core.pattern,ch.qos.logback.core.rolling,ch.qos.logback.core.spi'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.core.sift'/>
      <p n='version' t='version' v='1.1.2'/>
      <p n='uses:' v='ch.qos.logback.core,ch.qos.logback.core.joran,ch.qos.logback.core.joran.event,ch.qos.logback.core.joran.spi,ch.qos.logback.core.spi,ch.qos.logback.core.util'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.core.spi'/>
      <p n='version' t='version' v='1.1.2'/>
      <p n='uses:' v='ch.qos.logback.core,ch.qos.logback.core.filter,ch.qos.logback.core.helpers,ch.qos.logback.core.status'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.core.status'/>
      <p n='version' t='version' v='1.1.2'/>
      <p n='uses:' v='ch.qos.logback.core'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.core.subst'/>
      <p n='version' t='version' v='1.1.2'/>
      <p n='uses:' v='ch.qos.logback.core.spi'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.core.util'/>
      <p n='version' t='version' v='1.1.2'/>
      <p n='uses:' v='ch.qos.logback.core,ch.qos.logback.core.rolling,ch.qos.logback.core.spi,ch.qos.logback.core.status'/>
    </capability>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.3.0))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version=1.3</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.6.0)(!(version&gt;=1.8.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.6,1.8)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j.spi)(version&gt;=1.6.0)(!(version&gt;=1.8.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j.spi;version="[1.6,1.8)"</require>
    <require name='package' filter='(&amp;(package=groovy.lang))' extend='false' multiple='false' optional='true'>Import package groovy.lang;resolution:=optional</require>
    <require name='package' filter='(&amp;(package=javax.jms))' extend='false' multiple='false' optional='true'>Import package javax.jms;resolution:=optional</require>
    <require name='package' filter='(&amp;(package=javax.mail))' extend='false' multiple='false' optional='true'>Import package javax.mail;resolution:=optional</require>
    <require name='package' filter='(&amp;(package=javax.mail.internet))' extend='false' multiple='false' optional='true'>Import package javax.mail.internet;resolution:=optional</require>
    <require name='package' filter='(&amp;(package=javax.management))' extend='false' multiple='false' optional='true'>Import package javax.management;resolution:=optional</require>
    <require name='package' filter='(&amp;(package=javax.naming))' extend='false' multiple='false' optional='true'>Import package javax.naming;resolution:=optional</require>
    <require name='package' filter='(&amp;(package=javax.sql))' extend='false' multiple='false' optional='true'>Import package javax.sql;resolution:=optional</require>
    <require name='package' filter='(&amp;(package=javax.xml.parsers))' extend='false' multiple='false' optional='true'>Import package javax.xml.parsers;resolution:=optional</require>
    <require name='package' filter='(&amp;(package=org.codehaus.commons.compiler))' extend='false' multiple='false' optional='true'>Import package org.codehaus.commons.compiler;resolution:=optional</require>
    <require name='package' filter='(&amp;(package=org.codehaus.groovy.control))' extend='false' multiple='false' optional='true'>Import package org.codehaus.groovy.control;resolution:=optional</require>
    <require name='package' filter='(&amp;(package=org.codehaus.groovy.control.customizers))' extend='false' multiple='false' optional='true'>Import package org.codehaus.groovy.control.customizers;resolution:=optional</require>
    <require name='package' filter='(&amp;(package=org.codehaus.groovy.reflection))' extend='false' multiple='false' optional='true'>Import package org.codehaus.groovy.reflection;resolution:=optional</require>
    <require name='package' filter='(&amp;(package=org.codehaus.groovy.runtime))' extend='false' multiple='false' optional='true'>Import package org.codehaus.groovy.runtime;resolution:=optional</require>
    <require name='package' filter='(&amp;(package=org.codehaus.groovy.runtime.callsite))' extend='false' multiple='false' optional='true'>Import package org.codehaus.groovy.runtime.callsite;resolution:=optional</require>
    <require name='package' filter='(&amp;(package=org.codehaus.groovy.runtime.typehandling))' extend='false' multiple='false' optional='true'>Import package org.codehaus.groovy.runtime.typehandling;resolution:=optional</require>
    <require name='package' filter='(&amp;(package=org.codehaus.groovy.runtime.wrappers))' extend='false' multiple='false' optional='true'>Import package org.codehaus.groovy.runtime.wrappers;resolution:=optional</require>
    <require name='package' filter='(&amp;(package=org.codehaus.janino))' extend='false' multiple='false' optional='true'>Import package org.codehaus.janino;resolution:=optional</require>
    <require name='package' filter='(&amp;(package=org.xml.sax))' extend='false' multiple='false' optional='true'>Import package org.xml.sax;resolution:=optional</require>
    <require name='package' filter='(&amp;(package=org.xml.sax.helpers))' extend='false' multiple='false' optional='true'>Import package org.xml.sax.helpers;resolution:=optional</require>
    <require name='package' filter='(&amp;(package=sun.reflect))' extend='false' multiple='false' optional='true'>Import package sun.reflect;resolution:=optional</require>
    <require name='package' filter='(&amp;(package=ch.qos.logback.classic)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package ch.qos.logback.classic;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=ch.qos.logback.classic.encoder)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package ch.qos.logback.classic.encoder;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=ch.qos.logback.classic.gaffer)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package ch.qos.logback.classic.gaffer;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=ch.qos.logback.classic.joran)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package ch.qos.logback.classic.joran;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=ch.qos.logback.classic.jul)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package ch.qos.logback.classic.jul;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=ch.qos.logback.classic.spi)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package ch.qos.logback.classic.spi;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=ch.qos.logback.classic.turbo)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package ch.qos.logback.classic.turbo;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=ch.qos.logback.classic.util)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package ch.qos.logback.classic.util;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=ch.qos.logback.core)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package ch.qos.logback.core;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=ch.qos.logback.core.encoder)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package ch.qos.logback.core.encoder;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=ch.qos.logback.core.filter)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package ch.qos.logback.core.filter;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=ch.qos.logback.core.helpers)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package ch.qos.logback.core.helpers;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=ch.qos.logback.core.joran)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package ch.qos.logback.core.joran;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=ch.qos.logback.core.joran.action)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package ch.qos.logback.core.joran.action;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=ch.qos.logback.core.joran.event)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package ch.qos.logback.core.joran.event;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=ch.qos.logback.core.joran.spi)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package ch.qos.logback.core.joran.spi;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=ch.qos.logback.core.pattern)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package ch.qos.logback.core.pattern;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=ch.qos.logback.core.rolling)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package ch.qos.logback.core.rolling;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=ch.qos.logback.core.spi)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package ch.qos.logback.core.spi;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=ch.qos.logback.core.status)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package ch.qos.logback.core.status;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=ch.qos.logback.core.util)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package ch.qos.logback.core.util;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=javax.net))' extend='false' multiple='false' optional='false'>Import package javax.net</require>
    <require name='package' filter='(&amp;(package=javax.net.ssl))' extend='false' multiple='false' optional='false'>Import package javax.net.ssl</require>
    <require name='package' filter='(&amp;(package=javax.xml.namespace))' extend='false' multiple='false' optional='false'>Import package javax.xml.namespace</require>
    <require name='package' filter='(&amp;(package=javax.xml.stream))' extend='false' multiple='false' optional='false'>Import package javax.xml.stream</require>
    <require name='package' filter='(&amp;(package=javax.xml.stream.events))' extend='false' multiple='false' optional='false'>Import package javax.xml.stream.events</require>
    <require name='package' filter='(&amp;(package=org.osgi.util.tracker)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.util.tracker;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j.helpers)(version&gt;=1.6.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j.helpers;version="[1.6,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.commons.log/4.0.6' symbolicname='org.apache.sling.commons.log' presentationname='Apache Sling SLF4J Implementation (Logback)' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.commons.log/4.0.6/org.apache.sling.commons.log-4.0.6.jar' version='4.0.6'>
    <description>This bundle embeds Logback which provides the SLF4J logging API.    The embedding supports dynamic OSGi-configuration without    requiring to edit some global filesystem based XML file.</description>
    <size>769851</size>
    <documentation>http://sling.apache.org/site/logging.html</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.commons.log'/>
      <p n='presentationname' v='Apache Sling SLF4J Implementation (Logback)'/>
      <p n='version' t='version' v='4.0.6'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.commons.log.logback'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='org.xml.sax'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.slf4j.impl'/>
      <p n='version' t='version' v='1.6.4'/>
      <p n='uses:' v='org.slf4j,org.slf4j.spi'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.classic'/>
      <p n='version' t='version' v='1.1.2'/>
      <p n='uses:' v='ch.qos.logback.classic.spi,ch.qos.logback.classic.turbo,ch.qos.logback.core,ch.qos.logback.core.pattern,ch.qos.logback.core.spi,ch.qos.logback.core.status,org.slf4j,org.slf4j.spi'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.classic.boolex'/>
      <p n='version' t='version' v='1.1.2'/>
      <p n='uses:' v='ch.qos.logback.classic.spi,ch.qos.logback.core.boolex'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.classic.db'/>
      <p n='version' t='version' v='1.1.2'/>
      <p n='uses:' v='ch.qos.logback.classic.db.names,ch.qos.logback.classic.spi,ch.qos.logback.core.db'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.classic.db.names'/>
      <p n='version' t='version' v='1.1.2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.classic.encoder'/>
      <p n='version' t='version' v='1.1.2'/>
      <p n='uses:' v='ch.qos.logback.classic.spi,ch.qos.logback.core.pattern'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.classic.filter'/>
      <p n='version' t='version' v='1.1.2'/>
      <p n='uses:' v='ch.qos.logback.classic,ch.qos.logback.classic.spi,ch.qos.logback.core.filter,ch.qos.logback.core.spi'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.classic.gaffer'/>
      <p n='version' t='version' v='1.1.2'/>
      <p n='uses:' v='ch.qos.logback.classic,ch.qos.logback.core,ch.qos.logback.core.spi,ch.qos.logback.core.status'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.classic.helpers'/>
      <p n='version' t='version' v='1.1.2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.classic.html'/>
      <p n='version' t='version' v='1.1.2'/>
      <p n='uses:' v='ch.qos.logback.classic.spi,ch.qos.logback.core.html,ch.qos.logback.core.pattern'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.classic.jmx'/>
      <p n='version' t='version' v='1.1.2'/>
      <p n='uses:' v='ch.qos.logback.classic,ch.qos.logback.classic.spi,ch.qos.logback.core,ch.qos.logback.core.joran.spi,ch.qos.logback.core.spi,javax.management'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.classic.joran'/>
      <p n='version' t='version' v='1.1.2'/>
      <p n='uses:' v='ch.qos.logback.core.joran,ch.qos.logback.core.joran.spi'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.classic.joran.action'/>
      <p n='version' t='version' v='1.1.2'/>
      <p n='uses:' v='ch.qos.logback.core.joran.action,ch.qos.logback.core.joran.spi,org.xml.sax'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.classic.jul'/>
      <p n='version' t='version' v='1.1.2'/>
      <p n='uses:' v='ch.qos.logback.classic,ch.qos.logback.classic.spi,ch.qos.logback.core.spi'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.classic.log4j'/>
      <p n='version' t='version' v='1.1.2'/>
      <p n='uses:' v='ch.qos.logback.classic.spi,ch.qos.logback.core'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.classic.net'/>
      <p n='version' t='version' v='1.1.2'/>
      <p n='uses:' v='ch.qos.logback.classic,ch.qos.logback.classic.spi,ch.qos.logback.core,ch.qos.logback.core.boolex,ch.qos.logback.core.helpers,ch.qos.logback.core.joran.spi,ch.qos.logback.core.net,ch.qos.logback.core.net.ssl,ch.qos.logback.core.pattern,ch.qos.logback.core.spi,javax.naming,javax.net,javax.net.ssl'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.classic.net.server'/>
      <p n='version' t='version' v='1.1.2'/>
      <p n='uses:' v='ch.qos.logback.classic.net,ch.qos.logback.classic.spi,ch.qos.logback.core.net.server,ch.qos.logback.core.net.ssl,ch.qos.logback.core.spi,javax.net'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.classic.pattern'/>
      <p n='version' t='version' v='1.1.2'/>
      <p n='uses:' v='ch.qos.logback.classic.spi,ch.qos.logback.core.pattern,org.slf4j'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.classic.pattern.color'/>
      <p n='version' t='version' v='1.1.2'/>
      <p n='uses:' v='ch.qos.logback.classic.spi,ch.qos.logback.core.pattern.color'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.classic.selector'/>
      <p n='version' t='version' v='1.1.2'/>
      <p n='uses:' v='ch.qos.logback.classic'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.classic.selector.servlet'/>
      <p n='version' t='version' v='1.1.2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.classic.sift'/>
      <p n='version' t='version' v='1.1.2'/>
      <p n='uses:' v='ch.qos.logback.classic.spi,ch.qos.logback.core,ch.qos.logback.core.joran.action,ch.qos.logback.core.joran.event,ch.qos.logback.core.joran.spi,ch.qos.logback.core.sift,org.xml.sax'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.classic.spi'/>
      <p n='version' t='version' v='1.1.2'/>
      <p n='uses:' v='ch.qos.logback.classic,ch.qos.logback.classic.turbo,ch.qos.logback.core,ch.qos.logback.core.spi,org.slf4j'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.classic.turbo'/>
      <p n='version' t='version' v='1.1.2'/>
      <p n='uses:' v='ch.qos.logback.classic,ch.qos.logback.core.spi,org.slf4j'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.classic.util'/>
      <p n='version' t='version' v='1.1.2'/>
      <p n='uses:' v='ch.qos.logback.classic,ch.qos.logback.classic.selector,ch.qos.logback.classic.spi,ch.qos.logback.core.joran.spi,javax.naming,org.slf4j.spi'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.core'/>
      <p n='version' t='version' v='1.1.2'/>
      <p n='uses:' v='ch.qos.logback.core.encoder,ch.qos.logback.core.filter,ch.qos.logback.core.helpers,ch.qos.logback.core.joran.spi,ch.qos.logback.core.spi,ch.qos.logback.core.status'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.core.boolex'/>
      <p n='version' t='version' v='1.1.2'/>
      <p n='uses:' v='ch.qos.logback.core.spi'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.core.db'/>
      <p n='version' t='version' v='1.1.2'/>
      <p n='uses:' v='ch.qos.logback.core,ch.qos.logback.core.db.dialect,ch.qos.logback.core.joran.action,ch.qos.logback.core.joran.spi,ch.qos.logback.core.spi,javax.sql,org.xml.sax'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.core.db.dialect'/>
      <p n='version' t='version' v='1.1.2'/>
      <p n='uses:' v='ch.qos.logback.core.spi'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.core.encoder'/>
      <p n='version' t='version' v='1.1.2'/>
      <p n='uses:' v='ch.qos.logback.core,ch.qos.logback.core.spi'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.core.filter'/>
      <p n='version' t='version' v='1.1.2'/>
      <p n='uses:' v='ch.qos.logback.core.boolex,ch.qos.logback.core.spi'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.core.helpers'/>
      <p n='version' t='version' v='1.1.2'/>
      <p n='uses:' v='ch.qos.logback.core'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.core.html'/>
      <p n='version' t='version' v='1.1.2'/>
      <p n='uses:' v='ch.qos.logback.core,ch.qos.logback.core.pattern'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.core.joran'/>
      <p n='version' t='version' v='1.1.2'/>
      <p n='uses:' v='ch.qos.logback.core,ch.qos.logback.core.joran.event,ch.qos.logback.core.joran.spi,ch.qos.logback.core.spi,org.xml.sax'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.core.joran.action'/>
      <p n='version' t='version' v='1.1.2'/>
      <p n='uses:' v='ch.qos.logback.core.joran.spi,ch.qos.logback.core.joran.util,ch.qos.logback.core.spi,ch.qos.logback.core.util,org.xml.sax'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.core.joran.conditional'/>
      <p n='version' t='version' v='1.1.2'/>
      <p n='uses:' v='ch.qos.logback.core.joran.action,ch.qos.logback.core.joran.event,ch.qos.logback.core.joran.spi,ch.qos.logback.core.spi,org.xml.sax'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.core.joran.event'/>
      <p n='version' t='version' v='1.1.2'/>
      <p n='uses:' v='ch.qos.logback.core,ch.qos.logback.core.joran.spi,ch.qos.logback.core.spi,ch.qos.logback.core.status,org.xml.sax,org.xml.sax.helpers'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.core.joran.event.stax'/>
      <p n='version' t='version' v='1.1.2'/>
      <p n='uses:' v='ch.qos.logback.core,ch.qos.logback.core.joran.spi,ch.qos.logback.core.spi,javax.xml.stream,javax.xml.stream.events'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.core.joran.node'/>
      <p n='version' t='version' v='1.1.2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.core.joran.spi'/>
      <p n='version' t='version' v='1.1.2'/>
      <p n='uses:' v='ch.qos.logback.core,ch.qos.logback.core.joran.action,ch.qos.logback.core.joran.event,ch.qos.logback.core.spi,ch.qos.logback.core.status,org.xml.sax'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.core.joran.util'/>
      <p n='version' t='version' v='1.1.2'/>
      <p n='uses:' v='ch.qos.logback.core,ch.qos.logback.core.joran.spi,ch.qos.logback.core.spi,ch.qos.logback.core.util'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.core.layout'/>
      <p n='version' t='version' v='1.1.2'/>
      <p n='uses:' v='ch.qos.logback.core'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.core.net'/>
      <p n='version' t='version' v='1.1.2'/>
      <p n='uses:' v='ch.qos.logback.core,ch.qos.logback.core.boolex,ch.qos.logback.core.helpers,ch.qos.logback.core.net.ssl,ch.qos.logback.core.pattern,ch.qos.logback.core.sift,ch.qos.logback.core.spi,ch.qos.logback.core.util,javax.naming,javax.net'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.core.net.server'/>
      <p n='version' t='version' v='1.1.2'/>
      <p n='uses:' v='ch.qos.logback.core,ch.qos.logback.core.net.ssl,ch.qos.logback.core.spi,javax.net'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.core.net.ssl'/>
      <p n='version' t='version' v='1.1.2'/>
      <p n='uses:' v='ch.qos.logback.core.joran.spi,ch.qos.logback.core.spi,javax.net,javax.net.ssl'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.core.pattern'/>
      <p n='version' t='version' v='1.1.2'/>
      <p n='uses:' v='ch.qos.logback.core,ch.qos.logback.core.encoder,ch.qos.logback.core.spi,ch.qos.logback.core.status'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.core.pattern.color'/>
      <p n='version' t='version' v='1.1.2'/>
      <p n='uses:' v='ch.qos.logback.core.pattern'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.core.pattern.parser'/>
      <p n='version' t='version' v='1.1.2'/>
      <p n='uses:' v='ch.qos.logback.core.pattern,ch.qos.logback.core.pattern.util,ch.qos.logback.core.spi'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.core.pattern.util'/>
      <p n='version' t='version' v='1.1.2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.core.property'/>
      <p n='version' t='version' v='1.1.2'/>
      <p n='uses:' v='ch.qos.logback.core'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.core.read'/>
      <p n='version' t='version' v='1.1.2'/>
      <p n='uses:' v='ch.qos.logback.core'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.core.recovery'/>
      <p n='version' t='version' v='1.1.2'/>
      <p n='uses:' v='ch.qos.logback.core,ch.qos.logback.core.status'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.core.rolling'/>
      <p n='version' t='version' v='1.1.2'/>
      <p n='uses:' v='ch.qos.logback.core,ch.qos.logback.core.joran.spi,ch.qos.logback.core.rolling.helper,ch.qos.logback.core.spi'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.core.rolling.helper'/>
      <p n='version' t='version' v='1.1.2'/>
      <p n='uses:' v='ch.qos.logback.core,ch.qos.logback.core.pattern,ch.qos.logback.core.rolling,ch.qos.logback.core.spi'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.core.sift'/>
      <p n='version' t='version' v='1.1.2'/>
      <p n='uses:' v='ch.qos.logback.core,ch.qos.logback.core.joran,ch.qos.logback.core.joran.event,ch.qos.logback.core.joran.spi,ch.qos.logback.core.spi,ch.qos.logback.core.util'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.core.spi'/>
      <p n='version' t='version' v='1.1.2'/>
      <p n='uses:' v='ch.qos.logback.core,ch.qos.logback.core.filter,ch.qos.logback.core.helpers,ch.qos.logback.core.status'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.core.status'/>
      <p n='version' t='version' v='1.1.2'/>
      <p n='uses:' v='ch.qos.logback.core'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.core.subst'/>
      <p n='version' t='version' v='1.1.2'/>
      <p n='uses:' v='ch.qos.logback.core.spi'/>
    </capability>
    <capability name='package'>
      <p n='package' v='ch.qos.logback.core.util'/>
      <p n='version' t='version' v='1.1.2'/>
      <p n='uses:' v='ch.qos.logback.core,ch.qos.logback.core.rolling,ch.qos.logback.core.spi,ch.qos.logback.core.status'/>
    </capability>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.3.0))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version=1.3</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.6.0)(!(version&gt;=1.8.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.6,1.8)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j.spi)(version&gt;=1.6.0)(!(version&gt;=1.8.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j.spi;version="[1.6,1.8)"</require>
    <require name='package' filter='(&amp;(package=javax.management))' extend='false' multiple='false' optional='true'>Import package javax.management;resolution:=optional</require>
    <require name='package' filter='(&amp;(package=javax.naming))' extend='false' multiple='false' optional='true'>Import package javax.naming;resolution:=optional</require>
    <require name='package' filter='(&amp;(package=javax.sql))' extend='false' multiple='false' optional='true'>Import package javax.sql;resolution:=optional</require>
    <require name='package' filter='(&amp;(package=javax.xml.parsers))' extend='false' multiple='false' optional='true'>Import package javax.xml.parsers;resolution:=optional</require>
    <require name='package' filter='(&amp;(package=org.xml.sax))' extend='false' multiple='false' optional='true'>Import package org.xml.sax;resolution:=optional</require>
    <require name='package' filter='(&amp;(package=org.xml.sax.helpers))' extend='false' multiple='false' optional='true'>Import package org.xml.sax.helpers;resolution:=optional</require>
    <require name='package' filter='(&amp;(package=sun.reflect))' extend='false' multiple='false' optional='true'>Import package sun.reflect;resolution:=optional</require>
    <require name='package' filter='(&amp;(package=ch.qos.logback.classic)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package ch.qos.logback.classic;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=ch.qos.logback.classic.encoder)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package ch.qos.logback.classic.encoder;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=ch.qos.logback.classic.gaffer)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package ch.qos.logback.classic.gaffer;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=ch.qos.logback.classic.joran)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package ch.qos.logback.classic.joran;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=ch.qos.logback.classic.jul)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package ch.qos.logback.classic.jul;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=ch.qos.logback.classic.spi)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package ch.qos.logback.classic.spi;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=ch.qos.logback.classic.turbo)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package ch.qos.logback.classic.turbo;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=ch.qos.logback.classic.util)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package ch.qos.logback.classic.util;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=ch.qos.logback.core)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package ch.qos.logback.core;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=ch.qos.logback.core.encoder)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package ch.qos.logback.core.encoder;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=ch.qos.logback.core.filter)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package ch.qos.logback.core.filter;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=ch.qos.logback.core.helpers)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package ch.qos.logback.core.helpers;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=ch.qos.logback.core.joran)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package ch.qos.logback.core.joran;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=ch.qos.logback.core.joran.action)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package ch.qos.logback.core.joran.action;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=ch.qos.logback.core.joran.event)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package ch.qos.logback.core.joran.event;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=ch.qos.logback.core.joran.spi)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package ch.qos.logback.core.joran.spi;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=ch.qos.logback.core.pattern)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package ch.qos.logback.core.pattern;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=ch.qos.logback.core.rolling)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package ch.qos.logback.core.rolling;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=ch.qos.logback.core.spi)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package ch.qos.logback.core.spi;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=ch.qos.logback.core.status)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package ch.qos.logback.core.status;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=ch.qos.logback.core.util)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package ch.qos.logback.core.util;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=javax.net))' extend='false' multiple='false' optional='false'>Import package javax.net</require>
    <require name='package' filter='(&amp;(package=javax.net.ssl))' extend='false' multiple='false' optional='false'>Import package javax.net.ssl</require>
    <require name='package' filter='(&amp;(package=javax.xml.namespace))' extend='false' multiple='false' optional='false'>Import package javax.xml.namespace</require>
    <require name='package' filter='(&amp;(package=javax.xml.stream))' extend='false' multiple='false' optional='false'>Import package javax.xml.stream</require>
    <require name='package' filter='(&amp;(package=javax.xml.stream.events))' extend='false' multiple='false' optional='false'>Import package javax.xml.stream.events</require>
    <require name='package' filter='(&amp;(package=org.osgi.util.tracker)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.util.tracker;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j.helpers)(version&gt;=1.6.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j.helpers;version="[1.6,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.extensions.slf4j.mdc/1.0.0' symbolicname='org.apache.sling.extensions.slf4j.mdc' presentationname='Apache Sling SLF4J MDC Filter' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.extensions.slf4j.mdc/1.0.0/org.apache.sling.extensions.slf4j.mdc-1.0.0.jar' version='1.0.0'>
    <description>SLF4J Message Diagnostic Context (MDC) Filter which extracts various details        from requests and adds them to the MDC</description>
    <size>20693</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.extensions.slf4j.mdc'/>
      <p n='presentationname' v='Apache Sling SLF4J MDC Filter'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='true'>Import package org.apache.sling.api;resolution:=optional;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='true'>Import package org.apache.sling.api.resource;resolution:=optional;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.5,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=J2SE-1.5))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=J2SE-1.5))</require>
  </resource>
  <resource id='org.apache.sling.installer.factory.subsystems/1.0.0' symbolicname='org.apache.sling.installer.factory.subsystems' presentationname='Apache Sling Subsystems Installer' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.installer.factory.subsystems/1.0.0/org.apache.sling.installer.factory.subsystems-1.0.0.jar' version='1.0.0'>
    <description>Provides support for subsystems to the Apache Sling OSGi installer</description>
    <size>22666</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.installer.factory.subsystems'/>
      <p n='presentationname' v='Apache Sling Subsystems Installer'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <require name='package' filter='(&amp;(package=org.apache.sling.installer.api.tasks)(version&gt;=1.3.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.installer.api.tasks;version="[1.3,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.7.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.7,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.subsystem)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.subsystem;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.util.tracker)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.util.tracker;version="[1.5,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=J2SE-1.5))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=J2SE-1.5))</require>
  </resource>
  <resource id='org.apache.sling.tenant/1.0.2' symbolicname='org.apache.sling.tenant' presentationname='Apache Sling Tenant' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.tenant/1.0.2/org.apache.sling.tenant-1.0.2.jar' version='1.0.2'>
    <description>This bundle provides the Tenant Provider Implementation and API.</description>
    <size>38389</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.tenant'/>
      <p n='presentationname' v='Apache Sling Tenant'/>
      <p n='version' t='version' v='1.0.2'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.tenant'/>
      <p n='version' t='version' v='1.0.0'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.tenant.spi'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='org.apache.sling.api.resource,org.apache.sling.tenant'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr))' extend='false' multiple='false' optional='false'>Import package javax.jcr</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.api)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.api;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.api.security.user)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.api.security.user;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.adapter)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.adapter;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.wrappers)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.wrappers;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.tenant)(version&gt;=1.0.0)(!(version&gt;=1.1.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.tenant;version="[1.0,1.1)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.tenant.spi)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.tenant.spi;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.6.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.6,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=J2SE-1.5))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=J2SE-1.5))</require>
  </resource>
  <resource id='org.apache.sling.testing.tools/1.0.12' symbolicname='org.apache.sling.testing.tools' presentationname='Apache Sling Test Tools' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.testing.tools/1.0.12/org.apache.sling.testing.tools-1.0.12.jar' version='1.0.12'>
    <description>Sling testing utilities.</description>
    <size>79509</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.testing.tools'/>
      <p n='presentationname' v='Apache Sling Test Tools'/>
      <p n='version' t='version' v='1.0.12'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.testing.tools.http'/>
      <p n='version' t='version' v='1.0.8'/>
      <p n='uses:' v='org.apache.http,org.apache.http.client,org.apache.http.client.methods,org.apache.http.impl.client'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.testing.tools.jarexec'/>
      <p n='version' t='version' v='1.2.0'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.testing.tools.junit'/>
      <p n='version' t='version' v='2.0.0'/>
      <p n='uses:' v='javax.servlet,org.apache.http,org.apache.http.protocol,org.junit.rules,org.junit.runner'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.testing.tools.osgi'/>
      <p n='version' t='version' v='1.1.0'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.testing.tools.retry'/>
      <p n='version' t='version' v='1.0.8'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.testing.tools.serversetup'/>
      <p n='version' t='version' v='1.0.8'/>
      <p n='uses:' v='org.apache.sling.testing.tools.jarexec'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.testing.tools.sling'/>
      <p n='version' t='version' v='1.1.0'/>
      <p n='uses:' v='org.apache.http.client,org.apache.sling.testing.tools.http,org.apache.sling.testing.tools.jarexec,org.apache.sling.testing.tools.osgi,org.junit,org.junit.rules,org.junit.runner,org.junit.runners.model'/>
    </capability>
    <require name='package' filter='(&amp;(package=org.apache.commons.exec)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='true'>Import package org.apache.commons.exec;resolution:=optional;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=junit.framework))' extend='false' multiple='false' optional='false'>Import package junit.framework</require>
    <require name='package' filter='(&amp;(package=org.apache.http))' extend='false' multiple='false' optional='false'>Import package org.apache.http</require>
    <require name='package' filter='(&amp;(package=org.apache.http.auth))' extend='false' multiple='false' optional='false'>Import package org.apache.http.auth</require>
    <require name='package' filter='(&amp;(package=org.apache.http.client))' extend='false' multiple='false' optional='false'>Import package org.apache.http.client</require>
    <require name='package' filter='(&amp;(package=org.apache.http.client.methods))' extend='false' multiple='false' optional='false'>Import package org.apache.http.client.methods</require>
    <require name='package' filter='(&amp;(package=org.apache.http.client.utils))' extend='false' multiple='false' optional='false'>Import package org.apache.http.client.utils</require>
    <require name='package' filter='(&amp;(package=org.apache.http.entity))' extend='false' multiple='false' optional='false'>Import package org.apache.http.entity</require>
    <require name='package' filter='(&amp;(package=org.apache.http.entity.mime))' extend='false' multiple='false' optional='false'>Import package org.apache.http.entity.mime</require>
    <require name='package' filter='(&amp;(package=org.apache.http.entity.mime.content))' extend='false' multiple='false' optional='false'>Import package org.apache.http.entity.mime.content</require>
    <require name='package' filter='(&amp;(package=org.apache.http.impl.auth))' extend='false' multiple='false' optional='false'>Import package org.apache.http.impl.auth</require>
    <require name='package' filter='(&amp;(package=org.apache.http.impl.client))' extend='false' multiple='false' optional='false'>Import package org.apache.http.impl.client</require>
    <require name='package' filter='(&amp;(package=org.apache.http.message))' extend='false' multiple='false' optional='false'>Import package org.apache.http.message</require>
    <require name='package' filter='(&amp;(package=org.apache.http.params))' extend='false' multiple='false' optional='false'>Import package org.apache.http.params</require>
    <require name='package' filter='(&amp;(package=org.apache.http.protocol))' extend='false' multiple='false' optional='false'>Import package org.apache.http.protocol</require>
    <require name='package' filter='(&amp;(package=org.apache.http.util))' extend='false' multiple='false' optional='false'>Import package org.apache.http.util</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.testing.tools.http)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.testing.tools.http;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.testing.tools.jarexec)(version&gt;=1.2.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.testing.tools.jarexec;version="[1.2,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.testing.tools.junit)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.testing.tools.junit;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.testing.tools.osgi)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.testing.tools.osgi;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.testing.tools.retry)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.testing.tools.retry;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.testing.tools.sling)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.testing.tools.sling;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.junit))' extend='false' multiple='false' optional='false'>Import package org.junit</require>
    <require name='package' filter='(&amp;(package=org.junit.rules))' extend='false' multiple='false' optional='false'>Import package org.junit.rules</require>
    <require name='package' filter='(&amp;(package=org.junit.runner))' extend='false' multiple='false' optional='false'>Import package org.junit.runner</require>
    <require name='package' filter='(&amp;(package=org.junit.runners.model))' extend='false' multiple='false' optional='false'>Import package org.junit.runners.model</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j.spi)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j.spi;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.testing.tools/1.0.8' symbolicname='org.apache.sling.testing.tools' presentationname='Apache Sling Test Tools' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.testing.tools/1.0.8/org.apache.sling.testing.tools-1.0.8.jar' version='1.0.8'>
    <description>Sling testing utilities.</description>
    <size>70210</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.testing.tools'/>
      <p n='presentationname' v='Apache Sling Test Tools'/>
      <p n='version' t='version' v='1.0.8'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.testing.tools.http'/>
      <p n='version' t='version' v='1.0.8'/>
      <p n='uses:' v='org.apache.http,org.apache.http.client,org.apache.http.client.methods,org.apache.http.impl.client'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.testing.tools.jarexec'/>
      <p n='version' t='version' v='1.0.8'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.testing.tools.junit'/>
      <p n='version' t='version' v='1.0.8'/>
      <p n='uses:' v='javax.servlet,org.apache.http,org.apache.http.protocol,org.junit.rules,org.junit.runner'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.testing.tools.osgi'/>
      <p n='version' t='version' v='1.0.8'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.testing.tools.retry'/>
      <p n='version' t='version' v='1.0.8'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.testing.tools.serversetup'/>
      <p n='version' t='version' v='1.0.8'/>
      <p n='uses:' v='org.apache.sling.testing.tools.jarexec'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.testing.tools.sling'/>
      <p n='version' t='version' v='1.0.8'/>
      <p n='uses:' v='org.apache.http.client,org.apache.sling.testing.tools.http,org.apache.sling.testing.tools.jarexec,org.apache.sling.testing.tools.osgi,org.junit.rules,org.junit.runner,org.junit.runners.model'/>
    </capability>
    <require name='package' filter='(&amp;(package=org.apache.commons.exec)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='true'>Import package org.apache.commons.exec;resolution:=optional;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=junit.framework))' extend='false' multiple='false' optional='false'>Import package junit.framework</require>
    <require name='package' filter='(&amp;(package=org.apache.http))' extend='false' multiple='false' optional='false'>Import package org.apache.http</require>
    <require name='package' filter='(&amp;(package=org.apache.http.auth))' extend='false' multiple='false' optional='false'>Import package org.apache.http.auth</require>
    <require name='package' filter='(&amp;(package=org.apache.http.client))' extend='false' multiple='false' optional='false'>Import package org.apache.http.client</require>
    <require name='package' filter='(&amp;(package=org.apache.http.client.methods))' extend='false' multiple='false' optional='false'>Import package org.apache.http.client.methods</require>
    <require name='package' filter='(&amp;(package=org.apache.http.client.utils))' extend='false' multiple='false' optional='false'>Import package org.apache.http.client.utils</require>
    <require name='package' filter='(&amp;(package=org.apache.http.entity))' extend='false' multiple='false' optional='false'>Import package org.apache.http.entity</require>
    <require name='package' filter='(&amp;(package=org.apache.http.entity.mime))' extend='false' multiple='false' optional='false'>Import package org.apache.http.entity.mime</require>
    <require name='package' filter='(&amp;(package=org.apache.http.entity.mime.content))' extend='false' multiple='false' optional='false'>Import package org.apache.http.entity.mime.content</require>
    <require name='package' filter='(&amp;(package=org.apache.http.impl.auth))' extend='false' multiple='false' optional='false'>Import package org.apache.http.impl.auth</require>
    <require name='package' filter='(&amp;(package=org.apache.http.impl.client))' extend='false' multiple='false' optional='false'>Import package org.apache.http.impl.client</require>
    <require name='package' filter='(&amp;(package=org.apache.http.message))' extend='false' multiple='false' optional='false'>Import package org.apache.http.message</require>
    <require name='package' filter='(&amp;(package=org.apache.http.params))' extend='false' multiple='false' optional='false'>Import package org.apache.http.params</require>
    <require name='package' filter='(&amp;(package=org.apache.http.protocol))' extend='false' multiple='false' optional='false'>Import package org.apache.http.protocol</require>
    <require name='package' filter='(&amp;(package=org.apache.http.util))' extend='false' multiple='false' optional='false'>Import package org.apache.http.util</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.junit))' extend='false' multiple='false' optional='false'>Import package org.junit</require>
    <require name='package' filter='(&amp;(package=org.junit.rules))' extend='false' multiple='false' optional='false'>Import package org.junit.rules</require>
    <require name='package' filter='(&amp;(package=org.junit.runner))' extend='false' multiple='false' optional='false'>Import package org.junit.runner</require>
    <require name='package' filter='(&amp;(package=org.junit.runners.model))' extend='false' multiple='false' optional='false'>Import package org.junit.runners.model</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=J2SE-1.5))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=J2SE-1.5))</require>
  </resource>
  <resource id='org.apache.sling.testing.tools/1.0.2' symbolicname='org.apache.sling.testing.tools' presentationname='Apache Sling Test Tools' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.testing.tools/1.0.2/org.apache.sling.testing.tools-1.0.2.jar' version='1.0.2'>
    <description>Sling testing utilities.</description>
    <size>41371</size>
    <documentation>http://sling.apache.org</documentation>
    <source>org/apache/sling/org.apache.sling.testing.tools/1.0.2/org.apache.sling.testing.tools-1.0.2-sources.jar</source>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <category id='org.apache.sling'/>
    <capability name='bundle'>
      <p n='manifestversion' v='2'/>
      <p n='presentationname' v='Apache Sling Test Tools'/>
      <p n='symbolicname' v='org.apache.sling.testing.tools'/>
      <p n='version' t='version' v='1.0.2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.testing.tools.retry'/>
      <p n='uses' v='org.junit'/>
      <p n='version' t='version' v='0.0.0'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.testing.tools.http'/>
      <p n='uses' v='org.apache.http.entity,org.apache.http.client.methods,org.apache.http,org.apache.http.message,org.apache.http.client.utils,org.apache.http.protocol,org.apache.http.impl.auth,org.apache.http.client,org.apache.http.auth,org.apache.http.params,org.junit,org.apache.http.impl.client,org.apache.http.util,org.apache.sling.testing.tools.retry'/>
      <p n='version' t='version' v='0.0.0'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.testing.tools.osgi'/>
      <p n='uses' v='org.apache.http.entity.mime.content,org.apache.http.impl.client,org.apache.http.entity.mime,org.apache.sling.testing.tools.http,org.slf4j,org.apache.http'/>
      <p n='version' t='version' v='0.0.0'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.testing.tools.sling'/>
      <p n='uses' v='org.apache.http.client.methods,org.apache.http.entity.mime.content,org.apache.http.impl.client,org.apache.http.entity.mime,org.apache.http.entity,org.apache.sling.testing.tools.http,org.junit,org.apache.http,org.apache.sling.testing.tools.osgi,org.apache.http.client,org.apache.sling.testing.tools.jarexec,org.slf4j'/>
      <p n='version' t='version' v='0.0.0'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.testing.tools.jarexec'/>
      <p n='uses' v='org.apache.commons.exec,org.slf4j'/>
      <p n='version' t='version' v='0.0.0'/>
    </capability>
    <require name='package' filter='(&amp;(package=org.apache.commons.exec)(version&gt;=1.1.0))' extend='false' multiple='false' optional='true'>Import package org.apache.commons.exec ;version=1.1.0</require>
    <require name='package' filter='(&amp;(package=org.apache.http))' extend='false' multiple='false' optional='true'>Import package org.apache.http</require>
    <require name='package' filter='(&amp;(package=org.apache.http.auth))' extend='false' multiple='false' optional='true'>Import package org.apache.http.auth</require>
    <require name='package' filter='(&amp;(package=org.apache.http.client))' extend='false' multiple='false' optional='true'>Import package org.apache.http.client</require>
    <require name='package' filter='(&amp;(package=org.apache.http.client.methods))' extend='false' multiple='false' optional='true'>Import package org.apache.http.client.methods</require>
    <require name='package' filter='(&amp;(package=org.apache.http.client.utils))' extend='false' multiple='false' optional='true'>Import package org.apache.http.client.utils</require>
    <require name='package' filter='(&amp;(package=org.apache.http.entity))' extend='false' multiple='false' optional='true'>Import package org.apache.http.entity</require>
    <require name='package' filter='(&amp;(package=org.apache.http.entity.mime))' extend='false' multiple='false' optional='true'>Import package org.apache.http.entity.mime</require>
    <require name='package' filter='(&amp;(package=org.apache.http.entity.mime.content))' extend='false' multiple='false' optional='true'>Import package org.apache.http.entity.mime.content</require>
    <require name='package' filter='(&amp;(package=org.apache.http.impl.auth))' extend='false' multiple='false' optional='true'>Import package org.apache.http.impl.auth</require>
    <require name='package' filter='(&amp;(package=org.apache.http.impl.client))' extend='false' multiple='false' optional='true'>Import package org.apache.http.impl.client</require>
    <require name='package' filter='(&amp;(package=org.apache.http.message))' extend='false' multiple='false' optional='true'>Import package org.apache.http.message</require>
    <require name='package' filter='(&amp;(package=org.apache.http.params))' extend='false' multiple='false' optional='true'>Import package org.apache.http.params</require>
    <require name='package' filter='(&amp;(package=org.apache.http.protocol))' extend='false' multiple='false' optional='true'>Import package org.apache.http.protocol</require>
    <require name='package' filter='(&amp;(package=org.apache.http.util))' extend='false' multiple='false' optional='true'>Import package org.apache.http.util</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.testing.tools.http))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.testing.tools.http</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.testing.tools.jarexec))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.testing.tools.jarexec</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.testing.tools.osgi))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.testing.tools.osgi</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.testing.tools.retry))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.testing.tools.retry</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.testing.tools.sling))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.testing.tools.sling</require>
    <require name='package' filter='(&amp;(package=org.junit))' extend='false' multiple='false' optional='false'>Import package org.junit</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0))' extend='false' multiple='false' optional='false'>Import package org.slf4j ;version=1.5.0</require>
  </resource>
  <resource id='org.apache.sling.testing.tools/1.0.10' symbolicname='org.apache.sling.testing.tools' presentationname='Apache Sling Test Tools' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.testing.tools/1.0.10/org.apache.sling.testing.tools-1.0.10.jar' version='1.0.10'>
    <description>Sling testing utilities.</description>
    <size>76767</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.testing.tools'/>
      <p n='presentationname' v='Apache Sling Test Tools'/>
      <p n='version' t='version' v='1.0.10'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.testing.tools.http'/>
      <p n='version' t='version' v='1.0.8'/>
      <p n='uses:' v='org.apache.http,org.apache.http.client,org.apache.http.client.methods,org.apache.http.impl.client'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.testing.tools.jarexec'/>
      <p n='version' t='version' v='1.2.0'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.testing.tools.junit'/>
      <p n='version' t='version' v='2.0.0'/>
      <p n='uses:' v='javax.servlet,org.apache.http,org.apache.http.protocol,org.junit.rules,org.junit.runner'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.testing.tools.osgi'/>
      <p n='version' t='version' v='1.1.0'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.testing.tools.retry'/>
      <p n='version' t='version' v='1.0.8'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.testing.tools.serversetup'/>
      <p n='version' t='version' v='1.0.8'/>
      <p n='uses:' v='org.apache.sling.testing.tools.jarexec'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.testing.tools.sling'/>
      <p n='version' t='version' v='1.0.8'/>
      <p n='uses:' v='org.apache.http.client,org.apache.sling.testing.tools.http,org.apache.sling.testing.tools.jarexec,org.apache.sling.testing.tools.osgi,org.junit.rules,org.junit.runner,org.junit.runners.model'/>
    </capability>
    <require name='package' filter='(&amp;(package=org.apache.commons.exec)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='true'>Import package org.apache.commons.exec;resolution:=optional;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=junit.framework))' extend='false' multiple='false' optional='false'>Import package junit.framework</require>
    <require name='package' filter='(&amp;(package=org.apache.http))' extend='false' multiple='false' optional='false'>Import package org.apache.http</require>
    <require name='package' filter='(&amp;(package=org.apache.http.auth))' extend='false' multiple='false' optional='false'>Import package org.apache.http.auth</require>
    <require name='package' filter='(&amp;(package=org.apache.http.client))' extend='false' multiple='false' optional='false'>Import package org.apache.http.client</require>
    <require name='package' filter='(&amp;(package=org.apache.http.client.methods))' extend='false' multiple='false' optional='false'>Import package org.apache.http.client.methods</require>
    <require name='package' filter='(&amp;(package=org.apache.http.client.utils))' extend='false' multiple='false' optional='false'>Import package org.apache.http.client.utils</require>
    <require name='package' filter='(&amp;(package=org.apache.http.entity))' extend='false' multiple='false' optional='false'>Import package org.apache.http.entity</require>
    <require name='package' filter='(&amp;(package=org.apache.http.entity.mime))' extend='false' multiple='false' optional='false'>Import package org.apache.http.entity.mime</require>
    <require name='package' filter='(&amp;(package=org.apache.http.entity.mime.content))' extend='false' multiple='false' optional='false'>Import package org.apache.http.entity.mime.content</require>
    <require name='package' filter='(&amp;(package=org.apache.http.impl.auth))' extend='false' multiple='false' optional='false'>Import package org.apache.http.impl.auth</require>
    <require name='package' filter='(&amp;(package=org.apache.http.impl.client))' extend='false' multiple='false' optional='false'>Import package org.apache.http.impl.client</require>
    <require name='package' filter='(&amp;(package=org.apache.http.message))' extend='false' multiple='false' optional='false'>Import package org.apache.http.message</require>
    <require name='package' filter='(&amp;(package=org.apache.http.params))' extend='false' multiple='false' optional='false'>Import package org.apache.http.params</require>
    <require name='package' filter='(&amp;(package=org.apache.http.protocol))' extend='false' multiple='false' optional='false'>Import package org.apache.http.protocol</require>
    <require name='package' filter='(&amp;(package=org.apache.http.util))' extend='false' multiple='false' optional='false'>Import package org.apache.http.util</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.junit))' extend='false' multiple='false' optional='false'>Import package org.junit</require>
    <require name='package' filter='(&amp;(package=org.junit.rules))' extend='false' multiple='false' optional='false'>Import package org.junit.rules</require>
    <require name='package' filter='(&amp;(package=org.junit.runner))' extend='false' multiple='false' optional='false'>Import package org.junit.runner</require>
    <require name='package' filter='(&amp;(package=org.junit.runners.model))' extend='false' multiple='false' optional='false'>Import package org.junit.runners.model</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j.spi)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j.spi;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=J2SE-1.5))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=J2SE-1.5))</require>
  </resource>
  <resource id='org.apache.sling.testing.paxexam/0.0.2' symbolicname='org.apache.sling.testing.paxexam' presentationname='Apache Sling Testing PaxExam' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.testing.paxexam/0.0.2/org.apache.sling.testing.paxexam-0.0.2.jar' version='0.0.2'>
    <description>Test support for use with Pax Exam.</description>
    <size>27301</size>
    <documentation>http://sling.apache.org</documentation>
    <license>https://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.testing.paxexam'/>
      <p n='presentationname' v='Apache Sling Testing PaxExam'/>
      <p n='version' t='version' v='0.0.2'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.testing.paxexam'/>
      <p n='version' t='version' v='0.0.2'/>
      <p n='uses:' v='javax.inject,org.ops4j.pax.exam,org.ops4j.pax.exam.options,org.osgi.service.cm'/>
    </capability>
    <require name='package' filter='(&amp;(package=org.ops4j.pax.exam.cm))' extend='false' multiple='false' optional='true'>Import package org.ops4j.pax.exam.cm;resolution:=optional</require>
    <require name='package' filter='(&amp;(package=javax.inject))' extend='false' multiple='false' optional='false'>Import package javax.inject</require>
    <require name='package' filter='(&amp;(package=org.ops4j.pax.exam)(version&gt;=4.9.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.ops4j.pax.exam;version="[4.9,5)"</require>
    <require name='package' filter='(&amp;(package=org.ops4j.pax.exam.options)(version&gt;=4.9.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.ops4j.pax.exam.options;version="[4.9,5)"</require>
    <require name='package' filter='(&amp;(package=org.ops4j.pax.exam.options.extra)(version&gt;=4.9.0)(!(version&gt;=5.0.0)))' extend='false' multiple='false' optional='false'>Import package org.ops4j.pax.exam.options.extra;version="[4.9,5)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.cm)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.cm;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.7))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.7))</require>
  </resource>
  <resource id='org.apache.sling.extensions.threaddump/0.1.2.incubator' symbolicname='org.apache.sling.extensions.threaddump' presentationname='Apache Sling Thread Dumper' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.extensions.threaddump/0.1.2.incubator/org.apache.sling.extensions.threaddump-0.1.2.incubator.jar' version='0.1.2.incubator'>
    <description>Plugin providing plugins to the Felix Shell and Web Console to        have the current threads with the stack traces dumped.</description>
    <size>16495</size>
    <documentation>http://incubator.apache.org/sling</documentation>
    <source>org/apache/sling/org.apache.sling.extensions.threaddump/0.1.2-incubator/org.apache.sling.extensions.threaddump-0.1.2-incubator-sources.jar</source>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='org.apache.sling'/>
    <capability name='bundle'>
      <p n='manifestversion' v='2'/>
      <p n='presentationname' v='Apache Sling Thread Dumper'/>
      <p n='symbolicname' v='org.apache.sling.extensions.threaddump'/>
      <p n='version' t='version' v='0.1.2.incubator'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='true'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='true'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.felix.shell)(version&gt;=1.0.0))' extend='false' multiple='false' optional='true'>Import package org.apache.felix.shell ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=org.apache.felix.webconsole))' extend='false' multiple='false' optional='true'>Import package org.apache.felix.webconsole</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework</require>
    <require name='package' filter='(&amp;(package=org.slf4j))' extend='false' multiple='false' optional='false'>Import package org.slf4j</require>
  </resource>
  <resource id='org.apache.sling.extensions.threaddump/0.2.2' symbolicname='org.apache.sling.extensions.threaddump' presentationname='Apache Sling Thread Dumper' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.extensions.threaddump/0.2.2/org.apache.sling.extensions.threaddump-0.2.2.jar' version='0.2.2'>
    <description>Plugin providing plugins to the Felix Shell and Web Console to        have the current threads with the stack traces dumped.</description>
    <size>16582</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.extensions.threaddump'/>
      <p n='presentationname' v='Apache Sling Thread Dumper'/>
      <p n='version' t='version' v='0.2.2'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.3.0))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version=1.3</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version=1.5</require>
  </resource>
  <resource id='org.apache.sling.commons.threads/2.0.4.incubator' symbolicname='org.apache.sling.commons.threads' presentationname='Apache Sling Thread Support' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.commons.threads/2.0.4.incubator/org.apache.sling.commons.threads-2.0.4.incubator.jar' version='2.0.4.incubator'>
    <description>Support for thread handling like pooling.</description>
    <size>21747</size>
    <documentation>http://incubator.apache.org/sling</documentation>
    <source>org/apache/sling/org.apache.sling.commons.threads/2.0.4-incubator/org.apache.sling.commons.threads-2.0.4-incubator-sources.jar</source>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='org.apache.sling'/>
    <capability name='bundle'>
      <p n='manifestversion' v='2'/>
      <p n='presentationname' v='Apache Sling Thread Support'/>
      <p n='symbolicname' v='org.apache.sling.commons.threads'/>
      <p n='version' t='version' v='2.0.4.incubator'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.commons.threads'/>
      <p n='version' t='version' v='2.0.4.incubator'/>
    </capability>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.threads)(version&gt;=2.0.4.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.threads ;version=2.0.4.incubator</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component</require>
    <require name='package' filter='(&amp;(package=org.slf4j))' extend='false' multiple='false' optional='false'>Import package org.slf4j</require>
  </resource>
  <resource id='org.apache.sling.commons.threads/3.0.2' symbolicname='org.apache.sling.commons.threads' presentationname='Apache Sling Thread Support' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.commons.threads/3.0.2/org.apache.sling.commons.threads-3.0.2.jar' version='3.0.2'>
    <description>Support for thread handling like pooling.</description>
    <size>31306</size>
    <documentation>http://sling.apache.org</documentation>
    <source>org/apache/sling/org.apache.sling.commons.threads/3.0.2/org.apache.sling.commons.threads-3.0.2-sources.jar</source>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <category id='org.apache.sling'/>
    <capability name='bundle'>
      <p n='manifestversion' v='2'/>
      <p n='presentationname' v='Apache Sling Thread Support'/>
      <p n='symbolicname' v='org.apache.sling.commons.threads'/>
      <p n='version' t='version' v='3.0.2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.commons.threads'/>
      <p n='version' t='version' v='3.0.0'/>
    </capability>
    <require name='package' filter='(&amp;(package=org.apache.felix.webconsole)(version&gt;=3.0.0))' extend='false' multiple='false' optional='true'>Import package org.apache.felix.webconsole ;version=3.0.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.threads)(version&gt;=3.0.0))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.threads ;version=3.0.0</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework ;version=1.4.0</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.cm)(version&gt;=1.2.0))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.cm ;version=1.2.0</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0))' extend='false' multiple='false' optional='false'>Import package org.slf4j ;version=1.5.0</require>
  </resource>
  <resource id='org.apache.sling.commons.threads/3.2.2' symbolicname='org.apache.sling.commons.threads' presentationname='Apache Sling Thread Support' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.commons.threads/3.2.2/org.apache.sling.commons.threads-3.2.2.jar' version='3.2.2'>
    <description>Support for thread handling like pooling.</description>
    <size>41285</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.commons.threads'/>
      <p n='presentationname' v='Apache Sling Thread Support'/>
      <p n='version' t='version' v='3.2.2'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.commons.threads'/>
      <p n='version' t='version' v='3.3.0'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.commons.threads.jmx'/>
      <p n='version' t='version' v='1.1.0'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.management))' extend='false' multiple='false' optional='false'>Import package javax.management</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.threads)(version&gt;=3.3.0)(!(version&gt;=3.4.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.threads;version="[3.3,3.4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.threads.jmx)(version&gt;=1.1.0)(!(version&gt;=1.2.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.threads.jmx;version="[1.1,1.2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.cm)(version&gt;=1.2.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.cm;version="[1.2,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.commons.threads/3.2.6' symbolicname='org.apache.sling.commons.threads' presentationname='Apache Sling Thread Support' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.commons.threads-3.2.6.jar' version='3.2.6'>
    <description>Support for thread handling like pooling.</description>
    <size>42092</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.commons.threads'/>
      <p n='presentationname' v='Apache Sling Thread Support'/>
      <p n='version' t='version' v='3.2.6'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.commons.threads.jmx'/>
      <p n='version' t='version' v='1.1.0'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.commons.threads'/>
      <p n='version' t='version' v='3.3.0'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.management))' extend='false' multiple='false' optional='false'>Import package javax.management</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.threads)(version&gt;=3.3.0)(!(version&gt;=3.4.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.threads;version="[3.3,3.4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.threads.jmx)(version&gt;=1.1.0)(!(version&gt;=1.2.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.threads.jmx;version="[1.1,1.2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.cm)(version&gt;=1.2.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.cm;version="[1.2,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.commons.threads/3.2.0' symbolicname='org.apache.sling.commons.threads' presentationname='Apache Sling Thread Support' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.commons.threads/3.2.0/org.apache.sling.commons.threads-3.2.0.jar' version='3.2.0'>
    <description>Support for thread handling like pooling.</description>
    <size>35993</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.commons.threads'/>
      <p n='presentationname' v='Apache Sling Thread Support'/>
      <p n='version' t='version' v='3.2.0'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.commons.threads'/>
      <p n='version' t='version' v='3.2.0'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.commons.threads.jmx'/>
      <p n='version' t='version' v='1.0.0'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.management))' extend='false' multiple='false' optional='false'>Import package javax.management</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.threads)(version&gt;=3.2.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.threads;version="[3.2,4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.threads.jmx)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.threads.jmx;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.cm)(version&gt;=1.2.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.cm;version="[1.2,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=J2SE-1.5))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=J2SE-1.5))</require>
  </resource>
  <resource id='org.apache.sling.tooling.support.install/1.0.2' symbolicname='org.apache.sling.tooling.support.install' presentationname='Apache Sling Tooling Support Install' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.tooling.support.install/1.0.2/org.apache.sling.tooling.support.install-1.0.2.jar' version='1.0.2'>
    <description>The parent project for Apache Sling</description>
    <size>15794</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.tooling.support.install'/>
      <p n='presentationname' v='Apache Sling Tooling Support Install'/>
      <p n='version' t='version' v='1.0.2'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.fileupload)(version&gt;=1.2.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.fileupload;version="[1.2,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.fileupload.disk)(version&gt;=1.2.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.fileupload.disk;version="[1.2,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.fileupload.servlet)(version&gt;=1.2.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.fileupload.servlet;version="[1.2,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.io)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.io;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.lang)(version&gt;=2.4.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.lang;version="[2.4,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json.io)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json.io;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.packageadmin)(version&gt;=1.2.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.packageadmin;version="[1.2,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=J2SE-1.5))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=J2SE-1.5))</require>
  </resource>
  <resource id='org.apache.sling.tooling.support.source/1.0.0' symbolicname='org.apache.sling.tooling.support.source' presentationname='Apache Sling Tooling Support Source' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.tooling.support.source-1.0.0.jar' version='1.0.0'>
    <description>The parent project for Apache Sling</description>
    <size>18681</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.tooling.support.source'/>
      <p n='presentationname' v='Apache Sling Tooling Support Source'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=javax.xml.parsers))' extend='false' multiple='false' optional='false'>Import package javax.xml.parsers</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.io)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.io;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json.io)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json.io;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='package' filter='(&amp;(package=org.xml.sax))' extend='false' multiple='false' optional='false'>Import package org.xml.sax</require>
    <require name='package' filter='(&amp;(package=org.xml.sax.helpers))' extend='false' multiple='false' optional='false'>Import package org.xml.sax.helpers</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.urlrewriter/0.0.2' symbolicname='org.apache.sling.urlrewriter' presentationname='Apache Sling URL Rewriter' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.urlrewriter/0.0.2/org.apache.sling.urlrewriter-0.0.2.jar' version='0.0.2'>
    <description>Apache Sling URL Rewriter</description>
    <size>19135</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.urlrewriter'/>
      <p n='presentationname' v='Apache Sling URL Rewriter'/>
      <p n='version' t='version' v='0.0.2'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=javax.xml.parsers))' extend='false' multiple='false' optional='false'>Import package javax.xml.parsers</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.io)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.io;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.7.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.7,2)"</require>
    <require name='package' filter='(&amp;(package=org.tuckey.web.filters.urlrewrite))' extend='false' multiple='false' optional='false'>Import package org.tuckey.web.filters.urlrewrite</require>
    <require name='package' filter='(&amp;(package=org.tuckey.web.filters.urlrewrite.utils))' extend='false' multiple='false' optional='false'>Import package org.tuckey.web.filters.urlrewrite.utils</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom</require>
    <require name='package' filter='(&amp;(package=org.xml.sax))' extend='false' multiple='false' optional='false'>Import package org.xml.sax</require>
    <require name='package' filter='(&amp;(package=org.xml.sax.helpers))' extend='false' multiple='false' optional='false'>Import package org.xml.sax.helpers</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.extensions.webconsolebranding/1.0.0' symbolicname='org.apache.sling.extensions.webconsolebranding' presentationname='Apache Sling Web Console Branding' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.extensions.webconsolebranding/1.0.0/org.apache.sling.extensions.webconsolebranding-1.0.0.jar' version='1.0.0'>
    <description>Apache Sling branding for the Apache Felix Web Console. This fragment        attaches to the org.apache.felix.webconsole bundle to provide branding        through the /META-INF/webconsole.properties.</description>
    <size>15518</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.extensions.webconsolebranding'/>
      <p n='presentationname' v='Apache Sling Web Console Branding'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='fragment'>
      <p n='host' v='org.apache.felix.webconsole'/>
      <p n='version' t='version' v='0.0.0'/>
    </capability>
    <require name='bundle' filter='(&amp;(symbolicname=org.apache.felix.webconsole))' extend='true' multiple='false' optional='false'>Required Host org.apache.felix.webconsole</require>
  </resource>
  <resource id='org.apache.sling.extensions.webconsolesecurityprovider/1.1.6' symbolicname='org.apache.sling.extensions.webconsolesecurityprovider' presentationname='Apache Sling Web Console Security Provider' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.extensions.webconsolesecurityprovider/1.1.6/org.apache.sling.extensions.webconsolesecurityprovider-1.1.6.jar' version='1.1.6'>
    <description>WebConsoleSecurityProvider for the Apache Felix Web Console using the        Apache Sling Auth Core bundle to authenticate users.</description>
    <size>24147</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.extensions.webconsolesecurityprovider'/>
      <p n='presentationname' v='Apache Sling Web Console Security Provider'/>
      <p n='version' t='version' v='1.1.6'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr))' extend='false' multiple='false' optional='false'>Import package javax.jcr</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.felix.webconsole)(version&gt;=3.1.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.felix.webconsole;version="[3.1,4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.api)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.api;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.api.security.user)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.api.security.user;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.launchpad.api)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.launchpad.api;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.cm)(version&gt;=1.2.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.cm;version="[1.2,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.extensions.webconsolesecurityprovider/1.0.0' symbolicname='org.apache.sling.extensions.webconsolesecurityprovider' presentationname='Apache Sling Web Console Security Provider' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.extensions.webconsolesecurityprovider/1.0.0/org.apache.sling.extensions.webconsolesecurityprovider-1.0.0.jar' version='1.0.0'>
    <description>WebConsoleSecurityProvider for the Apache Felix Web Console using the        Apache Sling Auth Core bundle to authenticate users.</description>
    <size>14793</size>
    <documentation>http://sling.apache.org</documentation>
    <source>org/apache/sling/org.apache.sling.extensions.webconsolesecurityprovider/1.0.0/org.apache.sling.extensions.webconsolesecurityprovider-1.0.0-sources.jar</source>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='org.apache.sling'/>
    <capability name='bundle'>
      <p n='manifestversion' v='2'/>
      <p n='presentationname' v='Apache Sling Web Console Security Provider'/>
      <p n='symbolicname' v='org.apache.sling.extensions.webconsolesecurityprovider'/>
      <p n='version' t='version' v='1.0.0'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr))' extend='false' multiple='false' optional='false'>Import package javax.jcr</require>
    <require name='package' filter='(&amp;(package=org.apache.felix.webconsole)(version&gt;=3.1.0))' extend='false' multiple='false' optional='false'>Import package org.apache.felix.webconsole ;version=3.1.0</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.api)(version&gt;=1.5.0))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.api ;version=1.5.0</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.api.security.user)(version&gt;=1.5.0))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.api.security.user ;version=1.5.0</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0))' extend='false' multiple='false' optional='false'>Import package org.slf4j ;version=1.5.0</require>
  </resource>
  <resource id='org.apache.sling.extensions.webconsolesecurityprovider/1.1.4' symbolicname='org.apache.sling.extensions.webconsolesecurityprovider' presentationname='Apache Sling Web Console Security Provider' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.extensions.webconsolesecurityprovider/1.1.4/org.apache.sling.extensions.webconsolesecurityprovider-1.1.4.jar' version='1.1.4'>
    <description>WebConsoleSecurityProvider for the Apache Felix Web Console using the        Apache Sling Auth Core bundle to authenticate users.</description>
    <size>23635</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.extensions.webconsolesecurityprovider'/>
      <p n='presentationname' v='Apache Sling Web Console Security Provider'/>
      <p n='version' t='version' v='1.1.4'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr))' extend='false' multiple='false' optional='false'>Import package javax.jcr</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.felix.webconsole)(version&gt;=3.1.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.felix.webconsole;version="[3.1,4)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.api)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.api;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.api.security.user)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.api.security.user;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.launchpad.api)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.launchpad.api;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework)(version&gt;=1.4.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework;version="[1.4,2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.cm)(version&gt;=1.2.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.cm;version="[1.2,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=J2SE-1.5))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=J2SE-1.5))</require>
  </resource>
  <resource id='org.apache.sling.jcr.jcr-wrapper/2.0.0' symbolicname='org.apache.sling.jcr.jcr-wrapper' presentationname='Apache Sling Wrapper Bundle for the JCR API' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.jcr.jcr-wrapper/2.0.0/org.apache.sling.jcr.jcr-wrapper-2.0.0.jar' version='2.0.0'>
    <description>This bundle wraps the JCR API Version 2.0 and exports it as version 2.0 and 1.1        to avoid problems with strict import ranges due to the (wrong) export in the        original JCR api bundle.</description>
    <size>74462</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.jcr.jcr-wrapper'/>
      <p n='presentationname' v='Apache Sling Wrapper Bundle for the JCR API'/>
      <p n='version' t='version' v='2.0.0'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='javax.jcr'/>
      <p n='version' t='version' v='2.0.0'/>
      <p n='uses:' v='javax.jcr.security,javax.jcr.nodetype,javax.jcr.version,javax.jcr.lock,javax.jcr.retention,org.xml.sax,javax.jcr.query,javax.jcr.observation'/>
    </capability>
    <capability name='package'>
      <p n='package' v='javax.jcr.lock'/>
      <p n='version' t='version' v='2.0.0'/>
      <p n='uses:' v='javax.jcr'/>
    </capability>
    <capability name='package'>
      <p n='package' v='javax.jcr.nodetype'/>
      <p n='version' t='version' v='2.0.0'/>
      <p n='uses:' v='javax.jcr'/>
    </capability>
    <capability name='package'>
      <p n='package' v='javax.jcr.observation'/>
      <p n='version' t='version' v='2.0.0'/>
      <p n='uses:' v='javax.jcr'/>
    </capability>
    <capability name='package'>
      <p n='package' v='javax.jcr.query'/>
      <p n='version' t='version' v='2.0.0'/>
      <p n='uses:' v='javax.jcr,javax.jcr.version,javax.jcr.nodetype,javax.jcr.lock,javax.jcr.query.qom'/>
    </capability>
    <capability name='package'>
      <p n='package' v='javax.jcr.query.qom'/>
      <p n='version' t='version' v='2.0.0'/>
      <p n='uses:' v='javax.jcr,javax.jcr.query'/>
    </capability>
    <capability name='package'>
      <p n='package' v='javax.jcr.retention'/>
      <p n='version' t='version' v='2.0.0'/>
      <p n='uses:' v='javax.jcr,javax.jcr.version,javax.jcr.lock'/>
    </capability>
    <capability name='package'>
      <p n='package' v='javax.jcr.security'/>
      <p n='version' t='version' v='2.0.0'/>
      <p n='uses:' v='javax.jcr,javax.jcr.version,javax.jcr.lock'/>
    </capability>
    <capability name='package'>
      <p n='package' v='javax.jcr.util'/>
      <p n='version' t='version' v='2.0.0'/>
      <p n='uses:' v='javax.jcr'/>
    </capability>
    <capability name='package'>
      <p n='package' v='javax.jcr.version'/>
      <p n='version' t='version' v='2.0.0'/>
      <p n='uses:' v='javax.jcr,javax.jcr.nodetype,javax.jcr.lock'/>
    </capability>
    <capability name='package'>
      <p n='package' v='javax.jcr'/>
      <p n='version' t='version' v='1.1.0'/>
    </capability>
    <capability name='package'>
      <p n='package' v='javax.jcr.lock'/>
      <p n='version' t='version' v='1.1.0'/>
    </capability>
    <capability name='package'>
      <p n='package' v='javax.jcr.nodetype'/>
      <p n='version' t='version' v='1.1.0'/>
    </capability>
    <capability name='package'>
      <p n='package' v='javax.jcr.observation'/>
      <p n='version' t='version' v='1.1.0'/>
    </capability>
    <capability name='package'>
      <p n='package' v='javax.jcr.query'/>
      <p n='version' t='version' v='1.1.0'/>
    </capability>
    <capability name='package'>
      <p n='package' v='javax.jcr.query.qom'/>
      <p n='version' t='version' v='1.1.0'/>
    </capability>
    <capability name='package'>
      <p n='package' v='javax.jcr.retention'/>
      <p n='version' t='version' v='1.1.0'/>
    </capability>
    <capability name='package'>
      <p n='package' v='javax.jcr.security'/>
      <p n='version' t='version' v='1.1.0'/>
    </capability>
    <capability name='package'>
      <p n='package' v='javax.jcr.util'/>
      <p n='version' t='version' v='1.1.0'/>
    </capability>
    <capability name='package'>
      <p n='package' v='javax.jcr.version'/>
      <p n='version' t='version' v='1.1.0'/>
    </capability>
    <require name='package' filter='(&amp;(package=org.xml.sax))' extend='false' multiple='false' optional='false'>Import package org.xml.sax</require>
  </resource>
  <resource id='org.apache.sling.xss/1.0.0' symbolicname='org.apache.sling.xss' presentationname='Apache Sling XSS Protection Bundle' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.xss/1.0.0/org.apache.sling.xss-1.0.0.jar' version='1.0.0'>
    <description>Apache Sling XSS Protection Bundle providing XSS protection based on the OWASP AntiSamy and OWASP Java Encoder libraries.</description>
    <size>2731850</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.xss'/>
      <p n='presentationname' v='Apache Sling XSS Protection Bundle'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.xss'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='javax.annotation,org.apache.sling.api,org.apache.sling.api.resource,org.apache.sling.commons.json,org.apache.sling.commons.json.io'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.annotation))' extend='false' multiple='false' optional='false'>Import package javax.annotation</require>
    <require name='package' filter='(&amp;(package=javax.crypto))' extend='false' multiple='false' optional='false'>Import package javax.crypto</require>
    <require name='package' filter='(&amp;(package=javax.crypto.spec))' extend='false' multiple='false' optional='false'>Import package javax.crypto.spec</require>
    <require name='package' filter='(&amp;(package=javax.mail.internet))' extend='false' multiple='false' optional='false'>Import package javax.mail.internet</require>
    <require name='package' filter='(&amp;(package=javax.naming))' extend='false' multiple='false' optional='false'>Import package javax.naming</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=javax.servlet.jsp))' extend='false' multiple='false' optional='false'>Import package javax.servlet.jsp</require>
    <require name='package' filter='(&amp;(package=javax.servlet.jsp.tagext))' extend='false' multiple='false' optional='false'>Import package javax.servlet.jsp.tagext</require>
    <require name='package' filter='(&amp;(package=javax.sql))' extend='false' multiple='false' optional='false'>Import package javax.sql</require>
    <require name='package' filter='(&amp;(package=javax.swing))' extend='false' multiple='false' optional='false'>Import package javax.swing</require>
    <require name='package' filter='(&amp;(package=javax.swing.border))' extend='false' multiple='false' optional='false'>Import package javax.swing.border</require>
    <require name='package' filter='(&amp;(package=javax.swing.event))' extend='false' multiple='false' optional='false'>Import package javax.swing.event</require>
    <require name='package' filter='(&amp;(package=javax.swing.filechooser))' extend='false' multiple='false' optional='false'>Import package javax.swing.filechooser</require>
    <require name='package' filter='(&amp;(package=javax.swing.table))' extend='false' multiple='false' optional='false'>Import package javax.swing.table</require>
    <require name='package' filter='(&amp;(package=javax.swing.text))' extend='false' multiple='false' optional='false'>Import package javax.swing.text</require>
    <require name='package' filter='(&amp;(package=javax.swing.tree))' extend='false' multiple='false' optional='false'>Import package javax.swing.tree</require>
    <require name='package' filter='(&amp;(package=javax.xml.datatype))' extend='false' multiple='false' optional='false'>Import package javax.xml.datatype</require>
    <require name='package' filter='(&amp;(package=javax.xml.namespace))' extend='false' multiple='false' optional='false'>Import package javax.xml.namespace</require>
    <require name='package' filter='(&amp;(package=javax.xml.parsers))' extend='false' multiple='false' optional='false'>Import package javax.xml.parsers</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform.dom))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform.dom</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform.sax))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform.sax</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform.stream))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform.stream</require>
    <require name='package' filter='(&amp;(package=javax.xml.validation))' extend='false' multiple='false' optional='false'>Import package javax.xml.validation</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.codec.binary))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.codec.binary</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections.comparators))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections.comparators</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections.iterators))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections.iterators</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections.keyvalue))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections.keyvalue</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections.list))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections.list</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections.map))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections.map</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections.set))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections.set</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.fileupload))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.fileupload</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.fileupload.disk))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.fileupload.disk</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.fileupload.servlet))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.fileupload.servlet</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.fileupload.util))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.fileupload.util</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.httpclient))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.httpclient</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.httpclient.methods))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.httpclient.methods</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.httpclient.params))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.httpclient.params</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.lang))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.lang</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.lang.exception))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.lang.exception</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.lang.text))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.lang.text</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.logging))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.logging</require>
    <require name='package' filter='(&amp;(package=org.apache.log4j))' extend='false' multiple='false' optional='false'>Import package org.apache.log4j</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.adapter)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.adapter;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json.io)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json.io;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.xss)(version&gt;=1.0.0)(!(version&gt;=1.1.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.xss;version="[1.0,1.1)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.event)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.event;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom.css))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom.css</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom.events))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom.events</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom.html))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom.html</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom.ls))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom.ls</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom.ranges))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom.ranges</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom.traversal))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom.traversal</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom.views))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom.views</require>
    <require name='package' filter='(&amp;(package=org.xml.sax))' extend='false' multiple='false' optional='false'>Import package org.xml.sax</require>
    <require name='package' filter='(&amp;(package=org.xml.sax.ext))' extend='false' multiple='false' optional='false'>Import package org.xml.sax.ext</require>
    <require name='package' filter='(&amp;(package=org.xml.sax.helpers))' extend='false' multiple='false' optional='false'>Import package org.xml.sax.helpers</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.xss/1.0.4' symbolicname='org.apache.sling.xss' presentationname='Apache Sling XSS Protection Bundle' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.xss-1.0.4.jar' version='1.0.4'>
    <description>Apache Sling XSS Protection Bundle providing XSS protection based on the OWASP AntiSamy and OWASP Java Encoder libraries.</description>
    <size>2734103</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.xss'/>
      <p n='presentationname' v='Apache Sling XSS Protection Bundle'/>
      <p n='version' t='version' v='1.0.4'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.xss'/>
      <p n='version' t='version' v='1.1.0'/>
      <p n='uses:' v='javax.annotation,org.apache.sling.api,org.apache.sling.api.resource,org.apache.sling.commons.json,org.apache.sling.commons.json.io'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.annotation))' extend='false' multiple='false' optional='false'>Import package javax.annotation</require>
    <require name='package' filter='(&amp;(package=javax.crypto))' extend='false' multiple='false' optional='false'>Import package javax.crypto</require>
    <require name='package' filter='(&amp;(package=javax.crypto.spec))' extend='false' multiple='false' optional='false'>Import package javax.crypto.spec</require>
    <require name='package' filter='(&amp;(package=javax.mail.internet))' extend='false' multiple='false' optional='false'>Import package javax.mail.internet</require>
    <require name='package' filter='(&amp;(package=javax.naming))' extend='false' multiple='false' optional='false'>Import package javax.naming</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=javax.servlet.jsp))' extend='false' multiple='false' optional='false'>Import package javax.servlet.jsp</require>
    <require name='package' filter='(&amp;(package=javax.servlet.jsp.tagext))' extend='false' multiple='false' optional='false'>Import package javax.servlet.jsp.tagext</require>
    <require name='package' filter='(&amp;(package=javax.sql))' extend='false' multiple='false' optional='false'>Import package javax.sql</require>
    <require name='package' filter='(&amp;(package=javax.swing))' extend='false' multiple='false' optional='false'>Import package javax.swing</require>
    <require name='package' filter='(&amp;(package=javax.swing.border))' extend='false' multiple='false' optional='false'>Import package javax.swing.border</require>
    <require name='package' filter='(&amp;(package=javax.swing.event))' extend='false' multiple='false' optional='false'>Import package javax.swing.event</require>
    <require name='package' filter='(&amp;(package=javax.swing.filechooser))' extend='false' multiple='false' optional='false'>Import package javax.swing.filechooser</require>
    <require name='package' filter='(&amp;(package=javax.swing.table))' extend='false' multiple='false' optional='false'>Import package javax.swing.table</require>
    <require name='package' filter='(&amp;(package=javax.swing.text))' extend='false' multiple='false' optional='false'>Import package javax.swing.text</require>
    <require name='package' filter='(&amp;(package=javax.swing.tree))' extend='false' multiple='false' optional='false'>Import package javax.swing.tree</require>
    <require name='package' filter='(&amp;(package=javax.xml.datatype))' extend='false' multiple='false' optional='false'>Import package javax.xml.datatype</require>
    <require name='package' filter='(&amp;(package=javax.xml.namespace))' extend='false' multiple='false' optional='false'>Import package javax.xml.namespace</require>
    <require name='package' filter='(&amp;(package=javax.xml.parsers))' extend='false' multiple='false' optional='false'>Import package javax.xml.parsers</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform.dom))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform.dom</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform.sax))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform.sax</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform.stream))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform.stream</require>
    <require name='package' filter='(&amp;(package=javax.xml.validation))' extend='false' multiple='false' optional='false'>Import package javax.xml.validation</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.codec.binary))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.codec.binary</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections.comparators))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections.comparators</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections.iterators))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections.iterators</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections.keyvalue))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections.keyvalue</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections.list))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections.list</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections.map))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections.map</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections.set))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections.set</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.fileupload))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.fileupload</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.fileupload.disk))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.fileupload.disk</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.fileupload.servlet))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.fileupload.servlet</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.fileupload.util))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.fileupload.util</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.httpclient))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.httpclient</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.httpclient.methods))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.httpclient.methods</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.httpclient.params))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.httpclient.params</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.lang))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.lang</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.lang.exception))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.lang.exception</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.lang.text))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.lang.text</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.logging))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.logging</require>
    <require name='package' filter='(&amp;(package=org.apache.log4j))' extend='false' multiple='false' optional='false'>Import package org.apache.log4j</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.adapter)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.adapter;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json.io)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json.io;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.xss)(version&gt;=1.1.0)(!(version&gt;=1.2.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.xss;version="[1.1,1.2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.event)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.event;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom.css))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom.css</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom.events))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom.events</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom.html))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom.html</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom.ls))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom.ls</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom.ranges))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom.ranges</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom.traversal))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom.traversal</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom.views))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom.views</require>
    <require name='package' filter='(&amp;(package=org.xml.sax))' extend='false' multiple='false' optional='false'>Import package org.xml.sax</require>
    <require name='package' filter='(&amp;(package=org.xml.sax.ext))' extend='false' multiple='false' optional='false'>Import package org.xml.sax.ext</require>
    <require name='package' filter='(&amp;(package=org.xml.sax.helpers))' extend='false' multiple='false' optional='false'>Import package org.xml.sax.helpers</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.xss/1.0.8' symbolicname='org.apache.sling.xss' presentationname='Apache Sling XSS Protection Bundle' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.xss-1.0.8.jar' version='1.0.8'>
    <description>Apache Sling XSS Protection Bundle providing XSS protection based on the OWASP AntiSamy and OWASP Java Encoder libraries.</description>
    <size>2734104</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.xss'/>
      <p n='presentationname' v='Apache Sling XSS Protection Bundle'/>
      <p n='version' t='version' v='1.0.8'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.xss'/>
      <p n='version' t='version' v='1.1.0'/>
      <p n='uses:' v='javax.annotation,org.apache.sling.api,org.apache.sling.api.resource,org.apache.sling.commons.json,org.apache.sling.commons.json.io'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.annotation))' extend='false' multiple='false' optional='false'>Import package javax.annotation</require>
    <require name='package' filter='(&amp;(package=javax.crypto))' extend='false' multiple='false' optional='false'>Import package javax.crypto</require>
    <require name='package' filter='(&amp;(package=javax.crypto.spec))' extend='false' multiple='false' optional='false'>Import package javax.crypto.spec</require>
    <require name='package' filter='(&amp;(package=javax.mail.internet))' extend='false' multiple='false' optional='false'>Import package javax.mail.internet</require>
    <require name='package' filter='(&amp;(package=javax.naming))' extend='false' multiple='false' optional='false'>Import package javax.naming</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=javax.servlet.jsp))' extend='false' multiple='false' optional='false'>Import package javax.servlet.jsp</require>
    <require name='package' filter='(&amp;(package=javax.servlet.jsp.tagext))' extend='false' multiple='false' optional='false'>Import package javax.servlet.jsp.tagext</require>
    <require name='package' filter='(&amp;(package=javax.sql))' extend='false' multiple='false' optional='false'>Import package javax.sql</require>
    <require name='package' filter='(&amp;(package=javax.swing))' extend='false' multiple='false' optional='false'>Import package javax.swing</require>
    <require name='package' filter='(&amp;(package=javax.swing.border))' extend='false' multiple='false' optional='false'>Import package javax.swing.border</require>
    <require name='package' filter='(&amp;(package=javax.swing.event))' extend='false' multiple='false' optional='false'>Import package javax.swing.event</require>
    <require name='package' filter='(&amp;(package=javax.swing.filechooser))' extend='false' multiple='false' optional='false'>Import package javax.swing.filechooser</require>
    <require name='package' filter='(&amp;(package=javax.swing.table))' extend='false' multiple='false' optional='false'>Import package javax.swing.table</require>
    <require name='package' filter='(&amp;(package=javax.swing.text))' extend='false' multiple='false' optional='false'>Import package javax.swing.text</require>
    <require name='package' filter='(&amp;(package=javax.swing.tree))' extend='false' multiple='false' optional='false'>Import package javax.swing.tree</require>
    <require name='package' filter='(&amp;(package=javax.xml.datatype))' extend='false' multiple='false' optional='false'>Import package javax.xml.datatype</require>
    <require name='package' filter='(&amp;(package=javax.xml.namespace))' extend='false' multiple='false' optional='false'>Import package javax.xml.namespace</require>
    <require name='package' filter='(&amp;(package=javax.xml.parsers))' extend='false' multiple='false' optional='false'>Import package javax.xml.parsers</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform.dom))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform.dom</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform.sax))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform.sax</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform.stream))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform.stream</require>
    <require name='package' filter='(&amp;(package=javax.xml.validation))' extend='false' multiple='false' optional='false'>Import package javax.xml.validation</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.codec.binary))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.codec.binary</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections.comparators))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections.comparators</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections.iterators))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections.iterators</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections.keyvalue))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections.keyvalue</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections.list))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections.list</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections.map))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections.map</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections.set))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections.set</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.fileupload))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.fileupload</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.fileupload.disk))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.fileupload.disk</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.fileupload.servlet))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.fileupload.servlet</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.fileupload.util))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.fileupload.util</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.httpclient))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.httpclient</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.httpclient.methods))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.httpclient.methods</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.httpclient.params))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.httpclient.params</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.lang))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.lang</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.lang.exception))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.lang.exception</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.lang.text))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.lang.text</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.logging))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.logging</require>
    <require name='package' filter='(&amp;(package=org.apache.log4j))' extend='false' multiple='false' optional='false'>Import package org.apache.log4j</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.adapter)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.adapter;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json.io)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json.io;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.xss)(version&gt;=1.1.0)(!(version&gt;=1.2.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.xss;version="[1.1,1.2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.event)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.event;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom.css))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom.css</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom.events))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom.events</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom.html))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom.html</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom.ls))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom.ls</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom.ranges))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom.ranges</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom.traversal))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom.traversal</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom.views))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom.views</require>
    <require name='package' filter='(&amp;(package=org.xml.sax))' extend='false' multiple='false' optional='false'>Import package org.xml.sax</require>
    <require name='package' filter='(&amp;(package=org.xml.sax.ext))' extend='false' multiple='false' optional='false'>Import package org.xml.sax.ext</require>
    <require name='package' filter='(&amp;(package=org.xml.sax.helpers))' extend='false' multiple='false' optional='false'>Import package org.xml.sax.helpers</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.xss/1.0.12' symbolicname='org.apache.sling.xss' presentationname='Apache Sling XSS Protection Bundle' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.xss-1.0.12.jar' version='1.0.12'>
    <description>Apache Sling XSS Protection Bundle providing XSS protection based on the OWASP AntiSamy and OWASP Java Encoder libraries.</description>
    <size>2734667</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.xss'/>
      <p n='presentationname' v='Apache Sling XSS Protection Bundle'/>
      <p n='version' t='version' v='1.0.12'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.xss'/>
      <p n='version' t='version' v='1.2.0'/>
      <p n='uses:' v='javax.annotation,org.apache.sling.api,org.apache.sling.api.resource,org.apache.sling.commons.json,org.apache.sling.commons.json.io'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.annotation))' extend='false' multiple='false' optional='false'>Import package javax.annotation</require>
    <require name='package' filter='(&amp;(package=javax.crypto))' extend='false' multiple='false' optional='false'>Import package javax.crypto</require>
    <require name='package' filter='(&amp;(package=javax.crypto.spec))' extend='false' multiple='false' optional='false'>Import package javax.crypto.spec</require>
    <require name='package' filter='(&amp;(package=javax.mail.internet))' extend='false' multiple='false' optional='false'>Import package javax.mail.internet</require>
    <require name='package' filter='(&amp;(package=javax.naming))' extend='false' multiple='false' optional='false'>Import package javax.naming</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=javax.servlet.jsp))' extend='false' multiple='false' optional='false'>Import package javax.servlet.jsp</require>
    <require name='package' filter='(&amp;(package=javax.servlet.jsp.tagext))' extend='false' multiple='false' optional='false'>Import package javax.servlet.jsp.tagext</require>
    <require name='package' filter='(&amp;(package=javax.sql))' extend='false' multiple='false' optional='false'>Import package javax.sql</require>
    <require name='package' filter='(&amp;(package=javax.swing))' extend='false' multiple='false' optional='false'>Import package javax.swing</require>
    <require name='package' filter='(&amp;(package=javax.swing.border))' extend='false' multiple='false' optional='false'>Import package javax.swing.border</require>
    <require name='package' filter='(&amp;(package=javax.swing.event))' extend='false' multiple='false' optional='false'>Import package javax.swing.event</require>
    <require name='package' filter='(&amp;(package=javax.swing.filechooser))' extend='false' multiple='false' optional='false'>Import package javax.swing.filechooser</require>
    <require name='package' filter='(&amp;(package=javax.swing.table))' extend='false' multiple='false' optional='false'>Import package javax.swing.table</require>
    <require name='package' filter='(&amp;(package=javax.swing.text))' extend='false' multiple='false' optional='false'>Import package javax.swing.text</require>
    <require name='package' filter='(&amp;(package=javax.swing.tree))' extend='false' multiple='false' optional='false'>Import package javax.swing.tree</require>
    <require name='package' filter='(&amp;(package=javax.xml.datatype))' extend='false' multiple='false' optional='false'>Import package javax.xml.datatype</require>
    <require name='package' filter='(&amp;(package=javax.xml.namespace))' extend='false' multiple='false' optional='false'>Import package javax.xml.namespace</require>
    <require name='package' filter='(&amp;(package=javax.xml.parsers))' extend='false' multiple='false' optional='false'>Import package javax.xml.parsers</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform.dom))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform.dom</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform.sax))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform.sax</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform.stream))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform.stream</require>
    <require name='package' filter='(&amp;(package=javax.xml.validation))' extend='false' multiple='false' optional='false'>Import package javax.xml.validation</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.codec.binary))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.codec.binary</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections.comparators))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections.comparators</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections.iterators))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections.iterators</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections.keyvalue))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections.keyvalue</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections.list))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections.list</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections.map))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections.map</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections.set))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections.set</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.fileupload))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.fileupload</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.fileupload.disk))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.fileupload.disk</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.fileupload.servlet))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.fileupload.servlet</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.fileupload.util))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.fileupload.util</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.httpclient))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.httpclient</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.httpclient.methods))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.httpclient.methods</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.httpclient.params))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.httpclient.params</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.lang))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.lang</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.lang.exception))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.lang.exception</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.lang.text))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.lang.text</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.logging))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.logging</require>
    <require name='package' filter='(&amp;(package=org.apache.log4j))' extend='false' multiple='false' optional='false'>Import package org.apache.log4j</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.adapter)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.adapter;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json.io)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json.io;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.xss)(version&gt;=1.2.0)(!(version&gt;=1.3.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.xss;version="[1.2,1.3)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.event)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.event;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom.css))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom.css</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom.events))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom.events</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom.html))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom.html</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom.ls))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom.ls</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom.ranges))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom.ranges</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom.traversal))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom.traversal</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom.views))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom.views</require>
    <require name='package' filter='(&amp;(package=org.xml.sax))' extend='false' multiple='false' optional='false'>Import package org.xml.sax</require>
    <require name='package' filter='(&amp;(package=org.xml.sax.ext))' extend='false' multiple='false' optional='false'>Import package org.xml.sax.ext</require>
    <require name='package' filter='(&amp;(package=org.xml.sax.helpers))' extend='false' multiple='false' optional='false'>Import package org.xml.sax.helpers</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.xss/1.0.16' symbolicname='org.apache.sling.xss' presentationname='Apache Sling XSS Protection Bundle' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.xss-1.0.16.jar' version='1.0.16'>
    <description>Apache Sling XSS Protection Bundle providing XSS protection based on the OWASP AntiSamy and OWASP Java Encoder libraries.</description>
    <size>2737040</size>
    <documentation>http://sling.apache.org</documentation>
    <license>https://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.xss'/>
      <p n='presentationname' v='Apache Sling XSS Protection Bundle'/>
      <p n='version' t='version' v='1.0.16'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.xss'/>
      <p n='version' t='version' v='1.2.0'/>
      <p n='uses:' v='javax.annotation,org.apache.sling.api,org.apache.sling.api.resource,org.apache.sling.commons.json,org.apache.sling.commons.json.io'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.annotation))' extend='false' multiple='false' optional='false'>Import package javax.annotation</require>
    <require name='package' filter='(&amp;(package=javax.crypto))' extend='false' multiple='false' optional='false'>Import package javax.crypto</require>
    <require name='package' filter='(&amp;(package=javax.crypto.spec))' extend='false' multiple='false' optional='false'>Import package javax.crypto.spec</require>
    <require name='package' filter='(&amp;(package=javax.mail.internet))' extend='false' multiple='false' optional='false'>Import package javax.mail.internet</require>
    <require name='package' filter='(&amp;(package=javax.naming))' extend='false' multiple='false' optional='false'>Import package javax.naming</require>
    <require name='package' filter='(&amp;(package=javax.servlet)(version&gt;=3.1.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.servlet;version="[3.1,4)"</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http)(version&gt;=3.1.0)(!(version&gt;=4.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http;version="[3.1,4)"</require>
    <require name='package' filter='(&amp;(package=javax.servlet.jsp))' extend='false' multiple='false' optional='false'>Import package javax.servlet.jsp</require>
    <require name='package' filter='(&amp;(package=javax.servlet.jsp.tagext))' extend='false' multiple='false' optional='false'>Import package javax.servlet.jsp.tagext</require>
    <require name='package' filter='(&amp;(package=javax.sql))' extend='false' multiple='false' optional='false'>Import package javax.sql</require>
    <require name='package' filter='(&amp;(package=javax.swing))' extend='false' multiple='false' optional='false'>Import package javax.swing</require>
    <require name='package' filter='(&amp;(package=javax.swing.border))' extend='false' multiple='false' optional='false'>Import package javax.swing.border</require>
    <require name='package' filter='(&amp;(package=javax.swing.event))' extend='false' multiple='false' optional='false'>Import package javax.swing.event</require>
    <require name='package' filter='(&amp;(package=javax.swing.filechooser))' extend='false' multiple='false' optional='false'>Import package javax.swing.filechooser</require>
    <require name='package' filter='(&amp;(package=javax.swing.table))' extend='false' multiple='false' optional='false'>Import package javax.swing.table</require>
    <require name='package' filter='(&amp;(package=javax.swing.text))' extend='false' multiple='false' optional='false'>Import package javax.swing.text</require>
    <require name='package' filter='(&amp;(package=javax.swing.tree))' extend='false' multiple='false' optional='false'>Import package javax.swing.tree</require>
    <require name='package' filter='(&amp;(package=javax.xml.datatype))' extend='false' multiple='false' optional='false'>Import package javax.xml.datatype</require>
    <require name='package' filter='(&amp;(package=javax.xml.namespace))' extend='false' multiple='false' optional='false'>Import package javax.xml.namespace</require>
    <require name='package' filter='(&amp;(package=javax.xml.parsers))' extend='false' multiple='false' optional='false'>Import package javax.xml.parsers</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform.dom))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform.dom</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform.sax))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform.sax</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform.stream))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform.stream</require>
    <require name='package' filter='(&amp;(package=javax.xml.validation))' extend='false' multiple='false' optional='false'>Import package javax.xml.validation</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.codec.binary))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.codec.binary</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections.comparators))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections.comparators</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections.iterators))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections.iterators</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections.keyvalue))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections.keyvalue</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections.list))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections.list</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections.map))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections.map</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections.set))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections.set</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.fileupload))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.fileupload</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.fileupload.disk))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.fileupload.disk</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.fileupload.servlet))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.fileupload.servlet</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.fileupload.util))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.fileupload.util</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.httpclient))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.httpclient</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.httpclient.methods))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.httpclient.methods</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.httpclient.params))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.httpclient.params</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.lang))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.lang</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.lang.exception))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.lang.exception</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.lang.text))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.lang.text</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.logging))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.logging</require>
    <require name='package' filter='(&amp;(package=org.apache.log4j))' extend='false' multiple='false' optional='false'>Import package org.apache.log4j</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.3.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api;version="[2.3,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.adapter)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.adapter;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.9.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.9,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource.observation)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource.observation;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json.io)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json.io;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.xss)(version&gt;=1.2.0)(!(version&gt;=1.3.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.xss;version="[1.2,1.3)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.7.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.7,2)"</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom.css))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom.css</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom.events))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom.events</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom.html))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom.html</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom.ls))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom.ls</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom.ranges))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom.ranges</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom.traversal))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom.traversal</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom.views))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom.views</require>
    <require name='package' filter='(&amp;(package=org.xml.sax))' extend='false' multiple='false' optional='false'>Import package org.xml.sax</require>
    <require name='package' filter='(&amp;(package=org.xml.sax.ext))' extend='false' multiple='false' optional='false'>Import package org.xml.sax.ext</require>
    <require name='package' filter='(&amp;(package=org.xml.sax.helpers))' extend='false' multiple='false' optional='false'>Import package org.xml.sax.helpers</require>
    <require name='ee' filter='(|(ee=JavaSE-1.7))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.7))</require>
  </resource>
  <resource id='org.apache.sling.xss/1.0.2' symbolicname='org.apache.sling.xss' presentationname='Apache Sling XSS Protection Bundle' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.xss/1.0.2/org.apache.sling.xss-1.0.2.jar' version='1.0.2'>
    <description>Apache Sling XSS Protection Bundle providing XSS protection based on the OWASP AntiSamy and OWASP Java Encoder libraries.</description>
    <size>2732195</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.xss'/>
      <p n='presentationname' v='Apache Sling XSS Protection Bundle'/>
      <p n='version' t='version' v='1.0.2'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.xss'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='javax.annotation,org.apache.sling.api,org.apache.sling.api.resource,org.apache.sling.commons.json,org.apache.sling.commons.json.io'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.annotation))' extend='false' multiple='false' optional='false'>Import package javax.annotation</require>
    <require name='package' filter='(&amp;(package=javax.crypto))' extend='false' multiple='false' optional='false'>Import package javax.crypto</require>
    <require name='package' filter='(&amp;(package=javax.crypto.spec))' extend='false' multiple='false' optional='false'>Import package javax.crypto.spec</require>
    <require name='package' filter='(&amp;(package=javax.mail.internet))' extend='false' multiple='false' optional='false'>Import package javax.mail.internet</require>
    <require name='package' filter='(&amp;(package=javax.naming))' extend='false' multiple='false' optional='false'>Import package javax.naming</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=javax.servlet.jsp))' extend='false' multiple='false' optional='false'>Import package javax.servlet.jsp</require>
    <require name='package' filter='(&amp;(package=javax.servlet.jsp.tagext))' extend='false' multiple='false' optional='false'>Import package javax.servlet.jsp.tagext</require>
    <require name='package' filter='(&amp;(package=javax.sql))' extend='false' multiple='false' optional='false'>Import package javax.sql</require>
    <require name='package' filter='(&amp;(package=javax.swing))' extend='false' multiple='false' optional='false'>Import package javax.swing</require>
    <require name='package' filter='(&amp;(package=javax.swing.border))' extend='false' multiple='false' optional='false'>Import package javax.swing.border</require>
    <require name='package' filter='(&amp;(package=javax.swing.event))' extend='false' multiple='false' optional='false'>Import package javax.swing.event</require>
    <require name='package' filter='(&amp;(package=javax.swing.filechooser))' extend='false' multiple='false' optional='false'>Import package javax.swing.filechooser</require>
    <require name='package' filter='(&amp;(package=javax.swing.table))' extend='false' multiple='false' optional='false'>Import package javax.swing.table</require>
    <require name='package' filter='(&amp;(package=javax.swing.text))' extend='false' multiple='false' optional='false'>Import package javax.swing.text</require>
    <require name='package' filter='(&amp;(package=javax.swing.tree))' extend='false' multiple='false' optional='false'>Import package javax.swing.tree</require>
    <require name='package' filter='(&amp;(package=javax.xml.datatype))' extend='false' multiple='false' optional='false'>Import package javax.xml.datatype</require>
    <require name='package' filter='(&amp;(package=javax.xml.namespace))' extend='false' multiple='false' optional='false'>Import package javax.xml.namespace</require>
    <require name='package' filter='(&amp;(package=javax.xml.parsers))' extend='false' multiple='false' optional='false'>Import package javax.xml.parsers</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform.dom))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform.dom</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform.sax))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform.sax</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform.stream))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform.stream</require>
    <require name='package' filter='(&amp;(package=javax.xml.validation))' extend='false' multiple='false' optional='false'>Import package javax.xml.validation</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.codec.binary))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.codec.binary</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections.comparators))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections.comparators</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections.iterators))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections.iterators</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections.keyvalue))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections.keyvalue</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections.list))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections.list</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections.map))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections.map</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections.set))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections.set</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.fileupload))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.fileupload</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.fileupload.disk))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.fileupload.disk</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.fileupload.servlet))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.fileupload.servlet</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.fileupload.util))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.fileupload.util</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.httpclient))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.httpclient</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.httpclient.methods))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.httpclient.methods</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.httpclient.params))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.httpclient.params</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.lang))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.lang</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.lang.exception))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.lang.exception</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.lang.text))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.lang.text</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.logging))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.logging</require>
    <require name='package' filter='(&amp;(package=org.apache.log4j))' extend='false' multiple='false' optional='false'>Import package org.apache.log4j</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.adapter)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.adapter;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json.io)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json.io;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.xss)(version&gt;=1.0.0)(!(version&gt;=1.1.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.xss;version="[1.0,1.1)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.event)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.event;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom.css))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom.css</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom.events))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom.events</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom.html))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom.html</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom.ls))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom.ls</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom.ranges))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom.ranges</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom.traversal))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom.traversal</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom.views))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom.views</require>
    <require name='package' filter='(&amp;(package=org.xml.sax))' extend='false' multiple='false' optional='false'>Import package org.xml.sax</require>
    <require name='package' filter='(&amp;(package=org.xml.sax.ext))' extend='false' multiple='false' optional='false'>Import package org.xml.sax.ext</require>
    <require name='package' filter='(&amp;(package=org.xml.sax.helpers))' extend='false' multiple='false' optional='false'>Import package org.xml.sax.helpers</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.xss/1.0.6' symbolicname='org.apache.sling.xss' presentationname='Apache Sling XSS Protection Bundle' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.xss-1.0.6.jar' version='1.0.6'>
    <description>Apache Sling XSS Protection Bundle providing XSS protection based on the OWASP AntiSamy and OWASP Java Encoder libraries.</description>
    <size>2734098</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.xss'/>
      <p n='presentationname' v='Apache Sling XSS Protection Bundle'/>
      <p n='version' t='version' v='1.0.6'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.xss'/>
      <p n='version' t='version' v='1.1.0'/>
      <p n='uses:' v='javax.annotation,org.apache.sling.api,org.apache.sling.api.resource,org.apache.sling.commons.json,org.apache.sling.commons.json.io'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.annotation))' extend='false' multiple='false' optional='false'>Import package javax.annotation</require>
    <require name='package' filter='(&amp;(package=javax.crypto))' extend='false' multiple='false' optional='false'>Import package javax.crypto</require>
    <require name='package' filter='(&amp;(package=javax.crypto.spec))' extend='false' multiple='false' optional='false'>Import package javax.crypto.spec</require>
    <require name='package' filter='(&amp;(package=javax.mail.internet))' extend='false' multiple='false' optional='false'>Import package javax.mail.internet</require>
    <require name='package' filter='(&amp;(package=javax.naming))' extend='false' multiple='false' optional='false'>Import package javax.naming</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=javax.servlet.jsp))' extend='false' multiple='false' optional='false'>Import package javax.servlet.jsp</require>
    <require name='package' filter='(&amp;(package=javax.servlet.jsp.tagext))' extend='false' multiple='false' optional='false'>Import package javax.servlet.jsp.tagext</require>
    <require name='package' filter='(&amp;(package=javax.sql))' extend='false' multiple='false' optional='false'>Import package javax.sql</require>
    <require name='package' filter='(&amp;(package=javax.swing))' extend='false' multiple='false' optional='false'>Import package javax.swing</require>
    <require name='package' filter='(&amp;(package=javax.swing.border))' extend='false' multiple='false' optional='false'>Import package javax.swing.border</require>
    <require name='package' filter='(&amp;(package=javax.swing.event))' extend='false' multiple='false' optional='false'>Import package javax.swing.event</require>
    <require name='package' filter='(&amp;(package=javax.swing.filechooser))' extend='false' multiple='false' optional='false'>Import package javax.swing.filechooser</require>
    <require name='package' filter='(&amp;(package=javax.swing.table))' extend='false' multiple='false' optional='false'>Import package javax.swing.table</require>
    <require name='package' filter='(&amp;(package=javax.swing.text))' extend='false' multiple='false' optional='false'>Import package javax.swing.text</require>
    <require name='package' filter='(&amp;(package=javax.swing.tree))' extend='false' multiple='false' optional='false'>Import package javax.swing.tree</require>
    <require name='package' filter='(&amp;(package=javax.xml.datatype))' extend='false' multiple='false' optional='false'>Import package javax.xml.datatype</require>
    <require name='package' filter='(&amp;(package=javax.xml.namespace))' extend='false' multiple='false' optional='false'>Import package javax.xml.namespace</require>
    <require name='package' filter='(&amp;(package=javax.xml.parsers))' extend='false' multiple='false' optional='false'>Import package javax.xml.parsers</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform.dom))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform.dom</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform.sax))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform.sax</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform.stream))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform.stream</require>
    <require name='package' filter='(&amp;(package=javax.xml.validation))' extend='false' multiple='false' optional='false'>Import package javax.xml.validation</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.codec.binary))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.codec.binary</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections.comparators))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections.comparators</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections.iterators))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections.iterators</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections.keyvalue))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections.keyvalue</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections.list))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections.list</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections.map))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections.map</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections.set))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections.set</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.fileupload))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.fileupload</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.fileupload.disk))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.fileupload.disk</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.fileupload.servlet))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.fileupload.servlet</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.fileupload.util))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.fileupload.util</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.httpclient))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.httpclient</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.httpclient.methods))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.httpclient.methods</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.httpclient.params))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.httpclient.params</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.lang))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.lang</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.lang.exception))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.lang.exception</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.lang.text))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.lang.text</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.logging))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.logging</require>
    <require name='package' filter='(&amp;(package=org.apache.log4j))' extend='false' multiple='false' optional='false'>Import package org.apache.log4j</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.adapter)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.adapter;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json.io)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json.io;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.xss)(version&gt;=1.1.0)(!(version&gt;=1.2.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.xss;version="[1.1,1.2)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.event)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.event;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom.css))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom.css</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom.events))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom.events</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom.html))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom.html</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom.ls))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom.ls</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom.ranges))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom.ranges</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom.traversal))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom.traversal</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom.views))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom.views</require>
    <require name='package' filter='(&amp;(package=org.xml.sax))' extend='false' multiple='false' optional='false'>Import package org.xml.sax</require>
    <require name='package' filter='(&amp;(package=org.xml.sax.ext))' extend='false' multiple='false' optional='false'>Import package org.xml.sax.ext</require>
    <require name='package' filter='(&amp;(package=org.xml.sax.helpers))' extend='false' multiple='false' optional='false'>Import package org.xml.sax.helpers</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.xss/1.0.14' symbolicname='org.apache.sling.xss' presentationname='Apache Sling XSS Protection Bundle' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.xss-1.0.14.jar' version='1.0.14'>
    <description>Apache Sling XSS Protection Bundle providing XSS protection based on the OWASP AntiSamy and OWASP Java Encoder libraries.</description>
    <size>2735516</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.xss'/>
      <p n='presentationname' v='Apache Sling XSS Protection Bundle'/>
      <p n='version' t='version' v='1.0.14'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.xss'/>
      <p n='version' t='version' v='1.2.0'/>
      <p n='uses:' v='javax.annotation,org.apache.sling.api,org.apache.sling.api.resource,org.apache.sling.commons.json,org.apache.sling.commons.json.io'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.annotation))' extend='false' multiple='false' optional='false'>Import package javax.annotation</require>
    <require name='package' filter='(&amp;(package=javax.crypto))' extend='false' multiple='false' optional='false'>Import package javax.crypto</require>
    <require name='package' filter='(&amp;(package=javax.crypto.spec))' extend='false' multiple='false' optional='false'>Import package javax.crypto.spec</require>
    <require name='package' filter='(&amp;(package=javax.mail.internet))' extend='false' multiple='false' optional='false'>Import package javax.mail.internet</require>
    <require name='package' filter='(&amp;(package=javax.naming))' extend='false' multiple='false' optional='false'>Import package javax.naming</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=javax.servlet.jsp))' extend='false' multiple='false' optional='false'>Import package javax.servlet.jsp</require>
    <require name='package' filter='(&amp;(package=javax.servlet.jsp.tagext))' extend='false' multiple='false' optional='false'>Import package javax.servlet.jsp.tagext</require>
    <require name='package' filter='(&amp;(package=javax.sql))' extend='false' multiple='false' optional='false'>Import package javax.sql</require>
    <require name='package' filter='(&amp;(package=javax.swing))' extend='false' multiple='false' optional='false'>Import package javax.swing</require>
    <require name='package' filter='(&amp;(package=javax.swing.border))' extend='false' multiple='false' optional='false'>Import package javax.swing.border</require>
    <require name='package' filter='(&amp;(package=javax.swing.event))' extend='false' multiple='false' optional='false'>Import package javax.swing.event</require>
    <require name='package' filter='(&amp;(package=javax.swing.filechooser))' extend='false' multiple='false' optional='false'>Import package javax.swing.filechooser</require>
    <require name='package' filter='(&amp;(package=javax.swing.table))' extend='false' multiple='false' optional='false'>Import package javax.swing.table</require>
    <require name='package' filter='(&amp;(package=javax.swing.text))' extend='false' multiple='false' optional='false'>Import package javax.swing.text</require>
    <require name='package' filter='(&amp;(package=javax.swing.tree))' extend='false' multiple='false' optional='false'>Import package javax.swing.tree</require>
    <require name='package' filter='(&amp;(package=javax.xml.datatype))' extend='false' multiple='false' optional='false'>Import package javax.xml.datatype</require>
    <require name='package' filter='(&amp;(package=javax.xml.namespace))' extend='false' multiple='false' optional='false'>Import package javax.xml.namespace</require>
    <require name='package' filter='(&amp;(package=javax.xml.parsers))' extend='false' multiple='false' optional='false'>Import package javax.xml.parsers</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform.dom))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform.dom</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform.sax))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform.sax</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform.stream))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform.stream</require>
    <require name='package' filter='(&amp;(package=javax.xml.validation))' extend='false' multiple='false' optional='false'>Import package javax.xml.validation</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.codec.binary))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.codec.binary</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections.comparators))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections.comparators</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections.iterators))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections.iterators</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections.keyvalue))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections.keyvalue</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections.list))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections.list</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections.map))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections.map</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections.set))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections.set</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.fileupload))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.fileupload</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.fileupload.disk))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.fileupload.disk</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.fileupload.servlet))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.fileupload.servlet</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.fileupload.util))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.fileupload.util</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.httpclient))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.httpclient</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.httpclient.methods))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.httpclient.methods</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.httpclient.params))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.httpclient.params</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.lang))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.lang</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.lang.exception))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.lang.exception</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.lang.text))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.lang.text</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.logging))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.logging</require>
    <require name='package' filter='(&amp;(package=org.apache.log4j))' extend='false' multiple='false' optional='false'>Import package org.apache.log4j</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.adapter)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.adapter;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json.io)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json.io;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.xss)(version&gt;=1.2.0)(!(version&gt;=1.3.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.xss;version="[1.2,1.3)"</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.event)(version&gt;=1.1.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.event;version="[1.1,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom.css))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom.css</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom.events))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom.events</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom.html))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom.html</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom.ls))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom.ls</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom.ranges))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom.ranges</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom.traversal))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom.traversal</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom.views))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom.views</require>
    <require name='package' filter='(&amp;(package=org.xml.sax))' extend='false' multiple='false' optional='false'>Import package org.xml.sax</require>
    <require name='package' filter='(&amp;(package=org.xml.sax.ext))' extend='false' multiple='false' optional='false'>Import package org.xml.sax.ext</require>
    <require name='package' filter='(&amp;(package=org.xml.sax.helpers))' extend='false' multiple='false' optional='false'>Import package org.xml.sax.helpers</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.hapi.client/1.0.0' symbolicname='org.apache.sling.hapi.client' presentationname='HApi - Sling Hypermedia API client-side tools' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.hapi.client/1.0.0/org.apache.sling.hapi.client-1.0.0.jar' version='1.0.0'>
    <description>Sling client-side tools for HApi</description>
    <size>320894</size>
    <documentation>http://sling.apache.org</documentation>
    <license>https://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.hapi.client'/>
      <p n='presentationname' v='HApi - Sling Hypermedia API client-side tools'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.hapi.client'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='org.apache.http,org.apache.http.impl.client'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.net.ssl))' extend='false' multiple='false' optional='false'>Import package javax.net.ssl</require>
    <require name='package' filter='(&amp;(package=javax.xml.parsers))' extend='false' multiple='false' optional='false'>Import package javax.xml.parsers</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform.dom))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform.dom</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform.stream))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform.stream</require>
    <require name='package' filter='(&amp;(package=org.apache.http))' extend='false' multiple='false' optional='false'>Import package org.apache.http</require>
    <require name='package' filter='(&amp;(package=org.apache.http.auth))' extend='false' multiple='false' optional='false'>Import package org.apache.http.auth</require>
    <require name='package' filter='(&amp;(package=org.apache.http.client))' extend='false' multiple='false' optional='false'>Import package org.apache.http.client</require>
    <require name='package' filter='(&amp;(package=org.apache.http.client.entity))' extend='false' multiple='false' optional='false'>Import package org.apache.http.client.entity</require>
    <require name='package' filter='(&amp;(package=org.apache.http.client.methods))' extend='false' multiple='false' optional='false'>Import package org.apache.http.client.methods</require>
    <require name='package' filter='(&amp;(package=org.apache.http.client.utils))' extend='false' multiple='false' optional='false'>Import package org.apache.http.client.utils</require>
    <require name='package' filter='(&amp;(package=org.apache.http.conn))' extend='false' multiple='false' optional='false'>Import package org.apache.http.conn</require>
    <require name='package' filter='(&amp;(package=org.apache.http.entity.mime))' extend='false' multiple='false' optional='false'>Import package org.apache.http.entity.mime</require>
    <require name='package' filter='(&amp;(package=org.apache.http.impl.client))' extend='false' multiple='false' optional='false'>Import package org.apache.http.impl.client</require>
    <require name='package' filter='(&amp;(package=org.apache.http.message))' extend='false' multiple='false' optional='false'>Import package org.apache.http.message</require>
    <require name='package' filter='(&amp;(package=org.apache.http.params))' extend='false' multiple='false' optional='false'>Import package org.apache.http.params</require>
    <require name='package' filter='(&amp;(package=org.apache.http.protocol))' extend='false' multiple='false' optional='false'>Import package org.apache.http.protocol</require>
    <require name='package' filter='(&amp;(package=org.apache.http.util))' extend='false' multiple='false' optional='false'>Import package org.apache.http.util</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.hapi.client)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.hapi.client;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.7.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.7,2)"</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.hapi/1.0.0' symbolicname='org.apache.sling.hapi' presentationname='HApi - Sling Hypermedia API tools' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.hapi/1.0.0/org.apache.sling.hapi-1.0.0.jar' version='1.0.0'>
    <description>Sling tools for adding support for defining, maintaining and consuming a Hypermedia API in sling components</description>
    <size>33759</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.hapi'/>
      <p n='presentationname' v='HApi - Sling Hypermedia API tools'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.hapi'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='javax.jcr,org.apache.sling.api.resource'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.hapi.sightly'/>
      <p n='version' t='version' v='1.0.0'/>
      <p n='uses:' v='javax.script,org.apache.sling.hapi,org.apache.sling.scripting.sightly.pojo'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.jcr.query)(version&gt;=2.0.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package javax.jcr.query;version="[2.0,3)"</require>
    <require name='package' filter='(&amp;(package=javax.script))' extend='false' multiple='false' optional='false'>Import package javax.script</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.scripting)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.scripting;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.hapi)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.hapi;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.sightly.pojo)(version&gt;=1.0.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.sightly.pojo;version="[1.0,2)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
  <resource id='org.apache.sling.adapter/2.0.2.incubator' symbolicname='org.apache.sling.adapter' presentationname='Sling - AdapterManager implementation' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.adapter/2.0.2.incubator/org.apache.sling.adapter-2.0.2.incubator.jar' version='2.0.2.incubator'>
    <description>Bundle implementing the AdapterManager and provides a convenience        implementation of the Adaptable interface to make use of this        AdapterManager.</description>
    <size>17074</size>
    <documentation>http://incubator.apache.org/sling</documentation>
    <source>http://people.apache.org/repo/m2-incubating-repository/org/apache/sling/org.apache.sling.adapter/2.0.2-incubator/org.apache.sling.adapter-2.0.2-incubator-sources.jar</source>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='org.apache.sling'/>
    <capability name='bundle'>
      <p n='manifestversion' v='2'/>
      <p n='presentationname' v='Sling - AdapterManager implementation'/>
      <p n='symbolicname' v='org.apache.sling.adapter'/>
      <p n='version' t='version' v='2.0.2.incubator'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.adapter'/>
      <p n='uses:' v='org.apache.sling.api.adapter'/>
      <p n='version' t='version' v='2.0.2.incubator'/>
    </capability>
    <require name='package' filter='(&amp;(package=org.apache.sling.adapter)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.adapter ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.adapter)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.adapter ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.log))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.log</require>
  </resource>
  <resource id='org.apache.sling.extensions.apt.parser/2.0.2.incubator' symbolicname='org.apache.sling.extensions.apt.parser' presentationname='Sling - APT parser' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.extensions.apt.parser/2.0.2.incubator/org.apache.sling.extensions.apt.parser-2.0.2.incubator.jar' version='2.0.2.incubator'>
    <description>Parser for the Sling variant of the APT (Almost Plain Text)     	structured text format.</description>
    <size>307183</size>
    <documentation>http://incubator.apache.org/sling</documentation>
    <source>http://people.apache.org/repo/m2-incubating-repository/org/apache/sling/org.apache.sling.extensions.apt.parser/2.0.2-incubator/org.apache.sling.extensions.apt.parser-2.0.2-incubator-sources.jar</source>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='org.apache.sling'/>
    <capability name='bundle'>
      <p n='manifestversion' v='2'/>
      <p n='presentationname' v='Sling - APT parser'/>
      <p n='symbolicname' v='org.apache.sling.extensions.apt.parser'/>
      <p n='version' t='version' v='2.0.2.incubator'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.apt.parser'/>
      <p n='version' t='version' v='2.0.2.incubator'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.swing.text))' extend='false' multiple='false' optional='false'>Import package javax.swing.text</require>
    <require name='package' filter='(&amp;(package=javax.swing.text.html))' extend='false' multiple='false' optional='false'>Import package javax.swing.text.html</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.apt.parser)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.apt.parser ;version=2.0.2.incubator</require>
  </resource>
  <resource id='org.apache.sling.extensions.apt.servlet/2.0.2.incubator' symbolicname='org.apache.sling.extensions.apt.servlet' presentationname='Sling - APT servlet' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.extensions.apt.servlet/2.0.2.incubator/org.apache.sling.extensions.apt.servlet-2.0.2.incubator.jar' version='2.0.2.incubator'>
    <description>Servlet for *.apt requests, uses the apt-parser to convert *.apt files to HTML.</description>
    <size>11301</size>
    <documentation>http://incubator.apache.org/sling</documentation>
    <source>http://people.apache.org/repo/m2-incubating-repository/org/apache/sling/org.apache.sling.extensions.apt.servlet/2.0.2-incubator/org.apache.sling.extensions.apt.servlet-2.0.2-incubator-sources.jar</source>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='org.apache.sling'/>
    <capability name='bundle'>
      <p n='manifestversion' v='2'/>
      <p n='presentationname' v='Sling - APT servlet'/>
      <p n='symbolicname' v='org.apache.sling.extensions.apt.servlet'/>
      <p n='version' t='version' v='2.0.2.incubator'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.apt.servlet'/>
      <p n='uses:' v='org.apache.sling.api.servlets,javax.servlet,org.apache.sling.apt.parser,org.apache.sling.api,org.apache.sling.api.resource'/>
      <p n='version' t='version' v='2.0.2.incubator'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.servlets))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.servlets</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.apt.parser))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.apt.parser</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.apt.servlet)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.apt.servlet ;version=2.0.2.incubator</require>
  </resource>
  <resource id='org.apache.sling.bundleresource.impl/2.0.2.incubator' symbolicname='org.apache.sling.bundleresource.impl' presentationname='Sling - Bundle Resource Provider' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.bundleresource.impl/2.0.2.incubator/org.apache.sling.bundleresource.impl-2.0.2.incubator.jar' version='2.0.2.incubator'>
    <description>Provides a ResourceProvider implementation supporting bundle        based resources.</description>
    <size>20807</size>
    <documentation>http://incubator.apache.org/sling</documentation>
    <source>http://people.apache.org/repo/m2-incubating-repository/org/apache/sling/org.apache.sling.bundleresource.impl/2.0.2-incubator/org.apache.sling.bundleresource.impl-2.0.2-incubator-sources.jar</source>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='org.apache.sling'/>
    <capability name='bundle'>
      <p n='manifestversion' v='2'/>
      <p n='presentationname' v='Sling - Bundle Resource Provider'/>
      <p n='symbolicname' v='org.apache.sling.bundleresource.impl'/>
      <p n='version' t='version' v='2.0.2.incubator'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.adapter)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.adapter ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework</require>
    <require name='package' filter='(&amp;(package=org.slf4j))' extend='false' multiple='false' optional='false'>Import package org.slf4j</require>
  </resource>
  <resource id='org.apache.sling.commons.osgi/2.0.2.incubator' symbolicname='org.apache.sling.commons.osgi' presentationname='Sling - Commons OSGi support' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.commons.osgi/2.0.2.incubator/org.apache.sling.commons.osgi-2.0.2.incubator.jar' version='2.0.2.incubator'>
    <description>Commons OSGi</description>
    <size>15856</size>
    <documentation>http://incubator.apache.org/sling</documentation>
    <source>http://people.apache.org/repo/m2-incubating-repository/org/apache/sling/org.apache.sling.commons.osgi/2.0.2-incubator/org.apache.sling.commons.osgi-2.0.2-incubator-sources.jar</source>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='org.apache.sling'/>
    <capability name='bundle'>
      <p n='manifestversion' v='2'/>
      <p n='presentationname' v='Sling - Commons OSGi support'/>
      <p n='symbolicname' v='org.apache.sling.commons.osgi'/>
      <p n='version' t='version' v='2.0.2.incubator'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.commons.osgi'/>
      <p n='uses:' v='org.osgi.service.event,org.osgi.framework'/>
      <p n='version' t='version' v='2.0.2.incubator'/>
    </capability>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.event))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.event</require>
  </resource>
  <resource id='org.apache.sling.servlets.get/2.0.2.incubator' symbolicname='org.apache.sling.servlets.get' presentationname='Sling - Default GET Servlets' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.servlets.get/2.0.2.incubator/org.apache.sling.servlets.get-2.0.2.incubator.jar' version='2.0.2.incubator'>
    <description>Provides default GET servlets for HTML, Text and JSON rendering        and streaming resources.</description>
    <size>32825</size>
    <documentation>http://incubator.apache.org/sling</documentation>
    <source>http://people.apache.org/repo/m2-incubating-repository/org/apache/sling/org.apache.sling.servlets.get/2.0.2-incubator/org.apache.sling.servlets.get-2.0.2-incubator-sources.jar</source>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='org.apache.sling'/>
    <capability name='bundle'>
      <p n='manifestversion' v='2'/>
      <p n='presentationname' v='Sling - Default GET Servlets'/>
      <p n='symbolicname' v='org.apache.sling.servlets.get'/>
      <p n='version' t='version' v='2.0.2.incubator'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.nodetype)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.nodetype ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.request)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.request ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.servlets)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.servlets ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json.io)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json.io ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json.jcr)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json.jcr ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.resource)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.resource ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component</require>
    <require name='package' filter='(&amp;(package=org.slf4j))' extend='false' multiple='false' optional='false'>Import package org.slf4j</require>
  </resource>
  <resource id='org.apache.sling.servlets.post/2.0.2.incubator' symbolicname='org.apache.sling.servlets.post' presentationname='Sling - Default POST Servlets' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.servlets.post/2.0.2.incubator/org.apache.sling.servlets.post-2.0.2.incubator.jar' version='2.0.2.incubator'>
    <description>Provides default POST servlets.</description>
    <size>54026</size>
    <documentation>http://incubator.apache.org/sling</documentation>
    <source>http://people.apache.org/repo/m2-incubating-repository/org/apache/sling/org.apache.sling.servlets.post/2.0.2-incubator/org.apache.sling.servlets.post-2.0.2-incubator-sources.jar</source>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='org.apache.sling'/>
    <capability name='bundle'>
      <p n='manifestversion' v='2'/>
      <p n='presentationname' v='Sling - Default POST Servlets'/>
      <p n='symbolicname' v='org.apache.sling.servlets.post'/>
      <p n='version' t='version' v='2.0.2.incubator'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.servlets.post'/>
      <p n='uses:' v='javax.jcr,org.apache.sling.api.servlets,org.apache.sling.api,org.apache.sling.api.wrappers,org.slf4j,javax.servlet.http,org.apache.sling.api.resource'/>
      <p n='version' t='version' v='2.0.2.incubator'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.nodetype)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.nodetype ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.util))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.util</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.request)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.request ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.servlets)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.servlets ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.wrappers)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.wrappers ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.servlets.post)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.servlets.post ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component</require>
    <require name='package' filter='(&amp;(package=org.slf4j))' extend='false' multiple='false' optional='false'>Import package org.slf4j</require>
  </resource>
  <resource id='org.apache.sling.engine/2.0.2.incubator' symbolicname='org.apache.sling.engine' presentationname='Sling - Engine Implementation' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.engine/2.0.2.incubator/org.apache.sling.engine-2.0.2.incubator.jar' version='2.0.2.incubator'>
    <description>Bundle implementing the core of Sling.</description>
    <size>158882</size>
    <documentation>http://incubator.apache.org/sling</documentation>
    <source>http://people.apache.org/repo/m2-incubating-repository/org/apache/sling/org.apache.sling.engine/2.0.2-incubator/org.apache.sling.engine-2.0.2-incubator-sources.jar</source>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='org.apache.sling'/>
    <capability name='bundle'>
      <p n='manifestversion' v='2'/>
      <p n='presentationname' v='Sling - Engine Implementation'/>
      <p n='symbolicname' v='org.apache.sling.engine'/>
      <p n='version' t='version' v='2.0.2.incubator'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.engine.auth'/>
      <p n='uses:' v='javax.jcr,javax.servlet.http'/>
      <p n='version' t='version' v='2.0.2.incubator'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.engine'/>
      <p n='uses:' v='javax.servlet'/>
      <p n='version' t='version' v='2.0.2.incubator'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.engine.servlets'/>
      <p n='uses:' v='javax.servlet,org.apache.sling.api,org.osgi.framework'/>
      <p n='version' t='version' v='2.0.2.incubator'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.portlet))' extend='false' multiple='false' optional='true'>Import package javax.portlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections.iterators))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections.iterators</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.io))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.io</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.io.output))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.io.output</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.request)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.request ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.servlets)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.servlets ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.wrappers)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.wrappers ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.mime)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.mime ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.engine)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.engine ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.engine.auth)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.engine.auth ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.engine.servlets)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.engine.servlets ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.api)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.api ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.resource)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.resource ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.cm))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.cm</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.http))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.http</require>
    <require name='package' filter='(&amp;(package=org.osgi.util.tracker))' extend='false' multiple='false' optional='false'>Import package org.osgi.util.tracker</require>
    <require name='package' filter='(&amp;(package=org.slf4j))' extend='false' multiple='false' optional='false'>Import package org.slf4j</require>
  </resource>
  <resource id='org.apache.sling.event/2.0.2.incubator' symbolicname='org.apache.sling.event' presentationname='Sling - Event Support' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.event/2.0.2.incubator/org.apache.sling.event-2.0.2.incubator.jar' version='2.0.2.incubator'>
    <description>Support for eventing.</description>
    <size>98726</size>
    <documentation>http://incubator.apache.org/sling</documentation>
    <source>http://people.apache.org/repo/m2-incubating-repository/org/apache/sling/org.apache.sling.event/2.0.2-incubator/org.apache.sling.event-2.0.2-incubator-sources.jar</source>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='org.apache.sling'/>
    <capability name='bundle'>
      <p n='manifestversion' v='2'/>
      <p n='presentationname' v='Sling - Event Support'/>
      <p n='symbolicname' v='org.apache.sling.event'/>
      <p n='version' t='version' v='2.0.2.incubator'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.event'/>
      <p n='uses:' v='org.osgi.service.event,org.slf4j'/>
      <p n='version' t='version' v='2.0.2.incubator'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.lock)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.lock ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.nodetype)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.nodetype ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.observation)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.observation ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.query)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.query ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.util)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.util ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.name)(version&gt;=1.4.0))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.name ;version=1.4.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.scheduler)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.scheduler ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.threads)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.threads ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.engine)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.engine ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.event)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.event ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.api)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.api ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.event))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.event</require>
    <require name='package' filter='(&amp;(package=org.slf4j))' extend='false' multiple='false' optional='false'>Import package org.slf4j</require>
  </resource>
  <resource id='org.apache.sling.httpauth/2.0.2.incubator' symbolicname='org.apache.sling.httpauth' presentationname='Sling - HTTP Header Authentication' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.httpauth/2.0.2.incubator/org.apache.sling.httpauth-2.0.2.incubator.jar' version='2.0.2.incubator'>
    <description>Bundle implementing Basic HTTP Header authentication with login        and logout support</description>
    <size>31041</size>
    <documentation>http://incubator.apache.org/sling</documentation>
    <source>http://people.apache.org/repo/m2-incubating-repository/org/apache/sling/org.apache.sling.httpauth/2.0.2-incubator/org.apache.sling.httpauth-2.0.2-incubator-sources.jar</source>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='org.apache.sling'/>
    <capability name='bundle'>
      <p n='manifestversion' v='2'/>
      <p n='presentationname' v='Sling - HTTP Header Authentication'/>
      <p n='symbolicname' v='org.apache.sling.httpauth'/>
      <p n='version' t='version' v='2.0.2.incubator'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.servlets)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.servlets ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.engine.auth)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.engine.auth ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component</require>
    <require name='package' filter='(&amp;(package=org.slf4j))' extend='false' multiple='false' optional='false'>Import package org.slf4j</require>
  </resource>
  <resource id='org.apache.sling.jcr.contentloader/2.0.2.incubator' symbolicname='org.apache.sling.jcr.contentloader' presentationname='Sling - Initial Content Loader' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.jcr.contentloader/2.0.2.incubator/org.apache.sling.jcr.contentloader-2.0.2.incubator.jar' version='2.0.2.incubator'>
    <description>This bundle provides initial content installation through bundles.</description>
    <size>79935</size>
    <documentation>http://incubator.apache.org/sling</documentation>
    <source>http://people.apache.org/repo/m2-incubating-repository/org/apache/sling/org.apache.sling.jcr.contentloader/2.0.2-incubator/org.apache.sling.jcr.contentloader-2.0.2-incubator-sources.jar</source>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='org.apache.sling'/>
    <capability name='bundle'>
      <p n='manifestversion' v='2'/>
      <p n='presentationname' v='Sling - Initial Content Loader'/>
      <p n='symbolicname' v='org.apache.sling.jcr.contentloader'/>
      <p n='version' t='version' v='2.0.2.incubator'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.lock)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.lock ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.version)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.version ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.mime)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.mime ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.engine)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.engine ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.api)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.api ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component</require>
    <require name='package' filter='(&amp;(package=org.slf4j))' extend='false' multiple='false' optional='false'>Import package org.slf4j</require>
  </resource>
  <resource id='org.apache.sling.jcr.jackrabbit.api/2.0.2.incubator' symbolicname='org.apache.sling.jcr.jackrabbit.api' presentationname='Sling - Jackrabbit API Bundle' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.jcr.jackrabbit.api/2.0.2.incubator/org.apache.sling.jcr.jackrabbit.api-2.0.2.incubator.jar' version='2.0.2.incubator'>
    <description>This OSGi bundle provides the Jackrabbit API packages.</description>
    <size>10086</size>
    <documentation>http://incubator.apache.org/sling</documentation>
    <source>http://people.apache.org/repo/m2-incubating-repository/org/apache/sling/org.apache.sling.jcr.jackrabbit.api/2.0.2-incubator/org.apache.sling.jcr.jackrabbit.api-2.0.2-incubator-sources.jar</source>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='org.apache.sling'/>
    <capability name='bundle'>
      <p n='manifestversion' v='2'/>
      <p n='presentationname' v='Sling - Jackrabbit API Bundle'/>
      <p n='symbolicname' v='org.apache.sling.jcr.jackrabbit.api'/>
      <p n='version' t='version' v='2.0.2.incubator'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.api'/>
      <p n='uses:' v='javax.jcr,javax.transaction.xa,javax.jcr.nodetype,org.xml.sax'/>
      <p n='version' t='version' v='1.4.0'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr))' extend='false' multiple='false' optional='false'>Import package javax.jcr</require>
    <require name='package' filter='(&amp;(package=javax.jcr.nodetype))' extend='false' multiple='false' optional='false'>Import package javax.jcr.nodetype</require>
    <require name='package' filter='(&amp;(package=javax.transaction.xa))' extend='false' multiple='false' optional='true'>Import package javax.transaction.xa</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.api)(version&gt;=1.4.0))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.api ;version=1.4.0</require>
    <require name='package' filter='(&amp;(package=org.xml.sax))' extend='false' multiple='false' optional='true'>Import package org.xml.sax</require>
  </resource>
  <resource id='org.apache.sling.jcr.jackrabbit.server/2.0.2.incubator' symbolicname='org.apache.sling.jcr.jackrabbit.server' presentationname='Sling - Jackrabbit Embedded Repository' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.jcr.jackrabbit.server/2.0.2.incubator/org.apache.sling.jcr.jackrabbit.server-2.0.2.incubator.jar' version='2.0.2.incubator'>
    <description>Bundle providing support to embed Jackrabbit Repository        instances and publish via RMI and/or JNDI</description>
    <size>10825600</size>
    <documentation>http://incubator.apache.org/sling</documentation>
    <source>http://people.apache.org/repo/m2-incubating-repository/org/apache/sling/org.apache.sling.jcr.jackrabbit.server/2.0.2-incubator/org.apache.sling.jcr.jackrabbit.server-2.0.2-incubator-sources.jar</source>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='org.apache.sling'/>
    <capability name='bundle'>
      <p n='manifestversion' v='2'/>
      <p n='presentationname' v='Sling - Jackrabbit Embedded Repository'/>
      <p n='symbolicname' v='org.apache.sling.jcr.jackrabbit.server'/>
      <p n='version' t='version' v='2.0.2.incubator'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr))' extend='false' multiple='false' optional='false'>Import package javax.jcr</require>
    <require name='package' filter='(&amp;(package=javax.jcr.lock))' extend='false' multiple='false' optional='false'>Import package javax.jcr.lock</require>
    <require name='package' filter='(&amp;(package=javax.jcr.nodetype))' extend='false' multiple='false' optional='false'>Import package javax.jcr.nodetype</require>
    <require name='package' filter='(&amp;(package=javax.jcr.observation))' extend='false' multiple='false' optional='false'>Import package javax.jcr.observation</require>
    <require name='package' filter='(&amp;(package=javax.jcr.query))' extend='false' multiple='false' optional='false'>Import package javax.jcr.query</require>
    <require name='package' filter='(&amp;(package=javax.jcr.util))' extend='false' multiple='false' optional='false'>Import package javax.jcr.util</require>
    <require name='package' filter='(&amp;(package=javax.jcr.version))' extend='false' multiple='false' optional='false'>Import package javax.jcr.version</require>
    <require name='package' filter='(&amp;(package=javax.naming))' extend='false' multiple='false' optional='false'>Import package javax.naming</require>
    <require name='package' filter='(&amp;(package=javax.naming.directory))' extend='false' multiple='false' optional='false'>Import package javax.naming.directory</require>
    <require name='package' filter='(&amp;(package=javax.naming.spi))' extend='false' multiple='false' optional='false'>Import package javax.naming.spi</require>
    <require name='package' filter='(&amp;(package=javax.security.auth))' extend='false' multiple='false' optional='false'>Import package javax.security.auth</require>
    <require name='package' filter='(&amp;(package=javax.security.auth.callback))' extend='false' multiple='false' optional='false'>Import package javax.security.auth.callback</require>
    <require name='package' filter='(&amp;(package=javax.security.auth.login))' extend='false' multiple='false' optional='false'>Import package javax.security.auth.login</require>
    <require name='package' filter='(&amp;(package=javax.security.auth.spi))' extend='false' multiple='false' optional='false'>Import package javax.security.auth.spi</require>
    <require name='package' filter='(&amp;(package=javax.xml.datatype))' extend='false' multiple='false' optional='false'>Import package javax.xml.datatype</require>
    <require name='package' filter='(&amp;(package=javax.xml.namespace))' extend='false' multiple='false' optional='false'>Import package javax.xml.namespace</require>
    <require name='package' filter='(&amp;(package=javax.xml.parsers))' extend='false' multiple='false' optional='false'>Import package javax.xml.parsers</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform.dom))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform.dom</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform.sax))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform.sax</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform.stream))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform.stream</require>
    <require name='package' filter='(&amp;(package=javax.xml.validation))' extend='false' multiple='false' optional='false'>Import package javax.xml.validation</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections.buffer))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections.buffer</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections.functors))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections.functors</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections.iterators))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections.iterators</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections.list))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections.list</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections.map))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections.map</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.api))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.api</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.api))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.api</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.base)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.base ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.cm))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.cm</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.log))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.log</require>
    <require name='package' filter='(&amp;(package=org.slf4j))' extend='false' multiple='false' optional='false'>Import package org.slf4j</require>
    <require name='package' filter='(&amp;(package=org.xml.sax))' extend='false' multiple='false' optional='false'>Import package org.xml.sax</require>
    <require name='package' filter='(&amp;(package=org.xml.sax.helpers))' extend='false' multiple='false' optional='false'>Import package org.xml.sax.helpers</require>
  </resource>
  <resource id='org.apache.sling.jcr.base/2.0.2.incubator' symbolicname='org.apache.sling.jcr.base' presentationname='Sling - JCR Base Bundle' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.jcr.base/2.0.2.incubator/org.apache.sling.jcr.base-2.0.2.incubator.jar' version='2.0.2.incubator'>
    <description>The JCR base bundle provides JCR utility classes</description>
    <size>264321</size>
    <documentation>http://incubator.apache.org/sling</documentation>
    <source>http://people.apache.org/repo/m2-incubating-repository/org/apache/sling/org.apache.sling.jcr.base/2.0.2-incubator/org.apache.sling.jcr.base-2.0.2-incubator-sources.jar</source>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='org.apache.sling'/>
    <capability name='bundle'>
      <p n='manifestversion' v='2'/>
      <p n='presentationname' v='Sling - JCR Base Bundle'/>
      <p n='symbolicname' v='org.apache.sling.jcr.base'/>
      <p n='version' t='version' v='2.0.2.incubator'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.jcr.base.util'/>
      <p n='uses:' v='javax.jcr,javax.naming,org.slf4j'/>
      <p n='version' t='version' v='2.0.2.incubator'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.jcr.base'/>
      <p n='uses:' v='javax.jcr,org.apache.sling.jcr.api,javax.jcr.nodetype,org.slf4j,org.osgi.service.component,org.osgi.service.log,org.apache.sling.jcr.base.util,org.osgi.framework,org.apache.jackrabbit.api'/>
      <p n='version' t='version' v='2.0.2.incubator'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.lock)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.lock ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.nodetype)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.nodetype ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.observation)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.observation ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.query)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.query ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.version)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.version ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.naming))' extend='false' multiple='false' optional='false'>Import package javax.naming</require>
    <require name='package' filter='(&amp;(package=javax.naming.spi))' extend='false' multiple='false' optional='false'>Import package javax.naming.spi</require>
    <require name='package' filter='(&amp;(package=javax.transaction.xa))' extend='false' multiple='false' optional='false'>Import package javax.transaction.xa</require>
    <require name='package' filter='(&amp;(package=javax.xml.parsers))' extend='false' multiple='false' optional='false'>Import package javax.xml.parsers</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform.sax))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform.sax</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform.stream))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform.stream</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.api))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.api</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.commons.repository))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.commons.repository</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.api)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.api ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.base)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.base ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.base.util)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.base.util ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.log))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.log</require>
    <require name='package' filter='(&amp;(package=org.slf4j))' extend='false' multiple='false' optional='false'>Import package org.slf4j</require>
    <require name='package' filter='(&amp;(package=org.xml.sax))' extend='false' multiple='false' optional='false'>Import package org.xml.sax</require>
    <require name='package' filter='(&amp;(package=org.xml.sax.helpers))' extend='false' multiple='false' optional='false'>Import package org.xml.sax.helpers</require>
  </resource>
  <resource id='org.apache.sling.launchpad.content/2.0.2.incubator' symbolicname='org.apache.sling.launchpad.content' presentationname='Sling - Launchpad Content' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.launchpad.content/2.0.2.incubator/org.apache.sling.launchpad.content-2.0.2.incubator.jar' version='2.0.2.incubator'>
    <description>This bundle provides content that is loaded in the JCR repository    for the Sling Launchpad.</description>
    <size>19974</size>
    <documentation>http://incubator.apache.org/sling</documentation>
    <source>http://people.apache.org/repo/m2-incubating-repository/org/apache/sling/org.apache.sling.launchpad.content/2.0.2-incubator/org.apache.sling.launchpad.content-2.0.2-incubator-sources.jar</source>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='org.apache.sling'/>
    <capability name='bundle'>
      <p n='manifestversion' v='2'/>
      <p n='presentationname' v='Sling - Launchpad Content'/>
      <p n='symbolicname' v='org.apache.sling.launchpad.content'/>
      <p n='version' t='version' v='2.0.2.incubator'/>
    </capability>
  </resource>
  <resource id='org.apache.sling.commons.mime/2.0.2.incubator' symbolicname='org.apache.sling.commons.mime' presentationname='Sling - MIME type mapping support' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.commons.mime/2.0.2.incubator/org.apache.sling.commons.mime-2.0.2.incubator.jar' version='2.0.2.incubator'>
    <description>Support for configurable MIME type mapping and querying</description>
    <size>15767</size>
    <documentation>http://incubator.apache.org/sling</documentation>
    <source>http://people.apache.org/repo/m2-incubating-repository/org/apache/sling/org.apache.sling.commons.mime/2.0.2-incubator/org.apache.sling.commons.mime-2.0.2-incubator-sources.jar</source>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='org.apache.sling'/>
    <capability name='bundle'>
      <p n='manifestversion' v='2'/>
      <p n='presentationname' v='Sling - MIME type mapping support'/>
      <p n='symbolicname' v='org.apache.sling.commons.mime'/>
      <p n='version' t='version' v='2.0.2.incubator'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.commons.mime'/>
      <p n='version' t='version' v='2.0.2.incubator'/>
    </capability>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.mime)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.mime ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.log))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.log</require>
  </resource>
  <resource id='org.apache.sling.jcr.ocm/2.0.2.incubator' symbolicname='org.apache.sling.jcr.ocm' presentationname='Sling - Object Content Mapping' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.jcr.ocm/2.0.2.incubator/org.apache.sling.jcr.ocm-2.0.2.incubator.jar' version='2.0.2.incubator'>
    <description>This bundle provides Object Content Mapping support for        resources loaded from a JCR repositories. This support is        implemented as an AdapterFactory for Resource objects.</description>
    <size>627675</size>
    <documentation>http://incubator.apache.org/sling</documentation>
    <source>http://people.apache.org/repo/m2-incubating-repository/org/apache/sling/org.apache.sling.jcr.ocm/2.0.2-incubator/org.apache.sling.jcr.ocm-2.0.2-incubator-sources.jar</source>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='org.apache.sling'/>
    <capability name='bundle'>
      <p n='manifestversion' v='2'/>
      <p n='presentationname' v='Sling - Object Content Mapping'/>
      <p n='symbolicname' v='org.apache.sling.jcr.ocm'/>
      <p n='version' t='version' v='2.0.2.incubator'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.ocm.version'/>
      <p n='uses:' v='javax.jcr,org.apache.jackrabbit.ocm.exception,javax.jcr.version'/>
      <p n='version' t='version' v='1.4.0'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.ocm.mapper'/>
      <p n='version' t='version' v='1.4.0'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.ocm.manager'/>
      <p n='uses:' v='javax.jcr,org.apache.jackrabbit.ocm.version,org.apache.jackrabbit.ocm.exception,javax.jcr.version,org.apache.jackrabbit.ocm.query'/>
      <p n='version' t='version' v='1.4.0'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.ocm.exception'/>
      <p n='uses:' v='javax.jcr.query'/>
      <p n='version' t='version' v='1.4.0'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.jcr.ocm'/>
      <p n='uses:' v='javax.jcr,org.apache.jackrabbit.ocm.manager,org.apache.jackrabbit.ocm.manager.collectionconverter.impl'/>
      <p n='version' t='version' v='2.0.2.incubator'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.ocm.query'/>
      <p n='version' t='version' v='1.4.0'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.ocm.manager.collectionconverter.impl'/>
      <p n='uses:' v='javax.jcr,org.apache.commons.logging,org.apache.jackrabbit.ocm.exception,javax.jcr.version,javax.jcr.nodetype,org.apache.jackrabbit.ocm.manager.atomictypeconverter,javax.jcr.lock,javax.jcr.query,org.apache.jackrabbit.ocm.mapper,org.apache.jackrabbit.ocm.manager.collectionconverter'/>
      <p n='version' t='version' v='1.4.0'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.ocm.manager.collectionconverter'/>
      <p n='uses:' v='javax.jcr,org.apache.jackrabbit.ocm.exception,org.apache.jackrabbit.ocm.manager.collectionconverter.impl'/>
      <p n='version' t='version' v='1.4.0'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.ocm.manager.atomictypeconverter'/>
      <p n='uses:' v='javax.jcr'/>
      <p n='version' t='version' v='1.4.0'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.lock)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.lock ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.nodetype)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.nodetype ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.observation)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.observation ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.query)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.query ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.version)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.version ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections.comparators))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections.comparators</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections.keyvalue))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections.keyvalue</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections.list))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections.list</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections.set))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections.set</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.logging))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.logging</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.ocm.exception)(version&gt;=1.4.0))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.ocm.exception ;version=1.4.0</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.ocm.manager)(version&gt;=1.4.0))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.ocm.manager ;version=1.4.0</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.ocm.manager.atomictypeconverter)(version&gt;=1.4.0))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.ocm.manager.atomictypeconverter ;version=1.4.0</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.ocm.manager.collectionconverter)(version&gt;=1.4.0))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.ocm.manager.collectionconverter ;version=1.4.0</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.ocm.manager.collectionconverter.impl)(version&gt;=1.4.0))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.ocm.manager.collectionconverter.impl ;version=1.4.0</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.ocm.mapper)(version&gt;=1.4.0))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.ocm.mapper ;version=1.4.0</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.ocm.query)(version&gt;=1.4.0))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.ocm.query ;version=1.4.0</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.ocm.version)(version&gt;=1.4.0))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.ocm.version ;version=1.4.0</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.value))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.value</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.adapter)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.adapter ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.ocm)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.ocm ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.event))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.event</require>
    <require name='package' filter='(&amp;(package=org.slf4j))' extend='false' multiple='false' optional='false'>Import package org.slf4j</require>
  </resource>
  <resource id='org.apache.sling.commons.log/2.0.2.incubator' symbolicname='org.apache.sling.commons.log' presentationname='Sling - OSGi LogService Implementation' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.commons.log/2.0.2.incubator/org.apache.sling.commons.log-2.0.2.incubator.jar' version='2.0.2.incubator'>
    <description>Implementation of the OSGi Compendium Log Service using SLF4J        on top of a private implementation. In addition to providing the        implemented SLF4J API, the Log4J and Jakarta Commons Logging APIs        are provided with implementations on top of the SLF4J API.</description>
    <size>93269</size>
    <documentation>http://incubator.apache.org/sling</documentation>
    <source>http://people.apache.org/repo/m2-incubating-repository/org/apache/sling/org.apache.sling.commons.log/2.0.2-incubator/org.apache.sling.commons.log-2.0.2-incubator-sources.jar</source>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='org.apache.sling'/>
    <capability name='bundle'>
      <p n='manifestversion' v='2'/>
      <p n='presentationname' v='Sling - OSGi LogService Implementation'/>
      <p n='symbolicname' v='org.apache.sling.commons.log'/>
      <p n='version' t='version' v='2.0.2.incubator'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.osgi.service.log'/>
      <p n='uses:' v='org.osgi.framework'/>
      <p n='version' t='version' v='1.3.0'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.commons.logging'/>
      <p n='version' t='version' v='1.1.1'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.log4j'/>
      <p n='uses:' v='org.slf4j'/>
      <p n='version' t='version' v='1.2.15'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.osgi.service.cm'/>
      <p n='uses:' v='org.osgi.framework'/>
      <p n='version' t='version' v='1.2.0'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.slf4j'/>
      <p n='version' t='version' v='1.5.2'/>
    </capability>
    <require name='package' filter='(&amp;(package=org.apache.commons.logging)(version&gt;=1.1.1))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.logging ;version=1.1.1</require>
    <require name='package' filter='(&amp;(package=org.apache.log4j)(version&gt;=1.2.15))' extend='false' multiple='false' optional='false'>Import package org.apache.log4j ;version=1.2.15</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.cm)(version&gt;=1.2.0))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.cm ;version=1.2.0</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.log)(version&gt;=1.3.0))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.log ;version=1.3.0</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.2))' extend='false' multiple='false' optional='false'>Import package org.slf4j ;version=1.5.2</require>
  </resource>
  <resource id='org.apache.sling.jcr.jackrabbit.client/2.0.2.incubator' symbolicname='org.apache.sling.jcr.jackrabbit.client' presentationname='Sling - Repository Accessor' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.jcr.jackrabbit.client/2.0.2.incubator/org.apache.sling.jcr.jackrabbit.client-2.0.2.incubator.jar' version='2.0.2.incubator'>
    <description>Bundle to access an existing JCR repository from JNDI or through        RMI</description>
    <size>17609</size>
    <documentation>http://incubator.apache.org/sling</documentation>
    <source>http://people.apache.org/repo/m2-incubating-repository/org/apache/sling/org.apache.sling.jcr.jackrabbit.client/2.0.2-incubator/org.apache.sling.jcr.jackrabbit.client-2.0.2-incubator-sources.jar</source>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='org.apache.sling'/>
    <capability name='bundle'>
      <p n='manifestversion' v='2'/>
      <p n='presentationname' v='Sling - Repository Accessor'/>
      <p n='symbolicname' v='org.apache.sling.jcr.jackrabbit.client'/>
      <p n='version' t='version' v='2.0.2.incubator'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.api)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.api ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.base)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.base ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.base.util)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.base.util ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.cm))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.cm</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.log))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.log</require>
    <require name='package' filter='(&amp;(package=org.slf4j))' extend='false' multiple='false' optional='false'>Import package org.slf4j</require>
  </resource>
  <resource id='org.apache.sling.jcr.api/2.0.2.incubator' symbolicname='org.apache.sling.jcr.api' presentationname='Sling - Repository API Bundle' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.jcr.api/2.0.2.incubator/org.apache.sling.jcr.api-2.0.2.incubator.jar' version='2.0.2.incubator'>
    <description>This OSGi bundle provides the JCR packages as        well as a helper service interface to be implemented and        provided by repository providers.</description>
    <size>46785</size>
    <documentation>http://incubator.apache.org/sling</documentation>
    <source>http://people.apache.org/repo/m2-incubating-repository/org/apache/sling/org.apache.sling.jcr.api/2.0.2-incubator/org.apache.sling.jcr.api-2.0.2-incubator-sources.jar</source>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='org.apache.sling'/>
    <capability name='bundle'>
      <p n='manifestversion' v='2'/>
      <p n='presentationname' v='Sling - Repository API Bundle'/>
      <p n='symbolicname' v='org.apache.sling.jcr.api'/>
      <p n='version' t='version' v='2.0.2.incubator'/>
    </capability>
    <capability name='package'>
      <p n='package' v='javax.jcr.query'/>
      <p n='uses:' v='javax.jcr,javax.jcr.version,javax.jcr.nodetype,javax.jcr.lock'/>
      <p n='version' t='version' v='1.0.0'/>
    </capability>
    <capability name='package'>
      <p n='package' v='javax.jcr'/>
      <p n='uses:' v='javax.jcr.query,javax.jcr.observation,javax.jcr.nodetype,javax.jcr.version,org.xml.sax,javax.jcr.lock'/>
      <p n='version' t='version' v='1.0.0'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.jcr.api'/>
      <p n='uses:' v='javax.jcr'/>
      <p n='version' t='version' v='2.0.2.incubator'/>
    </capability>
    <capability name='package'>
      <p n='package' v='javax.jcr.observation'/>
      <p n='uses:' v='javax.jcr'/>
      <p n='version' t='version' v='1.0.0'/>
    </capability>
    <capability name='package'>
      <p n='package' v='javax.jcr.version'/>
      <p n='uses:' v='javax.jcr'/>
      <p n='version' t='version' v='1.0.0'/>
    </capability>
    <capability name='package'>
      <p n='package' v='javax.jcr.nodetype'/>
      <p n='uses:' v='javax.jcr'/>
      <p n='version' t='version' v='1.0.0'/>
    </capability>
    <capability name='package'>
      <p n='package' v='javax.jcr.util'/>
      <p n='uses:' v='javax.jcr'/>
      <p n='version' t='version' v='1.0.0'/>
    </capability>
    <capability name='package'>
      <p n='package' v='javax.jcr.lock'/>
      <p n='uses:' v='javax.jcr'/>
      <p n='version' t='version' v='1.0.0'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.lock)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.lock ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.nodetype)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.nodetype ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.observation)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.observation ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.query)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.query ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.util)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.util ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.version)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.version ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.api)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.api ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.xml.sax))' extend='false' multiple='false' optional='true'>Import package org.xml.sax</require>
  </resource>
  <resource id='org.apache.sling.jcr.classloader/2.0.2.incubator' symbolicname='org.apache.sling.jcr.classloader' presentationname='Sling - Repository ClassLoader' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.jcr.classloader/2.0.2.incubator/org.apache.sling.jcr.classloader-2.0.2.incubator.jar' version='2.0.2.incubator'>
    <description>Provides Support for delegate class loaders built dynamically.        Delegate class loaders supported are generic ClassLoader, OSGi        bundles and repository class loader.</description>
    <size>160163</size>
    <documentation>http://incubator.apache.org/sling</documentation>
    <source>http://people.apache.org/repo/m2-incubating-repository/org/apache/sling/org.apache.sling.jcr.classloader/2.0.2-incubator/org.apache.sling.jcr.classloader-2.0.2-incubator-sources.jar</source>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='org.apache.sling'/>
    <capability name='bundle'>
      <p n='manifestversion' v='2'/>
      <p n='presentationname' v='Sling - Repository ClassLoader'/>
      <p n='symbolicname' v='org.apache.sling.jcr.classloader'/>
      <p n='version' t='version' v='2.0.2.incubator'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.jcr.classloader'/>
      <p n='uses:' v='javax.jcr'/>
      <p n='version' t='version' v='2.0.2.incubator'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.classloader'/>
      <p n='uses:' v='javax.jcr,org.apache.jackrabbit.net,javax.jcr.nodetype,org.slf4j,javax.jcr.observation,org.apache.jackrabbit.api'/>
      <p n='version' t='version' v='1.4.0'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jackrabbit.net'/>
      <p n='uses:' v='javax.jcr,org.apache.jackrabbit.classloader,org.slf4j'/>
      <p n='version' t='version' v='1.4.0'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.lock)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.lock ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.nodetype)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.nodetype ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.observation)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.observation ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.util)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.util ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections.bidimap))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections.bidimap</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.api))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.api</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.classloader)(version&gt;=1.4.0))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.classloader ;version=1.4.0</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.net)(version&gt;=1.4.0))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.net ;version=1.4.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.api)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.api ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.classloader)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.classloader ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component</require>
    <require name='package' filter='(&amp;(package=org.slf4j))' extend='false' multiple='false' optional='false'>Import package org.slf4j</require>
  </resource>
  <resource id='org.apache.sling.jcr.resource/2.0.2.incubator' symbolicname='org.apache.sling.jcr.resource' presentationname='Sling - Resource Resolver' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.jcr.resource/2.0.2.incubator/org.apache.sling.jcr.resource-2.0.2.incubator.jar' version='2.0.2.incubator'>
    <description>This bundle provides the JCR based ResourceResolver.</description>
    <size>74143</size>
    <documentation>http://incubator.apache.org/sling</documentation>
    <source>http://people.apache.org/repo/m2-incubating-repository/org/apache/sling/org.apache.sling.jcr.resource/2.0.2-incubator/org.apache.sling.jcr.resource-2.0.2-incubator-sources.jar</source>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='org.apache.sling'/>
    <capability name='bundle'>
      <p n='manifestversion' v='2'/>
      <p n='presentationname' v='Sling - Resource Resolver'/>
      <p n='symbolicname' v='org.apache.sling.jcr.resource'/>
      <p n='version' t='version' v='2.0.2.incubator'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.jcr.resource'/>
      <p n='uses:' v='javax.jcr.query,javax.jcr,javax.jcr.nodetype,org.apache.sling.api.resource'/>
      <p n='version' t='version' v='2.0.2.incubator'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.lock)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.lock ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.nodetype)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.nodetype ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.query)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.query ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.version)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.version ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections.bidimap))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections.bidimap</require>
    <require name='package' filter='(&amp;(package=org.apache.jackrabbit.classloader))' extend='false' multiple='false' optional='false'>Import package org.apache.jackrabbit.classloader</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.adapter)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.adapter ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.api)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.api ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.resource)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.resource ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.event))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.event</require>
    <require name='package' filter='(&amp;(package=org.slf4j))' extend='false' multiple='false' optional='false'>Import package org.slf4j</require>
  </resource>
  <resource id='org.apache.sling.samples.path-based.rtp/2.0.2.incubator' symbolicname='org.apache.sling.samples.path-based.rtp' presentationname='Sling - Sample Path Based Resource Type Provider' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.samples.path-based.rtp/2.0.2.incubator/org.apache.sling.samples.path-based.rtp-2.0.2.incubator.jar' version='2.0.2.incubator'>
    <description>Provides a configurable path-based sample resource type provider        for resources which do not have an explicit one.</description>
    <size>14343</size>
    <documentation>http://incubator.apache.org/sling</documentation>
    <source>http://people.apache.org/repo/m2-incubating-repository/org/apache/sling/org.apache.sling.samples.path-based.rtp/2.0.2-incubator/org.apache.sling.samples.path-based.rtp-2.0.2-incubator-sources.jar</source>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='org.apache.sling'/>
    <capability name='bundle'>
      <p n='manifestversion' v='2'/>
      <p n='presentationname' v='Sling - Sample Path Based Resource Type Provider'/>
      <p n='symbolicname' v='org.apache.sling.samples.path-based.rtp'/>
      <p n='version' t='version' v='2.0.2.incubator'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.nodetype)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.nodetype ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.resource)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.resource ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component</require>
    <require name='package' filter='(&amp;(package=org.slf4j))' extend='false' multiple='false' optional='false'>Import package org.slf4j</require>
  </resource>
  <resource id='org.apache.sling.samples.simple-demo/2.0.2.incubator' symbolicname='org.apache.sling.samples.simple-demo' presentationname='Sling - Sample Sling Application' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.samples.simple-demo/2.0.2.incubator/org.apache.sling.samples.simple-demo-2.0.2.incubator.jar' version='2.0.2.incubator'>
    <description>This bundle provides a simple Sling Application to show some of        the features and functionalities of Sling, such as node type        definition, content mapping, running JSPs off the repository and        the bundle.</description>
    <size>26660</size>
    <documentation>http://incubator.apache.org/sling</documentation>
    <source>http://people.apache.org/repo/m2-incubating-repository/org/apache/sling/samples/org.apache.sling.samples.simple-demo/2.0.2-incubator/org.apache.sling.samples.simple-demo-2.0.2-incubator-sources.jar</source>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='org.apache.sling.samples'/>
    <capability name='bundle'>
      <p n='manifestversion' v='2'/>
      <p n='presentationname' v='Sling - Sample Sling Application'/>
      <p n='symbolicname' v='org.apache.sling.samples.simple-demo'/>
      <p n='version' t='version' v='2.0.2.incubator'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.sample'/>
      <p n='uses:' v='org.apache.sling.api.servlets,javax.servlet,org.apache.sling.api,org.apache.sling.jcr.ocm,org.apache.sling.api.resource'/>
      <p n='version' t='version' v='2.0.2.incubator'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.jsp.apps.sling.sample'/>
      <p n='uses:' v='javax.jcr,javax.el,org.apache.sling.api.scripting,javax.servlet.jsp,org.slf4j,org.apache.sling.api.resource,org.apache.sling.sample,javax.servlet,org.apache.sling.scripting.jsp.jasper.runtime,org.apache.sling.api,org.apache.sling.scripting.jsp.taglib,javax.servlet.jsp.tagext,javax.servlet.http'/>
      <p n='version' t='version' v='2.0.2.incubator'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.el)(version&gt;=2.1.0))' extend='false' multiple='false' optional='false'>Import package javax.el ;version=2.1.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=javax.servlet.jsp)(version&gt;=2.1.0))' extend='false' multiple='false' optional='false'>Import package javax.servlet.jsp ;version=2.1.0</require>
    <require name='package' filter='(&amp;(package=javax.servlet.jsp.tagext)(version&gt;=2.1.0))' extend='false' multiple='false' optional='false'>Import package javax.servlet.jsp.tagext ;version=2.1.0</require>
    <require name='package' filter='(&amp;(package=org.apache.jsp.apps.sling.sample)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.jsp.apps.sling.sample ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.scripting)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.scripting ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.servlets)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.servlets ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.ocm)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.ocm ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.sample)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.sample ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.jsp.jasper.runtime)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.jsp.jasper.runtime ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.jsp.taglib)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.jsp.taglib ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.slf4j))' extend='false' multiple='false' optional='false'>Import package org.slf4j</require>
  </resource>
  <resource id='org.apache.sling.commons.scheduler/2.0.2.incubator' symbolicname='org.apache.sling.commons.scheduler' presentationname='Sling - Scheduler Support' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.commons.scheduler/2.0.2.incubator/org.apache.sling.commons.scheduler-2.0.2.incubator.jar' version='2.0.2.incubator'>
    <description>Support for scheduling.</description>
    <size>971188</size>
    <documentation>http://incubator.apache.org/sling</documentation>
    <source>http://people.apache.org/repo/m2-incubating-repository/org/apache/sling/org.apache.sling.commons.scheduler/2.0.2-incubator/org.apache.sling.commons.scheduler-2.0.2-incubator-sources.jar</source>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='org.apache.sling'/>
    <capability name='bundle'>
      <p n='manifestversion' v='2'/>
      <p n='presentationname' v='Sling - Scheduler Support'/>
      <p n='symbolicname' v='org.apache.sling.commons.scheduler'/>
      <p n='version' t='version' v='2.0.2.incubator'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.commons.scheduler'/>
      <p n='version' t='version' v='2.0.2.incubator'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.mail))' extend='false' multiple='false' optional='false'>Import package javax.mail</require>
    <require name='package' filter='(&amp;(package=javax.mail.internet))' extend='false' multiple='false' optional='false'>Import package javax.mail.internet</require>
    <require name='package' filter='(&amp;(package=javax.management))' extend='false' multiple='false' optional='false'>Import package javax.management</require>
    <require name='package' filter='(&amp;(package=javax.management.loading))' extend='false' multiple='false' optional='false'>Import package javax.management.loading</require>
    <require name='package' filter='(&amp;(package=javax.management.modelmbean))' extend='false' multiple='false' optional='false'>Import package javax.management.modelmbean</require>
    <require name='package' filter='(&amp;(package=javax.naming))' extend='false' multiple='false' optional='false'>Import package javax.naming</require>
    <require name='package' filter='(&amp;(package=javax.naming.spi))' extend='false' multiple='false' optional='false'>Import package javax.naming.spi</require>
    <require name='package' filter='(&amp;(package=javax.rmi))' extend='false' multiple='false' optional='false'>Import package javax.rmi</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=javax.sql))' extend='false' multiple='false' optional='false'>Import package javax.sql</require>
    <require name='package' filter='(&amp;(package=javax.transaction))' extend='false' multiple='false' optional='false'>Import package javax.transaction</require>
    <require name='package' filter='(&amp;(package=javax.xml.parsers))' extend='false' multiple='false' optional='false'>Import package javax.xml.parsers</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform.dom))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform.dom</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform.stream))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform.stream</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections.comparators))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections.comparators</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections.keyvalue))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections.keyvalue</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections.list))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections.list</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections.set))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections.set</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.logging))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.logging</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.scheduler)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.scheduler ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.threads)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.threads ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component</require>
    <require name='package' filter='(&amp;(package=org.slf4j))' extend='false' multiple='false' optional='false'>Import package org.slf4j</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom</require>
    <require name='package' filter='(&amp;(package=org.xml.sax))' extend='false' multiple='false' optional='false'>Import package org.xml.sax</require>
    <require name='package' filter='(&amp;(package=org.xml.sax.helpers))' extend='false' multiple='false' optional='false'>Import package org.xml.sax.helpers</require>
  </resource>
  <resource id='org.apache.sling.scripting.javascript/2.0.2.incubator' symbolicname='org.apache.sling.scripting.javascript' presentationname='Sling - Scripting - JavaScript Support' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.scripting.javascript/2.0.2.incubator/org.apache.sling.scripting.javascript-2.0.2.incubator.jar' version='2.0.2.incubator'>
    <description>Support for JavaScript scripting</description>
    <size>807885</size>
    <documentation>http://incubator.apache.org/sling</documentation>
    <source>http://people.apache.org/repo/m2-incubating-repository/org/apache/sling/org.apache.sling.scripting.javascript/2.0.2-incubator/org.apache.sling.scripting.javascript-2.0.2-incubator-sources.jar</source>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='org.apache.sling'/>
    <capability name='bundle'>
      <p n='manifestversion' v='2'/>
      <p n='presentationname' v='Sling - Scripting - JavaScript Support'/>
      <p n='symbolicname' v='org.apache.sling.scripting.javascript'/>
      <p n='version' t='version' v='2.0.2.incubator'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.lock)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.lock ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.nodetype)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.nodetype ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.version)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.version ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.script))' extend='false' multiple='false' optional='false'>Import package javax.script</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=javax.swing))' extend='false' multiple='false' optional='false'>Import package javax.swing</require>
    <require name='package' filter='(&amp;(package=javax.swing.border))' extend='false' multiple='false' optional='false'>Import package javax.swing.border</require>
    <require name='package' filter='(&amp;(package=javax.swing.event))' extend='false' multiple='false' optional='false'>Import package javax.swing.event</require>
    <require name='package' filter='(&amp;(package=javax.swing.filechooser))' extend='false' multiple='false' optional='false'>Import package javax.swing.filechooser</require>
    <require name='package' filter='(&amp;(package=javax.swing.table))' extend='false' multiple='false' optional='false'>Import package javax.swing.table</require>
    <require name='package' filter='(&amp;(package=javax.swing.text))' extend='false' multiple='false' optional='false'>Import package javax.swing.text</require>
    <require name='package' filter='(&amp;(package=javax.swing.tree))' extend='false' multiple='false' optional='false'>Import package javax.swing.tree</require>
    <require name='package' filter='(&amp;(package=javax.xml.namespace))' extend='false' multiple='false' optional='false'>Import package javax.xml.namespace</require>
    <require name='package' filter='(&amp;(package=javax.xml.parsers))' extend='false' multiple='false' optional='false'>Import package javax.xml.parsers</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform.dom))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform.dom</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform.stream))' extend='false' multiple='false' optional='false'>Import package javax.xml.transform.stream</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.scripting)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.scripting ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json.jcr)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json.jcr ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.resource)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.resource ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.api)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.api ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.slf4j))' extend='false' multiple='false' optional='false'>Import package org.slf4j</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom</require>
    <require name='package' filter='(&amp;(package=org.xml.sax))' extend='false' multiple='false' optional='false'>Import package org.xml.sax</require>
  </resource>
  <resource id='org.apache.sling.scripting.jsp/2.0.2.incubator' symbolicname='org.apache.sling.scripting.jsp' presentationname='Sling - Scripting - JSP Support' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.scripting.jsp/2.0.2.incubator/org.apache.sling.scripting.jsp-2.0.2.incubator.jar' version='2.0.2.incubator'>
    <description>Support for JSP scripting</description>
    <size>2201159</size>
    <documentation>http://incubator.apache.org/sling</documentation>
    <source>http://people.apache.org/repo/m2-incubating-repository/org/apache/sling/org.apache.sling.scripting.jsp/2.0.2-incubator/org.apache.sling.scripting.jsp-2.0.2-incubator-sources.jar</source>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='org.apache.sling'/>
    <capability name='bundle'>
      <p n='manifestversion' v='2'/>
      <p n='presentationname' v='Sling - Scripting - JSP Support'/>
      <p n='symbolicname' v='org.apache.sling.scripting.jsp'/>
      <p n='version' t='version' v='2.0.2.incubator'/>
    </capability>
    <capability name='package'>
      <p n='package' v='javax.el'/>
      <p n='version' t='version' v='2.1.0'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.jsp.jasper.runtime'/>
      <p n='uses:' v='javax.naming,javax.el,javax.servlet.jsp,javax.servlet,javax.servlet.jsp.el,javax.servlet.jsp.tagext,javax.servlet.http'/>
      <p n='version' t='version' v='2.0.2.incubator'/>
    </capability>
    <capability name='package'>
      <p n='package' v='javax.servlet.jsp.el'/>
      <p n='uses:' v='javax.servlet,javax.el,javax.servlet.jsp,javax.servlet.http'/>
      <p n='version' t='version' v='2.1.0'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.jsp.util'/>
      <p n='uses:' v='javax.servlet,org.apache.sling.api,org.slf4j,org.apache.sling.api.wrappers,javax.servlet.jsp'/>
      <p n='version' t='version' v='2.0.2.incubator'/>
    </capability>
    <capability name='package'>
      <p n='package' v='javax.servlet.jsp.tagext'/>
      <p n='uses:' v='javax.servlet.jsp'/>
      <p n='version' t='version' v='2.1.0'/>
    </capability>
    <capability name='package'>
      <p n='package' v='javax.servlet.jsp'/>
      <p n='uses:' v='javax.servlet,javax.el,javax.servlet.jsp.el,javax.servlet.jsp.tagext,javax.servlet.http'/>
      <p n='version' t='version' v='2.1.0'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.el)(version&gt;=2.1.0))' extend='false' multiple='false' optional='false'>Import package javax.el ;version=2.1.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.naming))' extend='false' multiple='false' optional='false'>Import package javax.naming</require>
    <require name='package' filter='(&amp;(package=javax.script))' extend='false' multiple='false' optional='false'>Import package javax.script</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=javax.servlet.jsp)(version&gt;=2.1.0))' extend='false' multiple='false' optional='false'>Import package javax.servlet.jsp ;version=2.1.0</require>
    <require name='package' filter='(&amp;(package=javax.servlet.jsp.el)(version&gt;=2.1.0))' extend='false' multiple='false' optional='false'>Import package javax.servlet.jsp.el ;version=2.1.0</require>
    <require name='package' filter='(&amp;(package=javax.servlet.jsp.tagext)(version&gt;=2.1.0))' extend='false' multiple='false' optional='false'>Import package javax.servlet.jsp.tagext ;version=2.1.0</require>
    <require name='package' filter='(&amp;(package=javax.xml.parsers))' extend='false' multiple='false' optional='false'>Import package javax.xml.parsers</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.scripting)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.scripting ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.wrappers)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.wrappers ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.api)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.api ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.classloader)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.classloader ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.api)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.api ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.jsp.jasper.runtime)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.jsp.jasper.runtime ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.jsp.util)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.jsp.util ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component</require>
    <require name='package' filter='(&amp;(package=org.slf4j))' extend='false' multiple='false' optional='false'>Import package org.slf4j</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom))' extend='false' multiple='false' optional='false'>Import package org.w3c.dom</require>
    <require name='package' filter='(&amp;(package=org.xml.sax))' extend='false' multiple='false' optional='false'>Import package org.xml.sax</require>
    <require name='package' filter='(&amp;(package=org.xml.sax.ext))' extend='false' multiple='false' optional='false'>Import package org.xml.sax.ext</require>
    <require name='package' filter='(&amp;(package=org.xml.sax.helpers))' extend='false' multiple='false' optional='false'>Import package org.xml.sax.helpers</require>
  </resource>
  <resource id='org.apache.sling.scripting.jsp.taglib/2.0.2.incubator' symbolicname='org.apache.sling.scripting.jsp.taglib' presentationname='Sling - Scripting - JSP Support, Core Tag Library' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.scripting.jsp.taglib/2.0.2.incubator/org.apache.sling.scripting.jsp.taglib-2.0.2.incubator.jar' version='2.0.2.incubator'>
    <description>Core Tag Library for Project Sling JSP support</description>
    <size>16085</size>
    <documentation>http://incubator.apache.org/sling</documentation>
    <source>http://people.apache.org/repo/m2-incubating-repository/org/apache/sling/org.apache.sling.scripting.jsp.taglib/2.0.2-incubator/org.apache.sling.scripting.jsp.taglib-2.0.2-incubator-sources.jar</source>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='org.apache.sling'/>
    <capability name='bundle'>
      <p n='manifestversion' v='2'/>
      <p n='presentationname' v='Sling - Scripting - JSP Support, Core Tag Library'/>
      <p n='symbolicname' v='org.apache.sling.scripting.jsp.taglib'/>
      <p n='version' t='version' v='2.0.2.incubator'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.jsp.taglib'/>
      <p n='uses:' v='javax.jcr,org.apache.sling.api.request,org.apache.sling.api.scripting,org.apache.sling.scripting.jsp.util,org.slf4j,javax.servlet.jsp,org.apache.sling.api.resource,javax.servlet,org.apache.sling.api,javax.servlet.jsp.tagext'/>
      <p n='version' t='version' v='2.0.2.incubator'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.jsp)(version&gt;=2.1.0))' extend='false' multiple='false' optional='false'>Import package javax.servlet.jsp ;version=2.1.0</require>
    <require name='package' filter='(&amp;(package=javax.servlet.jsp.tagext)(version&gt;=2.1.0))' extend='false' multiple='false' optional='false'>Import package javax.servlet.jsp.tagext ;version=2.1.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.request)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.request ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.scripting)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.scripting ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.jsp.taglib)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.jsp.taglib ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.jsp.util)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.jsp.util ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.slf4j))' extend='false' multiple='false' optional='false'>Import package org.slf4j</require>
  </resource>
  <resource id='org.apache.sling.scripting.core/2.0.2.incubator' symbolicname='org.apache.sling.scripting.core' presentationname='Sling - Scripting Core implementation' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.scripting.core/2.0.2.incubator/org.apache.sling.scripting.core-2.0.2.incubator.jar' version='2.0.2.incubator'>
    <description>Sling Scripting core functionality</description>
    <size>28632</size>
    <documentation>http://incubator.apache.org/sling</documentation>
    <source>http://people.apache.org/repo/m2-incubating-repository/org/apache/sling/org.apache.sling.scripting.core/2.0.2-incubator/org.apache.sling.scripting.core-2.0.2-incubator-sources.jar</source>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='org.apache.sling'/>
    <capability name='bundle'>
      <p n='manifestversion' v='2'/>
      <p n='presentationname' v='Sling - Scripting Core implementation'/>
      <p n='symbolicname' v='org.apache.sling.scripting.core'/>
      <p n='version' t='version' v='2.0.2.incubator'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.core'/>
      <p n='uses:' v='javax.servlet,org.apache.sling.api.request,org.apache.sling.api.scripting,org.osgi.framework,org.apache.sling.api'/>
      <p n='version' t='version' v='2.0.2.incubator'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.script))' extend='false' multiple='false' optional='false'>Import package javax.script</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.adapter)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.adapter ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.request)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.request ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.scripting)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.scripting ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.wrappers)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.wrappers ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.core)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.core ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component</require>
    <require name='package' filter='(&amp;(package=org.slf4j))' extend='false' multiple='false' optional='false'>Import package org.slf4j</require>
  </resource>
  <resource id='org.apache.sling.scripting.api/2.0.2.incubator' symbolicname='org.apache.sling.scripting.api' presentationname='Sling - Scripting Implementation API' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.scripting.api/2.0.2.incubator/org.apache.sling.scripting.api-2.0.2.incubator.jar' version='2.0.2.incubator'>
    <description>This bundle provides the internal API to implement scripting. As such        it bundles the Java Scripting API provided by Apache BSF.</description>
    <size>26883</size>
    <documentation>http://incubator.apache.org/sling</documentation>
    <source>http://people.apache.org/repo/m2-incubating-repository/org/apache/sling/org.apache.sling.scripting.api/2.0.2-incubator/org.apache.sling.scripting.api-2.0.2-incubator-sources.jar</source>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='org.apache.sling'/>
    <capability name='bundle'>
      <p n='manifestversion' v='2'/>
      <p n='presentationname' v='Sling - Scripting Implementation API'/>
      <p n='symbolicname' v='org.apache.sling.scripting.api'/>
      <p n='version' t='version' v='2.0.2.incubator'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.scripting.api'/>
      <p n='uses:' v='javax.script'/>
      <p n='version' t='version' v='2.0.2.incubator'/>
    </capability>
    <capability name='package'>
      <p n='package' v='javax.script'/>
      <p n='version' t='version' v='0.0.0'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.script))' extend='false' multiple='false' optional='false'>Import package javax.script</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.scripting.api)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.scripting.api ;version=2.0.2.incubator</require>
  </resource>
  <resource id='org.apache.sling.api/2.0.2.incubator' symbolicname='org.apache.sling.api' presentationname='Sling - Servlet Extension API' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.api/2.0.2.incubator/org.apache.sling.api-2.0.2.incubator.jar' version='2.0.2.incubator'>
    <description>The Sling API defines an extension to the Servlet API 2.4 to        provide access to content and unified access to request        parameters hiding the differences between the different methods        of transferring parameters from client to server. Note that the        Sling API bundle does not include the Servlet API but instead        requires the API to be provided by the Servlet container in        which the Sling framework is running or by another bundle.</description>
    <size>46754</size>
    <documentation>http://incubator.apache.org/sling/site/sling-api.html</documentation>
    <source>http://people.apache.org/repo/m2-incubating-repository/org/apache/sling/org.apache.sling.api/2.0.2-incubator/org.apache.sling.api-2.0.2-incubator-sources.jar</source>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='org.apache.sling'/>
    <capability name='bundle'>
      <p n='manifestversion' v='2'/>
      <p n='presentationname' v='Sling - Servlet Extension API'/>
      <p n='symbolicname' v='org.apache.sling.api'/>
      <p n='version' t='version' v='2.0.2.incubator'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.api.servlets'/>
      <p n='uses:' v='javax.servlet,org.apache.sling.api,org.apache.sling.api.wrappers,javax.servlet.http'/>
      <p n='version' t='version' v='2.0.2.incubator'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.api.request'/>
      <p n='version' t='version' v='2.0.2.incubator'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.api.scripting'/>
      <p n='uses:' v='org.apache.sling.api.request,org.apache.sling.api,org.slf4j,org.apache.sling.api.resource'/>
      <p n='version' t='version' v='2.0.2.incubator'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.api'/>
      <p n='uses:' v='javax.servlet,org.apache.sling.api.request,javax.servlet.http,org.apache.sling.api.resource'/>
      <p n='version' t='version' v='2.0.2.incubator'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.api.adapter'/>
      <p n='version' t='version' v='2.0.2.incubator'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.api.wrappers'/>
      <p n='uses:' v='javax.servlet,org.apache.sling.api.request,org.apache.sling.api,javax.servlet.http,org.apache.sling.api.resource'/>
      <p n='version' t='version' v='2.0.2.incubator'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.api.resource'/>
      <p n='uses:' v='org.apache.sling.api,org.apache.sling.api.adapter,javax.servlet.http'/>
      <p n='version' t='version' v='2.0.2.incubator'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.servlet)(version&gt;=2.4.0))' extend='false' multiple='false' optional='false'>Import package javax.servlet ;version=2.4.0</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http)(version&gt;=2.4.0))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http ;version=2.4.0</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.adapter)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.adapter ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.request)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.request ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.scripting)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.scripting ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.servlets)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.servlets ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.wrappers)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.wrappers ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.slf4j))' extend='false' multiple='false' optional='false'>Import package org.slf4j</require>
  </resource>
  <resource id='org.apache.sling.servlets.resolver/2.0.4.incubator' symbolicname='org.apache.sling.servlets.resolver' presentationname='Sling - Servlet Resolver' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.servlets.resolver/2.0.4.incubator/org.apache.sling.servlets.resolver-2.0.4.incubator.jar' version='2.0.4.incubator'>
    <description>Bundle implementing the Sling API ServletResolver.</description>
    <size>39802</size>
    <documentation>http://incubator.apache.org/sling</documentation>
    <source>http://people.apache.org/repo/m2-incubating-repository/org/apache/sling/org.apache.sling.servlets.resolver/2.0.4-incubator/org.apache.sling.servlets.resolver-2.0.4-incubator-sources.jar</source>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='org.apache.sling'/>
    <capability name='bundle'>
      <p n='manifestversion' v='2'/>
      <p n='presentationname' v='Sling - Servlet Resolver'/>
      <p n='symbolicname' v='org.apache.sling.servlets.resolver'/>
      <p n='version' t='version' v='2.0.4.incubator'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.adapter)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.adapter ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.request)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.request ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.scripting)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.scripting ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.servlets)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.servlets ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.osgi)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.osgi ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.engine)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.engine ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.engine.servlets)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.engine.servlets ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.resource)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.resource ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.osgi.framework))' extend='false' multiple='false' optional='false'>Import package org.osgi.framework</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component</require>
    <require name='package' filter='(&amp;(package=org.slf4j))' extend='false' multiple='false' optional='false'>Import package org.slf4j</require>
  </resource>
  <resource id='org.apache.sling.jcr.webdav/2.0.2.incubator' symbolicname='org.apache.sling.jcr.webdav' presentationname='Sling - Simple WebDAV Access to repositories' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.jcr.webdav/2.0.2.incubator/org.apache.sling.jcr.webdav-2.0.2.incubator.jar' version='2.0.2.incubator'>
    <description>Bundle to access JCR repositories over WebDAV</description>
    <size>1741756</size>
    <documentation>http://incubator.apache.org/sling</documentation>
    <source>http://people.apache.org/repo/m2-incubating-repository/org/apache/sling/org.apache.sling.jcr.webdav/2.0.2-incubator/org.apache.sling.jcr.webdav-2.0.2-incubator-sources.jar</source>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='org.apache.sling'/>
    <capability name='bundle'>
      <p n='manifestversion' v='2'/>
      <p n='presentationname' v='Sling - Simple WebDAV Access to repositories'/>
      <p n='symbolicname' v='org.apache.sling.jcr.webdav'/>
      <p n='version' t='version' v='2.0.2.incubator'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.lock)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.lock ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.nodetype)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.nodetype ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.observation)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.observation ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.query)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.query ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.util)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.util ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.jcr.version)(version&gt;=1.0.0))' extend='false' multiple='false' optional='false'>Import package javax.jcr.version ;version=1.0.0</require>
    <require name='package' filter='(&amp;(package=javax.servlet))' extend='false' multiple='false' optional='false'>Import package javax.servlet</require>
    <require name='package' filter='(&amp;(package=javax.servlet.http))' extend='false' multiple='false' optional='false'>Import package javax.servlet.http</require>
    <require name='package' filter='(&amp;(package=javax.transaction.xa))' extend='false' multiple='false' optional='true'>Import package javax.transaction.xa</require>
    <require name='package' filter='(&amp;(package=javax.xml.datatype))' extend='false' multiple='false' optional='true'>Import package javax.xml.datatype</require>
    <require name='package' filter='(&amp;(package=javax.xml.namespace))' extend='false' multiple='false' optional='true'>Import package javax.xml.namespace</require>
    <require name='package' filter='(&amp;(package=javax.xml.parsers))' extend='false' multiple='false' optional='true'>Import package javax.xml.parsers</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform))' extend='false' multiple='false' optional='true'>Import package javax.xml.transform</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform.dom))' extend='false' multiple='false' optional='true'>Import package javax.xml.transform.dom</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform.sax))' extend='false' multiple='false' optional='true'>Import package javax.xml.transform.sax</require>
    <require name='package' filter='(&amp;(package=javax.xml.transform.stream))' extend='false' multiple='false' optional='true'>Import package javax.xml.transform.stream</require>
    <require name='package' filter='(&amp;(package=javax.xml.validation))' extend='false' multiple='false' optional='true'>Import package javax.xml.validation</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.collections.map))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.collections.map</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.api)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.api ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.xml.resolver))' extend='false' multiple='false' optional='true'>Import package org.apache.xml.resolver</require>
    <require name='package' filter='(&amp;(package=org.apache.xml.resolver.readers))' extend='false' multiple='false' optional='true'>Import package org.apache.xml.resolver.readers</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.http))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.http</require>
    <require name='package' filter='(&amp;(package=org.slf4j))' extend='false' multiple='false' optional='false'>Import package org.slf4j</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom))' extend='false' multiple='false' optional='true'>Import package org.w3c.dom</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom.events))' extend='false' multiple='false' optional='true'>Import package org.w3c.dom.events</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom.html))' extend='false' multiple='false' optional='true'>Import package org.w3c.dom.html</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom.ls))' extend='false' multiple='false' optional='true'>Import package org.w3c.dom.ls</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom.ranges))' extend='false' multiple='false' optional='true'>Import package org.w3c.dom.ranges</require>
    <require name='package' filter='(&amp;(package=org.w3c.dom.traversal))' extend='false' multiple='false' optional='true'>Import package org.w3c.dom.traversal</require>
    <require name='package' filter='(&amp;(package=org.xml.sax))' extend='false' multiple='false' optional='true'>Import package org.xml.sax</require>
    <require name='package' filter='(&amp;(package=org.xml.sax.ext))' extend='false' multiple='false' optional='true'>Import package org.xml.sax.ext</require>
    <require name='package' filter='(&amp;(package=org.xml.sax.helpers))' extend='false' multiple='false' optional='true'>Import package org.xml.sax.helpers</require>
  </resource>
  <resource id='org.apache.sling.commons.json/2.0.2.incubator' symbolicname='org.apache.sling.commons.json' presentationname='Sling - Sling JSON Library' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.commons.json/2.0.2.incubator/org.apache.sling.commons.json-2.0.2.incubator.jar' version='2.0.2.incubator'>
    <description>Sling JSON Library</description>
    <size>44419</size>
    <documentation>http://incubator.apache.org/sling</documentation>
    <source>http://people.apache.org/repo/m2-incubating-repository/org/apache/sling/org.apache.sling.commons.json/2.0.2-incubator/org.apache.sling.commons.json-2.0.2-incubator-sources.jar</source>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='org.apache.sling'/>
    <capability name='bundle'>
      <p n='manifestversion' v='2'/>
      <p n='presentationname' v='Sling - Sling JSON Library'/>
      <p n='symbolicname' v='org.apache.sling.commons.json'/>
      <p n='version' t='version' v='2.0.2.incubator'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.commons.json.http'/>
      <p n='uses:' v='org.apache.sling.commons.json'/>
      <p n='version' t='version' v='2.0.2.incubator'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.commons.json'/>
      <p n='version' t='version' v='2.0.2.incubator'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.commons.json.xml'/>
      <p n='uses:' v='org.apache.sling.commons.json'/>
      <p n='version' t='version' v='2.0.2.incubator'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.commons.json.util'/>
      <p n='uses:' v='org.apache.sling.commons.json'/>
      <p n='version' t='version' v='2.0.2.incubator'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.commons.json.jcr'/>
      <p n='uses:' v='javax.jcr,org.apache.sling.commons.json,javax.jcr.nodetype,org.apache.sling.commons.json.io'/>
      <p n='version' t='version' v='2.0.2.incubator'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.commons.json.io'/>
      <p n='uses:' v='org.apache.sling.commons.json'/>
      <p n='version' t='version' v='2.0.2.incubator'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr))' extend='false' multiple='false' optional='false'>Import package javax.jcr</require>
    <require name='package' filter='(&amp;(package=javax.jcr.nodetype))' extend='false' multiple='false' optional='false'>Import package javax.jcr.nodetype</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json.http)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json.http ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json.io)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json.io ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json.jcr)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json.jcr ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json.util)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json.util ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.json.xml)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.json.xml ;version=2.0.2.incubator</require>
  </resource>
  <resource id='org.apache.sling.commons.threads/2.0.2.incubator' symbolicname='org.apache.sling.commons.threads' presentationname='Sling - Thread Support' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.commons.threads/2.0.2.incubator/org.apache.sling.commons.threads-2.0.2.incubator.jar' version='2.0.2.incubator'>
    <description>Support for thread handling like pooling.</description>
    <size>21481</size>
    <documentation>http://incubator.apache.org/sling</documentation>
    <source>http://people.apache.org/repo/m2-incubating-repository/org/apache/sling/org.apache.sling.commons.threads/2.0.2-incubator/org.apache.sling.commons.threads-2.0.2-incubator-sources.jar</source>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='org.apache.sling'/>
    <capability name='bundle'>
      <p n='manifestversion' v='2'/>
      <p n='presentationname' v='Sling - Thread Support'/>
      <p n='symbolicname' v='org.apache.sling.commons.threads'/>
      <p n='version' t='version' v='2.0.2.incubator'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.commons.threads'/>
      <p n='version' t='version' v='2.0.2.incubator'/>
    </capability>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.threads)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.threads ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.osgi.service.component))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.component</require>
    <require name='package' filter='(&amp;(package=org.slf4j))' extend='false' multiple='false' optional='false'>Import package org.slf4j</require>
  </resource>
  <resource id='org.apache.sling.samples.webloader.service/2.0.2.incubator' symbolicname='org.apache.sling.samples.webloader.service' presentationname='Sling - Webloader Service' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.samples.webloader.service/2.0.2.incubator/org.apache.sling.samples.webloader.service-2.0.2.incubator.jar' version='2.0.2.incubator'>
    <description>Sample OSGi service that retrieves documents from the Web using a Google        search, and stores them into the repository.</description>
    <size>22502</size>
    <documentation>http://incubator.apache.org/sling</documentation>
    <source>http://people.apache.org/repo/m2-incubating-repository/org/apache/sling/samples/org.apache.sling.samples.webloader.service/2.0.2-incubator/org.apache.sling.samples.webloader.service-2.0.2-incubator-sources.jar</source>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='org.apache.sling.samples'/>
    <capability name='bundle'>
      <p n='manifestversion' v='2'/>
      <p n='presentationname' v='Sling - Webloader Service'/>
      <p n='symbolicname' v='org.apache.sling.samples.webloader.service'/>
      <p n='version' t='version' v='2.0.2.incubator'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.samples.webloader'/>
      <p n='uses:' v='org.apache.sling.api'/>
      <p n='version' t='version' v='2.0.2.incubator'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr))' extend='false' multiple='false' optional='false'>Import package javax.jcr</require>
    <require name='package' filter='(&amp;(package=javax.swing.text))' extend='false' multiple='false' optional='false'>Import package javax.swing.text</require>
    <require name='package' filter='(&amp;(package=javax.swing.text.html))' extend='false' multiple='false' optional='false'>Import package javax.swing.text.html</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.commons.mime))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.commons.mime</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.jcr.api))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.jcr.api</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.samples.webloader)(version&gt;=2.0.2.incubator))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.samples.webloader ;version=2.0.2.incubator</require>
    <require name='package' filter='(&amp;(package=org.slf4j))' extend='false' multiple='false' optional='false'>Import package org.slf4j</require>
  </resource>
  <resource id='org.apache.sling.samples.webloader.ui/2.0.2.incubator' symbolicname='org.apache.sling.samples.webloader.ui' presentationname='Sling - Webloader User Interface' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.samples.webloader.ui/2.0.2.incubator/org.apache.sling.samples.webloader.ui-2.0.2.incubator.jar' version='2.0.2.incubator'>
    <description>Simple user interface for the Sling Webloader service.</description>
    <size>11551</size>
    <documentation>http://incubator.apache.org/sling</documentation>
    <source>http://people.apache.org/repo/m2-incubating-repository/org/apache/sling/samples/org.apache.sling.samples.webloader.ui/2.0.2-incubator/org.apache.sling.samples.webloader.ui-2.0.2-incubator-sources.jar</source>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='org.apache.sling.samples'/>
    <capability name='bundle'>
      <p n='manifestversion' v='2'/>
      <p n='presentationname' v='Sling - Webloader User Interface'/>
      <p n='symbolicname' v='org.apache.sling.samples.webloader.ui'/>
      <p n='version' t='version' v='2.0.2.incubator'/>
    </capability>
  </resource>
  <resource id='org.apache.sling.query/2.0.0' symbolicname='org.apache.sling.query' presentationname='sling-query' uri='http://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.query/2.0.0/org.apache.sling.query-2.0.0.jar' version='2.0.0'>
    <description>jQuery-inspired repository traversal tool for Sling</description>
    <size>132696</size>
    <documentation>http://sling.apache.org</documentation>
    <license>http://www.apache.org/licenses/LICENSE-2.0.txt</license>
    <category id='sling'/>
    <capability name='bundle'>
      <p n='symbolicname' v='org.apache.sling.query'/>
      <p n='presentationname' v='sling-query'/>
      <p n='version' t='version' v='2.0.0'/>
      <p n='manifestversion' v='2'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.query'/>
      <p n='version' t='version' v='2.0.0'/>
      <p n='uses:' v='org.apache.sling.api.resource,org.apache.sling.query.api'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.query.api'/>
      <p n='version' t='version' v='2.0.0'/>
      <p n='uses:' v='org.apache.sling.query.selector.parser'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.query.api.function'/>
      <p n='version' t='version' v='2.0.0'/>
      <p n='uses:' v='org.apache.sling.query.api'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.query.predicate'/>
      <p n='version' t='version' v='2.0.0'/>
      <p n='uses:' v='org.apache.sling.query.api'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.query.resource'/>
      <p n='version' t='version' v='2.0.0'/>
      <p n='uses:' v='org.apache.sling.api.resource,org.apache.sling.query.api,org.apache.sling.query.resource.jcr,org.apache.sling.query.selector.parser'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.query.resource.jcr'/>
      <p n='version' t='version' v='2.0.0'/>
      <p n='uses:' v='org.apache.sling.api.resource,org.apache.sling.query.iterator,org.apache.sling.query.selector.parser'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.query.resource.jcr.query'/>
      <p n='version' t='version' v='2.0.0'/>
      <p n='uses:' v='org.apache.sling.query.resource.jcr,org.apache.sling.query.selector.parser'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.query.selector'/>
      <p n='version' t='version' v='2.0.0'/>
      <p n='uses:' v='org.apache.sling.query.api,org.apache.sling.query.api.function,org.apache.sling.query.selector.parser'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.query.selector.parser'/>
      <p n='version' t='version' v='2.0.0'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.query.function'/>
      <p n='version' t='version' v='2.0.0'/>
      <p n='uses:' v='org.apache.sling.query.api,org.apache.sling.query.api.function,org.apache.sling.query.selector.parser'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.query.iterator'/>
      <p n='version' t='version' v='2.0.0'/>
      <p n='uses:' v='org.apache.sling.query.api,org.apache.sling.query.api.function'/>
    </capability>
    <capability name='package'>
      <p n='package' v='org.apache.sling.query.iterator.tree'/>
      <p n='version' t='version' v='2.0.0'/>
      <p n='uses:' v='org.apache.sling.query.api,org.apache.sling.query.iterator'/>
    </capability>
    <require name='package' filter='(&amp;(package=javax.jcr))' extend='false' multiple='false' optional='false'>Import package javax.jcr</require>
    <require name='package' filter='(&amp;(package=javax.jcr.nodetype))' extend='false' multiple='false' optional='false'>Import package javax.jcr.nodetype</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.lang)(version&gt;=2.5.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.lang;version="[2.5,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.commons.lang.builder)(version&gt;=2.5.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.commons.lang.builder;version="[2.5,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.adapter)(version&gt;=2.2.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.adapter;version="[2.2,3)"</require>
    <require name='package' filter='(&amp;(package=org.apache.sling.api.resource)(version&gt;=2.1.0)(!(version&gt;=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.sling.api.resource;version="[2.1,3)"</require>
    <require name='package' filter='(&amp;(package=org.slf4j)(version&gt;=1.5.0)(!(version&gt;=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.slf4j;version="[1.5,2)"</require>
    <require name='ee' filter='(|(ee=JavaSE-1.6))' extend='false' multiple='false' optional='false'>Execution Environment (|(ee=JavaSE-1.6))</require>
  </resource>
</repository>