#!/usr/bin/env -S uv run --script
# /// script
# requires-python = ">=3.11"
# dependencies = ["curl-cffi>=0.15.0"]
# ///
from curl_cffi import requests
from concurrent.futures import ThreadPoolExecutor,as_completed
import json
ids=[x.strip() for x in open('work/scratch/va-asid-remaining.txt') if x.strip()]
s=requests.Session(impersonate='chrome')
s.get('https://va.baloise.de/auth/ui/app',headers={'X-Bug-Bounty':'dwbzn'},timeout=10,toadex_capture=False)
cookies=s.cookies.get_dict()
headers={'X-Bug-Bounty':'dwbzn','Content-Type':'application/json','Accept':'application/json, application/vnd.api+json','X-Same-Domain':'1','X-CSRFT759':cookies.get('CSRFT759-S','')}
base='https://va.baloise.de/auth/rest/public/tech-client-registration/oauth2/{}/register'
def one(asid):
 try:
  r=requests.post(base.format(asid),headers=headers,cookies=cookies,json={},timeout=10,impersonate='chrome',toadex_capture=False)
  return {'id':asid,'status':r.status_code,'len':len(r.content),'body':r.text[:300]}
 except Exception as e:return {'id':asid,'error':repr(e)}
with ThreadPoolExecutor(max_workers=5) as ex:
 fs={ex.submit(one,x):x for x in ids}
 for f in as_completed(fs):
  print(json.dumps(f.result(),ensure_ascii=False),flush=True)
