protected function processarHeaderLote($linha)
 {
     $header = new HeaderLote();
     $header->setRegistro($linha->substr(8, 1)->trim())->setLote($linha->substr(4, 4)->trim())->setOperacao($linha->substr(9, 1)->trim())->setServico($linha->substr(10, 2)->trim())->setFormaLancamento($linha->substr(12, 2)->trim())->setVersaoLayout($linha->substr(14, 3)->trim())->addCnab($linha->substr(17, 1)->trim())->addCnab($linha->substr(223, 8)->trim())->addOcorrencia($linha->substr(231, 10)->trim())->setConvenio($linha->substr(33, 20)->trim())->addMensagem($linha->substr(103, 40)->trim());
     $endereco = new Endereco();
     $endereco->setLogradourdo($linha->substr(143, 30)->trim())->setNumero($linha->substr(173, 5)->trim())->setComplemento($linha->substr(178, 15)->trim())->setCidade($linha->substr(193, 20)->trim())->setCep($linha->substr(213, 5)->trim())->setComplementoCep($linha->substr(218, 3)->trim())->setEstado($linha->substr(221, 2)->trim());
     $empresa = new Empresa();
     $empresa->setEndereco($endereco)->setTipoInscricao($linha->substr(18, 1)->trim())->setNumInscricao($linha->substr(19, 14)->trim())->setNome($linha->substr(73, 30)->trim());
     $banco = new Banco();
     $banco->setCod($linha->substr(1, 3)->trim())->setNome($linha->substr(103, 30)->trim())->setAgencia($linha->substr(53, 5)->trim())->setDvAgencia($linha->substr(58, 1)->trim())->setConta($linha->substr(59, 12)->trim())->setDvConta($linha->substr(71, 1)->trim())->setDvAgenciaConta($linha->substr(72, 1)->trim());
     $cedente = new Cedente();
     $cedente->setBanco($banco);
     $header->setCedente($cedente)->setEmpresa($empresa);
     return $header;
 }