<?xml version="1.0" encoding="utf-8"?>
<container xmlns="http://symfony.com/schema/dic/services" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://symfony.com/schema/dic/services https://symfony.com/schema/dic/services/services-1.0.xsd">
  <parameters>
    <parameter key="kernel.project_dir">C:\wamp64\www\devkit-lti1p3-master-tool</parameter>
    <parameter key="kernel.environment">dev</parameter>
    <parameter key="kernel.runtime_environment">%env(default:kernel.environment:APP_RUNTIME_ENV)%</parameter>
    <parameter key="kernel.debug">true</parameter>
    <parameter key="kernel.build_dir">C:/wamp64/www/devkit-lti1p3-master-tool/var/cache/dev</parameter>
    <parameter key="kernel.cache_dir">C:/wamp64/www/devkit-lti1p3-master-tool/var/cache/dev</parameter>
    <parameter key="kernel.logs_dir">C:\wamp64\www\devkit-lti1p3-master-tool\var\log</parameter>
    <parameter key="kernel.bundles" type="collection">
      <parameter key="FrameworkBundle">Symfony\Bundle\FrameworkBundle\FrameworkBundle</parameter>
      <parameter key="SecurityBundle">Symfony\Bundle\SecurityBundle\SecurityBundle</parameter>
      <parameter key="Lti1p3Bundle">OAT\Bundle\Lti1p3Bundle\Lti1p3Bundle</parameter>
      <parameter key="TwigBundle">Symfony\Bundle\TwigBundle\TwigBundle</parameter>
      <parameter key="TwigExtraBundle">Twig\Extra\TwigExtraBundle\TwigExtraBundle</parameter>
      <parameter key="MonologBundle">Symfony\Bundle\MonologBundle\MonologBundle</parameter>
      <parameter key="HealthCheckBundle">OAT\Bundle\HealthCheckBundle\HealthCheckBundle</parameter>
      <parameter key="SensioFrameworkExtraBundle">Sensio\Bundle\FrameworkExtraBundle\SensioFrameworkExtraBundle</parameter>
    </parameter>
    <parameter key="kernel.bundles_metadata" type="collection">
      <parameter key="FrameworkBundle" type="collection">
        <parameter key="path">C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\framework-bundle</parameter>
        <parameter key="namespace">Symfony\Bundle\FrameworkBundle</parameter>
      </parameter>
      <parameter key="SecurityBundle" type="collection">
        <parameter key="path">C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\security-bundle</parameter>
        <parameter key="namespace">Symfony\Bundle\SecurityBundle</parameter>
      </parameter>
      <parameter key="Lti1p3Bundle" type="collection">
        <parameter key="path">C:\wamp64\www\devkit-lti1p3-master-tool\vendor\oat-sa\bundle-lti1p3</parameter>
        <parameter key="namespace">OAT\Bundle\Lti1p3Bundle</parameter>
      </parameter>
      <parameter key="TwigBundle" type="collection">
        <parameter key="path">C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\twig-bundle</parameter>
        <parameter key="namespace">Symfony\Bundle\TwigBundle</parameter>
      </parameter>
      <parameter key="TwigExtraBundle" type="collection">
        <parameter key="path">C:\wamp64\www\devkit-lti1p3-master-tool\vendor\twig\extra-bundle</parameter>
        <parameter key="namespace">Twig\Extra\TwigExtraBundle</parameter>
      </parameter>
      <parameter key="MonologBundle" type="collection">
        <parameter key="path">C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\monolog-bundle</parameter>
        <parameter key="namespace">Symfony\Bundle\MonologBundle</parameter>
      </parameter>
      <parameter key="HealthCheckBundle" type="collection">
        <parameter key="path">C:\wamp64\www\devkit-lti1p3-master-tool\vendor\oat-sa\bundle-health-check</parameter>
        <parameter key="namespace">OAT\Bundle\HealthCheckBundle</parameter>
      </parameter>
      <parameter key="SensioFrameworkExtraBundle" type="collection">
        <parameter key="path">C:\wamp64\www\devkit-lti1p3-master-tool\vendor\sensio\framework-extra-bundle\src</parameter>
        <parameter key="namespace">Sensio\Bundle\FrameworkExtraBundle</parameter>
      </parameter>
    </parameter>
    <parameter key="kernel.charset">UTF-8</parameter>
    <parameter key="kernel.container_class">App_KernelDevDebugContainer</parameter>
    <parameter key="container.dumper.inline_class_loader">true</parameter>
    <parameter key="container.dumper.inline_factories">true</parameter>
    <parameter key="editor_claims" type="collection">
      <parameter key="AGS" type="collection">
        <parameter key="name">https://purl.imsglobal.org/spec/lti-ags/claim/endpoint</parameter>
        <parameter key="value" type="collection">
          <parameter key="scope" type="collection">
            <parameter>https://purl.imsglobal.org/spec/lti-ags/scope/lineitem</parameter>
            <parameter>https://purl.imsglobal.org/spec/lti-ags/scope/result.readonly</parameter>
            <parameter>https://purl.imsglobal.org/spec/lti-ags/scope/score</parameter>
          </parameter>
          <parameter key="lineitems">%env(resolve:APP_HOST)%/platform/service/ags/default/lineitems</parameter>
        </parameter>
      </parameter>
      <parameter key="ACS" type="collection">
        <parameter key="name">https://purl.imsglobal.org/spec/lti-ap/claim/acs</parameter>
        <parameter key="value" type="collection">
          <parameter key="actions" type="collection">
            <parameter>pause</parameter>
            <parameter>resume</parameter>
            <parameter>terminate</parameter>
            <parameter>update</parameter>
            <parameter>flag</parameter>
          </parameter>
          <parameter key="assessment_control_url">{url|required}</parameter>
        </parameter>
      </parameter>
      <parameter key="Basic Outcome" type="collection">
        <parameter key="name">https://purl.imsglobal.org/spec/lti-bo/claim/basicoutcome</parameter>
        <parameter key="value" type="collection">
          <parameter key="lis_result_sourcedid">default</parameter>
          <parameter key="lis_outcome_service_url">%env(resolve:APP_HOST)%/platform/service/basic-outcome</parameter>
        </parameter>
      </parameter>
      <parameter key="Context" type="collection">
        <parameter key="name">https://purl.imsglobal.org/spec/lti/claim/context</parameter>
        <parameter key="value" type="collection">
          <parameter key="id">default</parameter>
          <parameter key="type" type="collection"/>
          <parameter key="label">{string|optional}</parameter>
          <parameter key="title">{string|optional}</parameter>
        </parameter>
      </parameter>
      <parameter key="Launch presentation" type="collection">
        <parameter key="name">https://purl.imsglobal.org/spec/lti/claim/launch_presentation</parameter>
        <parameter key="value" type="collection">
          <parameter key="document_target">{string|optional}</parameter>
          <parameter key="height">{int|optional}</parameter>
          <parameter key="width">{int|optional}</parameter>
          <parameter key="return_url">{url|optional}</parameter>
          <parameter key="locale">{string|optional}</parameter>
        </parameter>
      </parameter>
      <parameter key="LIS" type="collection">
        <parameter key="name">https://purl.imsglobal.org/spec/lti/claim/lis</parameter>
        <parameter key="value" type="collection">
          <parameter key="course_offering_sourcedid">{string|optional}</parameter>
          <parameter key="course_section_sourcedid">{string|optional}</parameter>
          <parameter key="outcome_service_url">{url|optional}</parameter>
          <parameter key="person_sourcedid">{string|optional}</parameter>
          <parameter key="result_sourcedid">{string|optional}</parameter>
        </parameter>
      </parameter>
      <parameter key="NRPS" type="collection">
        <parameter key="name">https://purl.imsglobal.org/spec/lti-nrps/claim/namesroleservice</parameter>
        <parameter key="value" type="collection">
          <parameter key="context_memberships_url">%env(resolve:APP_HOST)%/platform/service/nrps/default/memberships/default</parameter>
          <parameter key="service_versions" type="collection">
            <parameter type="string">2.0</parameter>
          </parameter>
        </parameter>
      </parameter>
      <parameter key="Platform instance" type="collection">
        <parameter key="name">https://purl.imsglobal.org/spec/lti/claim/tool_platform</parameter>
        <parameter key="value" type="collection">
          <parameter key="guid">{string|required}</parameter>
          <parameter key="contact_email">{string|optional}</parameter>
          <parameter key="description">{string|optional}</parameter>
          <parameter key="name">{string|optional}</parameter>
          <parameter key="url">{url|optional}</parameter>
          <parameter key="product_family_code">{string|optional}</parameter>
          <parameter key="version">{string|optional}</parameter>
        </parameter>
      </parameter>
      <parameter key="Resource link" type="collection">
        <parameter key="name">https://purl.imsglobal.org/spec/lti/claim/resource_link</parameter>
        <parameter key="value" type="collection">
          <parameter key="id">{string|required}</parameter>
          <parameter key="title">{string|optional}</parameter>
          <parameter key="description">{string|optional}</parameter>
        </parameter>
      </parameter>
      <parameter key="Roles" type="collection">
        <parameter key="name">https://purl.imsglobal.org/spec/lti/claim/roles</parameter>
        <parameter key="value" type="collection">
          <parameter>http://purl.imsglobal.org/vocab/lis/v2/membership#Learner</parameter>
        </parameter>
      </parameter>
    </parameter>
    <parameter key="deeplinking_resources" type="collection">
      <parameter key="ltiResourceLinkExample" type="collection">
        <parameter key="type">ltiResourceLink</parameter>
        <parameter key="url">%env(resolve:APP_HOST)%/tool/launch</parameter>
        <parameter key="title">Launch LTI 1.3 DevKit</parameter>
        <parameter key="text">LTI resource link to launch LTI 1.3 DevKit</parameter>
        <parameter key="icon" type="collection">
          <parameter key="url">https://www.taotesting.com/wp-content/uploads/2019/04/favicon-1-300x300.png</parameter>
        </parameter>
        <parameter key="thumbnail" type="collection">
          <parameter key="url">https://www.taotesting.com/wp-content/uploads/2019/04/favicon-1-300x300.png</parameter>
        </parameter>
      </parameter>
      <parameter key="imageExample" type="collection">
        <parameter key="type">image</parameter>
        <parameter key="url">https://www.disneyphile.fr/wp-content/uploads/2020/10/fresque-star-wars.png</parameter>
        <parameter key="title">Star wars (image)</parameter>
        <parameter key="text">Star wars image</parameter>
        <parameter key="icon" type="collection">
          <parameter key="url">https://cdn4.iconfinder.com/data/icons/evil-icons-user-interface/64/picture-20.png</parameter>
        </parameter>
        <parameter key="thumbnail" type="collection">
          <parameter key="url">https://cdn4.iconfinder.com/data/icons/evil-icons-user-interface/64/picture-20.png</parameter>
        </parameter>
      </parameter>
      <parameter key="linkExample" type="collection">
        <parameter key="type">link</parameter>
        <parameter key="url">https://en.wikipedia.org/wiki/Star_Wars</parameter>
        <parameter key="title">Star wars (Wikipedia)</parameter>
        <parameter key="text">Star wars wikipedia page</parameter>
        <parameter key="icon" type="collection">
          <parameter key="url">https://cdn4.iconfinder.com/data/icons/evil-icons-user-interface/64/finger-20.png</parameter>
        </parameter>
        <parameter key="thumbnail" type="collection">
          <parameter key="url">https://cdn4.iconfinder.com/data/icons/evil-icons-user-interface/64/finger-20.png</parameter>
        </parameter>
      </parameter>
      <parameter key="fileExample" type="collection">
        <parameter key="type">file</parameter>
        <parameter key="url">http://rbasra.com/images13/jedi.pdf</parameter>
        <parameter key="title">Jedi path (PDF)</parameter>
        <parameter key="text">How to become a Jedi (PDF guide)</parameter>
        <parameter key="icon" type="collection">
          <parameter key="url">https://cdn4.iconfinder.com/data/icons/48-bubbles/48/12.File-20.png</parameter>
        </parameter>
        <parameter key="thumbnail" type="collection">
          <parameter key="url">https://cdn4.iconfinder.com/data/icons/48-bubbles/48/12.File-20.png</parameter>
        </parameter>
      </parameter>
      <parameter key="htmlFragmentExample" type="collection">
        <parameter key="type">html</parameter>
        <parameter key="html">&lt;div&gt;Hello world&lt;/div&gt;</parameter>
        <parameter key="title">Hello world (HTML)</parameter>
        <parameter key="text">HTML fragment to say hello world</parameter>
      </parameter>
    </parameter>
    <parameter key="users" type="collection">
      <parameter key="c3po" type="collection">
        <parameter key="name">C3PO</parameter>
        <parameter key="email">c3po@rebels.com</parameter>
        <parameter key="givenName">C3PO</parameter>
        <parameter key="familyName">null</parameter>
        <parameter key="middleName">null</parameter>
        <parameter key="locale">en</parameter>
        <parameter key="picture">https://cdn4.iconfinder.com/data/icons/famous-characters-add-on-vol-1-flat/48/Famous_Character_-_Add_On_1-34-512.png</parameter>
        <parameter key="roles" type="collection">
          <parameter>http://purl.imsglobal.org/vocab/lis/v2/membership#Learner</parameter>
        </parameter>
      </parameter>
      <parameter key="chewbacca" type="collection">
        <parameter key="name">Chewbacca</parameter>
        <parameter key="email">chewie@rebels.com</parameter>
        <parameter key="givenName">???</parameter>
        <parameter key="familyName">???</parameter>
        <parameter key="middleName">Chewie</parameter>
        <parameter key="locale">en</parameter>
        <parameter key="picture">https://cdn3.iconfinder.com/data/icons/star-wars-color/229/chewbacca-512.png</parameter>
        <parameter key="roles" type="collection">
          <parameter>http://purl.imsglobal.org/vocab/lis/v2/membership#Learner</parameter>
        </parameter>
      </parameter>
      <parameter key="fett" type="collection">
        <parameter key="name">Boba Fett</parameter>
        <parameter key="email">b.fett@empire.gov</parameter>
        <parameter key="givenName">Boba</parameter>
        <parameter key="familyName">Fett</parameter>
        <parameter key="middleName">null</parameter>
        <parameter key="locale">en</parameter>
        <parameter key="picture">https://cdn3.iconfinder.com/data/icons/star-wars-color/175/boba-fett-512.png</parameter>
        <parameter key="roles" type="collection">
          <parameter>http://purl.imsglobal.org/vocab/lis/v2/membership#Learner</parameter>
        </parameter>
      </parameter>
      <parameter key="han" type="collection">
        <parameter key="name">Han Solo</parameter>
        <parameter key="email">han@rebels.com</parameter>
        <parameter key="givenName">Han</parameter>
        <parameter key="familyName">Solo</parameter>
        <parameter key="middleName">null</parameter>
        <parameter key="locale">en</parameter>
        <parameter key="picture">https://cdn3.iconfinder.com/data/icons/star-wars-color/186/han-solo-512.png</parameter>
        <parameter key="roles" type="collection">
          <parameter>http://purl.imsglobal.org/vocab/lis/v2/membership#Instructor</parameter>
        </parameter>
      </parameter>
      <parameter key="leia" type="collection">
        <parameter key="name">Leia Organa</parameter>
        <parameter key="email">leia@rebels.com</parameter>
        <parameter key="givenName">Leia</parameter>
        <parameter key="familyName">Organa</parameter>
        <parameter key="middleName">Alderaan</parameter>
        <parameter key="locale">en</parameter>
        <parameter key="picture">https://cdn3.iconfinder.com/data/icons/star-wars-color/175/princess-leia-512.png</parameter>
        <parameter key="roles" type="collection">
          <parameter>http://purl.imsglobal.org/vocab/lis/v2/membership#Instructor</parameter>
        </parameter>
      </parameter>
      <parameter key="luke" type="collection">
        <parameter key="name">Luke Skywalker</parameter>
        <parameter key="email">luke@jedi.com</parameter>
        <parameter key="givenName">Luke</parameter>
        <parameter key="familyName">Skywalker</parameter>
        <parameter key="middleName">null</parameter>
        <parameter key="locale">en</parameter>
        <parameter key="picture">https://cdn3.iconfinder.com/data/icons/star-wars-color/193/luke-skywalker-512.png</parameter>
        <parameter key="roles" type="collection">
          <parameter>http://purl.imsglobal.org/vocab/lis/v2/membership#Learner</parameter>
        </parameter>
      </parameter>
      <parameter key="jabba" type="collection">
        <parameter key="name">Jabba the Hutt</parameter>
        <parameter key="email">jabba@desilijic.com</parameter>
        <parameter key="givenName">Jabba</parameter>
        <parameter key="familyName">Tiure</parameter>
        <parameter key="middleName">Desilijic</parameter>
        <parameter key="locale">en</parameter>
        <parameter key="picture">https://cdn3.iconfinder.com/data/icons/star-wars-color/276/jabba-the-hutt-512.png</parameter>
        <parameter key="roles" type="collection">
          <parameter>http://purl.imsglobal.org/vocab/lis/v2/membership#Instructor</parameter>
        </parameter>
      </parameter>
      <parameter key="maul" type="collection">
        <parameter key="name">Darth Maul</parameter>
        <parameter key="email">d.maul@empire.gov</parameter>
        <parameter key="givenName">???</parameter>
        <parameter key="familyName">???</parameter>
        <parameter key="middleName">null</parameter>
        <parameter key="locale">en</parameter>
        <parameter key="picture">https://cdn3.iconfinder.com/data/icons/star-wars-color/181/darth-maul-512.png</parameter>
        <parameter key="roles" type="collection">
          <parameter>http://purl.imsglobal.org/vocab/lis/v2/membership#Learner</parameter>
        </parameter>
      </parameter>
      <parameter key="obiwan" type="collection">
        <parameter key="name">Obiwan Kenobi</parameter>
        <parameter key="email">o.kenobi@jedi.com</parameter>
        <parameter key="givenName">Obiwan</parameter>
        <parameter key="familyName">Kenobi</parameter>
        <parameter key="middleName">null</parameter>
        <parameter key="locale">en</parameter>
        <parameter key="picture">https://cdn3.iconfinder.com/data/icons/star-wars-color/216/obiwan-kenobi-512.png</parameter>
        <parameter key="roles" type="collection">
          <parameter>http://purl.imsglobal.org/vocab/lis/v2/membership#Instructor</parameter>
        </parameter>
      </parameter>
      <parameter key="r2d2" type="collection">
        <parameter key="name">R2D2</parameter>
        <parameter key="email">r2d2@rebels.com</parameter>
        <parameter key="givenName">R2D2</parameter>
        <parameter key="familyName">null</parameter>
        <parameter key="middleName">null</parameter>
        <parameter key="locale">en</parameter>
        <parameter key="picture">https://cdn4.iconfinder.com/data/icons/famous-characters-add-on-vol-1-flat/48/Famous_Character_-_Add_On_1-39-512.png</parameter>
        <parameter key="roles" type="collection">
          <parameter>http://purl.imsglobal.org/vocab/lis/v2/membership#Learner</parameter>
        </parameter>
      </parameter>
      <parameter key="sidious" type="collection">
        <parameter key="name">Darth Sidious</parameter>
        <parameter key="email">d.sidious@empire.gov</parameter>
        <parameter key="givenName">Sheev</parameter>
        <parameter key="familyName">Palpatine</parameter>
        <parameter key="middleName">null</parameter>
        <parameter key="locale">en</parameter>
        <parameter key="picture">https://cdn3.iconfinder.com/data/icons/star-wars-color/216/emperor-palpatine-512.png</parameter>
        <parameter key="roles" type="collection">
          <parameter>http://purl.imsglobal.org/vocab/lis/v2/membership#Instructor</parameter>
        </parameter>
      </parameter>
      <parameter key="vader" type="collection">
        <parameter key="name">Darth Vader</parameter>
        <parameter key="email">d.vader@empire.gov</parameter>
        <parameter key="givenName">Anakin</parameter>
        <parameter key="familyName">Skywalker</parameter>
        <parameter key="middleName">null</parameter>
        <parameter key="locale">en</parameter>
        <parameter key="picture">https://cdn3.iconfinder.com/data/icons/star-wars-color/216/darth-vader-512.png</parameter>
        <parameter key="roles" type="collection">
          <parameter>http://purl.imsglobal.org/vocab/lis/v2/membership#Instructor</parameter>
        </parameter>
      </parameter>
      <parameter key="yoda" type="collection">
        <parameter key="name">Yoda</parameter>
        <parameter key="email">yoda@jedi.com</parameter>
        <parameter key="givenName">???</parameter>
        <parameter key="familyName">???</parameter>
        <parameter key="middleName">null</parameter>
        <parameter key="locale">en</parameter>
        <parameter key="picture">https://cdn3.iconfinder.com/data/icons/star-wars-color/300/yoda-512.png</parameter>
        <parameter key="roles" type="collection">
          <parameter>http://purl.imsglobal.org/vocab/lis/v2/membership#Instructor</parameter>
        </parameter>
      </parameter>
    </parameter>
    <parameter key="application_host">%env(resolve:APP_HOST)%</parameter>
    <parameter key="application_env">%env(resolve:APP_ENV)%</parameter>
    <parameter key="application_api_key">%env(resolve:APP_API_KEY)%</parameter>
    <parameter key="application_vendors">C:\wamp64\www\devkit-lti1p3-master-tool/vendor/composer/installed.php</parameter>
    <parameter key="application_version">2.4.2</parameter>
    <parameter key="event_dispatcher.event_aliases" type="collection">
      <parameter key="Symfony\Component\Console\Event\ConsoleCommandEvent">console.command</parameter>
      <parameter key="Symfony\Component\Console\Event\ConsoleErrorEvent">console.error</parameter>
      <parameter key="Symfony\Component\Console\Event\ConsoleSignalEvent">console.signal</parameter>
      <parameter key="Symfony\Component\Console\Event\ConsoleTerminateEvent">console.terminate</parameter>
      <parameter key="Symfony\Component\Form\Event\PreSubmitEvent">form.pre_submit</parameter>
      <parameter key="Symfony\Component\Form\Event\SubmitEvent">form.submit</parameter>
      <parameter key="Symfony\Component\Form\Event\PostSubmitEvent">form.post_submit</parameter>
      <parameter key="Symfony\Component\Form\Event\PreSetDataEvent">form.pre_set_data</parameter>
      <parameter key="Symfony\Component\Form\Event\PostSetDataEvent">form.post_set_data</parameter>
      <parameter key="Symfony\Component\HttpKernel\Event\ControllerArgumentsEvent">kernel.controller_arguments</parameter>
      <parameter key="Symfony\Component\HttpKernel\Event\ControllerEvent">kernel.controller</parameter>
      <parameter key="Symfony\Component\HttpKernel\Event\ResponseEvent">kernel.response</parameter>
      <parameter key="Symfony\Component\HttpKernel\Event\FinishRequestEvent">kernel.finish_request</parameter>
      <parameter key="Symfony\Component\HttpKernel\Event\RequestEvent">kernel.request</parameter>
      <parameter key="Symfony\Component\HttpKernel\Event\ViewEvent">kernel.view</parameter>
      <parameter key="Symfony\Component\HttpKernel\Event\ExceptionEvent">kernel.exception</parameter>
      <parameter key="Symfony\Component\HttpKernel\Event\TerminateEvent">kernel.terminate</parameter>
      <parameter key="Symfony\Component\Security\Core\Event\AuthenticationSuccessEvent">security.authentication.success</parameter>
      <parameter key="Symfony\Component\Security\Core\Event\AuthenticationFailureEvent">security.authentication.failure</parameter>
      <parameter key="Symfony\Component\Security\Http\Event\InteractiveLoginEvent">security.interactive_login</parameter>
      <parameter key="Symfony\Component\Security\Http\Event\SwitchUserEvent">security.switch_user</parameter>
    </parameter>
    <parameter key="fragment.renderer.hinclude.global_template">null</parameter>
    <parameter key="fragment.path">/_fragment</parameter>
    <parameter key="kernel.secret">%env(APP_SECRET)%</parameter>
    <parameter key="kernel.http_method_override">true</parameter>
    <parameter key="kernel.trusted_hosts" type="collection"/>
    <parameter key="kernel.default_locale">en</parameter>
    <parameter key="kernel.error_controller">error_controller</parameter>
    <parameter key="debug.file_link_format">null</parameter>
    <parameter key="cache.prefix.seed">_C:\wamp64\www\devkit-lti1p3-master-tool.App_KernelDevDebugContainer</parameter>
    <parameter key="session.metadata.storage_key">_sf2_meta</parameter>
    <parameter key="session.storage.options" type="collection">
      <parameter key="cache_limiter" type="string">0</parameter>
      <parameter key="cookie_secure">auto</parameter>
      <parameter key="cookie_httponly">true</parameter>
      <parameter key="cookie_samesite">lax</parameter>
      <parameter key="gc_probability">1</parameter>
    </parameter>
    <parameter key="session.save_path">C:/wamp64/www/devkit-lti1p3-master-tool/var/cache/dev/sessions</parameter>
    <parameter key="session.metadata.update_threshold">0</parameter>
    <parameter key="form.type_extension.csrf.enabled">true</parameter>
    <parameter key="form.type_extension.csrf.field_name">_token</parameter>
    <parameter key="validator.mapping.cache.file">C:/wamp64/www/devkit-lti1p3-master-tool/var/cache/dev/validation.php</parameter>
    <parameter key="validator.translation_domain">validators</parameter>
    <parameter key="translator.logging">false</parameter>
    <parameter key="translator.default_path">C:\wamp64\www\devkit-lti1p3-master-tool/translations</parameter>
    <parameter key="data_collector.templates" type="collection"/>
    <parameter key="debug.error_handler.throw_at">-1</parameter>
    <parameter key="debug.container.dump">C:/wamp64/www/devkit-lti1p3-master-tool/var/cache/dev/App_KernelDevDebugContainer.xml</parameter>
    <parameter key="router.request_context.host">localhost</parameter>
    <parameter key="router.request_context.scheme">http</parameter>
    <parameter key="router.request_context.base_url"></parameter>
    <parameter key="router.resource">kernel::loadRoutes</parameter>
    <parameter key="request_listener.http_port">80</parameter>
    <parameter key="request_listener.https_port">443</parameter>
    <parameter key="security.role_hierarchy.roles" type="collection"/>
    <parameter key="security.access.denied_url">null</parameter>
    <parameter key="security.authentication.manager.erase_credentials">true</parameter>
    <parameter key="security.authentication.session_strategy.strategy">migrate</parameter>
    <parameter key="security.access.always_authenticate_before_granting">false</parameter>
    <parameter key="security.authentication.hide_user_not_found">true</parameter>
    <parameter key="security.firewalls" type="collection">
      <parameter>api_area</parameter>
      <parameter>tool_message_area</parameter>
      <parameter>platform_message_area</parameter>
      <parameter>platform_service_ags_area</parameter>
      <parameter>platform_service_nrps_area</parameter>
      <parameter>platform_service_acs_area</parameter>
      <parameter>platform_service_basic_outcome_area</parameter>
      <parameter>dev</parameter>
      <parameter>main</parameter>
    </parameter>
    <parameter key="security.api_area._indexed_authenticators" type="collection"/>
    <parameter key="security.tool_message_area._indexed_authenticators" type="collection"/>
    <parameter key="security.platform_message_area._indexed_authenticators" type="collection"/>
    <parameter key="security.platform_service_ags_area._indexed_authenticators" type="collection"/>
    <parameter key="security.platform_service_nrps_area._indexed_authenticators" type="collection"/>
    <parameter key="security.platform_service_acs_area._indexed_authenticators" type="collection"/>
    <parameter key="security.platform_service_basic_outcome_area._indexed_authenticators" type="collection"/>
    <parameter key="security.main._indexed_authenticators" type="collection"/>
    <parameter key="twig.form.resources" type="collection">
      <parameter>form_div_layout.html.twig</parameter>
      <parameter>bootstrap_4_layout.html.twig</parameter>
    </parameter>
    <parameter key="twig.default_path">C:\wamp64\www\devkit-lti1p3-master-tool/templates</parameter>
    <parameter key="monolog.use_microseconds">true</parameter>
    <parameter key="monolog.swift_mailer.handlers" type="collection"/>
    <parameter key="monolog.handlers_to_channels" type="collection">
      <parameter key="monolog.handler.console" type="collection">
        <parameter key="type">exclusive</parameter>
        <parameter key="elements" type="collection">
          <parameter>event</parameter>
          <parameter>doctrine</parameter>
          <parameter>console</parameter>
        </parameter>
      </parameter>
      <parameter key="monolog.handler.main" type="collection">
        <parameter key="type">exclusive</parameter>
        <parameter key="elements" type="collection">
          <parameter>event</parameter>
        </parameter>
      </parameter>
      <parameter key="monolog.handler.deprecation" type="collection">
        <parameter key="type">inclusive</parameter>
        <parameter key="elements" type="collection">
          <parameter>deprecation</parameter>
        </parameter>
      </parameter>
    </parameter>
    <parameter key="lti1p3_resolved_configuration" type="collection">
      <parameter key="scopes" type="collection">
        <parameter>https://purl.imsglobal.org/spec/lti-nrps/scope/contextmembership.readonly</parameter>
        <parameter>https://purl.imsglobal.org/spec/lti-bo/scope/basicoutcome</parameter>
        <parameter>https://purl.imsglobal.org/spec/lti-ap/scope/control.all</parameter>
        <parameter>https://purl.imsglobal.org/spec/lti-ags/scope/lineitem</parameter>
        <parameter>https://purl.imsglobal.org/spec/lti-ags/scope/lineitem.readonly</parameter>
        <parameter>https://purl.imsglobal.org/spec/lti-ags/scope/score</parameter>
        <parameter>https://purl.imsglobal.org/spec/lti-ags/scope/result.readonly</parameter>
      </parameter>
      <parameter key="key_chains" type="collection">
        <parameter key="toolKey" type="collection">
          <parameter key="key_set_name">toolSet</parameter>
          <parameter key="public_key">file://C:\wamp64\www\devkit-lti1p3-master-tool/config/keys/public.key</parameter>
          <parameter key="private_key">file://C:\wamp64\www\devkit-lti1p3-master-tool/config/keys/private.key</parameter>
          <parameter key="private_key_passphrase">null</parameter>
          <parameter key="algorithm">RS256</parameter>
        </parameter>
        <parameter key="platformKey" type="collection">
          <parameter key="key_set_name">platformSet</parameter>
          <parameter key="public_key">file://C:\wamp64\www\devkit-lti1p3-master-tool/config/keys/public.key</parameter>
          <parameter key="private_key">file://C:\wamp64\www\devkit-lti1p3-master-tool/config/keys/private.key</parameter>
          <parameter key="private_key_passphrase">null</parameter>
          <parameter key="algorithm">RS256</parameter>
        </parameter>
      </parameter>
      <parameter key="platforms" type="collection">
        <parameter key="localPlatform" type="collection">
          <parameter key="name">Click Learner Portal Platform</parameter>
          <parameter key="audience">http://127.0.0.1:8000/platform</parameter>
          <parameter key="oidc_authentication_url">http://127.0.0.1:8000/lti1p3/oidc/authentication</parameter>
          <parameter key="oauth2_access_token_url">http://127.0.0.1:8000/lti1p3/auth/platformKey/token</parameter>
        </parameter>
      </parameter>
      <parameter key="tools" type="collection">
        <parameter key="devkitTool" type="collection">
          <parameter key="name">LTI 1.3 DevKit (as tool)</parameter>
          <parameter key="audience">http://127.0.0.1:8001/tool</parameter>
          <parameter key="oidc_initiation_url">http://127.0.0.1:8001/lti1p3/oidc/initiation</parameter>
          <parameter key="launch_url">http://127.0.0.1:8001/tool/launch</parameter>
          <parameter key="deep_linking_url">http://127.0.0.1:8001/tool/launch</parameter>
        </parameter>
      </parameter>
      <parameter key="registrations" type="collection">
        <parameter key="local" type="collection">
          <parameter key="client_id">common_client_id_value</parameter>
          <parameter key="platform">localPlatform</parameter>
          <parameter key="tool">devkitTool</parameter>
          <parameter key="deployment_ids" type="collection">
            <parameter>deploymentId1</parameter>
          </parameter>
          <parameter key="platform_key_chain">platformKey</parameter>
          <parameter key="tool_key_chain">toolKey</parameter>
          <parameter key="platform_jwks_url">http://127.0.0.1:8000/lti1p3/.well-known/jwks/platformSet.json</parameter>
          <parameter key="tool_jwks_url">http://127.0.0.1:8001/lti1p3/.well-known/jwks/deliver.json"</parameter>
          <parameter key="order">1</parameter>
        </parameter>
      </parameter>
    </parameter>
    <parameter key="console.command.ids" type="collection">
      <parameter>console.command.public_alias.OAT\Bundle\HealthCheckBundle\Command\HealthCheckCommand</parameter>
    </parameter>
  </parameters>
  <services>
    <service id="service_container" class="Symfony\Component\DependencyInjection\ContainerInterface" public="true" synthetic="true"/>
    <service id="kernel" class="App\Kernel" public="true" synthetic="true" autoconfigure="true">
      <tag name="controller.service_arguments"/>
      <tag name="routing.route_loader"/>
    </service>
    <service id="nyholm.psr7.psr17_factory" class="Nyholm\Psr7\Factory\Psr17Factory"/>
    <service id="nyholm.psr7.httplug_factory" class="Nyholm\Psr7\Factory\HttplugFactory"/>
    <service id="Symfony\Bridge\PsrHttpMessage\Factory\HttpFoundationFactory" class="Symfony\Bridge\PsrHttpMessage\Factory\HttpFoundationFactory" autowire="true" autoconfigure="true"/>
    <service id="Symfony\Bridge\PsrHttpMessage\Factory\PsrHttpFactory" class="Symfony\Bridge\PsrHttpMessage\Factory\PsrHttpFactory" autowire="true" autoconfigure="true">
      <argument type="service" id="nyholm.psr7.psr17_factory"/>
      <argument type="service" id="nyholm.psr7.psr17_factory"/>
      <argument type="service" id="nyholm.psr7.psr17_factory"/>
      <argument type="service" id="nyholm.psr7.psr17_factory"/>
    </service>
    <service id="App\Action\Api\Platform\Message\CreateMessageLaunchAction" class="App\Action\Api\Platform\Message\CreateMessageLaunchAction" public="true" autowire="true" autoconfigure="true">
      <tag name="controller.service_arguments"/>
      <argument type="service" id="App\Service\Platform\Message\LtiMessageBuilder"/>
    </service>
    <service id="App\Action\Api\Platform\Nrps\CreateMembershipAction" class="App\Action\Api\Platform\Nrps\CreateMembershipAction" public="true" autowire="true" autoconfigure="true">
      <tag name="controller.service_arguments"/>
      <argument type="service" id="OAT\Library\Lti1p3Nrps\Serializer\MembershipSerializerInterface"/>
      <argument type="service" id="App\Nrps\MembershipRepository"/>
      <argument type="service" id="App\Generator\UrlGenerator"/>
    </service>
    <service id="App\Action\Api\Platform\Nrps\DeleteMembershipAction" class="App\Action\Api\Platform\Nrps\DeleteMembershipAction" public="true" autowire="true" autoconfigure="true">
      <tag name="controller.service_arguments"/>
      <argument type="service" id="App\Nrps\MembershipRepository"/>
    </service>
    <service id="App\Action\Api\Platform\Nrps\GetMembershipAction" class="App\Action\Api\Platform\Nrps\GetMembershipAction" public="true" autowire="true" autoconfigure="true">
      <tag name="controller.service_arguments"/>
      <argument type="service" id="App\Nrps\MembershipRepository"/>
      <argument type="service" id="App\Nrps\DefaultMembershipFactory"/>
      <argument type="service" id="App\Generator\UrlGenerator"/>
    </service>
    <service id="App\Action\Api\Platform\Nrps\ListMembershipsAction" class="App\Action\Api\Platform\Nrps\ListMembershipsAction" public="true" autowire="true" autoconfigure="true">
      <tag name="controller.service_arguments"/>
      <argument type="service" id="App\Nrps\MembershipRepository"/>
      <argument type="service" id="App\Nrps\DefaultMembershipFactory"/>
      <argument type="service" id="App\Generator\UrlGenerator"/>
    </service>
    <service id="App\Action\Api\Platform\Nrps\UpdateMembershipAction" class="App\Action\Api\Platform\Nrps\UpdateMembershipAction" public="true" autowire="true" autoconfigure="true">
      <tag name="controller.service_arguments"/>
      <argument type="service" id="OAT\Library\Lti1p3Nrps\Factory\Member\MemberFactoryInterface"/>
      <argument type="service" id="App\Nrps\MembershipRepository"/>
      <argument type="service" id="App\Generator\UrlGenerator"/>
    </service>
    <service id="App\Action\Api\Platform\Proctoring\CreateAssessmentAction" class="App\Action\Api\Platform\Proctoring\CreateAssessmentAction" public="true" autowire="true" autoconfigure="true">
      <tag name="controller.service_arguments"/>
      <argument type="service" id="App\Proctoring\AssessmentRepository"/>
      <argument type="service" id="App\Generator\UrlGenerator"/>
    </service>
    <service id="App\Action\Api\Platform\Proctoring\DeleteAssessmentAction" class="App\Action\Api\Platform\Proctoring\DeleteAssessmentAction" public="true" autowire="true" autoconfigure="true">
      <tag name="controller.service_arguments"/>
      <argument type="service" id="App\Proctoring\AssessmentRepository"/>
    </service>
    <service id="App\Action\Api\Platform\Proctoring\GetAssessmentAction" class="App\Action\Api\Platform\Proctoring\GetAssessmentAction" public="true" autowire="true" autoconfigure="true">
      <tag name="controller.service_arguments"/>
      <argument type="service" id="App\Proctoring\AssessmentRepository"/>
      <argument type="service" id="App\Generator\UrlGenerator"/>
    </service>
    <service id="App\Action\Api\Platform\Proctoring\ListAssessmentsAction" class="App\Action\Api\Platform\Proctoring\ListAssessmentsAction" public="true" autowire="true" autoconfigure="true">
      <tag name="controller.service_arguments"/>
      <argument type="service" id="App\Proctoring\AssessmentRepository"/>
      <argument type="service" id="App\Generator\UrlGenerator"/>
    </service>
    <service id="App\Action\Api\Platform\Proctoring\UpdateAssessmentAction" class="App\Action\Api\Platform\Proctoring\UpdateAssessmentAction" public="true" autowire="true" autoconfigure="true">
      <tag name="controller.service_arguments"/>
      <argument type="service" id="App\Proctoring\AssessmentRepository"/>
      <argument type="service" id="App\Generator\UrlGenerator"/>
    </service>
    <service id="App\Action\DashboardAction" class="App\Action\DashboardAction" public="true" autowire="true" autoconfigure="true">
      <tag name="controller.service_arguments"/>
      <argument type="service" id="parameter_bag"/>
      <argument type="service" id="twig"/>
      <argument type="service" id="App\Statistics\PlatformStatisticsCollector"/>
    </service>
    <service id="App\Action\Platform\Ags\CreateLineItemAction" class="App\Action\Platform\Ags\CreateLineItemAction" public="true" autowire="true" autoconfigure="true">
      <tag name="controller.service_arguments"/>
      <argument type="service" id="session.flash_bag"/>
      <argument type="service" id="OAT\Library\Lti1p3Ags\Repository\LineItemRepositoryInterface"/>
      <argument type="service" id="twig"/>
      <argument type="service" id="form.factory"/>
      <argument type="service" id="router.default"/>
    </service>
    <service id="App\Action\Platform\Ags\DeleteLineItemAction" class="App\Action\Platform\Ags\DeleteLineItemAction" public="true" autowire="true" autoconfigure="true">
      <tag name="controller.service_arguments"/>
      <argument type="service" id="session.flash_bag"/>
      <argument type="service" id="OAT\Library\Lti1p3Ags\Repository\LineItemRepositoryInterface"/>
      <argument type="service" id="router.default"/>
    </service>
    <service id="App\Action\Platform\Ags\EditLineItemAction" class="App\Action\Platform\Ags\EditLineItemAction" public="true" autowire="true" autoconfigure="true">
      <tag name="controller.service_arguments"/>
      <argument type="service" id="session.flash_bag"/>
      <argument type="service" id="OAT\Library\Lti1p3Ags\Repository\LineItemRepositoryInterface"/>
      <argument type="service" id="twig"/>
      <argument type="service" id="form.factory"/>
      <argument type="service" id="router.default"/>
    </service>
    <service id="App\Action\Platform\Ags\ListLineItemsAction" class="App\Action\Platform\Ags\ListLineItemsAction" public="true" autowire="true" autoconfigure="true">
      <tag name="controller.service_arguments"/>
      <argument type="service" id="OAT\Library\Lti1p3Ags\Repository\LineItemRepositoryInterface"/>
      <argument type="service" id="twig"/>
    </service>
    <service id="App\Action\Platform\Ags\ViewLineItemAction" class="App\Action\Platform\Ags\ViewLineItemAction" public="true" autowire="true" autoconfigure="true">
      <tag name="controller.service_arguments"/>
      <argument type="service" id="OAT\Library\Lti1p3Ags\Repository\LineItemRepositoryInterface"/>
      <argument type="service" id="OAT\Library\Lti1p3Ags\Repository\ScoreRepositoryInterface"/>
      <argument type="service" id="OAT\Library\Lti1p3Ags\Repository\ResultRepositoryInterface"/>
      <argument type="service" id="twig"/>
    </service>
    <service id="App\Action\Platform\Ajax\RegistrationDefaultLaunchUrlAction" class="App\Action\Platform\Ajax\RegistrationDefaultLaunchUrlAction" public="true" autowire="true" autoconfigure="true">
      <tag name="controller.service_arguments"/>
      <argument type="service" id="OAT\Bundle\Lti1p3Bundle\Repository\RegistrationRepository"/>
    </service>
    <service id="App\Action\Platform\BasicOutcome\DeleteBasicOutcomeAction" class="App\Action\Platform\BasicOutcome\DeleteBasicOutcomeAction" public="true" autowire="true" autoconfigure="true">
      <tag name="controller.service_arguments"/>
      <argument type="service" id="session.flash_bag"/>
      <argument type="service" id="cache.app"/>
      <argument type="service" id="router.default"/>
    </service>
    <service id="App\Action\Platform\BasicOutcome\ListBasicOutcomesAction" class="App\Action\Platform\BasicOutcome\ListBasicOutcomesAction" public="true" autowire="true" autoconfigure="true">
      <tag name="controller.service_arguments"/>
      <argument type="service" id="cache.app"/>
      <argument type="service" id="twig"/>
    </service>
    <service id="App\Action\Platform\Message\DeepLinkingLaunchAction" class="App\Action\Platform\Message\DeepLinkingLaunchAction" public="true" autowire="true" autoconfigure="true">
      <tag name="controller.service_arguments"/>
      <argument type="service" id="session.flash_bag"/>
      <argument type="service" id="parameter_bag"/>
      <argument type="service" id="router.default"/>
      <argument type="service" id="twig"/>
      <argument type="service" id="form.factory"/>
      <argument type="service" id="App\Form\Generator\FormShareUrlGenerator"/>
      <argument type="service" id="App\Generator\UrlGenerator"/>
      <argument type="service" id="OAT\Library\Lti1p3DeepLinking\Message\Launch\Builder\DeepLinkingLaunchRequestBuilder"/>
    </service>
    <service id="App\Action\Platform\Message\DeepLinkingReturnAction" class="App\Action\Platform\Message\DeepLinkingReturnAction" public="true" autowire="true" autoconfigure="true">
      <tag name="controller.service_arguments"/>
      <argument type="service" id="session.flash_bag"/>
      <argument type="service" id="OAT\Library\Lti1p3DeepLinking\Factory\ResourceCollectionFactoryInterface"/>
      <argument type="service" id="twig"/>
      <argument type="service" id="security.helper"/>
    </service>
    <service id="App\Action\Platform\Message\LtiResourceLinkLaunchAction" class="App\Action\Platform\Message\LtiResourceLinkLaunchAction" public="true" autowire="true" autoconfigure="true">
      <tag name="controller.service_arguments"/>
      <argument type="service" id="session.flash_bag"/>
      <argument type="service" id="parameter_bag"/>
      <argument type="service" id="twig"/>
      <argument type="service" id="form.factory"/>
      <argument type="service" id="App\Form\Generator\FormShareUrlGenerator"/>
      <argument type="service" id="OAT\Library\Lti1p3Core\Message\Launch\Builder\LtiResourceLinkLaunchRequestBuilder"/>
    </service>
    <service id="App\Action\Platform\Message\ProctoringEndAction" class="App\Action\Platform\Message\ProctoringEndAction" public="true" autowire="true" autoconfigure="true">
      <tag name="controller.service_arguments"/>
      <argument type="service" id="OAT\Bundle\Lti1p3Bundle\Repository\RegistrationRepository"/>
      <argument type="service" id="OAT\Library\Lti1p3Proctoring\Message\Launch\Builder\EndAssessmentLaunchRequestBuilder"/>
    </service>
    <service id="App\Action\Platform\Message\ProctoringLaunchAction" class="App\Action\Platform\Message\ProctoringLaunchAction" public="true" autowire="true" autoconfigure="true">
      <tag name="controller.service_arguments"/>
      <argument type="service" id="session.flash_bag"/>
      <argument type="service" id="parameter_bag"/>
      <argument type="service" id="twig"/>
      <argument type="service" id="form.factory"/>
      <argument type="service" id="App\Form\Generator\FormShareUrlGenerator"/>
      <argument type="service" id="OAT\Library\Lti1p3Proctoring\Message\Launch\Builder\StartProctoringLaunchRequestBuilder"/>
    </service>
    <service id="App\Action\Platform\Message\ProctoringReturnAction" class="App\Action\Platform\Message\ProctoringReturnAction" public="true" autowire="true" autoconfigure="true">
      <tag name="controller.service_arguments"/>
      <argument type="service" id="session.flash_bag"/>
      <argument type="service" id="twig"/>
      <argument type="service" id="security.helper"/>
    </service>
    <service id="App\Action\Platform\Message\SubmissionReviewLaunchAction" class="App\Action\Platform\Message\SubmissionReviewLaunchAction" public="true" autowire="true" autoconfigure="true">
      <tag name="controller.service_arguments"/>
      <argument type="service" id="session.flash_bag"/>
      <argument type="service" id="parameter_bag"/>
      <argument type="service" id="twig"/>
      <argument type="service" id="form.factory"/>
      <argument type="service" id="App\Form\Generator\FormShareUrlGenerator"/>
      <argument type="service" id="OAT\Library\Lti1p3SubmissionReview\Message\Launch\Builder\SubmissionReviewLaunchRequestBuilder"/>
    </service>
    <service id="App\Action\Platform\Nrps\CreateMembershipAction" class="App\Action\Platform\Nrps\CreateMembershipAction" public="true" autowire="true" autoconfigure="true">
      <tag name="controller.service_arguments"/>
      <argument type="service" id="session.flash_bag"/>
      <argument type="service" id="App\Nrps\MembershipRepository"/>
      <argument type="service" id="twig"/>
      <argument type="service" id="form.factory"/>
      <argument type="service" id="router.default"/>
      <argument type="service" id="OAT\Library\Lti1p3Nrps\Factory\Member\MemberFactoryInterface"/>
    </service>
    <service id="App\Action\Platform\Nrps\DeleteMembershipAction" class="App\Action\Platform\Nrps\DeleteMembershipAction" public="true" autowire="true" autoconfigure="true">
      <tag name="controller.service_arguments"/>
      <argument type="service" id="session.flash_bag"/>
      <argument type="service" id="App\Nrps\MembershipRepository"/>
      <argument type="service" id="router.default"/>
    </service>
    <service id="App\Action\Platform\Nrps\EditMembershipAction" class="App\Action\Platform\Nrps\EditMembershipAction" public="true" autowire="true" autoconfigure="true">
      <tag name="controller.service_arguments"/>
      <argument type="service" id="session.flash_bag"/>
      <argument type="service" id="App\Nrps\MembershipRepository"/>
      <argument type="service" id="twig"/>
      <argument type="service" id="form.factory"/>
      <argument type="service" id="router.default"/>
      <argument type="service" id="OAT\Library\Lti1p3Nrps\Factory\Member\MemberFactoryInterface"/>
    </service>
    <service id="App\Action\Platform\Nrps\ListMembershipsAction" class="App\Action\Platform\Nrps\ListMembershipsAction" public="true" autowire="true" autoconfigure="true">
      <tag name="controller.service_arguments"/>
      <argument type="service" id="App\Nrps\MembershipRepository"/>
      <argument type="service" id="App\Nrps\DefaultMembershipFactory"/>
      <argument type="service" id="twig"/>
    </service>
    <service id="App\Action\Platform\Nrps\ViewMembershipAction" class="App\Action\Platform\Nrps\ViewMembershipAction" public="true" autowire="true" autoconfigure="true">
      <tag name="controller.service_arguments"/>
      <argument type="service" id="App\Nrps\MembershipRepository"/>
      <argument type="service" id="twig"/>
      <argument type="service" id="App\Nrps\DefaultMembershipFactory"/>
    </service>
    <service id="App\Action\Platform\Proctoring\CreateAssessmentAction" class="App\Action\Platform\Proctoring\CreateAssessmentAction" public="true" autowire="true" autoconfigure="true">
      <tag name="controller.service_arguments"/>
      <argument type="service" id="session.flash_bag"/>
      <argument type="service" id="App\Proctoring\AssessmentRepository"/>
      <argument type="service" id="twig"/>
      <argument type="service" id="form.factory"/>
      <argument type="service" id="router.default"/>
    </service>
    <service id="App\Action\Platform\Proctoring\DeleteAssessmentAction" class="App\Action\Platform\Proctoring\DeleteAssessmentAction" public="true" autowire="true" autoconfigure="true">
      <tag name="controller.service_arguments"/>
      <argument type="service" id="session.flash_bag"/>
      <argument type="service" id="App\Proctoring\AssessmentRepository"/>
      <argument type="service" id="router.default"/>
    </service>
    <service id="App\Action\Platform\Proctoring\EditAssessmentAction" class="App\Action\Platform\Proctoring\EditAssessmentAction" public="true" autowire="true" autoconfigure="true">
      <tag name="controller.service_arguments"/>
      <argument type="service" id="session.flash_bag"/>
      <argument type="service" id="App\Proctoring\AssessmentRepository"/>
      <argument type="service" id="twig"/>
      <argument type="service" id="form.factory"/>
      <argument type="service" id="router.default"/>
    </service>
    <service id="App\Action\Platform\Proctoring\ListAssessmentsAction" class="App\Action\Platform\Proctoring\ListAssessmentsAction" public="true" autowire="true" autoconfigure="true">
      <tag name="controller.service_arguments"/>
      <argument type="service" id="App\Proctoring\AssessmentRepository"/>
      <argument type="service" id="twig"/>
    </service>
    <service id="App\Action\Platform\Proctoring\ViewAssessmentAction" class="App\Action\Platform\Proctoring\ViewAssessmentAction" public="true" autowire="true" autoconfigure="true">
      <tag name="controller.service_arguments"/>
      <argument type="service" id="App\Proctoring\AssessmentRepository"/>
      <argument type="service" id="twig"/>
    </service>
    <service id="App\Action\Tool\Ajax\AcsServiceClientAction" class="App\Action\Tool\Ajax\AcsServiceClientAction" public="true" autowire="true" autoconfigure="true">
      <tag name="controller.service_arguments"/>
      <argument type="service" id="twig"/>
      <argument type="service" id="OAT\Library\Lti1p3Proctoring\Service\Client\AcsServiceClient"/>
      <argument type="service" id="OAT\Bundle\Lti1p3Bundle\Repository\RegistrationRepository"/>
    </service>
    <service id="App\Action\Tool\Ajax\Ags\CreateLineItemServiceClientAction" class="App\Action\Tool\Ajax\Ags\CreateLineItemServiceClientAction" public="true" autowire="true" autoconfigure="true">
      <tag name="controller.service_arguments"/>
      <argument type="service" id="twig"/>
      <argument type="service" id="OAT\Library\Lti1p3Ags\Service\LineItem\Client\LineItemServiceClient"/>
      <argument type="service" id="OAT\Bundle\Lti1p3Bundle\Repository\RegistrationRepository"/>
    </service>
    <service id="App\Action\Tool\Ajax\Ags\DeleteLineItemServiceClientAction" class="App\Action\Tool\Ajax\Ags\DeleteLineItemServiceClientAction" public="true" autowire="true" autoconfigure="true">
      <tag name="controller.service_arguments"/>
      <argument type="service" id="twig"/>
      <argument type="service" id="OAT\Library\Lti1p3Ags\Service\LineItem\Client\LineItemServiceClient"/>
      <argument type="service" id="OAT\Bundle\Lti1p3Bundle\Repository\RegistrationRepository"/>
    </service>
    <service id="App\Action\Tool\Ajax\Ags\ListLineItemsServiceClientAction" class="App\Action\Tool\Ajax\Ags\ListLineItemsServiceClientAction" public="true" autowire="true" autoconfigure="true">
      <tag name="controller.service_arguments"/>
      <argument type="service" id="twig"/>
      <argument type="service" id="OAT\Library\Lti1p3Ags\Service\LineItem\Client\LineItemServiceClient"/>
      <argument type="service" id="OAT\Bundle\Lti1p3Bundle\Repository\RegistrationRepository"/>
    </service>
    <service id="App\Action\Tool\Ajax\Ags\ListResultsServiceClientAction" class="App\Action\Tool\Ajax\Ags\ListResultsServiceClientAction" public="true" autowire="true" autoconfigure="true">
      <tag name="controller.service_arguments"/>
      <argument type="service" id="twig"/>
      <argument type="service" id="OAT\Library\Lti1p3Ags\Service\LineItem\Client\LineItemServiceClient"/>
      <argument type="service" id="OAT\Library\Lti1p3Ags\Service\Result\Client\ResultServiceClient"/>
      <argument type="service" id="OAT\Bundle\Lti1p3Bundle\Repository\RegistrationRepository"/>
    </service>
    <service id="App\Action\Tool\Ajax\Ags\PrepareCreateLineItemServiceClientAction" class="App\Action\Tool\Ajax\Ags\PrepareCreateLineItemServiceClientAction" public="true" autowire="true" autoconfigure="true">
      <tag name="controller.service_arguments"/>
      <argument type="service" id="twig"/>
      <argument type="service" id="OAT\Bundle\Lti1p3Bundle\Repository\RegistrationRepository"/>
    </service>
    <service id="App\Action\Tool\Ajax\Ags\PrepareResultsServiceClientAction" class="App\Action\Tool\Ajax\Ags\PrepareResultsServiceClientAction" public="true" autowire="true" autoconfigure="true">
      <tag name="controller.service_arguments"/>
      <argument type="service" id="twig"/>
      <argument type="service" id="OAT\Library\Lti1p3Ags\Service\LineItem\Client\LineItemServiceClient"/>
      <argument type="service" id="OAT\Bundle\Lti1p3Bundle\Repository\RegistrationRepository"/>
    </service>
    <service id="App\Action\Tool\Ajax\Ags\PrepareScoreServiceClientAction" class="App\Action\Tool\Ajax\Ags\PrepareScoreServiceClientAction" public="true" autowire="true" autoconfigure="true">
      <tag name="controller.service_arguments"/>
      <argument type="service" id="twig"/>
      <argument type="service" id="OAT\Library\Lti1p3Ags\Service\LineItem\Client\LineItemServiceClient"/>
      <argument type="service" id="OAT\Bundle\Lti1p3Bundle\Repository\RegistrationRepository"/>
    </service>
    <service id="App\Action\Tool\Ajax\Ags\PrepareUpdateLineItemServiceClientAction" class="App\Action\Tool\Ajax\Ags\PrepareUpdateLineItemServiceClientAction" public="true" autowire="true" autoconfigure="true">
      <tag name="controller.service_arguments"/>
      <argument type="service" id="twig"/>
      <argument type="service" id="OAT\Library\Lti1p3Ags\Service\LineItem\Client\LineItemServiceClient"/>
      <argument type="service" id="OAT\Bundle\Lti1p3Bundle\Repository\RegistrationRepository"/>
    </service>
    <service id="App\Action\Tool\Ajax\Ags\PublishScoreServiceClientAction" class="App\Action\Tool\Ajax\Ags\PublishScoreServiceClientAction" public="true" autowire="true" autoconfigure="true">
      <tag name="controller.service_arguments"/>
      <argument type="service" id="twig"/>
      <argument type="service" id="OAT\Library\Lti1p3Ags\Service\LineItem\Client\LineItemServiceClient"/>
      <argument type="service" id="OAT\Library\Lti1p3Ags\Service\Score\Client\ScoreServiceClient"/>
      <argument type="service" id="OAT\Bundle\Lti1p3Bundle\Repository\RegistrationRepository"/>
    </service>
    <service id="App\Action\Tool\Ajax\Ags\UpdateLineItemServiceClientAction" class="App\Action\Tool\Ajax\Ags\UpdateLineItemServiceClientAction" public="true" autowire="true" autoconfigure="true">
      <tag name="controller.service_arguments"/>
      <argument type="service" id="twig"/>
      <argument type="service" id="OAT\Library\Lti1p3Ags\Service\LineItem\Client\LineItemServiceClient"/>
      <argument type="service" id="OAT\Bundle\Lti1p3Bundle\Repository\RegistrationRepository"/>
    </service>
    <service id="App\Action\Tool\Ajax\Ags\ViewLineItemServiceClientAction" class="App\Action\Tool\Ajax\Ags\ViewLineItemServiceClientAction" public="true" autowire="true" autoconfigure="true">
      <tag name="controller.service_arguments"/>
      <argument type="service" id="twig"/>
      <argument type="service" id="OAT\Library\Lti1p3Ags\Service\LineItem\Client\LineItemServiceClient"/>
      <argument type="service" id="OAT\Bundle\Lti1p3Bundle\Repository\RegistrationRepository"/>
    </service>
    <service id="App\Action\Tool\Ajax\BasicOutcomeServiceClientAction" class="App\Action\Tool\Ajax\BasicOutcomeServiceClientAction" public="true" autowire="true" autoconfigure="true">
      <tag name="controller.service_arguments"/>
      <argument type="service" id="twig"/>
      <argument type="service" id="OAT\Library\Lti1p3BasicOutcome\Service\Client\BasicOutcomeServiceClient"/>
      <argument type="service" id="OAT\Bundle\Lti1p3Bundle\Repository\RegistrationRepository"/>
    </service>
    <service id="App\Action\Tool\Ajax\LtiServiceClientAutocompleteAction" class="App\Action\Tool\Ajax\LtiServiceClientAutocompleteAction" public="true" autowire="true" autoconfigure="true">
      <tag name="controller.service_arguments"/>
    </service>
    <service id="App\Action\Tool\Ajax\NrpsServiceClientAction" class="App\Action\Tool\Ajax\NrpsServiceClientAction" public="true" autowire="true" autoconfigure="true">
      <tag name="controller.service_arguments"/>
      <argument type="service" id="twig"/>
      <argument type="service" id="OAT\Library\Lti1p3Nrps\Service\Client\MembershipServiceClient"/>
      <argument type="service" id="OAT\Bundle\Lti1p3Bundle\Repository\RegistrationRepository"/>
    </service>
    <service id="App\Action\Tool\Message\DeepLinkingResponseAction" class="App\Action\Tool\Message\DeepLinkingResponseAction" public="true" autowire="true" autoconfigure="true">
      <tag name="controller.service_arguments"/>
      <argument type="service" id="OAT\Library\Lti1p3DeepLinking\Factory\ResourceCollectionFactoryInterface"/>
      <argument type="service" id="parameter_bag"/>
      <argument type="service" id="OAT\Bundle\Lti1p3Bundle\Repository\RegistrationRepository"/>
      <argument type="service" id="OAT\Library\Lti1p3DeepLinking\Message\Launch\Builder\DeepLinkingLaunchResponseBuilder"/>
    </service>
    <service id="App\Action\Tool\Message\MessageLaunchAction" class="App\Action\Tool\Message\MessageLaunchAction" public="true" autowire="true" autoconfigure="true">
      <tag name="controller.service_arguments"/>
      <argument type="service" id="session.flash_bag"/>
      <argument type="service" id="parameter_bag"/>
      <argument type="service" id="twig"/>
      <argument type="service" id="security.helper"/>
    </service>
    <service id="App\Action\Tool\Message\ProctoringResponseAction" class="App\Action\Tool\Message\ProctoringResponseAction" public="true" autowire="true" autoconfigure="true">
      <tag name="controller.service_arguments"/>
      <argument type="service" id="OAT\Bundle\Lti1p3Bundle\Repository\RegistrationRepository"/>
      <argument type="service" id="OAT\Library\Lti1p3Proctoring\Message\Launch\Builder\StartAssessmentLaunchRequestBuilder"/>
    </service>
    <service id="App\Action\Tool\Service\LtiServiceClientAction" class="App\Action\Tool\Service\LtiServiceClientAction" public="true" autowire="true" autoconfigure="true">
      <tag name="controller.service_arguments"/>
      <argument type="service" id="session.flash_bag"/>
      <argument type="service" id="twig"/>
      <argument type="service" id="form.factory"/>
      <argument type="service" id="App\Form\Generator\FormShareUrlGenerator"/>
      <argument type="service" id="OAT\Library\Lti1p3Core\Service\Client\LtiServiceClientInterface"/>
    </service>
    <service id="App\Action\Util\PhpInfoAction" class="App\Action\Util\PhpInfoAction" public="true" autowire="true" autoconfigure="true">
      <tag name="controller.service_arguments"/>
    </service>
    <service id="App\Ags\LineItemRepository" class="App\Ags\LineItemRepository" autowire="true" autoconfigure="true">
      <argument type="service" id="cache.app"/>
      <argument type="service" id="request_stack"/>
      <argument type="service" id="OAT\Library\Lti1p3Core\Util\Generator\IdGeneratorInterface"/>
      <argument type="service" id="OAT\Library\Lti1p3Ags\Repository\ScoreRepositoryInterface"/>
      <argument type="service" id="OAT\Library\Lti1p3Ags\Repository\ResultRepositoryInterface"/>
    </service>
    <service id="App\Ags\ResultRepository" class="App\Ags\ResultRepository" autowire="true" autoconfigure="true">
      <argument type="service" id="cache.app"/>
      <argument type="service" id="request_stack"/>
      <argument type="service" id="OAT\Library\Lti1p3Core\Util\Generator\IdGeneratorInterface"/>
    </service>
    <service id="App\Ags\ScoreRepository" class="App\Ags\ScoreRepository" autowire="true" autoconfigure="true">
      <argument type="service" id="cache.app"/>
      <argument type="service" id="OAT\Library\Lti1p3Ags\Repository\ResultRepositoryInterface"/>
    </service>
    <service id="App\BasicOutcome\BasicOutcomeProcessor" class="App\BasicOutcome\BasicOutcomeProcessor" autowire="true" autoconfigure="true">
      <argument type="service" id="cache.app"/>
    </service>
    <service id="App\Command\Platform\Message\CreateMessageLaunchCommand" class="App\Command\Platform\Message\CreateMessageLaunchCommand" autowire="true" autoconfigure="true">
      <tag name="console.command"/>
      <tag name="container.no_preload"/>
      <argument type="service" id="App\Service\Platform\Message\LtiMessageBuilder"/>
      <call method="setName">
        <argument>devkit:create:message:launch</argument>
      </call>
    </service>
    <service id="App\EventSubscriber\ErrorHandlerSubscriber" class="App\EventSubscriber\ErrorHandlerSubscriber" autowire="true" autoconfigure="true">
      <tag name="kernel.event_subscriber"/>
      <argument type="service" id="twig"/>
      <argument type="service" id="monolog.logger"/>
    </service>
    <service id="App\Factory\ScopeRepositoryFactory" class="App\Factory\ScopeRepositoryFactory" autowire="true" autoconfigure="true">
      <argument type="service" id="parameter_bag"/>
    </service>
    <service id="App\Form\Generator\FormShareUrlGenerator" class="App\Form\Generator\FormShareUrlGenerator" autowire="true" autoconfigure="true">
      <argument type="service" id="App\Generator\UrlGenerator"/>
    </service>
    <service id="App\Form\Platform\Ags\LineItemType" class="App\Form\Platform\Ags\LineItemType" autowire="true" autoconfigure="true">
      <tag name="form.type"/>
    </service>
    <service id="App\Form\Platform\Message\DeepLinkingLaunchType" class="App\Form\Platform\Message\DeepLinkingLaunchType" autowire="true" autoconfigure="true">
      <tag name="form.type"/>
      <argument type="service" id="OAT\Bundle\Lti1p3Bundle\Repository\RegistrationRepository"/>
      <argument type="service" id="parameter_bag"/>
    </service>
    <service id="App\Form\Platform\Message\LtiResourceLinkLaunchType" class="App\Form\Platform\Message\LtiResourceLinkLaunchType" autowire="true" autoconfigure="true">
      <tag name="form.type"/>
      <argument type="service" id="OAT\Bundle\Lti1p3Bundle\Repository\RegistrationRepository"/>
      <argument type="service" id="parameter_bag"/>
    </service>
    <service id="App\Form\Platform\Message\ProctoringLaunchType" class="App\Form\Platform\Message\ProctoringLaunchType" autowire="true" autoconfigure="true">
      <tag name="form.type"/>
      <argument type="service" id="OAT\Bundle\Lti1p3Bundle\Repository\RegistrationRepository"/>
      <argument type="service" id="parameter_bag"/>
      <argument type="service" id="App\Generator\UrlGenerator"/>
    </service>
    <service id="App\Form\Platform\Message\SubmissionReviewLaunchType" class="App\Form\Platform\Message\SubmissionReviewLaunchType" autowire="true" autoconfigure="true">
      <tag name="form.type"/>
      <argument type="service" id="OAT\Bundle\Lti1p3Bundle\Repository\RegistrationRepository"/>
      <argument type="service" id="parameter_bag"/>
    </service>
    <service id="App\Form\Platform\Nrps\MembershipType" class="App\Form\Platform\Nrps\MembershipType" autowire="true" autoconfigure="true">
      <tag name="form.type"/>
    </service>
    <service id="App\Form\Platform\Proctoring\AssessmentType" class="App\Form\Platform\Proctoring\AssessmentType" autowire="true" autoconfigure="true">
      <tag name="form.type"/>
    </service>
    <service id="App\Form\Tool\Service\LtiServiceClientType" class="App\Form\Tool\Service\LtiServiceClientType" autowire="true" autoconfigure="true">
      <tag name="form.type"/>
      <argument type="service" id="OAT\Bundle\Lti1p3Bundle\Repository\RegistrationRepository"/>
      <argument type="service" id="parameter_bag"/>
    </service>
    <service id="App\Generator\UrlGenerator" class="App\Generator\UrlGenerator" autowire="true" autoconfigure="true">
      <argument type="service" id="router.default"/>
      <argument type="service" id="parameter_bag"/>
    </service>
    <service id="App\Nrps\DefaultMembershipFactory" class="App\Nrps\DefaultMembershipFactory" autowire="true" autoconfigure="true">
      <argument type="service" id="parameter_bag"/>
      <argument type="service" id="OAT\Library\Lti1p3Core\User\UserIdentityFactoryInterface"/>
    </service>
    <service id="App\Nrps\MembershipRepository" class="App\Nrps\MembershipRepository" autowire="true" autoconfigure="true">
      <argument type="service" id="cache.app"/>
    </service>
    <service id="App\Nrps\MembershipServiceServerBuilder" class="App\Nrps\MembershipServiceServerBuilder" autowire="true" autoconfigure="true">
      <argument type="service" id="request_stack"/>
      <argument type="service" id="App\Nrps\MembershipRepository"/>
      <argument type="service" id="App\Nrps\DefaultMembershipFactory"/>
    </service>
    <service id="App\Proctoring\AcsServiceServerControlProcessor" class="App\Proctoring\AcsServiceServerControlProcessor" autowire="true" autoconfigure="true">
      <argument type="service" id="request_stack"/>
      <argument type="service" id="App\Proctoring\AssessmentRepository"/>
    </service>
    <service id="App\Proctoring\Assessment" class="App\Proctoring\Assessment" autowire="true" autoconfigure="true"/>
    <service id="App\Proctoring\AssessmentRepository" class="App\Proctoring\AssessmentRepository" autowire="true" autoconfigure="true">
      <argument type="service" id="cache.app"/>
    </service>
    <service id="App\Request\Encoder\Base64UrlEncoder" class="App\Request\Encoder\Base64UrlEncoder" autowire="true" autoconfigure="true"/>
    <service id="App\Request\ParamConverter\AgsLineItemIdentifierConverter" class="App\Request\ParamConverter\AgsLineItemIdentifierConverter" autowire="true" autoconfigure="true">
      <tag name="request.param_converter"/>
    </service>
    <service id="App\Security\Api\Firewall\ApiKeyListener" class="App\Security\Api\Firewall\ApiKeyListener" autowire="true" autoconfigure="true">
      <argument type="service" id="security.token_storage"/>
      <argument type="service" id="security.authentication.manager"/>
      <argument type="service" id="monolog.logger"/>
    </service>
    <service id="App\Security\Api\Provider\ApiKeyProvider" class="App\Security\Api\Provider\ApiKeyProvider" autowire="true" autoconfigure="true">
      <argument type="service" id="parameter_bag"/>
    </service>
    <service id="App\Security\Api\Token\ApiKeyToken" class="App\Security\Api\Token\ApiKeyToken" autowire="true" autoconfigure="true"/>
    <service id="App\Security\User\UserAuthenticator" class="App\Security\User\UserAuthenticator" autowire="true" autoconfigure="true">
      <argument type="service" id="OAT\Library\Lti1p3Core\User\UserIdentityFactoryInterface"/>
      <argument type="service" id="parameter_bag"/>
    </service>
    <service id="App\Service\Platform\Message\LtiMessageBuilder" class="App\Service\Platform\Message\LtiMessageBuilder" autowire="true" autoconfigure="true">
      <argument type="service" id="OAT\Bundle\Lti1p3Bundle\Repository\RegistrationRepository"/>
      <argument type="service" id="App\Generator\UrlGenerator"/>
      <argument type="service" id="parameter_bag"/>
      <argument type="service" id="OAT\Library\Lti1p3Core\Message\Launch\Builder\LtiResourceLinkLaunchRequestBuilder"/>
      <argument type="service" id="OAT\Library\Lti1p3DeepLinking\Message\Launch\Builder\DeepLinkingLaunchRequestBuilder"/>
      <argument type="service" id="OAT\Library\Lti1p3Proctoring\Message\Launch\Builder\StartProctoringLaunchRequestBuilder"/>
      <argument type="service" id="OAT\Library\Lti1p3SubmissionReview\Message\Launch\Builder\SubmissionReviewLaunchRequestBuilder"/>
    </service>
    <service id="App\Statistics\PlatformStatisticsCollector" class="App\Statistics\PlatformStatisticsCollector" autowire="true" autoconfigure="true">
      <argument type="service" id="cache.app"/>
    </service>
    <service id="App\Twig\AppExtension" class="App\Twig\AppExtension" autowire="true" autoconfigure="true">
      <tag name="twig.extension"/>
      <argument type="service" id="request_stack"/>
      <argument type="service" id="App\Generator\UrlGenerator"/>
      <argument type="service" id="parameter_bag"/>
    </service>
    <service id="OAT\Library\Lti1p3Core\Util\Generator\IdGeneratorInterface" class="OAT\Library\Lti1p3Core\Util\Generator\IdGenerator" autowire="true" autoconfigure="true"/>
    <service id="OAT\Library\Lti1p3Core\Security\User\UserAuthenticatorInterface" class="App\Security\User\UserAuthenticator" autowire="true" autoconfigure="true">
      <argument type="service" id="OAT\Library\Lti1p3Core\User\UserIdentityFactoryInterface"/>
      <argument type="service" id="parameter_bag"/>
    </service>
    <service id="OAT\Library\Lti1p3Core\User\UserIdentityFactoryInterface" class="OAT\Library\Lti1p3Core\User\UserIdentityFactory" autowire="true" autoconfigure="true"/>
    <service id="OAT\Library\Lti1p3Ags\Service\LineItem\Client\LineItemServiceClient" class="OAT\Library\Lti1p3Ags\Service\LineItem\Client\LineItemServiceClient" autowire="true" autoconfigure="true">
      <argument type="service" id="OAT\Library\Lti1p3Core\Service\Client\LtiServiceClientInterface"/>
    </service>
    <service id="OAT\Library\Lti1p3Ags\Service\Score\Client\ScoreServiceClient" class="OAT\Library\Lti1p3Ags\Service\Score\Client\ScoreServiceClient" autowire="true" autoconfigure="true">
      <argument type="service" id="OAT\Library\Lti1p3Core\Service\Client\LtiServiceClientInterface"/>
    </service>
    <service id="OAT\Library\Lti1p3Ags\Service\Result\Client\ResultServiceClient" class="OAT\Library\Lti1p3Ags\Service\Result\Client\ResultServiceClient" autowire="true" autoconfigure="true">
      <argument type="service" id="OAT\Library\Lti1p3Core\Service\Client\LtiServiceClientInterface"/>
    </service>
    <service id="OAT\Library\Lti1p3Ags\Repository\LineItemRepositoryInterface" class="App\Ags\LineItemRepository" autowire="true" autoconfigure="true">
      <argument type="service" id="cache.app"/>
      <argument type="service" id="request_stack"/>
      <argument type="service" id="OAT\Library\Lti1p3Core\Util\Generator\IdGeneratorInterface"/>
      <argument type="service" id="OAT\Library\Lti1p3Ags\Repository\ScoreRepositoryInterface"/>
      <argument type="service" id="OAT\Library\Lti1p3Ags\Repository\ResultRepositoryInterface"/>
    </service>
    <service id="OAT\Library\Lti1p3Ags\Repository\ScoreRepositoryInterface" class="App\Ags\ScoreRepository" autowire="true" autoconfigure="true">
      <argument type="service" id="cache.app"/>
      <argument type="service" id="OAT\Library\Lti1p3Ags\Repository\ResultRepositoryInterface"/>
    </service>
    <service id="OAT\Library\Lti1p3Ags\Repository\ResultRepositoryInterface" class="App\Ags\ResultRepository" autowire="true" autoconfigure="true">
      <argument type="service" id="cache.app"/>
      <argument type="service" id="request_stack"/>
      <argument type="service" id="OAT\Library\Lti1p3Core\Util\Generator\IdGeneratorInterface"/>
    </service>
    <service id="OAT\Library\Lti1p3Ags\Service\LineItem\Server\Handler\ListLineItemsServiceServerRequestHandler" class="OAT\Library\Lti1p3Ags\Service\LineItem\Server\Handler\ListLineItemsServiceServerRequestHandler" autowire="true" autoconfigure="true">
      <argument type="service" id="OAT\Library\Lti1p3Ags\Repository\LineItemRepositoryInterface"/>
      <argument>null</argument>
      <argument>null</argument>
      <argument type="service" id="nyholm.psr7.httplug_factory"/>
    </service>
    <service id="OAT\Library\Lti1p3Ags\Service\LineItem\Server\Handler\GetLineItemServiceServerRequestHandler" class="OAT\Library\Lti1p3Ags\Service\LineItem\Server\Handler\GetLineItemServiceServerRequestHandler" autowire="true" autoconfigure="true">
      <argument type="service" id="OAT\Library\Lti1p3Ags\Repository\LineItemRepositoryInterface"/>
      <argument>null</argument>
      <argument type="service" id="nyholm.psr7.httplug_factory"/>
      <argument type="service" id="monolog.logger"/>
    </service>
    <service id="OAT\Library\Lti1p3Ags\Service\LineItem\Server\Handler\DeleteLineItemServiceServerRequestHandler" class="OAT\Library\Lti1p3Ags\Service\LineItem\Server\Handler\DeleteLineItemServiceServerRequestHandler" autowire="true" autoconfigure="true">
      <argument type="service" id="OAT\Library\Lti1p3Ags\Repository\LineItemRepositoryInterface"/>
      <argument type="service" id="nyholm.psr7.httplug_factory"/>
      <argument type="service" id="monolog.logger"/>
    </service>
    <service id="OAT\Library\Lti1p3Ags\Service\LineItem\Server\Handler\CreateLineItemServiceServerRequestHandler" class="OAT\Library\Lti1p3Ags\Service\LineItem\Server\Handler\CreateLineItemServiceServerRequestHandler" autowire="true" autoconfigure="true">
      <argument type="service" id="OAT\Library\Lti1p3Ags\Repository\LineItemRepositoryInterface"/>
      <argument>null</argument>
      <argument type="service" id="nyholm.psr7.httplug_factory"/>
      <argument type="service" id="monolog.logger"/>
    </service>
    <service id="OAT\Library\Lti1p3Ags\Service\LineItem\Server\Handler\UpdateLineItemServiceServerRequestHandler" class="OAT\Library\Lti1p3Ags\Service\LineItem\Server\Handler\UpdateLineItemServiceServerRequestHandler" autowire="true" autoconfigure="true">
      <argument type="service" id="OAT\Library\Lti1p3Ags\Repository\LineItemRepositoryInterface"/>
      <argument>null</argument>
      <argument type="service" id="nyholm.psr7.httplug_factory"/>
      <argument type="service" id="monolog.logger"/>
    </service>
    <service id="OAT\Library\Lti1p3Ags\Service\Score\Server\Handler\ScoreServiceServerRequestHandler" class="OAT\Library\Lti1p3Ags\Service\Score\Server\Handler\ScoreServiceServerRequestHandler" autowire="true" autoconfigure="true">
      <argument type="service" id="OAT\Library\Lti1p3Ags\Repository\LineItemRepositoryInterface"/>
      <argument type="service" id="OAT\Library\Lti1p3Ags\Repository\ScoreRepositoryInterface"/>
      <argument>null</argument>
      <argument>null</argument>
      <argument type="service" id="nyholm.psr7.httplug_factory"/>
      <argument type="service" id="monolog.logger"/>
    </service>
    <service id="OAT\Library\Lti1p3Ags\Service\Result\Server\Handler\ResultServiceServerRequestHandler" class="OAT\Library\Lti1p3Ags\Service\Result\Server\Handler\ResultServiceServerRequestHandler" autowire="true" autoconfigure="true">
      <argument type="service" id="OAT\Library\Lti1p3Ags\Repository\LineItemRepositoryInterface"/>
      <argument type="service" id="OAT\Library\Lti1p3Ags\Repository\ResultRepositoryInterface"/>
      <argument>null</argument>
      <argument>null</argument>
      <argument>null</argument>
      <argument>null</argument>
      <argument type="service" id="nyholm.psr7.httplug_factory"/>
      <argument type="service" id="monolog.logger"/>
    </service>
    <service id="app.service.ags_list_line_items_controller" class="OAT\Bundle\Lti1p3Bundle\Service\Server\Handler\LtiServiceServerHttpFoundationRequestHandler" public="true" autowire="true" autoconfigure="true">
      <tag name="controller.service_arguments"/>
      <argument type="service" id="OAT\Library\Lti1p3Ags\Service\LineItem\Server\Handler\ListLineItemsServiceServerRequestHandler"/>
      <factory service="OAT\Bundle\Lti1p3Bundle\Service\Server\Factory\LtiServiceServerHttpFoundationRequestHandlerFactory" method="create"/>
    </service>
    <service id="app.service.ags_get_line_item_controller" class="OAT\Bundle\Lti1p3Bundle\Service\Server\Handler\LtiServiceServerHttpFoundationRequestHandler" public="true" autowire="true" autoconfigure="true">
      <tag name="controller.service_arguments"/>
      <argument type="service" id="OAT\Library\Lti1p3Ags\Service\LineItem\Server\Handler\GetLineItemServiceServerRequestHandler"/>
      <factory service="OAT\Bundle\Lti1p3Bundle\Service\Server\Factory\LtiServiceServerHttpFoundationRequestHandlerFactory" method="create"/>
    </service>
    <service id="app.service.ags_delete_line_item_controller" class="OAT\Bundle\Lti1p3Bundle\Service\Server\Handler\LtiServiceServerHttpFoundationRequestHandler" public="true" autowire="true" autoconfigure="true">
      <tag name="controller.service_arguments"/>
      <argument type="service" id="OAT\Library\Lti1p3Ags\Service\LineItem\Server\Handler\DeleteLineItemServiceServerRequestHandler"/>
      <factory service="OAT\Bundle\Lti1p3Bundle\Service\Server\Factory\LtiServiceServerHttpFoundationRequestHandlerFactory" method="create"/>
    </service>
    <service id="app.service.ags_create_line_item_controller" class="OAT\Bundle\Lti1p3Bundle\Service\Server\Handler\LtiServiceServerHttpFoundationRequestHandler" public="true" autowire="true" autoconfigure="true">
      <tag name="controller.service_arguments"/>
      <argument type="service" id="OAT\Library\Lti1p3Ags\Service\LineItem\Server\Handler\CreateLineItemServiceServerRequestHandler"/>
      <factory service="OAT\Bundle\Lti1p3Bundle\Service\Server\Factory\LtiServiceServerHttpFoundationRequestHandlerFactory" method="create"/>
    </service>
    <service id="app.service.ags_update_line_item_controller" class="OAT\Bundle\Lti1p3Bundle\Service\Server\Handler\LtiServiceServerHttpFoundationRequestHandler" public="true" autowire="true" autoconfigure="true">
      <tag name="controller.service_arguments"/>
      <argument type="service" id="OAT\Library\Lti1p3Ags\Service\LineItem\Server\Handler\UpdateLineItemServiceServerRequestHandler"/>
      <factory service="OAT\Bundle\Lti1p3Bundle\Service\Server\Factory\LtiServiceServerHttpFoundationRequestHandlerFactory" method="create"/>
    </service>
    <service id="app.service.ags_score_controller" class="OAT\Bundle\Lti1p3Bundle\Service\Server\Handler\LtiServiceServerHttpFoundationRequestHandler" public="true" autowire="true" autoconfigure="true">
      <tag name="controller.service_arguments"/>
      <argument type="service" id="OAT\Library\Lti1p3Ags\Service\Score\Server\Handler\ScoreServiceServerRequestHandler"/>
      <factory service="OAT\Bundle\Lti1p3Bundle\Service\Server\Factory\LtiServiceServerHttpFoundationRequestHandlerFactory" method="create"/>
    </service>
    <service id="app.service.ags_result_controller" class="OAT\Bundle\Lti1p3Bundle\Service\Server\Handler\LtiServiceServerHttpFoundationRequestHandler" public="true" autowire="true" autoconfigure="true">
      <tag name="controller.service_arguments"/>
      <argument type="service" id="OAT\Library\Lti1p3Ags\Service\Result\Server\Handler\ResultServiceServerRequestHandler"/>
      <factory service="OAT\Bundle\Lti1p3Bundle\Service\Server\Factory\LtiServiceServerHttpFoundationRequestHandlerFactory" method="create"/>
    </service>
    <service id="OAT\Library\Lti1p3DeepLinking\Message\Launch\Builder\DeepLinkingLaunchRequestBuilder" class="OAT\Library\Lti1p3DeepLinking\Message\Launch\Builder\DeepLinkingLaunchRequestBuilder" autowire="true" autoconfigure="true">
      <argument type="service" id="OAT\Library\Lti1p3Core\Message\Payload\Builder\MessagePayloadBuilderInterface"/>
    </service>
    <service id="OAT\Library\Lti1p3DeepLinking\Message\Launch\Builder\DeepLinkingLaunchResponseBuilder" class="OAT\Library\Lti1p3DeepLinking\Message\Launch\Builder\DeepLinkingLaunchResponseBuilder" autowire="true" autoconfigure="true">
      <argument type="service" id="OAT\Library\Lti1p3Core\Message\Payload\Builder\MessagePayloadBuilderInterface"/>
    </service>
    <service id="OAT\Library\Lti1p3DeepLinking\Factory\ResourceCollectionFactoryInterface" class="OAT\Library\Lti1p3DeepLinking\Factory\ResourceCollectionFactory" autowire="true" autoconfigure="true">
      <argument type="service" id="OAT\Library\Lti1p3Core\Util\Generator\IdGeneratorInterface"/>
    </service>
    <service id="OAT\Library\Lti1p3Proctoring\Service\Client\AcsServiceClient" class="OAT\Library\Lti1p3Proctoring\Service\Client\AcsServiceClient" autowire="true" autoconfigure="true">
      <argument type="service" id="OAT\Library\Lti1p3Core\Service\Client\LtiServiceClientInterface"/>
    </service>
    <service id="OAT\Library\Lti1p3Proctoring\Message\Launch\Builder\StartProctoringLaunchRequestBuilder" class="OAT\Library\Lti1p3Proctoring\Message\Launch\Builder\StartProctoringLaunchRequestBuilder" autowire="true" autoconfigure="true">
      <argument type="service" id="OAT\Library\Lti1p3Core\Message\Payload\Builder\MessagePayloadBuilderInterface"/>
    </service>
    <service id="OAT\Library\Lti1p3Proctoring\Message\Launch\Builder\StartAssessmentLaunchRequestBuilder" class="OAT\Library\Lti1p3Proctoring\Message\Launch\Builder\StartAssessmentLaunchRequestBuilder" autowire="true" autoconfigure="true">
      <argument type="service" id="OAT\Library\Lti1p3Core\Message\Payload\Builder\MessagePayloadBuilderInterface"/>
    </service>
    <service id="OAT\Library\Lti1p3Proctoring\Message\Launch\Builder\EndAssessmentLaunchRequestBuilder" class="OAT\Library\Lti1p3Proctoring\Message\Launch\Builder\EndAssessmentLaunchRequestBuilder" autowire="true" autoconfigure="true">
      <argument type="service" id="OAT\Library\Lti1p3Core\Message\Payload\Builder\MessagePayloadBuilderInterface"/>
    </service>
    <service id="OAT\Library\Lti1p3Proctoring\Service\Server\Handler\AcsServiceServerRequestHandler" class="OAT\Library\Lti1p3Proctoring\Service\Server\Handler\AcsServiceServerRequestHandler" autowire="true" autoconfigure="true">
      <argument type="service" id="App\Proctoring\AcsServiceServerControlProcessor"/>
      <argument>null</argument>
      <argument>null</argument>
      <argument type="service" id="nyholm.psr7.httplug_factory"/>
    </service>
    <service id="app.service.proctoring_acs_controller" class="OAT\Bundle\Lti1p3Bundle\Service\Server\Handler\LtiServiceServerHttpFoundationRequestHandler" public="true" autowire="true" autoconfigure="true">
      <tag name="controller.service_arguments"/>
      <argument type="service" id="OAT\Library\Lti1p3Proctoring\Service\Server\Handler\AcsServiceServerRequestHandler"/>
      <factory service="OAT\Bundle\Lti1p3Bundle\Service\Server\Factory\LtiServiceServerHttpFoundationRequestHandlerFactory" method="create"/>
    </service>
    <service id="OAT\Library\Lti1p3Nrps\Service\Client\MembershipServiceClient" class="OAT\Library\Lti1p3Nrps\Service\Client\MembershipServiceClient" autowire="true" autoconfigure="true">
      <argument type="service" id="OAT\Library\Lti1p3Core\Service\Client\LtiServiceClientInterface"/>
      <argument type="service" id="OAT\Library\Lti1p3Nrps\Serializer\MembershipSerializerInterface"/>
    </service>
    <service id="OAT\Library\Lti1p3Nrps\Factory\Member\MemberFactoryInterface" class="OAT\Library\Lti1p3Nrps\Factory\Member\MemberFactory" autowire="true" autoconfigure="true">
      <argument type="service" id="OAT\Library\Lti1p3Core\User\UserIdentityFactoryInterface"/>
    </service>
    <service id="OAT\Library\Lti1p3Nrps\Serializer\MembershipSerializerInterface" class="OAT\Library\Lti1p3Nrps\Serializer\MembershipSerializer" autowire="true" autoconfigure="true"/>
    <service id="OAT\Library\Lti1p3Nrps\Service\Server\Handler\MembershipServiceServerRequestHandler" class="OAT\Library\Lti1p3Nrps\Service\Server\Handler\MembershipServiceServerRequestHandler" autowire="true" autoconfigure="true">
      <argument type="service" id="App\Nrps\MembershipServiceServerBuilder"/>
      <argument type="service" id="OAT\Library\Lti1p3Nrps\Serializer\MembershipSerializerInterface"/>
      <argument type="service" id="nyholm.psr7.httplug_factory"/>
    </service>
    <service id="app.service.nrps_membership_controller" class="OAT\Bundle\Lti1p3Bundle\Service\Server\Handler\LtiServiceServerHttpFoundationRequestHandler" public="true" autowire="true" autoconfigure="true">
      <tag name="controller.service_arguments"/>
      <argument type="service" id="OAT\Library\Lti1p3Nrps\Service\Server\Handler\MembershipServiceServerRequestHandler"/>
      <factory service="OAT\Bundle\Lti1p3Bundle\Service\Server\Factory\LtiServiceServerHttpFoundationRequestHandlerFactory" method="create"/>
    </service>
    <service id="OAT\Library\Lti1p3BasicOutcome\Service\Client\BasicOutcomeServiceClient" class="OAT\Library\Lti1p3BasicOutcome\Service\Client\BasicOutcomeServiceClient" autowire="true" autoconfigure="true">
      <argument type="service" id="OAT\Library\Lti1p3Core\Service\Client\LtiServiceClientInterface"/>
    </service>
    <service id="OAT\Library\Lti1p3BasicOutcome\Service\Server\Handler\BasicOutcomeServiceServerRequestHandler" class="OAT\Library\Lti1p3BasicOutcome\Service\Server\Handler\BasicOutcomeServiceServerRequestHandler" autowire="true" autoconfigure="true">
      <argument type="service" id="App\BasicOutcome\BasicOutcomeProcessor"/>
      <argument>null</argument>
      <argument>null</argument>
      <argument>null</argument>
      <argument type="service" id="nyholm.psr7.httplug_factory"/>
      <argument type="service" id="monolog.logger"/>
    </service>
    <service id="app.service.basic_outcome_controller" class="OAT\Bundle\Lti1p3Bundle\Service\Server\Handler\LtiServiceServerHttpFoundationRequestHandler" public="true" autowire="true" autoconfigure="true">
      <tag name="controller.service_arguments"/>
      <argument type="service" id="OAT\Library\Lti1p3BasicOutcome\Service\Server\Handler\BasicOutcomeServiceServerRequestHandler"/>
      <factory service="OAT\Bundle\Lti1p3Bundle\Service\Server\Factory\LtiServiceServerHttpFoundationRequestHandlerFactory" method="create"/>
    </service>
    <service id="OAT\Library\Lti1p3SubmissionReview\Message\Launch\Builder\SubmissionReviewLaunchRequestBuilder" class="OAT\Library\Lti1p3SubmissionReview\Message\Launch\Builder\SubmissionReviewLaunchRequestBuilder" autowire="true" autoconfigure="true">
      <argument type="service" id="OAT\Library\Lti1p3Core\Message\Payload\Builder\MessagePayloadBuilderInterface"/>
    </service>
    <service id="argument_metadata_factory" class="Symfony\Component\HttpKernel\ControllerMetadata\ArgumentMetadataFactory"/>
    <service id="response_listener" class="Symfony\Component\HttpKernel\EventListener\ResponseListener">
      <tag name="kernel.event_subscriber"/>
      <tag name="container.hot_path"/>
      <argument>UTF-8</argument>
    </service>
    <service id="streamed_response_listener" class="Symfony\Component\HttpKernel\EventListener\StreamedResponseListener">
      <tag name="kernel.event_subscriber"/>
      <tag name="container.hot_path"/>
    </service>
    <service id="locale_listener" class="Symfony\Component\HttpKernel\EventListener\LocaleListener">
      <tag name="kernel.event_subscriber"/>
      <tag name="container.hot_path"/>
      <tag name="container.hot_path"/>
      <tag name="container.hot_path"/>
      <argument type="service" id="request_stack"/>
      <argument>en</argument>
      <argument type="service" id="router.default" on-invalid="ignore"/>
    </service>
    <service id="validate_request_listener" class="Symfony\Component\HttpKernel\EventListener\ValidateRequestListener">
      <tag name="kernel.event_subscriber"/>
      <tag name="container.hot_path"/>
    </service>
    <service id="disallow_search_engine_index_response_listener" class="Symfony\Component\HttpKernel\EventListener\DisallowRobotsIndexingListener">
      <tag name="kernel.event_subscriber"/>
      <tag name="container.hot_path"/>
    </service>
    <service id="error_controller" class="Symfony\Component\HttpKernel\Controller\ErrorController" public="true">
      <argument type="service" id="http_kernel"/>
      <argument>error_controller</argument>
      <argument type="service" id="twig.error_renderer.html"/>
    </service>
    <service id="exception_listener" class="Symfony\Component\HttpKernel\EventListener\ErrorListener">
      <tag name="kernel.event_subscriber"/>
      <tag name="monolog.logger" channel="request"/>
      <tag name="container.hot_path"/>
      <tag name="container.hot_path"/>
      <argument>error_controller</argument>
      <argument type="service" id="monolog.logger.request" on-invalid="null"/>
      <argument>true</argument>
    </service>
    <service id="parameter_bag" class="Symfony\Component\DependencyInjection\ParameterBag\ContainerBag">
      <argument type="service" id="service_container"/>
    </service>
    <service id="http_kernel" class="Symfony\Component\HttpKernel\HttpKernel" public="true">
      <tag name="container.hot_path"/>
      <tag name="container.preload" class="Symfony\Component\Runtime\Runner\Symfony\HttpKernelRunner"/>
      <tag name="container.preload" class="Symfony\Component\Runtime\Runner\Symfony\ResponseRunner"/>
      <tag name="container.preload" class="Symfony\Component\Runtime\SymfonyRuntime"/>
      <argument type="service" id="debug.event_dispatcher"/>
      <argument type="service" id="debug.controller_resolver"/>
      <argument type="service" id="request_stack"/>
      <argument type="service" id="debug.argument_resolver"/>
    </service>
    <service id="request_stack" class="Symfony\Component\HttpFoundation\RequestStack" public="true"/>
    <service id="http_cache" class="Symfony\Bundle\FrameworkBundle\HttpCache\HttpCache">
      <tag name="container.hot_path"/>
      <argument type="service" id="kernel"/>
      <argument type="service" id="http_cache.store"/>
      <argument>null</argument>
      <argument type="collection">
        <argument key="debug">true</argument>
      </argument>
      <argument type="service">
        <service class="void">
          <factory class="Symfony\Component\HttpFoundation\Request" method="enableHttpMethodParameterOverride"/>
        </service>
      </argument>
    </service>
    <service id="http_cache.store" class="Symfony\Component\HttpKernel\HttpCache\Store">
      <argument>C:/wamp64/www/devkit-lti1p3-master-tool/var/cache/dev/http_cache</argument>
    </service>
    <service id="url_helper" class="Symfony\Component\HttpFoundation\UrlHelper">
      <argument type="service" id="request_stack"/>
      <argument type="service" id="router.request_context" on-invalid="ignore"/>
    </service>
    <service id="cache_warmer" class="Symfony\Component\HttpKernel\CacheWarmer\CacheWarmerAggregate" public="true">
      <tag name="container.no_preload"/>
      <argument type="tagged_iterator" tag="kernel.cache_warmer"/>
      <argument>true</argument>
      <argument>C:/wamp64/www/devkit-lti1p3-master-tool/var/cache/dev/App_KernelDevDebugContainerDeprecations.log</argument>
    </service>
    <service id="cache_clearer" class="Symfony\Component\HttpKernel\CacheClearer\ChainCacheClearer" public="true">
      <tag name="container.private" package="symfony/framework-bundle" version="5.2"/>
      <argument type="tagged_iterator" tag="kernel.cache_clearer"/>
    </service>
    <service id="filesystem" class="Symfony\Component\Filesystem\Filesystem" public="true">
      <tag name="container.private" package="symfony/framework-bundle" version="5.2"/>
    </service>
    <service id="file_locator" class="Symfony\Component\HttpKernel\Config\FileLocator">
      <argument type="service" id="kernel"/>
    </service>
    <service id="uri_signer" class="Symfony\Component\HttpKernel\UriSigner">
      <argument>%env(APP_SECRET)%</argument>
    </service>
    <service id="config_cache_factory" class="Symfony\Component\Config\ResourceCheckerConfigCacheFactory">
      <argument type="tagged_iterator" tag="config_cache.resource_checker"/>
    </service>
    <service id="dependency_injection.config.container_parameters_resource_checker" class="Symfony\Component\DependencyInjection\Config\ContainerParametersResourceChecker">
      <tag name="config_cache.resource_checker" priority="-980"/>
      <argument type="service" id="service_container"/>
    </service>
    <service id="config.resource.self_checking_resource_checker" class="Symfony\Component\Config\Resource\SelfCheckingResourceChecker">
      <tag name="config_cache.resource_checker" priority="-990"/>
    </service>
    <service id="services_resetter" class="Symfony\Component\HttpKernel\DependencyInjection\ServicesResetter" public="true">
      <argument type="iterator">
        <argument key="cache.app" type="service" id="cache.app" on-invalid="ignore_uninitialized"/>
        <argument key="cache.system" type="service" id="cache.system" on-invalid="ignore_uninitialized"/>
        <argument key="cache.validator" type="service" id="cache.validator" on-invalid="ignore_uninitialized"/>
        <argument key="cache.serializer" type="service" id="cache.serializer" on-invalid="ignore_uninitialized"/>
        <argument key="cache.annotations" type="service" id="cache.annotations" on-invalid="ignore_uninitialized"/>
        <argument key="cache.property_info" type="service" id="cache.property_info" on-invalid="ignore_uninitialized"/>
        <argument key="form.choice_list_factory.cached" type="service" id="form.choice_list_factory.cached" on-invalid="ignore_uninitialized"/>
        <argument key="cache.validator_expression_language" type="service" id="cache.validator_expression_language" on-invalid="ignore_uninitialized"/>
        <argument key="debug.stopwatch" type="service" id="debug.stopwatch" on-invalid="ignore_uninitialized"/>
        <argument key="debug.event_dispatcher" type="service" id="debug.event_dispatcher" on-invalid="ignore_uninitialized"/>
        <argument key="security.token_storage" type="service" id="security.token_storage" on-invalid="ignore_uninitialized"/>
        <argument key="cache.security_expression_language" type="service" id="cache.security_expression_language" on-invalid="ignore_uninitialized"/>
        <argument key="monolog.handler.main" type="service" id="monolog.handler.main" on-invalid="ignore_uninitialized"/>
        <argument key="monolog.handler.console" type="service" id="monolog.handler.console" on-invalid="ignore_uninitialized"/>
      </argument>
      <argument type="collection">
        <argument key="cache.app" type="collection">
          <argument>reset</argument>
        </argument>
        <argument key="cache.system" type="collection">
          <argument>reset</argument>
        </argument>
        <argument key="cache.validator" type="collection">
          <argument>reset</argument>
        </argument>
        <argument key="cache.serializer" type="collection">
          <argument>reset</argument>
        </argument>
        <argument key="cache.annotations" type="collection">
          <argument>reset</argument>
        </argument>
        <argument key="cache.property_info" type="collection">
          <argument>reset</argument>
        </argument>
        <argument key="form.choice_list_factory.cached" type="collection">
          <argument>reset</argument>
        </argument>
        <argument key="cache.validator_expression_language" type="collection">
          <argument>reset</argument>
        </argument>
        <argument key="debug.stopwatch" type="collection">
          <argument>reset</argument>
        </argument>
        <argument key="debug.event_dispatcher" type="collection">
          <argument>reset</argument>
        </argument>
        <argument key="security.token_storage" type="collection">
          <argument>disableUsageTracking</argument>
          <argument>setToken</argument>
        </argument>
        <argument key="cache.security_expression_language" type="collection">
          <argument>reset</argument>
        </argument>
        <argument key="monolog.handler.main" type="collection">
          <argument>reset</argument>
        </argument>
        <argument key="monolog.handler.console" type="collection">
          <argument>reset</argument>
        </argument>
      </argument>
    </service>
    <service id="reverse_container" class="Symfony\Component\DependencyInjection\ReverseContainer">
      <argument type="service" id="service_container"/>
      <argument type="service" id=".service_locator.XXv1IfR"/>
    </service>
    <service id="locale_aware_listener" class="Symfony\Component\HttpKernel\EventListener\LocaleAwareListener">
      <tag name="kernel.event_subscriber"/>
      <tag name="container.hot_path"/>
      <tag name="container.hot_path"/>
      <argument type="iterator">
        <argument type="service" id="slugger"/>
        <argument type="service" id="translator.default"/>
      </argument>
      <argument type="service" id="request_stack"/>
    </service>
    <service id="container.env_var_processor" class="Symfony\Component\DependencyInjection\EnvVarProcessor">
      <tag name="container.env_var_processor"/>
      <argument type="service" id="service_container"/>
      <argument type="tagged_iterator" tag="container.env_var_loader"/>
    </service>
    <service id="slugger" class="Symfony\Component\String\Slugger\AsciiSlugger">
      <tag name="kernel.locale_aware"/>
      <argument>en</argument>
    </service>
    <service id="container.getenv" class="Closure">
      <tag name="routing.expression_language_function" function="env"/>
      <argument type="collection">
        <argument type="service" id="service_container"/>
        <argument>getEnv</argument>
      </argument>
      <factory class="Closure" method="fromCallable"/>
    </service>
    <service id="container.env" class="Symfony\Component\String\LazyString" abstract="true">
      <argument type="service" id="container.getenv"/>
      <factory class="Symfony\Component\String\LazyString" method="fromCallable"/>
    </service>
    <service id="config_builder.warmer" class="Symfony\Bundle\FrameworkBundle\CacheWarmer\ConfigBuilderCacheWarmer">
      <tag name="kernel.cache_warmer"/>
      <argument type="service" id="kernel"/>
      <argument type="service" id="monolog.logger" on-invalid="null"/>
    </service>
    <service id="fragment.handler" class="Symfony\Component\HttpKernel\DependencyInjection\LazyLoadingFragmentHandler">
      <argument type="service" id=".service_locator.lLv4pWF"/>
      <argument type="service" id="request_stack"/>
      <argument>true</argument>
    </service>
    <service id="fragment.uri_generator" class="Symfony\Component\HttpKernel\Fragment\FragmentUriGenerator">
      <argument>/_fragment</argument>
      <argument type="service" id="uri_signer"/>
      <argument type="service" id="request_stack"/>
    </service>
    <service id="fragment.renderer.inline" class="Symfony\Component\HttpKernel\Fragment\InlineFragmentRenderer">
      <tag name="kernel.fragment_renderer" alias="inline"/>
      <argument type="service" id="http_kernel"/>
      <argument type="service" id="debug.event_dispatcher"/>
      <call method="setFragmentPath">
        <argument>/_fragment</argument>
      </call>
    </service>
    <service id="error_handler.error_renderer.html" class="Symfony\Component\ErrorHandler\ErrorRenderer\HtmlErrorRenderer">
      <argument type="service">
        <service>
          <argument type="service" id="request_stack"/>
          <argument>true</argument>
          <factory class="Symfony\Component\ErrorHandler\ErrorRenderer\HtmlErrorRenderer" method="isDebug"/>
        </service>
      </argument>
      <argument>UTF-8</argument>
      <argument type="service" id="debug.file_link_formatter" on-invalid="null"/>
      <argument>C:\wamp64\www\devkit-lti1p3-master-tool</argument>
      <argument type="service">
        <service>
          <argument type="service" id="request_stack"/>
          <factory class="Symfony\Component\ErrorHandler\ErrorRenderer\HtmlErrorRenderer" method="getAndCleanOutputBuffer"/>
        </service>
      </argument>
      <argument type="service" id="monolog.logger" on-invalid="null"/>
    </service>
    <service id="console.error_listener" class="Symfony\Component\Console\EventListener\ErrorListener">
      <tag name="kernel.event_subscriber"/>
      <tag name="monolog.logger" channel="console"/>
      <tag name="container.no_preload"/>
      <argument type="service" id="monolog.logger.console" on-invalid="null"/>
    </service>
    <service id="console.suggest_missing_package_subscriber" class="Symfony\Bundle\FrameworkBundle\EventListener\SuggestMissingPackageSubscriber">
      <tag name="kernel.event_subscriber"/>
      <tag name="container.no_preload"/>
    </service>
    <service id="console.command.about" class="Symfony\Bundle\FrameworkBundle\Command\AboutCommand">
      <tag name="console.command"/>
      <tag name="container.no_preload"/>
      <call method="setName">
        <argument>about</argument>
      </call>
      <call method="setDescription">
        <argument>Display information about the current project</argument>
      </call>
    </service>
    <service id="console.command.assets_install" class="Symfony\Bundle\FrameworkBundle\Command\AssetsInstallCommand">
      <tag name="console.command"/>
      <tag name="container.no_preload"/>
      <argument type="service" id="filesystem"/>
      <argument>C:\wamp64\www\devkit-lti1p3-master-tool</argument>
      <call method="setName">
        <argument>assets:install</argument>
      </call>
      <call method="setDescription">
        <argument>Install bundle's web assets under a public directory</argument>
      </call>
    </service>
    <service id="console.command.cache_clear" class="Symfony\Bundle\FrameworkBundle\Command\CacheClearCommand">
      <tag name="console.command"/>
      <tag name="container.no_preload"/>
      <argument type="service" id="cache_clearer"/>
      <argument type="service" id="filesystem"/>
      <call method="setName">
        <argument>cache:clear</argument>
      </call>
      <call method="setDescription">
        <argument>Clear the cache</argument>
      </call>
    </service>
    <service id="console.command.cache_pool_clear" class="Symfony\Bundle\FrameworkBundle\Command\CachePoolClearCommand">
      <tag name="console.command"/>
      <tag name="container.no_preload"/>
      <argument type="service" id="cache.global_clearer"/>
      <call method="setName">
        <argument>cache:pool:clear</argument>
      </call>
      <call method="setDescription">
        <argument>Clear cache pools</argument>
      </call>
    </service>
    <service id="console.command.cache_pool_prune" class="Symfony\Bundle\FrameworkBundle\Command\CachePoolPruneCommand">
      <tag name="console.command"/>
      <tag name="container.no_preload"/>
      <argument type="collection"/>
      <call method="setName">
        <argument>cache:pool:prune</argument>
      </call>
      <call method="setDescription">
        <argument>Prune cache pools</argument>
      </call>
    </service>
    <service id="console.command.cache_pool_delete" class="Symfony\Bundle\FrameworkBundle\Command\CachePoolDeleteCommand">
      <tag name="console.command"/>
      <tag name="container.no_preload"/>
      <argument type="service" id="cache.global_clearer"/>
      <call method="setName">
        <argument>cache:pool:delete</argument>
      </call>
      <call method="setDescription">
        <argument>Delete an item from a cache pool</argument>
      </call>
    </service>
    <service id="console.command.cache_pool_list" class="Symfony\Bundle\FrameworkBundle\Command\CachePoolListCommand">
      <tag name="console.command"/>
      <tag name="container.no_preload"/>
      <argument type="collection">
        <argument>cache.app</argument>
        <argument>cache.system</argument>
        <argument>cache.validator</argument>
        <argument>cache.serializer</argument>
        <argument>cache.annotations</argument>
        <argument>cache.property_info</argument>
        <argument>cache.validator_expression_language</argument>
        <argument>cache.security_expression_language</argument>
      </argument>
      <call method="setName">
        <argument>cache:pool:list</argument>
      </call>
      <call method="setDescription">
        <argument>List available cache pools</argument>
      </call>
    </service>
    <service id="console.command.cache_warmup" class="Symfony\Bundle\FrameworkBundle\Command\CacheWarmupCommand">
      <tag name="console.command"/>
      <tag name="container.no_preload"/>
      <argument type="service" id="cache_warmer"/>
      <call method="setName">
        <argument>cache:warmup</argument>
      </call>
      <call method="setDescription">
        <argument>Warm up an empty cache</argument>
      </call>
    </service>
    <service id="console.command.config_debug" class="Symfony\Bundle\FrameworkBundle\Command\ConfigDebugCommand">
      <tag name="console.command"/>
      <tag name="container.no_preload"/>
      <call method="setName">
        <argument>debug:config</argument>
      </call>
      <call method="setDescription">
        <argument>Dump the current configuration for an extension</argument>
      </call>
    </service>
    <service id="console.command.config_dump_reference" class="Symfony\Bundle\FrameworkBundle\Command\ConfigDumpReferenceCommand">
      <tag name="console.command"/>
      <tag name="container.no_preload"/>
      <call method="setName">
        <argument>config:dump-reference</argument>
      </call>
      <call method="setDescription">
        <argument>Dump the default configuration for an extension</argument>
      </call>
    </service>
    <service id="console.command.container_debug" class="Symfony\Bundle\FrameworkBundle\Command\ContainerDebugCommand">
      <tag name="console.command"/>
      <tag name="container.no_preload"/>
      <call method="setName">
        <argument>debug:container</argument>
      </call>
      <call method="setDescription">
        <argument>Display current services for an application</argument>
      </call>
    </service>
    <service id="console.command.container_lint" class="Symfony\Bundle\FrameworkBundle\Command\ContainerLintCommand">
      <tag name="console.command"/>
      <tag name="container.no_preload"/>
      <call method="setName">
        <argument>lint:container</argument>
      </call>
      <call method="setDescription">
        <argument>Ensure that arguments injected into services match type declarations</argument>
      </call>
    </service>
    <service id="console.command.debug_autowiring" class="Symfony\Bundle\FrameworkBundle\Command\DebugAutowiringCommand">
      <tag name="console.command"/>
      <tag name="container.no_preload"/>
      <argument>null</argument>
      <argument type="service" id="debug.file_link_formatter" on-invalid="null"/>
      <call method="setName">
        <argument>debug:autowiring</argument>
      </call>
      <call method="setDescription">
        <argument>List classes/interfaces you can use for autowiring</argument>
      </call>
    </service>
    <service id="console.command.event_dispatcher_debug" class="Symfony\Bundle\FrameworkBundle\Command\EventDispatcherDebugCommand">
      <tag name="console.command"/>
      <tag name="container.no_preload"/>
      <argument type="service" id=".service_locator.egX1u_r"/>
      <call method="setName">
        <argument>debug:event-dispatcher</argument>
      </call>
      <call method="setDescription">
        <argument>Display configured listeners for an application</argument>
      </call>
    </service>
    <service id="console.command.router_debug" class="Symfony\Bundle\FrameworkBundle\Command\RouterDebugCommand">
      <tag name="console.command"/>
      <tag name="container.no_preload"/>
      <argument type="service" id="router.default"/>
      <argument type="service" id="debug.file_link_formatter" on-invalid="null"/>
      <call method="setName">
        <argument>debug:router</argument>
      </call>
      <call method="setDescription">
        <argument>Display current routes for an application</argument>
      </call>
    </service>
    <service id="console.command.router_match" class="Symfony\Bundle\FrameworkBundle\Command\RouterMatchCommand">
      <tag name="console.command"/>
      <tag name="container.no_preload"/>
      <argument type="service" id="router.default"/>
      <argument type="tagged_iterator" tag="routing.expression_language_provider"/>
      <call method="setName">
        <argument>router:match</argument>
      </call>
      <call method="setDescription">
        <argument>Help debug routes by simulating a path info match</argument>
      </call>
    </service>
    <service id="console.command.translation_debug" class="Symfony\Bundle\FrameworkBundle\Command\TranslationDebugCommand">
      <tag name="console.command"/>
      <tag name="container.no_preload"/>
      <argument type="service" id="translator.default"/>
      <argument type="service" id="translation.reader"/>
      <argument type="service" id="translation.extractor"/>
      <argument>C:\wamp64\www\devkit-lti1p3-master-tool/translations</argument>
      <argument>C:\wamp64\www\devkit-lti1p3-master-tool/templates</argument>
      <argument type="collection">
        <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\validator/Resources/translations</argument>
        <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\form/Resources/translations</argument>
        <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\security-core/Resources/translations</argument>
      </argument>
      <argument type="collection">
        <argument>C:\wamp64\www\devkit-lti1p3-master-tool/vendor/oat-sa/lib-lti1p3-basic-outcome/templates</argument>
        <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\twig-bridge/Resources/views/Form</argument>
      </argument>
      <call method="setName">
        <argument>debug:translation</argument>
      </call>
      <call method="setDescription">
        <argument>Display translation messages information</argument>
      </call>
    </service>
    <service id="console.command.translation_update" class="Symfony\Bundle\FrameworkBundle\Command\TranslationUpdateCommand">
      <tag name="console.command"/>
      <tag name="container.no_preload"/>
      <argument type="service" id="translation.writer"/>
      <argument type="service" id="translation.reader"/>
      <argument type="service" id="translation.extractor"/>
      <argument>en</argument>
      <argument>C:\wamp64\www\devkit-lti1p3-master-tool/translations</argument>
      <argument>C:\wamp64\www\devkit-lti1p3-master-tool/templates</argument>
      <argument type="collection">
        <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\validator/Resources/translations</argument>
        <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\form/Resources/translations</argument>
        <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\security-core/Resources/translations</argument>
      </argument>
      <argument type="collection">
        <argument>C:\wamp64\www\devkit-lti1p3-master-tool/vendor/oat-sa/lib-lti1p3-basic-outcome/templates</argument>
        <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\twig-bridge/Resources/views/Form</argument>
      </argument>
      <call method="setName">
        <argument>translation:update</argument>
      </call>
      <call method="setDescription">
        <argument>Update the translation file</argument>
      </call>
    </service>
    <service id="console.command.validator_debug" class="Symfony\Component\Validator\Command\DebugCommand">
      <tag name="console.command"/>
      <tag name="container.no_preload"/>
      <argument type="service" id="validator"/>
      <call method="setName">
        <argument>debug:validator</argument>
      </call>
      <call method="setDescription">
        <argument>Display validation constraints for classes</argument>
      </call>
    </service>
    <service id="console.command.translation_pull" class="Symfony\Component\Translation\Command\TranslationPullCommand">
      <tag name="console.command" command="translation:pull"/>
      <tag name="container.no_preload"/>
      <argument type="service" id="translation.provider_collection"/>
      <argument type="service" id="translation.writer"/>
      <argument type="service" id="translation.reader"/>
      <argument>en</argument>
      <argument type="collection"/>
      <argument type="collection"/>
      <call method="setName">
        <argument>translation:pull</argument>
      </call>
      <call method="setDescription">
        <argument>Pull translations from a given provider.</argument>
      </call>
    </service>
    <service id="console.command.translation_push" class="Symfony\Component\Translation\Command\TranslationPushCommand">
      <tag name="console.command" command="translation:push"/>
      <tag name="container.no_preload"/>
      <argument type="service" id="translation.provider_collection"/>
      <argument type="service" id="translation.reader"/>
      <argument type="collection"/>
      <argument type="collection"/>
      <call method="setName">
        <argument>translation:push</argument>
      </call>
      <call method="setDescription">
        <argument>Push translations to a given provider.</argument>
      </call>
    </service>
    <service id="console.command.xliff_lint" class="Symfony\Component\Translation\Command\XliffLintCommand">
      <tag name="console.command"/>
      <tag name="container.no_preload"/>
      <call method="setName">
        <argument>lint:xliff</argument>
      </call>
      <call method="setDescription">
        <argument>Lint an XLIFF file and outputs encountered errors</argument>
      </call>
    </service>
    <service id="console.command.yaml_lint" class="Symfony\Bundle\FrameworkBundle\Command\YamlLintCommand">
      <tag name="console.command"/>
      <tag name="container.no_preload"/>
      <call method="setName">
        <argument>lint:yaml</argument>
      </call>
      <call method="setDescription">
        <argument>Lint a YAML file and outputs encountered errors</argument>
      </call>
    </service>
    <service id="console.command.form_debug" class="Symfony\Component\Form\Command\DebugCommand">
      <tag name="console.command"/>
      <tag name="container.no_preload"/>
      <argument type="service" id="form.registry"/>
      <argument type="collection">
        <argument>Symfony\Component\Form\Extension\Core\Type</argument>
        <argument>App\Form\Platform\Ags</argument>
        <argument>App\Form\Platform\Message</argument>
        <argument>App\Form\Platform\Nrps</argument>
        <argument>App\Form\Platform\Proctoring</argument>
        <argument>App\Form\Tool\Service</argument>
      </argument>
      <argument type="collection">
        <argument>App\Form\Platform\Ags\LineItemType</argument>
        <argument>App\Form\Platform\Message\DeepLinkingLaunchType</argument>
        <argument>App\Form\Platform\Message\LtiResourceLinkLaunchType</argument>
        <argument>App\Form\Platform\Message\ProctoringLaunchType</argument>
        <argument>App\Form\Platform\Message\SubmissionReviewLaunchType</argument>
        <argument>App\Form\Platform\Nrps\MembershipType</argument>
        <argument>App\Form\Platform\Proctoring\AssessmentType</argument>
        <argument>App\Form\Tool\Service\LtiServiceClientType</argument>
        <argument>Symfony\Component\Form\Extension\Core\Type\FormType</argument>
        <argument>Symfony\Component\Form\Extension\Core\Type\ChoiceType</argument>
        <argument>Symfony\Component\Form\Extension\Core\Type\FileType</argument>
        <argument>Symfony\Component\Form\Extension\Core\Type\ColorType</argument>
      </argument>
      <argument type="collection">
        <argument>Symfony\Component\Form\Extension\Core\Type\TransformationFailureExtension</argument>
        <argument>Symfony\Component\Form\Extension\HttpFoundation\Type\FormTypeHttpFoundationExtension</argument>
        <argument>Symfony\Component\Form\Extension\Validator\Type\FormTypeValidatorExtension</argument>
        <argument>Symfony\Component\Form\Extension\Validator\Type\RepeatedTypeValidatorExtension</argument>
        <argument>Symfony\Component\Form\Extension\Validator\Type\SubmitTypeValidatorExtension</argument>
        <argument>Symfony\Component\Form\Extension\Validator\Type\UploadValidatorExtension</argument>
        <argument>Symfony\Component\Form\Extension\Csrf\Type\FormTypeCsrfExtension</argument>
      </argument>
      <argument type="collection">
        <argument>Symfony\Component\Form\Extension\Validator\ValidatorTypeGuesser</argument>
      </argument>
      <argument type="service" id="debug.file_link_formatter" on-invalid="null"/>
      <call method="setName">
        <argument>debug:form</argument>
      </call>
      <call method="setDescription">
        <argument>Display form type information</argument>
      </call>
    </service>
    <service id="console.command.secrets_set" class="Symfony\Bundle\FrameworkBundle\Command\SecretsSetCommand">
      <tag name="console.command"/>
      <tag name="container.no_preload"/>
      <argument type="service" id="secrets.vault"/>
      <argument type="service" id="secrets.local_vault" on-invalid="null"/>
      <call method="setName">
        <argument>secrets:set</argument>
      </call>
      <call method="setDescription">
        <argument>Set a secret in the vault</argument>
      </call>
    </service>
    <service id="console.command.secrets_remove" class="Symfony\Bundle\FrameworkBundle\Command\SecretsRemoveCommand">
      <tag name="console.command"/>
      <tag name="container.no_preload"/>
      <argument type="service" id="secrets.vault"/>
      <argument type="service" id="secrets.local_vault" on-invalid="null"/>
      <call method="setName">
        <argument>secrets:remove</argument>
      </call>
      <call method="setDescription">
        <argument>Remove a secret from the vault</argument>
      </call>
    </service>
    <service id="console.command.secrets_generate_key" class="Symfony\Bundle\FrameworkBundle\Command\SecretsGenerateKeysCommand">
      <tag name="console.command"/>
      <tag name="container.no_preload"/>
      <argument type="service" id="secrets.vault"/>
      <argument type="service" id="secrets.local_vault" on-invalid="ignore"/>
      <call method="setName">
        <argument>secrets:generate-keys</argument>
      </call>
      <call method="setDescription">
        <argument>Generate new encryption keys</argument>
      </call>
    </service>
    <service id="console.command.secrets_list" class="Symfony\Bundle\FrameworkBundle\Command\SecretsListCommand">
      <tag name="console.command"/>
      <tag name="container.no_preload"/>
      <argument type="service" id="secrets.vault"/>
      <argument type="service" id="secrets.local_vault"/>
      <call method="setName">
        <argument>secrets:list</argument>
      </call>
      <call method="setDescription">
        <argument>List all secrets</argument>
      </call>
    </service>
    <service id="console.command.secrets_decrypt_to_local" class="Symfony\Bundle\FrameworkBundle\Command\SecretsDecryptToLocalCommand">
      <tag name="console.command"/>
      <tag name="container.no_preload"/>
      <argument type="service" id="secrets.vault"/>
      <argument type="service" id="secrets.local_vault" on-invalid="ignore"/>
      <call method="setName">
        <argument>secrets:decrypt-to-local</argument>
      </call>
      <call method="setDescription">
        <argument>Decrypt all secrets and stores them in the local vault</argument>
      </call>
    </service>
    <service id="console.command.secrets_encrypt_from_local" class="Symfony\Bundle\FrameworkBundle\Command\SecretsEncryptFromLocalCommand">
      <tag name="console.command"/>
      <tag name="container.no_preload"/>
      <argument type="service" id="secrets.vault"/>
      <argument type="service" id="secrets.local_vault"/>
      <call method="setName">
        <argument>secrets:encrypt-from-local</argument>
      </call>
      <call method="setDescription">
        <argument>Encrypt all local secrets to the vault</argument>
      </call>
    </service>
    <service id="cache.app" class="Symfony\Component\Cache\Adapter\RedisAdapter" public="true">
      <tag name="cache.pool"/>
      <tag name="kernel.reset" method="reset"/>
      <argument type="service" id=".cache_connection.cmbaXc1"/>
      <argument>rxgYtZmm9O</argument>
      <argument>0</argument>
      <argument type="service" id="cache.default_marshaller" on-invalid="ignore"/>
      <call method="setLogger">
        <argument type="service" id="monolog.logger.cache" on-invalid="ignore"/>
      </call>
    </service>
    <service id="cache.app.taggable" class="Symfony\Component\Cache\Adapter\TagAwareAdapter">
      <argument type="service" id="cache.app"/>
    </service>
    <service id="cache.system" class="Symfony\Component\Cache\Adapter\AdapterInterface" public="true">
      <tag name="cache.pool"/>
      <tag name="kernel.reset" method="reset"/>
      <argument>XaJ1UwzRK7</argument>
      <argument>0</argument>
      <argument>%container.build_id%</argument>
      <argument>C:/wamp64/www/devkit-lti1p3-master-tool/var/cache/dev/pools</argument>
      <argument type="service" id="monolog.logger.cache" on-invalid="ignore"/>
      <factory class="Symfony\Component\Cache\Adapter\AbstractAdapter" method="createSystemCache"/>
    </service>
    <service id="cache.validator" class="Symfony\Component\Cache\Adapter\AdapterInterface">
      <tag name="cache.pool"/>
      <tag name="kernel.reset" method="reset"/>
      <argument>udEraj4Vvv</argument>
      <argument>0</argument>
      <argument>%container.build_id%</argument>
      <argument>C:/wamp64/www/devkit-lti1p3-master-tool/var/cache/dev/pools</argument>
      <argument type="service" id="monolog.logger.cache" on-invalid="ignore"/>
      <factory class="Symfony\Component\Cache\Adapter\AbstractAdapter" method="createSystemCache"/>
    </service>
    <service id="cache.serializer" class="Symfony\Component\Cache\Adapter\AdapterInterface">
      <tag name="cache.pool"/>
      <tag name="kernel.reset" method="reset"/>
      <argument>F9o-Yaxdz+</argument>
      <argument>0</argument>
      <argument>%container.build_id%</argument>
      <argument>C:/wamp64/www/devkit-lti1p3-master-tool/var/cache/dev/pools</argument>
      <argument type="service" id="monolog.logger.cache" on-invalid="ignore"/>
      <factory class="Symfony\Component\Cache\Adapter\AbstractAdapter" method="createSystemCache"/>
    </service>
    <service id="cache.annotations" class="Symfony\Component\Cache\Adapter\AdapterInterface">
      <tag name="cache.pool"/>
      <tag name="kernel.reset" method="reset"/>
      <argument>WouGi82RSS</argument>
      <argument>0</argument>
      <argument>%container.build_id%</argument>
      <argument>C:/wamp64/www/devkit-lti1p3-master-tool/var/cache/dev/pools</argument>
      <argument type="service" id="monolog.logger.cache" on-invalid="ignore"/>
      <factory class="Symfony\Component\Cache\Adapter\AbstractAdapter" method="createSystemCache"/>
    </service>
    <service id="cache.property_info" class="Symfony\Component\Cache\Adapter\AdapterInterface">
      <tag name="cache.pool"/>
      <tag name="kernel.reset" method="reset"/>
      <argument>akisLtlVZm</argument>
      <argument>0</argument>
      <argument>%container.build_id%</argument>
      <argument>C:/wamp64/www/devkit-lti1p3-master-tool/var/cache/dev/pools</argument>
      <argument type="service" id="monolog.logger.cache" on-invalid="ignore"/>
      <factory class="Symfony\Component\Cache\Adapter\AbstractAdapter" method="createSystemCache"/>
    </service>
    <service id="cache.adapter.system" class="Symfony\Component\Cache\Adapter\AdapterInterface" abstract="true">
      <tag name="cache.pool" clearer="cache.system_clearer" reset="reset"/>
      <tag name="monolog.logger" channel="cache"/>
      <argument></argument>
      <argument>0</argument>
      <argument>%container.build_id%</argument>
      <argument>C:/wamp64/www/devkit-lti1p3-master-tool/var/cache/dev/pools</argument>
      <argument type="service" id="monolog.logger.cache" on-invalid="ignore"/>
      <factory class="Symfony\Component\Cache\Adapter\AbstractAdapter" method="createSystemCache"/>
    </service>
    <service id="cache.adapter.apcu" class="Symfony\Component\Cache\Adapter\ApcuAdapter" abstract="true">
      <tag name="cache.pool" clearer="cache.default_clearer" reset="reset"/>
      <tag name="monolog.logger" channel="cache"/>
      <argument></argument>
      <argument>0</argument>
      <argument>%container.build_id%</argument>
      <call method="setLogger">
        <argument type="service" id="monolog.logger.cache" on-invalid="ignore"/>
      </call>
    </service>
    <service id="cache.adapter.doctrine" class="Symfony\Component\Cache\Adapter\DoctrineAdapter" abstract="true">
      <tag name="cache.pool" provider="cache.default_doctrine_provider" clearer="cache.default_clearer" reset="reset"/>
      <tag name="monolog.logger" channel="cache"/>
      <argument type="abstract">Doctrine provider service</argument>
      <argument></argument>
      <argument>0</argument>
      <call method="setLogger">
        <argument type="service" id="monolog.logger.cache" on-invalid="ignore"/>
      </call>
    </service>
    <service id="cache.adapter.filesystem" class="Symfony\Component\Cache\Adapter\FilesystemAdapter" abstract="true">
      <tag name="cache.pool" clearer="cache.default_clearer" reset="reset"/>
      <tag name="monolog.logger" channel="cache"/>
      <argument></argument>
      <argument>0</argument>
      <argument>C:/wamp64/www/devkit-lti1p3-master-tool/var/cache/dev/pools</argument>
      <argument type="service" id="cache.default_marshaller" on-invalid="ignore"/>
      <call method="setLogger">
        <argument type="service" id="monolog.logger.cache" on-invalid="ignore"/>
      </call>
    </service>
    <service id="cache.adapter.psr6" class="Symfony\Component\Cache\Adapter\ProxyAdapter" abstract="true">
      <tag name="cache.pool" provider="cache.default_psr6_provider" clearer="cache.default_clearer" reset="reset"/>
      <argument type="abstract">PSR-6 provider service</argument>
      <argument></argument>
      <argument>0</argument>
    </service>
    <service id="cache.adapter.redis" class="Symfony\Component\Cache\Adapter\RedisAdapter" abstract="true">
      <tag name="cache.pool" provider="cache.default_redis_provider" clearer="cache.default_clearer" reset="reset"/>
      <tag name="monolog.logger" channel="cache"/>
      <argument type="abstract">Redis connection service</argument>
      <argument></argument>
      <argument>0</argument>
      <argument type="service" id="cache.default_marshaller" on-invalid="ignore"/>
      <call method="setLogger">
        <argument type="service" id="monolog.logger.cache" on-invalid="ignore"/>
      </call>
    </service>
    <service id="cache.adapter.redis_tag_aware" class="Symfony\Component\Cache\Adapter\RedisTagAwareAdapter" abstract="true">
      <tag name="cache.pool" provider="cache.default_redis_provider" clearer="cache.default_clearer" reset="reset"/>
      <tag name="monolog.logger" channel="cache"/>
      <argument type="abstract">Redis connection service</argument>
      <argument></argument>
      <argument>0</argument>
      <argument type="service" id="cache.default_marshaller" on-invalid="ignore"/>
      <call method="setLogger">
        <argument type="service" id="monolog.logger.cache" on-invalid="ignore"/>
      </call>
    </service>
    <service id="cache.adapter.memcached" class="Symfony\Component\Cache\Adapter\MemcachedAdapter" abstract="true">
      <tag name="cache.pool" provider="cache.default_memcached_provider" clearer="cache.default_clearer" reset="reset"/>
      <tag name="monolog.logger" channel="cache"/>
      <argument type="abstract">Memcached connection service</argument>
      <argument></argument>
      <argument>0</argument>
      <argument type="service" id="cache.default_marshaller" on-invalid="ignore"/>
      <call method="setLogger">
        <argument type="service" id="monolog.logger.cache" on-invalid="ignore"/>
      </call>
    </service>
    <service id="cache.adapter.pdo" class="Symfony\Component\Cache\Adapter\PdoAdapter" abstract="true">
      <tag name="cache.pool" provider="cache.default_pdo_provider" clearer="cache.default_clearer" reset="reset"/>
      <tag name="monolog.logger" channel="cache"/>
      <argument type="abstract">PDO connection service</argument>
      <argument></argument>
      <argument>0</argument>
      <argument type="collection"/>
      <argument type="service" id="cache.default_marshaller" on-invalid="ignore"/>
      <call method="setLogger">
        <argument type="service" id="monolog.logger.cache" on-invalid="ignore"/>
      </call>
    </service>
    <service id="cache.adapter.array" class="Symfony\Component\Cache\Adapter\ArrayAdapter" abstract="true">
      <tag name="cache.pool" clearer="cache.default_clearer" reset="reset"/>
      <tag name="monolog.logger" channel="cache"/>
      <argument>0</argument>
      <call method="setLogger">
        <argument type="service" id="monolog.logger.cache" on-invalid="ignore"/>
      </call>
    </service>
    <service id="cache.default_marshaller" class="Symfony\Component\Cache\Marshaller\DefaultMarshaller">
      <argument>null</argument>
    </service>
    <service id="cache.default_clearer" class="Symfony\Component\HttpKernel\CacheClearer\Psr6CacheClearer">
      <tag name="cache.pool.clearer"/>
      <argument type="collection">
        <argument key="cache.app" type="service" id="cache.app" on-invalid="ignore_uninitialized"/>
      </argument>
    </service>
    <service id="cache.system_clearer" class="Symfony\Component\HttpKernel\CacheClearer\Psr6CacheClearer" public="true">
      <tag name="cache.pool.clearer"/>
      <tag name="kernel.cache_clearer"/>
      <argument type="collection">
        <argument key="cache.system" type="service" id="cache.system" on-invalid="ignore_uninitialized"/>
        <argument key="cache.validator" type="service" id="cache.validator" on-invalid="ignore_uninitialized"/>
        <argument key="cache.serializer" type="service" id="cache.serializer" on-invalid="ignore_uninitialized"/>
        <argument key="cache.annotations" type="service" id="cache.annotations" on-invalid="ignore_uninitialized"/>
        <argument key="cache.property_info" type="service" id="cache.property_info" on-invalid="ignore_uninitialized"/>
        <argument key="cache.validator_expression_language" type="service" id="cache.validator_expression_language" on-invalid="ignore_uninitialized"/>
        <argument key="cache.security_expression_language" type="service" id="cache.security_expression_language" on-invalid="ignore_uninitialized"/>
      </argument>
    </service>
    <service id="cache.global_clearer" class="Symfony\Component\HttpKernel\CacheClearer\Psr6CacheClearer" public="true">
      <tag name="cache.pool.clearer"/>
      <argument type="collection">
        <argument key="cache.app" type="service" id="cache.app" on-invalid="ignore_uninitialized"/>
        <argument key="cache.system" type="service" id="cache.system" on-invalid="ignore_uninitialized"/>
        <argument key="cache.validator" type="service" id="cache.validator" on-invalid="ignore_uninitialized"/>
        <argument key="cache.serializer" type="service" id="cache.serializer" on-invalid="ignore_uninitialized"/>
        <argument key="cache.annotations" type="service" id="cache.annotations" on-invalid="ignore_uninitialized"/>
        <argument key="cache.property_info" type="service" id="cache.property_info" on-invalid="ignore_uninitialized"/>
        <argument key="cache.validator_expression_language" type="service" id="cache.validator_expression_language" on-invalid="ignore_uninitialized"/>
        <argument key="cache.security_expression_language" type="service" id="cache.security_expression_language" on-invalid="ignore_uninitialized"/>
      </argument>
    </service>
    <service id="identity_translator" class="Symfony\Component\Translation\IdentityTranslator"/>
    <service id=".cache_connection.cmbaXc1" class="Symfony\Component\Cache\Adapter\AbstractAdapter">
      <argument>%env(resolve:REDIS_CACHE_DSN)%</argument>
      <argument type="collection">
        <argument key="lazy">true</argument>
      </argument>
      <factory class="Symfony\Component\Cache\Adapter\AbstractAdapter" method="createConnection"/>
    </service>
    <service id=".cache_connection.JKE6keX" class="Symfony\Component\Cache\Adapter\AbstractAdapter">
      <argument>memcached://localhost</argument>
      <argument type="collection">
        <argument key="lazy">true</argument>
      </argument>
      <factory class="Symfony\Component\Cache\Adapter\AbstractAdapter" method="createConnection"/>
    </service>
    <service id="cache.property_access" class="Symfony\Component\Cache\Adapter\ArrayAdapter">
      <argument>0</argument>
      <argument>false</argument>
    </service>
    <service id=".session.do-not-use" class="Symfony\Component\HttpFoundation\Session\Session">
      <factory service="session.factory" method="createSession"/>
    </service>
    <service id="session.factory" class="Symfony\Component\HttpFoundation\Session\SessionFactory">
      <argument type="service" id="request_stack"/>
      <argument type="service" id="session.storage.factory.service"/>
      <argument type="collection">
        <argument type="service" id="session_listener"/>
        <argument>onSessionUsage</argument>
      </argument>
    </service>
    <service id="session.storage.factory.native" class="Symfony\Component\HttpFoundation\Session\Storage\NativeSessionStorageFactory">
      <argument>%session.storage.options%</argument>
      <argument type="service" id="session.handler.native_file"/>
      <argument type="service">
        <service class="Symfony\Component\HttpFoundation\Session\Storage\MetadataBag">
          <argument>_sf2_meta</argument>
          <argument>0</argument>
        </service>
      </argument>
      <argument>false</argument>
    </service>
    <service id="session.storage.factory.php_bridge" class="Symfony\Component\HttpFoundation\Session\Storage\PhpBridgeSessionStorageFactory">
      <argument type="service" id="session.handler.native_file"/>
      <argument type="service">
        <service class="Symfony\Component\HttpFoundation\Session\Storage\MetadataBag">
          <argument>_sf2_meta</argument>
          <argument>0</argument>
        </service>
      </argument>
      <argument>false</argument>
    </service>
    <service id="session.storage.factory.mock_file" class="Symfony\Component\HttpFoundation\Session\Storage\MockFileSessionStorageFactory">
      <argument>C:/wamp64/www/devkit-lti1p3-master-tool/var/cache/dev/sessions</argument>
      <argument>MOCKSESSID</argument>
      <argument type="service">
        <service class="Symfony\Component\HttpFoundation\Session\Storage\MetadataBag">
          <argument>_sf2_meta</argument>
          <argument>0</argument>
        </service>
      </argument>
    </service>
    <service id="session.storage.factory.service" class="Symfony\Component\HttpFoundation\Session\Storage\ServiceSessionFactory">
      <argument type="service" id="session.storage.native"/>
      <deprecated package="symfony/framework-bundle" version="5.3">The "%service_id%" service is deprecated, use "session.storage.factory.native", "session.storage.factory.php_bridge" or "session.storage.factory.mock_file" instead.</deprecated>
    </service>
    <service id=".session.deprecated" class="Symfony\Component\HttpFoundation\Session\SessionInterface">
      <factory method="getSession">
        <service class="Symfony\Bundle\FrameworkBundle\Session\DeprecatedSessionFactory">
          <argument type="service" id="request_stack"/>
        </service>
      </factory>
    </service>
    <service id="session.storage.metadata_bag" class="Symfony\Component\HttpFoundation\Session\Storage\MetadataBag">
      <argument>_sf2_meta</argument>
      <argument>0</argument>
      <deprecated package="symfony/framework-bundle" version="5.3">The "%service_id%" service is deprecated, create your own "session.storage.factory" instead.</deprecated>
    </service>
    <service id="session.storage.native" class="Symfony\Component\HttpFoundation\Session\Storage\NativeSessionStorage">
      <argument>%session.storage.options%</argument>
      <argument>null</argument>
      <argument type="service" id="session.storage.metadata_bag"/>
      <deprecated package="symfony/framework-bundle" version="5.3">The "%service_id%" service is deprecated, use "session.storage.factory.native" instead.</deprecated>
    </service>
    <service id="session.storage.php_bridge" class="Symfony\Component\HttpFoundation\Session\Storage\PhpBridgeSessionStorage">
      <argument>null</argument>
      <argument type="service" id="session.storage.metadata_bag"/>
      <deprecated package="symfony/framework-bundle" version="5.3">The "%service_id%" service is deprecated, use "session.storage.factory.php_bridge" instead.</deprecated>
    </service>
    <service id="session.flash_bag" class="Symfony\Component\HttpFoundation\Session\Flash\FlashBag">
      <factory service=".session.do-not-use" method="getFlashBag"/>
      <deprecated package="symfony/framework-bundle" version="5.1">The "%service_id%" service is deprecated, use "$session-&gt;getFlashBag()" instead.</deprecated>
    </service>
    <service id="session.attribute_bag" class="Symfony\Component\HttpFoundation\Session\Attribute\AttributeBag">
      <argument>attributes</argument>
      <factory service=".session.do-not-use" method="getBag"/>
      <deprecated package="symfony/framework-bundle" version="5.1">The "%service_id%" service is deprecated, use "$session-&gt;getAttributeBag()" instead.</deprecated>
    </service>
    <service id="session.storage.mock_file" class="Symfony\Component\HttpFoundation\Session\Storage\MockFileSessionStorage">
      <argument>C:/wamp64/www/devkit-lti1p3-master-tool/var/cache/dev/sessions</argument>
      <argument>MOCKSESSID</argument>
      <argument type="service" id="session.storage.metadata_bag"/>
      <deprecated package="symfony/framework-bundle" version="5.3">The "%service_id%" service is deprecated, use "session.storage.factory.mock_file" instead.</deprecated>
    </service>
    <service id="session.handler.native_file" class="Symfony\Component\HttpFoundation\Session\Storage\Handler\StrictSessionHandler">
      <argument type="service">
        <service class="Symfony\Component\HttpFoundation\Session\Storage\Handler\NativeFileSessionHandler">
          <argument>C:/wamp64/www/devkit-lti1p3-master-tool/var/cache/dev/sessions</argument>
        </service>
      </argument>
    </service>
    <service id="session.abstract_handler" class="Symfony\Component\HttpFoundation\Session\Storage\Handler\AbstractSessionHandler">
      <argument type="abstract">A string or a connection object</argument>
      <factory class="Symfony\Component\HttpFoundation\Session\Storage\Handler\SessionHandlerFactory" method="createHandler"/>
    </service>
    <service id="session_listener" class="Symfony\Component\HttpKernel\EventListener\SessionListener">
      <tag name="kernel.event_subscriber"/>
      <tag name="container.hot_path"/>
      <tag name="container.hot_path"/>
      <tag name="container.hot_path"/>
      <argument type="service" id=".service_locator.4kgUM3R"/>
      <argument>true</argument>
    </service>
    <service id="session.marshaller" class="Symfony\Component\HttpFoundation\Session\Storage\Handler\IdentityMarshaller"/>
    <service id="security.csrf.token_generator" class="Symfony\Component\Security\Csrf\TokenGenerator\UriSafeTokenGenerator"/>
    <service id="security.csrf.token_storage" class="Symfony\Component\Security\Csrf\TokenStorage\SessionTokenStorage">
      <argument type="service" id="request_stack"/>
    </service>
    <service id="security.csrf.token_manager" class="Symfony\Component\Security\Csrf\CsrfTokenManager" public="true">
      <tag name="container.private" package="symfony/framework-bundle" version="5.2"/>
      <argument type="service" id="security.csrf.token_generator"/>
      <argument type="service" id="security.csrf.token_storage"/>
      <argument type="service" id="request_stack" on-invalid="ignore"/>
    </service>
    <service id="twig.runtime.security_csrf" class="Symfony\Bridge\Twig\Extension\CsrfRuntime">
      <tag name="twig.runtime"/>
      <argument type="service" id="security.csrf.token_manager"/>
    </service>
    <service id="twig.extension.security_csrf" class="Symfony\Bridge\Twig\Extension\CsrfExtension">
      <tag name="twig.extension"/>
    </service>
    <service id="form.resolved_type_factory" class="Symfony\Component\Form\ResolvedFormTypeFactory"/>
    <service id="form.registry" class="Symfony\Component\Form\FormRegistry">
      <argument type="collection">
        <argument type="service" id="form.extension"/>
      </argument>
      <argument type="service" id="form.resolved_type_factory"/>
    </service>
    <service id="form.factory" class="Symfony\Component\Form\FormFactory" public="true">
      <tag name="container.private" package="symfony/framework-bundle" version="5.2"/>
      <argument type="service" id="form.registry"/>
    </service>
    <service id="form.extension" class="Symfony\Component\Form\Extension\DependencyInjection\DependencyInjectionExtension">
      <argument type="service" id=".service_locator.EZ5YRp3"/>
      <argument type="collection">
        <argument key="Symfony\Component\Form\Extension\Core\Type\FormType" type="iterator">
          <argument type="service" id="form.type_extension.form.transformation_failure_handling"/>
          <argument type="service" id="form.type_extension.form.http_foundation"/>
          <argument type="service" id="form.type_extension.form.validator"/>
          <argument type="service" id="form.type_extension.upload.validator"/>
          <argument type="service" id="form.type_extension.csrf"/>
        </argument>
        <argument key="Symfony\Component\Form\Extension\Core\Type\RepeatedType" type="iterator">
          <argument type="service" id="form.type_extension.repeated.validator"/>
        </argument>
        <argument key="Symfony\Component\Form\Extension\Core\Type\SubmitType" type="iterator">
          <argument type="service" id="form.type_extension.submit.validator"/>
        </argument>
      </argument>
      <argument type="iterator">
        <argument type="service" id="form.type_guesser.validator"/>
      </argument>
    </service>
    <service id="form.type_guesser.validator" class="Symfony\Component\Form\Extension\Validator\ValidatorTypeGuesser">
      <tag name="form.type_guesser"/>
      <argument type="service" id="validator"/>
    </service>
    <service id="form.choice_list_factory.default" class="Symfony\Component\Form\ChoiceList\Factory\DefaultChoiceListFactory"/>
    <service id="form.choice_list_factory.property_access" class="Symfony\Component\Form\ChoiceList\Factory\PropertyAccessDecorator">
      <argument type="service" id="form.choice_list_factory.default"/>
      <argument type="service" id="property_accessor"/>
    </service>
    <service id="form.choice_list_factory.cached" class="Symfony\Component\Form\ChoiceList\Factory\CachingFactoryDecorator">
      <tag name="kernel.reset" method="reset"/>
      <argument type="service" id="form.choice_list_factory.property_access"/>
    </service>
    <service id="form.type.form" class="Symfony\Component\Form\Extension\Core\Type\FormType">
      <tag name="form.type"/>
      <argument type="service" id="property_accessor"/>
    </service>
    <service id="form.type.choice" class="Symfony\Component\Form\Extension\Core\Type\ChoiceType">
      <tag name="form.type"/>
      <argument type="service" id="form.choice_list_factory.cached"/>
      <argument type="service" id="translator.default" on-invalid="ignore"/>
    </service>
    <service id="form.type.file" class="Symfony\Component\Form\Extension\Core\Type\FileType" public="true">
      <tag name="form.type"/>
      <tag name="container.private" package="symfony/framework-bundle" version="5.2"/>
      <argument type="service" id="translator.default" on-invalid="ignore"/>
    </service>
    <service id="form.type.color" class="Symfony\Component\Form\Extension\Core\Type\ColorType">
      <tag name="form.type"/>
      <argument type="service" id="translator.default" on-invalid="ignore"/>
    </service>
    <service id="form.type_extension.form.transformation_failure_handling" class="Symfony\Component\Form\Extension\Core\Type\TransformationFailureExtension">
      <tag name="form.type_extension" extended-type="Symfony\Component\Form\Extension\Core\Type\FormType"/>
      <argument type="service" id="translator.default" on-invalid="ignore"/>
    </service>
    <service id="form.type_extension.form.http_foundation" class="Symfony\Component\Form\Extension\HttpFoundation\Type\FormTypeHttpFoundationExtension">
      <tag name="form.type_extension"/>
      <argument type="service" id="form.type_extension.form.request_handler"/>
    </service>
    <service id="form.type_extension.form.request_handler" class="Symfony\Component\Form\Extension\HttpFoundation\HttpFoundationRequestHandler">
      <argument type="service" id="form.server_params"/>
    </service>
    <service id="form.server_params" class="Symfony\Component\Form\Util\ServerParams">
      <argument type="service" id="request_stack"/>
    </service>
    <service id="form.type_extension.form.validator" class="Symfony\Component\Form\Extension\Validator\Type\FormTypeValidatorExtension">
      <tag name="form.type_extension" extended-type="Symfony\Component\Form\Extension\Core\Type\FormType"/>
      <argument type="service" id="validator"/>
      <argument>true</argument>
      <argument type="service" id="twig.form.renderer" on-invalid="ignore"/>
      <argument type="service" id="translator.default" on-invalid="ignore"/>
    </service>
    <service id="form.type_extension.repeated.validator" class="Symfony\Component\Form\Extension\Validator\Type\RepeatedTypeValidatorExtension">
      <tag name="form.type_extension"/>
    </service>
    <service id="form.type_extension.submit.validator" class="Symfony\Component\Form\Extension\Validator\Type\SubmitTypeValidatorExtension">
      <tag name="form.type_extension" extended-type="Symfony\Component\Form\Extension\Core\Type\SubmitType"/>
    </service>
    <service id="form.type_extension.upload.validator" class="Symfony\Component\Form\Extension\Validator\Type\UploadValidatorExtension">
      <tag name="form.type_extension"/>
      <argument type="service" id="translator.default"/>
      <argument>validators</argument>
    </service>
    <service id="form.type_extension.csrf" class="Symfony\Component\Form\Extension\Csrf\Type\FormTypeCsrfExtension">
      <tag name="form.type_extension"/>
      <argument type="service" id="security.csrf.token_manager"/>
      <argument>true</argument>
      <argument>_token</argument>
      <argument type="service" id="translator.default" on-invalid="null"/>
      <argument>validators</argument>
      <argument type="service" id="form.server_params"/>
    </service>
    <service id="validator" class="Symfony\Component\Validator\Validator\ValidatorInterface" public="true">
      <tag name="container.private" package="symfony/framework-bundle" version="5.2"/>
      <factory service="validator.builder" method="getValidator"/>
    </service>
    <service id="validator.builder" class="Symfony\Component\Validator\ValidatorBuilder">
      <call method="setConstraintValidatorFactory">
        <argument type="service" id="validator.validator_factory"/>
      </call>
      <call method="setTranslator">
        <argument type="service" id="translator.default" on-invalid="ignore"/>
      </call>
      <call method="setTranslationDomain">
        <argument>validators</argument>
      </call>
      <call method="addXmlMappings">
        <argument type="collection">
          <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\form/Resources/config/validation.xml</argument>
        </argument>
      </call>
      <call method="enableAnnotationMapping">
        <argument>true</argument>
      </call>
      <call method="setDoctrineAnnotationReader">
        <argument type="service" id="annotations.cached_reader"/>
      </call>
      <call method="addMethodMapping">
        <argument>loadValidatorMetadata</argument>
      </call>
      <call method="addObjectInitializers">
        <argument type="collection"/>
      </call>
      <call method="addLoader">
        <argument type="service" id="validator.property_info_loader"/>
      </call>
      <factory class="Symfony\Component\Validator\Validation" method="createValidatorBuilder"/>
    </service>
    <service id="validator.mapping.cache_warmer" class="Symfony\Bundle\FrameworkBundle\CacheWarmer\ValidatorCacheWarmer">
      <tag name="kernel.cache_warmer"/>
      <argument type="service" id="validator.builder"/>
      <argument>C:/wamp64/www/devkit-lti1p3-master-tool/var/cache/dev/validation.php</argument>
    </service>
    <service id="validator.mapping.cache.adapter" class="Symfony\Component\Cache\Adapter\PhpArrayAdapter">
      <argument>C:/wamp64/www/devkit-lti1p3-master-tool/var/cache/dev/validation.php</argument>
      <argument type="service" id="cache.validator"/>
      <factory class="Symfony\Component\Cache\Adapter\PhpArrayAdapter" method="create"/>
    </service>
    <service id="validator.validator_factory" class="Symfony\Component\Validator\ContainerConstraintValidatorFactory">
      <argument type="service" id=".service_locator.3EpoRs5"/>
    </service>
    <service id="validator.expression" class="Symfony\Component\Validator\Constraints\ExpressionValidator">
      <tag name="validator.constraint_validator" alias="validator.expression"/>
      <argument type="service" id="validator.expression_language" on-invalid="null"/>
    </service>
    <service id="validator.expression_language" class="Symfony\Component\ExpressionLanguage\ExpressionLanguage">
      <argument type="service" id="cache.validator_expression_language" on-invalid="null"/>
    </service>
    <service id="cache.validator_expression_language" class="Symfony\Component\Cache\Adapter\AdapterInterface" public="true">
      <tag name="cache.pool"/>
      <tag name="kernel.reset" method="reset"/>
      <argument>eapVzj5ggS</argument>
      <argument>0</argument>
      <argument>%container.build_id%</argument>
      <argument>C:/wamp64/www/devkit-lti1p3-master-tool/var/cache/dev/pools</argument>
      <argument type="service" id="monolog.logger.cache" on-invalid="ignore"/>
      <factory class="Symfony\Component\Cache\Adapter\AbstractAdapter" method="createSystemCache"/>
    </service>
    <service id="validator.email" class="Symfony\Component\Validator\Constraints\EmailValidator">
      <tag name="validator.constraint_validator" alias="Symfony\Component\Validator\Constraints\EmailValidator"/>
      <argument>html5</argument>
    </service>
    <service id="validator.not_compromised_password" class="Symfony\Component\Validator\Constraints\NotCompromisedPasswordValidator">
      <tag name="validator.constraint_validator" alias="Symfony\Component\Validator\Constraints\NotCompromisedPasswordValidator"/>
      <argument>null</argument>
      <argument>UTF-8</argument>
      <argument>true</argument>
      <argument>null</argument>
    </service>
    <service id="validator.property_info_loader" class="Symfony\Component\Validator\Mapping\Loader\PropertyInfoLoader">
      <tag name="validator.auto_mapper"/>
      <argument type="service" id="property_info"/>
      <argument type="service" id="property_info"/>
      <argument type="service" id="property_info"/>
      <argument>null</argument>
    </service>
    <service id="translator.default" class="Symfony\Bundle\FrameworkBundle\Translation\Translator">
      <tag name="kernel.locale_aware"/>
      <argument type="service" id=".service_locator.O24_MAy"/>
      <argument type="service" id="translator.formatter.default"/>
      <argument>en</argument>
      <argument type="collection">
        <argument key="translation.loader.php" type="collection">
          <argument>php</argument>
        </argument>
        <argument key="translation.loader.yml" type="collection">
          <argument>yaml</argument>
          <argument>yml</argument>
        </argument>
        <argument key="translation.loader.xliff" type="collection">
          <argument>xlf</argument>
          <argument>xliff</argument>
        </argument>
        <argument key="translation.loader.po" type="collection">
          <argument>po</argument>
        </argument>
        <argument key="translation.loader.mo" type="collection">
          <argument>mo</argument>
        </argument>
        <argument key="translation.loader.qt" type="collection">
          <argument>ts</argument>
        </argument>
        <argument key="translation.loader.csv" type="collection">
          <argument>csv</argument>
        </argument>
        <argument key="translation.loader.res" type="collection">
          <argument>res</argument>
        </argument>
        <argument key="translation.loader.dat" type="collection">
          <argument>dat</argument>
        </argument>
        <argument key="translation.loader.ini" type="collection">
          <argument>ini</argument>
        </argument>
        <argument key="translation.loader.json" type="collection">
          <argument>json</argument>
        </argument>
      </argument>
      <argument type="collection">
        <argument key="cache_dir">C:/wamp64/www/devkit-lti1p3-master-tool/var/cache/dev/translations</argument>
        <argument key="debug">true</argument>
        <argument key="resource_files" type="collection">
          <argument key="af" type="collection">
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\validator/Resources/translations\validators.af.xlf</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\form/Resources/translations\validators.af.xlf</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\security-core/Resources/translations\security.af.xlf</argument>
          </argument>
          <argument key="ar" type="collection">
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\validator/Resources/translations\validators.ar.xlf</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\form/Resources/translations\validators.ar.xlf</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\security-core/Resources/translations\security.ar.xlf</argument>
          </argument>
          <argument key="az" type="collection">
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\validator/Resources/translations\validators.az.xlf</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\form/Resources/translations\validators.az.xlf</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\security-core/Resources/translations\security.az.xlf</argument>
          </argument>
          <argument key="be" type="collection">
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\validator/Resources/translations\validators.be.xlf</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\form/Resources/translations\validators.be.xlf</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\security-core/Resources/translations\security.be.xlf</argument>
          </argument>
          <argument key="bg" type="collection">
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\validator/Resources/translations\validators.bg.xlf</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\form/Resources/translations\validators.bg.xlf</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\security-core/Resources/translations\security.bg.xlf</argument>
          </argument>
          <argument key="bs" type="collection">
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\validator/Resources/translations\validators.bs.xlf</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\form/Resources/translations\validators.bs.xlf</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\security-core/Resources/translations\security.bs.xlf</argument>
          </argument>
          <argument key="ca" type="collection">
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\validator/Resources/translations\validators.ca.xlf</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\form/Resources/translations\validators.ca.xlf</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\security-core/Resources/translations\security.ca.xlf</argument>
          </argument>
          <argument key="cs" type="collection">
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\validator/Resources/translations\validators.cs.xlf</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\form/Resources/translations\validators.cs.xlf</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\security-core/Resources/translations\security.cs.xlf</argument>
          </argument>
          <argument key="cy" type="collection">
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\validator/Resources/translations\validators.cy.xlf</argument>
          </argument>
          <argument key="da" type="collection">
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\validator/Resources/translations\validators.da.xlf</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\form/Resources/translations\validators.da.xlf</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\security-core/Resources/translations\security.da.xlf</argument>
          </argument>
          <argument key="de" type="collection">
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\validator/Resources/translations\validators.de.xlf</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\form/Resources/translations\validators.de.xlf</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\security-core/Resources/translations\security.de.xlf</argument>
          </argument>
          <argument key="el" type="collection">
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\validator/Resources/translations\validators.el.xlf</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\form/Resources/translations\validators.el.xlf</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\security-core/Resources/translations\security.el.xlf</argument>
          </argument>
          <argument key="en" type="collection">
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\validator/Resources/translations\validators.en.xlf</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\form/Resources/translations\validators.en.xlf</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\security-core/Resources/translations\security.en.xlf</argument>
          </argument>
          <argument key="es" type="collection">
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\validator/Resources/translations\validators.es.xlf</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\form/Resources/translations\validators.es.xlf</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\security-core/Resources/translations\security.es.xlf</argument>
          </argument>
          <argument key="et" type="collection">
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\validator/Resources/translations\validators.et.xlf</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\form/Resources/translations\validators.et.xlf</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\security-core/Resources/translations\security.et.xlf</argument>
          </argument>
          <argument key="eu" type="collection">
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\validator/Resources/translations\validators.eu.xlf</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\form/Resources/translations\validators.eu.xlf</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\security-core/Resources/translations\security.eu.xlf</argument>
          </argument>
          <argument key="fa" type="collection">
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\validator/Resources/translations\validators.fa.xlf</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\form/Resources/translations\validators.fa.xlf</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\security-core/Resources/translations\security.fa.xlf</argument>
          </argument>
          <argument key="fi" type="collection">
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\validator/Resources/translations\validators.fi.xlf</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\form/Resources/translations\validators.fi.xlf</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\security-core/Resources/translations\security.fi.xlf</argument>
          </argument>
          <argument key="fr" type="collection">
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\validator/Resources/translations\validators.fr.xlf</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\form/Resources/translations\validators.fr.xlf</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\security-core/Resources/translations\security.fr.xlf</argument>
          </argument>
          <argument key="gl" type="collection">
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\validator/Resources/translations\validators.gl.xlf</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\form/Resources/translations\validators.gl.xlf</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\security-core/Resources/translations\security.gl.xlf</argument>
          </argument>
          <argument key="he" type="collection">
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\validator/Resources/translations\validators.he.xlf</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\form/Resources/translations\validators.he.xlf</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\security-core/Resources/translations\security.he.xlf</argument>
          </argument>
          <argument key="hr" type="collection">
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\validator/Resources/translations\validators.hr.xlf</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\form/Resources/translations\validators.hr.xlf</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\security-core/Resources/translations\security.hr.xlf</argument>
          </argument>
          <argument key="hu" type="collection">
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\validator/Resources/translations\validators.hu.xlf</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\form/Resources/translations\validators.hu.xlf</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\security-core/Resources/translations\security.hu.xlf</argument>
          </argument>
          <argument key="hy" type="collection">
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\validator/Resources/translations\validators.hy.xlf</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\form/Resources/translations\validators.hy.xlf</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\security-core/Resources/translations\security.hy.xlf</argument>
          </argument>
          <argument key="id" type="collection">
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\validator/Resources/translations\validators.id.xlf</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\form/Resources/translations\validators.id.xlf</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\security-core/Resources/translations\security.id.xlf</argument>
          </argument>
          <argument key="it" type="collection">
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\validator/Resources/translations\validators.it.xlf</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\form/Resources/translations\validators.it.xlf</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\security-core/Resources/translations\security.it.xlf</argument>
          </argument>
          <argument key="ja" type="collection">
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\validator/Resources/translations\validators.ja.xlf</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\form/Resources/translations\validators.ja.xlf</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\security-core/Resources/translations\security.ja.xlf</argument>
          </argument>
          <argument key="lb" type="collection">
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\validator/Resources/translations\validators.lb.xlf</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\form/Resources/translations\validators.lb.xlf</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\security-core/Resources/translations\security.lb.xlf</argument>
          </argument>
          <argument key="lt" type="collection">
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\validator/Resources/translations\validators.lt.xlf</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\form/Resources/translations\validators.lt.xlf</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\security-core/Resources/translations\security.lt.xlf</argument>
          </argument>
          <argument key="lv" type="collection">
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\validator/Resources/translations\validators.lv.xlf</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\form/Resources/translations\validators.lv.xlf</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\security-core/Resources/translations\security.lv.xlf</argument>
          </argument>
          <argument key="mn" type="collection">
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\validator/Resources/translations\validators.mn.xlf</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\form/Resources/translations\validators.mn.xlf</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\security-core/Resources/translations\security.mn.xlf</argument>
          </argument>
          <argument key="my" type="collection">
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\validator/Resources/translations\validators.my.xlf</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\form/Resources/translations\validators.my.xlf</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\security-core/Resources/translations\security.my.xlf</argument>
          </argument>
          <argument key="nb" type="collection">
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\validator/Resources/translations\validators.nb.xlf</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\form/Resources/translations\validators.nb.xlf</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\security-core/Resources/translations\security.nb.xlf</argument>
          </argument>
          <argument key="nl" type="collection">
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\validator/Resources/translations\validators.nl.xlf</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\form/Resources/translations\validators.nl.xlf</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\security-core/Resources/translations\security.nl.xlf</argument>
          </argument>
          <argument key="nn" type="collection">
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\validator/Resources/translations\validators.nn.xlf</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\form/Resources/translations\validators.nn.xlf</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\security-core/Resources/translations\security.nn.xlf</argument>
          </argument>
          <argument key="no" type="collection">
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\validator/Resources/translations\validators.no.xlf</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\form/Resources/translations\validators.no.xlf</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\security-core/Resources/translations\security.no.xlf</argument>
          </argument>
          <argument key="pl" type="collection">
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\validator/Resources/translations\validators.pl.xlf</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\form/Resources/translations\validators.pl.xlf</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\security-core/Resources/translations\security.pl.xlf</argument>
          </argument>
          <argument key="pt" type="collection">
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\validator/Resources/translations\validators.pt.xlf</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\form/Resources/translations\validators.pt.xlf</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\security-core/Resources/translations\security.pt.xlf</argument>
          </argument>
          <argument key="pt_BR" type="collection">
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\validator/Resources/translations\validators.pt_BR.xlf</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\form/Resources/translations\validators.pt_BR.xlf</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\security-core/Resources/translations\security.pt_BR.xlf</argument>
          </argument>
          <argument key="ro" type="collection">
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\validator/Resources/translations\validators.ro.xlf</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\form/Resources/translations\validators.ro.xlf</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\security-core/Resources/translations\security.ro.xlf</argument>
          </argument>
          <argument key="ru" type="collection">
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\validator/Resources/translations\validators.ru.xlf</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\form/Resources/translations\validators.ru.xlf</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\security-core/Resources/translations\security.ru.xlf</argument>
          </argument>
          <argument key="sk" type="collection">
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\validator/Resources/translations\validators.sk.xlf</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\form/Resources/translations\validators.sk.xlf</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\security-core/Resources/translations\security.sk.xlf</argument>
          </argument>
          <argument key="sl" type="collection">
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\validator/Resources/translations\validators.sl.xlf</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\form/Resources/translations\validators.sl.xlf</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\security-core/Resources/translations\security.sl.xlf</argument>
          </argument>
          <argument key="sq" type="collection">
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\validator/Resources/translations\validators.sq.xlf</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\form/Resources/translations\validators.sq.xlf</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\security-core/Resources/translations\security.sq.xlf</argument>
          </argument>
          <argument key="sr_Cyrl" type="collection">
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\validator/Resources/translations\validators.sr_Cyrl.xlf</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\form/Resources/translations\validators.sr_Cyrl.xlf</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\security-core/Resources/translations\security.sr_Cyrl.xlf</argument>
          </argument>
          <argument key="sr_Latn" type="collection">
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\validator/Resources/translations\validators.sr_Latn.xlf</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\form/Resources/translations\validators.sr_Latn.xlf</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\security-core/Resources/translations\security.sr_Latn.xlf</argument>
          </argument>
          <argument key="sv" type="collection">
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\validator/Resources/translations\validators.sv.xlf</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\form/Resources/translations\validators.sv.xlf</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\security-core/Resources/translations\security.sv.xlf</argument>
          </argument>
          <argument key="th" type="collection">
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\validator/Resources/translations\validators.th.xlf</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\form/Resources/translations\validators.th.xlf</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\security-core/Resources/translations\security.th.xlf</argument>
          </argument>
          <argument key="tl" type="collection">
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\validator/Resources/translations\validators.tl.xlf</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\form/Resources/translations\validators.tl.xlf</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\security-core/Resources/translations\security.tl.xlf</argument>
          </argument>
          <argument key="tr" type="collection">
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\validator/Resources/translations\validators.tr.xlf</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\form/Resources/translations\validators.tr.xlf</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\security-core/Resources/translations\security.tr.xlf</argument>
          </argument>
          <argument key="uk" type="collection">
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\validator/Resources/translations\validators.uk.xlf</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\form/Resources/translations\validators.uk.xlf</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\security-core/Resources/translations\security.uk.xlf</argument>
          </argument>
          <argument key="uz" type="collection">
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\validator/Resources/translations\validators.uz.xlf</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\form/Resources/translations\validators.uz.xlf</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\security-core/Resources/translations\security.uz.xlf</argument>
          </argument>
          <argument key="vi" type="collection">
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\validator/Resources/translations\validators.vi.xlf</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\form/Resources/translations\validators.vi.xlf</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\security-core/Resources/translations\security.vi.xlf</argument>
          </argument>
          <argument key="zh_CN" type="collection">
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\validator/Resources/translations\validators.zh_CN.xlf</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\form/Resources/translations\validators.zh_CN.xlf</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\security-core/Resources/translations\security.zh_CN.xlf</argument>
          </argument>
          <argument key="zh_TW" type="collection">
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\validator/Resources/translations\validators.zh_TW.xlf</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\form/Resources/translations\validators.zh_TW.xlf</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\security-core/Resources/translations\security.zh_TW.xlf</argument>
          </argument>
        </argument>
        <argument key="scanned_directories" type="collection">
          <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\validator/Resources/translations</argument>
          <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\form/Resources/translations</argument>
          <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\security-core/Resources/translations</argument>
          <argument>C:\wamp64\www\devkit-lti1p3-master-tool/translations</argument>
          <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\framework-bundle/translations</argument>
          <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\security-bundle/translations</argument>
          <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\oat-sa\bundle-lti1p3/translations</argument>
          <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\twig-bundle/translations</argument>
          <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\twig\extra-bundle/translations</argument>
          <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\monolog-bundle/translations</argument>
          <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\oat-sa\bundle-health-check/translations</argument>
          <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\sensio\framework-extra-bundle\src/translations</argument>
        </argument>
        <argument key="cache_vary" type="collection">
          <argument key="scanned_directories" type="collection">
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\validator/Resources/translations</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\form/Resources/translations</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\security-core/Resources/translations</argument>
            <argument>translations</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\framework-bundle/translations</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\security-bundle/translations</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\oat-sa\bundle-lti1p3/translations</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\twig-bundle/translations</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\twig\extra-bundle/translations</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\monolog-bundle/translations</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\oat-sa\bundle-health-check/translations</argument>
            <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\sensio\framework-extra-bundle\src/translations</argument>
          </argument>
        </argument>
      </argument>
      <argument type="collection">
        <argument>en</argument>
      </argument>
      <call method="setConfigCacheFactory">
        <argument type="service" id="config_cache_factory"/>
      </call>
      <call method="setFallbackLocales">
        <argument type="collection">
          <argument>en</argument>
        </argument>
      </call>
    </service>
    <service id="translator.logging" class="Symfony\Component\Translation\LoggingTranslator">
      <tag name="monolog.logger" channel="translation"/>
      <argument type="service" id="translator.logging.inner"/>
      <argument type="service" id="monolog.logger.translation"/>
    </service>
    <service id="translator.formatter.default" class="Symfony\Component\Translation\Formatter\MessageFormatter">
      <argument type="service" id="identity_translator"/>
    </service>
    <service id="translation.loader.php" class="Symfony\Component\Translation\Loader\PhpFileLoader">
      <tag name="translation.loader" alias="php"/>
    </service>
    <service id="translation.loader.yml" class="Symfony\Component\Translation\Loader\YamlFileLoader">
      <tag name="translation.loader" alias="yaml" legacy-alias="yml"/>
    </service>
    <service id="translation.loader.xliff" class="Symfony\Component\Translation\Loader\XliffFileLoader">
      <tag name="translation.loader" alias="xlf" legacy-alias="xliff"/>
    </service>
    <service id="translation.loader.po" class="Symfony\Component\Translation\Loader\PoFileLoader">
      <tag name="translation.loader" alias="po"/>
    </service>
    <service id="translation.loader.mo" class="Symfony\Component\Translation\Loader\MoFileLoader">
      <tag name="translation.loader" alias="mo"/>
    </service>
    <service id="translation.loader.qt" class="Symfony\Component\Translation\Loader\QtFileLoader">
      <tag name="translation.loader" alias="ts"/>
    </service>
    <service id="translation.loader.csv" class="Symfony\Component\Translation\Loader\CsvFileLoader">
      <tag name="translation.loader" alias="csv"/>
    </service>
    <service id="translation.loader.res" class="Symfony\Component\Translation\Loader\IcuResFileLoader">
      <tag name="translation.loader" alias="res"/>
    </service>
    <service id="translation.loader.dat" class="Symfony\Component\Translation\Loader\IcuDatFileLoader">
      <tag name="translation.loader" alias="dat"/>
    </service>
    <service id="translation.loader.ini" class="Symfony\Component\Translation\Loader\IniFileLoader">
      <tag name="translation.loader" alias="ini"/>
    </service>
    <service id="translation.loader.json" class="Symfony\Component\Translation\Loader\JsonFileLoader">
      <tag name="translation.loader" alias="json"/>
    </service>
    <service id="translation.dumper.php" class="Symfony\Component\Translation\Dumper\PhpFileDumper">
      <tag name="translation.dumper" alias="php"/>
    </service>
    <service id="translation.dumper.xliff" class="Symfony\Component\Translation\Dumper\XliffFileDumper">
      <tag name="translation.dumper" alias="xlf"/>
    </service>
    <service id="translation.dumper.po" class="Symfony\Component\Translation\Dumper\PoFileDumper">
      <tag name="translation.dumper" alias="po"/>
    </service>
    <service id="translation.dumper.mo" class="Symfony\Component\Translation\Dumper\MoFileDumper">
      <tag name="translation.dumper" alias="mo"/>
    </service>
    <service id="translation.dumper.yml" class="Symfony\Component\Translation\Dumper\YamlFileDumper">
      <tag name="translation.dumper" alias="yml"/>
    </service>
    <service id="translation.dumper.yaml" class="Symfony\Component\Translation\Dumper\YamlFileDumper">
      <tag name="translation.dumper" alias="yaml"/>
      <argument>yaml</argument>
    </service>
    <service id="translation.dumper.qt" class="Symfony\Component\Translation\Dumper\QtFileDumper">
      <tag name="translation.dumper" alias="ts"/>
    </service>
    <service id="translation.dumper.csv" class="Symfony\Component\Translation\Dumper\CsvFileDumper">
      <tag name="translation.dumper" alias="csv"/>
    </service>
    <service id="translation.dumper.ini" class="Symfony\Component\Translation\Dumper\IniFileDumper">
      <tag name="translation.dumper" alias="ini"/>
    </service>
    <service id="translation.dumper.json" class="Symfony\Component\Translation\Dumper\JsonFileDumper">
      <tag name="translation.dumper" alias="json"/>
    </service>
    <service id="translation.dumper.res" class="Symfony\Component\Translation\Dumper\IcuResFileDumper">
      <tag name="translation.dumper" alias="res"/>
    </service>
    <service id="translation.extractor.php" class="Symfony\Component\Translation\Extractor\PhpExtractor">
      <tag name="translation.extractor" alias="php"/>
    </service>
    <service id="translation.reader" class="Symfony\Component\Translation\Reader\TranslationReader">
      <call method="addLoader">
        <argument>php</argument>
        <argument type="service" id="translation.loader.php"/>
      </call>
      <call method="addLoader">
        <argument>yaml</argument>
        <argument type="service" id="translation.loader.yml"/>
      </call>
      <call method="addLoader">
        <argument>yml</argument>
        <argument type="service" id="translation.loader.yml"/>
      </call>
      <call method="addLoader">
        <argument>xlf</argument>
        <argument type="service" id="translation.loader.xliff"/>
      </call>
      <call method="addLoader">
        <argument>xliff</argument>
        <argument type="service" id="translation.loader.xliff"/>
      </call>
      <call method="addLoader">
        <argument>po</argument>
        <argument type="service" id="translation.loader.po"/>
      </call>
      <call method="addLoader">
        <argument>mo</argument>
        <argument type="service" id="translation.loader.mo"/>
      </call>
      <call method="addLoader">
        <argument>ts</argument>
        <argument type="service" id="translation.loader.qt"/>
      </call>
      <call method="addLoader">
        <argument>csv</argument>
        <argument type="service" id="translation.loader.csv"/>
      </call>
      <call method="addLoader">
        <argument>res</argument>
        <argument type="service" id="translation.loader.res"/>
      </call>
      <call method="addLoader">
        <argument>dat</argument>
        <argument type="service" id="translation.loader.dat"/>
      </call>
      <call method="addLoader">
        <argument>ini</argument>
        <argument type="service" id="translation.loader.ini"/>
      </call>
      <call method="addLoader">
        <argument>json</argument>
        <argument type="service" id="translation.loader.json"/>
      </call>
    </service>
    <service id="translation.extractor" class="Symfony\Component\Translation\Extractor\ChainExtractor">
      <call method="addExtractor">
        <argument>php</argument>
        <argument type="service" id="translation.extractor.php"/>
      </call>
      <call method="addExtractor">
        <argument>twig</argument>
        <argument type="service" id="twig.translation.extractor"/>
      </call>
    </service>
    <service id="translation.writer" class="Symfony\Component\Translation\Writer\TranslationWriter">
      <call method="addDumper">
        <argument>php</argument>
        <argument type="service" id="translation.dumper.php"/>
      </call>
      <call method="addDumper">
        <argument>xlf</argument>
        <argument type="service" id="translation.dumper.xliff"/>
      </call>
      <call method="addDumper">
        <argument>po</argument>
        <argument type="service" id="translation.dumper.po"/>
      </call>
      <call method="addDumper">
        <argument>mo</argument>
        <argument type="service" id="translation.dumper.mo"/>
      </call>
      <call method="addDumper">
        <argument>yml</argument>
        <argument type="service" id="translation.dumper.yml"/>
      </call>
      <call method="addDumper">
        <argument>yaml</argument>
        <argument type="service" id="translation.dumper.yaml"/>
      </call>
      <call method="addDumper">
        <argument>ts</argument>
        <argument type="service" id="translation.dumper.qt"/>
      </call>
      <call method="addDumper">
        <argument>csv</argument>
        <argument type="service" id="translation.dumper.csv"/>
      </call>
      <call method="addDumper">
        <argument>ini</argument>
        <argument type="service" id="translation.dumper.ini"/>
      </call>
      <call method="addDumper">
        <argument>json</argument>
        <argument type="service" id="translation.dumper.json"/>
      </call>
      <call method="addDumper">
        <argument>res</argument>
        <argument type="service" id="translation.dumper.res"/>
      </call>
    </service>
    <service id="translation.warmer" class="Symfony\Bundle\FrameworkBundle\CacheWarmer\TranslationsCacheWarmer">
      <tag name="container.service_subscriber" id="translator"/>
      <tag name="kernel.cache_warmer"/>
      <argument type="service" id=".service_locator.J4b.DPX.translation.warmer"/>
    </service>
    <service id="translation.provider_collection" class="Symfony\Component\Translation\Provider\TranslationProviderCollection">
      <argument type="collection"/>
      <factory service="translation.provider_collection_factory" method="fromConfig"/>
    </service>
    <service id="translation.provider_collection_factory" class="Symfony\Component\Translation\Provider\TranslationProviderCollectionFactory">
      <argument type="tagged_iterator" tag="translation.provider_factory"/>
      <argument type="collection"/>
    </service>
    <service id="translation.provider_factory.null" class="Symfony\Component\Translation\Provider\NullProviderFactory">
      <tag name="translation.provider_factory"/>
    </service>
    <service id="debug.debug_handlers_listener" class="Symfony\Component\HttpKernel\EventListener\DebugHandlersListener">
      <tag name="kernel.event_subscriber"/>
      <tag name="monolog.logger" channel="php"/>
      <tag name="container.hot_path"/>
      <argument>null</argument>
      <argument type="service" id="monolog.logger.php" on-invalid="null"/>
      <argument>null</argument>
      <argument>-1</argument>
      <argument>true</argument>
      <argument type="service" id="debug.file_link_formatter"/>
      <argument>true</argument>
      <argument type="service" id="monolog.logger.deprecation" on-invalid="null"/>
    </service>
    <service id="debug.file_link_formatter" class="Symfony\Component\HttpKernel\Debug\FileLinkFormatter">
      <argument>null</argument>
    </service>
    <service id="debug.stopwatch" class="Symfony\Component\Stopwatch\Stopwatch">
      <tag name="kernel.reset" method="reset"/>
      <argument>true</argument>
    </service>
    <service id="debug.event_dispatcher" class="Symfony\Component\HttpKernel\Debug\TraceableEventDispatcher">
      <tag name="container.hot_path"/>
      <tag name="event_dispatcher">event_dispatcher.dispatcher</tag>
      <tag name="monolog.logger" channel="event"/>
      <tag name="kernel.reset" method="reset"/>
      <argument type="service" id="debug.event_dispatcher.inner"/>
      <argument type="service" id="debug.stopwatch"/>
      <argument type="service" id="monolog.logger.event" on-invalid="null"/>
      <argument type="service" id="request_stack" on-invalid="null"/>
      <call method="addListener">
        <argument>kernel.exception</argument>
        <argument type="collection">
          <argument type="service_closure" id="App\EventSubscriber\ErrorHandlerSubscriber"/>
          <argument>onKernelException</argument>
        </argument>
        <argument>0</argument>
      </call>
      <call method="addListener">
        <argument>kernel.response</argument>
        <argument type="collection">
          <argument type="service_closure" id="response_listener"/>
          <argument>onKernelResponse</argument>
        </argument>
        <argument>0</argument>
      </call>
      <call method="addListener">
        <argument>kernel.response</argument>
        <argument type="collection">
          <argument type="service_closure" id="streamed_response_listener"/>
          <argument>onKernelResponse</argument>
        </argument>
        <argument>-1024</argument>
      </call>
      <call method="addListener">
        <argument>kernel.request</argument>
        <argument type="collection">
          <argument type="service_closure" id="locale_listener"/>
          <argument>setDefaultLocale</argument>
        </argument>
        <argument>100</argument>
      </call>
      <call method="addListener">
        <argument>kernel.request</argument>
        <argument type="collection">
          <argument type="service_closure" id="locale_listener"/>
          <argument>onKernelRequest</argument>
        </argument>
        <argument>16</argument>
      </call>
      <call method="addListener">
        <argument>kernel.finish_request</argument>
        <argument type="collection">
          <argument type="service_closure" id="locale_listener"/>
          <argument>onKernelFinishRequest</argument>
        </argument>
        <argument>0</argument>
      </call>
      <call method="addListener">
        <argument>kernel.request</argument>
        <argument type="collection">
          <argument type="service_closure" id="validate_request_listener"/>
          <argument>onKernelRequest</argument>
        </argument>
        <argument>256</argument>
      </call>
      <call method="addListener">
        <argument>kernel.response</argument>
        <argument type="collection">
          <argument type="service_closure" id="disallow_search_engine_index_response_listener"/>
          <argument>onResponse</argument>
        </argument>
        <argument>-255</argument>
      </call>
      <call method="addListener">
        <argument>kernel.controller_arguments</argument>
        <argument type="collection">
          <argument type="service_closure" id="exception_listener"/>
          <argument>onControllerArguments</argument>
        </argument>
        <argument>0</argument>
      </call>
      <call method="addListener">
        <argument>kernel.exception</argument>
        <argument type="collection">
          <argument type="service_closure" id="exception_listener"/>
          <argument>logKernelException</argument>
        </argument>
        <argument>0</argument>
      </call>
      <call method="addListener">
        <argument>kernel.exception</argument>
        <argument type="collection">
          <argument type="service_closure" id="exception_listener"/>
          <argument>onKernelException</argument>
        </argument>
        <argument>-128</argument>
      </call>
      <call method="addListener">
        <argument>kernel.response</argument>
        <argument type="collection">
          <argument type="service_closure" id="exception_listener"/>
          <argument>removeCspHeader</argument>
        </argument>
        <argument>-128</argument>
      </call>
      <call method="addListener">
        <argument>kernel.request</argument>
        <argument type="collection">
          <argument type="service_closure" id="locale_aware_listener"/>
          <argument>onKernelRequest</argument>
        </argument>
        <argument>15</argument>
      </call>
      <call method="addListener">
        <argument>kernel.finish_request</argument>
        <argument type="collection">
          <argument type="service_closure" id="locale_aware_listener"/>
          <argument>onKernelFinishRequest</argument>
        </argument>
        <argument>-15</argument>
      </call>
      <call method="addListener">
        <argument>console.error</argument>
        <argument type="collection">
          <argument type="service_closure" id="console.error_listener"/>
          <argument>onConsoleError</argument>
        </argument>
        <argument>-128</argument>
      </call>
      <call method="addListener">
        <argument>console.terminate</argument>
        <argument type="collection">
          <argument type="service_closure" id="console.error_listener"/>
          <argument>onConsoleTerminate</argument>
        </argument>
        <argument>-128</argument>
      </call>
      <call method="addListener">
        <argument>console.error</argument>
        <argument type="collection">
          <argument type="service_closure" id="console.suggest_missing_package_subscriber"/>
          <argument>onConsoleError</argument>
        </argument>
        <argument>0</argument>
      </call>
      <call method="addListener">
        <argument>kernel.request</argument>
        <argument type="collection">
          <argument type="service_closure" id="session_listener"/>
          <argument>onKernelRequest</argument>
        </argument>
        <argument>128</argument>
      </call>
      <call method="addListener">
        <argument>kernel.response</argument>
        <argument type="collection">
          <argument type="service_closure" id="session_listener"/>
          <argument>onKernelResponse</argument>
        </argument>
        <argument>-1000</argument>
      </call>
      <call method="addListener">
        <argument>kernel.finish_request</argument>
        <argument type="collection">
          <argument type="service_closure" id="session_listener"/>
          <argument>onFinishRequest</argument>
        </argument>
        <argument>0</argument>
      </call>
      <call method="addListener">
        <argument>kernel.request</argument>
        <argument type="collection">
          <argument type="service_closure" id="debug.debug_handlers_listener"/>
          <argument>configure</argument>
        </argument>
        <argument>2048</argument>
      </call>
      <call method="addListener">
        <argument>console.command</argument>
        <argument type="collection">
          <argument type="service_closure" id="debug.debug_handlers_listener"/>
          <argument>configure</argument>
        </argument>
        <argument>2048</argument>
      </call>
      <call method="addListener">
        <argument>kernel.request</argument>
        <argument type="collection">
          <argument type="service_closure" id="router_listener"/>
          <argument>onKernelRequest</argument>
        </argument>
        <argument>32</argument>
      </call>
      <call method="addListener">
        <argument>kernel.finish_request</argument>
        <argument type="collection">
          <argument type="service_closure" id="router_listener"/>
          <argument>onKernelFinishRequest</argument>
        </argument>
        <argument>0</argument>
      </call>
      <call method="addListener">
        <argument>kernel.exception</argument>
        <argument type="collection">
          <argument type="service_closure" id="router_listener"/>
          <argument>onKernelException</argument>
        </argument>
        <argument>-64</argument>
      </call>
      <call method="addListener">
        <argument>kernel.response</argument>
        <argument type="collection">
          <argument type="service_closure" id="security.rememberme.response_listener"/>
          <argument>onKernelResponse</argument>
        </argument>
        <argument>0</argument>
      </call>
      <call method="addListener">
        <argument>debug.security.authorization.vote</argument>
        <argument type="collection">
          <argument type="service_closure" id="debug.security.voter.vote_listener"/>
          <argument>onVoterVote</argument>
        </argument>
        <argument>0</argument>
      </call>
      <call method="addListener">
        <argument>kernel.request</argument>
        <argument type="collection">
          <argument type="service_closure" id="debug.security.firewall"/>
          <argument>configureLogoutUrlGenerator</argument>
        </argument>
        <argument>8</argument>
      </call>
      <call method="addListener">
        <argument>kernel.request</argument>
        <argument type="collection">
          <argument type="service_closure" id="debug.security.firewall"/>
          <argument>onKernelRequest</argument>
        </argument>
        <argument>8</argument>
      </call>
      <call method="addListener">
        <argument>kernel.finish_request</argument>
        <argument type="collection">
          <argument type="service_closure" id="debug.security.firewall"/>
          <argument>onKernelFinishRequest</argument>
        </argument>
        <argument>0</argument>
      </call>
      <call method="addListener">
        <argument>console.command</argument>
        <argument type="collection">
          <argument type="service_closure" id="monolog.handler.console"/>
          <argument>onCommand</argument>
        </argument>
        <argument>255</argument>
      </call>
      <call method="addListener">
        <argument>console.terminate</argument>
        <argument type="collection">
          <argument type="service_closure" id="monolog.handler.console"/>
          <argument>onTerminate</argument>
        </argument>
        <argument>-255</argument>
      </call>
      <call method="addListener">
        <argument>kernel.controller</argument>
        <argument type="collection">
          <argument type="service_closure" id="sensio_framework_extra.controller.listener"/>
          <argument>onKernelController</argument>
        </argument>
        <argument>0</argument>
      </call>
      <call method="addListener">
        <argument>kernel.controller</argument>
        <argument type="collection">
          <argument type="service_closure" id="sensio_framework_extra.converter.listener"/>
          <argument>onKernelController</argument>
        </argument>
        <argument>0</argument>
      </call>
      <call method="addListener">
        <argument>kernel.controller</argument>
        <argument type="collection">
          <argument type="service_closure" id="sensio_framework_extra.view.listener"/>
          <argument>onKernelController</argument>
        </argument>
        <argument>-128</argument>
      </call>
      <call method="addListener">
        <argument>kernel.view</argument>
        <argument type="collection">
          <argument type="service_closure" id="sensio_framework_extra.view.listener"/>
          <argument>onKernelView</argument>
        </argument>
        <argument>0</argument>
      </call>
      <call method="addListener">
        <argument>kernel.controller</argument>
        <argument type="collection">
          <argument type="service_closure" id="sensio_framework_extra.cache.listener"/>
          <argument>onKernelController</argument>
        </argument>
        <argument>0</argument>
      </call>
      <call method="addListener">
        <argument>kernel.response</argument>
        <argument type="collection">
          <argument type="service_closure" id="sensio_framework_extra.cache.listener"/>
          <argument>onKernelResponse</argument>
        </argument>
        <argument>0</argument>
      </call>
      <call method="addListener">
        <argument>kernel.controller_arguments</argument>
        <argument type="collection">
          <argument type="service_closure" id="sensio_framework_extra.security.listener"/>
          <argument>onKernelControllerArguments</argument>
        </argument>
        <argument>0</argument>
      </call>
      <call method="addListener">
        <argument>kernel.controller_arguments</argument>
        <argument type="collection">
          <argument type="service_closure" id="framework_extra_bundle.event.is_granted"/>
          <argument>onKernelControllerArguments</argument>
        </argument>
        <argument>0</argument>
      </call>
      <call method="addListener">
        <argument>Symfony\Component\Security\Http\Event\LogoutEvent</argument>
        <argument type="collection">
          <argument type="service_closure" id="security.logout.listener.csrf_token_clearing"/>
          <argument>onLogout</argument>
        </argument>
        <argument>0</argument>
      </call>
    </service>
    <service id="debug.controller_resolver" class="Symfony\Component\HttpKernel\Controller\TraceableControllerResolver">
      <tag name="monolog.logger" channel="request"/>
      <argument type="service" id="debug.controller_resolver.inner"/>
      <argument type="service" id="debug.stopwatch"/>
    </service>
    <service id="debug.argument_resolver" class="Symfony\Component\HttpKernel\Controller\TraceableArgumentResolver">
      <argument type="service" id="debug.argument_resolver.inner"/>
      <argument type="service" id="debug.stopwatch"/>
    </service>
    <service id="debug.log_processor" class="Symfony\Bridge\Monolog\Processor\DebugProcessor">
      <argument type="service" id="request_stack"/>
    </service>
    <service id="routing.resolver" class="Symfony\Component\Config\Loader\LoaderResolver">
      <call method="addLoader">
        <argument type="service" id="routing.loader.xml"/>
      </call>
      <call method="addLoader">
        <argument type="service" id="routing.loader.yml"/>
      </call>
      <call method="addLoader">
        <argument type="service" id="routing.loader.php"/>
      </call>
      <call method="addLoader">
        <argument type="service" id="routing.loader.glob"/>
      </call>
      <call method="addLoader">
        <argument type="service" id="routing.loader.directory"/>
      </call>
      <call method="addLoader">
        <argument type="service" id="routing.loader.container"/>
      </call>
      <call method="addLoader">
        <argument type="service" id="routing.loader.annotation"/>
      </call>
      <call method="addLoader">
        <argument type="service" id="routing.loader.annotation.directory"/>
      </call>
      <call method="addLoader">
        <argument type="service" id="routing.loader.annotation.file"/>
      </call>
    </service>
    <service id="routing.loader.xml" class="Symfony\Component\Routing\Loader\XmlFileLoader">
      <tag name="routing.loader"/>
      <argument type="service" id="file_locator"/>
      <argument>dev</argument>
    </service>
    <service id="routing.loader.yml" class="Symfony\Component\Routing\Loader\YamlFileLoader">
      <tag name="routing.loader"/>
      <argument type="service" id="file_locator"/>
      <argument>dev</argument>
    </service>
    <service id="routing.loader.php" class="Symfony\Component\Routing\Loader\PhpFileLoader">
      <tag name="routing.loader"/>
      <argument type="service" id="file_locator"/>
      <argument>dev</argument>
    </service>
    <service id="routing.loader.glob" class="Symfony\Component\Routing\Loader\GlobFileLoader">
      <tag name="routing.loader"/>
      <argument type="service" id="file_locator"/>
      <argument>dev</argument>
    </service>
    <service id="routing.loader.directory" class="Symfony\Component\Routing\Loader\DirectoryLoader">
      <tag name="routing.loader"/>
      <argument type="service" id="file_locator"/>
      <argument>dev</argument>
    </service>
    <service id="routing.loader.container" class="Symfony\Component\Routing\Loader\ContainerLoader">
      <tag name="routing.loader"/>
      <argument type="service" id=".service_locator.kODoftA"/>
      <argument>dev</argument>
    </service>
    <service id="routing.loader" class="Symfony\Bundle\FrameworkBundle\Routing\DelegatingLoader" public="true">
      <argument type="service" id="routing.resolver"/>
      <argument type="collection">
        <argument key="utf8">true</argument>
      </argument>
      <argument type="collection">
        <argument key="_locale">en</argument>
      </argument>
    </service>
    <service id="router.default" class="Symfony\Bundle\FrameworkBundle\Routing\Router">
      <tag name="monolog.logger" channel="router"/>
      <tag name="container.service_subscriber" id="routing.loader"/>
      <argument type="service" id=".service_locator.ahiv2oj.router.default"/>
      <argument>kernel::loadRoutes</argument>
      <argument type="collection">
        <argument key="cache_dir">C:/wamp64/www/devkit-lti1p3-master-tool/var/cache/dev</argument>
        <argument key="debug">true</argument>
        <argument key="generator_class">Symfony\Component\Routing\Generator\CompiledUrlGenerator</argument>
        <argument key="generator_dumper_class">Symfony\Component\Routing\Generator\Dumper\CompiledUrlGeneratorDumper</argument>
        <argument key="matcher_class">Symfony\Bundle\FrameworkBundle\Routing\RedirectableCompiledUrlMatcher</argument>
        <argument key="matcher_dumper_class">Symfony\Component\Routing\Matcher\Dumper\CompiledUrlMatcherDumper</argument>
        <argument key="strict_requirements">true</argument>
        <argument key="resource_type">service</argument>
      </argument>
      <argument type="service" id="router.request_context" on-invalid="ignore"/>
      <argument type="service" id="parameter_bag" on-invalid="ignore"/>
      <argument type="service" id="monolog.logger.router" on-invalid="ignore"/>
      <argument>en</argument>
      <call method="setConfigCacheFactory">
        <argument type="service" id="config_cache_factory"/>
      </call>
      <call method="addExpressionLanguageProvider">
        <argument type="service" id="router.expression_language_provider"/>
      </call>
    </service>
    <service id="router.request_context" class="Symfony\Component\Routing\RequestContext">
      <argument></argument>
      <argument>localhost</argument>
      <argument>http</argument>
      <argument>80</argument>
      <argument>443</argument>
      <call method="setParameter">
        <argument>_functions</argument>
        <argument type="service" id="router.expression_language_provider" on-invalid="ignore"/>
      </call>
      <factory class="Symfony\Component\Routing\RequestContext" method="fromUri"/>
    </service>
    <service id="router.expression_language_provider" class="Symfony\Component\Routing\Matcher\ExpressionLanguageProvider">
      <tag name="routing.expression_language_provider"/>
      <argument type="service" id=".service_locator.1ZPWTRB"/>
    </service>
    <service id="router.cache_warmer" class="Symfony\Bundle\FrameworkBundle\CacheWarmer\RouterCacheWarmer">
      <tag name="container.service_subscriber" id="router"/>
      <tag name="kernel.cache_warmer"/>
      <argument type="service" id=".service_locator.HLwzKIm.router.cache_warmer"/>
    </service>
    <service id="router_listener" class="Symfony\Component\HttpKernel\EventListener\RouterListener">
      <tag name="kernel.event_subscriber"/>
      <tag name="monolog.logger" channel="request"/>
      <tag name="container.hot_path"/>
      <tag name="container.hot_path"/>
      <argument type="service" id="router.default"/>
      <argument type="service" id="request_stack"/>
      <argument type="service" id="router.request_context" on-invalid="ignore"/>
      <argument type="service" id="monolog.logger.request" on-invalid="ignore"/>
      <argument>C:\wamp64\www\devkit-lti1p3-master-tool</argument>
      <argument>true</argument>
    </service>
    <service id="Symfony\Bundle\FrameworkBundle\Controller\RedirectController" class="Symfony\Bundle\FrameworkBundle\Controller\RedirectController" public="true">
      <argument type="service" id="router.default"/>
      <argument type="service">
        <service class="int">
          <factory service="router.request_context" method="getHttpPort"/>
        </service>
      </argument>
      <argument type="service">
        <service class="int">
          <factory service="router.request_context" method="getHttpsPort"/>
        </service>
      </argument>
    </service>
    <service id="Symfony\Bundle\FrameworkBundle\Controller\TemplateController" class="Symfony\Bundle\FrameworkBundle\Controller\TemplateController" public="true">
      <argument type="service" id="twig" on-invalid="ignore"/>
    </service>
    <service id="routing.loader.annotation" class="Symfony\Bundle\FrameworkBundle\Routing\AnnotatedRouteControllerLoader">
      <tag name="routing.loader" priority="-10"/>
      <argument type="service" id="annotations.cached_reader" on-invalid="null"/>
      <argument>dev</argument>
    </service>
    <service id="routing.loader.annotation.directory" class="Symfony\Component\Routing\Loader\AnnotationDirectoryLoader">
      <tag name="routing.loader" priority="-10"/>
      <argument type="service" id="file_locator"/>
      <argument type="service" id="routing.loader.annotation"/>
    </service>
    <service id="routing.loader.annotation.file" class="Symfony\Component\Routing\Loader\AnnotationFileLoader">
      <tag name="routing.loader" priority="-10"/>
      <argument type="service" id="file_locator"/>
      <argument type="service" id="routing.loader.annotation"/>
    </service>
    <service id="annotations.reader" class="Doctrine\Common\Annotations\AnnotationReader">
      <call method="addGlobalIgnoredName">
        <argument>required</argument>
        <argument type="service" id="annotations.dummy_registry"/>
      </call>
    </service>
    <service id="annotations.dummy_registry" class="Doctrine\Common\Annotations\AnnotationRegistry">
      <call method="registerUniqueLoader">
        <argument>class_exists</argument>
      </call>
    </service>
    <service id="annotations.filesystem_cache_adapter" class="Symfony\Component\Cache\Adapter\FilesystemAdapter">
      <argument></argument>
      <argument>0</argument>
      <argument type="abstract">Cache-Directory</argument>
    </service>
    <service id="annotations.filesystem_cache" class="Symfony\Component\Cache\DoctrineProvider">
      <argument type="service" id="annotations.filesystem_cache_adapter"/>
    </service>
    <service id="annotations.cache_warmer" class="Symfony\Bundle\FrameworkBundle\CacheWarmer\AnnotationsCacheWarmer">
      <tag name="kernel.cache_warmer"/>
      <argument type="service" id="annotations.reader"/>
      <argument>C:/wamp64/www/devkit-lti1p3-master-tool/var/cache/dev/annotations.php</argument>
      <argument>#^Symfony\\(?:Component\\HttpKernel\\|Bundle\\FrameworkBundle\\Controller\\(?!.*Controller$))#</argument>
      <argument>true</argument>
    </service>
    <service id="annotations.cache_adapter" class="Symfony\Component\Cache\Adapter\PhpArrayAdapter">
      <tag name="container.hot_path"/>
      <argument>C:/wamp64/www/devkit-lti1p3-master-tool/var/cache/dev/annotations.php</argument>
      <argument type="service" id="cache.annotations"/>
      <factory class="Symfony\Component\Cache\Adapter\PhpArrayAdapter" method="create"/>
    </service>
    <service id="annotations.cache" class="Symfony\Component\Cache\DoctrineProvider">
      <tag name="container.hot_path"/>
      <argument type="service" id="annotations.cache_adapter"/>
    </service>
    <service id="annotations.cached_reader" class="Doctrine\Common\Annotations\PsrCachedReader">
      <tag name="annotations.cached_reader"/>
      <argument type="service" id="annotations.reader"/>
      <argument type="service">
        <service class="Symfony\Component\Cache\Adapter\ArrayAdapter"/>
      </argument>
      <argument>true</argument>
      <property name="cacheProviderBackup" type="service_closure" id="annotations.cache_adapter"/>
    </service>
    <service id="property_accessor" class="Symfony\Component\PropertyAccess\PropertyAccessor">
      <argument>3</argument>
      <argument>2</argument>
      <argument type="service" id="cache.property_access" on-invalid="ignore"/>
      <argument type="service" id="property_info.reflection_extractor" on-invalid="null"/>
      <argument type="service" id="property_info.reflection_extractor" on-invalid="null"/>
    </service>
    <service id="secrets.vault" class="Symfony\Bundle\FrameworkBundle\Secrets\SodiumVault">
      <tag name="container.env_var_loader"/>
      <argument>C:\wamp64\www\devkit-lti1p3-master-tool/config/secrets/%env(default:kernel.environment:APP_RUNTIME_ENV)%</argument>
      <argument type="service" id="secrets.decryption_key" on-invalid="ignore"/>
    </service>
    <service id="secrets.decryption_key" class="Symfony\Component\String\LazyString">
      <argument type="service" id="container.getenv"/>
      <argument>base64:default::SYMFONY_DECRYPTION_SECRET</argument>
      <factory class="Symfony\Component\String\LazyString" method="fromCallable"/>
    </service>
    <service id="secrets.local_vault" class="Symfony\Bundle\FrameworkBundle\Secrets\DotenvVault">
      <argument>C:\wamp64\www\devkit-lti1p3-master-tool/.env.dev.local</argument>
    </service>
    <service id="property_info" class="Symfony\Component\PropertyInfo\PropertyInfoExtractor">
      <argument type="iterator">
        <argument type="service" id="property_info.reflection_extractor"/>
      </argument>
      <argument type="iterator">
        <argument type="service" id="property_info.reflection_extractor"/>
      </argument>
      <argument type="iterator"/>
      <argument type="iterator">
        <argument type="service" id="property_info.reflection_extractor"/>
      </argument>
      <argument type="iterator">
        <argument type="service" id="property_info.reflection_extractor"/>
      </argument>
    </service>
    <service id="property_info.reflection_extractor" class="Symfony\Component\PropertyInfo\Extractor\ReflectionExtractor">
      <tag name="property_info.list_extractor" priority="-1000"/>
      <tag name="property_info.type_extractor" priority="-1002"/>
      <tag name="property_info.access_extractor" priority="-1000"/>
      <tag name="property_info.initializable_extractor" priority="-1000"/>
    </service>
    <service id="security.authorization_checker" class="Symfony\Component\Security\Core\Authorization\AuthorizationChecker" public="true">
      <tag name="container.private" package="symfony/security-bundle" version="5.3"/>
      <argument type="service" id="security.token_storage"/>
      <argument type="service" id="security.authentication.manager"/>
      <argument type="service" id="debug.security.access.decision_manager"/>
      <argument>false</argument>
    </service>
    <service id="security.token_storage" class="Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage" public="true">
      <tag name="kernel.reset" method="disableUsageTracking"/>
      <tag name="kernel.reset" method="setToken"/>
      <tag name="container.private" package="symfony/security-bundle" version="5.3"/>
      <argument type="service" id="security.untracked_token_storage"/>
      <argument type="service" id=".service_locator.LcVn9Hr"/>
    </service>
    <service id="security.untracked_token_storage" class="Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorage"/>
    <service id="security.helper" class="Symfony\Component\Security\Core\Security">
      <argument type="service" id=".service_locator.aa1PbBb"/>
    </service>
    <service id="security.authentication.trust_resolver" class="Symfony\Component\Security\Core\Authentication\AuthenticationTrustResolver"/>
    <service id="security.authentication.session_strategy" class="Symfony\Component\Security\Http\Session\SessionAuthenticationStrategy">
      <argument>migrate</argument>
    </service>
    <service id="security.authentication.session_strategy_noop" class="Symfony\Component\Security\Http\Session\SessionAuthenticationStrategy">
      <argument>none</argument>
    </service>
    <service id="security.encoder_factory.generic" class="Symfony\Component\Security\Core\Encoder\EncoderFactory">
      <argument type="collection"/>
      <deprecated package="symfony/security-bundle" version="5.3">The "%service_id%" service is deprecated, use "security.password_hasher_factory" instead.</deprecated>
    </service>
    <service id="security.user_password_encoder.generic" class="Symfony\Component\Security\Core\Encoder\UserPasswordEncoder">
      <argument type="service" id="security.encoder_factory.generic"/>
      <deprecated package="symfony/security-bundle" version="5.3">The "%service_id%" service is deprecated, use "security.user_password_hasher" instead.</deprecated>
    </service>
    <service id="security.user_checker" class="Symfony\Component\Security\Core\User\InMemoryUserChecker"/>
    <service id="security.expression_language" class="Symfony\Component\Security\Core\Authorization\ExpressionLanguage">
      <argument type="service" id="cache.security_expression_language" on-invalid="null"/>
    </service>
    <service id="security.authentication_utils" class="Symfony\Component\Security\Http\Authentication\AuthenticationUtils">
      <argument type="service" id="request_stack"/>
    </service>
    <service id="security.role_hierarchy" class="Symfony\Component\Security\Core\Role\RoleHierarchy">
      <argument type="collection"/>
    </service>
    <service id="security.access.simple_role_voter" class="Symfony\Component\Security\Core\Authorization\Voter\RoleVoter">
      <tag name="security.voter" priority="245"/>
    </service>
    <service id="security.access.authenticated_voter" class="Symfony\Component\Security\Core\Authorization\Voter\AuthenticatedVoter">
      <tag name="security.voter" priority="250"/>
      <argument type="service" id="security.authentication.trust_resolver"/>
    </service>
    <service id="security.access.expression_voter" class="Symfony\Component\Security\Core\Authorization\Voter\ExpressionVoter">
      <tag name="security.voter" priority="245"/>
      <argument type="service" id="security.expression_language"/>
      <argument type="service" id="security.authentication.trust_resolver"/>
      <argument type="service" id="security.authorization_checker"/>
      <argument type="service" id="security.role_hierarchy" on-invalid="null"/>
    </service>
    <service id="security.impersonate_url_generator" class="Symfony\Component\Security\Http\Impersonate\ImpersonateUrlGenerator">
      <argument type="service" id="request_stack"/>
      <argument type="service" id="security.firewall.map"/>
      <argument type="service" id="security.token_storage"/>
    </service>
    <service id="security.firewall.map" class="Symfony\Bundle\SecurityBundle\Security\FirewallMap">
      <argument type="service" id=".service_locator.woayXYb"/>
      <argument type="iterator">
        <argument key="security.firewall.map.context.api_area" type="service" id=".security.request_matcher.uTv4pMG"/>
        <argument key="security.firewall.map.context.tool_message_area" type="service" id=".security.request_matcher.HRPSYGr"/>
        <argument key="security.firewall.map.context.platform_message_area" type="service" id=".security.request_matcher.wgRKfrZ"/>
        <argument key="security.firewall.map.context.platform_service_ags_area" type="service" id=".security.request_matcher.g_t_xUy"/>
        <argument key="security.firewall.map.context.platform_service_nrps_area" type="service" id=".security.request_matcher.vclP4lx"/>
        <argument key="security.firewall.map.context.platform_service_acs_area" type="service" id=".security.request_matcher.t3eZ3_k"/>
        <argument key="security.firewall.map.context.platform_service_basic_outcome_area" type="service" id=".security.request_matcher.w4LHzzl"/>
        <argument key="security.firewall.map.context.dev" type="service" id=".security.request_matcher.Iy.T22O"/>
        <argument key="security.firewall.map.context.main">null</argument>
      </argument>
    </service>
    <service id="security.firewall.context" class="Symfony\Bundle\SecurityBundle\Security\FirewallContext" abstract="true">
      <argument type="collection"/>
      <argument type="service" id="security.exception_listener"/>
      <argument type="abstract">LogoutListener</argument>
      <argument type="abstract">FirewallConfig</argument>
    </service>
    <service id="security.firewall.lazy_context" class="Symfony\Bundle\SecurityBundle\Security\LazyFirewallContext" abstract="true">
      <argument type="collection"/>
      <argument type="service" id="security.exception_listener"/>
      <argument type="abstract">LogoutListener</argument>
      <argument type="abstract">FirewallConfig</argument>
      <argument type="service" id="security.untracked_token_storage"/>
    </service>
    <service id="security.firewall.config" class="Symfony\Bundle\SecurityBundle\Security\FirewallConfig" abstract="true">
      <argument type="abstract">name</argument>
      <argument type="abstract">user_checker</argument>
      <argument type="abstract">request_matcher</argument>
      <argument>false</argument>
      <argument>false</argument>
      <argument>null</argument>
      <argument>null</argument>
      <argument>null</argument>
      <argument>null</argument>
      <argument>null</argument>
      <argument type="collection"/>
      <argument>null</argument>
    </service>
    <service id="security.logout_url_generator" class="Symfony\Component\Security\Http\Logout\LogoutUrlGenerator">
      <argument type="service" id="request_stack" on-invalid="null"/>
      <argument type="service" id="router.default" on-invalid="null"/>
      <argument type="service" id="security.token_storage" on-invalid="null"/>
    </service>
    <service id="security.user.provider.missing" class="Symfony\Component\Security\Core\User\MissingUserProvider" abstract="true">
      <argument type="abstract">firewall</argument>
    </service>
    <service id="security.user.provider.in_memory" class="Symfony\Component\Security\Core\User\InMemoryUserProvider" abstract="true"/>
    <service id="security.user.provider.ldap" class="Symfony\Component\Ldap\Security\LdapUserProvider" abstract="true">
      <argument type="abstract">security.ldap.ldap</argument>
      <argument type="abstract">base dn</argument>
      <argument type="abstract">search dn</argument>
      <argument type="abstract">search password</argument>
      <argument type="abstract">default_roles</argument>
      <argument type="abstract">uid key</argument>
      <argument type="abstract">filter</argument>
      <argument type="abstract">password_attribute</argument>
      <argument type="abstract">extra_fields (email etc)</argument>
    </service>
    <service id="security.user.provider.chain" class="Symfony\Component\Security\Core\User\ChainUserProvider" abstract="true"/>
    <service id="security.http_utils" class="Symfony\Component\Security\Http\HttpUtils">
      <argument type="service" id="router.default" on-invalid="null"/>
      <argument type="service" id="router.default" on-invalid="null"/>
      <argument>{^https?://%%s$}i</argument>
      <argument>{^https://%%s$}i</argument>
    </service>
    <service id="security.validator.user_password" class="Symfony\Component\Security\Core\Validator\Constraints\UserPasswordValidator">
      <tag name="validator.constraint_validator" alias="security.validator.user_password"/>
      <argument type="service" id="security.token_storage"/>
      <argument type="service" id="security.password_hasher_factory"/>
    </service>
    <service id="cache.security_expression_language" class="Symfony\Component\Cache\Adapter\AdapterInterface">
      <tag name="cache.pool"/>
      <tag name="kernel.reset" method="reset"/>
      <argument>VU5kvcHsba</argument>
      <argument>0</argument>
      <argument>%container.build_id%</argument>
      <argument>C:/wamp64/www/devkit-lti1p3-master-tool/var/cache/dev/pools</argument>
      <argument type="service" id="monolog.logger.cache" on-invalid="ignore"/>
      <factory class="Symfony\Component\Cache\Adapter\AbstractAdapter" method="createSystemCache"/>
    </service>
    <service id="security.password_hasher_factory" class="Symfony\Component\PasswordHasher\Hasher\PasswordHasherFactory">
      <argument type="collection"/>
    </service>
    <service id="security.user_password_hasher" class="Symfony\Component\PasswordHasher\Hasher\UserPasswordHasher">
      <argument type="service" id="security.password_hasher_factory"/>
    </service>
    <service id="security.authentication.retry_entry_point" class="Symfony\Component\Security\Http\EntryPoint\RetryAuthenticationEntryPoint">
      <argument type="service">
        <service class="int">
          <factory service="router.request_context" method="getHttpPort"/>
        </service>
      </argument>
      <argument type="service">
        <service class="int">
          <factory service="router.request_context" method="getHttpsPort"/>
        </service>
      </argument>
    </service>
    <service id="security.authentication.basic_entry_point" class="Symfony\Component\Security\Http\EntryPoint\BasicAuthenticationEntryPoint"/>
    <service id="security.channel_listener" class="Symfony\Component\Security\Http\Firewall\ChannelListener">
      <tag name="monolog.logger" channel="security"/>
      <argument type="service" id="security.access_map"/>
      <argument type="service" id="security.authentication.retry_entry_point"/>
      <argument type="service" id="monolog.logger.security" on-invalid="null"/>
    </service>
    <service id="security.access_map" class="Symfony\Component\Security\Http\AccessMap"/>
    <service id="security.context_listener" class="Symfony\Component\Security\Http\Firewall\ContextListener">
      <tag name="monolog.logger" channel="security"/>
      <argument type="service" id="security.untracked_token_storage"/>
      <argument type="iterator">
        <argument type="service" id="security.user.provider.concrete.users_in_memory"/>
      </argument>
      <argument type="abstract">Provider Key</argument>
      <argument type="service" id="monolog.logger.security" on-invalid="null"/>
      <argument type="service" id="debug.event_dispatcher" on-invalid="null"/>
      <argument type="service" id="security.authentication.trust_resolver"/>
      <argument type="collection">
        <argument type="service" id="security.token_storage"/>
        <argument>enableUsageTracking</argument>
      </argument>
    </service>
    <service id="security.logout_listener" class="Symfony\Component\Security\Http\Firewall\LogoutListener" abstract="true">
      <argument type="service" id="security.token_storage"/>
      <argument type="service" id="security.http_utils"/>
      <argument type="abstract">event dispatcher</argument>
      <argument type="collection"/>
    </service>
    <service id="security.logout.listener.session" class="Symfony\Component\Security\Http\EventListener\SessionLogoutListener" abstract="true"/>
    <service id="security.logout.listener.cookie_clearing" class="Symfony\Component\Security\Http\EventListener\CookieClearingLogoutListener" abstract="true"/>
    <service id="security.logout.listener.default" class="Symfony\Component\Security\Http\EventListener\DefaultLogoutListener" abstract="true">
      <argument type="service" id="security.http_utils"/>
      <argument type="abstract">target url</argument>
    </service>
    <service id="security.authentication.form_entry_point" class="Symfony\Component\Security\Http\EntryPoint\FormAuthenticationEntryPoint" abstract="true">
      <argument type="service" id="http_kernel"/>
    </service>
    <service id="security.authentication.listener.abstract" abstract="true">
      <tag name="monolog.logger" channel="security"/>
      <argument type="service" id="security.token_storage"/>
      <argument type="service" id="security.authentication.manager"/>
      <argument type="service" id="security.authentication.session_strategy"/>
      <argument type="service" id="security.http_utils"/>
      <argument type="abstract">Provider-shared Key</argument>
      <argument type="service" id="security.authentication.success_handler"/>
      <argument type="service" id="security.authentication.failure_handler"/>
      <argument type="collection"/>
      <argument type="service" id="monolog.logger.security" on-invalid="null"/>
      <argument type="service" id="debug.event_dispatcher" on-invalid="null"/>
    </service>
    <service id="security.authentication.custom_success_handler" class="Symfony\Component\Security\Http\Authentication\CustomAuthenticationSuccessHandler" abstract="true">
      <argument type="abstract">The custom success handler service</argument>
      <argument type="collection"/>
      <argument type="abstract">Provider-shared Key</argument>
    </service>
    <service id="security.authentication.success_handler" class="Symfony\Component\Security\Http\Authentication\DefaultAuthenticationSuccessHandler" abstract="true">
      <argument type="service" id="security.http_utils"/>
      <argument type="collection"/>
    </service>
    <service id="security.authentication.custom_failure_handler" class="Symfony\Component\Security\Http\Authentication\CustomAuthenticationFailureHandler" abstract="true">
      <argument type="abstract">The custom failure handler service</argument>
      <argument type="collection"/>
    </service>
    <service id="security.authentication.failure_handler" class="Symfony\Component\Security\Http\Authentication\DefaultAuthenticationFailureHandler" abstract="true">
      <tag name="monolog.logger" channel="security"/>
      <argument type="service" id="http_kernel"/>
      <argument type="service" id="security.http_utils"/>
      <argument type="collection"/>
      <argument type="service" id="monolog.logger.security" on-invalid="null"/>
    </service>
    <service id="security.exception_listener" class="Symfony\Component\Security\Http\Firewall\ExceptionListener" abstract="true">
      <tag name="monolog.logger" channel="security"/>
      <argument type="service" id="security.token_storage"/>
      <argument type="service" id="security.authentication.trust_resolver"/>
      <argument type="service" id="security.http_utils"/>
      <argument type="abstract">Provider-shared Key</argument>
      <argument type="service" id="security.authentication.entry_point" on-invalid="null"/>
      <argument>null</argument>
      <argument type="service" id="security.access.denied_handler" on-invalid="null"/>
      <argument type="service" id="monolog.logger.security" on-invalid="null"/>
      <argument>false</argument>
    </service>
    <service id="security.authentication.switchuser_listener" class="Symfony\Component\Security\Http\Firewall\SwitchUserListener" abstract="true">
      <tag name="monolog.logger" channel="security"/>
      <argument type="service" id="security.token_storage"/>
      <argument type="abstract">User Provider</argument>
      <argument type="abstract">User Checker</argument>
      <argument type="abstract">Provider Key</argument>
      <argument type="service" id="debug.security.access.decision_manager"/>
      <argument type="service" id="monolog.logger.security" on-invalid="null"/>
      <argument>_switch_user</argument>
      <argument>ROLE_ALLOWED_TO_SWITCH</argument>
      <argument type="service" id="debug.event_dispatcher" on-invalid="null"/>
      <argument>false</argument>
    </service>
    <service id="security.access_listener" class="Symfony\Component\Security\Http\Firewall\AccessListener">
      <tag name="monolog.logger" channel="security"/>
      <argument type="service" id="security.token_storage"/>
      <argument type="service" id="debug.security.access.decision_manager"/>
      <argument type="service" id="security.access_map"/>
      <argument type="service" id="security.authentication.manager"/>
    </service>
    <service id="security.authentication.listener.rememberme" class="Symfony\Component\Security\Http\Firewall\RememberMeListener" abstract="true">
      <tag name="monolog.logger" channel="security"/>
      <argument type="service" id="security.untracked_token_storage"/>
      <argument type="service" id="security.authentication.rememberme"/>
      <argument type="service" id="security.authentication.manager"/>
      <argument type="service" id="monolog.logger.security" on-invalid="null"/>
      <argument type="service" id="debug.event_dispatcher" on-invalid="null"/>
      <argument type="abstract">Catch exception flag set in RememberMeFactory</argument>
      <argument type="service" id="security.authentication.session_strategy"/>
      <deprecated package="symfony/security-bundle" version="5.3">The "%service_id%" service is deprecated, use the new authenticator system instead.</deprecated>
    </service>
    <service id="security.authentication.provider.rememberme" class="Symfony\Component\Security\Core\Authentication\Provider\RememberMeAuthenticationProvider" abstract="true">
      <argument type="abstract">User Checker</argument>
      <deprecated package="symfony/security-bundle" version="5.3">The "%service_id%" service is deprecated, use the new authenticator system instead.</deprecated>
    </service>
    <service id="security.rememberme.token.provider.in_memory" class="Symfony\Component\Security\Core\Authentication\RememberMe\InMemoryTokenProvider"/>
    <service id="security.authentication.rememberme.services.abstract" abstract="true">
      <tag name="monolog.logger" channel="security"/>
      <argument type="collection"/>
      <argument type="abstract">Shared Token Key</argument>
      <argument type="abstract">Shared Provider Key</argument>
      <argument type="collection"/>
      <argument type="service" id="monolog.logger.security" on-invalid="null"/>
    </service>
    <service id="security.authentication.rememberme.services.persistent" class="Symfony\Component\Security\Http\RememberMe\PersistentTokenBasedRememberMeServices" abstract="true">
      <argument type="collection"/>
      <argument type="abstract">Shared Token Key</argument>
      <argument type="abstract">Shared Provider Key</argument>
      <argument type="collection"/>
      <argument type="service" id="monolog.logger.security" on-invalid="null"/>
    </service>
    <service id="security.authentication.rememberme.services.simplehash" class="Symfony\Component\Security\Http\RememberMe\TokenBasedRememberMeServices" abstract="true">
      <argument type="collection"/>
      <argument type="abstract">Shared Token Key</argument>
      <argument type="abstract">Shared Provider Key</argument>
      <argument type="collection"/>
      <argument type="service" id="monolog.logger.security" on-invalid="null"/>
    </service>
    <service id="security.rememberme.response_listener" class="Symfony\Component\Security\Http\RememberMe\ResponseListener">
      <tag name="kernel.event_subscriber"/>
      <tag name="container.hot_path"/>
    </service>
    <service id="security.authentication.manager" class="Symfony\Component\Security\Core\Authentication\AuthenticationProviderManager">
      <argument type="iterator">
        <argument type="service" id="security.authentication.provider.api_key.api_area"/>
        <argument type="service" id="security.authentication.provider.lti1p3_message_tool.tool_message_area"/>
        <argument type="service" id="security.authentication.provider.lti1p3_message_platform.platform_message_area"/>
        <argument type="service" id="security.authentication.provider.lti1p3_service.platform_service_ags_area"/>
        <argument type="service" id="security.authentication.provider.lti1p3_service.platform_service_nrps_area"/>
        <argument type="service" id="security.authentication.provider.lti1p3_service.platform_service_acs_area"/>
        <argument type="service" id="security.authentication.provider.lti1p3_service.platform_service_basic_outcome_area"/>
        <argument type="service" id="security.authentication.provider.anonymous.main"/>
      </argument>
      <argument>true</argument>
      <call method="setEventDispatcher">
        <argument type="service" id="debug.event_dispatcher"/>
      </call>
      <deprecated package="symfony/security-bundle" version="5.3">The "%service_id%" service is deprecated, use the new authenticator system instead.</deprecated>
    </service>
    <service id="security.authentication.listener.anonymous" class="Symfony\Component\Security\Http\Firewall\AnonymousAuthenticationListener">
      <tag name="monolog.logger" channel="security"/>
      <argument type="service" id="security.untracked_token_storage"/>
      <argument type="abstract">Key</argument>
      <argument type="service" id="monolog.logger.security" on-invalid="null"/>
      <argument type="service" id="security.authentication.manager"/>
      <deprecated package="symfony/security-bundle" version="5.3">The "%service_id%" service is deprecated, use the new authenticator system instead.</deprecated>
    </service>
    <service id="security.authentication.provider.anonymous" class="Symfony\Component\Security\Core\Authentication\Provider\AnonymousAuthenticationProvider">
      <argument type="abstract">Key</argument>
      <deprecated package="symfony/security-bundle" version="5.3">The "%service_id%" service is deprecated, use the new authenticator system instead.</deprecated>
    </service>
    <service id="security.authentication.listener.form" class="Symfony\Component\Security\Http\Firewall\UsernamePasswordFormAuthenticationListener" abstract="true">
      <argument type="service" id="security.token_storage"/>
      <argument type="service" id="security.authentication.manager"/>
      <argument type="service" id="security.authentication.session_strategy"/>
      <argument type="service" id="security.http_utils"/>
      <argument type="abstract">Provider-shared Key</argument>
      <argument type="service" id="security.authentication.success_handler"/>
      <argument type="service" id="security.authentication.failure_handler"/>
      <argument type="collection"/>
      <argument type="service" id="monolog.logger.security" on-invalid="null"/>
      <argument type="service" id="debug.event_dispatcher" on-invalid="null"/>
      <deprecated package="symfony/security-bundle" version="5.3">The "%service_id%" service is deprecated, use the new authenticator system instead.</deprecated>
    </service>
    <service id="security.authentication.listener.x509" class="Symfony\Component\Security\Http\Firewall\X509AuthenticationListener" abstract="true">
      <tag name="monolog.logger" channel="security"/>
      <argument type="service" id="security.token_storage"/>
      <argument type="service" id="security.authentication.manager"/>
      <argument type="abstract">Provider-shared Key</argument>
      <argument type="abstract">x509 user</argument>
      <argument type="abstract">x509 credentials</argument>
      <argument type="service" id="monolog.logger.security" on-invalid="null"/>
      <argument type="service" id="debug.event_dispatcher" on-invalid="null"/>
      <deprecated package="symfony/security-bundle" version="5.3">The "%service_id%" service is deprecated, use the new authenticator system instead.</deprecated>
    </service>
    <service id="security.authentication.listener.json" class="Symfony\Component\Security\Http\Firewall\UsernamePasswordJsonAuthenticationListener" abstract="true">
      <tag name="monolog.logger" channel="security"/>
      <argument type="service" id="security.token_storage"/>
      <argument type="service" id="security.authentication.manager"/>
      <argument type="service" id="security.http_utils"/>
      <argument type="abstract">Provider-shared Key</argument>
      <argument type="abstract">Failure handler</argument>
      <argument type="abstract">Success Handler</argument>
      <argument type="collection"/>
      <argument type="service" id="monolog.logger.security" on-invalid="null"/>
      <argument type="service" id="debug.event_dispatcher" on-invalid="null"/>
      <argument type="service" id="property_accessor" on-invalid="null"/>
      <call method="setTranslator">
        <argument type="service" id="translator.default" on-invalid="ignore"/>
      </call>
      <deprecated package="symfony/security-bundle" version="5.3">The "%service_id%" service is deprecated, use the new authenticator system instead.</deprecated>
    </service>
    <service id="security.authentication.listener.remote_user" class="Symfony\Component\Security\Http\Firewall\RemoteUserAuthenticationListener" abstract="true">
      <tag name="monolog.logger" channel="security"/>
      <argument type="service" id="security.token_storage"/>
      <argument type="service" id="security.authentication.manager"/>
      <argument type="abstract">Provider-shared Key</argument>
      <argument type="abstract">REMOTE_USER server env var</argument>
      <argument type="service" id="monolog.logger.security" on-invalid="null"/>
      <argument type="service" id="debug.event_dispatcher" on-invalid="null"/>
      <deprecated package="symfony/security-bundle" version="5.3">The "%service_id%" service is deprecated, use the new authenticator system instead.</deprecated>
    </service>
    <service id="security.authentication.listener.basic" class="Symfony\Component\Security\Http\Firewall\BasicAuthenticationListener" abstract="true">
      <tag name="monolog.logger" channel="security"/>
      <argument type="service" id="security.token_storage"/>
      <argument type="service" id="security.authentication.manager"/>
      <argument type="abstract">Provider-shared Key</argument>
      <argument type="abstract">Entry Point</argument>
      <argument type="service" id="monolog.logger.security" on-invalid="null"/>
      <deprecated package="symfony/security-bundle" version="5.3">The "%service_id%" service is deprecated, use the new authenticator system instead.</deprecated>
    </service>
    <service id="security.authentication.provider.dao" class="Symfony\Component\Security\Core\Authentication\Provider\DaoAuthenticationProvider" abstract="true">
      <argument type="abstract">User Provider</argument>
      <argument type="abstract">User Checker</argument>
      <argument type="abstract">Provider-shared Key</argument>
      <argument type="service" id="security.password_hasher_factory"/>
      <argument>true</argument>
      <deprecated package="symfony/security-bundle" version="5.3">The "%service_id%" service is deprecated, use the new authenticator system instead.</deprecated>
    </service>
    <service id="security.authentication.provider.ldap_bind" class="Symfony\Component\Security\Core\Authentication\Provider\LdapBindAuthenticationProvider" abstract="true">
      <argument type="abstract">User Provider</argument>
      <argument type="abstract">UserChecker</argument>
      <argument type="abstract">Provider-shared Key</argument>
      <argument type="abstract">LDAP</argument>
      <argument type="abstract">Base DN</argument>
      <argument>true</argument>
      <argument type="abstract">search dn</argument>
      <argument type="abstract">search password</argument>
      <deprecated package="symfony/security-bundle" version="5.3">The "%service_id%" service is deprecated, use the new authenticator system instead.</deprecated>
    </service>
    <service id="security.authentication.provider.pre_authenticated" class="Symfony\Component\Security\Core\Authentication\Provider\PreAuthenticatedAuthenticationProvider" abstract="true">
      <argument type="abstract">User Provider</argument>
      <argument type="abstract">UserChecker</argument>
      <deprecated package="symfony/security-bundle" version="5.3">The "%service_id%" service is deprecated, use the new authenticator system instead.</deprecated>
    </service>
    <service id="twig.extension.logout_url" class="Symfony\Bridge\Twig\Extension\LogoutUrlExtension">
      <tag name="twig.extension"/>
      <argument type="service" id="security.logout_url_generator"/>
    </service>
    <service id="twig.extension.security" class="Symfony\Bridge\Twig\Extension\SecurityExtension">
      <tag name="twig.extension"/>
      <argument type="service" id="security.authorization_checker" on-invalid="ignore"/>
      <argument type="service" id="security.impersonate_url_generator" on-invalid="ignore"/>
    </service>
    <service id="data_collector.security" class="Symfony\Bundle\SecurityBundle\DataCollector\SecurityDataCollector">
      <tag name="data_collector" template="@Security/Collector/security.html.twig" id="security" priority="270"/>
      <argument type="service" id="security.untracked_token_storage"/>
      <argument type="service" id="security.role_hierarchy"/>
      <argument type="service" id="security.logout_url_generator"/>
      <argument type="service" id="debug.security.access.decision_manager"/>
      <argument type="service" id="security.firewall.map"/>
      <argument type="service" id="debug.security.firewall" on-invalid="null"/>
      <argument>false</argument>
    </service>
    <service id="security.authentication.guard_handler" class="Symfony\Component\Security\Guard\GuardAuthenticatorHandler">
      <argument type="service" id="security.token_storage"/>
      <argument type="service" id="debug.event_dispatcher" on-invalid="null"/>
      <argument type="collection">
        <argument>api_area</argument>
        <argument>tool_message_area</argument>
        <argument>platform_message_area</argument>
        <argument>platform_service_ags_area</argument>
        <argument>platform_service_nrps_area</argument>
        <argument>platform_service_acs_area</argument>
        <argument>platform_service_basic_outcome_area</argument>
      </argument>
      <call method="setSessionAuthenticationStrategy">
        <argument type="service" id="security.authentication.session_strategy"/>
      </call>
      <deprecated package="symfony/security-bundle" version="5.3">The "%service_id%" service is deprecated, use the new authenticator system instead.</deprecated>
    </service>
    <service id="security.authentication.provider.guard" class="Symfony\Component\Security\Guard\Provider\GuardAuthenticationProvider" abstract="true">
      <argument type="abstract">Authenticators</argument>
      <argument type="abstract">User Provider</argument>
      <argument type="abstract">Provider-shared Key</argument>
      <argument type="abstract">User Checker</argument>
      <argument type="service" id="security.user_password_hasher"/>
      <deprecated package="symfony/security-bundle" version="5.3">The "%service_id%" service is deprecated, use the new authenticator system instead.</deprecated>
    </service>
    <service id="security.authentication.listener.guard" class="Symfony\Component\Security\Guard\Firewall\GuardAuthenticationListener" abstract="true">
      <tag name="monolog.logger" channel="security"/>
      <argument type="service" id="security.authentication.guard_handler"/>
      <argument type="service" id="security.authentication.manager"/>
      <argument type="abstract">Provider-shared Key</argument>
      <argument type="abstract">Authenticators</argument>
      <argument type="service" id="monolog.logger.security" on-invalid="null"/>
      <argument>true</argument>
      <deprecated package="symfony/security-bundle" version="5.3">The "%service_id%" service is deprecated, use the new authenticator system instead.</deprecated>
    </service>
    <service id="debug.security.access.decision_manager" class="Symfony\Component\Security\Core\Authorization\TraceableAccessDecisionManager">
      <argument type="service" id="debug.security.access.decision_manager.inner"/>
    </service>
    <service id="debug.security.voter.vote_listener" class="Symfony\Bundle\SecurityBundle\EventListener\VoteListener">
      <tag name="kernel.event_subscriber"/>
      <argument type="service" id="debug.security.access.decision_manager"/>
    </service>
    <service id="debug.security.firewall" class="Symfony\Bundle\SecurityBundle\Debug\TraceableFirewallListener">
      <tag name="kernel.event_subscriber"/>
      <tag name="container.hot_path"/>
      <tag name="container.hot_path"/>
      <tag name="container.hot_path"/>
      <argument type="service" id="security.firewall.map"/>
      <argument type="service" id="debug.event_dispatcher"/>
      <argument type="service" id="security.logout_url_generator"/>
    </service>
    <service id="security.command.debug_firewall" class="Symfony\Bundle\SecurityBundle\Command\DebugFirewallCommand">
      <tag name="console.command" command="debug:firewall"/>
      <tag name="container.no_preload"/>
      <argument>%security.firewalls%</argument>
      <argument type="service" id=".service_locator.woayXYb"/>
      <argument type="service" id=".service_locator.egX1u_r"/>
      <argument type="collection"/>
      <argument>false</argument>
      <call method="setName">
        <argument>debug:firewall</argument>
      </call>
      <call method="setDescription">
        <argument>Display information about your security firewall(s)</argument>
      </call>
    </service>
    <service id="security.user.provider.concrete.users_in_memory" class="Symfony\Component\Security\Core\User\InMemoryUserProvider">
      <argument type="collection"/>
    </service>
    <service id="security.firewall.map.config.api_area" class="Symfony\Bundle\SecurityBundle\Security\FirewallConfig">
      <argument>api_area</argument>
      <argument>security.user_checker</argument>
      <argument>.security.request_matcher.uTv4pMG</argument>
      <argument>true</argument>
      <argument>true</argument>
      <argument>security.user.provider.concrete.users_in_memory</argument>
      <argument>null</argument>
      <argument>null</argument>
      <argument>null</argument>
      <argument>null</argument>
      <argument type="collection">
        <argument>api_key</argument>
      </argument>
      <argument>null</argument>
    </service>
    <service id=".security.request_matcher.uTv4pMG" class="Symfony\Component\HttpFoundation\RequestMatcher">
      <argument>^/api/</argument>
    </service>
    <service id="security.event_dispatcher.api_area" class="Symfony\Component\EventDispatcher\EventDispatcher">
      <tag name="security.event_dispatcher.api_area">event_dispatcher.dispatcher</tag>
      <call method="addListener">
        <argument>Symfony\Component\Security\Http\Event\LogoutEvent</argument>
        <argument type="collection">
          <argument type="service_closure" id="security.logout.listener.csrf_token_clearing"/>
          <argument>onLogout</argument>
        </argument>
        <argument>0</argument>
      </call>
    </service>
    <service id="security.authentication.provider.api_key.api_area" class="App\Security\Api\Provider\ApiKeyProvider" autowire="true">
      <argument type="service" id="parameter_bag"/>
      <argument type="service" id="security.user.provider.concrete.users_in_memory"/>
    </service>
    <service id="security.authentication.listener.api_key.api_area" class="App\Security\Api\Firewall\ApiKeyListener" autowire="true">
      <argument type="service" id="security.token_storage"/>
      <argument type="service" id="security.authentication.manager"/>
      <argument type="service" id="monolog.logger"/>
    </service>
    <service id="security.exception_listener.api_area" class="Symfony\Component\Security\Http\Firewall\ExceptionListener">
      <argument type="service" id="security.token_storage"/>
      <argument type="service" id="security.authentication.trust_resolver"/>
      <argument type="service" id="security.http_utils"/>
      <argument>api_area</argument>
      <argument>null</argument>
      <argument>null</argument>
      <argument>null</argument>
      <argument type="service" id="monolog.logger.security" on-invalid="null"/>
      <argument>true</argument>
    </service>
    <service id="security.firewall.map.context.api_area" class="Symfony\Bundle\SecurityBundle\Security\FirewallContext">
      <argument type="iterator">
        <argument type="service" id="security.channel_listener"/>
        <argument type="service" id="security.authentication.listener.api_key.api_area"/>
        <argument type="service" id="security.access_listener"/>
      </argument>
      <argument type="service" id="security.exception_listener.api_area"/>
      <argument>null</argument>
      <argument type="service" id="security.firewall.map.config.api_area"/>
    </service>
    <service id="security.firewall.map.config.tool_message_area" class="Symfony\Bundle\SecurityBundle\Security\FirewallConfig">
      <argument>tool_message_area</argument>
      <argument>security.user_checker</argument>
      <argument>.security.request_matcher.HRPSYGr</argument>
      <argument>true</argument>
      <argument>true</argument>
      <argument>security.user.provider.concrete.users_in_memory</argument>
      <argument>null</argument>
      <argument>null</argument>
      <argument>null</argument>
      <argument>null</argument>
      <argument type="collection">
        <argument>lti1p3_message_tool</argument>
      </argument>
      <argument>null</argument>
    </service>
    <service id=".security.request_matcher.HRPSYGr" class="Symfony\Component\HttpFoundation\RequestMatcher">
      <argument>^/tool/launch</argument>
    </service>
    <service id="security.event_dispatcher.tool_message_area" class="Symfony\Component\EventDispatcher\EventDispatcher">
      <tag name="security.event_dispatcher.tool_message_area">event_dispatcher.dispatcher</tag>
      <call method="addListener">
        <argument>Symfony\Component\Security\Http\Event\LogoutEvent</argument>
        <argument type="collection">
          <argument type="service_closure" id="security.logout.listener.csrf_token_clearing"/>
          <argument>onLogout</argument>
        </argument>
        <argument>0</argument>
      </call>
    </service>
    <service id="security.authentication.provider.lti1p3_message_tool.tool_message_area" class="OAT\Bundle\Lti1p3Bundle\Security\Authentication\Provider\Message\LtiToolMessageAuthenticationProvider" shared="false">
      <argument type="service" id="OAT\Library\Lti1p3Core\Message\Launch\Validator\Tool\ToolLaunchValidator"/>
      <argument>tool_message_area</argument>
      <argument type="collection"/>
    </service>
    <service id="security.authentication.listener.lti1p3_message_tool.tool_message_area" class="OAT\Bundle\Lti1p3Bundle\Security\Firewall\Message\LtiToolMessageAuthenticationListener">
      <argument type="service" id="security.token_storage"/>
      <argument type="service" id="security.authentication.manager"/>
      <argument type="service" id="Symfony\Bridge\PsrHttpMessage\Factory\PsrHttpFactory"/>
      <argument type="service" id="OAT\Bundle\Lti1p3Bundle\Security\Exception\LtiToolMessageExceptionHandler"/>
      <argument type="service" id="security.firewall.map"/>
    </service>
    <service id="security.exception_listener.tool_message_area" class="Symfony\Component\Security\Http\Firewall\ExceptionListener">
      <argument type="service" id="security.token_storage"/>
      <argument type="service" id="security.authentication.trust_resolver"/>
      <argument type="service" id="security.http_utils"/>
      <argument>tool_message_area</argument>
      <argument>null</argument>
      <argument>null</argument>
      <argument>null</argument>
      <argument type="service" id="monolog.logger.security" on-invalid="null"/>
      <argument>true</argument>
    </service>
    <service id="security.firewall.map.context.tool_message_area" class="Symfony\Bundle\SecurityBundle\Security\FirewallContext">
      <argument type="iterator">
        <argument type="service" id="security.channel_listener"/>
        <argument type="service" id="security.authentication.listener.lti1p3_message_tool.tool_message_area"/>
        <argument type="service" id="security.access_listener"/>
      </argument>
      <argument type="service" id="security.exception_listener.tool_message_area"/>
      <argument>null</argument>
      <argument type="service" id="security.firewall.map.config.tool_message_area"/>
    </service>
    <service id="security.firewall.map.config.platform_message_area" class="Symfony\Bundle\SecurityBundle\Security\FirewallConfig">
      <argument>platform_message_area</argument>
      <argument>security.user_checker</argument>
      <argument>.security.request_matcher.wgRKfrZ</argument>
      <argument>true</argument>
      <argument>true</argument>
      <argument>security.user.provider.concrete.users_in_memory</argument>
      <argument>null</argument>
      <argument>null</argument>
      <argument>null</argument>
      <argument>null</argument>
      <argument type="collection">
        <argument>lti1p3_message_platform</argument>
      </argument>
      <argument>null</argument>
    </service>
    <service id=".security.request_matcher.wgRKfrZ" class="Symfony\Component\HttpFoundation\RequestMatcher">
      <argument>^/platform/message/return</argument>
    </service>
    <service id="security.event_dispatcher.platform_message_area" class="Symfony\Component\EventDispatcher\EventDispatcher">
      <tag name="security.event_dispatcher.platform_message_area">event_dispatcher.dispatcher</tag>
      <call method="addListener">
        <argument>Symfony\Component\Security\Http\Event\LogoutEvent</argument>
        <argument type="collection">
          <argument type="service_closure" id="security.logout.listener.csrf_token_clearing"/>
          <argument>onLogout</argument>
        </argument>
        <argument>0</argument>
      </call>
    </service>
    <service id="security.authentication.provider.lti1p3_message_platform.platform_message_area" class="OAT\Bundle\Lti1p3Bundle\Security\Authentication\Provider\Message\LtiPlatformMessageAuthenticationProvider" shared="false">
      <argument type="service" id="OAT\Library\Lti1p3Core\Message\Launch\Validator\Platform\PlatformLaunchValidator"/>
      <argument>platform_message_area</argument>
      <argument type="collection"/>
    </service>
    <service id="security.authentication.listener.lti1p3_message_platform.platform_message_area" class="OAT\Bundle\Lti1p3Bundle\Security\Firewall\Message\LtiPlatformMessageAuthenticationListener">
      <argument type="service" id="security.token_storage"/>
      <argument type="service" id="security.authentication.manager"/>
      <argument type="service" id="Symfony\Bridge\PsrHttpMessage\Factory\PsrHttpFactory"/>
      <argument type="service" id="security.firewall.map"/>
    </service>
    <service id="security.exception_listener.platform_message_area" class="Symfony\Component\Security\Http\Firewall\ExceptionListener">
      <argument type="service" id="security.token_storage"/>
      <argument type="service" id="security.authentication.trust_resolver"/>
      <argument type="service" id="security.http_utils"/>
      <argument>platform_message_area</argument>
      <argument>null</argument>
      <argument>null</argument>
      <argument>null</argument>
      <argument type="service" id="monolog.logger.security" on-invalid="null"/>
      <argument>true</argument>
    </service>
    <service id="security.firewall.map.context.platform_message_area" class="Symfony\Bundle\SecurityBundle\Security\FirewallContext">
      <argument type="iterator">
        <argument type="service" id="security.channel_listener"/>
        <argument type="service" id="security.authentication.listener.lti1p3_message_platform.platform_message_area"/>
        <argument type="service" id="security.access_listener"/>
      </argument>
      <argument type="service" id="security.exception_listener.platform_message_area"/>
      <argument>null</argument>
      <argument type="service" id="security.firewall.map.config.platform_message_area"/>
    </service>
    <service id="security.firewall.map.config.platform_service_ags_area" class="Symfony\Bundle\SecurityBundle\Security\FirewallConfig">
      <argument>platform_service_ags_area</argument>
      <argument>security.user_checker</argument>
      <argument>.security.request_matcher.g_t_xUy</argument>
      <argument>true</argument>
      <argument>true</argument>
      <argument>security.user.provider.concrete.users_in_memory</argument>
      <argument>null</argument>
      <argument>null</argument>
      <argument>null</argument>
      <argument>null</argument>
      <argument type="collection">
        <argument>lti1p3_service</argument>
      </argument>
      <argument>null</argument>
    </service>
    <service id=".security.request_matcher.g_t_xUy" class="Symfony\Component\HttpFoundation\RequestMatcher">
      <argument>^/platform/service/ags/</argument>
    </service>
    <service id="security.event_dispatcher.platform_service_ags_area" class="Symfony\Component\EventDispatcher\EventDispatcher">
      <tag name="security.event_dispatcher.platform_service_ags_area">event_dispatcher.dispatcher</tag>
      <call method="addListener">
        <argument>Symfony\Component\Security\Http\Event\LogoutEvent</argument>
        <argument type="collection">
          <argument type="service_closure" id="security.logout.listener.csrf_token_clearing"/>
          <argument>onLogout</argument>
        </argument>
        <argument>0</argument>
      </call>
    </service>
    <service id="security.authentication.provider.lti1p3_service.platform_service_ags_area" class="OAT\Bundle\Lti1p3Bundle\Security\Authentication\Provider\Service\LtiServiceAuthenticationProvider" shared="false">
      <argument type="service" id="OAT\Library\Lti1p3Core\Security\OAuth2\Validator\RequestAccessTokenValidator"/>
      <argument>platform_service_ags_area</argument>
      <argument type="collection">
        <argument>https://purl.imsglobal.org/spec/lti-ags/scope/lineitem</argument>
        <argument>https://purl.imsglobal.org/spec/lti-ags/scope/lineitem.readonly</argument>
        <argument>https://purl.imsglobal.org/spec/lti-ags/scope/score</argument>
        <argument>https://purl.imsglobal.org/spec/lti-ags/scope/result.readonly</argument>
      </argument>
    </service>
    <service id="security.authentication.listener.lti1p3_service.platform_service_ags_area" class="OAT\Bundle\Lti1p3Bundle\Security\Firewall\Service\LtiServiceAuthenticationListener">
      <argument type="service" id="security.token_storage"/>
      <argument type="service" id="security.authentication.manager"/>
      <argument type="service" id="Symfony\Bridge\PsrHttpMessage\Factory\PsrHttpFactory"/>
      <argument type="service" id="security.firewall.map"/>
    </service>
    <service id="security.exception_listener.platform_service_ags_area" class="Symfony\Component\Security\Http\Firewall\ExceptionListener">
      <argument type="service" id="security.token_storage"/>
      <argument type="service" id="security.authentication.trust_resolver"/>
      <argument type="service" id="security.http_utils"/>
      <argument>platform_service_ags_area</argument>
      <argument>null</argument>
      <argument>null</argument>
      <argument>null</argument>
      <argument type="service" id="monolog.logger.security" on-invalid="null"/>
      <argument>true</argument>
    </service>
    <service id="security.firewall.map.context.platform_service_ags_area" class="Symfony\Bundle\SecurityBundle\Security\FirewallContext">
      <argument type="iterator">
        <argument type="service" id="security.channel_listener"/>
        <argument type="service" id="security.authentication.listener.lti1p3_service.platform_service_ags_area"/>
        <argument type="service" id="security.access_listener"/>
      </argument>
      <argument type="service" id="security.exception_listener.platform_service_ags_area"/>
      <argument>null</argument>
      <argument type="service" id="security.firewall.map.config.platform_service_ags_area"/>
    </service>
    <service id="security.firewall.map.config.platform_service_nrps_area" class="Symfony\Bundle\SecurityBundle\Security\FirewallConfig">
      <argument>platform_service_nrps_area</argument>
      <argument>security.user_checker</argument>
      <argument>.security.request_matcher.vclP4lx</argument>
      <argument>true</argument>
      <argument>true</argument>
      <argument>security.user.provider.concrete.users_in_memory</argument>
      <argument>null</argument>
      <argument>null</argument>
      <argument>null</argument>
      <argument>null</argument>
      <argument type="collection">
        <argument>lti1p3_service</argument>
      </argument>
      <argument>null</argument>
    </service>
    <service id=".security.request_matcher.vclP4lx" class="Symfony\Component\HttpFoundation\RequestMatcher">
      <argument>^/platform/service/nrps</argument>
    </service>
    <service id="security.event_dispatcher.platform_service_nrps_area" class="Symfony\Component\EventDispatcher\EventDispatcher">
      <tag name="security.event_dispatcher.platform_service_nrps_area">event_dispatcher.dispatcher</tag>
      <call method="addListener">
        <argument>Symfony\Component\Security\Http\Event\LogoutEvent</argument>
        <argument type="collection">
          <argument type="service_closure" id="security.logout.listener.csrf_token_clearing"/>
          <argument>onLogout</argument>
        </argument>
        <argument>0</argument>
      </call>
    </service>
    <service id="security.authentication.provider.lti1p3_service.platform_service_nrps_area" class="OAT\Bundle\Lti1p3Bundle\Security\Authentication\Provider\Service\LtiServiceAuthenticationProvider" shared="false">
      <argument type="service" id="OAT\Library\Lti1p3Core\Security\OAuth2\Validator\RequestAccessTokenValidator"/>
      <argument>platform_service_nrps_area</argument>
      <argument type="collection">
        <argument>https://purl.imsglobal.org/spec/lti-nrps/scope/contextmembership.readonly</argument>
      </argument>
    </service>
    <service id="security.authentication.listener.lti1p3_service.platform_service_nrps_area" class="OAT\Bundle\Lti1p3Bundle\Security\Firewall\Service\LtiServiceAuthenticationListener">
      <argument type="service" id="security.token_storage"/>
      <argument type="service" id="security.authentication.manager"/>
      <argument type="service" id="Symfony\Bridge\PsrHttpMessage\Factory\PsrHttpFactory"/>
      <argument type="service" id="security.firewall.map"/>
    </service>
    <service id="security.exception_listener.platform_service_nrps_area" class="Symfony\Component\Security\Http\Firewall\ExceptionListener">
      <argument type="service" id="security.token_storage"/>
      <argument type="service" id="security.authentication.trust_resolver"/>
      <argument type="service" id="security.http_utils"/>
      <argument>platform_service_nrps_area</argument>
      <argument>null</argument>
      <argument>null</argument>
      <argument>null</argument>
      <argument type="service" id="monolog.logger.security" on-invalid="null"/>
      <argument>true</argument>
    </service>
    <service id="security.firewall.map.context.platform_service_nrps_area" class="Symfony\Bundle\SecurityBundle\Security\FirewallContext">
      <argument type="iterator">
        <argument type="service" id="security.channel_listener"/>
        <argument type="service" id="security.authentication.listener.lti1p3_service.platform_service_nrps_area"/>
        <argument type="service" id="security.access_listener"/>
      </argument>
      <argument type="service" id="security.exception_listener.platform_service_nrps_area"/>
      <argument>null</argument>
      <argument type="service" id="security.firewall.map.config.platform_service_nrps_area"/>
    </service>
    <service id="security.firewall.map.config.platform_service_acs_area" class="Symfony\Bundle\SecurityBundle\Security\FirewallConfig">
      <argument>platform_service_acs_area</argument>
      <argument>security.user_checker</argument>
      <argument>.security.request_matcher.t3eZ3_k</argument>
      <argument>true</argument>
      <argument>true</argument>
      <argument>security.user.provider.concrete.users_in_memory</argument>
      <argument>null</argument>
      <argument>null</argument>
      <argument>null</argument>
      <argument>null</argument>
      <argument type="collection">
        <argument>lti1p3_service</argument>
      </argument>
      <argument>null</argument>
    </service>
    <service id=".security.request_matcher.t3eZ3_k" class="Symfony\Component\HttpFoundation\RequestMatcher">
      <argument>^/platform/service/acs</argument>
    </service>
    <service id="security.event_dispatcher.platform_service_acs_area" class="Symfony\Component\EventDispatcher\EventDispatcher">
      <tag name="security.event_dispatcher.platform_service_acs_area">event_dispatcher.dispatcher</tag>
      <call method="addListener">
        <argument>Symfony\Component\Security\Http\Event\LogoutEvent</argument>
        <argument type="collection">
          <argument type="service_closure" id="security.logout.listener.csrf_token_clearing"/>
          <argument>onLogout</argument>
        </argument>
        <argument>0</argument>
      </call>
    </service>
    <service id="security.authentication.provider.lti1p3_service.platform_service_acs_area" class="OAT\Bundle\Lti1p3Bundle\Security\Authentication\Provider\Service\LtiServiceAuthenticationProvider" shared="false">
      <argument type="service" id="OAT\Library\Lti1p3Core\Security\OAuth2\Validator\RequestAccessTokenValidator"/>
      <argument>platform_service_acs_area</argument>
      <argument type="collection">
        <argument>https://purl.imsglobal.org/spec/lti-ap/scope/control.all</argument>
      </argument>
    </service>
    <service id="security.authentication.listener.lti1p3_service.platform_service_acs_area" class="OAT\Bundle\Lti1p3Bundle\Security\Firewall\Service\LtiServiceAuthenticationListener">
      <argument type="service" id="security.token_storage"/>
      <argument type="service" id="security.authentication.manager"/>
      <argument type="service" id="Symfony\Bridge\PsrHttpMessage\Factory\PsrHttpFactory"/>
      <argument type="service" id="security.firewall.map"/>
    </service>
    <service id="security.exception_listener.platform_service_acs_area" class="Symfony\Component\Security\Http\Firewall\ExceptionListener">
      <argument type="service" id="security.token_storage"/>
      <argument type="service" id="security.authentication.trust_resolver"/>
      <argument type="service" id="security.http_utils"/>
      <argument>platform_service_acs_area</argument>
      <argument>null</argument>
      <argument>null</argument>
      <argument>null</argument>
      <argument type="service" id="monolog.logger.security" on-invalid="null"/>
      <argument>true</argument>
    </service>
    <service id="security.firewall.map.context.platform_service_acs_area" class="Symfony\Bundle\SecurityBundle\Security\FirewallContext">
      <argument type="iterator">
        <argument type="service" id="security.channel_listener"/>
        <argument type="service" id="security.authentication.listener.lti1p3_service.platform_service_acs_area"/>
        <argument type="service" id="security.access_listener"/>
      </argument>
      <argument type="service" id="security.exception_listener.platform_service_acs_area"/>
      <argument>null</argument>
      <argument type="service" id="security.firewall.map.config.platform_service_acs_area"/>
    </service>
    <service id="security.firewall.map.config.platform_service_basic_outcome_area" class="Symfony\Bundle\SecurityBundle\Security\FirewallConfig">
      <argument>platform_service_basic_outcome_area</argument>
      <argument>security.user_checker</argument>
      <argument>.security.request_matcher.w4LHzzl</argument>
      <argument>true</argument>
      <argument>true</argument>
      <argument>security.user.provider.concrete.users_in_memory</argument>
      <argument>null</argument>
      <argument>null</argument>
      <argument>null</argument>
      <argument>null</argument>
      <argument type="collection">
        <argument>lti1p3_service</argument>
      </argument>
      <argument>null</argument>
    </service>
    <service id=".security.request_matcher.w4LHzzl" class="Symfony\Component\HttpFoundation\RequestMatcher">
      <argument>^/platform/service/basic-outcome</argument>
    </service>
    <service id="security.event_dispatcher.platform_service_basic_outcome_area" class="Symfony\Component\EventDispatcher\EventDispatcher">
      <tag name="security.event_dispatcher.platform_service_basic_outcome_area">event_dispatcher.dispatcher</tag>
      <call method="addListener">
        <argument>Symfony\Component\Security\Http\Event\LogoutEvent</argument>
        <argument type="collection">
          <argument type="service_closure" id="security.logout.listener.csrf_token_clearing"/>
          <argument>onLogout</argument>
        </argument>
        <argument>0</argument>
      </call>
    </service>
    <service id="security.authentication.provider.lti1p3_service.platform_service_basic_outcome_area" class="OAT\Bundle\Lti1p3Bundle\Security\Authentication\Provider\Service\LtiServiceAuthenticationProvider" shared="false">
      <argument type="service" id="OAT\Library\Lti1p3Core\Security\OAuth2\Validator\RequestAccessTokenValidator"/>
      <argument>platform_service_basic_outcome_area</argument>
      <argument type="collection">
        <argument>https://purl.imsglobal.org/spec/lti-bo/scope/basicoutcome</argument>
      </argument>
    </service>
    <service id="security.authentication.listener.lti1p3_service.platform_service_basic_outcome_area" class="OAT\Bundle\Lti1p3Bundle\Security\Firewall\Service\LtiServiceAuthenticationListener">
      <argument type="service" id="security.token_storage"/>
      <argument type="service" id="security.authentication.manager"/>
      <argument type="service" id="Symfony\Bridge\PsrHttpMessage\Factory\PsrHttpFactory"/>
      <argument type="service" id="security.firewall.map"/>
    </service>
    <service id="security.exception_listener.platform_service_basic_outcome_area" class="Symfony\Component\Security\Http\Firewall\ExceptionListener">
      <argument type="service" id="security.token_storage"/>
      <argument type="service" id="security.authentication.trust_resolver"/>
      <argument type="service" id="security.http_utils"/>
      <argument>platform_service_basic_outcome_area</argument>
      <argument>null</argument>
      <argument>null</argument>
      <argument>null</argument>
      <argument type="service" id="monolog.logger.security" on-invalid="null"/>
      <argument>true</argument>
    </service>
    <service id="security.firewall.map.context.platform_service_basic_outcome_area" class="Symfony\Bundle\SecurityBundle\Security\FirewallContext">
      <argument type="iterator">
        <argument type="service" id="security.channel_listener"/>
        <argument type="service" id="security.authentication.listener.lti1p3_service.platform_service_basic_outcome_area"/>
        <argument type="service" id="security.access_listener"/>
      </argument>
      <argument type="service" id="security.exception_listener.platform_service_basic_outcome_area"/>
      <argument>null</argument>
      <argument type="service" id="security.firewall.map.config.platform_service_basic_outcome_area"/>
    </service>
    <service id="security.firewall.map.config.dev" class="Symfony\Bundle\SecurityBundle\Security\FirewallConfig">
      <argument>dev</argument>
      <argument>security.user_checker</argument>
      <argument>.security.request_matcher.Iy.T22O</argument>
      <argument>false</argument>
      <argument>false</argument>
      <argument>null</argument>
      <argument>null</argument>
      <argument>null</argument>
      <argument>null</argument>
      <argument>null</argument>
      <argument type="collection"/>
      <argument>null</argument>
    </service>
    <service id=".security.request_matcher.Iy.T22O" class="Symfony\Component\HttpFoundation\RequestMatcher">
      <argument>^/(_(profiler|wdt)|css|images|js)/</argument>
    </service>
    <service id="security.firewall.map.context.dev" class="Symfony\Bundle\SecurityBundle\Security\FirewallContext">
      <argument type="iterator"/>
      <argument>null</argument>
      <argument>null</argument>
      <argument type="service" id="security.firewall.map.config.dev"/>
    </service>
    <service id="security.firewall.map.config.main" class="Symfony\Bundle\SecurityBundle\Security\FirewallConfig">
      <argument>main</argument>
      <argument>security.user_checker</argument>
      <argument>null</argument>
      <argument>true</argument>
      <argument>false</argument>
      <argument>security.user.provider.concrete.users_in_memory</argument>
      <argument>main</argument>
      <argument>null</argument>
      <argument>null</argument>
      <argument>null</argument>
      <argument type="collection">
        <argument>anonymous</argument>
      </argument>
      <argument>null</argument>
    </service>
    <service id="security.event_dispatcher.main" class="Symfony\Component\EventDispatcher\EventDispatcher">
      <tag name="security.event_dispatcher.main">event_dispatcher.dispatcher</tag>
      <call method="addListener">
        <argument>Symfony\Component\Security\Http\Event\LogoutEvent</argument>
        <argument type="collection">
          <argument type="service_closure" id="security.logout.listener.csrf_token_clearing"/>
          <argument>onLogout</argument>
        </argument>
        <argument>0</argument>
      </call>
    </service>
    <service id="security.context_listener.0" class="Symfony\Component\Security\Http\Firewall\ContextListener">
      <argument type="service" id="security.untracked_token_storage"/>
      <argument type="iterator">
        <argument type="service" id="security.user.provider.concrete.users_in_memory"/>
      </argument>
      <argument>main</argument>
      <argument type="service" id="monolog.logger.security" on-invalid="null"/>
      <argument type="service" id="debug.event_dispatcher" on-invalid="null"/>
      <argument type="service" id="security.authentication.trust_resolver"/>
      <argument type="collection">
        <argument type="service" id="security.token_storage"/>
        <argument>enableUsageTracking</argument>
      </argument>
    </service>
    <service id="security.authentication.listener.anonymous.main" class="Symfony\Component\Security\Http\Firewall\AnonymousAuthenticationListener">
      <argument type="service" id="security.untracked_token_storage"/>
      <argument>%container.build_hash%</argument>
      <argument type="service" id="monolog.logger.security" on-invalid="null"/>
      <argument type="service" id="security.authentication.manager"/>
      <deprecated package="symfony/security-bundle" version="5.3">The "%service_id%" service is deprecated, use the new authenticator system instead.</deprecated>
    </service>
    <service id="security.authentication.provider.anonymous.main" class="Symfony\Component\Security\Core\Authentication\Provider\AnonymousAuthenticationProvider">
      <argument>%container.build_hash%</argument>
      <deprecated package="symfony/security-bundle" version="5.3">The "%service_id%" service is deprecated, use the new authenticator system instead.</deprecated>
    </service>
    <service id="security.exception_listener.main" class="Symfony\Component\Security\Http\Firewall\ExceptionListener">
      <argument type="service" id="security.token_storage"/>
      <argument type="service" id="security.authentication.trust_resolver"/>
      <argument type="service" id="security.http_utils"/>
      <argument>main</argument>
      <argument>null</argument>
      <argument>null</argument>
      <argument>null</argument>
      <argument type="service" id="monolog.logger.security" on-invalid="null"/>
      <argument>false</argument>
    </service>
    <service id="security.firewall.map.context.main" class="Symfony\Bundle\SecurityBundle\Security\LazyFirewallContext">
      <argument type="iterator">
        <argument type="service" id="security.channel_listener"/>
        <argument type="service" id="security.context_listener.0"/>
        <argument type="service" id="security.authentication.listener.anonymous.main"/>
        <argument type="service" id="security.access_listener"/>
      </argument>
      <argument type="service" id="security.exception_listener.main"/>
      <argument>null</argument>
      <argument type="service" id="security.firewall.map.config.main"/>
      <argument type="service" id="security.untracked_token_storage"/>
    </service>
    <service id=".service_locator.woayXYb" class="Symfony\Component\DependencyInjection\ServiceLocator">
      <tag name="container.service_locator"/>
      <argument type="collection">
        <argument key="security.firewall.map.context.api_area" type="service_closure" id="security.firewall.map.context.api_area"/>
        <argument key="security.firewall.map.context.dev" type="service_closure" id="security.firewall.map.context.dev"/>
        <argument key="security.firewall.map.context.main" type="service_closure" id="security.firewall.map.context.main"/>
        <argument key="security.firewall.map.context.platform_message_area" type="service_closure" id="security.firewall.map.context.platform_message_area"/>
        <argument key="security.firewall.map.context.platform_service_acs_area" type="service_closure" id="security.firewall.map.context.platform_service_acs_area"/>
        <argument key="security.firewall.map.context.platform_service_ags_area" type="service_closure" id="security.firewall.map.context.platform_service_ags_area"/>
        <argument key="security.firewall.map.context.platform_service_basic_outcome_area" type="service_closure" id="security.firewall.map.context.platform_service_basic_outcome_area"/>
        <argument key="security.firewall.map.context.platform_service_nrps_area" type="service_closure" id="security.firewall.map.context.platform_service_nrps_area"/>
        <argument key="security.firewall.map.context.tool_message_area" type="service_closure" id="security.firewall.map.context.tool_message_area"/>
      </argument>
    </service>
    <service id="security.command.user_password_encoder" class="Symfony\Bundle\SecurityBundle\Command\UserPasswordEncoderCommand">
      <tag name="console.command" command="security:encode-password"/>
      <tag name="container.no_preload"/>
      <argument type="service" id="security.encoder_factory.generic"/>
      <argument type="collection"/>
      <call method="setName">
        <argument>security:encode-password</argument>
      </call>
      <call method="setDescription">
        <argument>Encode a password</argument>
      </call>
      <deprecated package="symfony/security-bundle" version="5.3">The "%service_id%" service is deprecated, use "security.command.user_password_hash" instead.</deprecated>
    </service>
    <service id="security.command.user_password_hash" class="Symfony\Component\PasswordHasher\Command\UserPasswordHashCommand">
      <tag name="console.command"/>
      <tag name="container.no_preload"/>
      <argument type="service" id="security.password_hasher_factory"/>
      <argument type="collection"/>
      <call method="setName">
        <argument>security:hash-password</argument>
      </call>
      <call method="setDescription">
        <argument>Hash a user password</argument>
      </call>
    </service>
    <service id="CoderCat\JWKToPEM\JWKConverter" class="CoderCat\JWKToPEM\JWKConverter"/>
    <service id="GuzzleHttp\ClientInterface" class="GuzzleHttp\Client"/>
    <service id="Nyholm\Psr7\Factory\Psr17Factory" class="Nyholm\Psr7\Factory\Psr17Factory"/>
    <service id="Nyholm\Psr7\Factory\HttplugFactory" class="Nyholm\Psr7\Factory\HttplugFactory"/>
    <service id="League\OAuth2\Server\Repositories\AccessTokenRepositoryInterface" class="OAT\Library\Lti1p3Core\Security\OAuth2\Repository\AccessTokenRepository">
      <argument type="service" id="cache.app"/>
      <argument type="service" id="monolog.logger"/>
    </service>
    <service id="League\OAuth2\Server\Repositories\ClientRepositoryInterface" class="OAT\Library\Lti1p3Core\Security\OAuth2\Repository\ClientRepository">
      <argument type="service" id="OAT\Bundle\Lti1p3Bundle\Repository\RegistrationRepository"/>
      <argument type="service" id="OAT\Library\Lti1p3Core\Security\Jwks\Fetcher\JwksFetcherInterface"/>
      <argument type="service" id="monolog.logger"/>
      <argument type="service" id="OAT\Library\Lti1p3Core\Security\Jwt\Validator\ValidatorInterface"/>
      <argument type="service" id="OAT\Library\Lti1p3Core\Security\Jwt\Parser\ParserInterface"/>
    </service>
    <service id="League\OAuth2\Server\Repositories\ScopeRepositoryInterface" class="OAT\Library\Lti1p3Core\Security\OAuth2\Repository\ScopeRepository">
      <call method="addScope">
        <argument type="service">
          <service class="OAT\Library\Lti1p3Core\Security\OAuth2\Entity\Scope">
            <argument>https://purl.imsglobal.org/spec/lti-nrps/scope/contextmembership.readonly</argument>
          </service>
        </argument>
      </call>
      <call method="addScope">
        <argument type="service">
          <service class="OAT\Library\Lti1p3Core\Security\OAuth2\Entity\Scope">
            <argument>https://purl.imsglobal.org/spec/lti-bo/scope/basicoutcome</argument>
          </service>
        </argument>
      </call>
      <call method="addScope">
        <argument type="service">
          <service class="OAT\Library\Lti1p3Core\Security\OAuth2\Entity\Scope">
            <argument>https://purl.imsglobal.org/spec/lti-ap/scope/control.all</argument>
          </service>
        </argument>
      </call>
      <call method="addScope">
        <argument type="service">
          <service class="OAT\Library\Lti1p3Core\Security\OAuth2\Entity\Scope">
            <argument>https://purl.imsglobal.org/spec/lti-ags/scope/lineitem</argument>
          </service>
        </argument>
      </call>
      <call method="addScope">
        <argument type="service">
          <service class="OAT\Library\Lti1p3Core\Security\OAuth2\Entity\Scope">
            <argument>https://purl.imsglobal.org/spec/lti-ags/scope/lineitem.readonly</argument>
          </service>
        </argument>
      </call>
      <call method="addScope">
        <argument type="service">
          <service class="OAT\Library\Lti1p3Core\Security\OAuth2\Entity\Scope">
            <argument>https://purl.imsglobal.org/spec/lti-ags/scope/score</argument>
          </service>
        </argument>
      </call>
      <call method="addScope">
        <argument type="service">
          <service class="OAT\Library\Lti1p3Core\Security\OAuth2\Entity\Scope">
            <argument>https://purl.imsglobal.org/spec/lti-ags/scope/result.readonly</argument>
          </service>
        </argument>
      </call>
    </service>
    <service id="OAT\Library\Lti1p3Core\Security\OAuth2\Factory\AuthorizationServerFactory" class="OAT\Library\Lti1p3Core\Security\OAuth2\Factory\AuthorizationServerFactory">
      <argument type="service" id="League\OAuth2\Server\Repositories\ClientRepositoryInterface"/>
      <argument type="service" id="League\OAuth2\Server\Repositories\AccessTokenRepositoryInterface"/>
      <argument type="service" id="League\OAuth2\Server\Repositories\ScopeRepositoryInterface"/>
      <argument>%env(LTI1P3_SERVICE_ENCRYPTION_KEY)%</argument>
    </service>
    <service id="OAT\Library\Lti1p3Core\Security\Jwt\Signer\SignerFactory" class="OAT\Library\Lti1p3Core\Security\Jwt\Signer\SignerFactory"/>
    <service id="OAT\Library\Lti1p3Core\Security\Jwt\Converter\KeyConverter" class="OAT\Library\Lti1p3Core\Security\Jwt\Converter\KeyConverter"/>
    <service id="OAT\Library\Lti1p3Core\Security\Jwt\Configuration\ConfigurationFactory" class="OAT\Library\Lti1p3Core\Security\Jwt\Configuration\ConfigurationFactory"/>
    <service id="OAT\Library\Lti1p3Core\Security\Jwt\Builder\BuilderInterface" class="OAT\Library\Lti1p3Core\Security\Jwt\Builder\Builder">
      <argument type="service" id="OAT\Library\Lti1p3Core\Security\Jwt\Configuration\ConfigurationFactory"/>
    </service>
    <service id="OAT\Library\Lti1p3Core\Security\Jwt\Parser\ParserInterface" class="OAT\Library\Lti1p3Core\Security\Jwt\Parser\Parser">
      <argument type="service" id="OAT\Library\Lti1p3Core\Security\Jwt\Configuration\ConfigurationFactory"/>
    </service>
    <service id="OAT\Library\Lti1p3Core\Security\Jwt\Validator\ValidatorInterface" class="OAT\Library\Lti1p3Core\Security\Jwt\Validator\Validator">
      <argument type="service" id="OAT\Library\Lti1p3Core\Security\Jwt\Configuration\ConfigurationFactory"/>
    </service>
    <service id="OAT\Library\Lti1p3Core\Security\Key\KeyChainFactoryInterface" class="OAT\Library\Lti1p3Core\Security\Key\KeyChainFactory"/>
    <service id="OAT\Library\Lti1p3Core\Platform\PlatformFactory" class="OAT\Library\Lti1p3Core\Platform\PlatformFactory"/>
    <service id="OAT\Library\Lti1p3Core\Tool\ToolFactory" class="OAT\Library\Lti1p3Core\Tool\ToolFactory"/>
    <service id="OAT\Library\Lti1p3Core\Registration\RegistrationFactory" class="OAT\Library\Lti1p3Core\Registration\RegistrationFactory"/>
    <service id="OAT\Library\Lti1p3Core\Security\Nonce\NonceGeneratorInterface" class="OAT\Library\Lti1p3Core\Security\Nonce\NonceGenerator"/>
    <service id="OAT\Library\Lti1p3Core\Security\Nonce\NonceRepository" class="OAT\Library\Lti1p3Core\Security\Nonce\NonceRepository">
      <argument type="service" id="cache.app"/>
    </service>
    <service id="OAT\Library\Lti1p3Core\Message\Payload\Builder\MessagePayloadBuilder" class="OAT\Library\Lti1p3Core\Message\Payload\Builder\MessagePayloadBuilder">
      <argument type="service" id="OAT\Library\Lti1p3Core\Security\Nonce\NonceGeneratorInterface"/>
      <argument type="service" id="OAT\Library\Lti1p3Core\Security\Jwt\Builder\BuilderInterface"/>
    </service>
    <service id="OAT\Library\Lti1p3Core\Message\Payload\Builder\MessagePayloadBuilderInterface" class="OAT\Library\Lti1p3Core\Message\Payload\Builder\MessagePayloadBuilder"/>
    <service id="OAT\Bundle\Lti1p3Bundle\DependencyInjection\Builder\KeyChainRepositoryBuilder" class="OAT\Bundle\Lti1p3Bundle\DependencyInjection\Builder\KeyChainRepositoryBuilder">
      <argument type="service" id="OAT\Library\Lti1p3Core\Security\Key\KeyChainFactoryInterface"/>
    </service>
    <service id="OAT\Bundle\Lti1p3Bundle\DependencyInjection\Builder\RegistrationRepositoryBuilder" class="OAT\Bundle\Lti1p3Bundle\DependencyInjection\Builder\RegistrationRepositoryBuilder">
      <argument type="service" id="OAT\Library\Lti1p3Core\Security\Key\KeyChainFactoryInterface"/>
      <argument type="service" id="OAT\Library\Lti1p3Core\Platform\PlatformFactory"/>
      <argument type="service" id="OAT\Library\Lti1p3Core\Tool\ToolFactory"/>
      <argument type="service" id="OAT\Library\Lti1p3Core\Registration\RegistrationFactory"/>
    </service>
    <service id="OAT\Library\Lti1p3Core\Security\Jwks\Exporter\JwksExporter" class="OAT\Library\Lti1p3Core\Security\Jwks\Exporter\JwksExporter">
      <argument type="service" id="OAT\Library\Lti1p3Core\Security\Key\KeyChainRepository"/>
    </service>
    <service id="OAT\Library\Lti1p3Core\Security\Jwks\Fetcher\JwksFetcherInterface" class="OAT\Library\Lti1p3Core\Security\Jwks\Fetcher\JwksFetcher">
      <argument type="service" id="cache.app"/>
      <argument type="service" id="GuzzleHttp\ClientInterface"/>
      <argument type="service" id="CoderCat\JWKToPEM\JWKConverter"/>
      <argument type="service" id="monolog.logger"/>
    </service>
    <service id="OAT\Library\Lti1p3Core\Security\Oidc\OidcInitiator" class="OAT\Library\Lti1p3Core\Security\Oidc\OidcInitiator">
      <argument type="service" id="OAT\Bundle\Lti1p3Bundle\Repository\RegistrationRepository"/>
      <argument type="service" id="OAT\Library\Lti1p3Core\Security\Nonce\NonceGeneratorInterface"/>
      <argument type="service" id="OAT\Library\Lti1p3Core\Message\Payload\Builder\MessagePayloadBuilderInterface"/>
    </service>
    <service id="OAT\Library\Lti1p3Core\Security\Oidc\OidcAuthenticator" class="OAT\Library\Lti1p3Core\Security\Oidc\OidcAuthenticator">
      <argument type="service" id="OAT\Bundle\Lti1p3Bundle\Repository\RegistrationRepository"/>
      <argument type="service" id="OAT\Library\Lti1p3Core\Security\User\UserAuthenticatorInterface"/>
      <argument type="service" id="OAT\Library\Lti1p3Core\Message\Payload\Builder\MessagePayloadBuilderInterface"/>
      <argument type="service" id="OAT\Library\Lti1p3Core\Security\Jwt\Validator\ValidatorInterface"/>
      <argument type="service" id="OAT\Library\Lti1p3Core\Security\Jwt\Parser\ParserInterface"/>
    </service>
    <service id="OAT\Library\Lti1p3Core\Message\Launch\Validator\Platform\PlatformLaunchValidator" class="OAT\Library\Lti1p3Core\Message\Launch\Validator\Platform\PlatformLaunchValidator">
      <argument type="service" id="OAT\Bundle\Lti1p3Bundle\Repository\RegistrationRepository"/>
      <argument type="service" id="OAT\Library\Lti1p3Core\Security\Nonce\NonceRepository"/>
      <argument type="service" id="OAT\Library\Lti1p3Core\Security\Jwks\Fetcher\JwksFetcherInterface"/>
      <argument type="service" id="OAT\Library\Lti1p3Core\Security\Jwt\Validator\ValidatorInterface"/>
      <argument type="service" id="OAT\Library\Lti1p3Core\Security\Jwt\Parser\ParserInterface"/>
    </service>
    <service id="OAT\Library\Lti1p3Core\Message\Launch\Validator\Tool\ToolLaunchValidator" class="OAT\Library\Lti1p3Core\Message\Launch\Validator\Tool\ToolLaunchValidator">
      <argument type="service" id="OAT\Bundle\Lti1p3Bundle\Repository\RegistrationRepository"/>
      <argument type="service" id="OAT\Library\Lti1p3Core\Security\Nonce\NonceRepository"/>
      <argument type="service" id="OAT\Library\Lti1p3Core\Security\Jwks\Fetcher\JwksFetcherInterface"/>
      <argument type="service" id="OAT\Library\Lti1p3Core\Security\Jwt\Validator\ValidatorInterface"/>
      <argument type="service" id="OAT\Library\Lti1p3Core\Security\Jwt\Parser\ParserInterface"/>
    </service>
    <service id="OAT\Library\Lti1p3Core\Security\OAuth2\Generator\AccessTokenResponseGenerator" class="OAT\Library\Lti1p3Core\Security\OAuth2\Generator\AccessTokenResponseGenerator">
      <argument type="service" id="OAT\Library\Lti1p3Core\Security\Key\KeyChainRepository"/>
      <argument type="service" id="OAT\Library\Lti1p3Core\Security\OAuth2\Factory\AuthorizationServerFactory"/>
    </service>
    <service id="OAT\Library\Lti1p3Core\Security\OAuth2\Validator\RequestAccessTokenValidator" class="OAT\Library\Lti1p3Core\Security\OAuth2\Validator\RequestAccessTokenValidator">
      <argument type="service" id="OAT\Bundle\Lti1p3Bundle\Repository\RegistrationRepository"/>
      <argument type="service" id="monolog.logger"/>
      <argument type="service" id="OAT\Library\Lti1p3Core\Security\Jwt\Validator\ValidatorInterface"/>
      <argument type="service" id="OAT\Library\Lti1p3Core\Security\Jwt\Parser\ParserInterface"/>
    </service>
    <service id="OAT\Bundle\Lti1p3Bundle\Security\Exception\LtiToolMessageExceptionHandler" class="OAT\Bundle\Lti1p3Bundle\Security\Exception\LtiToolMessageExceptionHandler">
      <argument type="service" id="OAT\Library\Lti1p3Core\Security\Jwt\Parser\ParserInterface"/>
    </service>
    <service id="OAT\Bundle\Lti1p3Bundle\Security\Firewall\Message\LtiPlatformMessageAuthenticationListener" class="OAT\Bundle\Lti1p3Bundle\Security\Firewall\Message\LtiPlatformMessageAuthenticationListener">
      <argument type="service" id="security.token_storage"/>
      <argument type="service" id="security.authentication.manager"/>
      <argument type="service" id="Symfony\Bridge\PsrHttpMessage\Factory\PsrHttpFactory"/>
      <argument type="service" id="security.firewall.map"/>
    </service>
    <service id="OAT\Bundle\Lti1p3Bundle\Security\Firewall\Message\LtiToolMessageAuthenticationListener" class="OAT\Bundle\Lti1p3Bundle\Security\Firewall\Message\LtiToolMessageAuthenticationListener">
      <argument type="service" id="security.token_storage"/>
      <argument type="service" id="security.authentication.manager"/>
      <argument type="service" id="Symfony\Bridge\PsrHttpMessage\Factory\PsrHttpFactory"/>
      <argument type="service" id="OAT\Bundle\Lti1p3Bundle\Security\Exception\LtiToolMessageExceptionHandler"/>
      <argument type="service" id="security.firewall.map"/>
    </service>
    <service id="OAT\Bundle\Lti1p3Bundle\Security\Firewall\Service\LtiServiceAuthenticationListener" class="OAT\Bundle\Lti1p3Bundle\Security\Firewall\Service\LtiServiceAuthenticationListener">
      <argument type="service" id="security.token_storage"/>
      <argument type="service" id="security.authentication.manager"/>
      <argument type="service" id="Symfony\Bridge\PsrHttpMessage\Factory\PsrHttpFactory"/>
      <argument type="service" id="security.firewall.map"/>
    </service>
    <service id="OAT\Library\Lti1p3Core\Message\Launch\Builder\PlatformOriginatingLaunchBuilder" class="OAT\Library\Lti1p3Core\Message\Launch\Builder\PlatformOriginatingLaunchBuilder" public="true">
      <argument type="service" id="OAT\Library\Lti1p3Core\Message\Payload\Builder\MessagePayloadBuilderInterface"/>
    </service>
    <service id="OAT\Library\Lti1p3Core\Message\Launch\Builder\ToolOriginatingLaunchBuilder" class="OAT\Library\Lti1p3Core\Message\Launch\Builder\ToolOriginatingLaunchBuilder" public="true">
      <argument type="service" id="OAT\Library\Lti1p3Core\Message\Payload\Builder\MessagePayloadBuilderInterface"/>
    </service>
    <service id="OAT\Library\Lti1p3Core\Message\Launch\Builder\LtiResourceLinkLaunchRequestBuilder" class="OAT\Library\Lti1p3Core\Message\Launch\Builder\LtiResourceLinkLaunchRequestBuilder" public="true">
      <argument type="service" id="OAT\Library\Lti1p3Core\Message\Payload\Builder\MessagePayloadBuilderInterface"/>
    </service>
    <service id="OAT\Library\Lti1p3Core\Service\Client\LtiServiceClientInterface" class="OAT\Library\Lti1p3Core\Service\Client\LtiServiceClient" public="true">
      <argument type="service" id="cache.app"/>
      <argument type="service" id="GuzzleHttp\ClientInterface"/>
      <argument type="service" id="OAT\Library\Lti1p3Core\Security\Jwt\Builder\BuilderInterface"/>
    </service>
    <service id="OAT\Bundle\Lti1p3Bundle\Service\Server\Factory\LtiServiceServerHttpFoundationRequestHandlerFactory" class="OAT\Bundle\Lti1p3Bundle\Service\Server\Factory\LtiServiceServerHttpFoundationRequestHandlerFactory">
      <argument type="service" id="security.helper"/>
      <argument type="service" id="Symfony\Bridge\PsrHttpMessage\Factory\HttpFoundationFactory"/>
      <argument type="service" id="Symfony\Bridge\PsrHttpMessage\Factory\PsrHttpFactory"/>
      <argument type="service" id="monolog.logger"/>
    </service>
    <service id="OAT\Bundle\Lti1p3Bundle\Action\Jwks\JwksAction" class="OAT\Bundle\Lti1p3Bundle\Action\Jwks\JwksAction" public="true">
      <tag name="controller.service_arguments"/>
      <argument type="service" id="OAT\Library\Lti1p3Core\Security\Jwks\Exporter\JwksExporter"/>
    </service>
    <service id="OAT\Bundle\Lti1p3Bundle\Action\Tool\Message\OidcInitiationAction" class="OAT\Bundle\Lti1p3Bundle\Action\Tool\Message\OidcInitiationAction" public="true">
      <tag name="controller.service_arguments"/>
      <argument type="service" id="Symfony\Bridge\PsrHttpMessage\Factory\PsrHttpFactory"/>
      <argument type="service" id="OAT\Library\Lti1p3Core\Security\Oidc\OidcInitiator"/>
      <argument type="service" id="monolog.logger"/>
    </service>
    <service id="OAT\Bundle\Lti1p3Bundle\Action\Platform\Message\OidcAuthenticationAction" class="OAT\Bundle\Lti1p3Bundle\Action\Platform\Message\OidcAuthenticationAction" public="true">
      <tag name="controller.service_arguments"/>
      <argument type="service" id="Symfony\Bridge\PsrHttpMessage\Factory\PsrHttpFactory"/>
      <argument type="service" id="OAT\Library\Lti1p3Core\Security\Oidc\OidcAuthenticator"/>
      <argument type="service" id="monolog.logger"/>
    </service>
    <service id="OAT\Bundle\Lti1p3Bundle\Action\Platform\Service\OAuth2AccessTokenCreationAction" class="OAT\Bundle\Lti1p3Bundle\Action\Platform\Service\OAuth2AccessTokenCreationAction" public="true">
      <tag name="controller.service_arguments"/>
      <argument type="service" id="Symfony\Bridge\PsrHttpMessage\Factory\HttpFoundationFactory"/>
      <argument type="service" id="Symfony\Bridge\PsrHttpMessage\Factory\PsrHttpFactory"/>
      <argument type="service" id="OAT\Library\Lti1p3Core\Security\OAuth2\Generator\AccessTokenResponseGenerator"/>
      <argument type="service" id="monolog.logger"/>
    </service>
    <service id="twig" class="Twig\Environment" public="true">
      <tag name="container.preload" class="Twig\Cache\FilesystemCache"/>
      <tag name="container.preload" class="Twig\Extension\CoreExtension"/>
      <tag name="container.preload" class="Twig\Extension\EscaperExtension"/>
      <tag name="container.preload" class="Twig\Extension\OptimizerExtension"/>
      <tag name="container.preload" class="Twig\Extension\StagingExtension"/>
      <tag name="container.preload" class="Twig\ExtensionSet"/>
      <tag name="container.preload" class="Twig\Template"/>
      <tag name="container.preload" class="Twig\TemplateWrapper"/>
      <tag name="container.private" package="symfony/twig-bundle" version="5.2"/>
      <argument type="service" id="twig.loader.native_filesystem"/>
      <argument type="collection">
        <argument key="autoescape">name</argument>
        <argument key="cache">C:/wamp64/www/devkit-lti1p3-master-tool/var/cache/dev/twig</argument>
        <argument key="charset">UTF-8</argument>
        <argument key="debug">true</argument>
        <argument key="strict_variables">true</argument>
      </argument>
      <call method="addExtension">
        <argument type="service" id="twig.extension.security_csrf"/>
      </call>
      <call method="addExtension">
        <argument type="service" id="twig.extension.logout_url"/>
      </call>
      <call method="addExtension">
        <argument type="service" id="twig.extension.security"/>
      </call>
      <call method="addExtension">
        <argument type="service" id="twig.extension.profiler"/>
      </call>
      <call method="addExtension">
        <argument type="service" id="twig.extension.trans"/>
      </call>
      <call method="addExtension">
        <argument type="service" id="twig.extension.code"/>
      </call>
      <call method="addExtension">
        <argument type="service" id="twig.extension.routing"/>
      </call>
      <call method="addExtension">
        <argument type="service" id="twig.extension.yaml"/>
      </call>
      <call method="addExtension">
        <argument type="service" id="twig.extension.debug.stopwatch"/>
      </call>
      <call method="addExtension">
        <argument type="service" id="twig.extension.expression"/>
      </call>
      <call method="addExtension">
        <argument type="service" id="twig.extension.httpkernel"/>
      </call>
      <call method="addExtension">
        <argument type="service" id="twig.extension.httpfoundation"/>
      </call>
      <call method="addExtension">
        <argument type="service" id="twig.extension.form"/>
      </call>
      <call method="addExtension">
        <argument type="service" id="App\Twig\AppExtension"/>
      </call>
      <call method="addExtension">
        <argument type="service" id="twig.extension.debug"/>
      </call>
      <call method="addGlobal">
        <argument>app</argument>
        <argument type="service" id="twig.app_variable"/>
      </call>
      <call method="addRuntimeLoader">
        <argument type="service" id="twig.runtime_loader"/>
      </call>
      <call method="addGlobal">
        <argument>application_version</argument>
        <argument>2.4.2</argument>
      </call>
      <call method="addGlobal">
        <argument>application_env</argument>
        <argument>%env(resolve:APP_ENV)%</argument>
      </call>
      <call method="registerUndefinedFilterCallback">
        <argument type="collection">
          <argument type="service" id="twig.missing_extension_suggestor"/>
          <argument>suggestFilter</argument>
        </argument>
      </call>
      <call method="registerUndefinedFunctionCallback">
        <argument type="collection">
          <argument type="service" id="twig.missing_extension_suggestor"/>
          <argument>suggestFunction</argument>
        </argument>
      </call>
      <call method="registerUndefinedTokenParserCallback">
        <argument type="collection">
          <argument type="service" id="twig.missing_extension_suggestor"/>
          <argument>suggestTag</argument>
        </argument>
      </call>
      <configurator service="twig.configurator.environment" method="configure"/>
    </service>
    <service id="twig.app_variable" class="Symfony\Bridge\Twig\AppVariable">
      <call method="setEnvironment">
        <argument>dev</argument>
      </call>
      <call method="setDebug">
        <argument>true</argument>
      </call>
      <call method="setTokenStorage">
        <argument type="service" id="security.token_storage" on-invalid="ignore"/>
      </call>
      <call method="setRequestStack">
        <argument type="service" id="request_stack" on-invalid="ignore"/>
      </call>
    </service>
    <service id="twig.template_iterator" class="Symfony\Bundle\TwigBundle\TemplateIterator">
      <argument type="service" id="kernel"/>
      <argument type="collection">
        <argument key="C:\wamp64\www\devkit-lti1p3-master-tool/vendor/oat-sa/lib-lti1p3-basic-outcome/templates">null</argument>
        <argument key="C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\twig-bridge/Resources/views/Form">null</argument>
      </argument>
      <argument>C:\wamp64\www\devkit-lti1p3-master-tool/templates</argument>
    </service>
    <service id="twig.template_cache_warmer" class="Symfony\Bundle\TwigBundle\CacheWarmer\TemplateCacheWarmer">
      <tag name="kernel.cache_warmer"/>
      <tag name="container.service_subscriber" id="twig"/>
      <argument type="service" id=".service_locator.aq4MYft.twig.template_cache_warmer"/>
      <argument type="service" id="twig.template_iterator"/>
    </service>
    <service id="twig.loader.native_filesystem" class="Twig\Loader\FilesystemLoader">
      <tag name="twig.loader"/>
      <argument type="collection"/>
      <argument>C:\wamp64\www\devkit-lti1p3-master-tool</argument>
      <call method="addPath">
        <argument>C:\wamp64\www\devkit-lti1p3-master-tool/vendor/oat-sa/lib-lti1p3-basic-outcome/templates</argument>
      </call>
      <call method="addPath">
        <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\security-bundle/Resources/views</argument>
        <argument>Security</argument>
      </call>
      <call method="addPath">
        <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\security-bundle/Resources/views</argument>
        <argument>!Security</argument>
      </call>
      <call method="addPath">
        <argument>C:\wamp64\www\devkit-lti1p3-master-tool/templates</argument>
      </call>
      <call method="addPath">
        <argument>C:\wamp64\www\devkit-lti1p3-master-tool\vendor\symfony\twig-bridge/Resources/views/Form</argument>
      </call>
    </service>
    <service id="twig.loader.chain" class="Twig\Loader\ChainLoader"/>
    <service id="twig.extension.profiler" class="Symfony\Bridge\Twig\Extension\ProfilerExtension">
      <tag name="twig.extension"/>
      <argument type="service" id="twig.profile"/>
      <argument type="service" id="debug.stopwatch" on-invalid="ignore"/>
    </service>
    <service id="twig.profile" class="Twig\Profiler\Profile"/>
    <service id="data_collector.twig" class="Symfony\Bridge\Twig\DataCollector\TwigDataCollector">
      <tag name="data_collector" template="@WebProfiler/Collector/twig.html.twig" id="twig" priority="257"/>
      <argument type="service" id="twig.profile"/>
      <argument type="service" id="twig"/>
    </service>
    <service id="twig.extension.trans" class="Symfony\Bridge\Twig\Extension\TranslationExtension">
      <tag name="twig.extension"/>
      <argument type="service" id="translator.default" on-invalid="null"/>
    </service>
    <service id="twig.extension.code" class="Symfony\Bridge\Twig\Extension\CodeExtension">
      <tag name="twig.extension"/>
      <argument type="service" id="debug.file_link_formatter" on-invalid="ignore"/>
      <argument>C:\wamp64\www\devkit-lti1p3-master-tool</argument>
      <argument>UTF-8</argument>
    </service>
    <service id="twig.extension.routing" class="Symfony\Bridge\Twig\Extension\RoutingExtension">
      <tag name="twig.extension"/>
      <argument type="service" id="router.default"/>
    </service>
    <service id="twig.extension.yaml" class="Symfony\Bridge\Twig\Extension\YamlExtension">
      <tag name="twig.extension"/>
    </service>
    <service id="twig.extension.debug.stopwatch" class="Symfony\Bridge\Twig\Extension\StopwatchExtension">
      <tag name="twig.extension"/>
      <argument type="service" id="debug.stopwatch" on-invalid="ignore"/>
      <argument>true</argument>
    </service>
    <service id="twig.extension.expression" class="Symfony\Bridge\Twig\Extension\ExpressionExtension">
      <tag name="twig.extension"/>
    </service>
    <service id="twig.extension.httpkernel" class="Symfony\Bridge\Twig\Extension\HttpKernelExtension">
      <tag name="twig.extension"/>
    </service>
    <service id="twig.runtime.httpkernel" class="Symfony\Bridge\Twig\Extension\HttpKernelRuntime">
      <tag name="twig.runtime"/>
      <argument type="service" id="fragment.handler"/>
      <argument type="service" id="fragment.uri_generator" on-invalid="ignore"/>
    </service>
    <service id="twig.extension.httpfoundation" class="Symfony\Bridge\Twig\Extension\HttpFoundationExtension">
      <tag name="twig.extension"/>
      <argument type="service" id="url_helper"/>
    </service>
    <service id="twig.extension.debug" class="Twig\Extension\DebugExtension">
      <tag name="twig.extension"/>
    </service>
    <service id="twig.extension.weblink" class="Symfony\Bridge\Twig\Extension\WebLinkExtension">
      <argument type="service" id="request_stack"/>
    </service>
    <service id="twig.translation.extractor" class="Symfony\Bridge\Twig\Translation\TwigExtractor">
      <tag name="translation.extractor" alias="twig"/>
      <argument type="service" id="twig"/>
    </service>
    <service id="twig.configurator.environment" class="Symfony\Bundle\TwigBundle\DependencyInjection\Configurator\EnvironmentConfigurator">
      <argument>F j, Y H:i</argument>
      <argument>%d days</argument>
      <argument>null</argument>
      <argument>0</argument>
      <argument>.</argument>
      <argument>,</argument>
    </service>
    <service id="twig.runtime_loader" class="Twig\RuntimeLoader\ContainerRuntimeLoader">
      <argument type="service" id=".service_locator.L1OAKmd"/>
    </service>
    <service id="twig.error_renderer.html" class="Symfony\Bridge\Twig\ErrorRenderer\TwigErrorRenderer">
      <argument type="service" id="twig"/>
      <argument type="service" id="error_handler.error_renderer.html"/>
      <argument type="service">
        <service class="bool">
          <argument type="service" id="request_stack"/>
          <argument>true</argument>
          <factory class="Symfony\Bridge\Twig\ErrorRenderer\TwigErrorRenderer" method="isDebug"/>
        </service>
      </argument>
    </service>
    <service id="twig.runtime.serializer" class="Symfony\Bridge\Twig\Extension\SerializerRuntime">
      <argument type="service" id="serializer"/>
    </service>
    <service id="twig.extension.serializer" class="Symfony\Bridge\Twig\Extension\SerializerExtension"/>
    <service id="twig.extension.form" class="Symfony\Bridge\Twig\Extension\FormExtension">
      <tag name="twig.extension"/>
      <argument type="service" id="translator.default" on-invalid="null"/>
    </service>
    <service id="twig.form.engine" class="Symfony\Bridge\Twig\Form\TwigRendererEngine">
      <argument>%twig.form.resources%</argument>
      <argument type="service" id="twig"/>
    </service>
    <service id="twig.form.renderer" class="Symfony\Component\Form\FormRenderer">
      <tag name="twig.runtime"/>
      <argument type="service" id="twig.form.engine"/>
      <argument type="service" id="security.csrf.token_manager" on-invalid="null"/>
    </service>
    <service id="twig.command.debug" class="Symfony\Bridge\Twig\Command\DebugCommand">
      <tag name="console.command"/>
      <tag name="container.no_preload"/>
      <argument type="service" id="twig"/>
      <argument>C:\wamp64\www\devkit-lti1p3-master-tool</argument>
      <argument>%kernel.bundles_metadata%</argument>
      <argument>C:\wamp64\www\devkit-lti1p3-master-tool/templates</argument>
      <argument type="service" id="debug.file_link_formatter" on-invalid="null"/>
      <call method="setName">
        <argument>debug:twig</argument>
      </call>
      <call method="setDescription">
        <argument>Show a list of twig functions, filters, globals and tests</argument>
      </call>
    </service>
    <service id="twig.command.lint" class="Symfony\Bundle\TwigBundle\Command\LintCommand">
      <tag name="console.command"/>
      <tag name="container.no_preload"/>
      <argument type="service" id="twig"/>
      <call method="setName">
        <argument>lint:twig</argument>
      </call>
      <call method="setDescription">
        <argument>Lint a Twig template and outputs encountered errors</argument>
      </call>
    </service>
    <service id="twig.missing_extension_suggestor" class="Twig\Extra\TwigExtraBundle\MissingExtensionSuggestor"/>
    <service id="monolog.logger" class="Symfony\Bridge\Monolog\Logger">
      <argument>app</argument>
      <call method="useMicrosecondTimestamps">
        <argument>true</argument>
      </call>
      <call method="pushHandler">
        <argument type="service" id="monolog.handler.console"/>
      </call>
      <call method="pushHandler">
        <argument type="service" id="monolog.handler.main"/>
      </call>
    </service>
    <service id="monolog.logger_prototype" class="Symfony\Bridge\Monolog\Logger" abstract="true">
      <argument></argument>
    </service>
    <service id="monolog.activation_strategy.not_found" class="Symfony\Bridge\Monolog\Handler\FingersCrossed\NotFoundActivationStrategy" abstract="true"/>
    <service id="monolog.handler.fingers_crossed.error_level_activation_strategy" class="Monolog\Handler\FingersCrossed\ErrorLevelActivationStrategy" abstract="true"/>
    <service id="monolog.formatter.chrome_php" class="Monolog\Formatter\ChromePHPFormatter"/>
    <service id="monolog.formatter.gelf_message" class="Monolog\Formatter\GelfMessageFormatter"/>
    <service id="monolog.formatter.html" class="Monolog\Formatter\HtmlFormatter"/>
    <service id="monolog.formatter.json" class="Monolog\Formatter\JsonFormatter"/>
    <service id="monolog.formatter.line" class="Monolog\Formatter\LineFormatter"/>
    <service id="monolog.formatter.loggly" class="Monolog\Formatter\LogglyFormatter"/>
    <service id="monolog.formatter.normalizer" class="Monolog\Formatter\NormalizerFormatter"/>
    <service id="monolog.formatter.scalar" class="Monolog\Formatter\ScalarFormatter"/>
    <service id="monolog.formatter.wildfire" class="Monolog\Formatter\WildfireFormatter"/>
    <service id="monolog.formatter.logstash" class="Monolog\Formatter\LogstashFormatter">
      <argument>app</argument>
    </service>
    <service id="monolog.http_client" class="Symfony\Contracts\HttpClient\HttpClientInterface">
      <factory class="Symfony\Component\HttpClient\HttpClient" method="create"/>
    </service>
    <service id="monolog.handler.deprecation" class="Monolog\Handler\NullHandler">
      <argument>100</argument>
      <argument>true</argument>
    </service>
    <service id="monolog.processor.psr_log_message" class="Monolog\Processor\PsrLogMessageProcessor"/>
    <service id="monolog.handler.main" class="Monolog\Handler\StreamHandler">
      <tag name="kernel.reset" method="reset"/>
      <argument>php://stdout</argument>
      <argument>100</argument>
      <argument>true</argument>
      <argument>null</argument>
      <argument>false</argument>
      <call method="pushProcessor">
        <argument type="service" id="monolog.processor.psr_log_message"/>
      </call>
    </service>
    <service id="monolog.handler.console" class="Symfony\Bridge\Monolog\Handler\ConsoleHandler">
      <tag name="kernel.event_subscriber"/>
      <tag name="kernel.reset" method="reset"/>
      <tag name="container.no_preload"/>
      <argument>null</argument>
      <argument>true</argument>
      <argument type="collection"/>
      <argument type="collection"/>
    </service>
    <service id="OAT\Library\HealthCheck\HealthChecker" class="OAT\Library\HealthCheck\HealthChecker">
      <argument type="tagged_iterator" tag="health_check.checker"/>
      <argument type="service" id="monolog.logger"/>
    </service>
    <service id="OAT\Bundle\HealthCheckBundle\Action\HealthCheckAction" class="OAT\Bundle\HealthCheckBundle\Action\HealthCheckAction" public="true">
      <tag name="controller.service_arguments"/>
      <argument type="service" id="OAT\Library\HealthCheck\HealthChecker"/>
    </service>
    <service id="OAT\Bundle\HealthCheckBundle\Command\HealthCheckCommand" class="OAT\Bundle\HealthCheckBundle\Command\HealthCheckCommand">
      <tag name="console.command"/>
      <tag name="container.no_preload"/>
      <argument type="service" id="OAT\Library\HealthCheck\HealthChecker"/>
    </service>
    <service id="sensio_framework_extra.controller.listener" class="Sensio\Bundle\FrameworkExtraBundle\EventListener\ControllerListener">
      <tag name="kernel.event_subscriber"/>
      <tag name="container.hot_path"/>
      <argument type="service" id="annotations.cached_reader"/>
    </service>
    <service id="sensio_framework_extra.converter.listener" class="Sensio\Bundle\FrameworkExtraBundle\EventListener\ParamConverterListener">
      <tag name="kernel.event_subscriber"/>
      <tag name="container.hot_path"/>
      <argument type="service" id="sensio_framework_extra.converter.manager"/>
      <argument>true</argument>
    </service>
    <service id="sensio_framework_extra.converter.manager" class="Sensio\Bundle\FrameworkExtraBundle\Request\ParamConverter\ParamConverterManager">
      <call method="add">
        <argument type="service" id="App\Request\ParamConverter\AgsLineItemIdentifierConverter"/>
        <argument>0</argument>
        <argument>null</argument>
      </call>
      <call method="add">
        <argument type="service" id="sensio_framework_extra.converter.doctrine.orm"/>
        <argument>0</argument>
        <argument>doctrine.orm</argument>
      </call>
      <call method="add">
        <argument type="service" id="framework_extra_bundle.date_time_param_converter"/>
        <argument>0</argument>
        <argument>datetime</argument>
      </call>
    </service>
    <service id="sensio_framework_extra.converter.doctrine.orm" class="Sensio\Bundle\FrameworkExtraBundle\Request\ParamConverter\DoctrineParamConverter">
      <tag name="request.param_converter" converter="doctrine.orm"/>
      <argument>null</argument>
      <argument type="service" id="sensio_framework_extra.converter.doctrine.orm.expression_language.default" on-invalid="null"/>
    </service>
    <service id="framework_extra_bundle.date_time_param_converter" class="Sensio\Bundle\FrameworkExtraBundle\Request\ParamConverter\DateTimeParamConverter">
      <tag name="request.param_converter" converter="datetime"/>
    </service>
    <service id="sensio_framework_extra.converter.doctrine.orm.expression_language.default" class="Symfony\Component\ExpressionLanguage\ExpressionLanguage"/>
    <service id="sensio_framework_extra.view.guesser" class="Sensio\Bundle\FrameworkExtraBundle\Templating\TemplateGuesser">
      <argument type="service" id="kernel"/>
    </service>
    <service id="sensio_framework_extra.view.listener" class="Sensio\Bundle\FrameworkExtraBundle\EventListener\TemplateListener">
      <tag name="kernel.event_subscriber"/>
      <tag name="container.service_subscriber" id="twig"/>
      <tag name="container.hot_path"/>
      <argument type="service" id="sensio_framework_extra.view.guesser"/>
      <call method="setContainer">
        <argument type="service" id=".service_locator.PQK0.4p.sensio_framework_extra.view.listener"/>
      </call>
    </service>
    <service id="sensio_framework_extra.cache.listener" class="Sensio\Bundle\FrameworkExtraBundle\EventListener\HttpCacheListener">
      <tag name="kernel.event_subscriber"/>
      <tag name="container.hot_path"/>
      <tag name="container.hot_path"/>
    </service>
    <service id="sensio_framework_extra.security.listener" class="Sensio\Bundle\FrameworkExtraBundle\EventListener\SecurityListener">
      <tag name="kernel.event_subscriber"/>
      <tag name="container.hot_path"/>
      <argument type="service" id="framework_extra_bundle.argument_name_convertor"/>
      <argument type="service" id="sensio_framework_extra.security.expression_language.default" on-invalid="null"/>
      <argument type="service" id="security.authentication.trust_resolver" on-invalid="null"/>
      <argument type="service" id="security.role_hierarchy" on-invalid="null"/>
      <argument type="service" id="security.token_storage" on-invalid="null"/>
      <argument type="service" id="security.authorization_checker" on-invalid="null"/>
      <argument type="service" id="monolog.logger" on-invalid="null"/>
    </service>
    <service id="sensio_framework_extra.security.expression_language.default" class="Sensio\Bundle\FrameworkExtraBundle\Security\ExpressionLanguage"/>
    <service id="framework_extra_bundle.event.is_granted" class="Sensio\Bundle\FrameworkExtraBundle\EventListener\IsGrantedListener">
      <tag name="kernel.event_subscriber"/>
      <tag name="container.hot_path"/>
      <argument type="service" id="framework_extra_bundle.argument_name_convertor"/>
      <argument type="service" id="security.authorization_checker" on-invalid="null"/>
    </service>
    <service id="framework_extra_bundle.argument_name_convertor" class="Sensio\Bundle\FrameworkExtraBundle\Request\ArgumentNameConverter">
      <argument type="service" id="argument_metadata_factory"/>
    </service>
    <service id=".instanceof.Symfony\Component\Console\Command\Command.0.App\Command\Platform\Message\CreateMessageLaunchCommand" class="App\Command\Platform\Message\CreateMessageLaunchCommand" autowire="true" abstract="true"/>
    <service id=".abstract.instanceof.App\Command\Platform\Message\CreateMessageLaunchCommand" class="App\Command\Platform\Message\CreateMessageLaunchCommand" autowire="true" autoconfigure="true" abstract="true"/>
    <service id=".instanceof.Symfony\Component\EventDispatcher\EventSubscriberInterface.0.App\EventSubscriber\ErrorHandlerSubscriber" class="App\EventSubscriber\ErrorHandlerSubscriber" autowire="true" abstract="true"/>
    <service id=".abstract.instanceof.App\EventSubscriber\ErrorHandlerSubscriber" class="App\EventSubscriber\ErrorHandlerSubscriber" autowire="true" autoconfigure="true" abstract="true"/>
    <service id=".instanceof.Symfony\Component\Form\FormTypeInterface.0.App\Form\Platform\Ags\LineItemType" class="App\Form\Platform\Ags\LineItemType" autowire="true" abstract="true"/>
    <service id=".abstract.instanceof.App\Form\Platform\Ags\LineItemType" class="App\Form\Platform\Ags\LineItemType" autowire="true" autoconfigure="true" abstract="true"/>
    <service id=".instanceof.Symfony\Component\Form\FormTypeInterface.0.App\Form\Platform\Message\DeepLinkingLaunchType" class="App\Form\Platform\Message\DeepLinkingLaunchType" autowire="true" abstract="true"/>
    <service id=".abstract.instanceof.App\Form\Platform\Message\DeepLinkingLaunchType" class="App\Form\Platform\Message\DeepLinkingLaunchType" autowire="true" autoconfigure="true" abstract="true"/>
    <service id=".instanceof.Symfony\Component\Form\FormTypeInterface.0.App\Form\Platform\Message\LtiResourceLinkLaunchType" class="App\Form\Platform\Message\LtiResourceLinkLaunchType" autowire="true" abstract="true"/>
    <service id=".abstract.instanceof.App\Form\Platform\Message\LtiResourceLinkLaunchType" class="App\Form\Platform\Message\LtiResourceLinkLaunchType" autowire="true" autoconfigure="true" abstract="true"/>
    <service id=".instanceof.Symfony\Component\Form\FormTypeInterface.0.App\Form\Platform\Message\ProctoringLaunchType" class="App\Form\Platform\Message\ProctoringLaunchType" autowire="true" abstract="true"/>
    <service id=".abstract.instanceof.App\Form\Platform\Message\ProctoringLaunchType" class="App\Form\Platform\Message\ProctoringLaunchType" autowire="true" autoconfigure="true" abstract="true"/>
    <service id=".instanceof.Symfony\Component\Form\FormTypeInterface.0.App\Form\Platform\Message\SubmissionReviewLaunchType" class="App\Form\Platform\Message\SubmissionReviewLaunchType" autowire="true" abstract="true"/>
    <service id=".abstract.instanceof.App\Form\Platform\Message\SubmissionReviewLaunchType" class="App\Form\Platform\Message\SubmissionReviewLaunchType" autowire="true" autoconfigure="true" abstract="true"/>
    <service id=".instanceof.Symfony\Component\Form\FormTypeInterface.0.App\Form\Platform\Nrps\MembershipType" class="App\Form\Platform\Nrps\MembershipType" autowire="true" abstract="true"/>
    <service id=".abstract.instanceof.App\Form\Platform\Nrps\MembershipType" class="App\Form\Platform\Nrps\MembershipType" autowire="true" autoconfigure="true" abstract="true"/>
    <service id=".instanceof.Symfony\Component\Form\FormTypeInterface.0.App\Form\Platform\Proctoring\AssessmentType" class="App\Form\Platform\Proctoring\AssessmentType" autowire="true" abstract="true"/>
    <service id=".abstract.instanceof.App\Form\Platform\Proctoring\AssessmentType" class="App\Form\Platform\Proctoring\AssessmentType" autowire="true" autoconfigure="true" abstract="true"/>
    <service id=".instanceof.Symfony\Component\Form\FormTypeInterface.0.App\Form\Tool\Service\LtiServiceClientType" class="App\Form\Tool\Service\LtiServiceClientType" autowire="true" abstract="true"/>
    <service id=".abstract.instanceof.App\Form\Tool\Service\LtiServiceClientType" class="App\Form\Tool\Service\LtiServiceClientType" autowire="true" autoconfigure="true" abstract="true"/>
    <service id=".instanceof.Sensio\Bundle\FrameworkExtraBundle\Request\ParamConverter\ParamConverterInterface.0.App\Request\ParamConverter\AgsLineItemIdentifierConverter" class="App\Request\ParamConverter\AgsLineItemIdentifierConverter" autowire="true" abstract="true"/>
    <service id=".abstract.instanceof.App\Request\ParamConverter\AgsLineItemIdentifierConverter" class="App\Request\ParamConverter\AgsLineItemIdentifierConverter" autowire="true" autoconfigure="true" abstract="true"/>
    <service id=".instanceof.Twig\Extension\ExtensionInterface.0.App\Twig\AppExtension" class="App\Twig\AppExtension" autowire="true" abstract="true"/>
    <service id=".abstract.instanceof.App\Twig\AppExtension" class="App\Twig\AppExtension" autowire="true" autoconfigure="true" abstract="true"/>
    <service id=".service_locator.0GV1BZZ" class="Symfony\Component\DependencyInjection\ServiceLocator">
      <tag name="container.service_locator"/>
      <argument type="collection">
        <argument key="base64" type="service_closure" id="container.env_var_processor"/>
        <argument key="bool" type="service_closure" id="container.env_var_processor"/>
        <argument key="const" type="service_closure" id="container.env_var_processor"/>
        <argument key="csv" type="service_closure" id="container.env_var_processor"/>
        <argument key="default" type="service_closure" id="container.env_var_processor"/>
        <argument key="file" type="service_closure" id="container.env_var_processor"/>
        <argument key="float" type="service_closure" id="container.env_var_processor"/>
        <argument key="int" type="service_closure" id="container.env_var_processor"/>
        <argument key="json" type="service_closure" id="container.env_var_processor"/>
        <argument key="key" type="service_closure" id="container.env_var_processor"/>
        <argument key="not" type="service_closure" id="container.env_var_processor"/>
        <argument key="query_string" type="service_closure" id="container.env_var_processor"/>
        <argument key="require" type="service_closure" id="container.env_var_processor"/>
        <argument key="resolve" type="service_closure" id="container.env_var_processor"/>
        <argument key="string" type="service_closure" id="container.env_var_processor"/>
        <argument key="trim" type="service_closure" id="container.env_var_processor"/>
        <argument key="url" type="service_closure" id="container.env_var_processor"/>
      </argument>
    </service>
    <service id=".service_locator.u47of.0" class="Symfony\Component\DependencyInjection\ServiceLocator">
      <tag name="container.service_locator"/>
      <argument type="collection">
        <argument key="container" type="service_closure" id=".errored..service_locator.u47of.0.Symfony\Component\DependencyInjection\ContainerBuilder"/>
      </argument>
    </service>
    <service id=".service_locator.KfwZsne" class="Symfony\Component\DependencyInjection\ServiceLocator">
      <tag name="container.service_locator"/>
      <argument type="collection">
        <argument key="response" type="service_closure" id=".errored..service_locator.KfwZsne.Symfony\Component\HttpFoundation\Response"/>
      </argument>
    </service>
    <service id=".service_locator.KfbR3DY" class="Symfony\Component\DependencyInjection\ServiceLocator">
      <tag name="container.service_locator"/>
      <argument type="collection">
        <argument key="loader" type="service_closure" id=".errored..service_locator.KfbR3DY.Symfony\Component\Config\Loader\LoaderInterface"/>
      </argument>
    </service>
    <service id=".service_locator.PTX8tLP" class="Symfony\Component\DependencyInjection\ServiceLocator">
      <tag name="container.service_locator"/>
      <argument type="collection">
        <argument key="kernel::build" type="service_closure" id=".service_locator.u47of.0"/>
        <argument key="kernel::loadRoutes" type="service_closure" id=".service_locator.KfbR3DY"/>
        <argument key="kernel::registerContainerConfiguration" type="service_closure" id=".service_locator.KfbR3DY"/>
        <argument key="kernel::terminate" type="service_closure" id=".service_locator.KfwZsne"/>
        <argument key="kernel:build" type="service_closure" id=".service_locator.u47of.0"/>
        <argument key="kernel:loadRoutes" type="service_closure" id=".service_locator.KfbR3DY"/>
        <argument key="kernel:registerContainerConfiguration" type="service_closure" id=".service_locator.KfbR3DY"/>
        <argument key="kernel:terminate" type="service_closure" id=".service_locator.KfwZsne"/>
      </argument>
    </service>
    <service id=".service_locator.3EpoRs5" class="Symfony\Component\DependencyInjection\ServiceLocator">
      <tag name="container.service_locator"/>
      <argument type="collection">
        <argument key="Symfony\Component\Security\Core\Validator\Constraints\UserPasswordValidator" type="service_closure" id="security.validator.user_password"/>
        <argument key="Symfony\Component\Validator\Constraints\EmailValidator" type="service_closure" id="validator.email"/>
        <argument key="Symfony\Component\Validator\Constraints\ExpressionValidator" type="service_closure" id="validator.expression"/>
        <argument key="Symfony\Component\Validator\Constraints\NotCompromisedPasswordValidator" type="service_closure" id="validator.not_compromised_password"/>
        <argument key="security.validator.user_password" type="service_closure" id="security.validator.user_password"/>
        <argument key="validator.expression" type="service_closure" id="validator.expression"/>
      </argument>
    </service>
    <service id=".service_locator.lLv4pWF" class="Symfony\Component\DependencyInjection\ServiceLocator">
      <tag name="container.service_locator"/>
      <argument type="collection">
        <argument key="inline" type="service_closure" id="fragment.renderer.inline"/>
      </argument>
    </service>
    <service id="debug.argument_resolver.request_attribute" class="Symfony\Component\HttpKernel\Controller\ArgumentResolver\TraceableValueResolver">
      <tag name="controller.argument_value_resolver" priority="100"/>
      <argument type="service" id="debug.argument_resolver.request_attribute.inner"/>
      <argument type="service" id="debug.stopwatch"/>
    </service>
    <service id="debug.argument_resolver.request" class="Symfony\Component\HttpKernel\Controller\ArgumentResolver\TraceableValueResolver">
      <tag name="controller.argument_value_resolver" priority="50"/>
      <argument type="service" id="debug.argument_resolver.request.inner"/>
      <argument type="service" id="debug.stopwatch"/>
    </service>
    <service id="debug.argument_resolver.session" class="Symfony\Component\HttpKernel\Controller\ArgumentResolver\TraceableValueResolver">
      <tag name="controller.argument_value_resolver" priority="50"/>
      <argument type="service" id="debug.argument_resolver.session.inner"/>
      <argument type="service" id="debug.stopwatch"/>
    </service>
    <service id="debug.security.user_value_resolver" class="Symfony\Component\HttpKernel\Controller\ArgumentResolver\TraceableValueResolver">
      <tag name="controller.argument_value_resolver" priority="40"/>
      <argument type="service" id="debug.security.user_value_resolver.inner"/>
      <argument type="service" id="debug.stopwatch"/>
    </service>
    <service id="debug.argument_resolver.service" class="Symfony\Component\HttpKernel\Controller\ArgumentResolver\TraceableValueResolver">
      <tag name="controller.argument_value_resolver" priority="-50"/>
      <argument type="service" id="debug.argument_resolver.service.inner"/>
      <argument type="service" id="debug.stopwatch"/>
    </service>
    <service id="debug.argument_resolver.default" class="Symfony\Component\HttpKernel\Controller\ArgumentResolver\TraceableValueResolver">
      <tag name="controller.argument_value_resolver" priority="-100"/>
      <argument type="service" id="debug.argument_resolver.default.inner"/>
      <argument type="service" id="debug.stopwatch"/>
    </service>
    <service id="debug.argument_resolver.variadic" class="Symfony\Component\HttpKernel\Controller\ArgumentResolver\TraceableValueResolver">
      <tag name="controller.argument_value_resolver" priority="-150"/>
      <argument type="service" id="debug.argument_resolver.variadic.inner"/>
      <argument type="service" id="debug.stopwatch"/>
    </service>
    <service id="debug.argument_resolver.not_tagged_controller" class="Symfony\Component\HttpKernel\Controller\ArgumentResolver\TraceableValueResolver">
      <tag name="controller.argument_value_resolver" priority="-200"/>
      <argument type="service" id="debug.argument_resolver.not_tagged_controller.inner"/>
      <argument type="service" id="debug.stopwatch"/>
    </service>
    <service id=".service_locator.EZ5YRp3" class="Symfony\Component\DependencyInjection\ServiceLocator">
      <tag name="container.service_locator"/>
      <argument type="collection">
        <argument key="App\Form\Platform\Ags\LineItemType" type="service_closure" id="App\Form\Platform\Ags\LineItemType"/>
        <argument key="App\Form\Platform\Message\DeepLinkingLaunchType" type="service_closure" id="App\Form\Platform\Message\DeepLinkingLaunchType"/>
        <argument key="App\Form\Platform\Message\LtiResourceLinkLaunchType" type="service_closure" id="App\Form\Platform\Message\LtiResourceLinkLaunchType"/>
        <argument key="App\Form\Platform\Message\ProctoringLaunchType" type="service_closure" id="App\Form\Platform\Message\ProctoringLaunchType"/>
        <argument key="App\Form\Platform\Message\SubmissionReviewLaunchType" type="service_closure" id="App\Form\Platform\Message\SubmissionReviewLaunchType"/>
        <argument key="App\Form\Platform\Nrps\MembershipType" type="service_closure" id="App\Form\Platform\Nrps\MembershipType"/>
        <argument key="App\Form\Platform\Proctoring\AssessmentType" type="service_closure" id="App\Form\Platform\Proctoring\AssessmentType"/>
        <argument key="App\Form\Tool\Service\LtiServiceClientType" type="service_closure" id="App\Form\Tool\Service\LtiServiceClientType"/>
        <argument key="Symfony\Component\Form\Extension\Core\Type\ChoiceType" type="service_closure" id="form.type.choice"/>
        <argument key="Symfony\Component\Form\Extension\Core\Type\ColorType" type="service_closure" id="form.type.color"/>
        <argument key="Symfony\Component\Form\Extension\Core\Type\FileType" type="service_closure" id="form.type.file"/>
        <argument key="Symfony\Component\Form\Extension\Core\Type\FormType" type="service_closure" id="form.type.form"/>
      </argument>
    </service>
    <service id="debug.security.voter.security.access.authenticated_voter" class="Symfony\Component\Security\Core\Authorization\Voter\TraceableVoter">
      <argument type="service" id="security.access.authenticated_voter"/>
      <argument type="service" id="debug.event_dispatcher"/>
    </service>
    <service id="debug.security.voter.security.access.simple_role_voter" class="Symfony\Component\Security\Core\Authorization\Voter\TraceableVoter">
      <argument type="service" id="security.access.simple_role_voter"/>
      <argument type="service" id="debug.event_dispatcher"/>
    </service>
    <service id="debug.security.voter.security.access.expression_voter" class="Symfony\Component\Security\Core\Authorization\Voter\TraceableVoter">
      <argument type="service" id="security.access.expression_voter"/>
      <argument type="service" id="debug.event_dispatcher"/>
    </service>
    <service id="security.logout.listener.csrf_token_clearing" class="Symfony\Component\Security\Http\EventListener\CsrfTokenClearingLogoutListener">
      <tag name="kernel.event_subscriber"/>
      <argument type="service" id="security.csrf.token_storage"/>
    </service>
    <service id="security.ldap_locator" class="Symfony\Component\DependencyInjection\ServiceLocator">
      <argument type="collection"/>
    </service>
    <service id="OAT\Library\Lti1p3Core\Security\Key\KeyChainRepository" class="OAT\Library\Lti1p3Core\Security\Key\KeyChainRepository">
      <argument type="collection">
        <argument key="scopes" type="collection">
          <argument>https://purl.imsglobal.org/spec/lti-nrps/scope/contextmembership.readonly</argument>
          <argument>https://purl.imsglobal.org/spec/lti-bo/scope/basicoutcome</argument>
          <argument>https://purl.imsglobal.org/spec/lti-ap/scope/control.all</argument>
          <argument>https://purl.imsglobal.org/spec/lti-ags/scope/lineitem</argument>
          <argument>https://purl.imsglobal.org/spec/lti-ags/scope/lineitem.readonly</argument>
          <argument>https://purl.imsglobal.org/spec/lti-ags/scope/score</argument>
          <argument>https://purl.imsglobal.org/spec/lti-ags/scope/result.readonly</argument>
        </argument>
        <argument key="key_chains" type="collection">
          <argument key="toolKey" type="collection">
            <argument key="key_set_name">toolSet</argument>
            <argument key="public_key">file://C:\wamp64\www\devkit-lti1p3-master-tool/config/keys/public.key</argument>
            <argument key="private_key">file://C:\wamp64\www\devkit-lti1p3-master-tool/config/keys/private.key</argument>
            <argument key="private_key_passphrase">null</argument>
            <argument key="algorithm">RS256</argument>
          </argument>
          <argument key="platformKey" type="collection">
            <argument key="key_set_name">platformSet</argument>
            <argument key="public_key">file://C:\wamp64\www\devkit-lti1p3-master-tool/config/keys/public.key</argument>
            <argument key="private_key">file://C:\wamp64\www\devkit-lti1p3-master-tool/config/keys/private.key</argument>
            <argument key="private_key_passphrase">null</argument>
            <argument key="algorithm">RS256</argument>
          </argument>
        </argument>
        <argument key="platforms" type="collection">
          <argument key="localPlatform" type="collection">
            <argument key="name">Click Learner Portal Platform</argument>
            <argument key="audience">http://127.0.0.1:8000/platform</argument>
            <argument key="oidc_authentication_url">http://127.0.0.1:8000/lti1p3/oidc/authentication</argument>
            <argument key="oauth2_access_token_url">http://127.0.0.1:8000/lti1p3/auth/platformKey/token</argument>
          </argument>
        </argument>
        <argument key="tools" type="collection">
          <argument key="devkitTool" type="collection">
            <argument key="name">LTI 1.3 DevKit (as tool)</argument>
            <argument key="audience">http://127.0.0.1:8001/tool</argument>
            <argument key="oidc_initiation_url">http://127.0.0.1:8001/lti1p3/oidc/initiation</argument>
            <argument key="launch_url">http://127.0.0.1:8001/tool/launch</argument>
            <argument key="deep_linking_url">http://127.0.0.1:8001/tool/launch</argument>
          </argument>
        </argument>
        <argument key="registrations" type="collection">
          <argument key="local" type="collection">
            <argument key="client_id">common_client_id_value</argument>
            <argument key="platform">localPlatform</argument>
            <argument key="tool">devkitTool</argument>
            <argument key="deployment_ids" type="collection">
              <argument>deploymentId1</argument>
            </argument>
            <argument key="platform_key_chain">platformKey</argument>
            <argument key="tool_key_chain">toolKey</argument>
            <argument key="platform_jwks_url">http://127.0.0.1:8000/lti1p3/.well-known/jwks/platformSet.json</argument>
            <argument key="tool_jwks_url">http://127.0.0.1:8001/lti1p3/.well-known/jwks/deliver.json"</argument>
            <argument key="order">1</argument>
          </argument>
        </argument>
      </argument>
      <factory service="OAT\Bundle\Lti1p3Bundle\DependencyInjection\Builder\KeyChainRepositoryBuilder" method="build"/>
    </service>
    <service id="OAT\Bundle\Lti1p3Bundle\Repository\RegistrationRepository" class="OAT\Bundle\Lti1p3Bundle\Repository\RegistrationRepository">
      <argument type="collection">
        <argument key="scopes" type="collection">
          <argument>https://purl.imsglobal.org/spec/lti-nrps/scope/contextmembership.readonly</argument>
          <argument>https://purl.imsglobal.org/spec/lti-bo/scope/basicoutcome</argument>
          <argument>https://purl.imsglobal.org/spec/lti-ap/scope/control.all</argument>
          <argument>https://purl.imsglobal.org/spec/lti-ags/scope/lineitem</argument>
          <argument>https://purl.imsglobal.org/spec/lti-ags/scope/lineitem.readonly</argument>
          <argument>https://purl.imsglobal.org/spec/lti-ags/scope/score</argument>
          <argument>https://purl.imsglobal.org/spec/lti-ags/scope/result.readonly</argument>
        </argument>
        <argument key="key_chains" type="collection">
          <argument key="toolKey" type="collection">
            <argument key="key_set_name">toolSet</argument>
            <argument key="public_key">file://C:\wamp64\www\devkit-lti1p3-master-tool/config/keys/public.key</argument>
            <argument key="private_key">file://C:\wamp64\www\devkit-lti1p3-master-tool/config/keys/private.key</argument>
            <argument key="private_key_passphrase">null</argument>
            <argument key="algorithm">RS256</argument>
          </argument>
          <argument key="platformKey" type="collection">
            <argument key="key_set_name">platformSet</argument>
            <argument key="public_key">file://C:\wamp64\www\devkit-lti1p3-master-tool/config/keys/public.key</argument>
            <argument key="private_key">file://C:\wamp64\www\devkit-lti1p3-master-tool/config/keys/private.key</argument>
            <argument key="private_key_passphrase">null</argument>
            <argument key="algorithm">RS256</argument>
          </argument>
        </argument>
        <argument key="platforms" type="collection">
          <argument key="localPlatform" type="collection">
            <argument key="name">Click Learner Portal Platform</argument>
            <argument key="audience">http://127.0.0.1:8000/platform</argument>
            <argument key="oidc_authentication_url">http://127.0.0.1:8000/lti1p3/oidc/authentication</argument>
            <argument key="oauth2_access_token_url">http://127.0.0.1:8000/lti1p3/auth/platformKey/token</argument>
          </argument>
        </argument>
        <argument key="tools" type="collection">
          <argument key="devkitTool" type="collection">
            <argument key="name">LTI 1.3 DevKit (as tool)</argument>
            <argument key="audience">http://127.0.0.1:8001/tool</argument>
            <argument key="oidc_initiation_url">http://127.0.0.1:8001/lti1p3/oidc/initiation</argument>
            <argument key="launch_url">http://127.0.0.1:8001/tool/launch</argument>
            <argument key="deep_linking_url">http://127.0.0.1:8001/tool/launch</argument>
          </argument>
        </argument>
        <argument key="registrations" type="collection">
          <argument key="local" type="collection">
            <argument key="client_id">common_client_id_value</argument>
            <argument key="platform">localPlatform</argument>
            <argument key="tool">devkitTool</argument>
            <argument key="deployment_ids" type="collection">
              <argument>deploymentId1</argument>
            </argument>
            <argument key="platform_key_chain">platformKey</argument>
            <argument key="tool_key_chain">toolKey</argument>
            <argument key="platform_jwks_url">http://127.0.0.1:8000/lti1p3/.well-known/jwks/platformSet.json</argument>
            <argument key="tool_jwks_url">http://127.0.0.1:8001/lti1p3/.well-known/jwks/deliver.json"</argument>
            <argument key="order">1</argument>
          </argument>
        </argument>
      </argument>
      <factory service="OAT\Bundle\Lti1p3Bundle\DependencyInjection\Builder\RegistrationRepositoryBuilder" method="build"/>
    </service>
    <service id="monolog.logger.request" class="Symfony\Bridge\Monolog\Logger">
      <argument>request</argument>
      <call method="pushHandler">
        <argument type="service" id="monolog.handler.console"/>
      </call>
      <call method="pushHandler">
        <argument type="service" id="monolog.handler.main"/>
      </call>
    </service>
    <service id="monolog.logger.console" class="Symfony\Bridge\Monolog\Logger">
      <argument>console</argument>
      <call method="pushHandler">
        <argument type="service" id="monolog.handler.main"/>
      </call>
    </service>
    <service id="monolog.logger.cache" class="Symfony\Bridge\Monolog\Logger">
      <argument>cache</argument>
      <call method="pushHandler">
        <argument type="service" id="monolog.handler.console"/>
      </call>
      <call method="pushHandler">
        <argument type="service" id="monolog.handler.main"/>
      </call>
    </service>
    <service id="monolog.logger.translation" class="Symfony\Bridge\Monolog\Logger">
      <argument>translation</argument>
      <call method="pushHandler">
        <argument type="service" id="monolog.handler.console"/>
      </call>
      <call method="pushHandler">
        <argument type="service" id="monolog.handler.main"/>
      </call>
    </service>
    <service id="monolog.logger.php" class="Symfony\Bridge\Monolog\Logger">
      <argument>php</argument>
      <call method="pushHandler">
        <argument type="service" id="monolog.handler.console"/>
      </call>
      <call method="pushHandler">
        <argument type="service" id="monolog.handler.main"/>
      </call>
    </service>
    <service id="monolog.logger.event" class="Symfony\Bridge\Monolog\Logger">
      <argument>event</argument>
      <call method="pushHandler">
        <argument type="service" id="monolog.handler.null_internal"/>
      </call>
    </service>
    <service id="monolog.logger.router" class="Symfony\Bridge\Monolog\Logger">
      <argument>router</argument>
      <call method="pushHandler">
        <argument type="service" id="monolog.handler.console"/>
      </call>
      <call method="pushHandler">
        <argument type="service" id="monolog.handler.main"/>
      </call>
    </service>
    <service id="monolog.logger.security" class="Symfony\Bridge\Monolog\Logger">
      <argument>security</argument>
      <call method="pushHandler">
        <argument type="service" id="monolog.handler.console"/>
      </call>
      <call method="pushHandler">
        <argument type="service" id="monolog.handler.main"/>
      </call>
    </service>
    <service id="monolog.logger.deprecation" class="Symfony\Bridge\Monolog\Logger" public="true">
      <argument>deprecation</argument>
      <call method="pushHandler">
        <argument type="service" id="monolog.handler.console"/>
      </call>
      <call method="pushHandler">
        <argument type="service" id="monolog.handler.main"/>
      </call>
      <call method="pushHandler">
        <argument type="service" id="monolog.handler.deprecation"/>
      </call>
    </service>
    <service id="monolog.handler.null_internal" class="Monolog\Handler\NullHandler"/>
    <service id=".service_locator.O24_MAy" class="Symfony\Component\DependencyInjection\ServiceLocator">
      <tag name="container.service_locator"/>
      <argument type="collection">
        <argument key="translation.loader.csv" type="service_closure" id="translation.loader.csv"/>
        <argument key="translation.loader.dat" type="service_closure" id="translation.loader.dat"/>
        <argument key="translation.loader.ini" type="service_closure" id="translation.loader.ini"/>
        <argument key="translation.loader.json" type="service_closure" id="translation.loader.json"/>
        <argument key="translation.loader.mo" type="service_closure" id="translation.loader.mo"/>
        <argument key="translation.loader.php" type="service_closure" id="translation.loader.php"/>
        <argument key="translation.loader.po" type="service_closure" id="translation.loader.po"/>
        <argument key="translation.loader.qt" type="service_closure" id="translation.loader.qt"/>
        <argument key="translation.loader.res" type="service_closure" id="translation.loader.res"/>
        <argument key="translation.loader.xliff" type="service_closure" id="translation.loader.xliff"/>
        <argument key="translation.loader.yml" type="service_closure" id="translation.loader.yml"/>
      </argument>
    </service>
    <service id=".service_locator.J4b.DPX" class="Symfony\Component\DependencyInjection\ServiceLocator">
      <tag name="container.service_locator"/>
      <argument type="collection">
        <argument key="translator" type="service_closure" id="translator.default"/>
      </argument>
    </service>
    <service id=".service_locator.J4b.DPX.translation.warmer" class="Symfony\Component\DependencyInjection\ServiceLocator">
      <tag name="container.service_locator_context" id="translation.warmer"/>
      <argument>translation.warmer</argument>
      <argument type="service" id="service_container"/>
      <factory service=".service_locator.J4b.DPX" method="withContext"/>
    </service>
    <service id=".service_locator.ahiv2oj" class="Symfony\Component\DependencyInjection\ServiceLocator">
      <tag name="container.service_locator"/>
      <argument type="collection">
        <argument key="routing.loader" type="service_closure" id="routing.loader"/>
      </argument>
    </service>
    <service id=".service_locator.ahiv2oj.router.default" class="Symfony\Component\DependencyInjection\ServiceLocator">
      <tag name="container.service_locator_context" id="router.default"/>
      <argument>router.default</argument>
      <argument type="service" id="service_container"/>
      <factory service=".service_locator.ahiv2oj" method="withContext"/>
    </service>
    <service id=".service_locator.HLwzKIm" class="Symfony\Component\DependencyInjection\ServiceLocator">
      <tag name="container.service_locator"/>
      <argument type="collection">
        <argument key="router" type="service_closure" id="router.default"/>
      </argument>
    </service>
    <service id=".service_locator.HLwzKIm.router.cache_warmer" class="Symfony\Component\DependencyInjection\ServiceLocator">
      <tag name="container.service_locator_context" id="router.cache_warmer"/>
      <argument>router.cache_warmer</argument>
      <argument type="service" id="service_container"/>
      <factory service=".service_locator.HLwzKIm" method="withContext"/>
    </service>
    <service id=".service_locator.aq4MYft" class="Symfony\Component\DependencyInjection\ServiceLocator">
      <tag name="container.service_locator"/>
      <argument type="collection">
        <argument key="twig" type="service_closure" id="twig"/>
      </argument>
    </service>
    <service id=".service_locator.aq4MYft.twig.template_cache_warmer" class="Symfony\Component\DependencyInjection\ServiceLocator">
      <tag name="container.service_locator_context" id="twig.template_cache_warmer"/>
      <argument>twig.template_cache_warmer</argument>
      <argument type="service" id="service_container"/>
      <factory service=".service_locator.aq4MYft" method="withContext"/>
    </service>
    <service id=".service_locator.PQK0.4p" class="Symfony\Component\DependencyInjection\ServiceLocator">
      <tag name="container.service_locator"/>
      <argument type="collection">
        <argument key="twig" type="service_closure" id="twig" on-invalid="ignore"/>
      </argument>
    </service>
    <service id=".service_locator.PQK0.4p.sensio_framework_extra.view.listener" class="Symfony\Component\DependencyInjection\ServiceLocator">
      <tag name="container.service_locator_context" id="sensio_framework_extra.view.listener"/>
      <argument>sensio_framework_extra.view.listener</argument>
      <argument type="service" id="service_container"/>
      <factory service=".service_locator.PQK0.4p" method="withContext"/>
    </service>
    <service id=".errored..service_locator.u47of.0.Symfony\Component\DependencyInjection\ContainerBuilder" class="Symfony\Component\DependencyInjection\ContainerBuilder"/>
    <service id=".errored..service_locator.KfwZsne.Symfony\Component\HttpFoundation\Response" class="Symfony\Component\HttpFoundation\Response"/>
    <service id=".errored..service_locator.KfbR3DY.Symfony\Component\Config\Loader\LoaderInterface" class="Symfony\Component\Config\Loader\LoaderInterface"/>
    <service id=".service_locator.XXv1IfR" class="Symfony\Component\DependencyInjection\ServiceLocator">
      <tag name="container.service_locator"/>
      <argument type="collection">
        <argument key="reverse_container" type="service_closure" id="reverse_container" on-invalid="ignore_uninitialized"/>
      </argument>
    </service>
    <service id=".service_locator.egX1u_r" class="Symfony\Component\DependencyInjection\ServiceLocator">
      <tag name="container.service_locator"/>
      <argument type="collection">
        <argument key="event_dispatcher" type="service_closure" id="debug.event_dispatcher"/>
        <argument key="security.event_dispatcher.api_area" type="service_closure" id="security.event_dispatcher.api_area"/>
        <argument key="security.event_dispatcher.main" type="service_closure" id="security.event_dispatcher.main"/>
        <argument key="security.event_dispatcher.platform_message_area" type="service_closure" id="security.event_dispatcher.platform_message_area"/>
        <argument key="security.event_dispatcher.platform_service_acs_area" type="service_closure" id="security.event_dispatcher.platform_service_acs_area"/>
        <argument key="security.event_dispatcher.platform_service_ags_area" type="service_closure" id="security.event_dispatcher.platform_service_ags_area"/>
        <argument key="security.event_dispatcher.platform_service_basic_outcome_area" type="service_closure" id="security.event_dispatcher.platform_service_basic_outcome_area"/>
        <argument key="security.event_dispatcher.platform_service_nrps_area" type="service_closure" id="security.event_dispatcher.platform_service_nrps_area"/>
        <argument key="security.event_dispatcher.tool_message_area" type="service_closure" id="security.event_dispatcher.tool_message_area"/>
      </argument>
    </service>
    <service id=".service_locator.4kgUM3R" class="Symfony\Component\DependencyInjection\ServiceLocator">
      <tag name="container.service_locator"/>
      <argument type="collection">
        <argument key="initialized_session" type="service_closure" id=".session.do-not-use" on-invalid="ignore_uninitialized"/>
        <argument key="logger" type="service_closure" id="monolog.logger" on-invalid="ignore"/>
        <argument key="request_stack" type="service_closure" id="request_stack"/>
        <argument key="session" type="service_closure" id=".session.do-not-use" on-invalid="ignore"/>
        <argument key="session_storage" type="service_closure" id="session.storage.native" on-invalid="ignore"/>
      </argument>
    </service>
    <service id=".service_locator.kODoftA" class="Symfony\Component\DependencyInjection\ServiceLocator">
      <tag name="container.service_locator"/>
      <argument type="collection">
        <argument key="kernel" type="service_closure" id="kernel"/>
      </argument>
    </service>
    <service id=".service_locator.1ZPWTRB" class="Symfony\Component\DependencyInjection\ServiceLocator">
      <tag name="container.service_locator"/>
      <argument type="collection">
        <argument key="env" type="service_closure" id="container.getenv"/>
      </argument>
    </service>
    <service id=".service_locator.LcVn9Hr" class="Symfony\Component\DependencyInjection\ServiceLocator">
      <tag name="container.service_locator"/>
      <argument type="collection">
        <argument key="request_stack" type="service_closure" id="request_stack"/>
      </argument>
    </service>
    <service id=".service_locator.aa1PbBb" class="Symfony\Component\DependencyInjection\ServiceLocator">
      <tag name="container.service_locator"/>
      <argument type="collection">
        <argument key="security.authorization_checker" type="service_closure" id="security.authorization_checker"/>
        <argument key="security.token_storage" type="service_closure" id="security.token_storage"/>
      </argument>
    </service>
    <service id="debug.event_dispatcher.inner" class="Symfony\Component\EventDispatcher\EventDispatcher"/>
    <service id="debug.controller_resolver.inner" class="Symfony\Bundle\FrameworkBundle\Controller\ControllerResolver">
      <argument type="service" id="service_container"/>
      <argument type="service" id="monolog.logger.request" on-invalid="ignore"/>
    </service>
    <service id="debug.argument_resolver.inner" class="Symfony\Component\HttpKernel\Controller\ArgumentResolver">
      <argument type="service" id="argument_metadata_factory"/>
      <argument type="iterator">
        <argument type="service" id="debug.argument_resolver.request_attribute"/>
        <argument type="service" id="debug.argument_resolver.request"/>
        <argument type="service" id="debug.argument_resolver.session"/>
        <argument type="service" id="debug.security.user_value_resolver"/>
        <argument type="service" id="debug.argument_resolver.service"/>
        <argument type="service" id="debug.argument_resolver.default"/>
        <argument type="service" id="debug.argument_resolver.variadic"/>
        <argument type="service" id="debug.argument_resolver.not_tagged_controller"/>
      </argument>
    </service>
    <service id="debug.security.access.decision_manager.inner" class="Symfony\Component\Security\Core\Authorization\AccessDecisionManager">
      <argument type="iterator">
        <argument type="service" id="debug.security.voter.security.access.authenticated_voter"/>
        <argument type="service" id="debug.security.voter.security.access.simple_role_voter"/>
        <argument type="service" id="debug.security.voter.security.access.expression_voter"/>
      </argument>
      <argument>affirmative</argument>
      <argument>false</argument>
      <argument>true</argument>
    </service>
    <service id="debug.argument_resolver.request_attribute.inner" class="Symfony\Component\HttpKernel\Controller\ArgumentResolver\RequestAttributeValueResolver"/>
    <service id="debug.argument_resolver.request.inner" class="Symfony\Component\HttpKernel\Controller\ArgumentResolver\RequestValueResolver"/>
    <service id="debug.argument_resolver.session.inner" class="Symfony\Component\HttpKernel\Controller\ArgumentResolver\SessionValueResolver"/>
    <service id="debug.security.user_value_resolver.inner" class="Symfony\Component\Security\Http\Controller\UserValueResolver">
      <argument type="service" id="security.token_storage"/>
    </service>
    <service id="debug.argument_resolver.service.inner" class="Symfony\Component\HttpKernel\Controller\ArgumentResolver\ServiceValueResolver">
      <argument type="service" id=".service_locator.PTX8tLP"/>
    </service>
    <service id="debug.argument_resolver.default.inner" class="Symfony\Component\HttpKernel\Controller\ArgumentResolver\DefaultValueResolver"/>
    <service id="debug.argument_resolver.variadic.inner" class="Symfony\Component\HttpKernel\Controller\ArgumentResolver\VariadicValueResolver"/>
    <service id="debug.argument_resolver.not_tagged_controller.inner" class="Symfony\Component\HttpKernel\Controller\ArgumentResolver\NotTaggedControllerValueResolver">
      <argument type="service" id=".service_locator.PTX8tLP"/>
    </service>
    <service id=".console.command.about.lazy" class="Symfony\Component\Console\Command\LazyCommand">
      <argument>about</argument>
      <argument type="collection"/>
      <argument>Display information about the current project</argument>
      <argument>false</argument>
      <argument type="service_closure" id="console.command.about"/>
    </service>
    <service id=".console.command.assets_install.lazy" class="Symfony\Component\Console\Command\LazyCommand">
      <argument>assets:install</argument>
      <argument type="collection"/>
      <argument>Install bundle's web assets under a public directory</argument>
      <argument>false</argument>
      <argument type="service_closure" id="console.command.assets_install"/>
    </service>
    <service id=".console.command.cache_clear.lazy" class="Symfony\Component\Console\Command\LazyCommand">
      <argument>cache:clear</argument>
      <argument type="collection"/>
      <argument>Clear the cache</argument>
      <argument>false</argument>
      <argument type="service_closure" id="console.command.cache_clear"/>
    </service>
    <service id=".console.command.cache_pool_clear.lazy" class="Symfony\Component\Console\Command\LazyCommand">
      <argument>cache:pool:clear</argument>
      <argument type="collection"/>
      <argument>Clear cache pools</argument>
      <argument>false</argument>
      <argument type="service_closure" id="console.command.cache_pool_clear"/>
    </service>
    <service id=".console.command.cache_pool_prune.lazy" class="Symfony\Component\Console\Command\LazyCommand">
      <argument>cache:pool:prune</argument>
      <argument type="collection"/>
      <argument>Prune cache pools</argument>
      <argument>false</argument>
      <argument type="service_closure" id="console.command.cache_pool_prune"/>
    </service>
    <service id=".console.command.cache_pool_delete.lazy" class="Symfony\Component\Console\Command\LazyCommand">
      <argument>cache:pool:delete</argument>
      <argument type="collection"/>
      <argument>Delete an item from a cache pool</argument>
      <argument>false</argument>
      <argument type="service_closure" id="console.command.cache_pool_delete"/>
    </service>
    <service id=".console.command.cache_pool_list.lazy" class="Symfony\Component\Console\Command\LazyCommand">
      <argument>cache:pool:list</argument>
      <argument type="collection"/>
      <argument>List available cache pools</argument>
      <argument>false</argument>
      <argument type="service_closure" id="console.command.cache_pool_list"/>
    </service>
    <service id=".console.command.cache_warmup.lazy" class="Symfony\Component\Console\Command\LazyCommand">
      <argument>cache:warmup</argument>
      <argument type="collection"/>
      <argument>Warm up an empty cache</argument>
      <argument>false</argument>
      <argument type="service_closure" id="console.command.cache_warmup"/>
    </service>
    <service id=".console.command.config_debug.lazy" class="Symfony\Component\Console\Command\LazyCommand">
      <argument>debug:config</argument>
      <argument type="collection"/>
      <argument>Dump the current configuration for an extension</argument>
      <argument>false</argument>
      <argument type="service_closure" id="console.command.config_debug"/>
    </service>
    <service id=".console.command.config_dump_reference.lazy" class="Symfony\Component\Console\Command\LazyCommand">
      <argument>config:dump-reference</argument>
      <argument type="collection"/>
      <argument>Dump the default configuration for an extension</argument>
      <argument>false</argument>
      <argument type="service_closure" id="console.command.config_dump_reference"/>
    </service>
    <service id=".console.command.container_debug.lazy" class="Symfony\Component\Console\Command\LazyCommand">
      <argument>debug:container</argument>
      <argument type="collection"/>
      <argument>Display current services for an application</argument>
      <argument>false</argument>
      <argument type="service_closure" id="console.command.container_debug"/>
    </service>
    <service id=".console.command.container_lint.lazy" class="Symfony\Component\Console\Command\LazyCommand">
      <argument>lint:container</argument>
      <argument type="collection"/>
      <argument>Ensure that arguments injected into services match type declarations</argument>
      <argument>false</argument>
      <argument type="service_closure" id="console.command.container_lint"/>
    </service>
    <service id=".console.command.debug_autowiring.lazy" class="Symfony\Component\Console\Command\LazyCommand">
      <argument>debug:autowiring</argument>
      <argument type="collection"/>
      <argument>List classes/interfaces you can use for autowiring</argument>
      <argument>false</argument>
      <argument type="service_closure" id="console.command.debug_autowiring"/>
    </service>
    <service id=".console.command.event_dispatcher_debug.lazy" class="Symfony\Component\Console\Command\LazyCommand">
      <argument>debug:event-dispatcher</argument>
      <argument type="collection"/>
      <argument>Display configured listeners for an application</argument>
      <argument>false</argument>
      <argument type="service_closure" id="console.command.event_dispatcher_debug"/>
    </service>
    <service id=".console.command.router_debug.lazy" class="Symfony\Component\Console\Command\LazyCommand">
      <argument>debug:router</argument>
      <argument type="collection"/>
      <argument>Display current routes for an application</argument>
      <argument>false</argument>
      <argument type="service_closure" id="console.command.router_debug"/>
    </service>
    <service id=".console.command.router_match.lazy" class="Symfony\Component\Console\Command\LazyCommand">
      <argument>router:match</argument>
      <argument type="collection"/>
      <argument>Help debug routes by simulating a path info match</argument>
      <argument>false</argument>
      <argument type="service_closure" id="console.command.router_match"/>
    </service>
    <service id=".console.command.translation_debug.lazy" class="Symfony\Component\Console\Command\LazyCommand">
      <argument>debug:translation</argument>
      <argument type="collection"/>
      <argument>Display translation messages information</argument>
      <argument>false</argument>
      <argument type="service_closure" id="console.command.translation_debug"/>
    </service>
    <service id=".console.command.translation_update.lazy" class="Symfony\Component\Console\Command\LazyCommand">
      <argument>translation:update</argument>
      <argument type="collection"/>
      <argument>Update the translation file</argument>
      <argument>false</argument>
      <argument type="service_closure" id="console.command.translation_update"/>
    </service>
    <service id=".console.command.validator_debug.lazy" class="Symfony\Component\Console\Command\LazyCommand">
      <argument>debug:validator</argument>
      <argument type="collection"/>
      <argument>Display validation constraints for classes</argument>
      <argument>false</argument>
      <argument type="service_closure" id="console.command.validator_debug"/>
    </service>
    <service id=".console.command.translation_pull.lazy" class="Symfony\Component\Console\Command\LazyCommand">
      <argument>translation:pull</argument>
      <argument type="collection"/>
      <argument>Pull translations from a given provider.</argument>
      <argument>false</argument>
      <argument type="service_closure" id="console.command.translation_pull"/>
    </service>
    <service id=".console.command.translation_push.lazy" class="Symfony\Component\Console\Command\LazyCommand">
      <argument>translation:push</argument>
      <argument type="collection"/>
      <argument>Push translations to a given provider.</argument>
      <argument>false</argument>
      <argument type="service_closure" id="console.command.translation_push"/>
    </service>
    <service id=".console.command.xliff_lint.lazy" class="Symfony\Component\Console\Command\LazyCommand">
      <argument>lint:xliff</argument>
      <argument type="collection"/>
      <argument>Lint an XLIFF file and outputs encountered errors</argument>
      <argument>false</argument>
      <argument type="service_closure" id="console.command.xliff_lint"/>
    </service>
    <service id=".console.command.yaml_lint.lazy" class="Symfony\Component\Console\Command\LazyCommand">
      <argument>lint:yaml</argument>
      <argument type="collection"/>
      <argument>Lint a YAML file and outputs encountered errors</argument>
      <argument>false</argument>
      <argument type="service_closure" id="console.command.yaml_lint"/>
    </service>
    <service id=".console.command.form_debug.lazy" class="Symfony\Component\Console\Command\LazyCommand">
      <argument>debug:form</argument>
      <argument type="collection"/>
      <argument>Display form type information</argument>
      <argument>false</argument>
      <argument type="service_closure" id="console.command.form_debug"/>
    </service>
    <service id=".console.command.secrets_set.lazy" class="Symfony\Component\Console\Command\LazyCommand">
      <argument>secrets:set</argument>
      <argument type="collection"/>
      <argument>Set a secret in the vault</argument>
      <argument>false</argument>
      <argument type="service_closure" id="console.command.secrets_set"/>
    </service>
    <service id=".console.command.secrets_remove.lazy" class="Symfony\Component\Console\Command\LazyCommand">
      <argument>secrets:remove</argument>
      <argument type="collection"/>
      <argument>Remove a secret from the vault</argument>
      <argument>false</argument>
      <argument type="service_closure" id="console.command.secrets_remove"/>
    </service>
    <service id=".console.command.secrets_generate_key.lazy" class="Symfony\Component\Console\Command\LazyCommand">
      <argument>secrets:generate-keys</argument>
      <argument type="collection"/>
      <argument>Generate new encryption keys</argument>
      <argument>false</argument>
      <argument type="service_closure" id="console.command.secrets_generate_key"/>
    </service>
    <service id=".console.command.secrets_list.lazy" class="Symfony\Component\Console\Command\LazyCommand">
      <argument>secrets:list</argument>
      <argument type="collection"/>
      <argument>List all secrets</argument>
      <argument>false</argument>
      <argument type="service_closure" id="console.command.secrets_list"/>
    </service>
    <service id=".console.command.secrets_decrypt_to_local.lazy" class="Symfony\Component\Console\Command\LazyCommand">
      <argument>secrets:decrypt-to-local</argument>
      <argument type="collection"/>
      <argument>Decrypt all secrets and stores them in the local vault</argument>
      <argument>false</argument>
      <argument type="service_closure" id="console.command.secrets_decrypt_to_local"/>
    </service>
    <service id=".console.command.secrets_encrypt_from_local.lazy" class="Symfony\Component\Console\Command\LazyCommand">
      <argument>secrets:encrypt-from-local</argument>
      <argument type="collection"/>
      <argument>Encrypt all local secrets to the vault</argument>
      <argument>false</argument>
      <argument type="service_closure" id="console.command.secrets_encrypt_from_local"/>
    </service>
    <service id=".security.command.debug_firewall.lazy" class="Symfony\Component\Console\Command\LazyCommand">
      <argument>debug:firewall</argument>
      <argument type="collection"/>
      <argument>Display information about your security firewall(s)</argument>
      <argument>false</argument>
      <argument type="service_closure" id="security.command.debug_firewall"/>
    </service>
    <service id=".security.command.user_password_encoder.lazy" class="Symfony\Component\Console\Command\LazyCommand">
      <argument>security:encode-password</argument>
      <argument type="collection"/>
      <argument>Encode a password</argument>
      <argument>false</argument>
      <argument type="service_closure" id="security.command.user_password_encoder"/>
    </service>
    <service id=".security.command.user_password_hash.lazy" class="Symfony\Component\Console\Command\LazyCommand">
      <argument>security:hash-password</argument>
      <argument type="collection"/>
      <argument>Hash a user password</argument>
      <argument>false</argument>
      <argument type="service_closure" id="security.command.user_password_hash"/>
    </service>
    <service id=".twig.command.debug.lazy" class="Symfony\Component\Console\Command\LazyCommand">
      <argument>debug:twig</argument>
      <argument type="collection"/>
      <argument>Show a list of twig functions, filters, globals and tests</argument>
      <argument>false</argument>
      <argument type="service_closure" id="twig.command.debug"/>
    </service>
    <service id=".twig.command.lint.lazy" class="Symfony\Component\Console\Command\LazyCommand">
      <argument>lint:twig</argument>
      <argument type="collection"/>
      <argument>Lint a Twig template and outputs encountered errors</argument>
      <argument>false</argument>
      <argument type="service_closure" id="twig.command.lint"/>
    </service>
    <service id="console.command_loader" class="Symfony\Component\Console\CommandLoader\ContainerCommandLoader" public="true">
      <tag name="container.no_preload"/>
      <argument type="service" id=".service_locator.6T9f5OZ"/>
      <argument type="collection">
        <argument key="devkit:create:message:launch">App\Command\Platform\Message\CreateMessageLaunchCommand</argument>
        <argument key="about">console.command.about</argument>
        <argument key="assets:install">console.command.assets_install</argument>
        <argument key="cache:clear">console.command.cache_clear</argument>
        <argument key="cache:pool:clear">console.command.cache_pool_clear</argument>
        <argument key="cache:pool:prune">console.command.cache_pool_prune</argument>
        <argument key="cache:pool:delete">console.command.cache_pool_delete</argument>
        <argument key="cache:pool:list">console.command.cache_pool_list</argument>
        <argument key="cache:warmup">console.command.cache_warmup</argument>
        <argument key="debug:config">console.command.config_debug</argument>
        <argument key="config:dump-reference">console.command.config_dump_reference</argument>
        <argument key="debug:container">console.command.container_debug</argument>
        <argument key="lint:container">console.command.container_lint</argument>
        <argument key="debug:autowiring">console.command.debug_autowiring</argument>
        <argument key="debug:event-dispatcher">console.command.event_dispatcher_debug</argument>
        <argument key="debug:router">console.command.router_debug</argument>
        <argument key="router:match">console.command.router_match</argument>
        <argument key="debug:translation">console.command.translation_debug</argument>
        <argument key="translation:update">console.command.translation_update</argument>
        <argument key="debug:validator">console.command.validator_debug</argument>
        <argument key="translation:pull">console.command.translation_pull</argument>
        <argument key="translation:push">console.command.translation_push</argument>
        <argument key="lint:xliff">console.command.xliff_lint</argument>
        <argument key="lint:yaml">console.command.yaml_lint</argument>
        <argument key="debug:form">console.command.form_debug</argument>
        <argument key="secrets:set">console.command.secrets_set</argument>
        <argument key="secrets:remove">console.command.secrets_remove</argument>
        <argument key="secrets:generate-keys">console.command.secrets_generate_key</argument>
        <argument key="secrets:list">console.command.secrets_list</argument>
        <argument key="secrets:decrypt-to-local">console.command.secrets_decrypt_to_local</argument>
        <argument key="secrets:encrypt-from-local">console.command.secrets_encrypt_from_local</argument>
        <argument key="debug:firewall">security.command.debug_firewall</argument>
        <argument key="security:encode-password">security.command.user_password_encoder</argument>
        <argument key="security:hash-password">security.command.user_password_hash</argument>
        <argument key="debug:twig">twig.command.debug</argument>
        <argument key="lint:twig">twig.command.lint</argument>
      </argument>
    </service>
    <service id=".service_locator.6T9f5OZ" class="Symfony\Component\DependencyInjection\ServiceLocator">
      <tag name="container.service_locator"/>
      <argument type="collection">
        <argument key="App\Command\Platform\Message\CreateMessageLaunchCommand" type="service_closure" id="App\Command\Platform\Message\CreateMessageLaunchCommand"/>
        <argument key="console.command.about" type="service_closure" id=".console.command.about.lazy"/>
        <argument key="console.command.assets_install" type="service_closure" id=".console.command.assets_install.lazy"/>
        <argument key="console.command.cache_clear" type="service_closure" id=".console.command.cache_clear.lazy"/>
        <argument key="console.command.cache_pool_clear" type="service_closure" id=".console.command.cache_pool_clear.lazy"/>
        <argument key="console.command.cache_pool_delete" type="service_closure" id=".console.command.cache_pool_delete.lazy"/>
        <argument key="console.command.cache_pool_list" type="service_closure" id=".console.command.cache_pool_list.lazy"/>
        <argument key="console.command.cache_pool_prune" type="service_closure" id=".console.command.cache_pool_prune.lazy"/>
        <argument key="console.command.cache_warmup" type="service_closure" id=".console.command.cache_warmup.lazy"/>
        <argument key="console.command.config_debug" type="service_closure" id=".console.command.config_debug.lazy"/>
        <argument key="console.command.config_dump_reference" type="service_closure" id=".console.command.config_dump_reference.lazy"/>
        <argument key="console.command.container_debug" type="service_closure" id=".console.command.container_debug.lazy"/>
        <argument key="console.command.container_lint" type="service_closure" id=".console.command.container_lint.lazy"/>
        <argument key="console.command.debug_autowiring" type="service_closure" id=".console.command.debug_autowiring.lazy"/>
        <argument key="console.command.event_dispatcher_debug" type="service_closure" id=".console.command.event_dispatcher_debug.lazy"/>
        <argument key="console.command.form_debug" type="service_closure" id=".console.command.form_debug.lazy"/>
        <argument key="console.command.router_debug" type="service_closure" id=".console.command.router_debug.lazy"/>
        <argument key="console.command.router_match" type="service_closure" id=".console.command.router_match.lazy"/>
        <argument key="console.command.secrets_decrypt_to_local" type="service_closure" id=".console.command.secrets_decrypt_to_local.lazy"/>
        <argument key="console.command.secrets_encrypt_from_local" type="service_closure" id=".console.command.secrets_encrypt_from_local.lazy"/>
        <argument key="console.command.secrets_generate_key" type="service_closure" id=".console.command.secrets_generate_key.lazy"/>
        <argument key="console.command.secrets_list" type="service_closure" id=".console.command.secrets_list.lazy"/>
        <argument key="console.command.secrets_remove" type="service_closure" id=".console.command.secrets_remove.lazy"/>
        <argument key="console.command.secrets_set" type="service_closure" id=".console.command.secrets_set.lazy"/>
        <argument key="console.command.translation_debug" type="service_closure" id=".console.command.translation_debug.lazy"/>
        <argument key="console.command.translation_pull" type="service_closure" id=".console.command.translation_pull.lazy"/>
        <argument key="console.command.translation_push" type="service_closure" id=".console.command.translation_push.lazy"/>
        <argument key="console.command.translation_update" type="service_closure" id=".console.command.translation_update.lazy"/>
        <argument key="console.command.validator_debug" type="service_closure" id=".console.command.validator_debug.lazy"/>
        <argument key="console.command.xliff_lint" type="service_closure" id=".console.command.xliff_lint.lazy"/>
        <argument key="console.command.yaml_lint" type="service_closure" id=".console.command.yaml_lint.lazy"/>
        <argument key="security.command.debug_firewall" type="service_closure" id=".security.command.debug_firewall.lazy"/>
        <argument key="security.command.user_password_encoder" type="service_closure" id=".security.command.user_password_encoder.lazy"/>
        <argument key="security.command.user_password_hash" type="service_closure" id=".security.command.user_password_hash.lazy"/>
        <argument key="twig.command.debug" type="service_closure" id=".twig.command.debug.lazy"/>
        <argument key="twig.command.lint" type="service_closure" id=".twig.command.lint.lazy"/>
      </argument>
    </service>
    <service id=".service_locator.L1OAKmd" class="Symfony\Component\DependencyInjection\ServiceLocator">
      <tag name="container.service_locator"/>
      <argument type="collection">
        <argument key="Symfony\Bridge\Twig\Extension\CsrfRuntime" type="service_closure" id="twig.runtime.security_csrf"/>
        <argument key="Symfony\Bridge\Twig\Extension\HttpKernelRuntime" type="service_closure" id="twig.runtime.httpkernel"/>
        <argument key="Symfony\Component\Form\FormRenderer" type="service_closure" id="twig.form.renderer"/>
      </argument>
    </service>
    <service id="Psr\Container\ContainerInterface" alias="service_container">
      <deprecated package="symfony/dependency-injection" version="5.1">The "%alias_id%" autowiring alias is deprecated. Define it explicitly in your app if you want to keep using it.</deprecated>
    </service>
    <service id="Symfony\Component\DependencyInjection\ContainerInterface" alias="service_container">
      <deprecated package="symfony/dependency-injection" version="5.1">The "%alias_id%" autowiring alias is deprecated. Define it explicitly in your app if you want to keep using it.</deprecated>
    </service>
    <service id="Psr\Http\Message\RequestFactoryInterface" alias="nyholm.psr7.psr17_factory"/>
    <service id="Psr\Http\Message\ResponseFactoryInterface" alias="nyholm.psr7.psr17_factory"/>
    <service id="Psr\Http\Message\ServerRequestFactoryInterface" alias="nyholm.psr7.psr17_factory"/>
    <service id="Psr\Http\Message\StreamFactoryInterface" alias="nyholm.psr7.psr17_factory"/>
    <service id="Psr\Http\Message\UploadedFileFactoryInterface" alias="nyholm.psr7.psr17_factory"/>
    <service id="Psr\Http\Message\UriFactoryInterface" alias="nyholm.psr7.psr17_factory"/>
    <service id="Http\Message\MessageFactory" alias="nyholm.psr7.httplug_factory"/>
    <service id="Http\Message\RequestFactory" alias="nyholm.psr7.httplug_factory"/>
    <service id="Http\Message\ResponseFactory" alias="nyholm.psr7.httplug_factory"/>
    <service id="Http\Message\StreamFactory" alias="nyholm.psr7.httplug_factory"/>
    <service id="Http\Message\UriFactory" alias="nyholm.psr7.httplug_factory"/>
    <service id="Symfony\Component\DependencyInjection\ParameterBag\ContainerBagInterface" alias="parameter_bag"/>
    <service id="Symfony\Component\DependencyInjection\ParameterBag\ParameterBagInterface" alias="parameter_bag"/>
    <service id="Symfony\Component\EventDispatcher\EventDispatcherInterface" alias="debug.event_dispatcher"/>
    <service id="Symfony\Contracts\EventDispatcher\EventDispatcherInterface" alias="debug.event_dispatcher"/>
    <service id="Symfony\Component\HttpKernel\HttpKernelInterface" alias="http_kernel"/>
    <service id="Symfony\Component\HttpFoundation\RequestStack" alias="request_stack"/>
    <service id="Symfony\Component\HttpFoundation\UrlHelper" alias="url_helper"/>
    <service id="Symfony\Component\HttpKernel\KernelInterface" alias="kernel"/>
    <service id="Symfony\Component\Filesystem\Filesystem" alias="filesystem"/>
    <service id="Symfony\Component\HttpKernel\Config\FileLocator" alias="file_locator"/>
    <service id="Symfony\Component\HttpKernel\UriSigner" alias="uri_signer"/>
    <service id="Symfony\Component\DependencyInjection\ReverseContainer" alias="reverse_container"/>
    <service id="Symfony\Component\String\Slugger\SluggerInterface" alias="slugger"/>
    <service id="Symfony\Component\HttpKernel\Fragment\FragmentUriGeneratorInterface" alias="fragment.uri_generator"/>
    <service id="error_renderer.html" alias="twig.error_renderer.html"/>
    <service id="error_renderer" alias="twig.error_renderer.html"/>
    <service id="Psr\EventDispatcher\EventDispatcherInterface" alias="debug.event_dispatcher"/>
    <service id="Psr\Container\ContainerInterface $parameterBag" alias="parameter_bag"/>
    <service id="cache.app_clearer" alias="cache.default_clearer" public="true"/>
    <service id="Psr\Cache\CacheItemPoolInterface" alias="cache.app"/>
    <service id="Symfony\Component\Cache\Adapter\AdapterInterface" alias="cache.app"/>
    <service id="Symfony\Contracts\Cache\CacheInterface" alias="cache.app"/>
    <service id="Symfony\Contracts\Cache\TagAwareCacheInterface" alias="cache.app.taggable"/>
    <service id="Symfony\Contracts\Translation\TranslatorInterface" alias="translator.default"/>
    <service id="cache.default_redis_provider" alias=".cache_connection.cmbaXc1"/>
    <service id="cache.default_memcached_provider" alias=".cache_connection.JKE6keX"/>
    <service id="Symfony\Component\HttpFoundation\Session\SessionInterface" alias=".session.do-not-use">
      <deprecated package="symfony/framework-bundle" version="5.3">The "%alias_id%" and "SessionInterface" aliases are deprecated, use "$requestStack-&gt;getSession()" instead.</deprecated>
    </service>
    <service id="Symfony\Component\HttpFoundation\Session\Storage\SessionStorageInterface" alias="session.storage.native"/>
    <service id="SessionHandlerInterface" alias="session.handler.native_file"/>
    <service id="Symfony\Component\HttpFoundation\Session\Flash\FlashBagInterface" alias="session.flash_bag"/>
    <service id="session.storage.filesystem" alias="session.storage.mock_file">
      <deprecated package="symfony/framework-bundle" version="5.3">The "%alias_id%" alias is deprecated, use "session.storage.factory.mock_file" instead.</deprecated>
    </service>
    <service id="session.storage" alias="session.storage.native"/>
    <service id="session.storage.factory" alias="session.storage.factory.service"/>
    <service id="session.handler" alias="session.handler.native_file"/>
    <service id="Symfony\Component\Security\Csrf\TokenGenerator\TokenGeneratorInterface" alias="security.csrf.token_generator"/>
    <service id="Symfony\Component\Security\Csrf\TokenStorage\TokenStorageInterface" alias="security.csrf.token_storage"/>
    <service id="Symfony\Component\Security\Csrf\CsrfTokenManagerInterface" alias="security.csrf.token_manager"/>
    <service id="Symfony\Component\Form\ResolvedFormTypeFactoryInterface" alias="form.resolved_type_factory"/>
    <service id="Symfony\Component\Form\FormRegistryInterface" alias="form.registry"/>
    <service id="Symfony\Component\Form\FormFactoryInterface" alias="form.factory"/>
    <service id="form.property_accessor" alias="property_accessor"/>
    <service id="form.choice_list_factory" alias="form.choice_list_factory.cached"/>
    <service id="Symfony\Component\Validator\Validator\ValidatorInterface" alias="validator"/>
    <service id="validator.mapping.class_metadata_factory" alias="validator"/>
    <service id="Symfony\Component\Translation\Reader\TranslationReaderInterface" alias="translation.reader"/>
    <service id="Symfony\Component\Translation\Extractor\ExtractorInterface" alias="translation.extractor"/>
    <service id="Symfony\Component\Translation\Writer\TranslationWriterInterface" alias="translation.writer"/>
    <service id="translator" alias="translator.default" public="true"/>
    <service id="translator.formatter" alias="translator.formatter.default"/>
    <service id="Symfony\Component\HttpKernel\Debug\FileLinkFormatter" alias="debug.file_link_formatter"/>
    <service id="Symfony\Component\Stopwatch\Stopwatch" alias="debug.stopwatch"/>
    <service id="router" alias="router.default" public="true"/>
    <service id="Symfony\Component\Routing\RouterInterface" alias="router.default"/>
    <service id="Symfony\Component\Routing\Generator\UrlGeneratorInterface" alias="router.default"/>
    <service id="Symfony\Component\Routing\Matcher\UrlMatcherInterface" alias="router.default"/>
    <service id="Symfony\Component\Routing\RequestContextAwareInterface" alias="router.default"/>
    <service id="Symfony\Component\Routing\RequestContext" alias="router.request_context"/>
    <service id="annotation_reader" alias="annotations.cached_reader"/>
    <service id="Doctrine\Common\Annotations\Reader" alias="annotations.cached_reader"/>
    <service id="Symfony\Component\PropertyAccess\PropertyAccessorInterface" alias="property_accessor"/>
    <service id="Symfony\Component\PropertyInfo\PropertyAccessExtractorInterface" alias="property_info"/>
    <service id="Symfony\Component\PropertyInfo\PropertyDescriptionExtractorInterface" alias="property_info"/>
    <service id="Symfony\Component\PropertyInfo\PropertyInfoExtractorInterface" alias="property_info"/>
    <service id="Symfony\Component\PropertyInfo\PropertyTypeExtractorInterface" alias="property_info"/>
    <service id="Symfony\Component\PropertyInfo\PropertyListExtractorInterface" alias="property_info"/>
    <service id="Symfony\Component\PropertyInfo\PropertyInitializableExtractorInterface" alias="property_info"/>
    <service id="Symfony\Component\PropertyInfo\PropertyReadInfoExtractorInterface" alias="property_info.reflection_extractor"/>
    <service id="Symfony\Component\PropertyInfo\PropertyWriteInfoExtractorInterface" alias="property_info.reflection_extractor"/>
    <service id="Symfony\Component\Security\Core\Authorization\AuthorizationCheckerInterface" alias="security.authorization_checker"/>
    <service id="Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorageInterface" alias="security.token_storage"/>
    <service id="Symfony\Component\Security\Core\Security" alias="security.helper"/>
    <service id="Symfony\Component\Security\Http\Session\SessionAuthenticationStrategyInterface" alias="security.authentication.session_strategy"/>
    <service id="security.encoder_factory" alias="security.encoder_factory.generic">
      <deprecated package="symfony/security-bundle" version="5.3">The "%alias_id%" service is deprecated, use "security.password_hasher_factory" instead.</deprecated>
    </service>
    <service id="Symfony\Component\Security\Core\Encoder\EncoderFactoryInterface" alias="security.encoder_factory.generic"/>
    <service id="security.password_encoder" alias="security.user_password_encoder.generic" public="true">
      <deprecated package="symfony/security-bundle" version="5.3">The "%alias_id%" service is deprecated, use "security.password_hasher"" instead.</deprecated>
    </service>
    <service id="Symfony\Component\Security\Core\Encoder\UserPasswordEncoderInterface" alias="security.user_password_encoder.generic"/>
    <service id="Symfony\Component\Security\Http\Authentication\AuthenticationUtils" alias="security.authentication_utils"/>
    <service id="Symfony\Component\Security\Core\Authorization\AccessDecisionManagerInterface" alias="debug.security.access.decision_manager"/>
    <service id="Symfony\Component\Security\Core\Role\RoleHierarchyInterface" alias="security.role_hierarchy"/>
    <service id="Symfony\Component\Security\Http\Firewall" alias="debug.security.firewall"/>
    <service id="Symfony\Component\Security\Http\HttpUtils" alias="security.http_utils"/>
    <service id="Symfony\Component\PasswordHasher\Hasher\PasswordHasherFactoryInterface" alias="security.password_hasher_factory"/>
    <service id="security.password_hasher" alias="security.user_password_hasher"/>
    <service id="Symfony\Component\PasswordHasher\Hasher\UserPasswordHasherInterface" alias="security.user_password_hasher"/>
    <service id="Symfony\Component\Security\Core\Authentication\AuthenticationManagerInterface" alias="security.authentication.manager">
      <deprecated package="symfony/security-bundle" version="5.3">The "%alias_id%" alias is deprecated, use the new authenticator system instead.</deprecated>
    </service>
    <service id="Symfony\Component\Security\Guard\GuardAuthenticatorHandler" alias="security.authentication.guard_handler">
      <deprecated package="symfony/security-bundle" version="5.3">The "%alias_id%" alias is deprecated, use the new authenticator system instead.</deprecated>
    </service>
    <service id="security.firewall" alias="debug.security.firewall"/>
    <service id="security.user_providers" alias="security.user.provider.concrete.users_in_memory"/>
    <service id="Symfony\Component\Security\Core\User\UserProviderInterface" alias="security.user.provider.concrete.users_in_memory"/>
    <service id="security.authentication.session_strategy.api_area" alias="security.authentication.session_strategy_noop"/>
    <service id="security.user_checker.api_area" alias="security.user_checker"/>
    <service id="security.authentication.session_strategy.tool_message_area" alias="security.authentication.session_strategy_noop"/>
    <service id="security.user_checker.tool_message_area" alias="security.user_checker"/>
    <service id="security.authentication.session_strategy.platform_message_area" alias="security.authentication.session_strategy_noop"/>
    <service id="security.user_checker.platform_message_area" alias="security.user_checker"/>
    <service id="security.authentication.session_strategy.platform_service_ags_area" alias="security.authentication.session_strategy_noop"/>
    <service id="security.user_checker.platform_service_ags_area" alias="security.user_checker"/>
    <service id="security.authentication.session_strategy.platform_service_nrps_area" alias="security.authentication.session_strategy_noop"/>
    <service id="security.user_checker.platform_service_nrps_area" alias="security.user_checker"/>
    <service id="security.authentication.session_strategy.platform_service_acs_area" alias="security.authentication.session_strategy_noop"/>
    <service id="security.user_checker.platform_service_acs_area" alias="security.user_checker"/>
    <service id="security.authentication.session_strategy.platform_service_basic_outcome_area" alias="security.authentication.session_strategy_noop"/>
    <service id="security.user_checker.platform_service_basic_outcome_area" alias="security.user_checker"/>
    <service id="security.authentication.session_strategy.main" alias="security.authentication.session_strategy"/>
    <service id="security.user_checker.main" alias="security.user_checker"/>
    <service id="security.firewall.context_locator" alias=".service_locator.woayXYb"/>
    <service id="Symfony\Component\Security\Core\User\UserCheckerInterface" alias="security.user_checker"/>
    <service id="OAT\Library\Lti1p3Core\Security\Key\KeyChainRepositoryInterface" alias="OAT\Library\Lti1p3Core\Security\Key\KeyChainRepository"/>
    <service id="OAT\Library\Lti1p3Core\Security\Nonce\NonceRepositoryInterface" alias="OAT\Library\Lti1p3Core\Security\Nonce\NonceRepository"/>
    <service id="OAT\Library\Lti1p3Core\Registration\RegistrationRepositoryInterface" alias="OAT\Bundle\Lti1p3Bundle\Repository\RegistrationRepository"/>
    <service id="OAT\Library\Lti1p3Core\Message\Launch\Validator\Platform\PlatformLaunchValidatorInterface" alias="OAT\Library\Lti1p3Core\Message\Launch\Validator\Platform\PlatformLaunchValidator"/>
    <service id="OAT\Library\Lti1p3Core\Message\Launch\Validator\Tool\ToolLaunchValidatorInterface" alias="OAT\Library\Lti1p3Core\Message\Launch\Validator\Tool\ToolLaunchValidator"/>
    <service id="OAT\Library\Lti1p3Core\Security\OAuth2\Validator\RequestAccessTokenValidatorInterface" alias="OAT\Library\Lti1p3Core\Security\OAuth2\Validator\RequestAccessTokenValidator"/>
    <service id="OAT\Bundle\Lti1p3Bundle\Security\Exception\LtiToolMessageExceptionHandlerInterface" alias="OAT\Bundle\Lti1p3Bundle\Security\Exception\LtiToolMessageExceptionHandler"/>
    <service id="OAT\Bundle\Lti1p3Bundle\Service\Server\Factory\LtiServiceServerHttpFoundationRequestHandlerFactoryInterface" alias="OAT\Bundle\Lti1p3Bundle\Service\Server\Factory\LtiServiceServerHttpFoundationRequestHandlerFactory"/>
    <service id="Twig_Environment" alias="twig"/>
    <service id="Twig\Environment" alias="twig"/>
    <service id="logger" alias="monolog.logger"/>
    <service id="Psr\Log\LoggerInterface" alias="monolog.logger"/>
    <service id="sensio_framework_extra.converter.doctrine.orm.expression_language" alias="sensio_framework_extra.converter.doctrine.orm.expression_language.default"/>
    <service id="sensio_framework_extra.security.expression_language" alias="sensio_framework_extra.security.expression_language.default"/>
    <service id="Symfony\Bridge\PsrHttpMessage\HttpFoundationFactoryInterface" alias="Symfony\Bridge\PsrHttpMessage\Factory\HttpFoundationFactory"/>
    <service id="Symfony\Bridge\PsrHttpMessage\HttpMessageFactoryInterface" alias="Symfony\Bridge\PsrHttpMessage\Factory\PsrHttpFactory"/>
    <service id="container.env_var_processors_locator" alias=".service_locator.0GV1BZZ" public="true"/>
    <service id="twig.loader.filesystem" alias="twig.loader.native_filesystem"/>
    <service id="argument_resolver.controller_locator" alias=".service_locator.PTX8tLP"/>
    <service id="session" alias=".session.do-not-use" public="true">
      <deprecated package="symfony/framework-bundle" version="5.3">The "%alias_id%" service and "SessionInterface" alias are deprecated, use "$requestStack-&gt;getSession()" instead.</deprecated>
    </service>
    <service id="twig.loader" alias="twig.loader.native_filesystem"/>
    <service id="Psr\Log\LoggerInterface $requestLogger" alias="monolog.logger.request"/>
    <service id="Psr\Log\LoggerInterface $consoleLogger" alias="monolog.logger.console"/>
    <service id="Psr\Log\LoggerInterface $cacheLogger" alias="monolog.logger.cache"/>
    <service id="Psr\Log\LoggerInterface $translationLogger" alias="monolog.logger.translation"/>
    <service id="Psr\Log\LoggerInterface $phpLogger" alias="monolog.logger.php"/>
    <service id="Psr\Log\LoggerInterface $eventLogger" alias="monolog.logger.event"/>
    <service id="Psr\Log\LoggerInterface $routerLogger" alias="monolog.logger.router"/>
    <service id="Psr\Log\LoggerInterface $securityLogger" alias="monolog.logger.security"/>
    <service id="Psr\Log\LoggerInterface $deprecationLogger" alias="monolog.logger.deprecation"/>
    <service id=".service_locator.X5ETDUb" alias=".service_locator.u47of.0"/>
    <service id=".service_locator._5g_Wvc" alias=".service_locator.KfwZsne"/>
    <service id=".service_locator.JBAFp66" alias=".service_locator.KfbR3DY"/>
    <service id="event_dispatcher" alias="debug.event_dispatcher" public="true"/>
    <service id="controller_resolver" alias="debug.controller_resolver"/>
    <service id="argument_resolver" alias="debug.argument_resolver"/>
    <service id="security.access.decision_manager" alias="debug.security.access.decision_manager"/>
    <service id="twig.error_renderer.html.inner" alias="error_handler.error_renderer.html"/>
    <service id="argument_resolver.request_attribute" alias="debug.argument_resolver.request_attribute"/>
    <service id="argument_resolver.request" alias="debug.argument_resolver.request"/>
    <service id="argument_resolver.session" alias="debug.argument_resolver.session"/>
    <service id="security.user_value_resolver" alias="debug.security.user_value_resolver"/>
    <service id="argument_resolver.service" alias="debug.argument_resolver.service"/>
    <service id="argument_resolver.default" alias="debug.argument_resolver.default"/>
    <service id="argument_resolver.variadic" alias="debug.argument_resolver.variadic"/>
    <service id="argument_resolver.not_tagged_controller" alias="debug.argument_resolver.not_tagged_controller"/>
    <service id="console.command.public_alias.OAT\Bundle\HealthCheckBundle\Command\HealthCheckCommand" alias="OAT\Bundle\HealthCheckBundle\Command\HealthCheckCommand" public="true"/>
  </services>
</container>
