<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
    <type name="TbiBank\FusionPay\Helper\Data"><plugin name="autogedal_tbi_credentials" type="Autogedal\TbiBank\Plugin\HelperConfig"/></type>
    <type name="Magento\Framework\HTTP\Client\Curl">
        <plugin name="autogedal_tbi_api_endpoint" type="Autogedal\TbiBank\Plugin\ApiEndpoint"/>
        <plugin name="autogedal_tbi_failure_redirect" type="Autogedal\TbiBank\Plugin\FailureRedirect" sortOrder="15"/>
        <plugin name="autogedal_tbi_registration_result" type="Autogedal\TbiBank\Plugin\RegistrationResult" sortOrder="20"/>
    </type>
    <type name="Magento\Framework\Controller\Result\Json"><plugin name="autogedal_tbi_json_url" type="Autogedal\TbiBank\Plugin\JsonUrl"/></type>
    <type name="TbiBank\FusionPay\Block\Frontend\CheckoutModal"><plugin name="autogedal_tbi_checkout_urls" type="Autogedal\TbiBank\Plugin\FrontendUrls"/></type>
    <type name="TbiBank\FusionPay\Block\Frontend\ProductButton"><plugin name="autogedal_tbi_product_origin" type="Autogedal\TbiBank\Plugin\FrontendUrls"/></type>
    <type name="TbiBank\FusionPay\Block\Frontend\ProductModal"><plugin name="autogedal_tbi_product_modal_origin" type="Autogedal\TbiBank\Plugin\FrontendUrls"/></type>
    <type name="TbiBank\FusionPay\Observer\AfterConfigSave"><plugin name="autogedal_tbi_settings_sync" type="Autogedal\TbiBank\Plugin\SettingsSync"/></type>
    <type name="Magento\Config\Model\ResourceModel\Config"><plugin name="autogedal_tbi_settings_write" type="Autogedal\TbiBank\Plugin\SettingsSync"/></type>
    <type name="TbiBank\FusionPay\Model\TbiStatusUpdate"><plugin name="autogedal_tbi_approval_accounting" type="Autogedal\TbiBank\Plugin\ApprovalStatus"/></type>
    <type name="TbiBank\FusionPay\Controller\Api\Gateway"><plugin name="autogedal_tbi_official_callback" type="Autogedal\TbiBank\Plugin\GatewayCallback" sortOrder="5"/></type>
    <type name="TbiBank\FusionPay\Model\Payment\FusionPay"><plugin name="autogedal_tbi_initial_waiting_status" type="Autogedal\TbiBank\Plugin\PaymentInitialize"/></type>
    <type name="Magento\Sales\Model\Service\OrderService"><plugin name="autogedal_tbi_order_flow_status" type="Autogedal\TbiBank\Plugin\OrderFlowStatus" sortOrder="1"/></type>
    <type name="Eadesigndev\Awb\Model\ResourceModel\Awb"><plugin name="autogedal_tbi_no_cod" type="Autogedal\TbiBank\Plugin\AwbNoCod"/></type>
    <type name="TbiBank\FusionPay\Observer\SetDefaultTbiStatus"><plugin name="autogedal_tbi_waiting_status" type="Autogedal\TbiBank\Plugin\WaitingStatus"/></type>
    <type name="Autogedal\TbiBank\Cron\CheckApprovals"><arguments><argument name="curl" xsi:type="object">AutogedalTbiPollingCurl</argument></arguments></type>
    <virtualType name="AutogedalTbiPollingCurl" type="Magento\Framework\HTTP\Client\Curl"/>
    <type name="Magento\Sales\Model\Order\Email\Sender\OrderSender"><plugin name="autogedal_tbi_order_email" type="Autogedal\TbiBank\Plugin\OrderEmail"/></type>
    <type name="Eadesigndev\Urgent\Model\GenerateAwb"><plugin name="autogedal_tbi_approval_urgent" type="Autogedal\TbiBank\Plugin\AwbApprovalGate" sortOrder="5"/></type>
    <type name="Eadesigndev\FanCourier\Model\GenerateAwb"><plugin name="autogedal_tbi_approval_fan" type="Autogedal\TbiBank\Plugin\AwbApprovalGate" sortOrder="5"/></type>
    <type name="Eadesigndev\DPD\Model\GenerateAwb"><plugin name="autogedal_tbi_approval_dpd" type="Autogedal\TbiBank\Plugin\AwbApprovalGate" sortOrder="5"/></type>
    <type name="Eadesigndev\GLS\Model\GenerateAwb"><plugin name="autogedal_tbi_approval_gls" type="Autogedal\TbiBank\Plugin\AwbApprovalGate" sortOrder="5"/></type>
    <type name="Eadesigndev\DragonStar\Model\GenerateAwb"><plugin name="autogedal_tbi_approval_dragon" type="Autogedal\TbiBank\Plugin\AwbApprovalGate" sortOrder="5"/></type>
    <type name="Eadesigndev\NemoExpress\Model\GenerateAwb"><plugin name="autogedal_tbi_approval_nemo" type="Autogedal\TbiBank\Plugin\AwbApprovalGate" sortOrder="5"/></type>
    <type name="Eadesigndev\Sameday\Model\GenerateAwb"><plugin name="autogedal_tbi_approval_sameday" type="Autogedal\TbiBank\Plugin\AwbApprovalGate" sortOrder="5"/></type>
</config>
