<?xml version="1.0" encoding="UTF-8"?>
<issues format="6" by="lint 7.3.0-alpha07" type="baseline" client="gradle" dependencies="false" name="AGP (7.3.0-alpha07)" variant="all" version="7.3.0-alpha07">

    <issue
        id="UnsafeOptInUsageError"
        message="This declaration is opt-in and its usage should be marked with&#xA;&apos;@androidx.camera.camera2.interop.ExperimentalCamera2Interop&apos; or &apos;@OptIn(markerClass = androidx.camera.camera2.interop.ExperimentalCamera2Interop.class)&apos;"
        errorLine1="        Camera2ImplConfig.Builder camera2ConfigurationBuilder = new Camera2ImplConfig.Builder();"
        errorLine2="                                                                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
        <location
            file="src/main/java/androidx/camera/extensions/internal/AdaptingCaptureStage.java"/>
    </issue>

    <issue
        id="UnsafeOptInUsageError"
        message="This declaration is opt-in and its usage should be marked with&#xA;&apos;@androidx.camera.camera2.interop.ExperimentalCamera2Interop&apos; or &apos;@OptIn(markerClass = androidx.camera.camera2.interop.ExperimentalCamera2Interop.class)&apos;"
        errorLine1="            camera2ConfigurationBuilder.setCaptureRequestOption(captureParameter.first,"
        errorLine2="                                        ~~~~~~~~~~~~~~~~~~~~~~~">
        <location
            file="src/main/java/androidx/camera/extensions/internal/AdaptingCaptureStage.java"/>
    </issue>

    <issue
        id="UnsafeOptInUsageError"
        message="This declaration is opt-in and its usage should be marked with&#xA;&apos;@androidx.camera.camera2.interop.ExperimentalCamera2Interop&apos; or &apos;@OptIn(markerClass = androidx.camera.camera2.interop.ExperimentalCamera2Interop.class)&apos;"
        errorLine1="            camera2ConfigurationBuilder.setCaptureRequestOption(captureParameter.first,"
        errorLine2="                                                                ~~~~~~~~~~~~~~~~~~~~~~">
        <location
            file="src/main/java/androidx/camera/extensions/internal/AdaptingCaptureStage.java"/>
    </issue>

    <issue
        id="UnsafeOptInUsageError"
        message="This declaration is opt-in and its usage should be marked with&#xA;&apos;@androidx.camera.camera2.interop.ExperimentalCamera2Interop&apos; or &apos;@OptIn(markerClass = androidx.camera.camera2.interop.ExperimentalCamera2Interop.class)&apos;"
        errorLine1="                    captureParameter.second);"
        errorLine2="                    ~~~~~~~~~~~~~~~~~~~~~~~">
        <location
            file="src/main/java/androidx/camera/extensions/internal/AdaptingCaptureStage.java"/>
    </issue>

    <issue
        id="UnsafeOptInUsageError"
        message="This declaration is opt-in and its usage should be marked with&#xA;&apos;@androidx.camera.camera2.interop.ExperimentalCamera2Interop&apos; or &apos;@OptIn(markerClass = androidx.camera.camera2.interop.ExperimentalCamera2Interop.class)&apos;"
        errorLine1="        captureConfigBuilder.addImplementationOptions(camera2ConfigurationBuilder.build());"
        errorLine2="                                                                                  ~~~~~">
        <location
            file="src/main/java/androidx/camera/extensions/internal/AdaptingCaptureStage.java"/>
    </issue>

    <issue
        id="UnsafeOptInUsageError"
        message="This declaration is opt-in and its usage should be marked with&#xA;&apos;@androidx.camera.camera2.interop.ExperimentalCamera2Interop&apos; or &apos;@OptIn(markerClass = androidx.camera.camera2.interop.ExperimentalCamera2Interop.class)&apos;"
        errorLine1="                CaptureRequestOptions.Builder.from(parameters).build();"
        errorLine2="                                              ~~~~">
        <location
            file="src/main/java/androidx/camera/extensions/internal/sessionprocessor/AdvancedSessionProcessor.java"/>
    </issue>

    <issue
        id="UnsafeOptInUsageError"
        message="This declaration is opt-in and its usage should be marked with&#xA;&apos;@androidx.camera.camera2.interop.ExperimentalCamera2Interop&apos; or &apos;@OptIn(markerClass = androidx.camera.camera2.interop.ExperimentalCamera2Interop.class)&apos;"
        errorLine1="                CaptureRequestOptions.Builder.from(parameters).build();"
        errorLine2="                                                   ~~~~~~~~~~">
        <location
            file="src/main/java/androidx/camera/extensions/internal/sessionprocessor/AdvancedSessionProcessor.java"/>
    </issue>

    <issue
        id="UnsafeOptInUsageError"
        message="This declaration is opt-in and its usage should be marked with&#xA;&apos;@androidx.camera.camera2.interop.ExperimentalCamera2Interop&apos; or &apos;@OptIn(markerClass = androidx.camera.camera2.interop.ExperimentalCamera2Interop.class)&apos;"
        errorLine1="                CaptureRequestOptions.Builder.from(parameters).build();"
        errorLine2="                                                               ~~~~~">
        <location
            file="src/main/java/androidx/camera/extensions/internal/sessionprocessor/AdvancedSessionProcessor.java"/>
    </issue>

    <issue
        id="UnsafeOptInUsageError"
        message="This declaration is opt-in and its usage should be marked with&#xA;&apos;@androidx.camera.camera2.interop.ExperimentalCamera2Interop&apos; or &apos;@OptIn(markerClass = androidx.camera.camera2.interop.ExperimentalCamera2Interop.class)&apos;"
        errorLine1="            Camera2ImplConfig.Builder camera2ConfigBuilder = new Camera2ImplConfig.Builder();"
        errorLine2="                                                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
        <location
            file="src/main/java/androidx/camera/extensions/internal/sessionprocessor/AdvancedSessionProcessor.java"/>
    </issue>

    <issue
        id="UnsafeOptInUsageError"
        message="This declaration is opt-in and its usage should be marked with&#xA;&apos;@androidx.camera.camera2.interop.ExperimentalCamera2Interop&apos; or &apos;@OptIn(markerClass = androidx.camera.camera2.interop.ExperimentalCamera2Interop.class)&apos;"
        errorLine1="                camera2ConfigBuilder.setCaptureRequestOption(objKey,"
        errorLine2="                                     ~~~~~~~~~~~~~~~~~~~~~~~">
        <location
            file="src/main/java/androidx/camera/extensions/internal/sessionprocessor/AdvancedSessionProcessor.java"/>
    </issue>

    <issue
        id="UnsafeOptInUsageError"
        message="This declaration is opt-in and its usage should be marked with&#xA;&apos;@androidx.camera.camera2.interop.ExperimentalCamera2Interop&apos; or &apos;@OptIn(markerClass = androidx.camera.camera2.interop.ExperimentalCamera2Interop.class)&apos;"
        errorLine1="                camera2ConfigBuilder.setCaptureRequestOption(objKey,"
        errorLine2="                                                             ~~~~~~">
        <location
            file="src/main/java/androidx/camera/extensions/internal/sessionprocessor/AdvancedSessionProcessor.java"/>
    </issue>

    <issue
        id="UnsafeOptInUsageError"
        message="This declaration is opt-in and its usage should be marked with&#xA;&apos;@androidx.camera.camera2.interop.ExperimentalCamera2Interop&apos; or &apos;@OptIn(markerClass = androidx.camera.camera2.interop.ExperimentalCamera2Interop.class)&apos;"
        errorLine1="                        implRequest.getParameters().get(objKey));"
        errorLine2="                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
        <location
            file="src/main/java/androidx/camera/extensions/internal/sessionprocessor/AdvancedSessionProcessor.java"/>
    </issue>

    <issue
        id="UnsafeOptInUsageError"
        message="This declaration is opt-in and its usage should be marked with&#xA;&apos;@androidx.camera.camera2.interop.ExperimentalCamera2Interop&apos; or &apos;@OptIn(markerClass = androidx.camera.camera2.interop.ExperimentalCamera2Interop.class)&apos;"
        errorLine1="            mParameters = camera2ConfigBuilder.build();"
        errorLine2="                                               ~~~~~">
        <location
            file="src/main/java/androidx/camera/extensions/internal/sessionprocessor/AdvancedSessionProcessor.java"/>
    </issue>

    <issue
        id="UnsafeOptInUsageError"
        message="This declaration is opt-in and its usage should be marked with&#xA;&apos;@androidx.camera.camera2.interop.ExperimentalCamera2Interop&apos; or &apos;@OptIn(markerClass = androidx.camera.camera2.interop.ExperimentalCamera2Interop.class)&apos;"
        errorLine1="                new Camera2ImplConfig.Extender&lt;>(builder).setCameraEventCallback("
        errorLine2="                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
        <location
            file="src/main/java/androidx/camera/extensions/internal/ImageCaptureConfigProvider.java"/>
    </issue>

    <issue
        id="UnsafeOptInUsageError"
        message="This declaration is opt-in and its usage should be marked with&#xA;&apos;@androidx.camera.camera2.interop.ExperimentalCamera2Interop&apos; or &apos;@OptIn(markerClass = androidx.camera.camera2.interop.ExperimentalCamera2Interop.class)&apos;"
        errorLine1="                new Camera2ImplConfig.Extender&lt;>(builder).setCameraEventCallback("
        errorLine2="                                                 ~~~~~~~">
        <location
            file="src/main/java/androidx/camera/extensions/internal/ImageCaptureConfigProvider.java"/>
    </issue>

    <issue
        id="UnsafeOptInUsageError"
        message="This declaration is opt-in and its usage should be marked with&#xA;&apos;@androidx.camera.camera2.interop.ExperimentalCamera2Interop&apos; or &apos;@OptIn(markerClass = androidx.camera.camera2.interop.ExperimentalCamera2Interop.class)&apos;"
        errorLine1="                new Camera2ImplConfig.Extender&lt;>(builder).setCameraEventCallback("
        errorLine2="                                                          ~~~~~~~~~~~~~~~~~~~~~~">
        <location
            file="src/main/java/androidx/camera/extensions/internal/ImageCaptureConfigProvider.java"/>
    </issue>

    <issue
        id="UnsafeOptInUsageError"
        message="This declaration is opt-in and its usage should be marked with&#xA;&apos;@androidx.camera.camera2.interop.ExperimentalCamera2Interop&apos; or &apos;@OptIn(markerClass = androidx.camera.camera2.interop.ExperimentalCamera2Interop.class)&apos;"
        errorLine1="                        new CameraEventCallbacks(imageCaptureEventAdapter));"
        errorLine2="                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
        <location
            file="src/main/java/androidx/camera/extensions/internal/ImageCaptureConfigProvider.java"/>
    </issue>

    <issue
        id="UnsafeOptInUsageError"
        message="This declaration is opt-in and its usage should be marked with&#xA;&apos;@androidx.camera.camera2.interop.ExperimentalCamera2Interop&apos; or &apos;@OptIn(markerClass = androidx.camera.camera2.interop.ExperimentalCamera2Interop.class)&apos;"
        errorLine1="                new Camera2ImplConfig.Extender&lt;>(builder).setCameraEventCallback("
        errorLine2="                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
        <location
            file="src/main/java/androidx/camera/extensions/internal/PreviewConfigProvider.java"/>
    </issue>

    <issue
        id="UnsafeOptInUsageError"
        message="This declaration is opt-in and its usage should be marked with&#xA;&apos;@androidx.camera.camera2.interop.ExperimentalCamera2Interop&apos; or &apos;@OptIn(markerClass = androidx.camera.camera2.interop.ExperimentalCamera2Interop.class)&apos;"
        errorLine1="                new Camera2ImplConfig.Extender&lt;>(builder).setCameraEventCallback("
        errorLine2="                                                 ~~~~~~~">
        <location
            file="src/main/java/androidx/camera/extensions/internal/PreviewConfigProvider.java"/>
    </issue>

    <issue
        id="UnsafeOptInUsageError"
        message="This declaration is opt-in and its usage should be marked with&#xA;&apos;@androidx.camera.camera2.interop.ExperimentalCamera2Interop&apos; or &apos;@OptIn(markerClass = androidx.camera.camera2.interop.ExperimentalCamera2Interop.class)&apos;"
        errorLine1="                new Camera2ImplConfig.Extender&lt;>(builder).setCameraEventCallback("
        errorLine2="                                                          ~~~~~~~~~~~~~~~~~~~~~~">
        <location
            file="src/main/java/androidx/camera/extensions/internal/PreviewConfigProvider.java"/>
    </issue>

    <issue
        id="UnsafeOptInUsageError"
        message="This declaration is opt-in and its usage should be marked with&#xA;&apos;@androidx.camera.camera2.interop.ExperimentalCamera2Interop&apos; or &apos;@OptIn(markerClass = androidx.camera.camera2.interop.ExperimentalCamera2Interop.class)&apos;"
        errorLine1="                        new CameraEventCallbacks(previewEventAdapter));"
        errorLine2="                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
        <location
            file="src/main/java/androidx/camera/extensions/internal/PreviewConfigProvider.java"/>
    </issue>

</issues>
