ext.libraries = [
        acme                       : [
                dependencies.create(libs.acme4j.client.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "org.bitbucket.b_c", module: "jose4j")
                    exclude(group: "org.bouncycastle", module: "bcpkix-jdk15on")
                    exclude(group: "org.bouncycastle", module: "bcprov-jdk15on")
                }
        ],
        slack                      : [
                dependencies.create(libs.slack.api.client.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                }
        ],
        googlecloudstorage          : [
                dependencies.create(libs.spring.cloud.gcp.starter.storage.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "com.google.guava", module: "guava")
                    exclude(group: "commons-codec", module: "commons-codec")
                    exclude(group: "ch.qos.logback", module: "logback-core")
                    exclude(group: "ch.qos.logback", module: "logback-classic")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter")
                },
                dependencies.create(libs.google.cloud.monitoring.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "com.google.guava", module: "guava")
                    exclude(group: "commons-codec", module: "commons-codec")
                    exclude(group: "ch.qos.logback", module: "logback-core")
                    exclude(group: "ch.qos.logback", module: "logback-classic")
                }
        ],
        googlecloudpubsub          : [
                dependencies.create(libs.spring.cloud.gcp.starter.pubsub.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "com.google.guava", module: "guava")
                    exclude(group: "commons-codec", module: "commons-codec")
                    exclude(group: "ch.qos.logback", module: "logback-core")
                    exclude(group: "ch.qos.logback", module: "logback-classic")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter")
                },
                dependencies.create(libs.google.cloud.monitoring.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "com.google.guava", module: "guava")
                    exclude(group: "commons-codec", module: "commons-codec")
                    exclude(group: "ch.qos.logback", module: "logback-core")
                    exclude(group: "ch.qos.logback", module: "logback-classic")
                }
        ],
        googlecloudtrace          : [
                dependencies.create(libs.spring.cloud.gcp.starter.trace.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "com.google.guava", module: "guava")
                    exclude(group: "commons-codec", module: "commons-codec")
                    exclude(group: "ch.qos.logback", module: "logback-core")
                    exclude(group: "ch.qos.logback", module: "logback-classic")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter-actuator")
                }
        ],
        javersmongo: [
                dependencies.create(libs.javers.spring.boot.starter.mongo.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "com.google.guava", module: "guava")
                    exclude(group: "commons-codec", module: "commons-codec")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter-logging")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter")
                    exclude(group: "ch.qos.logback", module: "logback-core")
                    exclude(group: "ch.qos.logback", module: "logback-classic")
                }
        ],
        permitio          : [
                dependencies.create(libs.permit.sdk.java.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "ch.qos.logback", module: "logback-core")
                    exclude(group: "ch.qos.logback", module: "logback-classic")
                }
        ],
        googlecloudlogging          : [
                dependencies.create(libs.spring.cloud.gcp.starter.logging.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "com.google.guava", module: "guava")
                    exclude(group: "commons-codec", module: "commons-codec")
                    exclude(group: "ch.qos.logback", module: "logback-core")
                    exclude(group: "ch.qos.logback", module: "logback-classic")
                    exclude(group: "ch.qos.logback.contrib", module: "logback-json-classic")
                    exclude(group: "com.google.cloud", module: "google-cloud-logging-logback")
                    exclude(group: "net.logstash.logback", module: "logstash-logback-encoder")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter")
                },
                dependencies.create(libs.google.cloud.logging.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "com.google.guava", module: "guava")
                    exclude(group: "commons-codec", module: "commons-codec")
                    exclude(group: "ch.qos.logback", module: "logback-core")
                    exclude(group: "ch.qos.logback", module: "logback-classic")
                    exclude(group: "ch.qos.logback.contrib", module: "logback-json-classic")
                    exclude(group: "com.google.cloud", module: "google-cloud-logging-logback")
                    exclude(group: "net.logstash.logback", module: "logstash-logback-encoder")
                }
        ],
        googlecloudsecretsmanager  : [
                dependencies.create(libs.spring.cloud.gcp.secretmanager.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "com.google.guava", module: "guava")
                    exclude(group: "commons-codec", module: "commons-codec")
                    exclude(group: "ch.qos.logback", module: "logback-core")
                    exclude(group: "ch.qos.logback", module: "logback-classic")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter")
                },
                dependencies.create(libs.spring.cloud.gcp.starter.secretmanager.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "com.google.guava", module: "guava")
                    exclude(group: "commons-codec", module: "commons-codec")
                    exclude(group: "ch.qos.logback", module: "logback-core")
                    exclude(group: "ch.qos.logback", module: "logback-classic")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter")
                }
        ],
        googlecloudfirestore       : [
                dependencies.create(libs.spring.cloud.gcp.starter.data.firestore.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "com.google.guava", module: "guava")
                    exclude(group: "commons-codec", module: "commons-codec")
                    exclude(group: "ch.qos.logback", module: "logback-core")
                    exclude(group: "ch.qos.logback", module: "logback-classic")
                    exclude(group: "io.projectreactor", module: "reactor-core")
                    exclude(group: "org.springframework.integration", module: "spring-integration-core")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter")
                },
                dependencies.create(libs.spring.cloud.gcp.data.firestore.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "com.google.guava", module: "guava")
                    exclude(group: "commons-codec", module: "commons-codec")
                    exclude(group: "ch.qos.logback", module: "logback-core")
                    exclude(group: "ch.qos.logback", module: "logback-classic")
                    exclude(group: "io.projectreactor", module: "reactor-core")
                    exclude(group: "org.springframework.integration", module: "spring-integration-core")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter")
                }
        ],
        pushy              : [
                dependencies.create(libs.pushy.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "com.google.guava", module: "guava")
                    exclude(group: "commons-codec", module: "commons-codec")
                }
        ],
        firebaseadmin              : [
                dependencies.create(libs.google.api.client.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "com.google.guava", module: "guava")
                    exclude(group: "commons-codec", module: "commons-codec")
                    exclude(group: "ch.qos.logback", module: "logback-core")
                    exclude(group: "ch.qos.logback", module: "logback-classic")
                },
                dependencies.create(libs.firebase.admin.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "com.google.guava", module: "guava")
                    exclude(group: "commons-codec", module: "commons-codec")
                    exclude(group: "ch.qos.logback", module: "logback-core")
                    exclude(group: "ch.qos.logback", module: "logback-classic")
                }
        ],
        azureinsightsagent : [
                dependencies.create(libs.azure.insights.agent.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "ch.qos.logback", module: "logback-core")
                    exclude(group: "ch.qos.logback", module: "logback-classic")
                },
        ],
        azurekustolog4j : [
            dependencies.create(libs.azure.kusto.log4j.get()) {
                exclude(group: "org.slf4j", module: "slf4j-api")
                exclude(group: "org.apache.logging.log4j", module: "log4j-core")
                exclude(group: "org.jetbrains", module: "annotations")
            }
        ],
        elasticapmagent : [
                dependencies.create(libs.apm.agent.attach.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "ch.qos.logback", module: "logback-core")
                    exclude(group: "ch.qos.logback", module: "logback-classic")
                },
                dependencies.create(libs.apm.agent.api.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "ch.qos.logback", module: "logback-core")
                    exclude(group: "ch.qos.logback", module: "logback-classic")
                }
        ],
        aspectj                    : [
                dependencies.create(libs.aspectjrt.get()) {
                },
                dependencies.create(libs.aspectjweaver.get()) {
                }
        ],
        sendgrid                   : [
                dependencies.create(libs.sendgrid.java.get()) {
                    exclude(group: "ch.qos.logback", module: "logback-core")
                    exclude(group: "ch.qos.logback", module: "logback-classic")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                }
        ],
        javamelody                 : [
                dependencies.create(libs.javamelody.spring.boot.starter.get()) {
                    exclude(group: "ch.qos.logback", module: "logback-core")
                    exclude(group: "ch.qos.logback", module: "logback-classic")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter-aop")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter-web")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter-actuator")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter-logging")
                }
        ],
        jgit                       : [
                dependencies.create(libs.eclipse.jgit.sdk.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "org.apache.httpcomponents", module: "httpclient")
                    exclude(group: "org.apache.commons", module: "commons-lang3")
                },
                dependencies.create(libs.eclipse.jgit.ssh.jsch.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "org.apache.httpcomponents", module: "httpclient")
                    exclude(group: "org.apache.commons", module: "commons-lang3")
                },
                dependencies.create(libs.eclipse.jgit.http.apache.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "org.apache.httpcomponents", module: "httpclient")
                    exclude(group: "org.apache.commons", module: "commons-lang3")
                }
        ],
        webauthn                   : [
                dependencies.create(libs.cbor.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                },
                dependencies.create(libs.webauthn.server.core.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "org.apache.httpcomponents", module: "httpclient")
                    exclude(group: "org.apache.commons", module: "commons-lang3")
                    exclude(group: "com.google.guava", module: "guava")
                    exclude(group: "org.bouncycastle", module: "bcpkix-jdk15on")
                    exclude(group: "org.bouncycastle", module: "bcprov-jdk15on")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-annotations")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-databind")
                    exclude(group: "com.fasterxml.jackson.dataformat", module: "jackson-dataformat-yaml")
                    exclude(group: "javax.ws.rs", module: "javax.ws.rs-api")
                    exclude(group: "org.eclipse.jetty", module: "jetty-eclipse")
                    exclude(group: "org.glassfish.jersey.containers", module: "jersey-container-servlet-core")
                },
                dependencies.create(libs.webauthn.server.attestation.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "org.apache.httpcomponents", module: "httpclient")
                    exclude(group: "org.apache.commons", module: "commons-lang3")
                    exclude(group: "com.google.guava", module: "guava")
                    exclude(group: "org.bouncycastle", module: "bcpkix-jdk15on")
                    exclude(group: "org.bouncycastle", module: "bcprov-jdk15on")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-annotations")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-databind")
                    exclude(group: "com.fasterxml.jackson.dataformat", module: "jackson-dataformat-yaml")
                    exclude(group: "javax.ws.rs", module: "javax.ws.rs-api")
                    exclude(group: "org.eclipse.jetty", module: "jetty-eclipse")
                    exclude(group: "org.glassfish.jersey.containers", module: "jersey-container-servlet-core")
                },
                dependencies.create(libs.yubico.util.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-annotations")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-databind")
                    exclude(group: "com.fasterxml.jackson.dataformat", module: "jackson-dataformat-yaml")
                    exclude(group: "com.fasterxml.jackson.dataformat", module: "jackson-dataformat-cbor")
                    exclude(group: "javax.ws.rs", module: "javax.ws.rs-api")
                    exclude(group: "org.eclipse.jetty", module: "jetty-eclipse")
                    exclude(group: "org.glassfish.jersey.containers", module: "jersey-container-servlet-core")
                },
                dependencies.create(libs.jackson.dataformat.cbor.get()) {
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-core")
                }
        ],
        semver                     : [
                dependencies.create(libs.semver4j.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                }
        ],
        splunklogging              : [
                dependencies.create(libs.splunk.library.javalogging.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                }
        ],
        loki              : [
                dependencies.create(libs.log4j.loki.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                }
        ],
        oshi                       : [
                dependencies.create(libs.oshi.core.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "net.java.dev.jna", module: "jna-platform")
                    exclude(group: "net.java.dev.jna", module: "jna")
                }
        ],
        springdoc                  : [
                dependencies.create(libs.springdoc.openapi.starter.webmvc.ui.get()) {
                    exclude(group: "org.apache.commons", module: "commons-lang3")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "com.google.guava", module: "guava")
                    exclude(group: "javax.validation", module: "validation-api")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter-validation")
                    exclude(group: "ch.qos.logback", module: "logback-core")
                    exclude(group: "ch.qos.logback", module: "logback-classic")
                }
        ],
        swaggerannotations         : [
                dependencies.create(libs.swagger.annotations.get()) {
                    exclude(group: "org.apache.commons", module: "commons-lang3")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "com.google.guava", module: "guava")
                    exclude(group: "javax.validation", module: "validation-api")
                }
        ],
        swagger                    : [
                dependencies.create(libs.swagger.core.jakarta.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "com.google.guava", module: "guava")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-databind")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-core")
                    exclude(group: "org.apache.commons", module: "commons-lang3")
                    exclude(group: "javax.validation", module: "validation-api")
                },
                dependencies.create(libs.swagger.jaxrs2.jakarta.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-databind")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-core")
                    exclude(group: "com.google.guava", module: "guava")
                    exclude(group: "org.apache.commons", module: "commons-lang3")
                    exclude(group: "javax.validation", module: "validation-api")
                    exclude(group: "com.fasterxml.jackson", module: "jackson-bom")
                },
                dependencies.create(libs.swagger.models.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-databind")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-annotations")
                    exclude(group: "org.apache.commons", module: "commons-lang3")
                    exclude(group: "com.google.guava", module: "guava")
                    exclude(group: "javax.validation", module: "validation-api")
                }
        ],
        influxdb                   : [
                dependencies.create(libs.influxdb.client.java.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "com.squareup.retrofit2", module: "retrofit")
                    exclude(group: "com.squareup.okio", module: "okio")
                },
                dependencies.create(libs.arrow.memory.netty.get()) {
                }
        ],
        bouncycastle               : [
                dependencies.create(libs.bcpkix.jdk18on.get()) {
                    exclude(group: "commons-cli", module: "commons-cli")
                },
                dependencies.create(libs.cryptacular.get()) {
                    exclude(group: "org.bouncycastle", module: "bcprov-jdk15on")
                    exclude(group: "commons-cli", module: "commons-cli")
                    exclude(group: "org.bouncycastle", module: "bcprov-jdk18on")
                },
                dependencies.create(libs.bcprov.jdk18on.get()) {
                    exclude(group: "commons-cli", module: "commons-cli")
                }
        ],
        dropwizard                 : [
                dependencies.create(libs.metrics.core.get()) {
                    exclude(group: "commons-cli", module: "commons-cli")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                }
        ],
        sentry                     : [
                dependencies.create(libs.sentry.spring.boot.starter.jakarta.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter")
                    exclude(group: "ch.qos.logback", module: "logback-core")
                    exclude(group: "ch.qos.logback", module: "logback-classic")
                },
                dependencies.create(libs.sentry.log4j2.get()) {
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-databind")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-core")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                }
        ],
        cassandra                  : [
                dependencies.create(libs.java.driver.core.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "org.codehaus.groovy", module: "groovy-json")
                    exclude(group: "org.codehaus.groovy", module: "groovy")
                },
                dependencies.create(libs.java.driver.mapper.runtime.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "org.codehaus.groovy", module: "groovy-json")
                    exclude(group: "org.codehaus.groovy", module: "groovy")
                    exclude(group: "com.datastax.oss", module: "java-driver-core")
                },
                dependencies.create(libs.spring.data.cassandra.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "org.json", module: "json")
                    exclude(group: "org.codehaus.groovy", module: "groovy")
                    exclude(group: "org.codehaus.groovy", module: "groovy-json")
                    exclude(group: "com.datastax.oss", module: "java-driver-mapper-runtime")
                }
        ],
        apachefediz                : [
                dependencies.create(libs.fediz.core.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "org.apache.santuario", module: "xmlsec")
                    exclude(group: "org.opensaml", module: "opensaml-xacml-api")
                    exclude(group: "org.opensaml", module: "opensaml-xacml-saml-impl")
                    exclude(group: "net.shibboleth.utilities", module: "java-support")
                    exclude(group: "io.dropwizard.metrics", module: "metrics-core")
                    exclude(group: "org.opensaml", module: "opensaml-saml-impl")
                    exclude(group: "joda-time", module: "joda-time")
                    exclude(group: "org.apache.httpcomponents", module: "httpclient")
                    exclude(group: "org.ow2.asm", module: "asm")
                    exclude(group: "org.apache.wss4j", module: "wss4j-ws-security-dom")
                },
        ],
        apachecxf                  : [
                dependencies.create(libs.cxf.rt.transports.http.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "org.ow2.asm", module: "asm")
                },
                dependencies.create(libs.cxf.rt.frontend.jaxws.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "org.ow2.asm", module: "asm")
                },
                dependencies.create(libs.cxf.rt.ws.security.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "org.codehaus.woodstox", module: "woodstox-core-asl")
                    exclude(group: "org.apache.santuario", module: "xmlsec")
                    exclude(group: "net.shibboleth.utilities", module: "java-support")
                    exclude(group: "org.apache.httpcomponents", module: "httpclient")
                    exclude(group: "org.opensaml", module: "opensaml-xacml-api")
                    exclude(group: "org.opensaml", module: "opensaml-xacml-impl")
                    exclude(group: "org.opensaml", module: "opensaml-saml-impl")
                    exclude(group: "org.opensaml", module: "opensaml-xacml-saml-impl")
                    exclude(group: "io.dropwizard.metrics", module: "metrics-core")
                    exclude(group: "joda-time", module: "joda-time")
                    exclude(group: "commons-collections", module: "commons-collections")
                    exclude(group: "org.ow2.asm", module: "asm")
                    exclude(group: "org.apache.wss4j", module: "wss4j-ws-security-stax")
                    exclude(group: "org.apache.wss4j", module: "wss4j-ws-security-policy-stax")
                    exclude(group: "org.apache.wss4j", module: "wss4j-ws-security-dom")
                    exclude(group: "org.apache.wss4j", module: "wss4j-policy")
                },
                dependencies.create(libs.cxf.rt.rs.security.sso.saml.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "org.apache.santuario", module: "xmlsec")
                    exclude(group: "net.shibboleth.utilities", module: "java-support")
                    exclude(group: "org.opensaml", module: "opensaml-xacml-api")
                    exclude(group: "org.apache.httpcomponents", module: "httpclient")
                    exclude(group: "io.dropwizard.metrics", module: "metrics-core")
                    exclude(group: "joda-time", module: "joda-time")
                    exclude(group: "commons-collections", module: "commons-collections")
                    exclude(group: "org.opensaml", module: "opensaml-xacml-impl")
                    exclude(group: "org.opensaml", module: "opensaml-saml-impl")
                    exclude(group: "org.opensaml", module: "opensaml-xacml-saml-impl")
                    exclude(group: "org.ow2.asm", module: "asm")
                    exclude(group: "org.apache.wss4j", module: "wss4j-ws-security-stax")
                    exclude(group: "org.apache.wss4j", module: "wss4j-ws-security-dom")
                },
                dependencies.create(libs.cxf.rt.ws.policy.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "org.codehaus.woodstox", module: "woodstox-core-asl")
                    exclude(group: "commons-collections", module: "commons-collections")
                    exclude(group: "org.opensaml", module: "opensaml-xacml-api")
                    exclude(group: "org.ow2.asm", module: "asm")
                    exclude(group: "org.apache.wss4j", module: "wss4j-ws-security-stax")
                },
                dependencies.create(libs.cxf.rt.ws.addr.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "org.codehaus.woodstox", module: "woodstox-core-asl")
                    exclude(group: "org.ow2.asm", module: "asm")
                },
                dependencies.create(libs.cxf.rt.rs.client.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "org.ow2.asm", module: "asm")
                },
                dependencies.create(libs.cxf.rt.frontend.jaxrs.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "org.ow2.asm", module: "asm")
                },
                dependencies.create(libs.cxf.rt.rs.service.description.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "org.ow2.asm", module: "asm")
                },
                dependencies.create(libs.cxf.rt.rs.extension.providers.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "org.ow2.asm", module: "asm")
                },
                dependencies.create(libs.cxf.services.sts.core.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "org.apache.santuario", module: "xmlsec")
                    exclude(group: "org.codehaus.woodstox", module: "woodstox-core-asl")
                    exclude(group: "net.shibboleth.utilities", module: "java-support")
                    exclude(group: "org.apache.httpcomponents", module: "httpclient")
                    exclude(group: "commons-collections", module: "commons-collections")
                    exclude(group: "org.opensaml", module: "opensaml-saml-impl")
                    exclude(group: "org.opensaml", module: "opensaml-saml-api")
                    exclude(group: "org.opensaml", module: "opensaml-xacml-api")
                    exclude(group: "org.opensaml", module: "opensaml-xacml-impl")
                    exclude(group: "org.opensaml", module: "opensaml-xacml-saml-impl")
                    exclude(group: "org.opensaml", module: "opensaml-core")
                    exclude(group: "io.dropwizard.metrics", module: "metrics-core")
                    exclude(group: "joda-time", module: "joda-time")
                    exclude(group: "org.ow2.asm", module: "asm")
                    exclude(group: "org.springframework", module: "spring-beans")
                    exclude(group: "org.springframework", module: "spring-core")
                    exclude(group: "org.springframework", module: "spring-context")
                    exclude(group: "org.apache.wss4j", module: "wss4j-ws-security-stax")
                    exclude(group: "org.apache.wss4j", module: "wss4j-ws-security-dom")
                    exclude(group: "org.apache.wss4j", module: "wss4j-ws-security-policy-stax")
                    exclude(group: "org.apache.cxf", module: "cxf-rt-ws-security")
                }
        ],
        apachecxfsearch            : dependencies.create(libs.cxf.rt.rs.extension.search.get()) {
            exclude(group: "org.slf4j", module: "slf4j-api")
            exclude(group: "org.ow2.asm", module: "asm")
        },
        casclient                  : dependencies.create(libs.cas.client.core.get()) {
            exclude(group: "javax.servlet", module: "servlet-api")
            exclude(group: "org.slf4j", module: "log4j-over-slf4j")
            exclude(group: "org.bouncycastle", module: "bcprov-jdk15on")
            exclude(group: "org.slf4j", module: "slf4j-api")
            exclude(group: "org.glassfish.jaxb", module: "jaxb-core")
            exclude(group: "com.fasterxml.jackson.core", module: "jackson-databind")
            exclude(group: "com.fasterxml.jackson.core", module: "jackson-core")
            exclude(group: "org.apereo.cas.client", module: "cas-client-support-saml")
        },
        commons                    : [
                dependencies.create(libs.commons.io.get()) {
                },
                dependencies.create(libs.commons.jexl3.get()) {
                    exclude(group: "commons-logging", module: "commons-logging")
                    exclude(group: "commons-lang", module: "commons-lang")
                    exclude(group: "junit", module: "junit")
                },
                dependencies.create(libs.commons.text.get()) {
                    exclude(group: "commons-lang", module: "commons-lang")
                    exclude(group: "org.apache.commons", module: "commons-lang3")
                    exclude(group: "org.apache.commons", module: "commons-codec")
                    exclude(group: "org.apache.commons", module: "commons-io")
                },
                dependencies.create(libs.commons.compress.get()) {
                    exclude(group: "commons-lang", module: "commons-lang")
                    exclude(group: "org.apache.commons", module: "commons-lang3")
                },
                dependencies.create(libs.commons.pool2.get()) {
                },
                dependencies.create(libs.commons.cli.get()) {
                },
                dependencies.create(libs.commons.beanutils.get()) {
                    exclude(group: "commons-logging", module: "commons-logging")
                    exclude(group: "commons-collections", module: "commons-collections")
                },
                dependencies.create(libs.commons.validator.get()) {
                    exclude(group: "commons-logging", module: "commons-logging")
                    exclude(group: "commons-lang", module: "commons-lang")
                    exclude(group: "commons-collections", module: "commons-collections")
                    exclude(group: "commons-beanutils", module: "commons-beanutils")
                    exclude(group: "commons-digester", module: "commons-digester")
                },
                dependencies.create(libs.commons.codec.get()) {
                },
                dependencies.create(libs.commons.lang3.get()) {
                },
                dependencies.create(libs.commons.lang.get()) {
                },
                dependencies.create(libs.jool.get()) {
                },
                dependencies.create(libs.commons.collections.get()) {
                },
                dependencies.create(libs.commons.collections4.get()) {
                }
        ],
        lz4 : [
                dependencies.create(libs.lz4.get()) {
                }
        ],
        groovy                     : [
                dependencies.create(libs.apachegroovy.jsr223.get()) {
                    exclude(group: "commons-cli", module: "commons-cli")
                },
                dependencies.create(libs.apachegroovy.json.get()) {
                    exclude(group: "commons-cli", module: "commons-cli")
                },
                dependencies.create(libs.apachegroovy.yaml.get()) {
                    exclude(group: "commons-cli", module: "commons-cli")
                },
                dependencies.create(libs.apachegroovy.xml.get()) {
                    exclude(group: "commons-cli", module: "commons-cli")
                },
                dependencies.create(libs.apachegroovy.core.get()) {
                    exclude(group: "commons-cli", module: "commons-cli")
                },
                dependencies.create(libs.apachegroovy.datetime.get()) {
                    exclude(group: "commons-cli", module: "commons-cli")
                },
                dependencies.create(libs.apachegroovy.templates.get()) {
                    exclude(group: "commons-cli", module: "commons-cli")
                },
                dependencies.create(libs.apachegroovy.sql.get()) {
                    exclude(group: "commons-cli", module: "commons-cli")
                },
                dependencies.create(libs.apachegroovy.groovysh.get()) {
                    exclude(group: "org.apache.groovy", module: "groovy-swing")
                    exclude(group: "org.apache.groovy", module: "groovy-console")
                }
        ],
        grouper                    : dependencies.create(libs.grouperclient.get()) {
            exclude(group: "org.slf4j", module: "slf4j-api")
            exclude(group: "junit", module: "junit")
            exclude(group: "joda-time", module: "joda-time")
            exclude(group: "commons-logging", module: "commons-logging")
            exclude(group: "xml-apis", module: "xml-apis")
            exclude(group: "xom", module: "xom")
            exclude(group: "commons-lang", module: "commons-lang")
            exclude(group: "javax.mail", module: "mail")
            exclude(group: "commons-beanutils", module: "commons-beanutils")
            exclude(group: "org.quartz-scheduler", module: "quartz")
            exclude(group: "log4j", module: "log4j")
        },
        cqengine                   : [
                dependencies.create(libs.cqengine.get()) {
                    exclude(group: 'org.xerial', module: "sqlite-jdbc")
                    exclude(group: "org.javassist", module: "javassist")
                    exclude(group: "org.antlr", module: "antlr4-runtime")
                }
        ],
        maxmind                    : [
                dependencies.create(libs.geoip2.get()) {
                    exclude(group: "commons-logging", module: "commons-logging")
                    exclude(group: "commons-codec", module: "commons-codec")
                    exclude(group: "org.apache.httpcomponents", module: "httpclient")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-databind")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-core")
                    exclude(group: "com.google.code.findbugs", module: "jsr305")
                }
        ],
        azuremaps : [
                dependencies.create(libs.azure.maps.geolocation.get()) {
                    exclude(group: "commons-logging", module: "commons-logging")
                    exclude(group: "org.apache.httpcomponents", module: "httpclient")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                },
                dependencies.create(libs.azure.maps.search.get()) {
                    exclude(group: "commons-logging", module: "commons-logging")
                    exclude(group: "org.apache.httpcomponents", module: "httpclient")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                },
                dependencies.create(libs.azure.identity.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                }
        ],
        googlegeocoding            : [
                dependencies.create(libs.google.maps.services.get()) {
                    exclude(group: "com.google.guava", module: "guava")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "com.squareup.okio", module: "okio")
                },
                dependencies.create(libs.okhttp3.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                }
        ],
        ipgeolocation              : [
                dependencies.create(libs.ipgeolocation.get()) {
                    exclude(group: "org.json", module: "json")
                },
                dependencies.create(libs.orgjson.get()) {
                }
        ],
        okhttp                     : [
                dependencies.create(libs.okhttp.urlconnection.get()) {
                    exclude(group: "com.squareup.okio", module: "okio")
                },
                dependencies.create(libs.okio.get()) {
                }
        ],
        caffein                    : [
                dependencies.create(libs.caffeine.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "com.fasterxml.jackson.module", module: "jackson-module-jaxb-annotations")
                }
        ],
        websockets                 : [
                dependencies.create(libs.tomcat.embed.websocket.get()) {
                    exclude(group: "org.apache.tomcat.embed", module: "tomcat-embed-el")
                    exclude(group: "org.apache.tomcat.embed", module: "tomcat-embed-core")
                },
                dependencies.create(libs.spring.boot.starter.websocket.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "org.slf4j", module: "log4j-over-slf4j")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-annotations")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-databind")
                    exclude(group: "org.jboss.logging", module: "jboss-logging")
                    exclude(group: "org.springframework", module: "spring-web")
                    exclude(group: "org.springframework", module: "spring-core")
                    exclude(group: "org.springframework", module: "spring-webmvc")
                    exclude(group: "org.springframework", module: "spring-context")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter-logging")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter-actuator")
                    exclude(group: "com.fasterxml", module: "classmate")
                    exclude(group: "org.apache.tomcat.embed", module: "tomcat-embed-el")
                    exclude(group: "org.apache.tomcat.embed", module: "tomcat-embed-core")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter-tomcat")
                },
                dependencies.create(libs.sockjs.client.get()),
                dependencies.create(libs.stomp.websocket.get())
        ],
        guava                      : [
                dependencies.create(libs.guava.get()) {
                    exclude(group: "com.google.errorprone", module: "error_prone_annotations")
                    exclude(group: "com.fasterxml.jackson.module", module: "jackson-module-jaxb-annotations")
                    exclude(group: "org.checkerframework", module: "checker-qual")
                }
        ],
        classgraph                 : [
                dependencies.create(libs.classgraph.get())
        ],
        hazelcast                  : [
                dependencies.create(libs.hazelcast.sdk.get()) {
                },
                dependencies.create(libs.hazelcast.sql.get()) {
                    exclude(group: "com.hazelcast", module: "hazelcast")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                },
                dependencies.create(libs.apiguardian.api.get()) {
                }
        ],
        hazelcastzookeeper         : [
                dependencies.create(libs.hazelcast.zookeeper.get()) {
                    exclude(group: "com.hazelcast", module: "hazelcast")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                }
        ],
        jclouds                    : [
                dependencies.create(libs.hazelcast.jclouds.get()) {
                    exclude(group: "commons-codec", module: "commons-codec")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "com.hazelcast", module: "hazelcast")
                },
                dependencies.create(libs.jclouds.compute.get()) {
                    exclude(group: "commons-codec", module: "commons-codec")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                },
                dependencies.create(libs.jclouds.allcompute.get()) {
                    exclude(group: "commons-codec", module: "commons-codec")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                },
                dependencies.create(libs.google.compute.engine.get()) {
                    exclude(group: "commons-codec", module: "commons-codec")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                }
        ],
        jasypt                     : dependencies.create(libs.jasypt.get()) {
            exclude(group: "commons-cli", module: "commons-cli")
            exclude(group: "org.slf4j", module: "slf4j-api")
        },
        hikaricp                   : [
                dependencies.create(libs.hikaricp.get()) {
                    exclude(group: "xml-apis", module: "xml-apis")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                }
        ],
        eclipselink                : [
                dependencies.create(libs.eclipse.persistence.jpa.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                }
        ],
        hibernatevalidator         : [
                dependencies.create(libs.hibernate.validator.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "org.hibernate", module: "hibernate-core")
                    exclude(group: "org.hibernate", module: "hibernate-entitymanager")
                    exclude(group: "org.hibernate", module: "hibernate-ant")
                }
        ],
        hibernate                  : [
                dependencies.create(libs.hypersistence.utils.hibernate.get()) {
                    exclude(group: "javax.xml.bind", module: "jaxb-api")
                },
                dependencies.create(libs.hibernate.graalvm.get()) {
                },
                dependencies.create(libs.hibernate.core.get()) {
                    exclude(group: "org.hibernate", module: "hibernate-entitymanager")
                    exclude(group: "org.hibernate.validator", module: "hibernate-validator")
                    exclude(group: "org.javassist", module: "javassist")
                    exclude(group: "xml-apis", module: "xml-apis")
                    exclude(group: "org.dom4j", module: "dom4j")
                    exclude(group: "org.glassfish.jaxb", module: "jaxb-runtime")
                },
                dependencies.create(libs.hibernate.ant.get()) {
                    exclude(group: "org.hibernate", module: "hibernate-entitymanager")
                    exclude(group: "org.hibernate", module: "hibernate-core")
                    exclude(group: "org.hibernate.validator", module: "hibernate-validator")
                    exclude(group: "org.javassist", module: "javassist")
                    exclude(group: "xml-apis", module: "xml-apis")
                    exclude(group: "org.dom4j", module: "dom4j")
                    exclude(group: "org.glassfish.jaxb", module: "jaxb-runtime")
                },
                dependencies.create(libs.dom4j.get()) {
                    exclude(group: "xml-apis", module: "xml-apis")
                },
                dependencies.create(libs.hibernate.hikaricp.get()) {
                    exclude(group: "org.javassist", module: "javassist")
                    exclude(group: "org.dom4j", module: "dom4j")
                    exclude(group: "xml-apis", module: "xml-apis")
                    exclude(group: "org.hibernate.validator", module: "hibernate-validator")
                    exclude(group: "org.hibernate", module: "hibernate-core")
                    exclude(group: "org.hibernate", module: "hibernate-entitymanager")
                    exclude(group: "com.zaxxer", module: "HikariCP")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "org.jboss.logging", module: "jboss-logging")
                }
        ],
        httpclient                 : [
                dependencies.create(libs.httpclient5.get()) {
                    exclude(group: "commons-codec", module: "commons-codec")
                    exclude(group: "commons-logging", module: "commons-logging")
                    exclude(group: "org.apache.httpcomponents.core5", module: "httpcore5")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                },
                dependencies.create(libs.httpcore5.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                }
        ],
        httpclient4                : [
                dependencies.create(libs.httpclient.get()) {
                    exclude(group: "commons-codec", module: "commons-codec")
                    exclude(group: "commons-logging", module: "commons-logging")
                    exclude(group: "org.apache.httpcomponents", module: "httpcore")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                },
                dependencies.create(libs.httpcore.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                }
        ],
        awsfirehose : [
                dependencies.create(libs.firehose.get()) {
                    exclude(group: "commons-logging", module: "commons-logging")
                    exclude(group: "org.apache.httpcomponents", module: "httpclient")
                    exclude(group: "org.apache.httpcomponents", module: "httpclient-cache")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-databind")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-core")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                }
        ],
        awsverifiedpermissions          : [
                dependencies.create(libs.verifiedpermissions.get()) {
                    exclude(group: "commons-logging", module: "commons-logging")
                    exclude(group: "org.apache.httpcomponents", module: "httpclient")
                    exclude(group: "org.apache.httpcomponents", module: "httpclient-cache")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-databind")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-core")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                }
        ],
        awsclouddirectory          : [
                dependencies.create(libs.clouddirectory.get()) {
                    exclude(group: "commons-logging", module: "commons-logging")
                    exclude(group: "org.apache.httpcomponents", module: "httpclient")
                    exclude(group: "org.apache.httpcomponents", module: "httpclient-cache")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-databind")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-core")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                }
        ],
        aws                        : [
                dependencies.create(libs.core.get()) {
                    exclude(group: "commons-logging", module: "commons-logging")
                    exclude(group: "org.apache.httpcomponents", module: "httpclient")
                    exclude(group: "org.apache.httpcomponents", module: "httpclient-cache")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-databind")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-core")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                },
                dependencies.create(libs.aws.core.get()) {
                    exclude(group: "commons-logging", module: "commons-logging")
                    exclude(group: "org.apache.httpcomponents", module: "httpclient")
                    exclude(group: "org.apache.httpcomponents", module: "httpclient-cache")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-databind")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-core")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                },
                dependencies.create(libs.apache.client.get()) {
                    exclude(group: "commons-logging", module: "commons-logging")
                    exclude(group: "org.apache.httpcomponents", module: "httpclient")
                    exclude(group: "org.apache.httpcomponents", module: "httpclient-cache")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-databind")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-core")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "software.amazon.awssdk", module: "annotations")
                }
        ],
        awssns                     : [
                dependencies.create(libs.sns.get()) {
                    exclude(group: "commons-logging", module: "commons-logging")
                    exclude(group: "org.apache.httpcomponents", module: "httpclient")
                    exclude(group: "org.apache.httpcomponents", module: "httpclient-cache")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-databind")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-core")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                }
        ],
        awssts                     : [
                dependencies.create(libs.sts.get()) {
                    exclude(group: "commons-logging", module: "commons-logging")
                    exclude(group: "org.apache.httpcomponents", module: "httpclient")
                    exclude(group: "org.apache.httpcomponents", module: "httpclient-cache")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-databind")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-core")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                }
        ],
        awsssm                     : [
                dependencies.create(libs.ssm.get()) {
                    exclude(group: "commons-logging", module: "commons-logging")
                    exclude(group: "org.apache.httpcomponents", module: "httpclient")
                    exclude(group: "org.apache.httpcomponents", module: "httpclient-cache")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-databind")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-core")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                }
        ],
        awss3                      : [
                dependencies.create(libs.s3.get()) {
                    exclude(group: "commons-logging", module: "commons-logging")
                    exclude(group: "org.apache.httpcomponents", module: "httpclient")
                    exclude(group: "org.apache.httpcomponents", module: "httpclient-cache")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-databind")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-core")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                }
        ],
        awsses                      : [
                dependencies.create(libs.ses.get()) {
                    exclude(group: "commons-logging", module: "commons-logging")
                    exclude(group: "org.apache.httpcomponents", module: "httpclient")
                    exclude(group: "org.apache.httpcomponents", module: "httpclient-cache")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-databind")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-core")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                }
        ],
        awscognito                 : [
                dependencies.create(libs.cognitoidentity.get()) {
                    exclude(group: "commons-logging", module: "commons-logging")
                    exclude(group: "org.apache.httpcomponents", module: "httpclient")
                    exclude(group: "org.apache.httpcomponents", module: "httpclient-cache")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-databind")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-core")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                },
                dependencies.create(libs.cognitoidentityprovider.get()) {
                    exclude(group: "commons-logging", module: "commons-logging")
                    exclude(group: "org.apache.httpcomponents", module: "httpclient")
                    exclude(group: "org.apache.httpcomponents", module: "httpclient-cache")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-databind")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-core")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                }
        ],
        awssecretsmanager          : [
                dependencies.create(libs.secretsmanager.get()) {
                    exclude(group: "commons-logging", module: "commons-logging")
                    exclude(group: "org.apache.httpcomponents", module: "httpclient")
                    exclude(group: "org.apache.httpcomponents", module: "httpclient-cache")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-databind")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-core")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                }
        ],
        awscloudwatch              : [
                dependencies.create(libs.cloudwatchlogs.get()) {
                    exclude(group: "commons-logging", module: "commons-logging")
                    exclude(group: "org.apache.httpcomponents", module: "httpclient")
                    exclude(group: "org.apache.httpcomponents", module: "httpclient-cache")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-databind")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-core")
                },
                dependencies.create(libs.cloudwatch.get()) {
                    exclude(group: "commons-logging", module: "commons-logging")
                    exclude(group: "org.apache.httpcomponents", module: "httpclient")
                    exclude(group: "org.apache.httpcomponents", module: "httpclient-cache")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-databind")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-core")
                }
        ],
        awsjavadynamodb            : [
                dependencies.create(libs.dynamodb.get()) {
                    exclude(group: "commons-logging", module: "commons-logging")
                    exclude(group: "org.apache.httpcomponents", module: "httpclient")
                    exclude(group: "org.apache.httpcomponents", module: "httpclient-cache")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-databind")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-core")
                },
                dependencies.create(libs.amazon.dax.client.get()) {
                    exclude(group: "commons-logging", module: "commons-logging")
                    exclude(group: "org.apache.httpcomponents", module: "httpclient")
                    exclude(group: "org.apache.httpcomponents", module: "httpclient-cache")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-databind")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-core")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                }
        ],
        awssqs                     : [
                dependencies.create(libs.sqs.get()) {
                    exclude(group: "commons-logging", module: "commons-logging")
                    exclude(group: "org.apache.httpcomponents", module: "httpclient")
                    exclude(group: "org.apache.httpcomponents", module: "httpclient-cache")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-databind")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-core")
                }
        ],
        apachevelocity             : [
                dependencies.create(libs.velocity.engine.core.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "org.slf4j", module: "jcl-over-slf4j")
                    exclude(group: "commons-lang", module: "commons-lang")
                    exclude(group: "org.apache.commons", module: "commons-lang3")
                }
        ],
        googleauth                 : [
                dependencies.create(libs.googleauth.get()) {
                    transitive = false
                }
        ],
        graalvmsdk                 : [
                dependencies.create(libs.graal.sdk.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "org.slf4j", module: "jcl-over-slf4j")
                }
        ],
        graalvmpolyglot                 : [
                dependencies.create(libs.polyglot.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "org.slf4j", module: "jcl-over-slf4j")
                }
        ],
        zxingbarcode               : [
                dependencies.create(libs.core.get()) {
                    exclude(group: "com.google.zxing", module: "android-core")
                    exclude(group: "com.google.zxing", module: "android-integration")
                    exclude(group: "junit", module: "junit")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "org.slf4j", module: "jcl-over-slf4j")
                }
        ],
        shibutiljavasupport        : [
                dependencies.create(libs.shib.support.get()) {
                    exclude(group: "com.google.guava", module: "guava")
                    exclude(group: "joda-time", module: "joda-time")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "commons-codec", module: "commons-codec")
                    exclude(group: "com.google.code.findbugs", module: "jsr305")
                    exclude(group: "org.springframework", module: "spring-beans")
                    exclude(group: "org.springframework", module: "spring-core")
                    exclude(group: "org.springframework", module: "spring-web")
                    exclude(group: "org.springframework", module: "spring-context")
                    exclude(group: "org.springframework", module: "spring-context-support")
                    exclude(group: "org.apache.httpcomponents", module: "httpclient")
                    exclude(group: "org.apache.httpcomponents", module: "httpclient-cache")
                    exclude(group: "commons-codec", module: "commons-codec")
                    exclude(group: "commons-lang", module: "commons-lang")
                    exclude(group: "org.springframework.webflow", module: "spring-webflow")
                    exclude(group: "org.springframework", module: "spring-expression")
                    exclude(group: "org.bouncycastle", module: "bcprov-jdk15on")
                    exclude(group: "org.ldaptive", module: "ldaptive")
                    exclude(group: "ch.qos.logback", module: "logback-core")
                    exclude(group: "ch.qos.logback", module: "logback-classic")
                    exclude(group: "org.cryptacular", module: "cryptacular")
                    exclude(group: "commons-collections", module: "commons-collections")
                    exclude(group: "io.dropwizard.metrics", module: "metrics-core")
                    exclude(group: "io.dropwizard.metrics", module: "metrics-json")
                    exclude(group: "net.shibboleth.idp", module: "idp-authn-api")
                }
        ],
        geode                     : [
                dependencies.create(libs.geode.core.get()) {
                    exclude(group: "commons-logging", module: "commons-logging")
                    exclude(group: "log4j", module: "log4j")
                    exclude(group: "commons-codec", module: "commons-codec")
                    exclude(group: "com.google.guava", module: "guava")
                    exclude(group: "joda-time", module: "joda-time")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "com.sun.xml.bind", module: "jaxb-impl")
                    exclude(group: "com.sun.xml.bind", module: "jaxb-core")
                },
                dependencies.create(libs.geode.logging.get()) {
                    exclude(group: "commons-logging", module: "commons-logging")
                    exclude(group: "log4j", module: "log4j")
                    exclude(group: "commons-codec", module: "commons-codec")
                    exclude(group: "com.google.guava", module: "guava")
                    exclude(group: "joda-time", module: "joda-time")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                }
        ],
        ignite                     : [
                dependencies.create(libs.ignite.core.get()) {
                    exclude(group: "commons-logging", module: "commons-logging")
                    exclude(group: "org.jetbrains", module: "annotations")
                },
                dependencies.create(libs.ignite.log4j2.get()) {
                    exclude(group: "log4j", module: "log4j")
                    exclude(group: "org.jetbrains", module: "annotations")
                },
                dependencies.create(libs.ignite.indexing.get()) {
                    exclude(group: "log4j", module: "log4j")
                    exclude(group: "org.jetbrains", module: "annotations")
                },
                dependencies.create(libs.ignite.spring.get()) {
                    exclude(group: "commons-logging", module: "commons-logging")
                    exclude(group: "org.springframework", module: "spring-core")
                    exclude(group: "org.springframework", module: "spring-beans")
                    exclude(group: "org.springframework", module: "spring-context")
                    exclude(group: "org.springframework", module: "spring-aop")
                    exclude(group: "org.springframework", module: "spring-expression")
                    exclude(group: "org.springframework", module: "spring-jdbc")
                    exclude(group: "org.springframework", module: "spring-tx")
                    exclude(group: "org.jetbrains", module: "annotations")
                }
        ],
        jakartapersistence : [
                dependencies.create(libs.jakarta.persistence.api.get()) {
                    exclude(group: "xml-apis", module: "xml-apis")
                }
        ],
        jakarta                    : [
                dependencies.create(libs.jakarta.validation.api.get()),
                dependencies.create(libs.jakarta.xml.bind.api.get()) {
                    transitive = false
                },
                dependencies.create(libs.jsr305.get()) {
                    transitive = false
                },
                dependencies.create(libs.jaxb.impl.get()) {
                    transitive = false
                },
                dependencies.create(libs.jakarta.xml.ws.api.get()) {
                    transitive = false
                },
                dependencies.create(libs.streambuffer.get()) {
                    transitive = false
                },
                dependencies.create(libs.jaxws.rt.get()) {
                    transitive = false
                },
                dependencies.create(libs.jakarta.xml.soap.api.get()) {
                    transitive = false
                },
                dependencies.create(libs.jakarta.servlet.api.get()) {
                },
                dependencies.create(libs.jakarta.annotation.api.get()) {
                },
                dependencies.create(libs.jakarta.activation.api.get()) {
                },
                dependencies.create(libs.jakarta.jms.api.get()),
                dependencies.create(libs.jakarta.servlet.jsp.jstl.api.get()),
                dependencies.create(libs.jakarta.transaction.api.get()),
                dependencies.create(libs.jakarta.el.api.get()) {
                },
                dependencies.create(libs.expressly.get()) {
                }
        ],
        springamqp                 : [
                dependencies.create(libs.spring.boot.starter.amqp.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "org.springframework", module: "spring-context")
                    exclude(group: "org.springframework", module: "spring-core")
                    exclude(group: "org.springframework", module: "spring-aop")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter")
                },
                dependencies.create(libs.spring.rabbit.get())
        ],
        thymeleaf                  : [
                dependencies.create(libs.thymeleaf.spring6.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "org.thymeleaf", module: "thymeleaf-spring5")
                    exclude(group: "org.thymeleaf", module: "thymeleaf")
                    exclude(group: "org.javassist", module: "javassist")
                    exclude(group: "org.sourceforge.nekohtml", module: "nekohtml")
                    exclude(group: "org.springframework", module: "spring-context")
                    exclude(group: "org.springframework", module: "spring-core")
                    exclude(group: "org.springframework", module: "spring-aop")
                },
                dependencies.create(libs.thymeleafsdk.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "javax.servlet", module: "servlet-api")
                },
                dependencies.create(libs.thymeleaf.layout.dialect.get()) {
                    exclude(group: "org.javassist", module: "javassist")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "org.codehaus.groovy", module: "groovy")
                    exclude(group: "org.thymeleaf", module: "thymeleaf")
                },
                dependencies.create(libs.spring.boot.starter.thymeleaf.get()) {
                    exclude(group: "com.fasterxml", module: "classmate")
                    exclude(group: "org.thymeleaf", module: "thymeleaf")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-annotations")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "ch.qos.logback", module: "logback-core")
                    exclude(group: "ch.qos.logback", module: "logback-classic")
                    exclude(group: "nz.net.ultraq.thymeleaf", module: "thymeleaf-layout-dialect")
                    exclude(group: "org.thymeleaf", module: "thymeleaf-spring5")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter-logging")
                    exclude(group: "org.sourceforge.nekohtml", module: "nekohtml")
                    exclude(group: "org.javassist", module: "javassist")
                    exclude(group: "org.springframework", module: "spring-context")
                    exclude(group: "org.springframework", module: "spring-core")
                    exclude(group: "org.springframework", module: "spring-aop")
                    exclude(group: "org.springframework", module: "spring-web")
                    exclude(group: "org.springframework", module: "spring-beans")
                    exclude(group: "org.springframework", module: "spring-webmvc")
                },
                dependencies.create(libs.spring.boot.starter.mustache.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "ch.qos.logback", module: "logback-core")
                    exclude(group: "ch.qos.logback", module: "logback-classic")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter-logging")
                    exclude(group: "org.springframework", module: "spring-context")
                    exclude(group: "org.springframework", module: "spring-core")
                    exclude(group: "org.springframework", module: "spring-aop")
                    exclude(group: "org.springframework", module: "spring-web")
                    exclude(group: "org.springframework", module: "spring-beans")
                    exclude(group: "org.springframework", module: "spring-webmvc")
                },
                dependencies.create(libs.jmustache.get()) {
                }
        ],
        scimsdk                    : [
                dependencies.create(libs.scim.sdk.client.get()) {
                    exclude(group: "org.apache.httpcomponents", module: "httpclient")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-core")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                }
        ],
        mailgun          : [
                dependencies.create(libs.mailgun.java.get()) {
                    exclude(group: "commons-logging", module: "commons-logging")
                    exclude(group: "org.apache.httpcomponents", module: "httpclient")
                    exclude(group: "org.apache.httpcomponents", module: "httpclient-cache")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-databind")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-core")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-annotations")
                    exclude(group: "com.fasterxml.jackson.datatype", module: "jackson-datatype-jsr310")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "org.apache.commons", module: "commons-lang3")
                    exclude(group: "commons-lang", module: "commons-lang")
                    exclude(group: "commons-io", module: "commons-io")
                    exclude(group: "org.apache.commons", module: "commons-collections4")
                }
        ],
        mailjet          : [
                dependencies.create(libs.mailjet.client.get()) {
                    exclude(group: "commons-logging", module: "commons-logging")
                    exclude(group: "org.apache.httpcomponents", module: "httpclient")
                    exclude(group: "org.apache.httpcomponents", module: "httpclient-cache")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-databind")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-core")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                }
        ],
        jackson                    : [
                dependencies.create(libs.jackson.databind.get()) {
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-annotations")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-core")
                },
                dependencies.create(libs.jackson.core.lib.get()) {
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-annotations")
                    exclude(group: "com.fasterxml.jackson", module: "jackson-bom")
                },
                dependencies.create(libs.jackson.datatype.guava.get()) {
                    exclude(group: "com.google.guava", module: "guava")
                    exclude(group: "com.fasterxml.jackson", module: "jackson-bom")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-annotations")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-core")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-databind")
                },
                dependencies.create(libs.jackson.annotations.get()) {
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-databind")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-core")
                    exclude(group: "com.fasterxml.jackson", module: "jackson-bom")
                },
                dependencies.create(libs.jackson.module.parameter.names.get()) {
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-databind")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-core")
                    exclude(group: "com.fasterxml.jackson", module: "jackson-bom")
                },
                dependencies.create(libs.jackson.module.jakarta.xmlbind.annotations.get()) {
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-annotations")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-databind")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-core")
                    exclude(group: "com.fasterxml.jackson", module: "jackson-bom")
                    exclude(group: "jakarta.activation", module: "jakarta.activation-api")
                },
                dependencies.create(libs.jackson.datatype.jsr310.get()) {
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-annotations")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-databind")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-core")
                },
                dependencies.create(libs.jackson.datatype.jdk8.get()) {
                    exclude(group: "com.fasterxml.jackson", module: "jackson-bom")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-annotations")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-databind")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-core")
                },
                dependencies.create(libs.hjson.get()) {
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-annotations")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-databind")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-core")
                    exclude(group: "com.fasterxml.jackson", module: "jackson-bom")
                },
                dependencies.create(libs.jackson.dataformat.yaml.get()) {
                    exclude(group: "org.yaml", module: "snakeyaml")
                    exclude(group: "com.fasterxml.jackson", module: "jackson-bom")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-annotations")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-databind")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-core")
                },
                dependencies.create(libs.jackson.dataformat.xml.get()) {
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-annotations")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-databind")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-core")
                    exclude(group: "com.fasterxml.jackson", module: "jackson-bom")
                },
                dependencies.create(libs.jackson.dataformat.properties.get()) {
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-annotations")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-databind")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-core")
                    exclude(group: "com.fasterxml.jackson", module: "jackson-bom")
                },
                dependencies.create(libs.jackson.module.blackbird.get()) {
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-annotations")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-databind")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-core")
                    exclude(group: "com.fasterxml.jackson", module: "jackson-bom")
                },
                dependencies.create(libs.jackson.dataformat.cbor.get()) {
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-annotations")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-databind")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-core")
                },
                dependencies.create(libs.jackson.dataformat.smile.get()) {
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-annotations")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-databind")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-core")
                }
        ],
        jcifs                      : [
                dependencies.create(libs.jcifs.get()) {
                    exclude(group: "javax.servlet", module: "servlet-api")
                }
        ],
        snakeyaml                  : [
                dependencies.create(libs.snakeyaml.get()) {
                    exclude(group: "junit", module: "junit")
                    exclude(group: "org.springframework", module: "spring-beans")
                    exclude(group: "org.springframework", module: "spring-context")
                    exclude(group: "org.springframework", module: "spring-context-support")
                    exclude(group: "org.springframework", module: "spring-core")
                    exclude(group: "commons-lang", module: "commons-lang")
                    exclude(group: "commons-io", module: "commons-io")
                }
        ],
        azurekeyvault              : [
                dependencies.create(libs.spring.cloud.azure.starter.keyvault.secrets.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "com.nimbusds", module: "nimbus-jose-jwt")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter-logging")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter-web")
                },
                dependencies.create(libs.spring.cloud.azure.starter.keyvault.sdk.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "com.nimbusds", module: "nimbus-jose-jwt")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter-logging")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter-web")
                },
                dependencies.create(libs.spring.cloud.azure.starter.actuator.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "com.nimbusds", module: "nimbus-jose-jwt")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter-logging")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter-web")
                }
        ],
        azuread                    : [
                dependencies.create(libs.msal4j.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "org.apache.commons", module: "commons-lang3")
                    exclude(group: "org.slf4j", module: "slf4j-log4j12")
                    exclude(group: "com.google.code.gson", module: "gson")
                    exclude(group: "com.nimbusds", module: "oauth2-oidc-sdk")
                },
                dependencies.create(libs.orgjson.get()) {
                },
                dependencies.create(libs.gson.get()) {
                }
        ],
        lucene                    : [
                dependencies.create(libs.lucene.core.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "org.apache.commons", module: "commons-lang3")
                    exclude(group: "org.slf4j", module: "slf4j-log4j12")
                    exclude(group: "com.google.code.gson", module: "gson")
                },
                dependencies.create(libs.lucene.queryparser.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "org.apache.commons", module: "commons-lang3")
                    exclude(group: "org.slf4j", module: "slf4j-log4j12")
                    exclude(group: "com.google.code.gson", module: "gson")
                },
                dependencies.create(libs.lucene.analysis.common.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "org.apache.commons", module: "commons-lang3")
                    exclude(group: "org.slf4j", module: "slf4j-log4j12")
                    exclude(group: "com.google.code.gson", module: "gson")
                }
        ],
        squareup                   : [
                dependencies.create(libs.retrofit.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "com.squareup.okhttp3", module: "okhttp")
                    exclude(group: "com.squareup.okio", module: "okio")
                    exclude(group: "org.jetbrains", module: "annotations")
                },
                dependencies.create(libs.converter.moshi.get()) {
                },
                dependencies.create(libs.okhttp3.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                },
                dependencies.create(libs.logging.interceptor.get()) {
                }
        ],
        oktasdk                    : [
                dependencies.create(libs.okta.authn.sdk.api.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "org.yaml", module: "snakeyaml")
                    exclude(group: "org.jetbrains", module: "annotations")
                },
                dependencies.create(libs.okta.authn.sdk.impl.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "org.yaml", module: "snakeyaml")
                    exclude(group: "org.jetbrains", module: "annotations")
                },
                dependencies.create(libs.okta.sdk.httpclient.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "org.apache.httpcomponents", module: "httpclient")
                    exclude(group: "commons-logging", module: "commons-logging")
                    exclude(group: "org.yaml", module: "snakeyaml")
                }
        ],
        cosmosdb                   : [
                dependencies.create(libs.azure.cosmos.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "org.json", module: "json")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-databind")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-core")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-annotations")
                    exclude(group: "com.fasterxml.jackson.datatype", module: "jackson-datatype-jsr310")
                },
                dependencies.create(libs.azure.spring.data.cosmos.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "org.json", module: "json")
                    exclude(group: "com.azure", module: "azure-cosmos")
                    exclude(group: "org.springframework", module: "spring-core")
                    exclude(group: "org.springframework", module: "spring-web")
                    exclude(group: "org.springframework", module: "spring-beans")
                    exclude(group: "org.springframework", module: "spring-context")
                    exclude(group: "org.springframework", module: "spring-tx")
                    exclude(group: "org.springframework", module: "spring-expression")
                    exclude(group: "org.springframework.data", module: "spring-data-commons")
                    exclude(group: "org.apache.commons", module: "commons-lang3")
                    exclude(group: "javax.annotation", module: "javax.annotation-api")
                    exclude(group: "com.fasterxml.jackson.module", module: "jackson-module-parameter-names")
                    exclude(group: "com.fasterxml.jackson.datatype", module: "jackson-datatype-jsr310")
                    exclude(group: "com.fasterxml.jackson.datatype", module: "jackson-datatype-jdk8")
                }
        ],
        jdom                       : dependencies.create(libs.jdom2.get()) {
            exclude(group: "xml-apis", module: "xml-apis")
        },
        jodatime                   : dependencies.create(libs.joda.time.get()) {
        },
        jose4j                     : dependencies.create(libs.jose4j.get()) {
            exclude(group: "org.slf4j", module: "slf4j-api")
        },
        jradius                    : [
                dependencies.create(libs.jradius.extras.get()) {
                    exclude(group: "commons-logging", module: "commons-logging")
                    exclude(group: "log4j", module: "log4j")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "commons-collections", module: "commons-collections")
                    exclude(group: "commons-beanutils", module: "commons-beanutils")
                    exclude(group: "org.slf4j", module: "slf4j-log4j12")
                    exclude(group: "org.bouncycastle", module: "bcprov-jdk15on")
                    exclude(group: "org.bouncycastle", module: "bcprov-jdk15")
                    exclude(group: "org.springframework", module: "spring-beans")
                    exclude(group: "org.springframework", module: "spring-context")
                    exclude(group: "org.springframework", module: "spring-context-support")
                    exclude(group: "org.springframework", module: "spring-core")
                    exclude(group: "commons-lang", module: "commons-lang")
                },
                dependencies.create(libs.jradius.apps.get()) {
                    exclude(group: "commons-logging", module: "commons-logging")
                    exclude(group: "log4j", module: "log4j")
                    exclude(group: "org.bouncycastle", module: "bcprov-jdk15on")
                    exclude(group: "org.bouncycastle", module: "bcprov-jdk15")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "commons-collections", module: "commons-collections")
                    exclude(group: "commons-beanutils", module: "commons-beanutils")
                    exclude(group: "org.slf4j", module: "slf4j-log4j12")
                    exclude(group: "org.springframework", module: "spring-beans")
                    exclude(group: "org.springframework", module: "spring-context")
                    exclude(group: "org.springframework", module: "spring-context-support")
                    exclude(group: "org.springframework", module: "spring-core")
                    exclude(group: "commons-lang", module: "commons-lang")
                },
                dependencies.create(libs.jradius.dictionary.get()) {
                    exclude(group: "commons-logging", module: "commons-logging")
                    exclude(group: "log4j", module: "log4j")
                    exclude(group: "org.bouncycastle", module: "bcprov-jdk15on")
                    exclude(group: "org.bouncycastle", module: "bcprov-jdk15")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "commons-collections", module: "commons-collections")
                    exclude(group: "commons-beanutils", module: "commons-beanutils")
                    exclude(group: "org.slf4j", module: "slf4j-log4j12")
                    exclude(group: "org.springframework", module: "spring-beans")
                    exclude(group: "org.springframework", module: "spring-context")
                    exclude(group: "org.springframework", module: "spring-context-support")
                    exclude(group: "org.springframework", module: "spring-core")
                    exclude(group: "commons-lang", module: "commons-lang")
                },
                dependencies.create(libs.jradius.client.get()) {
                    exclude(group: "commons-logging", module: "commons-logging")
                    exclude(group: "log4j", module: "log4j")
                    exclude(group: "org.bouncycastle", module: "bcprov-jdk15on")
                    exclude(group: "org.bouncycastle", module: "bcprov-jdk15")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "commons-collections", module: "commons-collections")
                    exclude(group: "commons-beanutils", module: "commons-beanutils")
                    exclude(group: "org.slf4j", module: "slf4j-log4j12")
                    exclude(group: "org.springframework", module: "spring-beans")
                    exclude(group: "org.springframework", module: "spring-context")
                    exclude(group: "org.springframework", module: "spring-context-support")
                    exclude(group: "org.springframework", module: "spring-core")
                    exclude(group: "commons-lang", module: "commons-lang")
                },
                dependencies.create(libs.jradius.extended.get()) {
                    exclude(group: "commons-logging", module: "commons-logging")
                    exclude(group: "net.jradius", module: "jradius-server")
                    exclude(group: "net.jradius", module: "jradius-extras")
                    exclude(group: "net.jradius", module: "jradius-client")
                    exclude(group: "net.jradius", module: "jradius-example")
                    exclude(group: "log4j", module: "log4j")
                    exclude(group: "org.bouncycastle", module: "bcprov-jdk15on")
                    exclude(group: "org.bouncycastle", module: "bcprov-jdk15")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "commons-collections", module: "commons-collections")
                    exclude(group: "commons-beanutils", module: "commons-beanutils")
                    exclude(group: "org.slf4j", module: "slf4j-log4j12")
                    exclude(group: "org.springframework", module: "spring-beans")
                    exclude(group: "org.springframework", module: "spring-context")
                    exclude(group: "org.springframework", module: "spring-context-support")
                    exclude(group: "org.springframework", module: "spring-core")
                    exclude(group: "commons-lang", module: "commons-lang")
                },
                dependencies.create(libs.jradius.core.get()) {
                    exclude(group: "commons-logging", module: "commons-logging")
                    exclude(group: "log4j", module: "log4j")
                    exclude(group: "org.bouncycastle", module: "bcprov-jdk15on")
                    exclude(group: "org.bouncycastle", module: "bcprov-jdk15")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "commons-collections", module: "commons-collections")
                    exclude(group: "commons-beanutils", module: "commons-beanutils")
                    exclude(group: "org.slf4j", module: "slf4j-log4j12")
                    exclude(group: "org.springframework", module: "spring-beans")
                    exclude(group: "org.springframework", module: "spring-context")
                    exclude(group: "org.springframework", module: "spring-context-support")
                    exclude(group: "org.springframework", module: "spring-core")
                    exclude(group: "commons-lang", module: "commons-lang")
                },
                dependencies.create(libs.jradius.server.get()) {
                    exclude(group: "commons-logging", module: "commons-logging")
                    exclude(group: "log4j", module: "log4j")
                    exclude(group: "org.bouncycastle", module: "bcprov-jdk15on")
                    exclude(group: "org.bouncycastle", module: "bcprov-jdk15")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "commons-collections", module: "commons-collections")
                    exclude(group: "commons-beanutils", module: "commons-beanutils")
                    exclude(group: "org.slf4j", module: "slf4j-log4j12")
                    exclude(group: "org.springframework", module: "spring-beans")
                    exclude(group: "org.springframework", module: "spring-context")
                    exclude(group: "org.springframework", module: "spring-context-support")
                    exclude(group: "org.springframework", module: "spring-core")
                    exclude(group: "commons-lang", module: "commons-lang")
                }
        ],
        tests                      : [
                dependencies.create(libs.unboundid.ldapsdk.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "commons-cli", module: "commons-cli")
                },
                dependencies.create(libs.mockito.core.get()) {
                    exclude(group: "org.hamcrest", module: "hamcrest-core")
                    exclude(group: "junit", module: "junit")
                },
                dependencies.create(libs.mockito.inline.get()) {
                    exclude(group: "org.hamcrest", module: "hamcrest-core")
                    exclude(group: "junit", module: "junit")
                    exclude(group: "org.mockito", module: "mockito-core")
                },
                dependencies.create(libs.mockito.junit.jupiter.get()) {
                    exclude(group: "org.mockito", module: "mockito-core")
                    exclude(group: "org.junit.jupiter", module: "junit-jupiter-api")
                },
                dependencies.create(libs.spring.security.test.get()) {
                    exclude(group: "org.springframework.security", module: "spring-security-core")
                    exclude(group: "org.springframework.security", module: "spring-security-web")
                    exclude(group: "org.springframework", module: "spring-core")
                    exclude(group: "org.springframework", module: "spring-test")
                },
                dependencies.create(libs.mockwebserver.get()) {
                },
                dependencies.create(libs.junit.jupiter.api.get()) {
                },
                dependencies.create(libs.junit.jupiter.params.get()) {
                },
                dependencies.create(libs.junit.platform.engine.get()) {
                },
                dependencies.create(libs.junit.platform.suite.api.get()) {
                },
                dependencies.create(libs.junit.platform.launcher.get()) {
                },
                dependencies.create(libs.awaitility.get()) {
                    exclude(group: "org.hamcrest", module: "hamcrest")
                    exclude(group: "junit", module: "junit")
                },
                dependencies.create(libs.spring.boot.starter.test.get()) {
                    exclude(group: "org.hamcrest", module: "hamcrest-core")
                    exclude(group: "junit", module: "junit")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "org.jboss.logging", module: "jboss-logging")
                    exclude(group: "com.fasterxml", module: "classmate")
                    exclude(group: "org.hibernate.validator", module: "hibernate-validator")
                    exclude(group: "org.objenesis", module: "objenesis")
                    exclude(group: "org.springframework", module: "spring-test")
                    exclude(group: "org.springframework", module: "spring-beans")
                    exclude(group: "org.springframework", module: "spring-context")
                    exclude(group: "org.springframework", module: "spring-context-support")
                    exclude(group: "org.springframework", module: "spring-core")
                    exclude(group: "org.springframework", module: "spring-web")
                    exclude(group: "org.springframework", module: "spring-webmvc")
                    exclude(group: "org.skyscreamer", module: "jsonassert")
                    exclude(group: "org.ow2.asm", module: "asm")
                    exclude(group: "org.mockito", module: "mockito-all")
                    exclude(group: "org.mockito", module: "mockito-core")
                    exclude(group: "ch.qos.logback", module: "logback-core")
                    exclude(group: "ch.qos.logback", module: "logback-classic")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter-logging")
                },
                dependencies.create(libs.hsqldb.get()),
                dependencies.create(libs.jsonassert.get()) {
                    exclude(group: "org.json", module: "json")
                    exclude(group: "com.vaadin.external.google", module: "android-json")
                },
                dependencies.create(libs.spring.test.get()) {
                    exclude(group: "junit", module: "junit")
                    exclude(group: "ch.qos.logback", module: "logback-core")
                    exclude(group: "ch.qos.logback", module: "logback-classic")
                },
                dependencies.create(libs.orgjson.get()) {
                },
                dependencies.create(libs.junit.pioneer.get()) {
                }
        ],
        kryo                       : [
                dependencies.create(libs.kryo.sdk.get()) {
                    exclude(group: "net.spy", module: "spymemcached")
                },
                dependencies.create(libs.kryo.serializers.get()) {
                    exclude(group: "com.esotericsoftware", module: "kryo")
                }
        ],
        memcached                  : [
                dependencies.create(libs.spymemcached.get()) {
                }
        ],
        awselasticachememcached    : [
                dependencies.create(libs.elasticache.java.cluster.client.get()) {
                }
        ],
        ldaptive                   : [
                dependencies.create(libs.ldaptive.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                },
                dependencies.create(libs.netty.handler.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                },
                dependencies.create(libs.netty.buffer.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                },
                dependencies.create(libs.netty.codec.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                },
                dependencies.create(libs.netty.common.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                },
                dependencies.create(libs.netty.transport.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                },
                dependencies.create(libs.netty.resolver.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                }
        ],
        fluentd                    : [
                dependencies.create(libs.fluent.logger.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "ch.qos.logback", module: "logback-core")
                    exclude(group: "ch.qos.logback", module: "logback-classic")
                },
                dependencies.create(libs.fluentd.log4j.appender.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "ch.qos.logback", module: "logback-core")
                    exclude(group: "ch.qos.logback", module: "logback-classic")
                }
        ],
        log4j                      : [
                dependencies.create(libs.spring.boot.starter.log4j2.get()) {
                    exclude(group: "org.springframework", module: "spring-web")
                    exclude(group: "org.springframework", module: "spring-webmvc")
                    exclude(group: "org.springframework", module: "spring-core")
                    exclude(group: "org.springframework", module: "spring-context")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "org.slf4j", module: "jul-to-slf4j")
                    exclude(group: "org.apache.logging.log4j", module: "log4j-slf4j-impl")
                    exclude(group: "org.apache.logging.log4j", module: "log4j-slf4j2-impl")
                    exclude(group: "org.apache.logging.log4j", module: "log4j-core")
                    exclude(group: "org.apache.logging.log4j", module: "log4j-api")
                    exclude(group: "org.apache.logging.log4j", module: "log4j-jcl")
                },
                dependencies.create(libs.log4j.api.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                },
                dependencies.create(libs.log4j.core.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                },
                dependencies.create(libs.log4j.jcl.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                },
                dependencies.create(libs.log4j.jakarta.web.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                },
                dependencies.create(libs.log4j.slf4j2.impl.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                },
                dependencies.create(libs.log4j.layout.template.json.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                },
                dependencies.create(libs.disruptor.get()),
                dependencies.create(libs.log4j.spring.cloud.config.client.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "commons-logging", module: "commons-logging")
                    exclude(group: "org.springframework.cloud", module: "spring-cloud-config-client")
                    exclude(group: "org.springframework.cloud", module: "spring-cloud-starter-bootstrap")
                    exclude(group: "org.springframework.cloud", module: "spring-cloud-bus")
                    exclude(group: "org.apache.logging.log4j", module: "log4j-core")
                    exclude(group: "org.apache.logging.log4j", module: "log4j-api")
                }
        ],
        slf4j                      : [
                dependencies.create(libs.slf4j.api.get()),
                dependencies.create(libs.jul.to.slf4j.get())
        ],
        tracingbrave : [
                dependencies.create(libs.micrometer.tracing.bridge.brave.get()) {
                    exclude(group: "commons-logging", module: "commons-logging")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "commons-lang", module: "commons-lang")
                },
                dependencies.create(libs.zipkin.reporter.brave.get()) {
                    exclude(group: "commons-logging", module: "commons-logging")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "commons-lang", module: "commons-lang")
                }
        ],
        opentelemetry : [
                dependencies.create(libs.opentelemetry.exporter.otlp.get()) {
                    exclude(group: "commons-logging", module: "commons-logging")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "commons-lang", module: "commons-lang")
                    exclude(group: "ch.qos.logback", module: "logback-core")
                    exclude(group: "ch.qos.logback", module: "logback-classic")
                }
        ],
        tracingotel : [
                dependencies.create(libs.micrometer.tracing.bridge.otel.get()) {
                    exclude(group: "commons-logging", module: "commons-logging")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "commons-lang", module: "commons-lang")
                }
        ],
        metrics                    : [
                dependencies.create(libs.micrometer.core.get()) {
                    exclude(group: "commons-logging", module: "commons-logging")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "commons-lang", module: "commons-lang")
                },
                dependencies.create(libs.micrometer.commons.get()) {
                    exclude(group: "commons-logging", module: "commons-logging")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "commons-lang", module: "commons-lang")
                },
                dependencies.create(libs.micrometer.jakarta9.get()) {
                    exclude(group: "commons-logging", module: "commons-logging")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "commons-lang", module: "commons-lang")
                },
                dependencies.create(libs.micrometer.java21.get()) {
                    exclude(group: "commons-logging", module: "commons-logging")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "commons-lang", module: "commons-lang")
                },
                dependencies.create(libs.micrometer.observation.get()) {
                    exclude(group: "commons-logging", module: "commons-logging")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "commons-lang", module: "commons-lang")
                },
                dependencies.create(libs.micrometer.registry.elastic.get()) {
                    exclude(group: "commons-logging", module: "commons-logging")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "commons-lang", module: "commons-lang")
                },
                dependencies.create(libs.micrometer.observation.get()) {
                    exclude(group: "commons-logging", module: "commons-logging")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "commons-lang", module: "commons-lang")
                },
                dependencies.create(libs.micrometer.registry.prometheus.get()) {
                    exclude(group: "commons-logging", module: "commons-logging")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "commons-lang", module: "commons-lang")
                },
                dependencies.create(libs.micrometer.registry.graphite.get()) {
                    exclude(group: "commons-logging", module: "commons-logging")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "commons-lang", module: "commons-lang")
                },
                dependencies.create(libs.micrometer.registry.ganglia.get()) {
                    exclude(group: "commons-logging", module: "commons-logging")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "commons-lang", module: "commons-lang")
                },
                dependencies.create(libs.micrometer.registry.jmx.get()) {
                    exclude(group: "commons-logging", module: "commons-logging")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "commons-lang", module: "commons-lang")
                },
                dependencies.create(libs.micrometer.registry.influx.get()) {
                    exclude(group: "commons-logging", module: "commons-logging")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "commons-lang", module: "commons-lang")
                },
                dependencies.create(libs.micrometer.registry.statsd.get()) {
                    exclude(group: "commons-logging", module: "commons-logging")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "commons-lang", module: "commons-lang")
                },
                dependencies.create(libs.micrometer.registry.datadog.get()) {
                    exclude(group: "commons-logging", module: "commons-logging")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "commons-lang", module: "commons-lang")
                },
                dependencies.create(libs.micrometer.registry.atlas.get()) {
                    exclude(group: "commons-logging", module: "commons-logging")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "commons-lang", module: "commons-lang")
                },
                dependencies.create(libs.micrometer.registry.wavefront.get()) {
                    exclude(group: "commons-logging", module: "commons-logging")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "commons-lang", module: "commons-lang")
                },
                dependencies.create(libs.micrometer.registry.new.relic.get()) {
                    exclude(group: "commons-logging", module: "commons-logging")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "commons-lang", module: "commons-lang")
                },
                dependencies.create(libs.micrometer.registry.cloudwatch2.get()) {
                    exclude(group: "commons-logging", module: "commons-logging")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "commons-lang", module: "commons-lang")
                },
                dependencies.create(libs.micrometer.registry.otel.get()) {
                    exclude(group: "commons-logging", module: "commons-logging")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "commons-lang", module: "commons-lang")
                }
        ],
        mongo                      : [
                dependencies.create(libs.mongodb.driver.core.get()) {
                    exclude(group: "commons-cli", module: "commons-cli")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                },
                dependencies.create(libs.mongodb.driver.sync.get()) {
                    exclude(group: "commons-cli", module: "commons-cli")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                },
                dependencies.create(libs.bson.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                },
                dependencies.create(libs.spring.data.mongodb.get()) {
                    exclude(group: "commons-logging", module: "commons-logging")
                    exclude(group: "org.slf4j", module: "jcl-over-slf4j")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "org.springframework.data", module: "spring-data-commons")
                    exclude(group: "org.springframework", module: "spring-context")
                    exclude(group: "org.springframework", module: "spring-web")
                    exclude(group: "org.springframework", module: "spring-beans")
                    exclude(group: "org.springframework", module: "spring-core")
                    exclude(group: "org.springframework", module: "spring-expression")
                    exclude(group: "org.springframework", module: "spring-webmvc")
                    exclude(group: "org.springframework", module: "spring-tx")
                    exclude(group: "org.mongodb", module: "mongodb-driver-core")
                }
        ],
        opensaml                   : [
                dependencies.create(libs.xercesimpl.get()) {
                    exclude(group: "commons-codec", module: "commons-codec")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                },
                dependencies.create(libs.opensaml.core.api.get()) {
                    exclude(group: "org.bouncycastle", module: "bcprov-jdk15on")
                    exclude(group: "commons-collections", module: "commons-collections")
                    exclude(group: "joda-time", module: "joda-time")
                    exclude(group: "net.shibboleth.utilities", module: "java-support")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "com.google.code.findbugs", module: "jsr305")
                    exclude(group: "org.springframework", module: "spring-beans")
                    exclude(group: "org.springframework", module: "spring-core")
                    exclude(group: "org.apache.httpcomponents", module: "httpclient")
                    exclude(group: "commons-codec", module: "commons-codec")
                    exclude(group: "com.google.guava", module: "guava")
                    exclude(group: "org.cryptacular", module: "cryptacular")
                    exclude(group: "org.opensaml", module: "opensaml-profile-api")
                    exclude(group: "org.opensaml", module: "opensaml-profile-impl")
                    exclude(group: "org.opensaml", module: "opensaml-messaging-api")
                    exclude(group: "org.opensaml", module: "opensaml-soap-api")
                    exclude(group: "org.opensaml", module: "opensaml-session-api")
                    exclude(group: "org.opensaml", module: "opensaml-security-api")
                    exclude(group: "org.opensaml", module: "opensaml-saml-api")
                    exclude(group: "org.opensaml", module: "opensaml-saml-impl")
                },
                dependencies.create(libs.opensaml.xmlsec.impl.get()) {
                    exclude(group: "org.bouncycastle", module: "bcprov-jdk15on")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "com.google.guava", module: "guava")
                    exclude(group: "joda-time", module: "joda-time")
                    exclude(group: "commons-codec", module: "commons-codec")
                    exclude(group: "com.google.code.findbugs", module: "jsr305")
                    exclude(group: "org.apache.httpcomponents", module: "httpclient")
                    exclude(group: "org.cryptacular", module: "cryptacular")
                    exclude(group: "commons-collections", module: "commons-collections")
                    exclude(group: "net.shibboleth.utilities", module: "java-support")
                    exclude(group: "org.opensaml", module: "opensaml-core")
                },
                dependencies.create(libs.opensaml.saml.api.get()) {
                    exclude(group: "org.bouncycastle", module: "bcprov-jdk15on")
                    exclude(group: "joda-time", module: "joda-time")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "com.google.code.findbugs", module: "jsr305")
                    exclude(group: "org.springframework", module: "spring-beans")
                    exclude(group: "org.springframework", module: "spring-core")
                    exclude(group: "org.apache.httpcomponents", module: "httpclient")
                    exclude(group: "com.google.guava", module: "guava")
                    exclude(group: "org.cryptacular", module: "cryptacular")
                    exclude(group: "commons-collections", module: "commons-collections")
                    exclude(group: "net.shibboleth.utilities", module: "java-support")
                    exclude(group: "commons-codec", module: "commons-codec")
                    exclude(group: "org.apache.velocity", module: "velocity")
                    exclude(group: "org.opensaml", module: "opensaml-core")
                    exclude(group: "org.opensaml", module: "opensaml-profile-api")
                },
                dependencies.create(libs.opensaml.profile.api.get()) {
                    exclude(group: "org.bouncycastle", module: "bcprov-jdk15on")
                    exclude(group: "joda-time", module: "joda-time")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "commons-lang", module: "commons-lang")
                    exclude(group: "commons-codec", module: "commons-codec")
                    exclude(group: "com.google.code.findbugs", module: "jsr305")
                    exclude(group: "org.opensaml", module: "opensaml-saml-api")
                    exclude(group: "org.springframework", module: "spring-beans")
                    exclude(group: "org.springframework", module: "spring-core")
                    exclude(group: "org.springframework", module: "spring-context")
                    exclude(group: "org.apache.httpcomponents", module: "httpclient")
                    exclude(group: "com.google.guava", module: "guava")
                    exclude(group: "org.cryptacular", module: "cryptacular")
                    exclude(group: "commons-collections", module: "commons-collections")
                    exclude(group: "net.shibboleth.utilities", module: "java-support")
                    exclude(group: "org.apache.velocity", module: "velocity")
                    exclude(group: "org.opensaml", module: "opensaml-core")
                },
                dependencies.create(libs.opensaml.saml.impl.get()) {
                    exclude(group: "org.bouncycastle", module: "bcprov-jdk15on")
                    exclude(group: "joda-time", module: "joda-time")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "commons-lang", module: "commons-lang")
                    exclude(group: "commons-codec", module: "commons-codec")
                    exclude(group: "com.google.code.findbugs", module: "jsr305")
                    exclude(group: "org.opensaml", module: "opensaml-saml-api")
                    exclude(group: "org.springframework", module: "spring-beans")
                    exclude(group: "org.springframework", module: "spring-core")
                    exclude(group: "org.springframework", module: "spring-context")
                    exclude(group: "org.apache.httpcomponents", module: "httpclient")
                    exclude(group: "com.google.guava", module: "guava")
                    exclude(group: "org.cryptacular", module: "cryptacular")
                    exclude(group: "commons-collections", module: "commons-collections")
                    exclude(group: "net.shibboleth.utilities", module: "java-support")
                    exclude(group: "org.apache.velocity", module: "velocity")
                    exclude(group: "org.opensaml", module: "opensaml-core")
                },
                dependencies.create(libs.opensaml.security.api.get()) {
                    exclude(group: "org.bouncycastle", module: "bcprov-jdk15on")
                    exclude(group: "org.bouncycastle", module: "bcpkix-jdk18on")
                    exclude(group: "joda-time", module: "joda-time")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "commons-lang", module: "commons-lang")
                    exclude(group: "commons-codec", module: "commons-codec")
                    exclude(group: "com.google.code.findbugs", module: "jsr305")
                    exclude(group: "org.springframework", module: "spring-beans")
                    exclude(group: "org.springframework", module: "spring-core")
                    exclude(group: "org.springframework", module: "spring-context")
                    exclude(group: "org.apache.httpcomponents", module: "httpclient")
                    exclude(group: "com.google.guava", module: "guava")
                    exclude(group: "org.cryptacular", module: "cryptacular")
                    exclude(group: "commons-collections", module: "commons-collections")
                    exclude(group: "net.shibboleth.utilities", module: "java-support")
                    exclude(group: "org.opensaml", module: "opensaml-core")
                },
                dependencies.create(libs.opensaml.xacml.saml.impl.get()) {
                    exclude(group: "org.bouncycastle", module: "bcprov-jdk15on")
                    exclude(group: "joda-time", module: "joda-time")
                    exclude(group: "com.google.code.findbugs", module: "jsr305")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "commons-codec", module: "commons-codec")
                    exclude(group: "org.apache.httpcomponents", module: "httpclient")
                    exclude(group: "com.google.guava", module: "guava")
                    exclude(group: "org.cryptacular", module: "cryptacular")
                    exclude(group: "commons-collections", module: "commons-collections")
                    exclude(group: "commons-lang", module: "commons-lang")
                    exclude(group: "net.shibboleth.utilities", module: "java-support")
                    exclude(group: "org.opensaml", module: "opensaml-saml-api")
                    exclude(group: "org.opensaml", module: "opensaml-saml-impl")
                    exclude(group: "org.opensaml", module: "opensaml-core")
                },
                dependencies.create(libs.opensaml.xacml.saml.api.get()) {
                    exclude(group: "org.bouncycastle", module: "bcprov-jdk15on")
                    exclude(group: "joda-time", module: "joda-time")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "com.google.code.findbugs", module: "jsr305")
                    exclude(group: "org.apache.httpcomponents", module: "httpclient")
                    exclude(group: "com.google.guava", module: "guava")
                    exclude(group: "org.cryptacular", module: "cryptacular")
                    exclude(group: "net.shibboleth.utilities", module: "java-support")
                    exclude(group: "commons-codec", module: "commons-codec")
                    exclude(group: "commons-collections", module: "commons-collections")
                    exclude(group: "commons-lang", module: "commons-lang")
                    exclude(group: "org.opensaml", module: "opensaml-saml-api")
                    exclude(group: "org.opensaml", module: "opensaml-saml-impl")
                    exclude(group: "org.opensaml", module: "opensaml-core")
                },
                dependencies.create(libs.opensaml.security.impl.get()) {
                    exclude(group: "org.bouncycastle", module: "bcprov-jdk15on")
                    exclude(group: "joda-time", module: "joda-time")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "com.google.code.findbugs", module: "jsr305")
                    exclude(group: "org.springframework", module: "spring-beans")
                    exclude(group: "org.springframework", module: "spring-core")
                    exclude(group: "org.apache.httpcomponents", module: "httpclient")
                    exclude(group: "com.google.guava", module: "guava")
                    exclude(group: "org.cryptacular", module: "cryptacular")
                    exclude(group: "commons-collections", module: "commons-collections")
                    exclude(group: "net.shibboleth.utilities", module: "java-support")
                    exclude(group: "commons-codec", module: "commons-codec")
                    exclude(group: "commons-lang", module: "commons-lang")
                    exclude(group: "org.opensaml", module: "opensaml-saml-api")
                    exclude(group: "org.opensaml", module: "opensaml-saml-impl")
                    exclude(group: "org.opensaml", module: "opensaml-core")
                    exclude(group: "org.opensaml", module: "opensaml-security-api")
                },
                dependencies.create(libs.opensaml.soap.api.get()) {
                    exclude(group: "org.bouncycastle", module: "bcprov-jdk15on")
                    exclude(group: "joda-time", module: "joda-time")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "org.springframework", module: "spring-beans")
                    exclude(group: "org.springframework", module: "spring-core")
                    exclude(group: "org.apache.httpcomponents", module: "httpclient")
                    exclude(group: "com.google.guava", module: "guava")
                    exclude(group: "com.google.code.findbugs", module: "jsr305")
                    exclude(group: "org.cryptacular", module: "cryptacular")
                    exclude(group: "commons-collections", module: "commons-collections")
                    exclude(group: "net.shibboleth.utilities", module: "java-support")
                    exclude(group: "commons-codec", module: "commons-codec")
                    exclude(group: "commons-lang", module: "commons-lang")
                    exclude(group: "org.opensaml", module: "opensaml-saml-api")
                    exclude(group: "org.opensaml", module: "opensaml-saml-impl")
                    exclude(group: "org.opensaml", module: "opensaml-core")
                },
                dependencies.create(libs.opensaml.messaging.impl.get()) {
                    exclude(group: "org.bouncycastle", module: "bcprov-jdk15on")
                    exclude(group: "joda-time", module: "joda-time")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "com.google.code.findbugs", module: "jsr305")
                    exclude(group: "org.springframework", module: "spring-beans")
                    exclude(group: "org.springframework", module: "spring-core")
                    exclude(group: "org.apache.httpcomponents", module: "httpclient")
                    exclude(group: "com.google.guava", module: "guava")
                    exclude(group: "org.cryptacular", module: "cryptacular")
                    exclude(group: "commons-collections", module: "commons-collections")
                    exclude(group: "net.shibboleth.utilities", module: "java-support")
                    exclude(group: "commons-codec", module: "commons-codec")
                    exclude(group: "commons-lang", module: "commons-lang")
                    exclude(group: "org.opensaml", module: "opensaml-saml-api")
                    exclude(group: "org.opensaml", module: "opensaml-saml-impl")
                    exclude(group: "org.opensaml", module: "opensaml-core")
                },
                dependencies.create(libs.opensaml.profile.impl.get()) {
                    exclude(group: "org.bouncycastle", module: "bcprov-jdk15on")
                    exclude(group: "joda-time", module: "joda-time")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "org.springframework", module: "spring-beans")
                    exclude(group: "org.springframework", module: "spring-core")
                    exclude(group: "org.apache.httpcomponents", module: "httpclient")
                    exclude(group: "com.google.guava", module: "guava")
                    exclude(group: "org.cryptacular", module: "cryptacular")
                    exclude(group: "commons-collections", module: "commons-collections")
                    exclude(group: "com.google.code.findbugs", module: "jsr305")
                    exclude(group: "net.shibboleth.utilities", module: "java-support")
                    exclude(group: "commons-codec", module: "commons-codec")
                    exclude(group: "org.apache.velocity", module: "velocity")
                    exclude(group: "commons-lang", module: "commons-lang")
                    exclude(group: "org.opensaml", module: "opensaml-saml-api")
                    exclude(group: "org.opensaml", module: "opensaml-profile-api")
                    exclude(group: "org.opensaml", module: "opensaml-saml-impl")
                    exclude(group: "org.opensaml", module: "opensaml-core")
                    exclude(group: "org.opensaml", module: "opensaml-messaging-api")
                    exclude(group: "org.opensaml", module: "opensaml-security-api")
                },
                dependencies.create(libs.opensaml.storage.impl.get()) {
                    exclude(group: "org.bouncycastle", module: "bcprov-jdk15on")
                    exclude(group: "commons-collections", module: "commons-collections")
                    exclude(group: "commons-codec", module: "commons-codec")
                    exclude(group: "joda-time", module: "joda-time")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "com.google.code.findbugs", module: "jsr305")
                    exclude(group: "org.springframework", module: "spring-beans")
                    exclude(group: "org.springframework", module: "spring-core")
                    exclude(group: "org.springframework", module: "spring-orm")
                    exclude(group: "org.hibernate.validator", module: "hibernate-validator")
                    exclude(group: "org.hibernate", module: "hibernate-core")
                    exclude(group: "org.hibernate", module: "hibernate-entitymanager")
                    exclude(group: "org.apache.httpcomponents", module: "httpclient")
                    exclude(group: "com.google.guava", module: "guava")
                    exclude(group: "org.ldaptive", module: "ldaptive")
                    exclude(group: "org.cryptacular", module: "cryptacular")
                    exclude(group: "net.shibboleth.utilities", module: "java-support")
                    exclude(group: "org.apache.velocity", module: "velocity")
                    exclude(group: "commons-lang", module: "commons-lang")
                    exclude(group: "org.opensaml", module: "opensaml-saml-api")
                    exclude(group: "org.opensaml", module: "opensaml-saml-impl")
                    exclude(group: "org.opensaml", module: "opensaml-core")
                },
                dependencies.create(libs.xmlsec.get()) {
                    exclude(group: "jakarta.xml.bind", module: "jakarta.xml.bind-api")
                }
        ],
        pac4jcore                  : [
                dependencies.create(libs.pac4j.config.get()) {
                    exclude(group: "com.nimbusds", module: "oauth2-oidc-sdk")
                    exclude(group: "com.google.code.findbugs", module: "findbugs-annotations")
                    exclude(group: "org.apache.commons", module: "commons-lang3")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "com.zaxxer", module: "HikariCP")
                    exclude(group: "joda-time", module: "joda-time")
                    exclude(group: "org.springframework", module: "spring-core")
                    exclude(group: "org.slf4j", module: "jcl-over-slf4j")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-databind")
                    exclude(group: "com.google.guava", module: "guava")
                    exclude(group: "org.cryptacular", module: "cryptacular")
                    exclude(group: "org.bouncycastle", module: "bcprov-jdk15on")
                    exclude(group: "commons-codec", module: "commons-codec")
                    exclude(group: "org.apache.httpcomponents", module: "httpclient")
                    exclude(group: "org.apache.httpcomponents", module: "httpclient-cache")
                    exclude(group: "commons-httpclient", module: "commons-httpclient")
                    exclude(group: "commons-collections", module: "commons-collections")
                    exclude(group: "net.minidev", module: "json-smart")
                    exclude(group: "org.opensaml", module: "opensaml-core")
                    exclude(group: "org.opensaml", module: "opensaml-saml-impl")
                    exclude(group: "org.opensaml", module: "opensaml-saml-api")
                    exclude(group: "org.opensaml", module: "opensaml-xmlsec-api")
                    exclude(group: "org.opensaml", module: "opensaml-security-impl")
                    exclude(group: "org.opensaml", module: "opensaml-profile-api")
                    exclude(group: "org.opensaml", module: "opensaml-profile-impl")
                    exclude(group: "org.opensaml", module: "opensaml-soap-api")
                    exclude(group: "org.opensaml", module: "opensaml-messaging-api")
                    exclude(group: "org.opensaml", module: "opensaml-messaging-impl")
                    exclude(group: "org.opensaml", module: "opensaml-xmlsec-impl")
                    exclude(group: "org.opensaml", module: "opensaml-security-api")
                    exclude(group: "org.springframework", module: "spring-expression")
                    exclude(group: "net.shibboleth.ext", module: "spring-extensions")
                    exclude(group: "net.shibboleth.utilities", module: "java-support")
                    exclude(group: "xml-apis", module: "xml-apis")
                    exclude(group: "com.nimbusds", module: "nimbus-jose-jwt")
                    exclude(group: "org.opensaml", module: "xmltooling")
                    exclude(group: "org.cryptacular", module: "cryptacular")
                    exclude(group: "org.projectlombok", module: "lombok")
                },
                dependencies.create(libs.pac4j.jakartaee.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "joda-time", module: "joda-time")
                    exclude(group: "commons-codec", module: "commons-codec")
                    exclude(group: "commons-collections", module: "commons-collections")
                    exclude(group: "org.cryptacular", module: "cryptacular")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-databind")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-core")
                    exclude(group: "com.zaxxer", module: "HikariCP")
                    exclude(group: "org.projectlombok", module: "lombok")
                    exclude(group: "com.google.code.findbugs", module: "findbugs-annotations")
                },
                dependencies.create(libs.pac4j.http.get()) {
                    exclude(group: "org.apache.commons", module: "commons-lang3")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "joda-time", module: "joda-time")
                    exclude(group: "org.slf4j", module: "jcl-over-slf4j")
                    exclude(group: "commons-collections", module: "commons-collections")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-databind")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-core")
                    exclude(group: "org.projectlombok", module: "lombok")
                    exclude(group: "com.google.code.findbugs", module: "findbugs-annotations")
                },
                dependencies.create(libs.pac4j.core.get()) {
                    exclude(group: "org.apache.commons", module: "commons-lang3")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "joda-time", module: "joda-time")
                    exclude(group: "org.slf4j", module: "jcl-over-slf4j")
                    exclude(group: "commons-collections", module: "commons-collections")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-databind")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-core")
                    exclude(group: "org.projectlombok", module: "lombok")
                    exclude(group: "com.google.code.findbugs", module: "findbugs-annotations")
                }
        ],
        pac4jjwt                   : [
                dependencies.create(libs.pac4j.jwt.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "org.slf4j", module: "jcl-over-slf4j")
                    exclude(group: "org.bouncycastle", module: "bcprov-jdk15on")
                    exclude(group: "commons-io", module: "commons-io")
                    exclude(group: "commons-collections", module: "commons-collections")
                    exclude(group: "net.minidev", module: "json-smart")
                    exclude(group: "com.nimbusds", module: "nimbus-jose-jwt")
                    exclude(group: "org.cryptacular", module: "cryptacular")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-databind")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-annotations")
                    exclude(group: "org.projectlombok", module: "lombok")
                    exclude(group: "com.google.code.findbugs", module: "findbugs-annotations")
                }
        ],
        pac4jcas                   : [
                dependencies.create(libs.pac4j.cas.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "joda-time", module: "joda-time")
                    exclude(group: "org.slf4j", module: "jcl-over-slf4j")
                    exclude(group: "commons-collections", module: "commons-collections")
                    exclude(group: "commons-codec", module: "commons-codec")
                    exclude(group: "com.google.guava", module: "guava")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-databind")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-annotations")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-core")
                    exclude(group: "org.jasig.cas.client", module: "cas-client-support-saml")
                    exclude(group: "org.jasig.cas.client", module: "cas-client-core")
                    exclude(group: "org.bouncycastle", module: "bcprov-jdk15on")
                    exclude(group: "org.projectlombok", module: "lombok")
                    exclude(group: "com.google.code.findbugs", module: "findbugs-annotations")
                }
        ],
        pac4jsaml                  : [
                dependencies.create(libs.pac4j.saml.get()) {
                    exclude(group: "org.apache.santuario", module: "xmlsec")
                    exclude(group: "org.apache.httpcomponents", module: "httpcore")
                    exclude(group: "com.google.code.findbugs", module: "jsr305")
                    exclude(group: "org.apache.commons", module: "commons-lang3")
                    exclude(group: "org.slf4j", module: "jcl-over-slf4j")
                    exclude(group: "commons-collections", module: "commons-collections")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "joda-time", module: "joda-time")
                    exclude(group: "xml-apis", module: "xml-apis")
                    exclude(group: "org.apache.velocity", module: "velocity")
                    exclude(group: "commons-lang", module: "commons-lang")
                    exclude(group: "com.google.guava", module: "guava")
                    exclude(group: "javax.annotation", module: "javax.annotation-api")
                    exclude(group: "org.springframework", module: "spring-core")
                    exclude(group: "org.cryptacular", module: "cryptacular")
                    exclude(group: "commons-codec", module: "commons-codec")
                    exclude(group: "org.apache.httpcomponents", module: "httpclient")
                    exclude(group: "org.apache.httpcomponents", module: "httpclient-cache")
                    exclude(group: "commons-httpclient", module: "commons-httpclient")
                    exclude(group: "org.bouncycastle", module: "bcprov-jdk15on")
                    exclude(group: "org.opensaml", module: "opensaml-core")
                    exclude(group: "net.shibboleth.utilities", module: "java-support")
                    exclude(group: "net.shibboleth.idp", module: "idp-core")
                    exclude(group: "net.shibboleth.idp", module: "profile-impl")
                    exclude(group: "net.shibboleth.idp", module: "profile-spring")
                    exclude(group: "net.shibboleth.idp", module: "idp-attribute-api")
                    exclude(group: "net.shibboleth.idp", module: "idp-profile-api")
                    exclude(group: "net.shibboleth.idp", module: "idp-saml-api")
                    exclude(group: "net.shibboleth.idp", module: "idp-saml-impl")
                    exclude(group: "net.shibboleth.idp", module: "idp-profile-api")
                    exclude(group: "net.shibboleth.liberty", module: "idwsfconsumer")
                    exclude(group: "org.opensaml", module: "opensaml-saml-impl")
                    exclude(group: "org.opensaml", module: "opensaml-saml-api")
                    exclude(group: "org.opensaml", module: "opensaml-xmlsec-api")
                    exclude(group: "org.opensaml", module: "opensaml-xmlsec-impl")
                    exclude(group: "org.opensaml", module: "opensaml-security-api")
                    exclude(group: "org.opensaml", module: "opensaml-security-impl")
                    exclude(group: "org.opensaml", module: "opensaml-profile-api")
                    exclude(group: "org.opensaml", module: "opensaml-profile-impl")
                    exclude(group: "org.opensaml", module: "opensaml-soap-api")
                    exclude(group: "org.opensaml", module: "opensaml-soap-impl")
                    exclude(group: "org.opensaml", module: "opensaml-storage-api")
                    exclude(group: "org.opensaml", module: "opensaml-storage-impl")
                    exclude(group: "org.opensaml", module: "opensaml-messaging-api")
                    exclude(group: "org.opensaml", module: "opensaml-messaging-impl")
                    exclude(group: "org.opensaml", module: "opensaml-xacml-impl")
                    exclude(group: "org.opensaml", module: "opensaml-xacml-api")
                    exclude(group: "org.opensaml", module: "opensaml-core")
                    exclude(group: "org.opensaml", module: "opensaml-core-api")
                    exclude(group: "org.opensaml", module: "opensaml-saml-impl")
                    exclude(group: "org.opensaml", module: "xmltooling")
                    exclude(group: "org.opensaml", module: "opensaml-xmlsec-saml-impl")
                    exclude(group: "org.opensaml", module: "opensaml-xacml-saml-impl")
                    exclude(group: "org.opensaml", module: "opensaml-xacml-saml-api")
                    exclude(group: "net.shibboleth.ext", module: "spring-extensions")
                    exclude(group: "ch.qos.logback", module: "logback-classic")
                    exclude(group: "org.cryptacular", module: "cryptacular")
                    exclude(group: "xalan", module: "xalan")
                    exclude(group: "xalan", module: "serializer")
                    exclude(group: "org.springframework", module: "spring-expression")
                    exclude(group: "org.apache.velocity", module: "velocity")
                    exclude(group: "org.projectlombok", module: "lombok")
                    exclude(group: "com.google.code.findbugs", module: "findbugs-annotations")
                }
        ],
        pac4joidcoauth             : [
                dependencies.create(libs.pac4j.oidc.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "org.slf4j", module: "jcl-over-slf4j")
                    exclude(group: "com.nimbusds", module: "nimbus-jose-jwt")
                    exclude(group: "net.minidev", module: "json-smart")
                    exclude(group: "com.nimbusds", module: "oauth2-oidc-sdk")
                    exclude(group: "commons-collections", module: "commons-collections")
                    exclude(group: "commons-codec", module: "commons-codec")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-databind")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-annotations")
                    exclude(group: "com.google.guava", module: "guava")
                    exclude(group: "org.projectlombok", module: "lombok")
                },
                dependencies.create(libs.pac4j.oauth.get()) {
                    exclude(group: "org.apache.commons", module: "commons-lang3")
                    exclude(group: "commons-collections", module: "commons-collections")
                    exclude(group: "org.apache.commons", module: "commons-codec")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "org.slf4j", module: "jcl-over-slf4j")
                    exclude(group: "joda-time", module: "joda-time")
                    exclude(group: "com.nimbusds", module: "oauth2-oidc-sdk")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-databind")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-annotations")
                    exclude(group: "org.projectlombok", module: "lombok")
                }
        ],
        nimbus                     : [
                dependencies.create(libs.nimbus.jose.jwt.get()) {
                    exclude(group: "net.minidev", module: "json-smart")
                    exclude(group: "org.bouncycastle", module: "bcpkix-jdk15on")
                    exclude(group: "commons-collections", module: "commons-collections")
                },
                dependencies.create(libs.oauth2.oidc.sdk.get()) {
                    exclude(group: "net.minidev", module: "json-smart")
                    exclude(group: "com.nimbusds", module: "nimbus-jose-jwt")
                    exclude(group: "org.apache.commons", module: "commons-lang3")
                    exclude(group: "commons-collections", module: "commons-collections")
                    exclude(group: "com.sun.mail", module: "javax.mail")
                    exclude(group: "org.bouncycastle", module: "bcprov-jdk15on")
                    exclude(group: "org.bouncycastle", module: "bcpkix-jdk15on")
                },
                dependencies.create(libs.json.smart.get()) {
                    exclude(group: "org.ow2.asm", module: "asm")
                },
                dependencies.create(libs.jcip.annotations.get()) {
                }
        ],
        quartz                     : dependencies.create(libs.quartz.get()) {
            exclude(group: "org.slf4j", module: "slf4j-api")
            exclude(group: "c3p0", module: "c3p0")
            exclude(group: "com.mchange", module: "c3p0")
            exclude(group: "com.zaxxer", module: "HikariCP-java6")
            exclude(group: "com.zaxxer", module: "HikariCP-java7")
        },
        twilio                     : dependencies.create(libs.twilio.get()) {
            exclude(group: "org.slf4j", module: "slf4j-api")
            exclude(group: "com.fasterxml.jackson.core", module: "jackson-annotations")
            exclude(group: "com.fasterxml.jackson.core", module: "jackson-databind")
            exclude(group: "com.fasterxml.jackson.core", module: "jackson-core")
            exclude(group: "javax.xml.bind", module: "jaxb-api")
            exclude(group: "org.apache.httpcomponents", module: "httpclient")
        },
        nexmo                      : dependencies.create(libs.client.get()) {
            exclude(group: "org.slf4j", module: "slf4j-api")
            exclude(group: "com.fasterxml.jackson.core", module: "jackson-annotations")
            exclude(group: "com.fasterxml.jackson.core", module: "jackson-databind")
            exclude(group: "com.fasterxml.jackson.core", module: "jackson-core")
            exclude(group: "javax.xml.bind", module: "jaxb-api")
            exclude(group: "org.apache.httpcomponents", module: "httpclient")
            exclude(group: "commons-io", module: "commons-io")
            exclude(group: "commons-logging", module: "commons-logging")
            exclude(group: "commons-codec", module: "commons-codec")
            exclude(group: "org.apache.commons", module: "commons-lang3")
            exclude(group: "org.jetbrains", module: "annotations")
        },
        textmagic                  : [
                dependencies.create(libs.textmagic.java.sdk.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "org.apache.httpcomponents", module: "httpclient")
                    exclude(group: "org.codehaus.jackson", module: "jackson-mapper-asl")
                    exclude(group: "commons-lang", module: "commons-lang")
                },
                dependencies.create(libs.jackson.mapper.asl.get()) {
                    transitive = false
                },
                dependencies.create(libs.jackson.core.asl.get()) {
                    transitive = false
                }
        ],
        springbootconfigmetadata   : [
                dependencies.create(libs.spring.boot.configuration.processor.get()) {
                    exclude(group: "org.springframework", module: "spring-web")
                    exclude(group: "org.springframework", module: "spring-webmvc")
                    exclude(group: "org.springframework", module: "spring-core")
                    exclude(group: "org.springframework", module: "spring-context")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter")
                    exclude(group: "com.vaadin.external.google", module: "android-json")
                    exclude(group: "org.json", module: "json")
                    exclude(group: "commons-cli", module: "commons-cli")
                    exclude(group: "ch.qos.logback", module: "logback-core")
                    exclude(group: "ch.qos.logback", module: "logback-classic")
                },
                dependencies.create(libs.jsoup.get()),
                dependencies.create(libs.orgjson.get()) {
                    exclude(group: "com.vaadin.external.google", module: "android-json")
                },
                dependencies.create(libs.spring.boot.configuration.metadata.get()) {
                    exclude(group: "commons-cli", module: "commons-cli")
                    exclude(group: "com.vaadin.external.google", module: "android-json")
                    exclude(group: "ch.qos.logback", module: "logback-core")
                    exclude(group: "ch.qos.logback", module: "logback-classic")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter-reactor-netty")
                    exclude(group: "org.springframework.boot", module: "spring-boot-parent")
                }
        ],
        javaparser                 : [
                dependencies.create(libs.javaparser.core.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "org.slf4j", module: "jul-to-slf4j")
                    exclude(group: "com.google.guava", module: "guava")
                }
        ],
        springbootadminserver      : [
                dependencies.create(libs.spring.boot.admin.starter.server.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "org.slf4j", module: "jul-to-slf4j")
                    exclude(group: "com.google.guava", module: "guava")
                    exclude(group: "commons-lang", module: "commons-lang")
                    exclude(group: "ch.qos.logback", module: "logback-core")
                    exclude(group: "ch.qos.logback", module: "logback-classic")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter-logging")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter-web")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter-aop")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter-actuator")
                }
        ],
        springbootadminclient      : [
                dependencies.create(libs.spring.boot.admin.starter.client.get()) {
                    exclude(group: "com.google.guava", module: "guava")
                    exclude(group: "joda-time", module: "joda-time")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "org.slf4j", module: "jul-to-slf4j")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter-web")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter-actuator")
                    exclude(group: "com.fasterxml", module: "classmate")
                    exclude(group: "org.hibernate.validator", module: "hibernate-validator")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-annotations")
                    exclude(group: "org.springframework", module: "spring-web")
                    exclude(group: "org.springframework", module: "spring-core")
                    exclude(group: "org.springframework", module: "spring-webmvc")
                    exclude(group: "org.springframework", module: "spring-context")
                }
        ],
        springbootdevtools         : [
                dependencies.create(libs.spring.boot.devtools.get()) {
                    exclude(group: "org.hibernate.validator", module: "hibernate-validator")
                    exclude(group: "org.hibernate", module: "hibernate-core")
                    exclude(group: "org.hibernate", module: "hibernate-entitymanager")
                    exclude(group: "org.springframework", module: "spring-web")
                    exclude(group: "org.springframework", module: "spring-webmvc")
                    exclude(group: "org.springframework", module: "spring-core")
                    exclude(group: "org.springframework", module: "spring-context")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "org.slf4j", module: "jul-to-slf4j")
                    exclude(group: "ch.qos.logback", module: "logback-core")
                    exclude(group: "ch.qos.logback", module: "logback-classic")
                }
        ],
        springbootlogging          : [
                dependencies.create(libs.spring.boot.starter.logging.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "org.slf4j", module: "log4j-over-slf4j")
                    exclude(group: "org.slf4j", module: "jul-to-slf4j")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-annotations")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-databind")
                    exclude(group: "org.jboss.logging", module: "jboss-logging")
                    exclude(group: "org.springframework", module: "spring-web")
                    exclude(group: "org.springframework", module: "spring-core")
                    exclude(group: "org.springframework", module: "spring-webmvc")
                    exclude(group: "org.springframework", module: "spring-context")
                    exclude(group: "org.springframework", module: "spring-messaging")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter-actuator")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter")
                    exclude(group: "org.hibernate.validator", module: "hibernate-validator")
                    exclude(group: "ch.qos.logback", module: "logback-core")
                    exclude(group: "ch.qos.logback", module: "logback-classic")
                    exclude(group: "com.h2database", module: "h2")
                },
                dependencies.create(libs.logback.core.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "org.slf4j", module: "log4j-over-slf4j")
                    exclude(group: "org.slf4j", module: "jul-to-slf4j")
                },
                dependencies.create(libs.logback.access.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "org.slf4j", module: "log4j-over-slf4j")
                    exclude(group: "org.slf4j", module: "jul-to-slf4j")
                },
                dependencies.create(libs.logback.classic.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "org.slf4j", module: "log4j-over-slf4j")
                    exclude(group: "org.slf4j", module: "jul-to-slf4j")
                },
                dependencies.create(libs.jansi.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "org.slf4j", module: "log4j-over-slf4j")
                    exclude(group: "org.slf4j", module: "jul-to-slf4j")
                }
        ],
        mail                       : [
                dependencies.create(libs.spring.boot.starter.mail.get()) {
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter-logging")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "org.slf4j", module: "log4j-over-slf4j")
                    exclude(group: "org.slf4j", module: "jul-to-slf4j")
                    exclude(group: "org.springframework", module: "spring-web")
                    exclude(group: "org.springframework", module: "spring-core")
                    exclude(group: "org.springframework", module: "spring-aop")
                    exclude(group: "org.springframework", module: "spring-webmvc")
                    exclude(group: "org.springframework", module: "spring-context")
                    exclude(group: "org.springframework", module: "spring-context-support")
                    exclude(group: "org.springframework", module: "spring-beans")
                },
                dependencies.create(libs.jakarta.mail.get()),
                dependencies.create(libs.angus.mail.get())
        ],
        springbootpropertymigrator : [
                dependencies.create(libs.spring.boot.properties.migrator.get()) {
                    exclude(group: "org.hibernate.validator", module: "hibernate-validator")
                    exclude(group: "org.hibernate", module: "hibernate-core")
                    exclude(group: "org.hibernate", module: "hibernate-entitymanager")
                    exclude(group: "org.springframework", module: "spring-web")
                    exclude(group: "org.springframework", module: "spring-webmvc")
                    exclude(group: "org.springframework", module: "spring-core")
                    exclude(group: "org.springframework", module: "spring-context")
                    exclude(group: "org.springframework", module: "spring-aop")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "org.slf4j", module: "jul-to-slf4j")
                    exclude(group: "com.vaadin.external.google", module: "android-json")
                    exclude(group: "com.vaadin.external.google", module: "android-json")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter-logging")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter-reactor-netty")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter-aop")
                    exclude(group: "org.springframework.boot", module: "spring-boot-parent")
                }
        ],
        springboot                 : [
                dependencies.create(libs.spring.boot.starter.aop.get()) {
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter-web")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter-logging")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter-reactor-netty")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "org.slf4j", module: "log4j-over-slf4j")
                    exclude(group: "org.slf4j", module: "jul-to-slf4j")
                    exclude(group: "org.springframework", module: "spring-web")
                    exclude(group: "org.springframework", module: "spring-core")
                    exclude(group: "org.springframework", module: "spring-aop")
                    exclude(group: "org.springframework", module: "spring-webmvc")
                    exclude(group: "org.springframework", module: "spring-context")
                    exclude(group: "org.springframework", module: "spring-context-support")
                    exclude(group: "org.springframework", module: "spring-beans")
                    exclude(group: "org.aspectj", module: "aspectjweaver")
                },
                dependencies.create(libs.spring.boot.starter.web.sdk.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "org.slf4j", module: "jcl-over-slf4j")
                    exclude(group: "org.slf4j", module: "log4j-over-slf4j")
                    exclude(group: "org.slf4j", module: "jul-to-slf4j")
                    exclude(group: "org.jboss.logging", module: "jboss-logging")
                    exclude(group: "com.fasterxml", module: "classmate")
                    exclude(group: "org.hibernate.validator", module: "hibernate-validator")
                    exclude(group: "org.hibernate", module: "hibernate-core")
                    exclude(group: "org.hibernate", module: "hibernate-entitymanager")
                    exclude(group: "org.springframework", module: "spring-web")
                    exclude(group: "org.springframework", module: "spring-core")
                    exclude(group: "org.springframework", module: "spring-webmvc")
                    exclude(group: "org.springframework", module: "spring-context")
                    exclude(group: "org.springframework", module: "spring-beans")
                    exclude(group: "org.springframework", module: "spring-aop")
                    exclude(group: "com.fasterxml.jackson.module", module: "jackson-module-jaxb-annotations")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-annotations")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-databind")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter-logging")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter-json")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter-actuator")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter-tomcat")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter-validation")
                    exclude(group: "org.apache.tomcat.embed", module: "tomcat-embed-core")
                    exclude(group: "org.apache.tomcat.embed", module: "tomcat-embed-el")
                    exclude(group: "org.apache.tomcat.embed", module: "tomcat-embed-websocket")
                },
                dependencies.create(libs.spring.boot.autoconfigure.get()) {
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter-actuator")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter-logging")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter-web")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter")
                    exclude(group: "org.springframework", module: "spring-web")
                    exclude(group: "org.springframework", module: "spring-webmvc")
                    exclude(group: "org.springframework", module: "spring-core")
                    exclude(group: "org.springframework", module: "spring-context")
                    exclude(group: "org.springframework", module: "spring-aop")
                    exclude(group: "org.springframework", module: "spring-beans")
                    exclude(group: "org.hibernate.validator", module: "hibernate-validator")
                    exclude(group: "org.hibernate", module: "hibernate-core")
                    exclude(group: "org.hibernate", module: "hibernate-entitymanager")
                    exclude(group: "org.slf4j", module: "jcl-over-slf4j")
                    exclude(group: "org.slf4j", module: "jul-to-slf4j")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-databind")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-annotations")
                    exclude(group: "com.fasterxml.jackson.module", module: "jackson-module-jaxb-annotations")
                    exclude(group: "ch.qos.logback", module: "logback-core")
                    exclude(group: "ch.qos.logback", module: "logback-classic")
                    exclude(group: "com.h2database", module: "h2")
                },
                dependencies.create(libs.spring.boot.core.get()) {
                    exclude(group: "org.hibernate.validator", module: "hibernate-validator")
                    exclude(group: "org.hibernate", module: "hibernate-core")
                    exclude(group: "org.hibernate", module: "hibernate-entitymanager")
                    exclude(group: "org.springframework", module: "spring-web")
                    exclude(group: "org.springframework", module: "spring-webmvc")
                    exclude(group: "org.springframework", module: "spring-core")
                    exclude(group: "org.springframework", module: "spring-context")
                    exclude(group: "org.springframework", module: "spring-aop")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "org.slf4j", module: "jul-to-slf4j")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter-logging")
                    exclude(group: "ch.qos.logback", module: "logback-core")
                    exclude(group: "ch.qos.logback", module: "logback-classic")
                    exclude(group: "com.fasterxml.jackson.module", module: "jackson-module-jaxb-annotations")
                },
                dependencies.create(libs.spring.boot.starter.actuator.get()) {
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter")
                    exclude(group: "org.springframework.boot", module: "spring-boot-actuator")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter-web")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter-logging")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-annotations")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-databind")
                    exclude(group: "org.hibernate.validator", module: "hibernate-validator")
                    exclude(group: "org.hibernate", module: "hibernate-core")
                    exclude(group: "org.hibernate", module: "hibernate-entitymanager")
                    exclude(group: "org.springframework", module: "spring-web")
                    exclude(group: "org.springframework", module: "spring-webmvc")
                    exclude(group: "org.springframework", module: "spring-core")
                    exclude(group: "org.springframework", module: "spring-context")
                    exclude(group: "org.springframework", module: "spring-aop")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "org.slf4j", module: "jul-to-slf4j")
                    exclude(group: "ch.qos.logback", module: "logback-core")
                    exclude(group: "ch.qos.logback", module: "logback-classic")
                    exclude(group: "com.fasterxml.jackson.module", module: "jackson-module-jaxb-annotations")
                    exclude(group: "io.micrometer", module: "micrometer-jakarta9")
                },
                dependencies.create(libs.spring.boot.starter.validation.get()) {
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter")
                    exclude(group: "org.springframework.boot", module: "spring-boot-actuator")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter-web")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter-logging")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-annotations")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-databind")
                    exclude(group: "org.hibernate.validator", module: "hibernate-validator")
                    exclude(group: "org.hibernate", module: "hibernate-core")
                    exclude(group: "org.hibernate", module: "hibernate-entitymanager")
                    exclude(group: "org.springframework", module: "spring-web")
                    exclude(group: "org.springframework", module: "spring-webmvc")
                    exclude(group: "org.springframework", module: "spring-core")
                    exclude(group: "org.springframework", module: "spring-context")
                    exclude(group: "org.springframework", module: "spring-aop")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "org.slf4j", module: "jul-to-slf4j")
                    exclude(group: "ch.qos.logback", module: "logback-core")
                    exclude(group: "ch.qos.logback", module: "logback-classic")
                    exclude(group: "org.apache.tomcat.embed", module: "tomcat-embed-websocket")
                    exclude(group: "org.apache.tomcat.embed", module: "tomcat-embed-core")
                    exclude(group: "org.apache.tomcat.embed", module: "tomcat-embed-el")
                    exclude(group: "org.apache.tomcat.embed", module: "tomcat-embed-websocket")
                    exclude(group: "com.fasterxml.jackson.module", module: "jackson-module-jaxb-annotations")
                },
                dependencies.create(libs.spring.boot.actuator.get()) {
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-annotations")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-databind")
                    exclude(group: "org.springframework", module: "spring-web")
                    exclude(group: "org.springframework", module: "spring-webmvc")
                    exclude(group: "org.springframework", module: "spring-core")
                    exclude(group: "org.springframework", module: "spring-beans")
                    exclude(group: "org.springframework", module: "spring-context")
                    exclude(group: "org.springframework", module: "spring-aop")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter-logging")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter-web")
                    exclude(group: "com.fasterxml.jackson.module", module: "jackson-module-jaxb-annotations")
                }
        ],
        springboottomcat           : [
                dependencies.create(libs.spring.boot.starter.tomcat.get()) {
                    exclude(group: "ch.qos.logback", module: "logback-core")
                    exclude(group: "ch.qos.logback", module: "logback-classic")
                    exclude(group: "org.springframework", module: "spring-web")
                    exclude(group: "org.springframework", module: "spring-webmvc")
                    exclude(group: "org.springframework", module: "spring-core")
                    exclude(group: "org.springframework", module: "spring-context")
                    exclude(group: "org.springframework", module: "spring-aop")
                    exclude(group: "org.apache.tomcat.embed", module: "tomcat-embed-websocket")
                    exclude(group: "org.apache.tomcat.embed", module: "tomcat-embed-core")
                    exclude(group: "org.apache.tomcat.embed", module: "tomcat-embed-el")
                    exclude(group: "org.apache.tomcat.embed", module: "tomcat-embed-websocket")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter-actuator")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter-web")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter-logging")
                },
                dependencies.create(libs.tomcat.catalina.ha.get()) {
                    exclude(group: "org.apache.tomcat", module: "tomcat-annotations-api")
                    exclude(group: "org.apache.tomcat", module: "tomcat-catalina")
                },
                dependencies.create(libs.tomcat.embed.core.get()) {
                    exclude(group: "org.apache.tomcat", module: "tomcat-annotations-api")
                },
                dependencies.create(libs.tomcat.embed.el.get()) {
                    exclude(group: "org.apache.tomcat", module: "tomcat-annotations-api")
                }
        ],
        springbootjetty            : [
                dependencies.create(libs.spring.boot.starter.jetty.get()) {
                    exclude(group: "org.ow2.asm", module: "asm")
                    exclude(group: "org.apache.tomcat.embed", module: "tomcat-embed-el")
                },
                dependencies.create(libs.jetty.http2.server.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "org.slf4j", module: "jcl-over-slf4j")
                },
                dependencies.create(libs.jetty.alpn.java.server.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "org.slf4j", module: "jcl-over-slf4j")
                },
                dependencies.create(libs.jakarta.annotation.api.get())
        ],
        springbootundertow         : [
                dependencies.create(libs.spring.boot.starter.undertow.get()),
                dependencies.create(libs.jakarta.annotation.api.get()),
                dependencies.create(libs.undertow.servlet.get()),
        ],
        redis                      : [
                dependencies.create(libs.spring.data.redis.get()) {
                    exclude(group: "org.springframework", module: "spring-tx")
                    exclude(group: "org.springframework", module: "spring-aop")
                    exclude(group: "org.springframework", module: "spring-context-support")
                    exclude(group: "org.springframework", module: "spring-beans")
                    exclude(group: "org.springframework", module: "spring-core")
                    exclude(group: "org.springframework", module: "spring-context")
                    exclude(group: "org.springframework", module: "spring-web")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "org.slf4j", module: "jcl-over-slf4j")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter-logging")
                },
                dependencies.create(libs.spring.integration.redis.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "org.springframework.integration", module: "spring-integration-core")
                    exclude(group: "org.springframework.data", module: "spring-data-redis")
                },
                dependencies.create(libs.lettuce.core.get())
        ],
        lettucemod: [
                dependencies.create(libs.lettucemod.get()) {
                    exclude(group: "ch.qos.logback", module: "logback-core")
                    exclude(group: "ch.qos.logback", module: "logback-classic")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                }
        ],
        springintegration          : [
                dependencies.create(libs.spring.integration.core.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                },
                dependencies.create(libs.spring.integration.jmx.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "io.projectreactor", module: "reactor-core")
                }
        ],
        springintegrationjdbc      : [
                dependencies.create(libs.spring.integration.jdbc.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "org.springframework.integration", module: "spring-integration-core")
                }
        ],
        springcloudkubernetesconfig: [
                dependencies.create(libs.spring.cloud.starter.kubernetes.fabric8.config.get()) {
                    exclude(group: "org.springframework.cloud", module: "spring-cloud-context")
                    exclude(group: "org.springframework", module: "spring-core")
                    exclude(group: "org.springframework", module: "spring-context")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter-actuator")
                    exclude(group: "org.springframework.boot", module: "spring-boot-autoconfigure")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter-web")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter-validation")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "org.slf4j", module: "jcl-over-slf4j")
                    exclude(group: "org.springframework.cloud", module: "spring-cloud-build")
                }
        ],
        springcloudbus             : [
                dependencies.create(libs.spring.cloud.bus.get()) {
                    exclude(group: "org.springframework.cloud", module: "spring-cloud-context")
                    exclude(group: "org.objenesis", module: "objenesis")
                    exclude(group: "org.springframework", module: "spring-messaging")
                    exclude(group: "org.springframework", module: "spring-tx")
                    exclude(group: "org.springframework", module: "spring-aop")
                    exclude(group: "org.springframework.retry", module: "spring-retry")
                    exclude(group: "org.springframework", module: "spring-core")
                    exclude(group: "org.springframework", module: "spring-context")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-databind")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-annotations")
                    exclude(group: "org.jboss.logging", module: "jboss-logging")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "org.slf4j", module: "jcl-over-slf4j")
                    exclude(group: "com.fasterxml", module: "classmate")
                    exclude(group: "com.esotericsoftware", module: "kryo")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter-actuator")
                    exclude(group: "org.springframework.boot", module: "spring-boot-autoconfigure")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter-web")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter-validation")
                    exclude(group: "org.springframework.integration", module: "spring-integration-core")
                    exclude(group: "org.apache.tomcat.embed", module: "tomcat-embed-el")
                },
        ],
        springcloudbuskafka        : [
                dependencies.create(libs.spring.cloud.starter.bus.kafka.get()) {
                    exclude(group: "org.springframework", module: "spring-core")
                    exclude(group: "org.springframework.retry", module: "spring-retry")
                    exclude(group: "org.springframework", module: "spring-context")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "org.springframework", module: "spring-messaging")
                    exclude(group: "org.springframework", module: "spring-web")
                    exclude(group: "org.springframework", module: "spring-beans")
                    exclude(group: "org.springframework.integration", module: "spring-integration-core")
                    exclude(group: "io.reactivex", module: "rxjava")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-databind")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-annotations")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter-actuator")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter-web")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter-validation")
                    exclude(group: "org.springframework.boot", module: "spring-boot-autoconfigure")
                    exclude(group: "org.apache.zookeeper", module: "zookeeper")
                    exclude(group: "org.springframework.kafka", module: "spring-kafka")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter-logging")
                    exclude(group: "log4j", module: "log4j")
                    exclude(group: "org.scala-lang", module: "scala-library")
                    exclude(group: "org.apache.kafka", module: "kafka-clients")
                }
        ],
        springkafka                : [
                dependencies.create(libs.kafka.streams.get()) {
                },
                dependencies.create(libs.kafka.clients.get()) {
                },
                dependencies.create(libs.spring.kafka.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "org.springframework", module: "spring-messaging")
                    exclude(group: "org.springframework", module: "spring-tx")
                    exclude(group: "org.springframework", module: "spring-aop")
                    exclude(group: "org.springframework", module: "spring-core")
                    exclude(group: "org.springframework", module: "spring-context")
                    exclude(group: "commons-logging", module: "commons-logging")
                    exclude(group: "org.scala-lang", module: "scala-library")
                }
        ],
        springintegrationamqp      : [
                dependencies.create(libs.spring.integration.amqp.get()) {
                    exclude(group: "org.springframework", module: "spring-tx")
                    exclude(group: "org.springframework", module: "spring-aop")
                    exclude(group: "org.springframework", module: "spring-context")
                    exclude(group: "org.springframework", module: "spring-beans")
                    exclude(group: "org.springframework", module: "spring-core")
                    exclude(group: "org.springframework", module: "spring-web")
                    exclude(group: "org.springframework", module: "spring-webmvc")
                    exclude(group: "org.springframework", module: "spring-messaging")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "org.springframework.retry", module: "spring-retry")
                    exclude(group: "commons-codec", module: "commons-codec")
                    exclude(group: "com.fasterxml", module: "classmate")
                    exclude(group: "org.apache.httpcomponents", module: "httpclient")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-databind")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-core")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-annotations")
                    exclude(group: "org.jboss.logging", module: "jboss-logging")
                    exclude(group: "org.springframework", module: "spring-messaging")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter-logging")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter-validation")
                }
        ],
        springcloudbusamqp         : [
                dependencies.create(libs.spring.cloud.config.monitor.get()) {
                    exclude(group: "com.fasterxml", module: "classmate")
                    exclude(group: "org.springframework", module: "spring-messaging")
                    exclude(group: "org.springframework", module: "spring-web")
                    exclude(group: "org.springframework", module: "spring-beans")
                    exclude(group: "org.springframework.security", module: "spring-security-crypto")
                    exclude(group: "org.springframework", module: "spring-webmvc")
                    exclude(group: "org.springframework", module: "spring-core")
                    exclude(group: "org.springframework", module: "spring-context")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "org.slf4j", module: "jcl-over-slf4j")
                    exclude(group: "org.springframework.cloud", module: "spring-cloud-context")
                    exclude(group: "org.springframework.cloud", module: "spring-cloud-bus")
                    exclude(group: "org.bouncycastle", module: "bcprov-jdk15on")
                    exclude(group: "org.bouncycastle", module: "bcpkix-jdk15on")
                    exclude(group: "org.jboss.logging", module: "jboss-logging")
                    exclude(group: "org.objenesis", module: "objenesis")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter-logging")
                    exclude(group: "org.yaml", module: "snakeyaml")
                    exclude(group: "org.springframework.integration", module: "spring-integration-amqp")
                    exclude(group: "org.springframework.integration", module: "spring-integration-core")
                    exclude(group: "org.apache.httpcomponents", module: "httpclient")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-databind")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-annotations")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter-actuator")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter-web")
                    exclude(group: "org.springframework.boot", module: "spring-boot-autoconfigure")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter-validation")
                    exclude(group: "org.springframework.cloud", module: "spring-cloud-commons")
                    exclude(group: "org.apache.sshd", module: "sshd-sftp")
                    exclude(group: "org.apache.sshd", module: "sshd-osgi")
                },
                dependencies.create(libs.spring.cloud.starter.bus.amqp.get()) {
                    exclude(group: "org.springframework.retry", module: "spring-retry")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-databind")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-core")
                    exclude(group: "org.springframework", module: "spring-beans")
                    exclude(group: "org.springframework", module: "spring-core")
                    exclude(group: "org.springframework", module: "spring-web")
                    exclude(group: "org.springframework", module: "spring-webmvc")
                    exclude(group: "org.springframework", module: "spring-context")
                    exclude(group: "org.slf4j", module: "jcl-over-slf4j")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "org.springframework.cloud", module: "spring-cloud-context")
                    exclude(group: "org.hibernate", module: "hibernate-core")
                    exclude(group: "org.hibernate", module: "hibernate-entitymanager")
                    exclude(group: "org.springframework.integration", module: "spring-integration-amqp")
                    exclude(group: "org.springframework.integration", module: "spring-integration-core")
                    exclude(group: "org.springframework.amqp", module: "spring-rabbit")
                    exclude(group: "com.fasterxml", module: "classmate")
                    exclude(group: "org.apache.httpcomponents", module: "httpclient")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-annotations")
                    exclude(group: "org.jboss.logging", module: "jboss-logging")
                    exclude(group: "org.objenesis", module: "objenesis")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter-logging")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter-actuator")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter-web")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter-validation")
                    exclude(group: "org.springframework", module: "spring-messaging")
                }
        ],
        zookeeper                  : [
                dependencies.create(libs.zookeeper.get()) {
                    exclude(group: "jline", module: "jline")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "log4j", module: "log4j")
                    exclude(group: "org.slf4j", module: "slf4j-log4j12")
                    exclude(group: "org.slf4j", module: "jul-to-slf4j")
                    exclude(group: "com.fasterxml", module: "classmate")
                    exclude(group: "org.apache.curator", module: "curator-recipes")
                    exclude(group: "org.apache.curator", module: "curator-framework")
                    exclude(group: "org.apache.curator", module: "curator-client")
                    exclude(group: "com.google.guava", module: "guava")
                    exclude(group: "ch.qos.logback", module: "logback-core")
                    exclude(group: "ch.qos.logback", module: "logback-classic")
                },
                dependencies.create(libs.curator.recipes.get()) {
                    exclude(group: "org.apache.zookeeper", module: "zookeeper")
                    exclude(group: "com.google.guava", module: "guava")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                },
                dependencies.create(libs.curator.framework.get()) {
                    exclude(group: "org.apache.zookeeper", module: "zookeeper")
                    exclude(group: "com.google.guava", module: "guava")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                },
                dependencies.create(libs.curator.client.get()) {
                    exclude(group: "org.apache.zookeeper", module: "zookeeper")
                    exclude(group: "com.google.guava", module: "guava")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                },
                dependencies.create(libs.spring.integration.zookeeper.get()) {
                    exclude(group: "org.apache.zookeeper", module: "zookeeper")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "org.springframework.integration", module: "spring-integration-core")
                    exclude(group: "org.apache.curator", module: "curator-recipes")
                    exclude(group: "ch.qos.logback", module: "logback-core")
                    exclude(group: "ch.qos.logback", module: "logback-classic")
                }
        ],
        springcloudconsul          : [
                dependencies.create(libs.spring.cloud.starter.consul.discovery.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "ch.qos.logback", module: "logback-core")
                    exclude(group: "ch.qos.logback", module: "logback-classic")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter-logging")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter-actuator")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter-web")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter-validation")
                },
                dependencies.create(libs.spring.cloud.starter.consul.config.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "ch.qos.logback", module: "logback-core")
                    exclude(group: "ch.qos.logback", module: "logback-classic")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter-logging")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter-actuator")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter-web")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter-validation")
                }
        ],
        springcloudeureka          : [
                dependencies.create(libs.spring.cloud.starter.netflix.eureka.client.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "com.google.code.findbugs", module: "jsr305")
                    exclude(group: "javax.servlet", module: "servlet-api")
                    exclude(group: "org.springframework.boot", module: "spring-boot-autoconfigure")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter-aop")
                    exclude(group: "com.netflix.archaius", module: "archaius-core")
                    exclude(group: "org.bouncycastle", module: "bcprov-jdk15on")
                    exclude(group: "org.bouncycastle", module: "bcpkix-jdk15on")
                    exclude(group: "commons-logging", module: "commons-logging")
                    exclude(group: "io.reactivex", module: "rxjava")
                    exclude(group: "org.apache.httpcomponents", module: "httpclient")
                    exclude(group: "com.netflix.servo", module: "servo-core")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-core")
                    exclude(group: "org.slf4j", module: "jul-to-slf4j")
                    exclude(group: "com.fasterxml", module: "classmate")
                    exclude(group: "com.netflix.eureka", module: "eureka-client")
                    exclude(group: "commons-lang", module: "commons-lang")
                    exclude(group: "com.google.guava", module: "guava")
                    exclude(group: "com.google.code.gson", module: "gson")
                    exclude(group: "com.thoughtworks.xstream", module: "xstream")
                }
        ],
        eurekaclient               : [
                dependencies.create(libs.eureka.client.get()) {
                    exclude(group: "commons-logging", module: "commons-logging")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "com.google.code.findbugs", module: "jsr305")
                    exclude(group: "org.apache.httpcomponents", module: "httpclient")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-core")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-databind")
                    exclude(group: "commons-lang", module: "commons-lang")
                    exclude(group: "com.google.guava", module: "guava")
                    exclude(group: "com.netflix.archaius", module: "archaius-core")
                    exclude(group: "javax.servlet", module: "servlet-api")
                    exclude(group: "com.netflix.netflix-commons", module: "netflix-eventbus")
                    exclude(group: "com.google.code.gson", module: "gson")
                    exclude(group: "org.springframework.boot", module: "spring-boot-autoconfigure")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter-aop")
                },
                dependencies.create(libs.netflix.eventbus.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "org.slf4j", module: "jul-to-slf4j")
                    exclude(group: "com.google.code.findbugs", module: "jsr305")
                    exclude(group: "com.netflix.servo", module: "servo-core")
                    exclude(group: "com.netflix.archaius", module: "archaius-core")
                    exclude(group: "org.apache.httpcomponents", module: "httpclient")
                    exclude(group: "commons-lang", module: "commons-lang")
                    exclude(group: "com.google.guava", module: "guava")
                    exclude(group: "javax.servlet", module: "servlet-api")
                    exclude(group: "com.thoughtworks.xstream", module: "xstream")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-core")
                    exclude(group: "com.google.code.gson", module: "gson")
                }
        ],
        springcloudzookeeper       : [
                dependencies.create(libs.spring.cloud.starter.zookeeper.config.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-log4j12")
                    exclude(group: "org.slf4j", module: "jul-to-slf4j")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "com.google.code.findbugs", module: "jsr305")
                    exclude(group: "com.google.guava", module: "guava")
                    exclude(group: "org.apache.zookeeper", module: "zookeeper")
                    exclude(group: "com.fasterxml", module: "classmate")
                    exclude(group: "org.apache.curator", module: "curator-recipes")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter-logging")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter")
                },
                dependencies.create(libs.spring.cloud.starter.zookeeper.core.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "org.slf4j", module: "jul-to-slf4j")
                    exclude(group: "com.google.guava", module: "guava")
                    exclude(group: "log4j", module: "log4j")
                    exclude(group: "com.google.code.findbugs", module: "jsr305")
                    exclude(group: "org.slf4j", module: "slf4j-log4j12")
                    exclude(group: "org.slf4j", module: "jul-to-slf4j")
                    exclude(group: "com.fasterxml", module: "classmate")
                    exclude(group: "org.apache.curator", module: "curator-recipes")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter-logging")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter")
                    exclude(group: "org.apache.zookeeper", module: "zookeeper")
                },
                dependencies.create(libs.spring.cloud.starter.zookeeper.discovery.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "org.slf4j", module: "jul-to-slf4j")
                    exclude(group: "com.google.guava", module: "guava")
                    exclude(group: "log4j", module: "log4j")
                    exclude(group: "com.google.code.findbugs", module: "jsr305")
                    exclude(group: "org.slf4j", module: "slf4j-log4j12")
                    exclude(group: "org.slf4j", module: "jul-to-slf4j")
                    exclude(group: "com.fasterxml", module: "classmate")
                    exclude(group: "org.apache.curator", module: "curator-recipes")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter-logging")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter")
                    exclude(group: "org.apache.zookeeper", module: "zookeeper")
                }
        ],
        springcloudvault           : [
                dependencies.create(libs.spring.cloud.starter.vault.config.get()) {
                    exclude(group: "org.springframework", module: "spring-tx")
                    exclude(group: "org.springframework", module: "spring-aop")
                    exclude(group: "org.springframework", module: "spring-beans")
                    exclude(group: "org.springframework", module: "spring-core")
                    exclude(group: "org.springframework", module: "spring-web")
                    exclude(group: "org.springframework", module: "spring-webmvc")
                    exclude(group: "org.springframework", module: "spring-context")
                    exclude(group: "org.springframework", module: "spring-messaging")
                    exclude(group: "org.springframework.cloud", module: "spring-cloud-context")
                    exclude(group: "org.apache.httpcomponents", module: "httpcore")
                    exclude(group: "commons-codec", module: "commons-codec")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "ch.qos.logback", module: "logback-core")
                    exclude(group: "ch.qos.logback", module: "logback-classic")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter")
                }
        ],
        springcloudconfigclient    : [
                dependencies.create(libs.spring.cloud.config.client.get()) {
                    exclude(group: "org.springframework", module: "spring-web")
                    exclude(group: "org.springframework.security", module: "spring-security-crypto")
                    exclude(group: "org.springframework", module: "spring-webmvc")
                    exclude(group: "org.springframework", module: "spring-core")
                    exclude(group: "org.springframework", module: "spring-context")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "org.slf4j", module: "jcl-over-slf4j")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-databind")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-annotations")
                    exclude(group: "org.hibernate.validator", module: "hibernate-validator")
                    exclude(group: "org.apache.httpcomponents", module: "httpclient")
                    exclude(group: "org.bouncycastle", module: "bcprov-jdk15on")
                    exclude(group: "org.bouncycastle", module: "bcpkix-jdk15on")
                    exclude(group: "org.slf4j", module: "logj-over-slf4j")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter")
                    exclude(group: "org.springframework.cloud", module: "spring-cloud-context")
                    exclude(group: "org.springframework.cloud", module: "spring-cloud-commons")
                    exclude(group: "org.hibernate", module: "hibernate-core")
                    exclude(group: "org.hibernate", module: "hibernate-entitymanager")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter-actuator")
                    exclude(group: "org.springframework.cloud", module: "spring-cloud-commons")
                    exclude(group: "org.springframework.boot", module: "spring-boot-autoconfigure")
                    exclude(group: "ch.qos.logback", module: "logback-core")
                    exclude(group: "ch.qos.logback", module: "logback-classic")
                }
        ],
        springcloudconfigserver    : [
                dependencies.create(libs.spring.cloud.config.server.get()) {
                    exclude(group: "org.springframework", module: "spring-web")
                    exclude(group: "org.springframework.security", module: "spring-security-crypto")
                    exclude(group: "org.springframework.security", module: "spring-security-core")
                    exclude(group: "org.springframework.security", module: "spring-security-web")
                    exclude(group: "org.springframework", module: "spring-webmvc")
                    exclude(group: "org.springframework", module: "spring-core")
                    exclude(group: "org.springframework", module: "spring-context")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-databind")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-annotations")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "org.hibernate.validator", module: "hibernate-validator")
                    exclude(group: "org.apache.httpcomponents", module: "httpclient")
                    exclude(group: "org.bouncycastle", module: "bcprov-jdk15on")
                    exclude(group: "org.bouncycastle", module: "bcpkix-jdk15on")
                    exclude(group: "org.slf4j", module: "logj-over-slf4j")
                    exclude(group: "org.slf4j", module: "jcl-over-slf4j")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter")
                    exclude(group: "org.springframework.cloud", module: "spring-cloud-context")
                    exclude(group: "org.springframework.cloud", module: "spring-cloud-commons")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter-web")
                    exclude(group: "org.springframework.boot", module: "spring-boot")
                    exclude(group: "org.springframework.boot", module: "spring-boot-autoconfigure")
                    exclude(group: "org.yaml", module: "snakeyaml")
                    exclude(group: "org.hibernate", module: "hibernate-core")
                    exclude(group: "org.hibernate", module: "hibernate-entitymanager")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter-actuator")
                    exclude(group: "org.springframework.cloud", module: "spring-cloud-commons")
                }
        ],
        springcloudbootstrap       : [
                dependencies.create(libs.spring.cloud.starter.bootstrap.get()) {
                    exclude(group: "org.springframework.cloud", module: "spring-cloud-context")
                    exclude(group: "org.springframework.cloud", module: "spring-cloud-commons")
                    exclude(group: "org.objenesis", module: "objenesis")
                    exclude(group: "org.springframework.security", module: "spring-security-crypto")
                    exclude(group: "org.springframework", module: "spring-messaging")
                    exclude(group: "org.springframework", module: "spring-tx")
                    exclude(group: "org.springframework", module: "spring-aop")
                    exclude(group: "org.springframework.retry", module: "spring-retry")
                    exclude(group: "org.springframework", module: "spring-core")
                    exclude(group: "org.springframework", module: "spring-context")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-databind")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-annotations")
                    exclude(group: "org.jboss.logging", module: "jboss-logging")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "org.slf4j", module: "jcl-over-slf4j")
                    exclude(group: "com.fasterxml", module: "classmate")
                    exclude(group: "com.esotericsoftware", module: "kryo")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter-actuator")
                    exclude(group: "org.springframework.boot", module: "spring-boot-autoconfigure")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter-web")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter-validation")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter-logging")
                    exclude(group: "org.springframework.integration", module: "spring-integration-core")
                    exclude(group: "org.apache.tomcat.embed", module: "tomcat-embed-el")
                    exclude(group: "ch.qos.logback", module: "logback-core")
                    exclude(group: "ch.qos.logback", module: "logback-classic")
                }
        ],
        springcloud                : [
                dependencies.create(libs.spring.cloud.commons.get()) {
                    exclude(group: "org.springframework.cloud", module: "spring-cloud-context")
                    exclude(group: "org.objenesis", module: "objenesis")
                    exclude(group: "org.springframework.security", module: "spring-security-crypto")
                    exclude(group: "org.springframework", module: "spring-messaging")
                    exclude(group: "org.springframework", module: "spring-tx")
                    exclude(group: "org.springframework", module: "spring-aop")
                    exclude(group: "org.springframework.retry", module: "spring-retry")
                    exclude(group: "org.springframework", module: "spring-core")
                    exclude(group: "org.springframework", module: "spring-context")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-databind")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-annotations")
                    exclude(group: "org.jboss.logging", module: "jboss-logging")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "org.slf4j", module: "jcl-over-slf4j")
                    exclude(group: "com.fasterxml", module: "classmate")
                    exclude(group: "com.esotericsoftware", module: "kryo")
                    exclude(group: "org.springframework.boot", module: "spring-boot-dependencies")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter-actuator")
                    exclude(group: "org.springframework.boot", module: "spring-boot-autoconfigure")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter-web")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter-validation")
                    exclude(group: "org.springframework.integration", module: "spring-integration-core")
                    exclude(group: "org.apache.tomcat.embed", module: "tomcat-embed-el")
                    exclude(group: "org.springframework.data", module: "spring-data-bom")
                },
                dependencies.create(libs.spring.cloud.context.get()) {
                    exclude(group: "org.springframework", module: "spring-web")
                    exclude(group: "org.springframework", module: "spring-webmvc")
                    exclude(group: "org.springframework", module: "spring-core")
                    exclude(group: "org.springframework", module: "spring-context")
                    exclude(group: "org.springframework", module: "spring-web")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "org.slf4j", module: "jcl-over-slf4j")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-databind")
                    exclude(group: "org.hibernate.validator", module: "hibernate-validator")
                    exclude(group: "org.apache.httpcomponents", module: "httpclient")
                    exclude(group: "org.bouncycastle", module: "bcprov-jdk15on")
                    exclude(group: "org.bouncycastle", module: "bcpkix-jdk15on")
                    exclude(group: "org.slf4j", module: "logj-over-slf4j")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter")
                    exclude(group: "org.springframework.cloud", module: "spring-cloud-context")
                    exclude(group: "org.hibernate", module: "hibernate-core")
                    exclude(group: "org.springframework.security", module: "spring-security-crypto")
                    exclude(group: "org.hibernate", module: "hibernate-entitymanager")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter-actuator")
                }
        ],
        springsession              : [
                dependencies.create(libs.spring.session.core.get()) {
                    exclude(group: "org.springframework", module: "spring-web")
                    exclude(group: "org.springframework", module: "spring-core")
                    exclude(group: "org.springframework", module: "spring-webmvc")
                    exclude(group: "org.springframework", module: "spring-context")
                }
        ],
        springsessionhazelcast     : [
                dependencies.create(libs.spring.session.hazelcast.get()) {
                    exclude(group: "org.springframework", module: "spring-web")
                    exclude(group: "org.springframework", module: "spring-core")
                    exclude(group: "org.springframework", module: "spring-webmvc")
                    exclude(group: "org.springframework", module: "spring-context")
                }
        ],
        springsessionjdbc          : [
                dependencies.create(libs.spring.session.jdbc.get()) {
                    exclude(group: "org.springframework", module: "spring-web")
                    exclude(group: "org.springframework", module: "spring-core")
                    exclude(group: "org.springframework", module: "spring-webmvc")
                    exclude(group: "org.springframework", module: "spring-context")
                }
        ],
        springsessionredis         : [
                dependencies.create(libs.spring.session.data.redis.get()) {
                    exclude(group: "org.springframework", module: "spring-web")
                    exclude(group: "org.springframework", module: "spring-core")
                    exclude(group: "org.springframework", module: "spring-webmvc")
                    exclude(group: "org.springframework", module: "spring-context")
                }
        ],
        springsessionmongo         : [
                dependencies.create(libs.spring.session.data.mongodb.get()) {
                    exclude(group: "org.springframework", module: "spring-web")
                    exclude(group: "org.springframework", module: "spring-core")
                    exclude(group: "org.springframework", module: "spring-webmvc")
                    exclude(group: "org.springframework", module: "spring-context")
                    exclude(group: "org.springframework.session", module: "spring-session")
                }
        ],

        springshell                : [
                dependencies.create(libs.spring.shell.starter.get()) {
                    exclude(group: "org.springframework", module: "spring-beans")
                    exclude(group: "org.springframework", module: "spring-core")
                    exclude(group: "org.springframework", module: "spring-context")
                    exclude(group: "org.springframework", module: "spring-context-support")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter-logging")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "jline", module: "jline")
                    exclude(group: "commons-io", module: "commons-io")
                    exclude(group: "com.google.guava", module: "guava")
                    exclude(group: "ch.qos.logback", module: "logback-core")
                    exclude(group: "ch.qos.logback", module: "logback-classic")
                    exclude(group: "com.h2database", module: "h2")
                }
        ],
        springindexer              : [
                dependencies.create(libs.spring.context.indexer.get()) {
                    exclude(group: "org.springframework", module: "spring-context")
                    exclude(group: "org.springframework", module: "spring-web")
                    exclude(group: "org.springframework", module: "spring-beans")
                    exclude(group: "org.springframework", module: "spring-core")
                    exclude(group: "org.springframework", module: "spring-expression")
                    exclude(group: "org.springframework", module: "spring-webmvc")
                }
        ],
        spring                     : [
                dependencies.create(libs.spring.aop.get()) {
                    exclude(group: "org.springframework", module: "spring-context")
                    exclude(group: "org.springframework", module: "spring-web")
                    exclude(group: "org.springframework", module: "spring-beans")
                    exclude(group: "org.springframework", module: "spring-core")
                    exclude(group: "org.springframework", module: "spring-expression")
                    exclude(group: "org.springframework", module: "spring-webmvc")
                },
                dependencies.create(libs.spring.beans.get()) {
                    exclude(group: "org.springframework", module: "spring-context")
                    exclude(group: "org.springframework", module: "spring-web")
                    exclude(group: "org.springframework", module: "spring-core")
                    exclude(group: "org.springframework", module: "spring-expression")
                    exclude(group: "org.springframework", module: "spring-webmvc")
                },
                dependencies.create(libs.spring.context.core.get()) {
                    exclude(group: "org.springframework", module: "spring-core")
                    exclude(group: "org.springframework", module: "spring-expression")
                    exclude(group: "org.springframework", module: "spring-webmvc")
                    exclude(group: "org.springframework", module: "spring-beans")
                },
                dependencies.create(libs.spring.context.support.get()) {
                    exclude(group: "org.springframework", module: "spring-core")
                    exclude(group: "org.springframework", module: "spring-expression")
                    exclude(group: "org.springframework", module: "spring-webmvc")
                    exclude(group: "org.springframework", module: "spring-context")
                    exclude(group: "org.springframework", module: "spring-beans")
                },
                dependencies.create(libs.spring.retry.get()) {
                    exclude(group: "commons-logging", module: "commons-logging")
                    exclude(group: "org.springframework", module: "spring-context")
                    exclude(group: "org.springframework", module: "spring-web")
                    exclude(group: "org.springframework", module: "spring-beans")
                    exclude(group: "org.springframework", module: "spring-core")
                    exclude(group: "org.springframework", module: "spring-expression")
                    exclude(group: "org.springframework", module: "spring-tx")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "junit", module: "junit")
                    exclude(group: "org.mockito", module: "mockito-core")
                },
                dependencies.create(libs.spring.core.get()) {
                    exclude(group: "commons-logging", module: "commons-logging")
                    exclude(group: "org.springframework", module: "spring-jcl")
                },
                dependencies.create(libs.spring.jcl.get()) {
                    exclude(group: "org.apache.logging.log4j", module: "log4j-api")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                },
                dependencies.create(libs.spring.data.commons.get()) {
                    exclude(group: "commons-logging", module: "commons-logging")
                    exclude(group: "org.slf4j", module: "jcl-over-slf4j")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "org.springframework", module: "spring-context")
                    exclude(group: "org.springframework", module: "spring-web")
                    exclude(group: "org.springframework", module: "spring-beans")
                    exclude(group: "org.springframework", module: "spring-core")
                    exclude(group: "org.springframework", module: "spring-expression")
                    exclude(group: "org.springframework", module: "spring-webmvc")
                    exclude(group: "org.springframework", module: "spring-tx")
                    exclude(group: "org.mongodb", module: "mongo-java-driver")
                    exclude(group: "com.h2database", module: "h2")
                },
                dependencies.create(libs.spring.jms.get()) {
                    exclude(group: "org.springframework", module: "spring-messaging")
                },
                dependencies.create(libs.spring.messaging.get()) {
                },
                dependencies.create(libs.spring.expression.get()) {
                },
                dependencies.create(libs.spring.jdbc.get()) {
                },
                dependencies.create(libs.spring.orm.get()),
                dependencies.create(libs.spring.tx.get()) {
                },
                dependencies.create(libs.spring.web.get()) {
                },
                dependencies.create(libs.spring.webmvc.get()) {
                }
        ],
        springwebflow              : [
                dependencies.create(libs.spring.webflow.get()) {
                    exclude(group: "commons-logging", module: "commons-logging")
                    exclude(group: "org.springframework", module: "spring-context")
                    exclude(group: "org.springframework", module: "spring-web")
                    exclude(group: "org.springframework", module: "spring-beans")
                    exclude(group: "org.springframework", module: "spring-core")
                    exclude(group: "org.springframework", module: "spring-expression")
                    exclude(group: "org.springframework", module: "spring-webmvc")
                },
                dependencies.create(libs.spring.binding.get()) {
                    exclude(group: "commons-logging", module: "commons-logging")
                    exclude(group: "org.springframework", module: "spring-context")
                    exclude(group: "org.springframework", module: "spring-web")
                    exclude(group: "org.springframework", module: "spring-beans")
                    exclude(group: "org.springframework", module: "spring-core")
                    exclude(group: "org.springframework", module: "spring-expression")
                    exclude(group: "org.springframework", module: "spring-webmvc")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                }
        ],
        springsecurityconfig       : [
                dependencies.create(libs.spring.security.config.get()) {
                    exclude(group: "aopalliance", module: "aopalliance")
                    exclude(group: "commons-cli", module: "commons-cli")
                    exclude(group: "org.springframework", module: "spring-aop")
                    exclude(group: "org.springframework", module: "spring-beans")
                    exclude(group: "org.springframework", module: "spring-context")
                    exclude(group: "org.springframework", module: "spring-core")
                    exclude(group: "org.springframework", module: "spring-expression")
                    exclude(group: "org.springframework", module: "spring-jdbc")
                    exclude(group: "org.springframework", module: "spring-tx")
                    exclude(group: "commons-logging", module: "commons-logging")
                    exclude(group: "javax.annotation", module: "jsr250-api")
                    exclude(group: "org.aspectj", module: "aspectjrt")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                }
        ],
        springsecurityweb          : [
                dependencies.create(libs.spring.security.web.get()) {
                    exclude(group: "aopalliance", module: "aopalliance")
                    exclude(group: "org.springframework", module: "spring-aop")
                    exclude(group: "org.springframework", module: "spring-beans")
                    exclude(group: "org.springframework", module: "spring-context")
                    exclude(group: "org.springframework", module: "spring-core")
                    exclude(group: "org.springframework", module: "spring-web")
                    exclude(group: "org.springframework", module: "spring-expression")
                    exclude(group: "org.springframework", module: "spring-jdbc")
                    exclude(group: "org.springframework", module: "spring-tx")
                    exclude(group: "commons-logging", module: "commons-logging")
                    exclude(group: "javax.annotation", module: "jsr250-api")
                    exclude(group: "org.aspectj", module: "aspectjrt")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                }
        ],
        springsecurity             : [
                dependencies.create(libs.spring.security.core.get()) {
                    exclude(group: "aopalliance", module: "aopalliance")
                    exclude(group: "org.springframework", module: "spring-aop")
                    exclude(group: "org.springframework", module: "spring-beans")
                    exclude(group: "org.springframework", module: "spring-context")
                    exclude(group: "org.springframework", module: "spring-core")
                    exclude(group: "org.springframework", module: "spring-expression")
                    exclude(group: "org.springframework", module: "spring-jdbc")
                    exclude(group: "org.springframework", module: "spring-tx")
                    exclude(group: "commons-logging", module: "commons-logging")
                    exclude(group: "javax.annotation", module: "jsr250-api")
                    exclude(group: "org.aspectj", module: "aspectjrt")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                },
                dependencies.create(libs.spring.security.rsa.get()) {
                    exclude(group: "org.springframework", module: "spring-aop")
                    exclude(group: "org.springframework", module: "spring-beans")
                    exclude(group: "org.springframework", module: "spring-context")
                    exclude(group: "org.springframework", module: "spring-core")
                    exclude(group: "org.springframework", module: "spring-expression")
                    exclude(group: "org.springframework", module: "spring-web")
                    exclude(group: "org.springframework", module: "spring-tx")
                    exclude(group: "org.bouncycastle", module: "bcpkix-jdk15on")
                    exclude(group: "org.bouncycastle", module: "bcprov-jdk15on")
                    exclude(group: "org.bouncycastle", module: "bcprov-jdk18on")
                    exclude(group: "org.springframework.security", module: "spring-security-crypto")
                },
                dependencies.create(libs.spring.security.crypto.get()) {
                    exclude(group: "org.springframework", module: "spring-aop")
                    exclude(group: "org.springframework", module: "spring-beans")
                    exclude(group: "org.springframework", module: "spring-context")
                    exclude(group: "org.springframework", module: "spring-core")
                    exclude(group: "org.springframework", module: "spring-expression")
                    exclude(group: "org.springframework", module: "spring-web")
                    exclude(group: "org.springframework", module: "spring-tx")
                }
        ],
        springws                   : [
                dependencies.create(libs.xercesimpl.get()) {
                    exclude(group: "commons-codec", module: "commons-codec")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                },
                dependencies.create(libs.spring.boot.starter.web.services.get()) {
                    exclude(group: "org.apache.wss4j", module: "wss4j-ws-security-dom")
                    exclude(group: "org.apache.wss4j", module: "wss4j-ws-security-common")
                    exclude(group: "org.jvnet.mimepull", module: "mimepull")
                    exclude(group: "ch.qos.logback", module: "logback-core")
                    exclude(group: "ch.qos.logback", module: "logback-classic")
                    exclude(group: "log4j", module: "log4j")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "org.slf4j", module: "slf4j-log4j12")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter-web")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter-validation")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter-actuator")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter-logging")
                    exclude(group: "org.springframework.boot", module: "spring-boot-starter")
                },
                dependencies.create(libs.spring.ws.security.get()) {
                    exclude(group: "org.apache.wss4j", module: "wss4j-ws-security-dom")
                    exclude(group: "org.apache.wss4j", module: "wss4j-ws-security-common")
                    exclude(group: "org.jvnet.mimepull", module: "mimepull")
                    exclude(group: "ch.qos.logback", module: "logback-core")
                    exclude(group: "ch.qos.logback", module: "logback-classic")
                    exclude(group: "commons-logging", module: "commons-logging")
                    exclude(group: "log4j", module: "log4j")
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "org.slf4j", module: "slf4j-log4j12")
                },
                dependencies.create(libs.spring.ws.support.get()) {
                    exclude(group: "org.springframework", module: "spring-beans")
                    exclude(group: "org.springframework", module: "spring-core")
                    exclude(group: "org.springframework", module: "spring-context")
                },
                dependencies.create(libs.saaj.impl.get()) {
                },
        ],
        wss4j                      : [
                dependencies.create(libs.wss4j.bindings.get()) {
                },
                dependencies.create(libs.wss4j.policy.get()) {
                },
                dependencies.create(libs.wss4j.ws.security.stax.get()) {
                    exclude(group: "org.opensaml", module: "opensaml-xacml-api")
                    exclude(group: "org.opensaml", module: "opensaml-xacml-impl")
                    exclude(group: "org.opensaml", module: "opensaml-security-api")
                    exclude(group: "org.opensaml", module: "opensaml-security-impl")
                    exclude(group: "org.opensaml", module: "opensaml-soap-api")
                    exclude(group: "org.opensaml", module: "opensaml-soap-impl")
                    exclude(group: "org.opensaml", module: "opensaml-storage-api")
                    exclude(group: "org.opensaml", module: "opensaml-storage-impl")
                    exclude(group: "org.opensaml", module: "opensaml-profile-api")
                    exclude(group: "org.opensaml", module: "opensaml-profile-impl")
                    exclude(group: "org.opensaml", module: "opensaml-messaging-api")
                    exclude(group: "org.opensaml", module: "opensaml-messaging-impl")
                    exclude(group: "org.opensaml", module: "opensaml-saml-api")
                    exclude(group: "org.opensaml", module: "opensaml-saml-impl")
                    exclude(group: "org.opensaml", module: "opensaml-xmlsec-api")
                    exclude(group: "org.opensaml", module: "opensaml-xmlsec-impl")
                    exclude(group: "org.opensaml", module: "opensaml-xacml-saml-impl")
                    exclude(group: "org.opensaml", module: "opensaml-xacml-saml-api")
                    exclude(group: "org.opensaml", module: "opensaml-core")
                },
                dependencies.create(libs.wss4j.ws.security.policy.stax.get()) {
                    exclude(group: "org.opensaml", module: "opensaml-xacml-api")
                    exclude(group: "org.opensaml", module: "opensaml-xacml-impl")
                    exclude(group: "org.opensaml", module: "opensaml-security-api")
                    exclude(group: "org.opensaml", module: "opensaml-security-impl")
                    exclude(group: "org.opensaml", module: "opensaml-soap-api")
                    exclude(group: "org.opensaml", module: "opensaml-soap-impl")
                    exclude(group: "org.opensaml", module: "opensaml-storage-api")
                    exclude(group: "org.opensaml", module: "opensaml-storage-impl")
                    exclude(group: "org.opensaml", module: "opensaml-profile-api")
                    exclude(group: "org.opensaml", module: "opensaml-profile-impl")
                    exclude(group: "org.opensaml", module: "opensaml-messaging-api")
                    exclude(group: "org.opensaml", module: "opensaml-messaging-impl")
                    exclude(group: "org.opensaml", module: "opensaml-saml-api")
                    exclude(group: "org.opensaml", module: "opensaml-saml-impl")
                    exclude(group: "org.opensaml", module: "opensaml-xmlsec-api")
                    exclude(group: "org.opensaml", module: "opensaml-xmlsec-impl")
                    exclude(group: "org.opensaml", module: "opensaml-xacml-saml-impl")
                    exclude(group: "org.opensaml", module: "opensaml-xacml-saml-api")
                    exclude(group: "org.opensaml", module: "opensaml-core")
                },
                dependencies.create(libs.wss4j.ws.security.dom.get()) {
                    exclude(group: "org.jvnet.mimepull", module: "mimepull")
                    exclude(group: "org.opensaml", module: "opensaml-xacml-api")
                    exclude(group: "org.opensaml", module: "opensaml-xacml-impl")
                    exclude(group: "org.opensaml", module: "opensaml-security-api")
                    exclude(group: "org.opensaml", module: "opensaml-security-impl")
                    exclude(group: "org.opensaml", module: "opensaml-soap-api")
                    exclude(group: "org.opensaml", module: "opensaml-soap-impl")
                    exclude(group: "org.opensaml", module: "opensaml-storage-api")
                    exclude(group: "org.opensaml", module: "opensaml-storage-impl")
                    exclude(group: "org.opensaml", module: "opensaml-profile-api")
                    exclude(group: "org.opensaml", module: "opensaml-profile-impl")
                    exclude(group: "org.opensaml", module: "opensaml-messaging-api")
                    exclude(group: "org.opensaml", module: "opensaml-messaging-impl")
                    exclude(group: "org.opensaml", module: "opensaml-saml-api")
                    exclude(group: "org.opensaml", module: "opensaml-saml-impl")
                    exclude(group: "org.opensaml", module: "opensaml-xmlsec-api")
                    exclude(group: "org.opensaml", module: "opensaml-xmlsec-impl")
                    exclude(group: "org.opensaml", module: "opensaml-xacml-saml-impl")
                    exclude(group: "org.opensaml", module: "opensaml-xacml-saml-api")
                    exclude(group: "org.opensaml", module: "opensaml-core")
                },
                dependencies.create(libs.wss4j.ws.security.common.get()) {
                    exclude(group: "org.jvnet.mimepull", module: "mimepull")
                    exclude(group: "org.opensaml", module: "opensaml-xacml-api")
                    exclude(group: "org.opensaml", module: "opensaml-xacml-impl")
                    exclude(group: "org.opensaml", module: "opensaml-security-api")
                    exclude(group: "org.opensaml", module: "opensaml-security-impl")
                    exclude(group: "org.opensaml", module: "opensaml-soap-api")
                    exclude(group: "org.opensaml", module: "opensaml-soap-impl")
                    exclude(group: "org.opensaml", module: "opensaml-storage-api")
                    exclude(group: "org.opensaml", module: "opensaml-storage-impl")
                    exclude(group: "org.opensaml", module: "opensaml-profile-api")
                    exclude(group: "org.opensaml", module: "opensaml-profile-impl")
                    exclude(group: "org.opensaml", module: "opensaml-messaging-api")
                    exclude(group: "org.opensaml", module: "opensaml-messaging-impl")
                    exclude(group: "org.opensaml", module: "opensaml-saml-api")
                    exclude(group: "org.opensaml", module: "opensaml-saml-impl")
                    exclude(group: "org.opensaml", module: "opensaml-xmlsec-api")
                    exclude(group: "org.opensaml", module: "opensaml-xmlsec-impl")
                    exclude(group: "org.opensaml", module: "opensaml-xacml-saml-impl")
                    exclude(group: "org.opensaml", module: "opensaml-xacml-saml-api")
                    exclude(group: "org.opensaml", module: "opensaml-core")
                    exclude(group: "org.apache.wss4j", module: "wss4j-ws-security-dom")
                },
                dependencies.create(libs.wsdl4j.get()) {
                    exclude(group: "org.apache.wss4j", module: "wss4j-ws-security-dom")
                    exclude(group: "org.apache.wss4j", module: "wss4j-ws-security-common")
                    exclude(group: "org.jvnet.mimepull", module: "mimepull")
                },
                dependencies.create(libs.saaj.impl.get()) {
                    exclude(group: "org.apache.wss4j", module: "wss4j-ws-security-dom")
                    exclude(group: "org.jvnet.mimepull", module: "mimepull")
                    exclude(group: "org.apache.wss4j", module: "wss4j-ws-security-common")
                },
                dependencies.create(libs.xmlsec.get()) {
                    exclude(group: "jakarta.xml.bind", module: "jakarta.xml.bind-api")
                }
        ],
        yubicoapi                  :
                dependencies.create(libs.yubico.validation.client2.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "commons-codec", module: "commons-codec")
                },
        duojava                    : [
                dependencies.create(libs.duo.client.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                },
                dependencies.create(libs.duo.universal.sdk.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "com.squareup.retrofit", module: "retrofit")
                    exclude(group: "org.projectlombok", module: "lombok")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-databind")
                    exclude(group: "com.fasterxml.jackson.core", module: "jackson-core")
                    exclude(group: "com.squareup.okhttp3", module: "logging-interceptor")
                }
        ],
        bucket4j                   : [
                dependencies.create(libs.bucket4j.core.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                    exclude(group: "org.json", module: "json")
                }
        ],
        databasedrivers : [
                dependencies.create(libs.jdbc.yugabytedb.get()),
                dependencies.create(libs.hsqldb.get()),
                dependencies.create(libs.postgresql.get()),
                dependencies.create(libs.mysql.connectorj.get()),
                dependencies.create(libs.mariadb.java.client.get()),
                dependencies.create(libs.jtds.get()),
                dependencies.create(libs.mssql.jdbc.get()),
                dependencies.create(libs.ojdbc11.get()),
                dependencies.create(libs.h2.get()),
                dependencies.create(libs.hibernate.community.dialects.get())
        ],
        webjarsbootstrap : [
                dependencies.create(libs.bootstrap.core.get()) {
                    exclude(group: "org.webjars", module: "popper.js")
                    exclude(group: "org.webjars", module: "jquery")
                },
                dependencies.create(libs.font.awesome.get()) {
                }
        ],
        webjarspalantir : [
                dependencies.create(libs.chart.js.get()) {
                    exclude(group: "org.webjars", module: "popper.js")
                    exclude(group: "org.webjars", module: "jquery")
                },
                dependencies.create(libs.ace.builds.get()) {
                    exclude(group: "org.webjars", module: "popper.js")
                    exclude(group: "org.webjars", module: "jquery")
                },
                dependencies.create(libs.jquery.ui.get()) {
                    exclude(group: "org.webjars", module: "jquery")
                },
                dependencies.create(libs.notyf.get()) {
                    exclude(group: "org.webjars", module: "jquery")
                },
                dependencies.create(libs.mermaid.get()) {
                    exclude(group: "org.webjars", module: "jquery")
                    exclude(group: "org.webjars.npm", module: "mermaid-js__parser")
                }
        ],
        webjars                    : [
                dependencies.create(libs.sweetalert2.get()) {
                    exclude(group: "org.webjars", module: "jquery")
                },
                dependencies.create(libs.animate.css.get()) {
                    exclude(group: "org.webjars", module: "jquery")
                },
                dependencies.create(libs.jquery.core.get()) {
                },
                dependencies.create(libs.highlightjs.get()) {
                },
                dependencies.create(libs.zxcvbn.get()) {
                },
                dependencies.create(libs.datatables.get()) {
                    exclude(group: "org.webjars", module: "jquery")
                },
                dependencies.create(libs.bootstrap.select.get()) {
                    exclude(group: "org.webjars", module: "jquery")
                    exclude(group: "org.webjars", module: "bootstrap")
                },
                dependencies.create(libs.material.components.web.get()) {
                },
                dependencies.create(libs.mdi.font.get()) {
                },
                dependencies.create(libs.normalize.css.get()) {
                },
                dependencies.create(libs.text.encoding.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                },
                dependencies.create(libs.whatwg.fetch.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                },
                dependencies.create(libs.base64.js.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                },
                dependencies.create(libs.clientjs.get()) {
                    exclude(group: "org.slf4j", module: "slf4j-api")
                }
        ]
]
