diff --git a/build-spring-framework/build.iml b/build-spring-framework/build.iml index b5887115b1b..49b4a514717 100644 --- a/build-spring-framework/build.iml +++ b/build-spring-framework/build.iml @@ -1,12 +1,12 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/org.springframework.aop/.classpath b/org.springframework.aop/.classpath index 39d224ce8d9..9c4b7b80bdb 100644 --- a/org.springframework.aop/.classpath +++ b/org.springframework.aop/.classpath @@ -11,9 +11,9 @@ - + - + diff --git a/org.springframework.aop/aop.iml b/org.springframework.aop/aop.iml index c4e766846b7..b650a349da6 100644 --- a/org.springframework.aop/aop.iml +++ b/org.springframework.aop/aop.iml @@ -1,122 +1,32 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/org.springframework.aop/ivy.xml b/org.springframework.aop/ivy.xml index adcf4814350..71ba5635ec4 100644 --- a/org.springframework.aop/ivy.xml +++ b/org.springframework.aop/ivy.xml @@ -28,13 +28,13 @@ - + - + diff --git a/org.springframework.beans/.classpath b/org.springframework.beans/.classpath index 46d24dab238..212215bd103 100644 --- a/org.springframework.beans/.classpath +++ b/org.springframework.beans/.classpath @@ -10,7 +10,7 @@ - + diff --git a/org.springframework.beans/beans.iml b/org.springframework.beans/beans.iml index 88f7c20d751..6529a8e08a6 100644 --- a/org.springframework.beans/beans.iml +++ b/org.springframework.beans/beans.iml @@ -1,99 +1,28 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/org.springframework.beans/ivy.xml b/org.springframework.beans/ivy.xml index 3205b8568a0..78dbe911b16 100644 --- a/org.springframework.beans/ivy.xml +++ b/org.springframework.beans/ivy.xml @@ -26,7 +26,7 @@ - + diff --git a/org.springframework.context.support/.classpath b/org.springframework.context.support/.classpath index 0306cb0eb9e..63dea0f5d67 100644 --- a/org.springframework.context.support/.classpath +++ b/org.springframework.context.support/.classpath @@ -5,6 +5,8 @@ + + @@ -16,16 +18,14 @@ - + - - + - diff --git a/org.springframework.context.support/context-support.iml b/org.springframework.context.support/context-support.iml index 5aafbba9de0..b64f0e851e8 100644 --- a/org.springframework.context.support/context-support.iml +++ b/org.springframework.context.support/context-support.iml @@ -11,63 +11,25 @@ + + + + + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -85,55 +47,33 @@ - + - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - + @@ -151,11 +91,22 @@ - + - + + + + + + + + + + + + diff --git a/org.springframework.context.support/ivy.xml b/org.springframework.context.support/ivy.xml index cb8dfb61f72..5099f78e9a8 100644 --- a/org.springframework.context.support/ivy.xml +++ b/org.springframework.context.support/ivy.xml @@ -29,15 +29,15 @@ - + - + - + @@ -45,9 +45,9 @@ - + diff --git a/org.springframework.context/.classpath b/org.springframework.context/.classpath index 1d18e3f4066..37dcac5703b 100644 --- a/org.springframework.context/.classpath +++ b/org.springframework.context/.classpath @@ -23,11 +23,11 @@ - + - + diff --git a/org.springframework.context/context.iml b/org.springframework.context/context.iml index 16f094b9aea..906b293e0ed 100644 --- a/org.springframework.context/context.iml +++ b/org.springframework.context/context.iml @@ -1,232 +1,168 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/org.springframework.context/ivy.xml b/org.springframework.context/ivy.xml index bb4f7b35f49..3ba1f046f58 100644 --- a/org.springframework.context/ivy.xml +++ b/org.springframework.context/ivy.xml @@ -41,10 +41,12 @@ - + - + + + @@ -57,7 +59,7 @@ - + diff --git a/org.springframework.core/.classpath b/org.springframework.core/.classpath index 5eafe54e282..92e2e1b17ee 100644 --- a/org.springframework.core/.classpath +++ b/org.springframework.core/.classpath @@ -7,8 +7,8 @@ - - + + diff --git a/org.springframework.core/core.iml b/org.springframework.core/core.iml index 62343b6a1c7..552e3ec093c 100644 --- a/org.springframework.core/core.iml +++ b/org.springframework.core/core.iml @@ -11,92 +11,18 @@ + + + + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -119,15 +45,6 @@ - - - - - - - - - diff --git a/org.springframework.core/ivy.xml b/org.springframework.core/ivy.xml index a27ee7461e9..ebe3803be4c 100644 --- a/org.springframework.core/ivy.xml +++ b/org.springframework.core/ivy.xml @@ -26,13 +26,13 @@ conf="compile->compile"/> - - + diff --git a/org.springframework.expression/.classpath b/org.springframework.expression/.classpath index 176e4ebd76f..dabad1d2137 100644 --- a/org.springframework.expression/.classpath +++ b/org.springframework.expression/.classpath @@ -6,7 +6,7 @@ - + diff --git a/org.springframework.expression/expression.iml b/org.springframework.expression/expression.iml index 39c21fa7747..4fb7b723375 100644 --- a/org.springframework.expression/expression.iml +++ b/org.springframework.expression/expression.iml @@ -1,49 +1,29 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/org.springframework.expression/ivy.xml b/org.springframework.expression/ivy.xml index ed2fc4a88d8..0438b4d453e 100644 --- a/org.springframework.expression/ivy.xml +++ b/org.springframework.expression/ivy.xml @@ -24,7 +24,7 @@ - + diff --git a/org.springframework.instrument/instrument.iml b/org.springframework.instrument/instrument.iml index 550885dbc35..ef0c9607f1a 100644 --- a/org.springframework.instrument/instrument.iml +++ b/org.springframework.instrument/instrument.iml @@ -1,21 +1,21 @@ - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + diff --git a/org.springframework.integration-tests/.classpath b/org.springframework.integration-tests/.classpath index fb4c5b66709..61c15d85bed 100644 --- a/org.springframework.integration-tests/.classpath +++ b/org.springframework.integration-tests/.classpath @@ -19,7 +19,7 @@ - + @@ -36,7 +36,7 @@ - + @@ -48,7 +48,7 @@ - + diff --git a/org.springframework.integration-tests/integration-tests.iml b/org.springframework.integration-tests/integration-tests.iml index 929dba9a2ad..b1984456a9e 100644 --- a/org.springframework.integration-tests/integration-tests.iml +++ b/org.springframework.integration-tests/integration-tests.iml @@ -21,39 +21,14 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + @@ -184,28 +159,6 @@ - - - - - - - - - - - - - - - - - - - - - - @@ -248,28 +201,6 @@ - - - - - - - - - - - - - - - - - - - - - - @@ -337,22 +268,11 @@ - + - - - - - - - - - - - - + @@ -411,17 +331,6 @@ - - - - - - - - - - - @@ -431,28 +340,6 @@ - - - - - - - - - - - - - - - - - - - - - - @@ -519,17 +406,6 @@ - - - - - - - - - - - @@ -557,6 +433,17 @@ + + + + + + + + + + + diff --git a/org.springframework.integration-tests/ivy.xml b/org.springframework.integration-tests/ivy.xml index a0a27a4257c..6734a6d8aa5 100644 --- a/org.springframework.integration-tests/ivy.xml +++ b/org.springframework.integration-tests/ivy.xml @@ -41,7 +41,7 @@ - + @@ -62,8 +62,8 @@ - - + + @@ -93,7 +93,7 @@ - + diff --git a/org.springframework.jdbc/.classpath b/org.springframework.jdbc/.classpath index fd85218782e..23405bfafa0 100644 --- a/org.springframework.jdbc/.classpath +++ b/org.springframework.jdbc/.classpath @@ -13,7 +13,7 @@ - + diff --git a/org.springframework.jdbc/ivy.xml b/org.springframework.jdbc/ivy.xml index f43d5169317..12f678464e3 100644 --- a/org.springframework.jdbc/ivy.xml +++ b/org.springframework.jdbc/ivy.xml @@ -34,7 +34,7 @@ - + diff --git a/org.springframework.jdbc/jdbc.iml b/org.springframework.jdbc/jdbc.iml index fffe32d6820..f47cc6c5d55 100644 --- a/org.springframework.jdbc/jdbc.iml +++ b/org.springframework.jdbc/jdbc.iml @@ -11,22 +11,14 @@ - - - - - - - - - - - + + + @@ -74,22 +66,11 @@ - + - - - - - - - - - - - - + diff --git a/org.springframework.jms/.classpath b/org.springframework.jms/.classpath index 61ba52f5823..bd0bee7a522 100644 --- a/org.springframework.jms/.classpath +++ b/org.springframework.jms/.classpath @@ -10,7 +10,7 @@ - + diff --git a/org.springframework.jms/ivy.xml b/org.springframework.jms/ivy.xml index 31181b87883..8416a751bfd 100644 --- a/org.springframework.jms/ivy.xml +++ b/org.springframework.jms/ivy.xml @@ -31,7 +31,7 @@ - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/org.springframework.orm/.classpath b/org.springframework.orm/.classpath index 0dda8f0472f..bfadeab398f 100644 --- a/org.springframework.orm/.classpath +++ b/org.springframework.orm/.classpath @@ -18,12 +18,12 @@ - + - + diff --git a/org.springframework.orm/ivy.xml b/org.springframework.orm/ivy.xml index 92c09f01432..46a1df89dba 100644 --- a/org.springframework.orm/ivy.xml +++ b/org.springframework.orm/ivy.xml @@ -53,11 +53,11 @@ - + - + diff --git a/org.springframework.orm/orm.iml b/org.springframework.orm/orm.iml index 60330185f31..76342e45bf5 100644 --- a/org.springframework.orm/orm.iml +++ b/org.springframework.orm/orm.iml @@ -1,242 +1,205 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/org.springframework.oxm/.classpath b/org.springframework.oxm/.classpath index 97942cdf544..c6f04682f0f 100644 --- a/org.springframework.oxm/.classpath +++ b/org.springframework.oxm/.classpath @@ -16,7 +16,7 @@ - + diff --git a/org.springframework.oxm/ivy.xml b/org.springframework.oxm/ivy.xml index 16d2cd3bb18..5d5ccca891b 100644 --- a/org.springframework.oxm/ivy.xml +++ b/org.springframework.oxm/ivy.xml @@ -47,7 +47,7 @@ - + diff --git a/org.springframework.oxm/oxm.iml b/org.springframework.oxm/oxm.iml index 32007377855..2b8d45cb4b7 100644 --- a/org.springframework.oxm/oxm.iml +++ b/org.springframework.oxm/oxm.iml @@ -1,190 +1,160 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/org.springframework.test/.classpath b/org.springframework.test/.classpath index 1c7f22ca975..d35f01db07a 100644 --- a/org.springframework.test/.classpath +++ b/org.springframework.test/.classpath @@ -24,7 +24,7 @@ - + diff --git a/org.springframework.test/ivy.xml b/org.springframework.test/ivy.xml index ff70c28e6e0..35f5ec94ea6 100644 --- a/org.springframework.test/ivy.xml +++ b/org.springframework.test/ivy.xml @@ -28,7 +28,7 @@ - + diff --git a/org.springframework.test/test.iml b/org.springframework.test/test.iml index 0e479b08d10..a5a65c18b9a 100644 --- a/org.springframework.test/test.iml +++ b/org.springframework.test/test.iml @@ -1,160 +1,134 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/org.springframework.transaction/.classpath b/org.springframework.transaction/.classpath index 5855f6bdd7f..5c9e325bd6a 100644 --- a/org.springframework.transaction/.classpath +++ b/org.springframework.transaction/.classpath @@ -15,9 +15,9 @@ - + - + diff --git a/org.springframework.transaction/ivy.xml b/org.springframework.transaction/ivy.xml index 46337637866..bcde85c3fec 100644 --- a/org.springframework.transaction/ivy.xml +++ b/org.springframework.transaction/ivy.xml @@ -33,8 +33,8 @@ - - + + diff --git a/org.springframework.transaction/transaction.iml b/org.springframework.transaction/transaction.iml index bcc285d4e96..ddab1b97b94 100644 --- a/org.springframework.transaction/transaction.iml +++ b/org.springframework.transaction/transaction.iml @@ -1,144 +1,83 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/org.springframework.web.portlet/.classpath b/org.springframework.web.portlet/.classpath index 04db23494e7..53d54ce3e57 100644 --- a/org.springframework.web.portlet/.classpath +++ b/org.springframework.web.portlet/.classpath @@ -14,7 +14,7 @@ - + diff --git a/org.springframework.web.portlet/ivy.xml b/org.springframework.web.portlet/ivy.xml index 86f1a14ba20..b76d78661e0 100644 --- a/org.springframework.web.portlet/ivy.xml +++ b/org.springframework.web.portlet/ivy.xml @@ -34,7 +34,7 @@ - + diff --git a/org.springframework.web.portlet/web-portlet.iml b/org.springframework.web.portlet/web-portlet.iml index 063f5ea8f57..e7abff0a9eb 100644 --- a/org.springframework.web.portlet/web-portlet.iml +++ b/org.springframework.web.portlet/web-portlet.iml @@ -1,92 +1,62 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/org.springframework.web.servlet/.classpath b/org.springframework.web.servlet/.classpath index d3f8b65331e..24e4a47bfcd 100644 --- a/org.springframework.web.servlet/.classpath +++ b/org.springframework.web.servlet/.classpath @@ -40,7 +40,7 @@ - + diff --git a/org.springframework.web.servlet/ivy.xml b/org.springframework.web.servlet/ivy.xml index fa131592bad..c404a1ac155 100644 --- a/org.springframework.web.servlet/ivy.xml +++ b/org.springframework.web.servlet/ivy.xml @@ -77,7 +77,7 @@ - + diff --git a/org.springframework.web.servlet/web-servlet.iml b/org.springframework.web.servlet/web-servlet.iml index c0f853b6fef..a4c8157d07a 100644 --- a/org.springframework.web.servlet/web-servlet.iml +++ b/org.springframework.web.servlet/web-servlet.iml @@ -18,14 +18,17 @@ + + + - + - + @@ -117,17 +120,6 @@ - - - - - - - - - - - @@ -139,28 +131,6 @@ - - - - - - - - - - - - - - - - - - - - - - diff --git a/org.springframework.web/.classpath b/org.springframework.web/.classpath index f069407ef7a..711d6ee4d37 100644 --- a/org.springframework.web/.classpath +++ b/org.springframework.web/.classpath @@ -30,7 +30,7 @@ - + diff --git a/org.springframework.web/ivy.xml b/org.springframework.web/ivy.xml index 22b23da8713..005b2e11813 100644 --- a/org.springframework.web/ivy.xml +++ b/org.springframework.web/ivy.xml @@ -71,7 +71,7 @@ - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/spring-framework.ipr b/spring-framework.ipr index 7281b892dae..2df8b789d5a 100644 --- a/spring-framework.ipr +++ b/spring-framework.ipr @@ -1,961 +1,979 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +