services:
    _defaults:
        autowire: true
        autoconfigure: true

    Chill\MainBundle\Security\:
        autoconfigure: true
        autowire: true
        resource: '../../Security'

    Chill\MainBundle\Security\Resolver\CenterResolverDispatcher:
        arguments:
            - !tagged_iterator chill_main.center_resolver

    Chill\MainBundle\Security\Resolver\CenterResolverManager:
        arguments:
            - !tagged_iterator chill_main.center_resolver
    Chill\MainBundle\Security\Resolver\CenterResolverManagerInterface: '@Chill\MainBundle\Security\Resolver\CenterResolverManager'

    Chill\MainBundle\Security\Resolver\ScopeResolverDispatcher:
        arguments:
            - !tagged_iterator chill_main.scope_resolver

    Chill\MainBundle\Security\Resolver\DefaultCenterResolver: ~

    Chill\MainBundle\Security\Resolver\DefaultScopeResolver: ~

    Chill\MainBundle\Security\Resolver\ResolverTwigExtension: ~

    Chill\MainBundle\Security\Authorization\DefaultVoterHelperFactory: ~

    Chill\MainBundle\Security\Authorization\NotificationVoter: ~

    Chill\MainBundle\Security\Authorization\EntityWorkflowVoter: ~

    Chill\MainBundle\Security\Authorization\VoterHelperFactoryInterface: '@Chill\MainBundle\Security\Authorization\DefaultVoterHelperFactory'

    chill.main.security.authorization.helper:
        class: Chill\MainBundle\Security\Authorization\AuthorizationHelper
    Chill\MainBundle\Security\Authorization\AuthorizationHelper: '@chill.main.security.authorization.helper'
    Chill\MainBundle\Security\Authorization\AuthorizationHelperInterface: '@chill.main.security.authorization.helper'

    Chill\MainBundle\Security\ParentRoleHelper: ~

    chill.main.role_provider:
        class: Chill\MainBundle\Security\RoleProvider
        arguments:
            $providers: !tagged_iterator chill_main.provide_role
    Chill\MainBundle\Security\RoleProvider: '@chill.main.role_provider'

    chill.main.user_provider:
        class: Chill\MainBundle\Security\UserProvider\UserProvider

    Symfony\Component\Security\Core\User\UserProviderInterface: "@chill.main.user_provider"

    Chill\MainBundle\Security\Authorization\ChillExportVoter:
        tags:
            - { name: security.voter }

    Chill\MainBundle\Security\Authorization\SavedExportVoter: ~

    Chill\MainBundle\Security\PasswordRecover\TokenManager:
        arguments:
            $secret: '%kernel.secret%'

    Chill\MainBundle\Security\PasswordRecover\RecoverPasswordHelper: ~

    Chill\MainBundle\Security\PasswordRecover\PasswordRecoverEventSubscriber:
        arguments:
            $locker: '@Chill\MainBundle\Security\PasswordRecover\PasswordRecoverLocker'
        tags:
            - { name: kernel.event_subscriber }

    Chill\MainBundle\Security\PasswordRecover\PasswordRecoverLocker:
        arguments:
            $chillRedis: '@Chill\MainBundle\Redis\ChillRedis'

    Chill\MainBundle\Security\PasswordRecover\PasswordRecoverVoter:
        arguments:
            $locker: '@Chill\MainBundle\Security\PasswordRecover\PasswordRecoverLocker'
        tags:
            - { name: security.voter }

    Chill\MainBundle\Security\Authorization\WorkflowEntityDeletionVoter:
        autoconfigure: true
        autowire: true
        arguments:
            $handlers: !tagged_iterator chill_main.workflow_handler
