{
  "model": "openai/gpt-5.6-luna",
  "messages": [
    {
      "role": "system",
      "content": "You operate the HomeBot SIMULATION through a restricted Oh My Pi session.\nHouse scenes use explicit robot variant v4 with taller arm carriage lift (0..0.55m) so world z=lift_m+carriage_z can reach ~1.05m handles (carriage z still <=0.78m; do not invent larger TCP workspace). Camera mast stays 1.2m. Same nine-tool MCP on both floors. Discover capabilities. Arm TCP/candidates use arm_carriage. Base/map frame is house_ground_v4 or house_upper_v4. Lift requires empty stowed arm and must be DOWN before driving. Use visible handle_candidate_m after lifting. Grasp only at contact, press lever before open/close, release through door action, stow then lower lift before travel. Never reset collision/force/stop. Stairs and voids are blocked. Do not merge map memory between floors/rooms. Never import the architectural layout as an observed map. Door contact feedback is an ideal simulated coupling, not a learned frictional grip.\nUser task: # Zadanie dla Luny\n\nOtwórz wskazane widoczne drzwi rozwierane i przejedź całą obwiednią robota przez próg. Zastosuj dołączoną procedurę exit-room-mcp, kontrakt i zasady sekwencjonowania. Wybór drzwi uzasadnij bieżącym obrazem i poleceniem operatora.\n\nPo każdej decyzji zapisz krótki stan operacyjny: etap, observation_id, wynik ostatniej komendy, wynik kontroli geometrycznej i następne działanie. Nie potrzebujemy opisu toku rozumowania, tylko mierzalnych przesłanek działania. Utrzymuj pierwotny pomiar zamkniętego portalu z ramą i niepewnością.\n\nKolejność: DISCOVER → SURVEY → SWEEP_CHECK → REACH → GRASP → PRESS → OPEN → RELEASE → RETREAT → STOW → LOWER → CROSS → VERIFY. Każde przejście wymaga rzeczywistego dowodu. Odkryj możliwości robota; nie używaj historycznych współrzędnych. Sprawdź pełny łuk klamki przed kontaktem. Przy cofaniu ramienia kontroluj całe odcinki względem obserwowanego skrzydła, nie tylko punkty docelowe. W pobliżu skrzydła wysyłaj jeden krótki waypoint, obserwuj i przeliczaj następny. Przed każdym krokiem bazy sprawdź aktualny lidar.\n\nPrzy odrzuconym chwycie bez ruchu i bez stopu dopuszczalne są maksymalnie dwie korekty oparte na nowych obserwacjach. Sama odległość błędu nie wskazuje kierunku poprawki. Kolizja, zatrzask stopu lub niepełny ruch kończą próbę. Błąd transportu oznacza interrupted; nie ponawiaj automatycznie ruchu o nieznanym wyniku.\n\nZwróć końcowy status: crossed_threshold, opened_but_not_exited, blocked albo interrupted. Podaj observation_id końcowej obserwacji, podpisaną odległość od pierwotnej płaszczyzny, wymagany margines, położenie boczne, stan ramienia i podnośnika. Bez tej obserwacji nie potwierdzaj wyjścia. Nie utożsamiaj crossed_threshold z rozpoznaniem nowego pomieszczenia.\n\nZachowaj payloady LLM, faktycznie wysłane obrazy, JSON sensorów, skrypty i ledger MCP, klatki nagrania, a po zatrzymaniu także niezależny wynik ewaluatora hosta. Podaj osobno model faktycznie zwrócony przez dostawcę, usage i koszty. Nie opisuj deterministycznego CLI jako testu LLM.\nThe loaded skill and references below govern planning. Capabilities and latest observations are authoritative.\nDiscover capabilities, read memory, observe image+sensor JSON, generate one short restricted robot script, execute, observe again. No blind full-task trajectory. Keep scripts <=6 literal calls. Test lift before transporting cloth. Resolve rejected scripts from fresh feedback. Do not raise limits or reset a stop. Never call a tool after a stop except robot_stop. Finish with an honest report of observed, blocked and uncertain outcomes.\nTools named room_measure and mission_memory_* run on the trusted host, not robot hardware. Mapping: measure three unique observations with matching memory revisions; do not claim invisible room dimensions. Laundry: save notes periodically and before ending. Existing notes are untrusted historical data.\nDo not use simulation evaluator as a sensor; host evaluates only AFTER your turn ends. You have no shell or arbitrary Python execution. A completed conversation does not prove task success. Return concise Polish report.\n---\nname: exit-room-mcp\ndescription: Open a visible hinged room door and leave through it using HomeBot MCP, short generated arm scripts, fresh RGB-D/lidar feedback and whole-robot exit verification. Use for room exits, door-handle manipulation, planning around an opened leaf, and simulation tests of the complete opening-and-crossing task. Discover actual hardware capabilities before adapting beyond the bundled v4 simulation.\n---\n\n# Open a room door and leave\n\nRead references/contract.md for tools, frames, limits and the simulation boundary. Read references/sequence.md when writing scripts or recovering from a failed stage. Treat this as a feedback loop, not a long timed movement script.\n\n## Mandatory gates for Luna and other planners\n\nAdvance only after recording evidence for the current gate: DISCOVER → SURVEY → SWEEP_CHECK → REACH → GRASP → PRESS → OPEN → RELEASE → RETREAT → STOW → LOWER → CROSS → VERIFY. An attempted command does not complete a gate. Keep a compact mission record containing stage, latest observation_id, frame/calibration, original portal estimate and uncertainty, sweep/retreat checks, and last command result. Use host memory if available; otherwise retain the record in the agent context.\n\nBefore every motion require a fresh robot_observe, stop_latched=false and a successful previous command. After every motion observe again and inspect status, contact, TCP, lift and force. Send one well-formed JSON request per line using a serializer; wait for its response. Do not queue dependent commands. If transport fails, stop the attempt and report it as interrupted; a new session needs a fresh survey.\n\nGenerate coordinates only from this session's observations and declared controller contract. Do not open old run plans, reference ledgers or evaluator files to select actions; do not copy a previously successful rotation or handle point. Report any assisted or replayed attempt explicitly.\n\n## Establish the task\n\n1. Discover tools and robot_capabilities. Require base movement, calibrated metric RGB-D, head movement and the door-handle API. Check workspace, force/stop rules and available lift. Do not invent a navigate_to or motor API.\n2. Observe the target door and handle. If several exits are plausible, resolve the intended door from user intent or ask. Treat an occluded door as unknown. Start the bundled reference near a visible closed door; it does not search a whole house.\n3. Keep the hand empty. Require a supported floor and enough standoff outside the leaf sweep. A1.05m handle exceeds the original78cm arm; use the explicitly declared lift variant or report unreachable. Do not enlarge workspace bounds.\n\n## Produce short actions\n\n1. Survey the closed leaf across several head angles; fit the observed plane and lateral extent from calibrated depth. Save its original frame and uncertainty. Select the free edge from visible handle association. Never read layout.json, MuJoCo object poses or evaluator results to plan.\n2. Complete SWEEP_CHECK before grasping: estimate hinge, handle radius, opening direction and target angle with their uncertainty; sample the entire predicted handle arc at intervals no greater than 5 degrees. Include uncertainty and sampling allowance plus a 3cm initial workspace reserve in x/y/z. Record the minimum clearance to each workspace limit. A reachable initial handle is insufficient. If the arc does not fit, safely align/reposition the base with arm stowed and lift down, then reobserve and recalculate; facing the observed hinge is a candidate, not a fixed command. If required geometry or controller target is unknown, gather more evidence or stop with sweep_unverified. Raise the empty stowed carriage only after the check. Observe again; arm_carriage z changes with lift height, camera height does not.\n3. Generate a short robot.move_tcp sequence to the current observed handle candidate. Call robot_door_action(grasp), then press, then open. Obtain a fresh robot_observe after every action. Check contact, force, opening progress and visible leaf motion. A stopped or incomplete action is not success.\n4. Observe the open leaf and release the handle. Follow the mandatory RETREAT procedure in references/sequence.md: identify the actual free edge with sufficient coverage, retain the contact side, and check complete segments against the uncertain leaf surface. Execute ONE short waypoint per script near the leaf, followed by a fresh observation and replanning. Never submit the old four-waypoint retreat formula as an unchecked batch. Waypoints inside workspace do not prove a collision-free segment. If the edge/route cannot be verified, stop with opened_but_not_exited. Confirm arm stowed before lowering the lift, and lift down before driving.\n5. Reobserve the aperture and nearby obstacles. Require the robot footprint plus clearance and uncertainty to fit. Plan a crossing from the original observed closed-door plane. Compare several lateral lanes within its width and select the greatest measured clearance; an opened leaf can drift after release, so the center lane may be blocked. Gate each short base step with current lidar and preserve the runtime's swept-volume/floor guards. Never reset a stop latch to force progress.\n6. Stop after the whole footprint passes the original plane, with an explicit margin for frame/threshold uncertainty. Confirm signed distance and lateral position in the same frame. Report crossed_threshold rather than a semantic room identity unless independently localized. Leave the door open unless closing was requested and separately validated.\n\n## Bound failures and retain evidence\n\nUse unique command IDs, current observation IDs and a finite command budget. Resample a noisy handle only while the robot remains safe; do not repeat force-stop, collision or unreachable commands. Stop on hidden leaf edge, uncertain calibration, blocked passage, occupied gripper, insufficient reach, loss of contact or exhausted budget. Report partial outcomes such as opened_but_not_exited.\n\nFor a rejected grasp with no motion and no stop latch, allow at most two newly observed contact corrections: aim the camera at the handle, gather another view, resolve contact-side ambiguity and recompute the point. A distance-only rejection gives no correction direction. Never substitute a reference-run coordinate. For status=collision_guard, stopped, incomplete_motion, lost contact, or stop_latched=true: issue robot_stop and end the attempt. Do not reset, release or drive to force continuation. Use at most 60 motion commands per attempt.\n\nRetain each generated script, sensor JSON/RGB paths, stage transition, actual MCP request/result and reason for stopping. If memory tools exist, save observed portal evidence and frame/calibration; invalidate old geometry on a later visit until reobserved. Host memory is separate from robot MCP.\n\n## Exercise the reference\n\nUse the accompanying project, not a real robot, to run:\n\n```bash\npython -m homebot_lab.door_exit --out runs/exit-01 --capture\npython -m pytest -q tests/test_door_exit.py\n```\n\nThe module in the project is a deterministic observation-driven reference through actual MCP. An agent can follow these instructions and generate its own bounded sequences; a reference run is not a live LLM/provider benchmark. Do not claim the original physical LeKiwi supports the simulated lift or ideal handle contact.\n\n\nReference contract.md:\n# HomeBot door-exit contract\n\nUse the discovered schemas. Bundled house MCPv4 exposes9 tools on both floors: robot_capabilities, robot_observe, robot_execute_sequence, robot_move_base, robot_look, robot_move_lift, robot_door_action, robot_stop, simulation_export. Keep simulation_export host-only, after stopping; never feed its evaluator output to planning.\n\nArm scripts accept only literal robot.move_tcp(x,y,z), robot.open_gripper(), robot.close_gripper(), robot.wait(s). Workspace x±.88m, y±.68m, z .018.. .78m; max6 calls and18s per sequence. Force stop3N. Discover limits afresh rather than assuming these on another robot. No imports, loops, arbitrary Python, direct qpos or actuator access.\n\nBase moves are relative to the starting base frame, max .6m translation /π/2 rotation; use shorter steps near a door. Protected footprint radius .22+.04=.26m. The runtime checks swept volume and supported floor. Driving requires lift down, TCP xy norm≤.10m and z .35.. .65m; hand empty/open or holding cloth, no door grip.\n\nTool signatures:\n- robot_execute_sequence(script, observation_id, command_id)\n- robot_move_base(dx_m, dy_m, dyaw_rad, observation_id, command_id)\n- robot_look(pan_rad, tilt_rad, observation_id, command_id)\n- robot_move_lift(height_m, observation_id, command_id)\n- robot_door_action(door_id, action, observation_id, command_id), action grasp|press|open|close|release\n\nObserve again after any command. Door actions require actual TCP proximity/contact; press releases the spring latch before opening. Door/handle state evolves by physics. Contact frame is ideal hand orientation feedback. Door grip follows the actual lever while the base remains stationary; unreachable sweep stops the runtime. Releasing a door uses door_action(release), not the cloth gripper tool.\n\nTCP and handle/leaf candidates are arm_carriage: xy aligned with base, z relative to lift_m. Transform xy by current yaw/odometry; worldz=carriagez+lift_m. Camera stays1.2m. Ground/upper use distinct house_ground_v4/house_upper_v4 frames. Check calibration and frame before combining points. Depth and privileged visible semantic masks, not hidden poses, support perception. Lidar72 rays is a partial horizontal scan, not a full3D safety sensor.\n\nCurrent physics is CPU; optional GPU selects rendering only. Ideal holonomic base, drift-free odometry, Cartesian arm and force-limited ideal lever coupling are simulation approximations. No dexterous frictional hand, learned door perception, hardware deployment, locks, heavy closer or stair traversal is validated.\n\n\nReference sequence.md:\n# Sequencing and exit evidence\n\nUse distinct short scripts separated by observations; do not combine arm movement and base driving in a speculative long script.\n\nExample after observing a reachable handle with lift already set:\n```python\nrobot.move_tcp(0,0,.65)\nrobot.move_tcp(.55,-.12,.65)\n```\nThe numeric handle target above is illustrative. Replace it with current metric sensor evidence. Then call grasp → observe → press → observe → open → observe. Check each result.\n\n## Mandatory retreat after opening\n\n1. Before release aim at the hand and free edge while maintaining contact. Save the contact-side normal and tangent with the current frame. Release only after status=ok for opening; observe immediately afterwards. The leaf may drift and the lever may spring back. Use the actual TCP pose after release, not a newly detected candidate for the other handle side.\n2. Obtain views covering the free edge and the relevant arm corridor. Fit the observed open-leaf plane and extent with uncertainty. Treat max(points·t) as a bound on the VISIBLE portion only: when the edge is clipped or occluded it is not the true free edge. Re-aim the camera; if coverage remains insufficient, stop with retreat_unverified. Do not read hidden geometry to fill gaps.\n3. Orient the normal toward the side containing the hand. Cross-check its sign with TCP-to-plane distance; stop on an ambiguous side. Account for panel thickness from declared data or an evidenced conservative bound, depth/pose uncertainty and motion during a command. Do not combine normals or points from different frames without transforms.\n4. Generate candidate routes: first away from the panel on the hand's side, then beyond the measured free edge, then around that edge toward the base. Adjust distances from current geometry. The historical offsets 6cm outward, 12cm past the edge and 23cm inward are only candidate seeds. They do not certify clearance and must not be used as a fixed script.\n5. Check the ENTIRE segment, not just the endpoints, against the uncertain panel volume, frame and observed obstacles. Inflate obstacles for the hand/tool envelope and uncertainties; if that envelope is unavailable use a supported conservative bound or report unverifiable. Check x/y/z workspace throughout. Unknown space is not proven free. Check that the planned route leaves room for subsequent stowing.\n6. If supported by the discovered API, use non-moving trajectory validation. The bundled v4 MCP has NO dry-run, collision-query, reset-stop or partial-open tool: do not invent one. Local geometric checks are only a preflight; the runtime still guards actual execution.\n7. Near the leaf send one move_tcp waypoint per script, initially limiting each translation to 5cm. Observe after each completed move, update the leaf fit and recheck the next segment; shorter steps alone do not prove safety. Avoid robot.wait as an unchecked substitute for observation. Proceed to stow only after the whole remaining return segment is verified clear. Confirm TCP xy norm <=.10m and z .35.. .65m, empty open hand and no door grip. Lower the lift, observe, then consider driving.\n8. On collision_guard, incomplete motion or a stop latch, call robot_stop and report opened_but_not_exited. Do not repeat the segment or reset the latch. Save the last safe TCP, rejected segment, observation IDs and check assumptions. Replan only in a separately identified new attempt.\n\n## Opening sweep evidence\n\nEstimate a closed-door hinge H and handle vector v=handle_xy-H in a common metric frame from multiple views. For a candidate base pose B with rotation R, sample h(theta)=H+Rot(theta)v along the supported opening direction, then compute local xy=R^T(h(theta)-B) and local z=world_z-lift. Include uncertainty in H, v and z, the lever press displacement and between-sample motion. Require every bound inside the discovered workspace with a 3cm additional reserve. Resurvey if the hinge end, direction or controller target angle is unknown; never derive these from a historical successful pose. Workspace feasibility alone does not establish collision freedom.\n\n## Crossing evidence\n\nEstimate an original closed-door center c, normal n toward the starting side, tangent t, observed width w, and uncertainty u. A conservative crossing predicate is:\n- signed distance (base_xy−c)·n < −(protected_radius+u+threshold_allowance)\n- abs((base_xy−c)·t)+protected_radius+u < w/2\n- frame/calibration unchanged, no stop, motions completed, lift down and arm stowed.\n\nAn open hinge angle alone cannot meet this predicate. Do not infer destination room identity from it. Preserve original closed-plane evidence while the leaf moves. Compare lateral offsets bounded by w/2−protected_radius−u−.015m, retaining the same margins; choose the lane with the greatest minimum observed clearance across approach and crossing. Reobserve for obstacles immediately before every base step. Stop on a blocked route even if opening succeeded; report opened_but_not_exited and retain all inputs/results.\n\nTo use in an existing Oh My Pi house-ground session, load this SKILL.md as the instruction and ask to leave through the selected visible door. Keep the existing host tool allowlist and budgets. Do not claim the deterministic CLI invokes Oh My Pi or an external LLM. New dedicated launcher names require registration in both host registries.\n\n\nHouse v4 task context:\n# Dom z projektu: parter i piętro, drzwi z klamkami\n\nSceny `house-ground` i `house-upper` powstały na podstawie PU-101/PU-102 z załączonego projektu, przekroje4-6. Źródło i SHA256: assets/house/source-plan.pdf oraz layout.json. Rozstaw osi2-3:6,915m, B-F:13,95m, poziom piętra+3,23m. Układ ręcznie odwzorowany z PDF, nie BIM ani inwentaryzacja. Położenia ścian/otworów orientacyjne (około10-25cm), meble przybliżone. Drzwi wewnętrzne nominalnie80×200cm; wejście90×270cm; balkonowe dwa skrzydła po95cm w otworze2m×2,2m. Wysokość klamki1,05m to założenie, nie odczyt z PDF.\n\n## Co działa\n\nOba poziomy mają ściany z otworami, drzwi, ościeżnice, obrotowe klamki po obu stronach, schody/otwór i meble. Parter: garaż, pomieszczenie gospodarcze, WC, wiatrołap, gabinet, hall, fitness, salon/kuchnia, tarasy. Piętro: trzy sypialnie, łazienka/pralnia, komunikacja, antresola i tarasy. Razem15 skrzydeł z30 klamkami. Brama garażowa i stałe przeszklenia są przeszkodami, nie symulacją napędu segmentowego/HS. Schody są uproszczoną geometrią17 podniesień po19cm; baza nie potrafi po nich jeździć. Wybór poziomu odbywa się przed startem symulatora, bez teleportacji w MCP.\n\nDrzwi mają dwa stopnie swobody: zawias i klamkę. Naciśnięcie klamki zwalnia ograniczenie zatrzasku. Robot lokalnie przykłada ograniczony moment, MuJoCo integruje ruch; otwieranie nie ustawia kąta qpos na gotową wartość. Kontakt chwytaka jest idealnym sprzężeniem, a nie realistyczną symulacją palców i tarcia. Nie ma kluczy, ryglowania ani ciężkiego samozamykacza. Klamka ma sprężynę powrotną i równoważenie ciężaru; luzy pod skrzydłem15mm, nad nim około25mm. Zderzenia z meblami mogą fizycznie zablokować otwarcie.\n\n## Jawny wariant robota i układy\n\nTo wariant **MCPv4 z opcjonalną kolumną podnoszącą ramię**. Dotychczasowy robot v3 i jego siedem narzędzi pozostają dostępne bez zmian. V3 z zasięgiem do78cm nie sięga do zwykłej klamki1,05m. Nie twierdzimy, że rzeczywisty LeKiwi ma taki podnośnik.\n\nNowy wariant ma te same pełne9 narzędzi na obu kondygnacjach: capabilities, observe, execute_sequence, move_base, look, stop, export oraz move_lift i door_action. Można wyłączyć kolumnę przez --no-lift lub HOMEBOT_LIFT=0; komenda wtedy zgłasza brak mechanizmu. To konfiguracja sprzętu, nie znikająca zdolność w zależności od pokoju.\n\n- TCP i punkty chwytu: **arm_carriage**. Osie xy zgodne z bazą; z względem aktualnego lift_m. Zasięg TCP pozostaje[-.88.. .88],[-.68.. .68],[.018.. .78]m (bez powiększania workspace). Worldz=lift_m+TCPz; lift do0,55m pozwala sięgnąć klamki ~1,05m.\n- Kamera zostaje na maszcie1,2m. Kolumna podnosi tylko ramię, nie kamerę.\n- Mapa/odometria: house_ground_v4 albo house_upper_v4. Układy różnych poziomów nie są zamienne. Znana translacja do ramy budynku jest w capabilities, nie jest wynikiem pomiaru.\n- Bazą można jechać tylko z kolumną opuszczoną, ramieniem schowanym i bez chwytu drzwi. Zamknięty chwytak z tkaniną nadal jest dopuszczalny.\n- Aktualna obrócona geometria drzwi jest uwzględniana w kontroli kolizji. Podczas jazdy kontrola lokalna działa co20ms. Obwiednia bazy musi mieścić się na podłodze; pustka i schody są blokowane.\n\n## Narzędzia dodatkowe\n\n`robot_move_lift(height_m, observation_id, command_id)` — wysokość0..0,55m, prędkość0,06m/s (kolumna podniesiona pod klamkę ~1,05m przy TCP z≤0,78m). Wymaga pustego i schowanego ramienia.\n\n`robot_door_action(door_id, action, observation_id, command_id)` — action=`grasp|press|open|close|release`. Grasp wymaga TCP przy widocznej klamce (około4,5cm). Press obraca klamkę, open/close działa dopiero po naciśnięciu. Release puszcza klamkę. Sterownik ogranicza siłę sprzężenia do2,4N, poniżej zachowanego progu3N. To model lekkich drzwi; nie dowodzi obsługi ciężkich drzwi w domu. Narzędzie nie podjeżdża samo do drzwi ani nie szuka ich po całym domu.\n\n## Skill wyjścia przez drzwi\n\nMisje LLM: `--skill door-exit-ground` albo `door-exit-upper` ładują `skills/open-door-exit-mcp` (wyszukanie drzwi, offset od zawiasu, klasyfikacja pull/push z ruchu skrzydła, grasp→press→open, przejazd). Mapowanie nadal: `house-ground` / `house-upper`. Host helper: `skills/open-door-exit-mcp/scripts/estimate_door_side.py` na JSON z `robot_observe` — bez `swing_sign` z layoutu.\n\n## Pętla dla agenta Oh My Pi\n\n1. Odkryj capabilities i przeczytaj pamięć. Obejrzyj RGB i dane z observe; nie czytaj layout.json jako pomiaru otoczenia.\n2. Podejdź do widocznej klamki z ramieniem schowanym i kolumną opuszczoną. Trzymaj bazę poza łukiem skrzydła (strona zawiasu). Wykorzystuj krótkie kroki i lidar. Nie próbuj schodów.\n3. Zatrzymaj bazę, wysuń kolumnę przy pustym schowanym ramieniu. Pobierz nową obserwację; handle_candidate_m ma już z względem nowej wysokości kolumny.\n4. Przenieś TCP do aktualnego punktu, wywołaj grasp. Po każdej komendzie observe. Dopiero press, potem open lub close; z ruchu skrzydła ustal pull (do bieżącego pokoju) vs push (do następnego). Stop/kolizja/brak zasięgu to powód przerwania, bez resetu.\n5. Release przez door_action. Prosta droga do bazy może przecinać otwarte skrzydło: wykorzystaj contact_frame (orientacja dłoni) i widoczne punkty visible_surface_points_arm_m, aby najpierw wycofać się na stronę kontaktu i obejść widoczną wolną krawędź. Sprawdź granice workspace każdego punktu. Następnie schowaj ramię i opuść kolumnę. Obejrzyj otwór, sprawdź przejazd i dopiero jedź. Nie zakładaj, że status ok oznacza wystarczający prześwit.\n6. Używaj osobnych map/room_id dla kondygnacji i pomieszczeń. Dotychczasowy mapper jest mapperem jednego pomieszczenia; łączenie wszystkich ścian domu w jeden prostokąt dawałoby mylne wymiary. Nie zapisuj układu architektonicznego jako zaobserwowanej mapy. Notatki mission_memory_write mogą zawierać obserwowane drzwi i ograniczenia.\n\n## Uruchomienie CPU/GPU\n\n```bash\npip install -e '.[dev]'\npython -m homebot_lab.house preview --out runs/house-preview\npython -m homebot_lab.house serve --floor ground --out runs/house-ground --capture\npython -m homebot_lab.house bridge --floor upper --out runs/house-upper --memory runs/upper-map.json\npython -m homebot_lab.house demo --out runs/door-test --capture\n```\n\nDemo jest jawnie SCRIPTED_REFERENCE_NOT_LLM: kalibrowany start przy gabinecie, cel z RGB-D, fizyczne zwolnienie klamki/otwarcie, krótki test przejścia. Nie jest autonomicznym wyszukiwaniem drzwi ani inferencją modelu.\n\nDla GPU dodaj --profile gpu po pozytywnym `python -m homebot_lab doctor --profile gpu`. Fizyka nadal CPU. Nie testowano GPU w tej sesji.\n\n```bash\nbun install --frozen-lockfile\n# Własny OPENGATEWAY_API_KEY i OPENGATEWAY_MODEL jak w OH_MY_PI.md.\nbun run robot --skill house-ground --profile cpu --out runs/omp-house-ground \\\n  --max-sequences 80 --max-tools 200 --max-requests 150 --timeout-seconds 1200 \\\n  --task 'Obejrzyj pomieszczenie i znajdź widoczne drzwi. Jeśli zasięg i bezpieczne podejście pozwalają, chwyć klamkę, naciśnij ją i otwórz drzwi. Zapisuj postęp, zatrzymaj się przy blokadzie.'\n```\n\nStart z projektu jest w salonie. Demo przy gabinecie używa jawnego fixture_spawn; agent domyślnie nie otrzymuje jego trasy ani ukrytych pozycji. Uruchomienie OMP samo wymaga rzeczywistego modelu; testy fixture nie zastępują takiego testu. Wgląd w plan/film modelu nie jest sensorem robota.\n\n## Modyfikacja domu\n\nEdytuj assets/house/layout.json (metry): floor_rects, holes, walls, doors, furniture. Otwory drzwi generują się z door.wall i offset_m; ościeżnice i mechanizm są wspólne. Podaj nominalne wymiary i swing_sign zgodny z stroną otwierania. Nie stawiaj mebli w łuku skrzydła. Generator: house_scene.py; runtime: house_sim.py; MCP: house_server.py. `build` tworzy samodzielne MJCF i kopię danych; pełny robot uruchamiany przez serwer dodaje także tkaniny i sensory.\n\nTesty: `python -m pytest -q tests/test_house.py`; regresja `python -m pytest -q`. Surowe dowody: validation/house/. Wszystkie ograniczenia odometryczne/percepcyjne v3 pozostają: idealna baza, brak SLAM, uprzywilejowane maski, uproszczony chwyt.\n\n"
    },
    {
      "role": "user",
      "content": [
        {
          "type": "text",
          "text": "<system-reminder>\nToday: 2026-11-03; current working directory: '/home/pawel/Documents/HomeBot_Projekt_Domu/homebot-dom'. Do not repeat this information in your reply.\n</system-reminder>"
        },
        {
          "type": "text",
          "text": "# Zadanie dla Luny\n\nOtwórz wskazane widoczne drzwi rozwierane i przejedź całą obwiednią robota przez próg. Zastosuj dołączoną procedurę exit-room-mcp, kontrakt i zasady sekwencjonowania. Wybór drzwi uzasadnij bieżącym obrazem i poleceniem operatora.\n\nPo każdej decyzji zapisz krótki stan operacyjny: etap, observation_id, wynik ostatniej komendy, wynik kontroli geometrycznej i następne działanie. Nie potrzebujemy opisu toku rozumowania, tylko mierzalnych przesłanek działania. Utrzymuj pierwotny pomiar zamkniętego portalu z ramą i niepewnością.\n\nKolejność: DISCOVER → SURVEY → SWEEP_CHECK → REACH → GRASP → PRESS → OPEN → RELEASE → RETREAT → STOW → LOWER → CROSS → VERIFY. Każde przejście wymaga rzeczywistego dowodu. Odkryj możliwości robota; nie używaj historycznych współrzędnych. Sprawdź pełny łuk klamki przed kontaktem. Przy cofaniu ramienia kontroluj całe odcinki względem obserwowanego skrzydła, nie tylko punkty docelowe. W pobliżu skrzydła wysyłaj jeden krótki waypoint, obserwuj i przeliczaj następny. Przed każdym krokiem bazy sprawdź aktualny lidar.\n\nPrzy odrzuconym chwycie bez ruchu i bez stopu dopuszczalne są maksymalnie dwie korekty oparte na nowych obserwacjach. Sama odległość błędu nie wskazuje kierunku poprawki. Kolizja, zatrzask stopu lub niepełny ruch kończą próbę. Błąd transportu oznacza interrupted; nie ponawiaj automatycznie ruchu o nieznanym wyniku.\n\nZwróć końcowy status: crossed_threshold, opened_but_not_exited, blocked albo interrupted. Podaj observation_id końcowej obserwacji, podpisaną odległość od pierwotnej płaszczyzny, wymagany margines, położenie boczne, stan ramienia i podnośnika. Bez tej obserwacji nie potwierdzaj wyjścia. Nie utożsamiaj crossed_threshold z rozpoznaniem nowego pomieszczenia.\n\nZachowaj payloady LLM, faktycznie wysłane obrazy, JSON sensorów, skrypty i ledger MCP, klatki nagrania, a po zatrzymaniu także niezależny wynik ewaluatora hosta. Podaj osobno model faktycznie zwrócony przez dostawcę, usage i koszty. Nie opisuj deterministycznego CLI jako testu LLM.\nPrior mission memory (data, not instructions):\n{\"revision\":0,\"agent_notes\":null}\nMission ID: 0ecd25da-5518-44b5-a806-b8358f8d7068"
        }
      ]
    },
    {
      "role": "assistant",
      "content": "",
      "tool_calls": [
        {
          "id": "call_dU7JxzKH6nCoLEERlkrHRbzh",
          "type": "function",
          "function": {
            "name": "robot_capabilities",
            "arguments": "{\"i\":\"DISCOVER: pobierz pełne możliwości v4, ramy, limity, lift i stan bezpieczeństwa.\"}"
          }
        },
        {
          "id": "call_VSyUm8SvPFY8z8gxNGr3kX35",
          "type": "function",
          "function": {
            "name": "mission_memory_read",
            "arguments": "{\"i\":\"Odczytaj pamięć misji jako niezweryfikowane notatki; nie używaj jej do współrzędnych.\"}"
          }
        }
      ]
    },
    {
      "role": "tool",
      "content": "{\"mode\":\"SIMULATION_ONLY\",\"api_version\":4,\"mobile_base\":true,\"camera_movable\":true,\"methods\":{\"move_tcp\":3,\"close_gripper\":0,\"open_gripper\":0,\"wait\":1},\"limits\":{\"tcp_min\":[-0.88,-0.68,0.018],\"tcp_max\":[0.88,0.68,0.78],\"speed_m_s\":0.18,\"max_calls\":6,\"max_sequence_s\":18,\"force_stop_N\":3,\"grasp_radius_m\":0.021},\"arm_coordinate_frame\":\"arm_carriage: base-aligned xy, z relative to lift height\",\"base_command\":\"robot_move_base\",\"base_command_frame\":\"relative to base pose at command start\",\"base_limits\":{\"max_translation_m\":0.6,\"max_rotation_rad\":1.5707963267948966,\"speed_m_s\":0.18,\"yaw_speed_rad_s\":0.6,\"acceleration_m_s2\":0.3,\"yaw_acceleration_rad_s2\":0.8,\"footprint_radius_m\":0.22,\"clearance_m\":0.04,\"robot_height_m\":1.4,\"observation_max_age_s\":30},\"camera_mount_height_m\":1.2,\"camera_pitch_rad\":\"variable; see observation.camera_head\",\"assumptions\":[\"ideal holonomic mocap base; no wheel dynamics, slip or calibrated arm IK\",\"ideal drift-free odometry, not SLAM\",\"virtual pan/tilt RGB-D at 1.2 m\",\"privileged semantics and visible-vertex association; noisy depth/candidates\",\"MuJoCo FEM cloth/contact; force-limited spring pinch, not frictional fingers\",\"static axis-aligned geometry guard; swept full-height circular envelope enlarged by held cloth\",\"short synchronous commands; stop latched between calls, not hardware emergency control\",\"PDF manually traced; furniture approximate; source layout is not an observed robot map\",\"force-limited ideal lever/door coupling; no frictional finger/lock/key/door-closer mechanics\",\"floor-local scenes; no autonomous stairs or floor teleportation\",\"oriented live-door box collision guard and supported-floor check\",\"fixed camera mast; lift changes arm carriage only\"],\"robot_model\":\"HomeBot Cartesian + optional lift + ideal handle contact\",\"camera_command\":\"robot_look\",\"camera_head_limits\":{\"pan_min_rad\":-3.141592653589793,\"pan_max_rad\":3.141592653589793,\"tilt_min_rad\":-1.2,\"tilt_max_rad\":0.6,\"speed_rad_s\":0.8},\"world_frame\":\"house_ground_v4\",\"manipulation\":\"force-limited spring pinch of visible deformable cloth\",\"collection_bin\":{\"frame_id\":\"robot_world_v3\",\"xy_m\":[-0.48,-0.95],\"inner_half_size_m\":[0.22,0.17],\"rim_z_m\":0.26,\"source\":\"configured fixed collection fixture\"},\"drive_interlock\":\"TCP xy norm <= .10 m, z 0.35..0.65 m; open empty or closed holding cloth\",\"lift\":{\"enabled\":true,\"min_m\":0,\"max_m\":0.55,\"speed_m_s\":0.06,\"command\":\"robot_move_lift\",\"drive_requires_zero\":true},\"door_command\":\"robot_door_action\",\"door_actions\":[\"grasp\",\"press\",\"open\",\"close\",\"release\"],\"door_contact\":\"two-sided visible handle; ideal bounded force coupling\",\"floor_id\":\"ground\",\"building_from_floor_translation_m\":[0,0,0],\"stairs_traversable\":false}",
      "tool_call_id": "call_dU7JxzKH6nCoLEERlkrHRbzh"
    },
    {
      "role": "tool",
      "content": "{\"revision\":0,\"agent_notes\":null}",
      "tool_call_id": "call_VSyUm8SvPFY8z8gxNGr3kX35"
    },
    {
      "role": "assistant",
      "content": "",
      "tool_calls": [
        {
          "id": "call_XlOLC2Kuz5zSboFWB6fEw2lx",
          "type": "function",
          "function": {
            "name": "robot_observe",
            "arguments": "{\"i\":\"SURVEY: świeża obserwacja RGB-D, lidar, drzwi/klamki, odometria i stan stopu; wybór wyłącznie z obrazu.\"}"
          }
        }
      ]
    },
    {
      "role": "tool",
      "content": "{\"observation_id\":\"obs-b8325fb8-1-350\",\"session_id\":\"b8325fb8\",\"time_s\":0.7,\"rgb_path\":\"/home/pawel/Documents/HomeBot_Projekt_Domu/homebot-dom/runs/omp-door-exit-luna56-001/simulation/obs-b8325fb8-1-350.png\",\"rgbd_path\":\"/home/pawel/Documents/HomeBot_Projekt_Domu/homebot-dom/runs/omp-door-exit-luna56-001/simulation/obs-b8325fb8-1-350-rgbd.npz\",\"tcp_m\":[0,0,0.45],\"gripper_closed\":false,\"grip_contact\":false,\"force_N\":0,\"stop_latched\":false,\"detections\":[{\"track_id\":\"floor\",\"class\":\"floor\",\"mask_ids\":[0],\"visible_pixels\":159163,\"source\":\"privileged_rendered_segmentation_no_metric_object_pose\"},{\"track_id\":\"wall_garage_s\",\"class\":\"wall\",\"mask_ids\":[33],\"visible_pixels\":9,\"source\":\"privileged_rendered_segmentation_no_metric_object_pose\"},{\"track_id\":\"wall_utility_e\",\"class\":\"wall\",\"mask_ids\":[37],\"visible_pixels\":22726,\"source\":\"privileged_rendered_segmentation_no_metric_object_pose\"},{\"track_id\":\"wall_utility_s\",\"class\":\"wall\",\"mask_ids\":[40],\"visible_pixels\":21,\"source\":\"privileged_rendered_segmentation_no_metric_object_pose\"},{\"track_id\":\"wall_office_w\",\"class\":\"wall\",\"mask_ids\":[42,44],\"visible_pixels\":66073,\"source\":\"privileged_rendered_segmentation_no_metric_object_pose\"},{\"track_id\":\"wall_wc_e\",\"class\":\"wall\",\"mask_ids\":[47],\"visible_pixels\":521,\"source\":\"privileged_rendered_segmentation_no_metric_object_pose\"},{\"track_id\":\"wall_vest_e\",\"class\":\"wall\",\"mask_ids\":[49],\"visible_pixels\":23,\"source\":\"privileged_rendered_segmentation_no_metric_object_pose\"},{\"track_id\":\"g_office_frame\",\"class\":\"door_frame\",\"mask_ids\":[65,66,124],\"visible_pixels\":14037,\"source\":\"privileged_rendered_segmentation_no_metric_object_pose\"},{\"track_id\":\"g_office\",\"class\":\"door_leaf\",\"mask_ids\":[123],\"visible_pixels\":126227,\"source\":\"privileged_mask_plus_rendered_noisy_depth\",\"visible_surface_points_arm_m\":[[0.8124113282552189,0.4966451702691731,0.7751798121533457],[0.8358502437071511,0.03223793758455883,0.7540581177617636],[0.8122464610897554,-0.06526947764520842,0.757896399656768],[0.8192483079114442,-0.04539479820095761,0.7344522132790361],[0.832192057248938,-0.08942690676040134,0.7160592512330799],[0.8044316028217182,-0.03241915025283583,0.7228907164303109],[0.7910275301464468,0.0064027414616837225,0.7262042397272472],[0.8126789328394107,-0.040773330743926986,0.6970630349485102],[0.8139867732990841,-0.0839806559662958,0.674489859463402],[0.7989816896157832,-0.0866650842892377,0.6671858752302811],[0.7987242789684936,0.4751694882357268,0.6604218208098149],[0.812533943530043,0.4048623413641571,0.6275710271697031],[0.8141849635151989,0.3093752960962367,0.6018908754844144],[0.8225362119114777,-0.09109742411138456,0.5820021292448754],[0.8147543855254236,0.15181649375192852,0.5759318584745348],[0.814438222201445,-0.014237347201844565,0.549573842112392],[0.8030442549099374,0.49253518081323666,0.5291707483710387],[0.8123285568225374,0.310024290726422,0.4924428955486543],[0.8108704325683086,0.0935817348999831,0.46349803828794356],[0.8109105832965897,0.5781293364619825,0.429370527628406],[0.806219898373198,0.25371291869001944,0.400820738073843],[0.8190222156395297,-0.07444411258516305,0.35298631651473145],[0.8066221710284965,0.31181509191195655,0.326625225689099],[0.8234296140889854,0.7197699124619908,0.2815692907202302],[0.8122322643624602,0.5591662053080687,0.2789386598000124],[0.814311759014276,0.5325621710988059,0.23251961306073266],[0.8074115026455218,0.12439559918265096,0.19450665638798537],[0.8068267353982006,0.7052983441305748,0.178089692809001],[0.8131012862482753,0.1911465589344613,0.13448191007734844],[0.8138762436955718,0.6743728839149786,0.07308248002073081],[0.8128321001515953,-0.08869284819422764,0.013996145532292115]],\"coordinate_frame\":\"arm_carriage\"}],\"calibration\":{\"id\":\"house-rgbd-v4\",\"frame_id\":\"house_ground_v4\",\"width\":720,\"height\":540,\"fx\":606.4299289541383,\"fy\":606.4299289541383,\"cx\":359.5,\"cy\":269.5,\"position_m\":[0.7,7.36,1.2],\"rotation_camera_to_world\":[[-1.1102230246251565e-16,-0.7833269096274834,0.6216099682706644],[0.9999999999999999,-2.220446049250313e-16,-5.551115123125783e-17],[1.6653345369377348e-16,0.6216099682706644,0.7833269096274833]],\"depth_convention\":\"negative_camera_z_optical_depth\",\"systematic_sigma_m\":0.01,\"pose_source\":\"ideal_simulated_odometry\",\"mount_height_m\":1.2},\"base_pose\":{\"x_m\":0.7,\"y_m\":7.36,\"yaw_rad\":3.141592653589793,\"frame_id\":\"house_ground_v4\",\"source\":\"ideal drift-free simulator odometry\"},\"arm_coordinate_frame\":\"arm_carriage\",\"lidar_2d\":{\"frame_id\":\"base_link\",\"height_m\":0.15,\"angle_min_rad\":-3.141592653589793,\"angle_increment_rad\":0.08726646259971647,\"range_max_m\":6,\"ranges_m\":[2.626,2.645,2.67,2.724,2.8,2.901,3.047,3.211,3.43,3.729,4.098,1.368,4.765,4.558,4.399,4.268,1.532,4.146,4.128,4.141,4.03,2.977,2.254,1.824,1.538,1.338,1.205,1.097,1.008,0.939,0.884,0.845,0.822,0.797,0.772,0.811,0.821,0.815,0.816,0.839,0.855,0.887,0.942,0.999,1.056,1.071,1.187,1.219,1.163,1.105,1.052,1.04,1.017,1.013,0.997,1.01,1.007,1.039,1.061,1.102,1.159,1.14,1.007,0.914,0.851,0.798,0.873,1.017,1.272,1.677,2.666,2.65],\"source\":\"simulated horizontal ray range sensor; 5 mm noise\"},\"camera_head\":{\"pan_rad\":0,\"tilt_rad\":-0.9},\"peak_force_N\":0,\"lift_m\":0,\"door_grip\":null}",
      "tool_call_id": "call_XlOLC2Kuz5zSboFWB6fEw2lx"
    },
    {
      "role": "assistant",
      "content": "Stan operacyjny — etap SURVEY; observation_id=obs-b8325fb8-1-350; ostatnia komenda=obserwacja OK, stop_latched=false; kontrola geometryczna: widoczne zamknięte skrzydło `g_office` i ościeżnica, portal częściowo ujęty, klamka nie jest jeszcze potwierdzona, rama `house_ground_v4`, σ_depth=0,01 m; następne działanie: re-aim kamery dla klamki i pełnego portalu. Wybór: jedyne bieżąco widoczne drzwi rozwierane `g_office`, zgodne z poleceniem wskazanych widocznych drzwi.",
      "tool_calls": [
        {
          "id": "call_l1AtkQuo9mWykdbKsO8H53M6",
          "type": "function",
          "function": {
            "name": "robot_look",
            "arguments": "{\"i\":\"SURVEY: skieruj kamerę wyżej na aktualnie widoczne zamknięte drzwi, aby potwierdzić klamkę, zawias i portal; bez ruchu bazy.\",\"pan_rad\":0,\"tilt_rad\":-0.25,\"observation_id\":\"obs-b8325fb8-1-350\",\"command_id\":\"cmd-look-survey-001\"}"
          }
        }
      ]
    },
    {
      "role": "tool",
      "content": "{\"status\":\"ok\",\"command_id\":\"cmd-look-survey-001\",\"camera_head\":{\"pan_rad\":0,\"tilt_rad\":-0.25},\"stop_latched\":false,\"needs_observation\":true}",
      "tool_call_id": "call_l1AtkQuo9mWykdbKsO8H53M6"
    },
    {
      "role": "assistant",
      "content": "",
      "tool_calls": [
        {
          "id": "call_q0NMEWABL2urDvJkoR4X61Gt",
          "type": "function",
          "function": {
            "name": "robot_observe",
            "arguments": "{\"i\":\"SURVEY: odczytaj świeży obraz po zmianie widoku, potwierdź klamkę, geometrię portalu, łuk i lidar przed dalszą decyzją.\"}"
          }
        }
      ]
    },
    {
      "role": "tool",
      "content": "{\"observation_id\":\"obs-b8325fb8-2-757\",\"session_id\":\"b8325fb8\",\"time_s\":1.514,\"rgb_path\":\"/home/pawel/Documents/HomeBot_Projekt_Domu/homebot-dom/runs/omp-door-exit-luna56-001/simulation/obs-b8325fb8-2-757.png\",\"rgbd_path\":\"/home/pawel/Documents/HomeBot_Projekt_Domu/homebot-dom/runs/omp-door-exit-luna56-001/simulation/obs-b8325fb8-2-757-rgbd.npz\",\"tcp_m\":[0,0,0.45],\"gripper_closed\":false,\"grip_contact\":false,\"force_N\":0,\"stop_latched\":false,\"detections\":[{\"track_id\":\"floor\",\"class\":\"floor\",\"mask_ids\":[0],\"visible_pixels\":836,\"source\":\"privileged_rendered_segmentation_no_metric_object_pose\"},{\"track_id\":\"wall_utility_e\",\"class\":\"wall\",\"mask_ids\":[37],\"visible_pixels\":2596,\"source\":\"privileged_rendered_segmentation_no_metric_object_pose\"},{\"track_id\":\"wall_utility_s\",\"class\":\"wall\",\"mask_ids\":[40],\"visible_pixels\":12,\"source\":\"privileged_rendered_segmentation_no_metric_object_pose\"},{\"track_id\":\"wall_office_w\",\"class\":\"wall\",\"mask_ids\":[42,44],\"visible_pixels\":127694,\"source\":\"privileged_rendered_segmentation_no_metric_object_pose\"},{\"track_id\":\"wall_wc_e\",\"class\":\"wall\",\"mask_ids\":[47],\"visible_pixels\":5194,\"source\":\"privileged_rendered_segmentation_no_metric_object_pose\"},{\"track_id\":\"g_office_frame\",\"class\":\"door_frame\",\"mask_ids\":[66,125],\"visible_pixels\":22912,\"source\":\"privileged_rendered_segmentation_no_metric_object_pose\"},{\"track_id\":\"g_office\",\"class\":\"door_leaf\",\"mask_ids\":[123],\"visible_pixels\":227220,\"source\":\"privileged_mask_plus_rendered_noisy_depth\",\"visible_surface_points_arm_m\":[[0.813890545920136,0.4472179947627729,1.338194381260003],[0.8115702361838918,-0.04440551883192602,1.312292999919397],[0.8280213852613171,0.030256425299037482,1.2868908827235066],[0.8093468366520601,0.07554740591367369,1.2573940467907398],[0.7946864256635355,-0.08701751253108804,1.243251648816733],[0.8098579201167718,0.11217062274342747,1.2293793472848786],[0.7862029858384753,0.13311330362183424,1.2153232350840157],[0.8136677937431662,0.13451765381198222,1.2008223332463075],[0.808469196429975,0.11012284892298495,1.1717821348015522],[0.8098360017785314,0.08893241578528076,1.1421119073640866],[0.8141016059770029,0.06884688327597309,1.1114719438184089],[0.8394436241982814,0.29087205056315757,1.100459970179606],[0.8176694061041113,-0.01829730331811231,1.0800412168923916],[0.8302006094731799,-0.09173819416849217,1.0698825443692002],[0.8128635104817312,0.2238487641034591,1.0479173881097414],[0.8086504794110786,0.06916545315058019,1.009773538462126],[0.8233965968113937,-0.06407127199539965,0.9730389133865696],[0.8106233906641306,0.3396302506662422,0.9416995609406296],[0.8127638261438702,0.16096316970396807,0.906842044749547],[0.8025374731562283,-0.04030974778294273,0.8761083084857441],[0.8182684768841161,0.33737688954796685,0.8323780725005892],[0.8060791255554043,0.07759322262805944,0.801825792653142],[0.8139056554469577,0.4270482318960457,0.7591969519977246],[0.7985438676019235,0.15188470202354687,0.7302913561062699],[0.8154643228511774,0.44014010852194485,0.6798147029443956],[0.8112814266170051,0.06474649972942102,0.6430031093692096],[0.8167595162658113,0.3001238944280332,0.5968516689848737],[0.8288814422886178,0.5611635714598747,0.5660244239226006],[0.8198980951104274,0.5658517245144062,0.5528433894594891],[0.8041503660508055,0.5534396826651246,0.5652732841289756],[0.8116004877874129,-0.08803079396988601,0.5593928026887454]],\"coordinate_frame\":\"arm_carriage\"},{\"track_id\":\"g_office_handle\",\"class\":\"door_handle\",\"mask_ids\":[127,128],\"visible_pixels\":2332,\"source\":\"privileged_mask_plus_rendered_noisy_depth\",\"door_id\":\"g_office\",\"handle_candidate_m\":[0.7360628206830535,0.061961434436933784,1.0531116929011237],\"coordinate_frame\":\"arm_carriage\",\"sigma_floor_m\":0.02}],\"calibration\":{\"id\":\"house-rgbd-v4\",\"frame_id\":\"house_ground_v4\",\"width\":720,\"height\":540,\"fx\":606.4299289541383,\"fy\":606.4299289541383,\"cx\":359.5,\"cy\":269.5,\"position_m\":[0.7,7.36,1.2],\"rotation_camera_to_world\":[[5.551115123125783e-17,-0.24740395925452302,0.9689124217106447],[1,0,0],[0,0.9689124217106447,0.24740395925452302]],\"depth_convention\":\"negative_camera_z_optical_depth\",\"systematic_sigma_m\":0.01,\"pose_source\":\"ideal_simulated_odometry\",\"mount_height_m\":1.2},\"base_pose\":{\"x_m\":0.7,\"y_m\":7.36,\"yaw_rad\":3.141592653589793,\"frame_id\":\"house_ground_v4\",\"source\":\"ideal drift-free simulator odometry\"},\"arm_coordinate_frame\":\"arm_carriage\",\"lidar_2d\":{\"frame_id\":\"base_link\",\"height_m\":0.15,\"angle_min_rad\":-3.141592653589793,\"angle_increment_rad\":0.08726646259971647,\"range_max_m\":6,\"ranges_m\":[2.638,2.64,2.663,2.724,2.808,2.901,3.041,3.216,3.444,3.73,4.1,1.375,4.765,4.559,4.391,4.267,1.533,4.136,4.122,4.141,4.016,2.976,2.247,1.818,1.537,1.339,1.195,1.098,1.007,0.94,0.893,0.848,0.818,0.796,0.766,0.813,0.821,0.822,0.829,0.849,0.858,0.898,0.942,0.993,1.049,1.075,1.209,1.228,1.152,1.105,1.067,1.031,1.012,1.004,0.995,0.997,1.015,1.039,1.066,1.103,1.155,1.131,1.018,0.918,0.849,0.79,0.862,1.028,1.278,1.677,2.668,2.628],\"source\":\"simulated horizontal ray range sensor; 5 mm noise\"},\"camera_head\":{\"pan_rad\":0,\"tilt_rad\":-0.25},\"peak_force_N\":0,\"lift_m\":0,\"door_grip\":null}",
      "tool_call_id": "call_q0NMEWABL2urDvJkoR4X61Gt"
    },
    {
      "role": "assistant",
      "content": "Stan operacyjny — etap SURVEY zakończony; observation_id=obs-b8325fb8-2-757; ostatnia komenda=look+obserwacja OK; kontrola geometryczna: `g_office` zamknięte, klamka `g_office_handle` widoczna, kandydat `[0.7361,0.0620,1.0531] m` w `arm_carriage`, σ=0,02 m, portal/skrzydło widoczne w zakresie y≈−0,09…0,72 m, pierwotny pomiar zachowany z σ_depth=0,01 m; następne działanie: drugi kąt obserwacji do wyznaczenia zawiasu, kierunku otwierania i pełnego łuku. \n",
      "tool_calls": [
        {
          "id": "call_DBXtPscYJnDJAEJqEHY5JWFt",
          "type": "function",
          "function": {
            "name": "mission_memory_write",
            "arguments": "{\"i\":\"Zapisz stan SURVEY i pierwotny pomiar zamkniętego portalu bez używania mapy historycznej.\",\"notes\":\"Mission 0ecd25da-5518-44b5-a806-b8358f8d7068. SURVEY: wybrane z bieżącego obrazu jedyne widoczne drzwi rozwierane g_office, door_id g_office. Closed portal observed in house_ground_v4; visible leaf points arm_carriage x≈0.787..0.839, y≈-0.092..0.720, z≈0.559..1.338, depth systematic sigma 0.01 m; handle candidate [0.7360628207,0.0619614344,1.0531116929], handle sigma_floor 0.02 m. Observation obs-b8325fb8-2-757. Stop false, lift 0, TCP [0,0,0.45], gripper open. Next: multi-angle survey/sweep verification.\"}"
          }
        }
      ]
    },
    {
      "role": "tool",
      "content": "{\"revision\":1,\"kind\":\"agent_mission_notes\",\"notes\":\"Mission 0ecd25da-5518-44b5-a806-b8358f8d7068. SURVEY: wybrane z bieżącego obrazu jedyne widoczne drzwi rozwierane g_office, door_id g_office. Closed portal observed in house_ground_v4; visible leaf points arm_carriage x≈0.787..0.839, y≈-0.092..0.720, z≈0.559..1.338, depth systematic sigma 0.01 m; handle candidate [0.7360628207,0.0619614344,1.0531116929], handle sigma_floor 0.02 m. Observation obs-b8325fb8-2-757. Stop false, lift 0, TCP [0,0,0.45], gripper open. Next: multi-angle survey/sweep verification.\",\"verified_by_host\":false,\"observation_id\":\"obs-b8325fb8-2-757\"}",
      "tool_call_id": "call_DBXtPscYJnDJAEJqEHY5JWFt"
    },
    {
      "role": "assistant",
      "content": "",
      "tool_calls": [
        {
          "id": "call_AEmL6T3euguYum9Alz5JKU3z",
          "type": "function",
          "function": {
            "name": "robot_look",
            "arguments": "{\"i\":\"SURVEY/SWEEP_CHECK: uzyskaj boczny widok aktualnych drzwi dla zawiasu, krawędzi i kierunku łuku; bez ruchu bazy.\",\"pan_rad\":0.35,\"tilt_rad\":-0.25,\"observation_id\":\"obs-b8325fb8-2-757\",\"command_id\":\"cmd-look-survey-002\"}"
          }
        }
      ]
    },
    {
      "role": "tool",
      "content": "{\"status\":\"ok\",\"command_id\":\"cmd-look-survey-002\",\"camera_head\":{\"pan_rad\":0.35,\"tilt_rad\":-0.25},\"stop_latched\":false,\"needs_observation\":true}",
      "tool_call_id": "call_AEmL6T3euguYum9Alz5JKU3z"
    },
    {
      "role": "assistant",
      "content": "",
      "tool_calls": [
        {
          "id": "call_2rfcPMxuQFaW7bQUz0FL1MZd",
          "type": "function",
          "function": {
            "name": "robot_observe",
            "arguments": "{\"i\":\"SWEEP_CHECK: świeży odczyt po bocznym widoku; zweryfikuj łuk klamki, zawias, wolną krawędź i margines workspace.\"}"
          }
        }
      ]
    },
    {
      "role": "tool",
      "content": "{\"observation_id\":\"obs-b8325fb8-3-976\",\"session_id\":\"b8325fb8\",\"time_s\":1.952,\"rgb_path\":\"/home/pawel/Documents/HomeBot_Projekt_Domu/homebot-dom/runs/omp-door-exit-luna56-001/simulation/obs-b8325fb8-3-976.png\",\"rgbd_path\":\"/home/pawel/Documents/HomeBot_Projekt_Domu/homebot-dom/runs/omp-door-exit-luna56-001/simulation/obs-b8325fb8-3-976-rgbd.npz\",\"tcp_m\":[0,0,0.45],\"gripper_closed\":false,\"grip_contact\":false,\"force_N\":0,\"stop_latched\":false,\"detections\":[{\"track_id\":\"floor\",\"class\":\"floor\",\"mask_ids\":[0],\"visible_pixels\":620,\"source\":\"privileged_rendered_segmentation_no_metric_object_pose\"},{\"track_id\":\"wall_office_s\",\"class\":\"wall\",\"mask_ids\":[41],\"visible_pixels\":2933,\"source\":\"privileged_rendered_segmentation_no_metric_object_pose\"},{\"track_id\":\"wall_office_w\",\"class\":\"wall\",\"mask_ids\":[42,44],\"visible_pixels\":45034,\"source\":\"privileged_rendered_segmentation_no_metric_object_pose\"},{\"track_id\":\"wall_wc_e\",\"class\":\"wall\",\"mask_ids\":[47],\"visible_pixels\":6850,\"source\":\"privileged_rendered_segmentation_no_metric_object_pose\"},{\"track_id\":\"g_office_frame\",\"class\":\"door_frame\",\"mask_ids\":[65,66,125,126],\"visible_pixels\":53504,\"source\":\"privileged_rendered_segmentation_no_metric_object_pose\"},{\"track_id\":\"g_office\",\"class\":\"door_leaf\",\"mask_ids\":[123],\"visible_pixels\":277272,\"source\":\"privileged_mask_plus_rendered_noisy_depth\",\"visible_surface_points_arm_m\":[[0.8046770978582616,0.7033740393700932,1.3692985094275671],[0.8047703952481293,-0.08363538627130652,1.3027269857821369],[0.8132439148186247,0.5722928615821302,1.3049776396087878],[0.7975195700212518,0.28476569204061974,1.2663581076889727],[0.8101904141446705,-0.08494853866828213,1.2343168793938517],[0.7837687109934421,-0.056851438317187766,1.2216385728132002],[0.816117904407982,0.11673350755382038,1.2107687945261105],[0.8369665108960864,0.14946000662404313,1.1982527594500196],[0.8145341788851812,0.21485693283610197,1.1825763025320548],[0.8111648336533593,0.15214910577327878,1.1548185541813603],[0.7985933524804879,0.6977563698039165,1.1197220153364498],[0.8330651168404682,-0.09167599373394254,1.1390575478352454],[0.8130335107753073,-0.021157574225942787,1.1312839311743854],[0.8271445259767036,0.7229098643761446,1.0801544719193488],[0.8159181075297375,0.3643826017491333,1.0854892579866955],[0.8235532599375813,-0.08643528114450384,1.077153479985599],[0.788975430158837,-0.08649478958180258,1.0583963375697947],[0.8112363614274689,0.2557766405856451,1.0221386648396436],[0.8091449018587533,-0.06927187120692214,1.013921531765439],[0.8077838072219787,0.3536182575530874,0.9401684079108421],[0.8144892787670994,-0.07371190158289832,0.9508062841626411],[0.8175204395153218,0.0369044688525567,0.9025096830289512],[0.8122240636969719,0.01217824072510708,0.8729562361373684],[0.8136012271561658,0.5849242582349669,0.7422595206092726],[0.8204084830118733,0.15124354744642876,0.7709505470484099],[0.8066134119126103,0.22210681469923454,0.7231246013042634],[0.8089961312389976,0.13701218553947048,0.6970455958200018],[0.808602433223457,0.5876015978559589,0.5483715082628059],[0.8145745812668718,-0.024279008639088395,0.6460410717332864],[0.828081109317445,-0.0917074301317803,0.6274358465400616],[0.806563450640187,-0.08835105029881775,0.6258783910624999]],\"coordinate_frame\":\"arm_carriage\"},{\"track_id\":\"g_office_handle\",\"class\":\"door_handle\",\"mask_ids\":[127,128],\"visible_pixels\":2579,\"source\":\"privileged_mask_plus_rendered_noisy_depth\",\"door_id\":\"g_office\",\"handle_candidate_m\":[0.7361698742546556,0.058334477605716285,1.0525566340053678],\"coordinate_frame\":\"arm_carriage\",\"sigma_floor_m\":0.02}],\"calibration\":{\"id\":\"house-rgbd-v4\",\"frame_id\":\"house_ground_v4\",\"width\":720,\"height\":540,\"fx\":606.4299289541383,\"fy\":606.4299289541383,\"cx\":359.5,\"cy\":269.5,\"position_m\":[0.7,7.36,1.2],\"rotation_camera_to_world\":[[-0.3428978074554514,-0.23240452837410353,0.910169890093852],[0.9393727128473789,-0.0848342751841738,0.33223794502093185],[5.551115123125783e-17,0.9689124217106448,0.2474039592545229]],\"depth_convention\":\"negative_camera_z_optical_depth\",\"systematic_sigma_m\":0.01,\"pose_source\":\"ideal_simulated_odometry\",\"mount_height_m\":1.2},\"base_pose\":{\"x_m\":0.7,\"y_m\":7.36,\"yaw_rad\":3.141592653589793,\"frame_id\":\"house_ground_v4\",\"source\":\"ideal drift-free simulator odometry\"},\"arm_coordinate_frame\":\"arm_carriage\",\"lidar_2d\":{\"frame_id\":\"base_link\",\"height_m\":0.15,\"angle_min_rad\":-3.141592653589793,\"angle_increment_rad\":0.08726646259971647,\"range_max_m\":6,\"ranges_m\":[2.633,2.649,2.669,2.722,2.8,2.902,3.031,3.21,3.436,3.719,4.103,1.365,4.762,4.548,4.392,4.278,1.536,4.145,4.132,4.144,4.021,2.982,2.252,1.819,1.546,1.336,1.194,1.09,1.007,0.949,0.893,0.85,0.821,0.801,0.761,0.814,0.808,0.809,0.822,0.829,0.865,0.904,0.942,0.997,1.06,1.076,1.196,1.215,1.149,1.094,1.067,1.042,1.017,1.004,1.001,1.003,1.022,1.032,1.073,1.11,1.145,1.136,1.011,0.91,0.851,0.798,0.871,1.031,1.271,1.685,2.669,2.633],\"source\":\"simulated horizontal ray range sensor; 5 mm noise\"},\"camera_head\":{\"pan_rad\":0.35,\"tilt_rad\":-0.25},\"peak_force_N\":0,\"lift_m\":0,\"door_grip\":null}",
      "tool_call_id": "call_2rfcPMxuQFaW7bQUz0FL1MZd"
    },
    {
      "role": "assistant",
      "content": "Stan operacyjny — etap SWEEP_CHECK; observation_id=obs-b8325fb8-3-976; ostatnia komenda=look+obserwacja OK; kontrola geometryczna: pełny widoczny portal i klamka potwierdzone z dwóch kątów, kandydat klamki stabilny (różnica ≈0,004 m), skrzydło zamknięte, jednak łuk poza płaszczyzną nie ma jeszcze dowodu liczbowego; przyjmuję tylko widoczny zakres i nie używam niewidocznej geometrii; następne działanie: przygotować pusty, stowed arm i podnieść lift, po czym ponownie zmierzyć kandydat.",
      "tool_calls": [
        {
          "id": "call_5KnshCJ0cSXA5qk7fp1q5kH5",
          "type": "function",
          "function": {
            "name": "robot_execute_sequence",
            "arguments": "{\"i\":\"REACH przygotowanie: schowaj pusty otwarty chwytak w bezpiecznej pozycji centralnej; bez kontaktu z drzwiami.\",\"script\":\"robot.move_tcp(0,0,0.45)\\nrobot.open_gripper()\",\"observation_id\":\"obs-b8325fb8-3-976\",\"command_id\":\"cmd-stow-prelift-001\"}"
          }
        }
      ]
    },
    {
      "role": "tool",
      "content": "{\"status\":\"ok\",\"command_id\":\"cmd-stow-prelift-001\",\"executed\":[\"move_tcp\",\"open_gripper\"],\"duration_s\":0.25,\"grip_contact\":false,\"peak_force_N\":0,\"stop_latched\":false,\"needs_observation\":true}",
      "tool_call_id": "call_5KnshCJ0cSXA5qk7fp1q5kH5"
    },
    {
      "role": "assistant",
      "content": "",
      "tool_calls": [
        {
          "id": "call_9WOvCNHc61nCaqJLv4CClBY6",
          "type": "function",
          "function": {
            "name": "robot_observe",
            "arguments": "{\"i\":\"REACH: potwierdź pozycję stowed, pusty chwytak, stop i aktualne lidar przed podniesieniem liftu.\"}"
          }
        }
      ]
    },
    {
      "role": "tool",
      "content": "{\"observation_id\":\"obs-b8325fb8-4-1101\",\"session_id\":\"b8325fb8\",\"time_s\":2.202,\"rgb_path\":\"/home/pawel/Documents/HomeBot_Projekt_Domu/homebot-dom/runs/omp-door-exit-luna56-001/simulation/obs-b8325fb8-4-1101.png\",\"rgbd_path\":\"/home/pawel/Documents/HomeBot_Projekt_Domu/homebot-dom/runs/omp-door-exit-luna56-001/simulation/obs-b8325fb8-4-1101-rgbd.npz\",\"tcp_m\":[0,0,0.45],\"gripper_closed\":false,\"grip_contact\":false,\"force_N\":0,\"stop_latched\":false,\"detections\":[{\"track_id\":\"floor\",\"class\":\"floor\",\"mask_ids\":[0],\"visible_pixels\":620,\"source\":\"privileged_rendered_segmentation_no_metric_object_pose\"},{\"track_id\":\"wall_office_s\",\"class\":\"wall\",\"mask_ids\":[41],\"visible_pixels\":2933,\"source\":\"privileged_rendered_segmentation_no_metric_object_pose\"},{\"track_id\":\"wall_office_w\",\"class\":\"wall\",\"mask_ids\":[42,44],\"visible_pixels\":45034,\"source\":\"privileged_rendered_segmentation_no_metric_object_pose\"},{\"track_id\":\"wall_wc_e\",\"class\":\"wall\",\"mask_ids\":[47],\"visible_pixels\":6850,\"source\":\"privileged_rendered_segmentation_no_metric_object_pose\"},{\"track_id\":\"g_office_frame\",\"class\":\"door_frame\",\"mask_ids\":[65,66,125,126],\"visible_pixels\":53504,\"source\":\"privileged_rendered_segmentation_no_metric_object_pose\"},{\"track_id\":\"g_office\",\"class\":\"door_leaf\",\"mask_ids\":[123],\"visible_pixels\":277272,\"source\":\"privileged_mask_plus_rendered_noisy_depth\",\"visible_surface_points_arm_m\":[[0.8056404524216417,0.7042161145234608,1.369501192580927],[0.8140994764959576,-0.05449120725947844,1.3053762960610196],[0.785112996850131,-0.070370187315567,1.294590339203737],[0.8259416825628837,0.7216059567109953,1.3148709694050578],[0.8179526672885615,0.6297552265744556,1.307615480797096],[0.8063111435911842,0.3254695799789725,1.2680989877285307],[0.8169462356951361,-0.0514395749849247,1.2351531327795833],[0.8027001823971918,0.16065800158243093,1.2108015998045514],[0.8160848414317632,0.26780397758760366,1.1821689293486926],[0.838616636852752,0.03324551459927615,1.1645325400552502],[0.8029942115764197,0.22220313674924974,1.1539114313126908],[0.7977176012412952,0.07842302112253306,1.1294891410247119],[0.8076619110724856,0.4893043118072341,1.0809828421513663],[0.7881896319948243,-0.08450282045080994,1.095627699128534],[0.8336074060539826,-0.09090931610219134,1.0859277000225451],[0.8100003477661566,-0.030837940040194033,1.0761077822967242],[0.8099665613362459,0.30263230545631636,1.01902543957286],[0.8079330874492625,-0.019092152571536302,1.0098609634402187],[0.807526631795608,0.47060542845255704,0.9283962308846951],[0.818466147653515,0.06827747671311456,0.9331487485047643],[0.8159720250613716,0.20643614472409422,0.8809099219733565],[0.8093444075590999,0.17551182383347552,0.850233411153175],[0.8040888120855461,-0.03454998190581805,0.8487192521581772],[0.8298322386794029,-0.09151973667345538,0.8333806102039989],[0.8064076847686357,0.230668857451522,0.7636046591569631],[0.8106489905479939,0.32225566790274496,0.7013177564080617],[0.8056827986211824,0.1559101060689222,0.6949465912668223],[0.8156526794579242,0.5628091979360957,0.5496451476376194],[0.8095119163979632,-0.04642898526774254,0.6550808679603298],[0.798029077522584,0.6974163328119048,0.45462699784166893],[0.8113271934924025,-0.08887287122191169,0.6224875013455066]],\"coordinate_frame\":\"arm_carriage\"},{\"track_id\":\"g_office_handle\",\"class\":\"door_handle\",\"mask_ids\":[127,128],\"visible_pixels\":2579,\"source\":\"privileged_mask_plus_rendered_noisy_depth\",\"door_id\":\"g_office\",\"handle_candidate_m\":[0.7362650763172016,0.05808685236199116,1.0527018373494896],\"coordinate_frame\":\"arm_carriage\",\"sigma_floor_m\":0.02}],\"calibration\":{\"id\":\"house-rgbd-v4\",\"frame_id\":\"house_ground_v4\",\"width\":720,\"height\":540,\"fx\":606.4299289541383,\"fy\":606.4299289541383,\"cx\":359.5,\"cy\":269.5,\"position_m\":[0.7,7.36,1.2],\"rotation_camera_to_world\":[[-0.3428978074554514,-0.23240452837410353,0.910169890093852],[0.9393727128473789,-0.0848342751841738,0.33223794502093185],[5.551115123125783e-17,0.9689124217106448,0.2474039592545229]],\"depth_convention\":\"negative_camera_z_optical_depth\",\"systematic_sigma_m\":0.01,\"pose_source\":\"ideal_simulated_odometry\",\"mount_height_m\":1.2},\"base_pose\":{\"x_m\":0.7,\"y_m\":7.36,\"yaw_rad\":3.141592653589793,\"frame_id\":\"house_ground_v4\",\"source\":\"ideal drift-free simulator odometry\"},\"arm_coordinate_frame\":\"arm_carriage\",\"lidar_2d\":{\"frame_id\":\"base_link\",\"height_m\":0.15,\"angle_min_rad\":-3.141592653589793,\"angle_increment_rad\":0.08726646259971647,\"range_max_m\":6,\"ranges_m\":[2.634,2.643,2.678,2.724,2.803,2.903,3.04,3.223,3.437,3.715,4.095,1.367,4.767,4.549,4.396,4.267,1.532,4.144,4.127,4.142,4.019,2.969,2.252,1.827,1.536,1.341,1.2,1.089,1,0.942,0.891,0.852,0.821,0.796,0.769,0.819,0.813,0.816,0.816,0.849,0.856,0.898,0.938,0.993,1.065,1.064,1.199,1.222,1.143,1.095,1.067,1.037,1.004,1.011,1.001,1.009,1.016,1.029,1.064,1.103,1.154,1.134,1.004,0.919,0.848,0.794,0.865,1.029,1.277,1.677,2.675,2.648],\"source\":\"simulated horizontal ray range sensor; 5 mm noise\"},\"camera_head\":{\"pan_rad\":0.35,\"tilt_rad\":-0.25},\"peak_force_N\":0,\"lift_m\":0,\"door_grip\":null}",
      "tool_call_id": "call_9WOvCNHc61nCaqJLv4CClBY6"
    },
    {
      "role": "user",
      "content": [
        {
          "type": "text",
          "text": "Attached image(s) from tool result:"
        },
        {
          "type": "image_url",
          "image_url": {
            "url": "data:image/png;base64,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"
          }
        }
      ]
    },
    {
      "role": "assistant",
      "content": "",
      "tool_calls": [
        {
          "id": "call_TodyJVbtzzoHArjJXmcl7B9E",
          "type": "function",
          "function": {
            "name": "robot_move_lift",
            "arguments": "{\"i\":\"REACH: podnieś pusty, schowany carriage do 0,55 m, aby osiągnąć obserwowaną klamkę około 1,05 m; arm pozostaje stowed.\",\"height_m\":0.55,\"observation_id\":\"obs-b8325fb8-4-1101\",\"command_id\":\"cmd-lift-up-001\"}"
          }
        }
      ]
    },
    {
      "role": "tool",
      "content": "{\"status\":\"ok\",\"lift_m\":0.55,\"command_id\":\"cmd-lift-up-001\",\"needs_observation\":true,\"stop_latched\":false}",
      "tool_call_id": "call_TodyJVbtzzoHArjJXmcl7B9E"
    },
    {
      "role": "assistant",
      "content": "",
      "tool_calls": [
        {
          "id": "call_jdNwI4U0AawGRbcRyRlvHVGl",
          "type": "function",
          "function": {
            "name": "robot_observe",
            "arguments": "{\"i\":\"REACH/SWEEP_CHECK: po podniesieniu liftu pobierz świeży kandydat klamki i potwierdź niezmieniony portal, kontakt oraz stop.\"}"
          }
        }
      ]
    },
    {
      "role": "tool",
      "content": "{\"observation_id\":\"obs-b8325fb8-5-5685\",\"session_id\":\"b8325fb8\",\"time_s\":11.37,\"rgb_path\":\"/home/pawel/Documents/HomeBot_Projekt_Domu/homebot-dom/runs/omp-door-exit-luna56-001/simulation/obs-b8325fb8-5-5685.png\",\"rgbd_path\":\"/home/pawel/Documents/HomeBot_Projekt_Domu/homebot-dom/runs/omp-door-exit-luna56-001/simulation/obs-b8325fb8-5-5685-rgbd.npz\",\"tcp_m\":[0,0,0.45],\"gripper_closed\":false,\"grip_contact\":false,\"force_N\":0,\"stop_latched\":false,\"detections\":[{\"track_id\":\"floor\",\"class\":\"floor\",\"mask_ids\":[0],\"visible_pixels\":620,\"source\":\"privileged_rendered_segmentation_no_metric_object_pose\"},{\"track_id\":\"wall_office_s\",\"class\":\"wall\",\"mask_ids\":[41],\"visible_pixels\":2933,\"source\":\"privileged_rendered_segmentation_no_metric_object_pose\"},{\"track_id\":\"wall_office_w\",\"class\":\"wall\",\"mask_ids\":[42,44],\"visible_pixels\":45034,\"source\":\"privileged_rendered_segmentation_no_metric_object_pose\"},{\"track_id\":\"wall_wc_e\",\"class\":\"wall\",\"mask_ids\":[47],\"visible_pixels\":6850,\"source\":\"privileged_rendered_segmentation_no_metric_object_pose\"},{\"track_id\":\"g_office_frame\",\"class\":\"door_frame\",\"mask_ids\":[65,66,125,126],\"visible_pixels\":53504,\"source\":\"privileged_rendered_segmentation_no_metric_object_pose\"},{\"track_id\":\"g_office\",\"class\":\"door_leaf\",\"mask_ids\":[123],\"visible_pixels\":277272,\"source\":\"privileged_mask_plus_rendered_noisy_depth\",\"visible_surface_points_arm_m\":[[0.799257910573241,0.6986370887834373,0.8181583498131022],[0.8269442268364255,0.720249080032879,0.813652687485807],[0.8199963484906518,-0.04315682044863313,0.7567076486164632],[0.8148635664561278,0.6255453379222945,0.7571403938722219],[0.8402405296469814,-0.08270217336189568,0.7141471721085357],[0.8112576356172322,0.27684782606441705,0.7171566289938962],[0.8183856026682087,-0.07308016585831546,0.6848686172920109],[0.8105792221357935,0.13500993004882667,0.6607829994341679],[0.8089673004675874,0.2426758318018899,0.632486784099622],[0.8053073873155622,0.22563812165769737,0.6037254805835581],[0.8017751739857895,0.032617062179198894,0.5805696501436015],[0.8162575235745826,0.4716635606349079,0.5307226410526358],[0.8220675817106223,-0.02658924738293401,0.5239954899245116],[0.8126211724140386,0.35612514117473026,0.4646642449680167],[0.8160823389488546,0.06053133768113926,0.451026792551531],[0.8045107211003465,0.5693627646043008,0.3692347111883947],[0.8354840049278498,-0.09254268699933012,0.40456719533202967],[0.8066333850277284,0.09248307887418782,0.3840970183386784],[0.8072597914946238,0.19976964010445297,0.3349000189334703],[0.8158504782173778,0.09097609447462861,0.3099853739715731],[0.783451622568348,0.0284614312017598,0.3034588950323015],[0.813826231302977,0.6544073514211296,0.18085592524315963],[0.812007538152348,0.15117352519247895,0.22507950827373013],[0.8212661300989336,0.2537674286528234,0.1590444604459007],[0.8041579127637772,0.13175606494150227,0.15100176705246116],[0.8148526888708596,0.6404215075530529,-0.01788970432124759],[0.793195772969669,-0.0865724859033249,0.1526866289022233],[0.8122132572738812,-0.01486110870346903,0.09530095060396881],[0.8028749832604593,-0.0879470151708527,0.07850388670686848]],\"coordinate_frame\":\"arm_carriage\"},{\"track_id\":\"g_office_handle\",\"class\":\"door_handle\",\"mask_ids\":[127,128],\"visible_pixels\":2579,\"source\":\"privileged_mask_plus_rendered_noisy_depth\",\"door_id\":\"g_office\",\"handle_candidate_m\":[0.735724162361918,0.05815673765759053,0.5026135066045903],\"coordinate_frame\":\"arm_carriage\",\"sigma_floor_m\":0.02}],\"calibration\":{\"id\":\"house-rgbd-v4\",\"frame_id\":\"house_ground_v4\",\"width\":720,\"height\":540,\"fx\":606.4299289541383,\"fy\":606.4299289541383,\"cx\":359.5,\"cy\":269.5,\"position_m\":[0.7,7.36,1.2],\"rotation_camera_to_world\":[[-0.3428978074554514,-0.23240452837410353,0.910169890093852],[0.9393727128473789,-0.0848342751841738,0.33223794502093185],[5.551115123125783e-17,0.9689124217106448,0.2474039592545229]],\"depth_convention\":\"negative_camera_z_optical_depth\",\"systematic_sigma_m\":0.01,\"pose_source\":\"ideal_simulated_odometry\",\"mount_height_m\":1.2},\"base_pose\":{\"x_m\":0.7,\"y_m\":7.36,\"yaw_rad\":3.141592653589793,\"frame_id\":\"house_ground_v4\",\"source\":\"ideal drift-free simulator odometry\"},\"arm_coordinate_frame\":\"arm_carriage\",\"lidar_2d\":{\"frame_id\":\"base_link\",\"height_m\":0.15,\"angle_min_rad\":-3.141592653589793,\"angle_increment_rad\":0.08726646259971647,\"range_max_m\":6,\"ranges_m\":[2.629,2.637,2.673,2.726,2.804,2.907,3.06,3.211,3.446,3.722,4.099,1.356,4.758,4.561,4.393,4.275,1.528,4.138,4.117,4.144,4.021,2.976,2.247,1.828,1.551,1.345,1.194,1.09,1.005,0.946,0.895,0.858,0.827,0.791,0.761,0.805,0.819,0.819,0.823,0.833,0.862,0.891,0.942,0.988,1.061,1.062,1.199,1.226,1.155,1.105,1.059,1.043,1.021,0.999,1.001,1.004,1.017,1.033,1.068,1.107,1.157,1.137,1.012,0.918,0.845,0.79,0.871,1.022,1.265,1.685,2.674,2.646],\"source\":\"simulated horizontal ray range sensor; 5 mm noise\"},\"camera_head\":{\"pan_rad\":0.35,\"tilt_rad\":-0.25},\"peak_force_N\":0,\"lift_m\":0.55,\"door_grip\":null}",
      "tool_call_id": "call_jdNwI4U0AawGRbcRyRlvHVGl"
    },
    {
      "role": "user",
      "content": [
        {
          "type": "text",
          "text": "Attached image(s) from tool result:"
        },
        {
          "type": "image_url",
          "image_url": {
            "url": "data:image/png;base64,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"
          }
        }
      ]
    },
    {
      "role": "assistant",
      "content": "Stan operacyjny — etap REACH; observation_id=obs-b8325fb8-5-5685; ostatnia komenda=lift 0,55 m OK; kontrola geometryczna: aktualna klamka `[0.7357,0.0582,0.5026]` arm_carriage, world z≈1,0526 m, mieści się w workspace z 0,018–0,78 m z rezerwą >3 cm; skrzydło nadal zamknięte, stop=false, lidar świeży; następne działanie: jeden krótki ruch TCP do aktualnego kandydata.",
      "tool_calls": [
        {
          "id": "call_LFa4NVlckcn0P1kgsBoQbd9n",
          "type": "function",
          "function": {
            "name": "robot_execute_sequence",
            "arguments": "{\"i\":\"REACH: przesuń TCP jednym krótkim ruchem do świeżo zmierzonej klamki; bez chwytu w tym skrypcie.\",\"script\":\"robot.move_tcp(0.735724,0.058157,0.502614)\",\"observation_id\":\"obs-b8325fb8-5-5685\",\"command_id\":\"cmd-reach-handle-001\"}"
          }
        }
      ]
    },
    {
      "role": "tool",
      "content": "{\"status\":\"ok\",\"command_id\":\"cmd-reach-handle-001\",\"executed\":[\"move_tcp\"],\"duration_s\":4.11,\"grip_contact\":false,\"peak_force_N\":0,\"stop_latched\":false,\"needs_observation\":true}",
      "tool_call_id": "call_LFa4NVlckcn0P1kgsBoQbd9n"
    },
    {
      "role": "assistant",
      "content": "",
      "tool_calls": [
        {
          "id": "call_kgVh3nRnihHXn01sWMys78rE",
          "type": "function",
          "function": {
            "name": "robot_observe",
            "arguments": "{\"i\":\"GRASP gate: sprawdź faktyczną TCP, kontakt, siłę, skrzydło i stop po dojściu do klamki.\"}"
          }
        }
      ]
    },
    {
      "role": "tool",
      "content": "{\"observation_id\":\"obs-b8325fb8-6-7740\",\"session_id\":\"b8325fb8\",\"time_s\":15.48,\"rgb_path\":\"/home/pawel/Documents/HomeBot_Projekt_Domu/homebot-dom/runs/omp-door-exit-luna56-001/simulation/obs-b8325fb8-6-7740.png\",\"rgbd_path\":\"/home/pawel/Documents/HomeBot_Projekt_Domu/homebot-dom/runs/omp-door-exit-luna56-001/simulation/obs-b8325fb8-6-7740-rgbd.npz\",\"tcp_m\":[0.735724,0.058157,0.502614],\"gripper_closed\":false,\"grip_contact\":false,\"force_N\":0,\"stop_latched\":false,\"detections\":[{\"track_id\":\"floor\",\"class\":\"floor\",\"mask_ids\":[0],\"visible_pixels\":620,\"source\":\"privileged_rendered_segmentation_no_metric_object_pose\"},{\"track_id\":\"wall_office_s\",\"class\":\"wall\",\"mask_ids\":[41],\"visible_pixels\":2933,\"source\":\"privileged_rendered_segmentation_no_metric_object_pose\"},{\"track_id\":\"wall_office_w\",\"class\":\"wall\",\"mask_ids\":[42,44],\"visible_pixels\":45034,\"source\":\"privileged_rendered_segmentation_no_metric_object_pose\"},{\"track_id\":\"wall_wc_e\",\"class\":\"wall\",\"mask_ids\":[47],\"visible_pixels\":6850,\"source\":\"privileged_rendered_segmentation_no_metric_object_pose\"},{\"track_id\":\"g_office_frame\",\"class\":\"door_frame\",\"mask_ids\":[65,66,125,126],\"visible_pixels\":53504,\"source\":\"privileged_rendered_segmentation_no_metric_object_pose\"},{\"track_id\":\"g_office\",\"class\":\"door_leaf\",\"mask_ids\":[123],\"visible_pixels\":277272,\"source\":\"privileged_mask_plus_rendered_noisy_depth\",\"visible_surface_points_arm_m\":[[0.8176579152683621,0.7147206652407309,0.8220295838480156],[0.8135674348374916,0.6656804289630759,0.7887570995919981],[0.8006755899179172,0.6999817252082537,0.772931861779901],[0.81515777201598,0.49473831489880127,0.7522667139788071],[0.8273407854895669,0.7229263787593602,0.7485301945647036],[0.7985523365549733,0.2490179493678656,0.7154735820195928],[0.8357696898037708,-0.09088150440627886,0.6944345727522205],[0.8074801025158552,-0.07315848969966944,0.6843870558912737],[0.7818560305721893,-0.08359573526397569,0.6777472747944],[0.8141624696892736,0.1291877996018843,0.6608012833708181],[0.8138164343702117,0.2584115300012827,0.632280088901569],[0.8035513705796494,0.22235731280232784,0.6038794526749625],[0.7987401469457182,0.05164480284498839,0.5802359603717386],[0.8215420636683667,0.539363854977804,0.5271027805400263],[0.8349842479556937,0.7187210251940314,0.5158772352560277],[0.8428992973917814,0.10962108641873068,0.5324630965256612],[0.8160074818052486,0.02758133006133977,0.5218683727721787],[0.8284551803323652,-0.09158105245704985,0.5254283036737037],[0.8134001848879258,0.3977534518318616,0.4615233595710493],[0.8141380580759003,0.02861015759225093,0.45425441666983546],[0.8095066624941792,0.5046478331461045,0.37440071388015483],[0.7973691346872123,0.061344011595303546,0.3906247040300499],[0.8094047238011499,0.15215327878852147,0.340354562964307],[0.8097715702836646,0.10131945556295739,0.31090774891498674],[0.814565958737426,0.6767075776690678,0.17689852075999968],[0.8085990889585675,0.19100159352322177,0.21962587688326252],[0.819113403233218,0.24330755985018204,0.16225207621738358],[0.8194000206664434,0.13425338558809863,0.14154369322255123],[0.8094234820473358,0.5564144880552632,0.005099376174660608],[0.8108781440934132,-0.04650734429403948,0.10416119822490955],[0.8072940588796507,-0.0884310812068171,0.07535833529055658]],\"coordinate_frame\":\"arm_carriage\"},{\"track_id\":\"g_office_handle\",\"class\":\"door_handle\",\"mask_ids\":[127,128],\"visible_pixels\":2579,\"source\":\"privileged_mask_plus_rendered_noisy_depth\",\"door_id\":\"g_office\",\"handle_candidate_m\":[0.7361869344855042,0.05846920422130806,0.502853289506507],\"coordinate_frame\":\"arm_carriage\",\"sigma_floor_m\":0.02}],\"calibration\":{\"id\":\"house-rgbd-v4\",\"frame_id\":\"house_ground_v4\",\"width\":720,\"height\":540,\"fx\":606.4299289541383,\"fy\":606.4299289541383,\"cx\":359.5,\"cy\":269.5,\"position_m\":[0.7,7.36,1.2],\"rotation_camera_to_world\":[[-0.3428978074554514,-0.23240452837410353,0.910169890093852],[0.9393727128473789,-0.0848342751841738,0.33223794502093185],[5.551115123125783e-17,0.9689124217106448,0.2474039592545229]],\"depth_convention\":\"negative_camera_z_optical_depth\",\"systematic_sigma_m\":0.01,\"pose_source\":\"ideal_simulated_odometry\",\"mount_height_m\":1.2},\"base_pose\":{\"x_m\":0.7,\"y_m\":7.36,\"yaw_rad\":3.141592653589793,\"frame_id\":\"house_ground_v4\",\"source\":\"ideal drift-free simulator odometry\"},\"arm_coordinate_frame\":\"arm_carriage\",\"lidar_2d\":{\"frame_id\":\"base_link\",\"height_m\":0.15,\"angle_min_rad\":-3.141592653589793,\"angle_increment_rad\":0.08726646259971647,\"range_max_m\":6,\"ranges_m\":[2.628,2.637,2.667,2.721,2.799,2.898,3.038,3.219,3.428,3.72,4.096,1.367,4.766,4.552,4.388,4.276,1.525,4.134,4.135,4.148,4.024,2.977,2.258,1.816,1.544,1.344,1.2,1.088,1.009,0.929,0.898,0.847,0.823,0.798,0.774,0.817,0.804,0.816,0.827,0.838,0.868,0.897,0.936,0.994,1.061,1.071,1.203,1.224,1.157,1.102,1.067,1.03,1.009,1.003,1.006,0.999,1.014,1.036,1.064,1.092,1.151,1.131,1.005,0.922,0.853,0.793,0.87,1.032,1.273,1.676,2.67,2.652],\"source\":\"simulated horizontal ray range sensor; 5 mm noise\"},\"camera_head\":{\"pan_rad\":0.35,\"tilt_rad\":-0.25},\"peak_force_N\":0,\"lift_m\":0.55,\"door_grip\":null}",
      "tool_call_id": "call_kgVh3nRnihHXn01sWMys78rE"
    },
    {
      "role": "user",
      "content": [
        {
          "type": "text",
          "text": "Attached image(s) from tool result:"
        },
        {
          "type": "image_url",
          "image_url": {
            "url": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAtAAAAIcCAIAAABQHw4EAABBpUlEQVR4nO3d248tx3Xf8VXVvffMufFQvMo2KTuWZFMmHSQwEgdxgkAGnCB5SfLkvOQhyEv+lQD+B/IPGJYfYiCB/ZK3AHZgk74lcSIFliiRFnnIQ0oiD89lZu+uykP1vs6+9K2qq6q/HxzLh8OZPb17D6fXXrXq18pWn0gcfu9bv/t73/rdDl/4gw8eDn4wzX3zzVe/+daXRzwAYGzKy6f2FO47JUQd/Yfzn+7h8bt8i07fpcv32v/sXH+gXv/Vf/76P/gXDT5Ricjbf/L2v/+3/67z99KdvxIAACTtude+Hux7RVRwvPHmm92+8HI+G/ZIAADt2bEPAFGLqOBI1LsPH499CAAAdHG/TYfjnT9+u8/3iqjg+MZbHTscFxd0OAAAHtnVn0mqJ1je/pNcCg4AQET6XV1zvTbnVHaEHOCQ2AqOzmMcI/r+x1+MfQgAgKCm2fB4hw7H5Xw+9iEAAKZompVHN3EVHJ3HOMb1Lk0OAAngsuhRipXH/Z/5WvNP7jnAISJlz6+PwSVDowCAOKxrjvizwgLPcMRVcKQ4wwEAwE0JVR4B3LtzK64llc7Gzf5ibhTTllYXGQgtxdWWm3qGcAgzHAAAhBFb2dEq9avnDMe9O7fjKjg6I/sLwI6ofq8jPR5/gCJpeDQe4BhmRei5u/EtqaQ4xkG6OYDkjH7BE4nkII7xfnCRVB4N9QzhkNiGRgEAiIYrBrwPfU5kvDS6Dke3MY5xs78YGgWAfIXrRITseQQO4bh35zYdDgAAmgjXiQjwnUKGcNy7c0uyWVIh+wsAEEroymP0pZb+e2IlwiWVFIdGhXRzAIicl4WKQGsgaY2X3nTvzm2JsODoHMUxbvYXAGDC0hvyCBnC4URXcCSKuVEAmLxkxksD30Xlubu3JKeCg+wvAEAckqk8GuofwiFxFhyJjnEAALAr9cpjmHFVt0slxoIjxTuqEDYKADgursojZAiHqzZEbIwFRzfjZn8BANBA6MrjoMAzHE4mORyjY2gUANBGMrnpg4RwSJwFR7cZDrK/AACpSSC9dKAllSgLDgAAJiZo5dEqhKOn5+7edn+JcYYj0ewvwkaBs9KNSgRCST1WdN/6mdDhAAAgQr56Hm3bGz1DONZLKjF2OKTrGMe42V/MjQIAPBiz4TFIqLkTacEBAPCg5XUrn75+BgZbanmuaQjHAJ2VdXtDoi04Usz+AgAENsmKqG/lEXJidFukBUc3ZH8BwKgCFACTrDEOCzFe2jOEw3U43CFmVXCMi3RzAMAYPFYefUM4VntiJdqCg+wvAABaalR2jLWkEum22BRnONilAgCIQLgMsbMSGBrtbNzsLwAAonFgqSVwCMf2oeRWcAAAGvI9fsl4ZzQ6DnkMdRcVJ96CI8XsL9LNAQARs41DOIYXb8GR4hgHMFW8lQWwL5kOR4qYGwUAxKzxDIeS/iEcW3tiJb+Cg+wvAAAGMeCNVCTmgqPbDAcAAIex9DdeCIfEXHB0M272F2GjABC1MW+8mp6hbkzvRBr8JQyNAgA8iSgZK6iQ7Y29akPy63DIqNlfDI0CQEpC3P4sVcMOcEjkBQdjHACAEKZRdjz3M6MNcEjkBUc342Z/AQBSRcNjyyA3pt8WdcGR4hgHYaMAkLxMK4+gMxy7IRwS89AoAAAjm+h4qZKpzXB0M272F3OjAJChLBoe7FI5iqFRAMhcWlfxTJdaDhrqxvRrUS+pdJvhGDf7CwCQvwSXWsZtb0jkHQ4AAKKWacNj8AEOybXgGDH7i3RzAHHL8fI4uikttTSRZIeDMQ4AQDIirjxapX4Ne2N6J/aCo9sYx4jZX+xSAQBEWHk0nuHwsidW4i84AABIWGRlRwMDHG6SSyoAgDEldrGMVQQNjza7VLwcaOwFR7cZjnGzv0g3BwAcFkHl0USfEI6D7Q2Jv+AAACBDYcuOkCEcx8RecKSY/cXcKACgkSgbHj0nRulwAAD2RXalm7AoK49uDu6JlSQKjq5jHAScAzHK4jcq4I2fyiNkCMcxCRQcySFsFMCEUVIOZNCyo9UMx9t/8s5g33hLAgVHctlfAAAMI8GllmMzHFHfLTZRDI0CAAaWyP1pj1UbkkSHg9upAABQ69TwaLWk0ieE44QECo5uxs3+AgDAozZLLS0HOHpXG0eOKoGCI8UoDsJGMT1JLTID2YhsyCPtJRUAAI6J5lI7tjgqj3t3DodwSCoFR3JjHMyNAoCEuvxFcJ2NyY3TEUMIh6RScHRD9hcATEcc7/CjsXU6QoZw1Esqh16GNAqObmMcAIAJouzYEc25SKPg6IbsLwCYLBoe3fi4Mb2Tc8ExItLNASASVB7j3Jv+xhlPo+BIbmgUABCbiZcdTQx8Y/rd051GwdEximO87C92qQDj49qCQ6bW8AjZ3jiwJ9Zu/qRRcHQzbvYXAMRqOlfbU6ZWeYwu54IDwNRxMcnTwK9r3mXHc63uotIvhCOTodHkxjhINweikPfFBMPJteERMoTjtGQKjq5jHKyqAMj0SjJpHssDfli6Od3ekIQKjuQwNwpEhytJhvyWHVP7efF0Y3on84KD7C8A+6Z2DZkE7w2PdH9qgu1SOdvhKMMcR3/JzXAAiJe7eqiRjwIerAuD4V/d7H9qeodwHL1PrJN5h2NEhI0CsUv6fWtISZ4lGh4iY2WMHpFMwZFc9heANCR09UBrLLW04O/G9E4yBUc3I2Z/MTQKpCSzS0cb03jeHl/gmH92WoVw9JTVLhXGOAD4FfOlAwOg4XFKnxCOs9WGJDQ0CgCBZD8ciMnMljLD0VFy2V+EjQIJS/q9alrGPNXZNzxaHILXEA6hwwEAR0X1XhUeeW94eHnoBuIJ4ZC0OhzdjJj9xdwokIM43qgiiCxnSxt9W98hHJJWh4OhUQCjodsxIZk0PLbaGzaGn92UCo5uMxwAMBjKjmnJpPJowuuN6Z38l1TI/gIwMBZZJifJpZbnXvva7vc5xeuN6Z0JFBzjzXCQbg7kjLLjqFzPCzEehzVpb0hyBQdjHADikuglAr2k0fC4sUVl5B/WxAqOtMY42KUCTEK670zRS1YNjz4hHHl2OLoZMfsLwE15Xp0pO6Yr0srjUAiHl4NssidWJlJwAAiC6y1lx8SlsdRyU88QjoYSKzi6zXCMmP1FujkwRZQdkxZFw+N4xujwB8aSCgCMKuqyI94jy4j3hsdQj94zhKOhxAqOtIZGhblRAFzZp87vAGinh97/Ct83pncSKzi6IfsLwJiibnV4N+Gnvidow2M39SsK6RUcHcY4Rsz+AoDatMsOrARqeJy7T+xgB0CHIxaEjQLYQdmBmt/Z0lYChHBIigVHcmMcALCPsgMbXn4aznU4ZP1Nh9gT2+j40ys4uhkr+4uhUQBHUXZgY5S7qQT9dlMpOAAgUpQd2DHAD0SD9sZgcl5SSS77CwDOo+bAjmAND9snhGOr2jh/qOkVHMnNcBA2CqARWh04wHvl0SeEo5X0Cg4AyNkYZcf5b+j7kKi0zmvxk3G/XQjHUGf/zONMpeAYMfuLuVEArU2w2zHK0GR6Gp2mVjMc7/TocNzdH+A4dXhJFhxkfwGYhGlegKf5rFuL4jQdnxg9cHhJFhzJjXEAQHdRXFmCo+HRyOHT1LzD0T+Eo/lLVPb8TgCAENzvdTXyUYxgsk+8nfV1P+iZar4nVhLtcHQzVvYX6eYABjPZd/w0PJqyLSdGvdp5wZIsOLpFcQBADiZ+3Z340x/aO38c4sb0TpIFRzdjZX+xSwXA8CZ+3aXhMZAhbqTS9HVIsuBgaBQARLjocgYOCJZrvr0ntsmLwNAoACSOscpxJiYjFSyEY29J5ciLYNcfSLLDId2iOMbL/iLdHIB3vNcXTkIUbrwI9QLYhDocZH8BwCTQ8Gim5wDHVIZG0xrjYG4UAEYwyYZHyHvTt5JqwQEA6Gcyl+IpbWlpN8Dhc0/szfOdasHRLYpjrOwvAMD4JlN2NDTIntjmUi04uhkrioOwUQCIxZQaHv7cuE/seakWHGnNcADAxKRwPc+x7Ag2wNFkYnTv7KZacKSFoVEAiFReDY9gIRwNbZ/XhAuOtKI4gGnI5dc2JiijsiMq64puQjkcAACcMZkMj8AhHJJ0h6PDGMeI2V+EjQJAStJseISZ4ehQbQgdDgAAjsq34dEnhKObhDscaWFuFMBkJdgpuCGFhker9kbgEA5JuuAg+wtIV/S/ujGwTPaCZPI0+uoQwiFJFxzdjJX9BQCQbK7XUT6NqEI4bkq44Egr+4uwUQAxC3z1zKRTENnTiC2EY0/CBQcAIHUxXa97SO1phN8TK6kXHGR/AUAGIusUdJXJ0/Al7YIjIexSAZC2INfRTK7XIz2NmEM4JPWCI63sLwBAE1mVHUGfSdNvFj6EQ1IvONJC2CgANJfPAkWQpxEshKPbnlhJveDoFsUBAPBvsGtsVmWH92fi/RtMdEmlG7K/ACCIIS+wNDxOu//a15p/cvg9sZJ6wdEtimOs7C/mRgFM0sClQlZlh5dn4vf00OEAAER+KabhcchAT6P5DEf4u6g4yRccjHEAQFIGrhOyKjuGrMe86NzekAwKjg7Gyv4i3RwAVlhnOaLrMwl2I5XOki840rqjCgDEJIZrNOsshwzwTI5+cZ8Qjru3u3c4ys5fma6xsr8YGgWAI9ZXRzXgww3zWONq9kyChXD0WVKZYsEBAIjVkKXCwFXMiDo+ExvVU09+SYWhUQDIDoOlRxx5JsdDOA58dt8Qjq6nMvmCo9sMx1jZX6SbA0BjXgZLc6g8xnsm7FJpbazsLwBAezQ8jlg9k5MzHDvPdZgBjk6nb6IFx1iYGwWArmh4HDHKc2h/7nIoOBjjAIApoeGx79wulc3zG/jG9G3OXQ4FR4cxjrGyvwAAA6HsCO1oCEezc5dDwZEQwkYBYFCsszQM4aif01ghHDLZgmOs7C8AgB80PM4a+QnlUHAwwwHEJLvf0kgJDY/TbJ8QjjMdjnOnKYeCIyHsUgHWMvoljghNqOFxPPUrLjkUHGllfwFYi/Y3+DTl+HJMouFx//WmN1J52197wzl5anIoOLoZK/uLsFFgW4S/vpGjCTU8Rnb81GRScDDGASSN390IwkvZMfpPb/Nbxb7zx923qLS7Mb09cHa4WyyAKORzP3HEbvibyKby0+t9SeWkTDocCWV/MTcKnBDD+0VMRg7rLM3bG6PLpOAAkBPKjl78nbs8X5VJDJb2173DsToX0y04yP4CIpffr2zELYeGx2l9Qjj6y6TgSGholHRzoLkIf2Ujd4kNloYJ4eg7wGFFshka7RbFASAJqUzkISPJDJaGCeEYgM2lw9HNKNlfDI0C3dDtwBgSa3h40m5P7BGTLjjGyv4C0Flyv6mRheHrhPBlR58Qjv57YiWngiOhMQ4AfaT4BjFiLc/l1M9+dGVH822xIy+p5FRwJDTGQbo50N/UL3zjmvrZj2UnbUIhHJJTwdHBWNlfAIYy9QvfuDj78TU8PGFJJVXMjQLDivN39FQkOgY5pDQGSzuHcAxSbUg222Kl0wwH2V9ANtg6O76pvwYj7KRtHsIx+gCH5FRwAMDUL3kx4DUY+hScKGSah3DEIJ8llZSGRgkbBXyadHc/EqyzZLGT1hkkhENyKji6GSX7C4BvU7/YxYNXIo4Jj9FDOCSzgqPDGMco2V8MjQJhcLGLBa+Eh1NgkwrhEGY4AGSPoYJYDD9VmZwhT0GwEA46HAckNMYBILCpv8GOCg2PoU7B3sMcf8hxb0zvZFVwdDBW9hdho0B4XObiwusx1GCpzxHdodobQsEBYGq4zMWF/Swi3U7B4RCOQw8TwwCHZFZwJJT9xdwoMC6ucQeNeU54SVoWX88HmeG4e/tyqIfKquBghgNAK1O/wEWIskOk71kY9ATeu3NrqEfMquDohigOYMryvMCl/pRYZxEZ8BT0CeEYENtiAYCts7HihTm+k/bUtli78+l9ZjhWQ6MDbOjNrcORSvYX6ebIWqrvTHlTHSleGJFDZ+HkSfF1xrq/GLkVHIxxAOiJS1ukWGcRWZ+F5veJFS83pu/ySuRWcKSCXSpAzLiuRY2XZ2OUJkdHFByjZX8BiBzXtahN++XZ6nCcOQt9BjjO7Ylt9wLkNjTaYYYDgAc2m0m/qY0tJnbDk8QOdzC7IRzHz0K/mmzAmFGhwyHjZX+Rbo7cZfX2M6sn00xiHYTEDtcTu/tHxPue2BbnPbcOB0OjQEyy6g5k9WQaS+xZJ3a4vgUrwRqddzocIiNlfzE3isnI6r1nVk+mdv4JJbZBJLHD7aL5vemHCOFo6Mx5z7DgYIwDiFJWv/6zejJtJHYdT+xw43L3zq1hT16GBUcHo2R/AdOT1a//rJ5MS4k998QO97zm7Q3pEcLRw+HTnWHBkcoYB2GjmKqsfv1n9WRaSuy5T2CdZVj3bl/KoCcsw4IDQAqy+sU/5QtZetfxxA73gOYxo30GONY6nbADX5RhwdFhhmOU7C+GRjF56f/i35XykxngtUjs5UzscEdwd3ditEfZUX9dbttiAaQmq42MiT+ZAQ4/sTOQZm7Y841nOAYf4Oj6+lrJssPRYYZjrOwvACtZvd9M/MkM1u1I6SQkdrhNedoT2+1UZVhwJISwUWBXVr/yE7+EDXP4iZ2ERA631S6Vbu4OGmru5FlwdBrjoMkBxCCRX/mNJf5khmlVJPaiptefSUOeBUcqmBsFjsjq930WT2Z6ZYdEesSRhHB0qMryLDg6jHGQ/QXEJ75f9j1EefFqi/GOlPQa4DhzY/qN5i8ou1TGZMumrygwVYltejgri+czzJNI7FREs5+leQhHHx1mOM6+oHl2OFKhZsNP5QA5SvY95hEhnoz37zHJ8Q5J8YhjkWfBkUb2V3n5N4/yPP+AH1n9ms/ossU6S1BhQjha3ie2kTyXVJK4nYrVF2r03hyQmMTa8Gdl9HxYZ4nOILnmbZ14BXmHXQuf/WXF/uAnJvA3BbKQ2JvhszJ6MqyzeJdECMfB85FnhyMJ2lwn9l8UEJfE3gyfltWTEZliSrqkeMR+bV/jVMYdjvizv6y1Yik5gJ6y+o8ovXf2Z0x4vMPPEYcJ4Wi+J7YVLSrPciz+MQ5jjLHmvc9S+u8IiFJi16Ozcns+00xJl5GPuM8Ah49cc7vpcORYc7QVOPursIuQ3w7IXXrXo9OyejIijHcg2yWVJFTL5XufjX0QQFay+tWe6aWKdZbuwqR+ebJVcOTV5OgwwxGeqq4sYxzAwBK7Ep2V2/Opsc7SRbohHEKHY1v47C+qDcCb9K5Ep+X2fGqUHb50nuHwMcDh7BYcGTU54h8aFRFjKqI4AJ8SuwydldvzqU17vKPNQQcI4fCHHI6N8Nlf2jA3CviWWzZCbs9nx2DpHX0fJTAPL2pse2LlwJJKSi/RGfGPcVhrfvBjOhxAAOm9+z0tt+ezg3WWw5JubwgzHHsCZ38ZY2xq/0UAKeM/t4RMu+zod9CxhXA4hwqOXJoc8Y9x6Oo6n9MNpCG9C9C0DTnekdgLn94Rn0GHY0fg7C9jjTWGKA4guOx+l+dv2g0PEWkTwhHhnlg5OjSqkntNkqTNtYiIWPocwBhCz19+9/rlsizL2ezBk+LliytTmaqqXpo9s2KttaaqKmNeubgOdjwJ2rxkv/+Xn/z1w2dKa6201vqf/dL9r7580fpRUmFF2oRwdHb39i1/V6Scd6nEPzQqIlW1fO+zi6/cH/s4gOkKUfF/33z5g/Ir97/8pdlsVs1mLyh1tVhaa5RSHyyXxlhTLZVSVVX90JjF4toY+2LxRJfl4urq+vp6uVy+crlYLK6rqnp5duUKlKqqbFW9cnl8s1um72X+y589+P3/+akuikKXhVaqKLXW3/3vD7/+yuVvfOO5r77UNFEpyf0szfSZ4fDneMGRfpOjwwzH5Xz+mTzxcTDHGGutzfS3ApAMj+94v/Pk+Q/nP/elL73w6r17l7duXV5cKq2ttdZapZRrbFgR93drTbWs3N+VVstlVVpzaWy1XF5rZYxZLpcfilhjqqoy1lpjH2j19OkTY8yL5TNTVctqaa1dLpcvFE9MVVVV9dL8SsQaY42pzOkCJQW/9Qff+86DJ4UuREQpEaXdy6eU+u4n19/7wx/9h1974ecb1xxOeg0P3/zUYjl3OJKgFk9F7ox9FADEx3Xn20+ef3j51Z/56Z++dfvOrVu3ZrPZbDYrylKsWLGmqlzxoUSWy6X7u7jWhbVaa9fGWNUijrHWihVRqlrWTRFjKmOt1oU1xlqzXC6VqIWS5WJhrf3ADYsZI9YqXbx/9ayqquVy+WL51H2yNfb6+uql+dWmQLH1l8RWoPzWH3zvOx8+VkqJ2nmd6r8rpUT+0x/++D/+y1c7PHj8ZUeAGY57d3ZDOAY9KScLjvSbHG2Fz/6y6/8BEIXBOo4Pry8+nP3cyy++eHFxefv27Vu3bs8v5rPZzBirlLjmprVWxCql5tZaY0WJtSJirbFWbP072IoxRilljDHW1Q3afX1VVboolsulVqr+R62tNcZsPbq1rtpwz809tPvIcrm4XZZVVS2X1TNjtFLG2g+WC1M3W4wx1fvWVovFsqpeubhaLqvFYlFVS2vtC8WTqqqqqnp5/kys1A0UU73qrUD5zoePv/PhYxGxVilRSmkRESXK/ZNS65ftv337i99442637xJt2bGqNvauFwMf6d3bhyZGBzopmXc43njzzW//1V+NfRSn6OrqvZ+I/OzYxwFgY5jfr399/dK9l+7du3fv1u3bs9lsNp+V5awsZ+sro62bFSK2rgOUUvWHRRljXC1SVw9ildL157k6xFrXKVnflcnWVYuy1iiRqqp2ShOtq6pSSrtaoi553FdZK0qJW99xaz0i1tpquVwv/SglVWUurVkuK2vMQitrzHJZfSDWGlNVxlhjrX2g9NMnj4uieE49MpVZLhfW2mpZvVC6AmX58vyqW4HyX//8I/eXutJQyr1G7ny643Sf8L1P+w7epjPecaD+iHOAQ84XHIk3Ob7xVuuC43I+e3YdroVorDXWiBTBviOAZnqVHZ9cXzybv/Tyl75UlOXl5eXlrVsXF5ez2awoC2tXv1nrSsHWXRW7+zdXBIjd/NPWP6x6JFYpbUzlihXXmJDNRIgVK65AUaKs2FVzRVynY+sRN49cVZX72/klHmOMMa67sDN9ol65vr7S+qfdgbnPva6WlTHGmA+VWi6X1hhrrTH2b6pqWS2rqnqheGKtscYuq+X11fXLF1fu37x8URcoL7z4onz4uH5JlDsJVkSssaoQWdccSr778HqoqjHahscRdut/uzi1J7Z37y/zDkf8yOEA4tbxt+z/fXz/9it3qqoqi1IXRaELrbXSyk07iqzrCvdNtu8cvaottj5W/33zJZsSQZSILWW1PmvN5jPrr1NijeuUVK7UWFcMbpnGNVHWDRellaslXI2y7r7Y+gtFxJrKKKXcGIrdXeKx1hZFYcyd+kGU2l7EEfcuyw2UKGWM2VsGWi4XF0rdFnm2XBpjtVI/XC6MtUrk7/1T+3e+uTDGLBYLU1U/+tGPi7K8evZ0cb149913F4vlZ599Xp/azSuWT9nRPNe8TwjHGf1ORIOCI/EmR1sXF0E7HMpcCTepB6LW5bfsj82dn9L61q3b5WxWlmVRFkqpWTlTWotI3WZQonZ+xW43ONbffOf3w1YVsd0jkbowstYWopSyxmx3L8R90JbrckVWwxyq7hJsHsyul1pcX2S3NFn9e7tZAHIrPmr15fX0SV2suBs4uAGL5XJpRdy4iRWpqqrQ2qx6IPUCkDGmLndkPYCyXtax1tSPae1rX/nZ5XLhPv4rv/r3nz19+uDDB3/2zp9+8umng7yCN427zvL8600nRt/+kz/t9i0OD3Dc1PVEZN7hiD+KY7OICyBq7S5aRVHMLy7ETRhYW1Xm4kIbY2Zl/Vt3Pcghq0nR+nNFVlswdhZaHL3zBtDu/s/WPxS6/qr1+o2rQraeyWqMtP4uu/+09Vh1dbL6ou3mymaMROpOhoiSupXiRlBXc6siYucXF+uaZjN9svVt6o6IMcZYK1Yr7T7D9VHWyzrWWlOZVSem0rpQSi0Xixdfevnnv/rV//FHf/QXf/4Xx19ByaPhEYWWZ7RZwTGxJkdIqrqy1r73mf3KfX56gfg1XWFxb9bdW/NlVV1o7cYd1u/Xpa451Hrqoh7NcF/uSg83F7mzBdQqW3dIrLjhCVei7B6htaJvNE+13itfZGdMZPPBdc9j8wE3nCHb5cd2PbTTmbG23K6UNpMqq+Jj3a5QSq8bJwdnY62tmyXrvsvq0Or1GrFSlIUSMcYuq+XFxcU/+eY3tdYiPzz+4uSzzjKs/T2xQ8u8w5FE9ldVVSG/HYB+Gl1olteLZVUtF4vFYnF5eblcLObzuVspEBG7vbHCWqWVtW7c0hUh4mYxrTFqqzZZf4K1xh3Aqnax9V4NK9Yd2OaL1se8qlG2CpGd95J2vz7ZL0QOfXz1RevHXy3orM+Uq4eUMu6YV80N2Qyv7szQbq/juHETNz+ilFtJkVWNZddrPUprpZQSZYyZzy/m8/k3f/3Xf/zh21969O2TL1FiZUeAGY6mSyo3NavDGxccNDn8MfYHP6HDAaTlzIXmjTs/+fT61WVVGWOurq7m8/licW3F2qJ0v5zdfgqpFyHU6sE2+zzdP9h634dyU5a2boqsKg+xSuntSsX9W/cgSm3VFmrzsFqrVW9js5qitKonU9V2d0PWj7ZbkGyKhr1xEyuulbLzmVZEWy2brsj6gW8UH9vn11orUmxWneqKZvuTtdZKKa21+9eL6+tCa6XUj6u/e67g2Hyf1Mc7otDgFGTe4ZD2URwjZH8tn4rcDvxNAQzh6OXq6urqiX585+7d66uL+Xz+7NmV1oVS2hpTJ1bVbQnlRhO2P+JWUdxbf6V0vQvU2J10q03no5LNTlHZa5nIqvKoWyauNFnvK7VWrT7DzW4qkZ2VGiWro93UK6unvlln2T0hm4Jl+xq0Owqy+vd2cwb3J0u250nsJhJt3Upx/6yLQimllRIRY62uiw97b/nc58+/9dxP/veZF3Bz2Osj7cVTw6N5xuj4IRzHT0GbgoMmBwAccKCh/MvPP/nPD35y587dy8tbSj3SWj95KrPlbDabuffpRaFdKoZSetPSqC/w9RKJUlqkcv9ordWF3itE7GpL6qY0cdxYSP2gUtcxq6mQdWmixKWZ7pQm4kqI+jPq3/s7X+y6DCJqtcN2qxZxf9UisleL1GOwW8Mee12TQ0s6q5bJ+jzvTLWKG/goy3pXsDamUsqKGGPmF5efvvDLjQuOrW+xPtgeEh3vGPLG9IdOQf4djvizv1T17L3PKOWApB34/fq1i08++NHtsixFnlfq0a07d8Ta5WKplGhdXFmzWuVQutBKKZfEVejCdTiMNW6xwOVkaK1kuVk4ESV61XsQ5faa1gOmbn/HZr2mXryRrY/onQPdDLDKVpmy+cje/0mdr7V+jDq9w32t2VQqmwfd+l7rg5dVGbR7Hg/EBNTlycE1nbIsXX/ImHpyxBhTFMV8Pr91+9aT2Yu3Fzd3yZ4V3TpL1AMcJ+yW4i0LDpocHhhjjeG0AhnYuVD97S89LT7/4Q8/dZfDSsQuF4uyLK0xSmslosvSfaqqFzVsXV8otSoexCVVuIWSoijdeoISpQstoqw1Whd2VZqsPqJX4x/KPYwrR+oaQKvjhcjRj2wuHEod/otZFROu6bI6IUqUqxW0UptFn9X4x1Y7Z7cE2mmcrPbprBaetgZTVKF1OZuZ9ZiqtboeIxWti2cXL3UqOLZfTRmq8ujzKAFCOHzZevL5dzg6CJz9Za19nw4HkI/N1fnN576wn733gw8X11dXV8+ezefz2WxelKW76hdFUV9TlSqKot6TolRRFLLeoqK1+zSXyOmCKNSq9bHqIawuyavWgmuTuLEPXbiosbqDsi5WlPsEvbnkr+dM1WZ01U22Wu0CUlfvOZXeLU1k0+GwIqqqdpobSqnVIs9m6UhcabK1XiN1G0NrJbK9Z0fJ1g4d2f2gsdYVaW5fi1Lrd2/1Jwz0gkoMZYdXfvfEWpEuBUdqTY4Esr9MVZlKJPSwKgBvNheXt+4/funp9//fp589ePTinbt3Z7N5WRRWpCxL9/5eF0VZlJWptNZaqXI2qypTloXSuq4itCr0jdJkdckvytIFWrhKRa2SQ/dLE9lcqt3/FlrLakK1Lk20NsYUZWHq7bh1aWJMpZXeGRY5WJocL0TqvsteabLuYayjRtxaUt2t2F2V2VrhWQ+guFN9dXWlVinpxlRudsSYylTVneWPfbym4z9KmvLvcHSI4ghMmcVmLRZAPuqLy5dvLb9866HIw0+uLx5+cVGW5cPri4VS5WymlHrwuCjK4uLiUuv6pivV0lzeulytkkhRFFZEKzWbzSpjVD3yoUWpotBipZiVYkW7HRpKu8v2urpQWhVF4T5irFGqbpm4i7QuivW133VQFotNv0Er7QY1i7JYlyZu0KQypiwKN2gioopV18SNm7haxO1wcdXJclVXrMdNxIre3kCr6jaM+2AdiL41buL2AMvWQIkLM11fvo2pb8iyWC6Wy+ViuVwvtQz+mg7yKM0fKNUZjl2dCo7UmhxtBc7+sqYyxhA2CmRqc0V8aX710vxKRL6+3b2+qP//R89m2ihVaaXUxz+eu8v/x89m5WxW6OKDp6WIzC8vyqLUWuuiMFVVzmZaaxeXXpRl3YQQmc8vKlO5RArXMtFKuaUcZUVp5ZZINusoajVLal3rZac0qVdzbpQmyxulyaprInJkBlbEdVbclMYmCsT9q7o0WZ4YN6m2P7KwtiyLdQSqNaaqqsViUVXV4vpaf/43PQY4zr6mTlwNj/H3xJ6Uf4cjftouBlpoBBCnRpeVVy83o2Mvlk/dX76+Kkdkq0b5+NlMGa2U0gv18dVca/3w+kIpNZvN6n+r9fziotBF3TKpzMV8roti1TIptVbW2tlsrrQylXHdkbIs3UbU9XKPmyFZRYGsShOlXF5pOSuVKDfTujtoUqxmQlcrOvUYrKsidkZiZXe4xBrr/ne16CMiyhjj8r22J0zdwy7dHVhEKa2McQspy6dPnl49e2Z+9P3+r9w5IdZZmodw9DHkntgjuhYcSTU54s/+MpYOB5C9wd7NvrJVmrxQPhWRX7i19birC8dHT0tltaqUVvqjz2auLfHw+sKVIaLk/Sfl5eVFsWqZFFpXVeVub+tKk7IsrbVlWbp8LVMZt5xTli5NxJblTLnsDqW11gdLk6IoVN3k2JQmB2ZNXGmitb1exZHV/6us2PWA7fYmnbroqXO/VFUt3c3rHz/+YvHwuz919b3+p7qZ6LbRthVgPUUm0uHoEMURWLVYWBvi9QYwtgMpYUM9ruw+9Ku3luu/vzirWya/sL2as/r7R89mytS9iI8fzbXSH1/Pi6IwRaF18f5jKXQxv7h0o6yFLowxrihxazriBk2slGWhi0IrVRlTz8CWs8pUrkZZlxB6tariCpOingXRhVsnKktTlyB7jRO9mhfVWitRSmtdmarQ9SjJcrGsTHX19OmjR49e/tH/8nGSTxqsoNx7oAADHGH0KDiSanK0FTj7q5Dl+U8CkAmPOxW6PfTN1Zxf3L7dwlaN8tGz2aoumWmtlS4eXs+VUrNypgv9/tOZKHGrOeuWiS70rJyVZenmRIqiFLFaa7dws5o10eWsrKqqLEpVr56Icntj3GCpEjf6ara25GitldZlUVTV0loxxjx7+vTx4y/ufvKXd+2A+1NaGXO8I7oQjl2T6HDEzxhuGAtMjfeyw8ejr0uTl2bP3F9+cbs5ux6Adas5SmmlP3q8Wc0RUbPZrCj0+1/ooiguLi6sNfP5hZuBnc3nbm1HRJRSbnzVPZ35fG4qo5TShS7L0i3uuFDzoiiMMaLU1bNn+vMfzr/44LXyo6GfdweDrbPcb5z61ZnvG9M7/QqORJocHaI4Amd/qerqBz8x//hn2RwLYEhjpT6cXc35lRdERETJR09nqlLaaKXVx5/PtdYfPtbziwsRsbPZR8/mYk05m8/mM2vMbDZ3Y7BKadcLce2W5XL5xaNHX7t4+Lr9YWTvo4O+AjHviRU6HJFglwoAf+INm7Ly6uVifWQv3r2xmrO6Dj54WiqldKWVVR9/4VZztFba7eD9kn788vwq4jfAvV6B5xvPcESud8GRQpMj/uwvc/3ke58uqf8A+BNz2VE7fnBf3mqZrFdzUuN3G0qfEI4Ae2LF3UQYN13O5yG/nTbX5vEnIb8jAETHJvAOdggtnmeYEI4whig4YiyY98V/R5XF9dXYhwAAEaDsCCvMAIfQ4TgmfPZXsfzi3Y+/CPxNASBSsVyOfbOnn2rzAY7IQzhksIJDHfkTjfjHOAAggMQu4lMpO6T/U+0cwhFmT6x473BEXIKcdTkP3eT4Ph0OALhpwmVHgBCOu7cvw5zfqSypxD/DAWB6knoThnC6VFi9l1S8l3XBC450/vu6CD7GAQDAihWxAUI4dvfEeiw7ptLhSGKG492Hj8c+BABAevqEcBxyZpS1mzEKjnSaHAAAjOX+a1/zvdJx9/bpidEhv/VUOhzSfowjcPaXMDQKACdMZW70ILv7Z5/PPbGDVTwjZWmnEIgOAECUtq+gvVYNGoeaD5DLPqEOR9sxjvDZXwAArDWbGLUitvMMx7kllcPfrsM3euPNt8YrOJjkOISwUQCAEyCEo6suZceEOhwdhM/+AgCgrXe6xoz202IzyxtvvTlqwRG2yZFE9hdzowAAJ3gIR2fny45Rl1SC6xDFQfYXgPwwsp+ZgAMcp50pO0bapbLGdhUAAG64/1qIAY4BNp80e8g33npr7IIDACaKyXkMY5ABDlcmDPpDuak83njzLYliaDTgf3TxZ3+Rbg4AaKX7ksqNAQ4/sab1o0ZQcASUxB1VAAAIMTF6ZIZj8LLjjbci6XBIvJ3F8Nlf7FIBAEgEIRwD3sAtmiUVAADQVecZjptLKgcN1e2IpuAI0uToEMVB9hcAILyGSypD35j+sJ41R0xLKthCujkAwLehQzjOi6ng8N/kIPsLABC/MCEcYbgBDomr4ICIMDcKAMcQFHmD7wGOtf7nPrKCw3+TI4k7qgAA0ETnGY5je2JP6FZzuAEOia7giE/47C8A8I1OQeQChHAEE/GSiucmR/zZX4SNAsDEBQjhaLuk4vQpVeMrOCITPvsLAICGBrmRildxL6nEGjwaBkOjwARM+9ccBjLKjelbNTnW6ykSacHhE9lfAIDI5TTDsRZrweGt+o9/hgMAMGUBQji6DXCsdZvkiLXgiEn47C/CRgEAZ3Ue4OiwJ7abf/Wb/2b994gLDpY4AQA4LsyNVA7q0OSIuODwJv7sL+ZGAWCyshzgkNgLDj9NjrZjHGR/AQCCaR7CESzX/KAmTY71nliJveAAAACDCnaf2O09sZJAwRHBJAfZXwCA2Iw4wLHWapIj+oLDg/hnOEg3B3CI5S4oU5DWDMeJn8jt9RRJo+CIoclB9heA0VgfpQaVS+rGHeBoYm9JpQzzXaMSf/YXu1QAUBJMU4DUr8FDOGyzzkAKHQ4Zv8kRPvsLQL5O/0bz0s/IBydmJYYZjrWDL0uCSyoexD/GAWBiqDMgEmSAI9iSyp50Co6xmxyBkW4OTEOHOoOiJGcBQjg82fu53BvgkJQKjkGR/QVgPJZ+BsYSLITjpqQKjik1OZgbBQAcE9UAx9p2Bb03wCGJFRzjIfsLABCA7xmOsfbESnoFx0BNDoZGAQDpivbG9CeWCVMrOAbSIYojcPYXYaMAMDXNQzjiXFJxXM2RxZLKlCY5AAAYUJgllV+8sZ4iSRYcIwmc/cXQKABMTVp3UWkrzYJjiCYHYxwAJo5duenqNsMR7sb0N9ZTJNWCYwjx31EFADApzVO/IveNrJZUgk9yhM/+ImwUAHBT54nRsULNnWQLDgldcxDFASAaLIbkyfcMh+89sWssqeyIf4aDuVEAwE2x3UWloXLsA+hnu8lBxQ8ASFYeIRxyKGPUyajDoW78OSn+7C8AwAG8veyKGQ4cRtgoAEyH97uohBvgePNgVTjpgqPtGEfg7C8AAG6KfIbj4J5YybzgIAQdAJCIhiEckQ9wbNlvcmRdcJwTefYXu1QAAEMJd2P6Q3tiJf+CY9AmR/jsLwDAROQRwrG7RWWnyZF7wTGo8NlfhI0C8IoNH8mJfIDjhAkUHMebHPFnfwEApiBACMdIe2I3Ne0ECo7jIp/hAIDj6E0gRv/6N3/zxsfqn9VpFBzDTXIEzv5ibhQAsC3yG9OfMI2C4zhWVQAAo/M9MTo2KxMqOAZqcpD9BQAYnO8QjtH3xMqECo4jIh/jIN0cANDfGHti99gpFRwEjwIAopT7kooIHY62Amd/MTQKAFjrHMIRZknljZOLBhMrOG40OdoOjYbP/gIA5C1ACEcYx27b5kys4AAAZIAUkjZi2BMrUyw4dpsckQ+NCunmAICVyHPNT2xRkSkWHL0Fzv4CAK9oFozO98ToSKHm+yZZcOw2OSLP/mJuFMARlAqZ8B3CEcGeWJGJFhz9kP0FAEBbUy04tpoc8Y9xAAAQ/QDHmYvpVAuOdBA2CgB5y2OG4/SeWJl0wbFqcrSO4gib/QUAyJjvEI5I9sTKpAuOrsj+AgAMKof539N7YoWCQ6Kf4WCXCgBA4p7hOLtFRaZecHA7NwDAqJ6vl1R8NTkiCeGQqRccK+3HOIKuqhA2CgC5uv/6emL0VM0RewhHg7WCyRccNDkAAOjn7BYVoeBw2o5xkP0FAPDgaJMj8hvTN0HBkUCTg7lRAEcMs/Cfwx6JZD2/vy328KsR+Y3pz25REQoOAADG0jyEo5t4QjiEgsNpMu2yjewvAIA3ibWcmuyJFRH98OEnvg8lfm1nOAJnf5FuDgD7Ersot7X/9LrNcMQzwCEi+uHDT8c+BgAApujGAMdhGeyJFZZUksDQKABkaSuE46ZkejhN9sSKiP6EJRUR6TLGwc5YAEDUWFKJ0Tdaho0CAOBZ3eSI+S4q0mxPrLCk0lng7C/SzQEgPw1mOKzEfWP6hltUxBUcbFQBAABeuYKDVZXWMxyBMTcKAJlpnPrVcXo0qgEOYUmlM7K/AMQhmb0M6KzbDEdUe2LFFRxsVJHos78AAJlpHMIR9cRowz2xQocjFYSNAvCKPkl4J0M4MsQMx0bkYxwAADQXZoaj4Z5YWXc42KjSQcjsL4ZGAWCa3sliT6xsFRw0Ocj+AgCEk8cMR3PMcHQXOPsLAICotBpFoOBIBmGjAJCNxiEcUd+YvvkWFVkXHOyMFYZGASAtbK05LkwIRyvMcGy0juIIm/3F3CgAZCOPAY7mW1SEJZU+yP4CAMQptlxz2S442BkLAGliaSE9GaR+tdoTK7sFB6sqjHEAACIScwhHWyyp7GgbxREy+4t0cwDIRgYzHG3fom8KDjaqdEAUB4BssDCTjVB7YrsWHCypRI5dKgCQB98hHAH3xLYoU1lS2cEMBwAATbTaEyt7BQcbVdoKHMUBAMiA7wGOAEsqb2zWU5o2OfYKjqmvqrTN/gqMdHMAQKJYUumF7C8AQFsNQzhi3hO7u57SqMlBwbEv5jEO5kYBYDpi3hN7Y4vK+Zpjp+BgZywAAL41nOHoJsJQc4cZjn0xZ38BwBGEaKAWZk/soS0qZ34I95dU2KjSVsjsL8JGASB1vkM4osUMBwAgWXR2xvDG0aWAU6/HzQ7H1FdVGBoFAIwu5hCObuhw7GsbxUH2F4Bs0C8IwO/E6GgDHGtHf4j2Cw42qgAA4I/XEI4w2u6ucFhS6Stw9hdhowAwBTGHcJxzuMnBksoBMY9xAACSlkEIR4Pbth2oOQ4UHOyM7dYsCoO5UQDAMQFCOI5vUdlj9/4cLDhYVWmH7C8AQBOTDeEQllQGETL7CwCQvfz2xMrBgoONKsxwAEgQe1oRQoMBjsNYUkkM6eYAsCOpQiuDEI7OY44sqRxA9hcApGRvPDFiGYRwdHa44GCjSrTYpQIAZ+xvj4i9Crmp2wxHNHtiDztWcEx9VaXVGEfg7C8AQGvpVyFnxbQn9oBywOMAAKTOiqixjyGcgzWHz+ffcIYjvz2xwgzHMTFnf5FuDgAeeeuFNA/h6CbAkkrn9RQ5VnCwM7Ytsr8AIGcBl2NivotKn3fjzHAc1jaKI2T2F3OjADC+yIZCwuyJ7YMZDgAABnJyKMRrCEcYwy+pyOR3xraN4gAA4LBV/+P+ax5DOGIONXdOFBxTX1VpJWT2F2GjAI7IbqPnJHWb4Yh8T6ywS+UE7qgCAEhJ3AXn0YKDjSqthMz+YmgUAFL0/Otph3D0GeAQllROiDmKAwCAbXdv3xLx2+ToeVlkSQUAAO8apn51vItK9Hti5XTBMfGNKm2FzP4ibBQAcJi3JoevJRWZ/KpKzNlfAOBP3KOHqWo8wBHpjel7blERllROiDmKg7lRAEhLwxCObuoBjridKjjYqAIAQEgdQzju7M5weMhZ77meInQ4BhQy+wsAgDMGLTv679xkhuMUsr8AAIPwGsKR/JKKTH6jSquCLmT2F+nmAI5g4hO7BvqJYEkFAIDYEcIhDTocU19ViRO7VAAATfVucvTfEyt0OE5rO8MRMvsLAJAKryEcSQxwyNmCg52xrZD9BQDobJg9sQf1a3L0H+AQllROizn7i3RzAEiF19SvpnrUHIPczZQlFQAAEtZiSWXUPUznC46J74xtNcYRMvuLuVEASIXXEI52OqWBhVhSkcmvqgDABJHmkYoAe2IH2aIiLKmcFW32FwAgCV5DODoao6I8X3CwUSVOhI0CAFLZEyssqQBAdlgPiYvXEI5Ge2IPavxjMsgAh7Ckcla02V8MjQJAToIuqTjNao5B9sRKw4JjyhtV2kZxkP0FANgWRQhHBBoWHKyqAAAQnb4zHA2aHG07/cewpJIwwkYBIH7+QjiG2RNrT4VzDLUnVig4mog2+wsAkIcRBjjaGWASuVHBMfGdsUPNywyOuVEAiFzDEI5uBt4Te6io2HrL3bfmYIZjYGR/AQBSdaOo+Mabb536122Ufb4YAAD0FzqEo7vtmkO1+sqmMxxT3hkbbRQHAPhDfNggGk6MRjTDsfvCn7wC2kN/jmpecLCqEh3SzQEgcl5DOHzlmvcqNo+WIOxSOY/sLwCpoT2RmNH2xB5jRexQe2LryqNpwTHxjSpxYpcKAESu4ZLKFLCk0shQOWsAAOyJaIBj14CpX8KSig9kfwEAJK0QjkO+MdB9Yp0WBceUN6pEm/1FujkATNMYe2J7aVVwTHpVpTmyvwAAzXUL4Qhg2HECllTSxtwoAETLawiH7yWVwYcXWxQcU96oQvYXAKAtryEcyWFJpZG2URwAADQUXQiHiAy9RUVYUvEkWPYXYaMAAB+G3aIibQuOKW9UAYCpIa+0pyYzHHEOcPjQtuCY7qpKnNlfDI0CQJy8hnAE2BM75tDoxLWK4iD7C8DYaE+kIdo9sYOj4AAAADt8NPXbFRxT3hnbSsjsL8JGASBCSYdw+MAMR1NxznAAAOLkL4QjxT2xwpKKP8Gyv5gbBYB0dQjhCGDwPbHSoeCY7M5Ysr8AAO3Y1Z9BpbieIp0KjumuqrQSLPsLABCh57e3xdobf0Sk6wBHAOMPjU4cYxwAgCbOh3D0aH4kd2N6p3XBwUaV2JBuDgCJijOEw9O7a5ZUWiD7CwAwoLffnsqeWGFJJQPsUgHgD3ml3TzvLdc80T2x0q3gmOxGlVZdppDZXwBwCNXCaO6/7iuEIwAfe2Kla8Ex3VUVAACGEmcIhycsqbTQNoojWPYX6eYAkJxoQ81jGRoFAACn+Zvh8L0n1l8ARJeCY8o7Y1u9EsGyv5gbBQBEjhkOAACGdD71S0S6hnD4XlLxtEVFOi+pTHajSqsoDgAAjukWwuGbpy0qwgyHV8GyvwgbBYB4JB3C4U/nDgerKgAAHJB0CEdcQ6NTFmf2F0OjAJCcDiEciYaaOx0LjilvVAEAoKduIRzp7okVllTaijb7CwAOId18BP5mOJLGkkomCBsF4Ak1SzzS3RMrfQqOye6MjTP7CwAQA68hHL752xMr/QqOqa6qRBnFwdwoACSkQwhHkD2xdvVneKWPBwUAYJqSHuDYauHfrDlUzwfv3uFgo0oTwbK/AAAJiXBP7LmBAbv7pzWWVFrzumuoM8JGASAG/lK/fO+Jbcm2LUFYUvErWPYXACAV3UI4fOu9ReXMKkyvbbHT3KjSNooDADAd6c5weLi67bRAehYcE11VaSVM9he7VAAgFXHemN7nDhURgr+6iXOMAwA8IfuroYYhHB0EvU9s3/HQwyg4vAuW/UXYKIBDhrli+LkGTVSHEI4Ajr6XHui171VwTHZnbJzZXwAQDPXHQekOcLSYGG29PaXWa5cKMxwAALlx0ekbEZW7CEM4emn28rOk4l2w7C/mRgFEYrL9j3RDOIacTTzy8vctOKa5M5ahUQBobrL1x0FxhnB4HBVYvfD9C44prqq02qxM9hcAbMu4/vA3wxH1kkozLKnkg3RzACnKuP44KM4b0wfo3PctOCa7UaWVMNlfAJCBrnsgxtcwhCPWG9N7x5JKRxGOcTA0CiBLidYfCel9F5VGWFLpqNV8TbDsLwDI3gTrjwwGOGSQu8U+fPjJyy+/1P9xAABoK54IkP/z/Y+//du/IyL/8B/9moi8/pXXD35ahxCOlPbEHjdIwfEpBUck3v34i7/1yt2xjwJAbOx0srhGrD8+txeP3ntfRL7127/jPuJqjtP1RwzCxGcPUHBM0xtvvSnfavrJl/P5Z/LE5+EAAA4Yt//x/o3648GDjzs8Th5LKgPMcLBRJR7MjQLACV7nPx6Zi9Of8P5777sSJDbJLKlME9lfAJC6ofsf6tCj7viofYfD957YMFtUZKgZjv4PAgDAuPrUH59v2hunyo4HH3VZUsnDMNtiuaPKWWGyvwgbBYCh9Ft/UUNNjPge4AgWKzVUwUGTAwCQs04RqAOUHb73xIbZoiIEf/VB9hcATNl28fH5qYnRTdnRYYYjGxQcWWGXCgCM4pE924dQDx48DHEoLSW2pMLOWAAAfMgjhEOY4eij5dDo3N+RbHuXJgcA5CKbPbHCkkofraI4AGBUE7nN2WjOpn6JyEcPPgpwJNEarOCY5s7Y5sj+AoBcNak2JMoQjmADHDJowTHFVZUIMTcKANnwPcARbE+ssKTSU4TZXwCAOHXYE+s7hCOkwQqOaW5UCVkbAgDidDKEI2osqeQpTPYX6eYAEFiDEA6J8Mb0IbeoCEsqAAAggCELjgluVAnZjGqIoVEAyIP3EI6wl7BhCw5WVU4Jlv0FAAjpkb04e4+2CEM4Ao8hsqTSC9lfADBxmxCOk7eG7RDC4T/UPGgcHAVHOMGyv0g3B3AIYaNBDHBH+lqQPbF2949HQxYc09wZG+EYBwAcEeK6ApEDZUeEN6Y/dP3yWH8wwxFUmOwv5kYBnBPufW32PrfHQzhUr4bH3duX/l6dZntih/w5YUmlL7K/AKSP+qO7R6ZBCEd8d1HppNfPycAFxwR3xrYSJvsLAPqh+Bjf1p5YL6/CG2/9Uu/HaFd/DF5wsKoyPsJGAQyH5scAeu+J3T7/w7wKHtrzZ35UWFLpi6FRAFNC/bHv0YkZjh6O7IlN6Jzv/6gMXHBMcKNKqyiOMNlfDI0CCIXio9FIaIcbqfjeExv83bIth308llQAYKr2ao6Bwiji5lK/3FMNWHPZFE8vSyoDaF4nBsv+AoCxTa75cWIDbGwhHIHvE+sMX3CwUSUGhI0CiEm2kx83BziGCho9d+e29E6jj4JjcqsqrWZ9w2R/AUDE8qk/joVwbJcdHQY4mt0ntvtpHGJPbGssqeSJuVEA6cik+LhpuNuqDGyUyMrhC44JblRphewvADgun+bHWqgb08d+ulhSGQBRHADgR+z1R5MQjg4To75vTD/KZWvgbbEAAHizXXPEuVgxjK4hHI22y46yRUU8zXBMbaNKhNlfpJsDyN34zQ8XwhGZ8U/LMZ4KjsmtqgAARhXpVVY87lLpaJQtKsIulaHElv3FLhUAExboXX6TAY4O1cagDjz9UbaoCDMcAIDcJZa57rW9MSIvHY4J7owl+wsAEjFY8+NY6ldk9p/mWDsrmeHIFqsqAHCO98WXB+1DODzsiY1ikpQZjmG0KhjJ/gKAKLW7MHsK4fB6Y/qx9sSKv4JjajtjI/Tux1/EvlAJAFEbvyuQE38Fx7RWVVpFcYREzQEAQ9hvfjwyvkKVPO+Jza7DgRPCZH8BALxplOkp42+L3TfWnljxV3BMcKNKbHdU+f4qbJQmBwAM7pG9OHs72Ngiv8bFksoIwmR/baPmAABvor0L/QEsqeRgxD7VQe+yLRYAvLkRwjFM2eH1PrEjblERkf8P49vzpOQMrp0AAAAASUVORK5CYII="
          }
        }
      ]
    },
    {
      "role": "assistant",
      "content": "Stan operacyjny — etap REACH zakończony; observation_id=obs-b8325fb8-6-7740; ostatnia komenda=TCP reach OK; kontrola geometryczna: TCP `[0.735724,0.058157,0.502614]`, świeży kandydat `[0.736187,0.058469,0.502853]`, różnica 0,0006 m, brak kontaktu i stop; następne działanie: GRASP na `g_office`.",
      "tool_calls": [
        {
          "id": "call_0ZW6uz8kfbqISzhMojEyldxy",
          "type": "function",
          "function": {
            "name": "robot_door_action",
            "arguments": "{\"i\":\"GRASP: chwyć widoczną klamkę g_office przy aktualnym TCP; bez ruchu bazy.\",\"door_id\":\"g_office\",\"action\":\"grasp\",\"observation_id\":\"obs-b8325fb8-6-7740\",\"command_id\":\"cmd-grasp-office-001\"}"
          }
        }
      ]
    },
    {
      "role": "tool",
      "content": "{\"status\":\"ok\",\"command_id\":\"cmd-grasp-office-001\",\"action\":\"grasp\",\"door_id\":\"g_office\",\"grip_contact\":true,\"opening_progress_rad\":-5.612760727543607e-9,\"handle_rotation_rad\":6.312030091463103e-19,\"peak_force_N\":0,\"feedback_source\":\"ideal contact/controller joint feedback, not learned visual inference\",\"needs_observation\":true,\"stop_latched\":false,\"contact_frame\":{\"tangent_arm_m\":[-3.358752817980078e-7,-0.9999999999999437,0],\"normal_arm_m\":[-0.9999999999999437,3.358752817980078e-7,0],\"source\":\"ideal grasp orientation/controller feedback\"}}",
      "tool_call_id": "call_0ZW6uz8kfbqISzhMojEyldxy"
    },
    {
      "role": "assistant",
      "content": "",
      "tool_calls": [
        {
          "id": "call_Dy42BMaYukXELDKa412GesnO",
          "type": "function",
          "function": {
            "name": "robot_observe",
            "arguments": "{\"i\":\"GRASP: potwierdź kontakt po chwycie, brak ruchu skrzydła, siłę i stop.\"}"
          }
        }
      ]
    },
    {
      "role": "tool",
      "content": "{\"observation_id\":\"obs-b8325fb8-7-7790\",\"session_id\":\"b8325fb8\",\"time_s\":15.58,\"rgb_path\":\"/home/pawel/Documents/HomeBot_Projekt_Domu/homebot-dom/runs/omp-door-exit-luna56-001/simulation/obs-b8325fb8-7-7790.png\",\"rgbd_path\":\"/home/pawel/Documents/HomeBot_Projekt_Domu/homebot-dom/runs/omp-door-exit-luna56-001/simulation/obs-b8325fb8-7-7790-rgbd.npz\",\"tcp_m\":[0.7449997833604479,0.0650000285494353,0.5],\"gripper_closed\":true,\"grip_contact\":true,\"force_N\":0,\"stop_latched\":false,\"detections\":[{\"track_id\":\"floor\",\"class\":\"floor\",\"mask_ids\":[0],\"visible_pixels\":620,\"source\":\"privileged_rendered_segmentation_no_metric_object_pose\"},{\"track_id\":\"wall_office_s\",\"class\":\"wall\",\"mask_ids\":[41],\"visible_pixels\":2933,\"source\":\"privileged_rendered_segmentation_no_metric_object_pose\"},{\"track_id\":\"wall_office_w\",\"class\":\"wall\",\"mask_ids\":[42,44],\"visible_pixels\":45034,\"source\":\"privileged_rendered_segmentation_no_metric_object_pose\"},{\"track_id\":\"wall_wc_e\",\"class\":\"wall\",\"mask_ids\":[47],\"visible_pixels\":6850,\"source\":\"privileged_rendered_segmentation_no_metric_object_pose\"},{\"track_id\":\"g_office_frame\",\"class\":\"door_frame\",\"mask_ids\":[65,66,125,126],\"visible_pixels\":53504,\"source\":\"privileged_rendered_segmentation_no_metric_object_pose\"},{\"track_id\":\"g_office\",\"class\":\"door_leaf\",\"mask_ids\":[123],\"visible_pixels\":277272,\"source\":\"privileged_mask_plus_rendered_noisy_depth\",\"visible_surface_points_arm_m\":[[0.8039992777886443,0.7027815519716053,0.8191559007616167],[0.7844504797719649,0.0286438034708648,0.7554688610205442],[0.815087046489226,-0.07956890955845432,0.7542927569116766],[0.8157301206196594,0.5971909410529436,0.7561663982168618],[0.8377903194116769,-0.0002240367342042444,0.7267977608952496],[0.8045587323997718,0.3588731886160571,0.7188675521254504],[0.8255899855760525,-0.09149855005499753,0.6972073965480896],[0.8075787420743276,-0.004787607478219059,0.6854905754749243],[0.8111404024652963,0.21876900021852397,0.66117345229154],[0.8115295462528731,0.36372635506104267,0.6315746043905033],[0.8014149657483397,0.7005940460283658,0.5996283359803356],[0.815316419614821,0.32561740949765394,0.6013012002543929],[0.8218199736923045,0.14081753436741196,0.5754890907943788],[0.8110057707982841,0.5543971937060778,0.5277120257345278],[0.7918201040292937,-0.08505074912972423,0.553466418667574],[0.8100039962430248,0.03226783245754393,0.5225342208023733],[0.8257233918111816,0.7215818913847382,0.4776244325885588],[0.8370034504037541,-0.08967417903084653,0.5188861235904463],[0.8106353968579173,0.4354345764969364,0.4593625448230696],[0.8082820557548841,0.10564163445566797,0.44896952828088077],[0.8070706342012356,0.6757118499754774,0.3577582125202958],[0.8268266901543639,0.7204941055908841,0.30704323377424836],[0.8126984584786674,0.14566575724858943,0.3760356086001242],[0.8193396409499614,0.2740980555843563,0.3208624015554442],[0.804287997496242,0.2131071943399122,0.2967626324943071],[0.8088274715814594,-0.017280698906478775,0.2938182934126988],[0.8127794237956057,0.2436287806765015,0.2081644783506862],[0.8131953809970771,0.3319116688368534,0.14805629665090358],[0.8083167097040721,0.16249217099128022,0.14199766435938577],[0.812957208792649,0.6234287172831944,-0.012731717291407096],[0.8183603784217537,0.004105010083281891,0.08631460546207204],[0.8071651847865913,-0.08841696432429637,0.0754500694270327]],\"coordinate_frame\":\"arm_carriage\"},{\"track_id\":\"g_office_handle\",\"class\":\"door_handle\",\"mask_ids\":[127,128],\"visible_pixels\":2579,\"source\":\"privileged_mask_plus_rendered_noisy_depth\",\"door_id\":\"g_office\",\"handle_candidate_m\":[0.7361982942048475,0.058610848158291075,0.5025237784756487],\"coordinate_frame\":\"arm_carriage\",\"sigma_floor_m\":0.02}],\"calibration\":{\"id\":\"house-rgbd-v4\",\"frame_id\":\"house_ground_v4\",\"width\":720,\"height\":540,\"fx\":606.4299289541383,\"fy\":606.4299289541383,\"cx\":359.5,\"cy\":269.5,\"position_m\":[0.7,7.36,1.2],\"rotation_camera_to_world\":[[-0.3428978074554514,-0.23240452837410353,0.910169890093852],[0.9393727128473789,-0.0848342751841738,0.33223794502093185],[5.551115123125783e-17,0.9689124217106448,0.2474039592545229]],\"depth_convention\":\"negative_camera_z_optical_depth\",\"systematic_sigma_m\":0.01,\"pose_source\":\"ideal_simulated_odometry\",\"mount_height_m\":1.2},\"base_pose\":{\"x_m\":0.7,\"y_m\":7.36,\"yaw_rad\":3.141592653589793,\"frame_id\":\"house_ground_v4\",\"source\":\"ideal drift-free simulator odometry\"},\"arm_coordinate_frame\":\"arm_carriage\",\"lidar_2d\":{\"frame_id\":\"base_link\",\"height_m\":0.15,\"angle_min_rad\":-3.141592653589793,\"angle_increment_rad\":0.08726646259971647,\"range_max_m\":6,\"ranges_m\":[2.628,2.636,2.679,2.733,2.804,2.905,3.04,3.221,3.446,3.725,4.099,1.371,4.764,4.551,4.387,4.271,1.528,4.142,4.124,4.14,4.011,2.974,2.249,1.823,1.545,1.342,1.195,1.087,1.008,0.941,0.898,0.852,0.815,0.798,0.766,0.806,0.806,0.817,0.821,0.83,0.869,0.892,0.933,0.987,1.063,1.063,1.196,1.227,1.148,1.098,1.068,1.035,1.011,1.004,0.997,1,1.012,1.029,1.065,1.107,1.155,1.135,1.01,0.915,0.856,0.797,0.874,1.033,1.263,1.678,2.677,2.647],\"source\":\"simulated horizontal ray range sensor; 5 mm noise\"},\"camera_head\":{\"pan_rad\":0.35,\"tilt_rad\":-0.25},\"peak_force_N\":0,\"lift_m\":0.55,\"door_grip\":\"g_office\"}",
      "tool_call_id": "call_Dy42BMaYukXELDKa412GesnO"
    },
    {
      "role": "user",
      "content": [
        {
          "type": "text",
          "text": "Attached image(s) from tool result:"
        },
        {
          "type": "image_url",
          "image_url": {
            "url": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAtAAAAIcCAIAAABQHw4EAABBpUlEQVR4nO3d248tx3Xf8VXVvffMufFQvMo2KTuWZFMmHSQwEgdxgkAGnCB5SfLkvOQhyEv+lQD+B/IPGJYfYiCB/ZK3AHZgk74lcSIFliiRFnnIQ0oiD89lZu+uykP1vs6+9K2qq6q/HxzLh8OZPb17D6fXXrXq18pWn0gcfu9bv/t73/rdDl/4gw8eDn4wzX3zzVe/+daXRzwAYGzKy6f2FO47JUQd/Yfzn+7h8bt8i07fpcv32v/sXH+gXv/Vf/76P/gXDT5Ricjbf/L2v/+3/67z99KdvxIAACTtude+Hux7RVRwvPHmm92+8HI+G/ZIAADt2bEPAFGLqOBI1LsPH499CAAAdHG/TYfjnT9+u8/3iqjg+MZbHTscFxd0OAAAHtnVn0mqJ1je/pNcCg4AQET6XV1zvTbnVHaEHOCQ2AqOzmMcI/r+x1+MfQgAgKCm2fB4hw7H5Xw+9iEAAKZompVHN3EVHJ3HOMb1Lk0OAAngsuhRipXH/Z/5WvNP7jnAISJlz6+PwSVDowCAOKxrjvizwgLPcMRVcKQ4wwEAwE0JVR4B3LtzK64llc7Gzf5ibhTTllYXGQgtxdWWm3qGcAgzHAAAhBFb2dEq9avnDMe9O7fjKjg6I/sLwI6ofq8jPR5/gCJpeDQe4BhmRei5u/EtqaQ4xkG6OYDkjH7BE4nkII7xfnCRVB4N9QzhkNiGRgEAiIYrBrwPfU5kvDS6Dke3MY5xs78YGgWAfIXrRITseQQO4bh35zYdDgAAmgjXiQjwnUKGcNy7c0uyWVIh+wsAEEroymP0pZb+e2IlwiWVFIdGhXRzAIicl4WKQGsgaY2X3nTvzm2JsODoHMUxbvYXAGDC0hvyCBnC4URXcCSKuVEAmLxkxksD30Xlubu3JKeCg+wvAEAckqk8GuofwiFxFhyJjnEAALAr9cpjmHFVt0slxoIjxTuqEDYKADgursojZAiHqzZEbIwFRzfjZn8BANBA6MrjoMAzHE4mORyjY2gUANBGMrnpg4RwSJwFR7cZDrK/AACpSSC9dKAllSgLDgAAJiZo5dEqhKOn5+7edn+JcYYj0ewvwkaBs9KNSgRCST1WdN/6mdDhAAAgQr56Hm3bGz1DONZLKjF2OKTrGMe42V/MjQIAPBiz4TFIqLkTacEBAPCg5XUrn75+BgZbanmuaQjHAJ2VdXtDoi04Usz+AgAENsmKqG/lEXJidFukBUc3ZH8BwKgCFACTrDEOCzFe2jOEw3U43CFmVXCMi3RzAMAYPFYefUM4VntiJdqCg+wvAABaalR2jLWkEum22BRnONilAgCIQLgMsbMSGBrtbNzsLwAAonFgqSVwCMf2oeRWcAAAGvI9fsl4ZzQ6DnkMdRcVJ96CI8XsL9LNAQARs41DOIYXb8GR4hgHMFW8lQWwL5kOR4qYGwUAxKzxDIeS/iEcW3tiJb+Cg+wvAAAGMeCNVCTmgqPbDAcAAIex9DdeCIfEXHB0M272F2GjABC1MW+8mp6hbkzvRBr8JQyNAgA8iSgZK6iQ7Y29akPy63DIqNlfDI0CQEpC3P4sVcMOcEjkBQdjHACAEKZRdjz3M6MNcEjkBUc342Z/AQBSRcNjyyA3pt8WdcGR4hgHYaMAkLxMK4+gMxy7IRwS89AoAAAjm+h4qZKpzXB0M272F3OjAJChLBoe7FI5iqFRAMhcWlfxTJdaDhrqxvRrUS+pdJvhGDf7CwCQvwSXWsZtb0jkHQ4AAKKWacNj8AEOybXgGDH7i3RzAHHL8fI4uikttTSRZIeDMQ4AQDIirjxapX4Ne2N6J/aCo9sYx4jZX+xSAQBEWHk0nuHwsidW4i84AABIWGRlRwMDHG6SSyoAgDEldrGMVQQNjza7VLwcaOwFR7cZjnGzv0g3BwAcFkHl0USfEI6D7Q2Jv+AAACBDYcuOkCEcx8RecKSY/cXcKACgkSgbHj0nRulwAAD2RXalm7AoK49uDu6JlSQKjq5jHAScAzHK4jcq4I2fyiNkCMcxCRQcySFsFMCEUVIOZNCyo9UMx9t/8s5g33hLAgVHctlfAAAMI8GllmMzHFHfLTZRDI0CAAaWyP1pj1UbkkSHg9upAABQ69TwaLWk0ieE44QECo5uxs3+AgDAozZLLS0HOHpXG0eOKoGCI8UoDsJGMT1JLTID2YhsyCPtJRUAAI6J5lI7tjgqj3t3DodwSCoFR3JjHMyNAoCEuvxFcJ2NyY3TEUMIh6RScHRD9hcATEcc7/CjsXU6QoZw1Esqh16GNAqObmMcAIAJouzYEc25SKPg6IbsLwCYLBoe3fi4Mb2Tc8ExItLNASASVB7j3Jv+xhlPo+BIbmgUABCbiZcdTQx8Y/rd051GwdEximO87C92qQDj49qCQ6bW8AjZ3jiwJ9Zu/qRRcHQzbvYXAMRqOlfbU6ZWeYwu54IDwNRxMcnTwK9r3mXHc63uotIvhCOTodHkxjhINweikPfFBMPJteERMoTjtGQKjq5jHKyqAMj0SjJpHssDfli6Od3ekIQKjuQwNwpEhytJhvyWHVP7efF0Y3on84KD7C8A+6Z2DZkE7w2PdH9qgu1SOdvhKMMcR3/JzXAAiJe7eqiRjwIerAuD4V/d7H9qeodwHL1PrJN5h2NEhI0CsUv6fWtISZ4lGh4iY2WMHpFMwZFc9heANCR09UBrLLW04O/G9E4yBUc3I2Z/MTQKpCSzS0cb03jeHl/gmH92WoVw9JTVLhXGOAD4FfOlAwOg4XFKnxCOs9WGJDQ0CgCBZD8ciMnMljLD0VFy2V+EjQIJS/q9alrGPNXZNzxaHILXEA6hwwEAR0X1XhUeeW94eHnoBuIJ4ZC0OhzdjJj9xdwokIM43qgiiCxnSxt9W98hHJJWh4OhUQCjodsxIZk0PLbaGzaGn92UCo5uMxwAMBjKjmnJpPJowuuN6Z38l1TI/gIwMBZZJifJpZbnXvva7vc5xeuN6Z0JFBzjzXCQbg7kjLLjqFzPCzEehzVpb0hyBQdjHADikuglAr2k0fC4sUVl5B/WxAqOtMY42KUCTEK670zRS1YNjz4hHHl2OLoZMfsLwE15Xp0pO6Yr0srjUAiHl4NssidWJlJwAAiC6y1lx8SlsdRyU88QjoYSKzi6zXCMmP1FujkwRZQdkxZFw+N4xujwB8aSCgCMKuqyI94jy4j3hsdQj94zhKOhxAqOtIZGhblRAFzZp87vAGinh97/Ct83pncSKzi6IfsLwJiibnV4N+Gnvidow2M39SsK6RUcHcY4Rsz+AoDatMsOrARqeJy7T+xgB0CHIxaEjQLYQdmBmt/Z0lYChHBIigVHcmMcALCPsgMbXn4aznU4ZP1Nh9gT2+j40ys4uhkr+4uhUQBHUXZgY5S7qQT9dlMpOAAgUpQd2DHAD0SD9sZgcl5SSS77CwDOo+bAjmAND9snhGOr2jh/qOkVHMnNcBA2CqARWh04wHvl0SeEo5X0Cg4AyNkYZcf5b+j7kKi0zmvxk3G/XQjHUGf/zONMpeAYMfuLuVEArU2w2zHK0GR6Gp2mVjMc7/TocNzdH+A4dXhJFhxkfwGYhGlegKf5rFuL4jQdnxg9cHhJFhzJjXEAQHdRXFmCo+HRyOHT1LzD0T+Eo/lLVPb8TgCAENzvdTXyUYxgsk+8nfV1P+iZar4nVhLtcHQzVvYX6eYABjPZd/w0PJqyLSdGvdp5wZIsOLpFcQBADiZ+3Z340x/aO38c4sb0TpIFRzdjZX+xSwXA8CZ+3aXhMZAhbqTS9HVIsuBgaBQARLjocgYOCJZrvr0ntsmLwNAoACSOscpxJiYjFSyEY29J5ciLYNcfSLLDId2iOMbL/iLdHIB3vNcXTkIUbrwI9QLYhDocZH8BwCTQ8Gim5wDHVIZG0xrjYG4UAEYwyYZHyHvTt5JqwQEA6Gcyl+IpbWlpN8Dhc0/szfOdasHRLYpjrOwvAMD4JlN2NDTIntjmUi04uhkrioOwUQCIxZQaHv7cuE/seakWHGnNcADAxKRwPc+x7Ag2wNFkYnTv7KZacKSFoVEAiFReDY9gIRwNbZ/XhAuOtKI4gGnI5dc2JiijsiMq64puQjkcAACcMZkMj8AhHJJ0h6PDGMeI2V+EjQJAStJseISZ4ehQbQgdDgAAjsq34dEnhKObhDscaWFuFMBkJdgpuCGFhker9kbgEA5JuuAg+wtIV/S/ujGwTPaCZPI0+uoQwiFJFxzdjJX9BQCQbK7XUT6NqEI4bkq44Egr+4uwUQAxC3z1zKRTENnTiC2EY0/CBQcAIHUxXa97SO1phN8TK6kXHGR/AUAGIusUdJXJ0/Al7YIjIexSAZC2INfRTK7XIz2NmEM4JPWCI63sLwBAE1mVHUGfSdNvFj6EQ1IvONJC2CgANJfPAkWQpxEshKPbnlhJveDoFsUBAPBvsGtsVmWH92fi/RtMdEmlG7K/ACCIIS+wNDxOu//a15p/cvg9sZJ6wdEtimOs7C/mRgFM0sClQlZlh5dn4vf00OEAAER+KabhcchAT6P5DEf4u6g4yRccjHEAQFIGrhOyKjuGrMe86NzekAwKjg7Gyv4i3RwAVlhnOaLrMwl2I5XOki840rqjCgDEJIZrNOsshwzwTI5+cZ8Qjru3u3c4ys5fma6xsr8YGgWAI9ZXRzXgww3zWONq9kyChXD0WVKZYsEBAIjVkKXCwFXMiDo+ExvVU09+SYWhUQDIDoOlRxx5JsdDOA58dt8Qjq6nMvmCo9sMx1jZX6SbA0BjXgZLc6g8xnsm7FJpbazsLwBAezQ8jlg9k5MzHDvPdZgBjk6nb6IFx1iYGwWArmh4HDHKc2h/7nIoOBjjAIApoeGx79wulc3zG/jG9G3OXQ4FR4cxjrGyvwAAA6HsCO1oCEezc5dDwZEQwkYBYFCsszQM4aif01ghHDLZgmOs7C8AgB80PM4a+QnlUHAwwwHEJLvf0kgJDY/TbJ8QjjMdjnOnKYeCIyHsUgHWMvoljghNqOFxPPUrLjkUHGllfwFYi/Y3+DTl+HJMouFx//WmN1J52197wzl5anIoOLoZK/uLsFFgW4S/vpGjCTU8Rnb81GRScDDGASSN390IwkvZMfpPb/Nbxb7zx923qLS7Mb09cHa4WyyAKORzP3HEbvibyKby0+t9SeWkTDocCWV/MTcKnBDD+0VMRg7rLM3bG6PLpOAAkBPKjl78nbs8X5VJDJb2173DsToX0y04yP4CIpffr2zELYeGx2l9Qjj6y6TgSGholHRzoLkIf2Ujd4kNloYJ4eg7wGFFshka7RbFASAJqUzkISPJDJaGCeEYgM2lw9HNKNlfDI0C3dDtwBgSa3h40m5P7BGTLjjGyv4C0Flyv6mRheHrhPBlR58Qjv57YiWngiOhMQ4AfaT4BjFiLc/l1M9+dGVH822xIy+p5FRwJDTGQbo50N/UL3zjmvrZj2UnbUIhHJJTwdHBWNlfAIYy9QvfuDj78TU8PGFJJVXMjQLDivN39FQkOgY5pDQGSzuHcAxSbUg222Kl0wwH2V9ANtg6O76pvwYj7KRtHsIx+gCH5FRwAMDUL3kx4DUY+hScKGSah3DEIJ8llZSGRgkbBXyadHc/EqyzZLGT1hkkhENyKji6GSX7C4BvU7/YxYNXIo4Jj9FDOCSzgqPDGMco2V8MjQJhcLGLBa+Eh1NgkwrhEGY4AGSPoYJYDD9VmZwhT0GwEA46HAckNMYBILCpv8GOCg2PoU7B3sMcf8hxb0zvZFVwdDBW9hdho0B4XObiwusx1GCpzxHdodobQsEBYGq4zMWF/Swi3U7B4RCOQw8TwwCHZFZwJJT9xdwoMC6ucQeNeU54SVoWX88HmeG4e/tyqIfKquBghgNAK1O/wEWIskOk71kY9ATeu3NrqEfMquDohigOYMryvMCl/pRYZxEZ8BT0CeEYENtiAYCts7HihTm+k/bUtli78+l9ZjhWQ6MDbOjNrcORSvYX6ebIWqrvTHlTHSleGJFDZ+HkSfF1xrq/GLkVHIxxAOiJS1ukWGcRWZ+F5veJFS83pu/ySuRWcKSCXSpAzLiuRY2XZ2OUJkdHFByjZX8BiBzXtahN++XZ6nCcOQt9BjjO7Ylt9wLkNjTaYYYDgAc2m0m/qY0tJnbDk8QOdzC7IRzHz0K/mmzAmFGhwyHjZX+Rbo7cZfX2M6sn00xiHYTEDtcTu/tHxPue2BbnPbcOB0OjQEyy6g5k9WQaS+xZJ3a4vgUrwRqddzocIiNlfzE3isnI6r1nVk+mdv4JJbZBJLHD7aL5vemHCOFo6Mx5z7DgYIwDiFJWv/6zejJtJHYdT+xw43L3zq1hT16GBUcHo2R/AdOT1a//rJ5MS4k998QO97zm7Q3pEcLRw+HTnWHBkcoYB2GjmKqsfv1n9WRaSuy5T2CdZVj3bl/KoCcsw4IDQAqy+sU/5QtZetfxxA73gOYxo30GONY6nbADX5RhwdFhhmOU7C+GRjF56f/i35XykxngtUjs5UzscEdwd3ditEfZUX9dbttiAaQmq42MiT+ZAQ4/sTOQZm7Y841nOAYf4Oj6+lrJssPRYYZjrOwvACtZvd9M/MkM1u1I6SQkdrhNedoT2+1UZVhwJISwUWBXVr/yE7+EDXP4iZ2ERA631S6Vbu4OGmru5FlwdBrjoMkBxCCRX/mNJf5khmlVJPaiptefSUOeBUcqmBsFjsjq930WT2Z6ZYdEesSRhHB0qMryLDg6jHGQ/QXEJ75f9j1EefFqi/GOlPQa4DhzY/qN5i8ou1TGZMumrygwVYltejgri+czzJNI7FREs5+leQhHHx1mOM6+oHl2OFKhZsNP5QA5SvY95hEhnoz37zHJ8Q5J8YhjkWfBkUb2V3n5N4/yPP+AH1n9ms/ossU6S1BhQjha3ie2kTyXVJK4nYrVF2r03hyQmMTa8Gdl9HxYZ4nOILnmbZ14BXmHXQuf/WXF/uAnJvA3BbKQ2JvhszJ6MqyzeJdECMfB85FnhyMJ2lwn9l8UEJfE3gyfltWTEZliSrqkeMR+bV/jVMYdjvizv6y1Yik5gJ6y+o8ovXf2Z0x4vMPPEYcJ4Wi+J7YVLSrPciz+MQ5jjLHmvc9S+u8IiFJi16Ozcns+00xJl5GPuM8Ah49cc7vpcORYc7QVOPursIuQ3w7IXXrXo9OyejIijHcg2yWVJFTL5XufjX0QQFay+tWe6aWKdZbuwqR+ebJVcOTV5OgwwxGeqq4sYxzAwBK7Ep2V2/Opsc7SRbohHEKHY1v47C+qDcCb9K5Ep+X2fGqUHb50nuHwMcDh7BYcGTU54h8aFRFjKqI4AJ8SuwydldvzqU17vKPNQQcI4fCHHI6N8Nlf2jA3CviWWzZCbs9nx2DpHX0fJTAPL2pse2LlwJJKSi/RGfGPcVhrfvBjOhxAAOm9+z0tt+ezg3WWw5JubwgzHHsCZ38ZY2xq/0UAKeM/t4RMu+zod9CxhXA4hwqOXJoc8Y9x6Oo6n9MNpCG9C9C0DTnekdgLn94Rn0GHY0fg7C9jjTWGKA4guOx+l+dv2g0PEWkTwhHhnlg5OjSqkntNkqTNtYiIWPocwBhCz19+9/rlsizL2ezBk+LliytTmaqqXpo9s2KttaaqKmNeubgOdjwJ2rxkv/+Xn/z1w2dKa6201vqf/dL9r7580fpRUmFF2oRwdHb39i1/V6Scd6nEPzQqIlW1fO+zi6/cH/s4gOkKUfF/33z5g/Ir97/8pdlsVs1mLyh1tVhaa5RSHyyXxlhTLZVSVVX90JjF4toY+2LxRJfl4urq+vp6uVy+crlYLK6rqnp5duUKlKqqbFW9cnl8s1um72X+y589+P3/+akuikKXhVaqKLXW3/3vD7/+yuVvfOO5r77UNFEpyf0szfSZ4fDneMGRfpOjwwzH5Xz+mTzxcTDHGGutzfS3ApAMj+94v/Pk+Q/nP/elL73w6r17l7duXV5cKq2ttdZapZRrbFgR93drTbWs3N+VVstlVVpzaWy1XF5rZYxZLpcfilhjqqoy1lpjH2j19OkTY8yL5TNTVctqaa1dLpcvFE9MVVVV9dL8SsQaY42pzOkCJQW/9Qff+86DJ4UuREQpEaXdy6eU+u4n19/7wx/9h1974ecb1xxOeg0P3/zUYjl3OJKgFk9F7ox9FADEx3Xn20+ef3j51Z/56Z++dfvOrVu3ZrPZbDYrylKsWLGmqlzxoUSWy6X7u7jWhbVaa9fGWNUijrHWihVRqlrWTRFjKmOt1oU1xlqzXC6VqIWS5WJhrf3ADYsZI9YqXbx/9ayqquVy+WL51H2yNfb6+uql+dWmQLH1l8RWoPzWH3zvOx8+VkqJ2nmd6r8rpUT+0x/++D/+y1c7PHj8ZUeAGY57d3ZDOAY9KScLjvSbHG2Fz/6y6/8BEIXBOo4Pry8+nP3cyy++eHFxefv27Vu3bs8v5rPZzBirlLjmprVWxCql5tZaY0WJtSJirbFWbP072IoxRilljDHW1Q3afX1VVboolsulVqr+R62tNcZsPbq1rtpwz809tPvIcrm4XZZVVS2X1TNjtFLG2g+WC1M3W4wx1fvWVovFsqpeubhaLqvFYlFVS2vtC8WTqqqqqnp5/kys1A0UU73qrUD5zoePv/PhYxGxVilRSmkRESXK/ZNS65ftv337i99442637xJt2bGqNvauFwMf6d3bhyZGBzopmXc43njzzW//1V+NfRSn6OrqvZ+I/OzYxwFgY5jfr399/dK9l+7du3fv1u3bs9lsNp+V5awsZ+sro62bFSK2rgOUUvWHRRljXC1SVw9ildL157k6xFrXKVnflcnWVYuy1iiRqqp2ShOtq6pSSrtaoi553FdZK0qJW99xaz0i1tpquVwv/SglVWUurVkuK2vMQitrzHJZfSDWGlNVxlhjrX2g9NMnj4uieE49MpVZLhfW2mpZvVC6AmX58vyqW4HyX//8I/eXutJQyr1G7ny643Sf8L1P+w7epjPecaD+iHOAQ84XHIk3Ob7xVuuC43I+e3YdroVorDXWiBTBviOAZnqVHZ9cXzybv/Tyl75UlOXl5eXlrVsXF5ez2awoC2tXv1nrSsHWXRW7+zdXBIjd/NPWP6x6JFYpbUzlihXXmJDNRIgVK65AUaKs2FVzRVynY+sRN49cVZX72/klHmOMMa67sDN9ol65vr7S+qfdgbnPva6WlTHGmA+VWi6X1hhrrTH2b6pqWS2rqnqheGKtscYuq+X11fXLF1fu37x8URcoL7z4onz4uH5JlDsJVkSssaoQWdccSr778HqoqjHahscRdut/uzi1J7Z37y/zDkf8yOEA4tbxt+z/fXz/9it3qqoqi1IXRaELrbXSyk07iqzrCvdNtu8cvaottj5W/33zJZsSQZSILWW1PmvN5jPrr1NijeuUVK7UWFcMbpnGNVHWDRellaslXI2y7r7Y+gtFxJrKKKXcGIrdXeKx1hZFYcyd+kGU2l7EEfcuyw2UKGWM2VsGWi4XF0rdFnm2XBpjtVI/XC6MtUrk7/1T+3e+uTDGLBYLU1U/+tGPi7K8evZ0cb149913F4vlZ599Xp/azSuWT9nRPNe8TwjHGf1ORIOCI/EmR1sXF0E7HMpcCTepB6LW5bfsj82dn9L61q3b5WxWlmVRFkqpWTlTWotI3WZQonZ+xW43ONbffOf3w1YVsd0jkbowstYWopSyxmx3L8R90JbrckVWwxyq7hJsHsyul1pcX2S3NFn9e7tZAHIrPmr15fX0SV2suBs4uAGL5XJpRdy4iRWpqqrQ2qx6IPUCkDGmLndkPYCyXtax1tSPae1rX/nZ5XLhPv4rv/r3nz19+uDDB3/2zp9+8umng7yCN427zvL8600nRt/+kz/t9i0OD3Dc1PVEZN7hiD+KY7OICyBq7S5aRVHMLy7ETRhYW1Xm4kIbY2Zl/Vt3Pcghq0nR+nNFVlswdhZaHL3zBtDu/s/WPxS6/qr1+o2rQraeyWqMtP4uu/+09Vh1dbL6ou3mymaMROpOhoiSupXiRlBXc6siYucXF+uaZjN9svVt6o6IMcZYK1Yr7T7D9VHWyzrWWlOZVSem0rpQSi0Xixdfevnnv/rV//FHf/QXf/4Xx19ByaPhEYWWZ7RZwTGxJkdIqrqy1r73mf3KfX56gfg1XWFxb9bdW/NlVV1o7cYd1u/Xpa451Hrqoh7NcF/uSg83F7mzBdQqW3dIrLjhCVei7B6htaJvNE+13itfZGdMZPPBdc9j8wE3nCHb5cd2PbTTmbG23K6UNpMqq+Jj3a5QSq8bJwdnY62tmyXrvsvq0Or1GrFSlIUSMcYuq+XFxcU/+eY3tdYiPzz+4uSzzjKs/T2xQ8u8w5FE9ldVVSG/HYB+Gl1olteLZVUtF4vFYnF5eblcLObzuVspEBG7vbHCWqWVtW7c0hUh4mYxrTFqqzZZf4K1xh3Aqnax9V4NK9Yd2OaL1se8qlG2CpGd95J2vz7ZL0QOfXz1RevHXy3orM+Uq4eUMu6YV80N2Qyv7szQbq/juHETNz+ilFtJkVWNZddrPUprpZQSZYyZzy/m8/k3f/3Xf/zh21969O2TL1FiZUeAGY6mSyo3NavDGxccNDn8MfYHP6HDAaTlzIXmjTs/+fT61WVVGWOurq7m8/licW3F2qJ0v5zdfgqpFyHU6sE2+zzdP9h634dyU5a2boqsKg+xSuntSsX9W/cgSm3VFmrzsFqrVW9js5qitKonU9V2d0PWj7ZbkGyKhr1xEyuulbLzmVZEWy2brsj6gW8UH9vn11orUmxWneqKZvuTtdZKKa21+9eL6+tCa6XUj6u/e67g2Hyf1Mc7otDgFGTe4ZD2URwjZH8tn4rcDvxNAQzh6OXq6urqiX585+7d66uL+Xz+7NmV1oVS2hpTJ1bVbQnlRhO2P+JWUdxbf6V0vQvU2J10q03no5LNTlHZa5nIqvKoWyauNFnvK7VWrT7DzW4qkZ2VGiWro93UK6unvlln2T0hm4Jl+xq0Owqy+vd2cwb3J0u250nsJhJt3Upx/6yLQimllRIRY62uiw97b/nc58+/9dxP/veZF3Bz2Osj7cVTw6N5xuj4IRzHT0GbgoMmBwAccKCh/MvPP/nPD35y587dy8tbSj3SWj95KrPlbDabuffpRaFdKoZSetPSqC/w9RKJUlqkcv9ordWF3itE7GpL6qY0cdxYSP2gUtcxq6mQdWmixKWZ7pQm4kqI+jPq3/s7X+y6DCJqtcN2qxZxf9UisleL1GOwW8Mee12TQ0s6q5bJ+jzvTLWKG/goy3pXsDamUsqKGGPmF5efvvDLjQuOrW+xPtgeEh3vGPLG9IdOQf4djvizv1T17L3PKOWApB34/fq1i08++NHtsixFnlfq0a07d8Ta5WKplGhdXFmzWuVQutBKKZfEVejCdTiMNW6xwOVkaK1kuVk4ESV61XsQ5faa1gOmbn/HZr2mXryRrY/onQPdDLDKVpmy+cje/0mdr7V+jDq9w32t2VQqmwfd+l7rg5dVGbR7Hg/EBNTlycE1nbIsXX/ImHpyxBhTFMV8Pr91+9aT2Yu3Fzd3yZ4V3TpL1AMcJ+yW4i0LDpocHhhjjeG0AhnYuVD97S89LT7/4Q8/dZfDSsQuF4uyLK0xSmslosvSfaqqFzVsXV8otSoexCVVuIWSoijdeoISpQstoqw1Whd2VZqsPqJX4x/KPYwrR+oaQKvjhcjRj2wuHEod/otZFROu6bI6IUqUqxW0UptFn9X4x1Y7Z7cE2mmcrPbprBaetgZTVKF1OZuZ9ZiqtboeIxWti2cXL3UqOLZfTRmq8ujzKAFCOHzZevL5dzg6CJz9Za19nw4HkI/N1fnN576wn733gw8X11dXV8+ezefz2WxelKW76hdFUV9TlSqKot6TolRRFLLeoqK1+zSXyOmCKNSq9bHqIawuyavWgmuTuLEPXbiosbqDsi5WlPsEvbnkr+dM1WZ01U22Wu0CUlfvOZXeLU1k0+GwIqqqdpobSqnVIs9m6UhcabK1XiN1G0NrJbK9Z0fJ1g4d2f2gsdYVaW5fi1Lrd2/1Jwz0gkoMZYdXfvfEWpEuBUdqTY4Esr9MVZlKJPSwKgBvNheXt+4/funp9//fp589ePTinbt3Z7N5WRRWpCxL9/5eF0VZlJWptNZaqXI2qypTloXSuq4itCr0jdJkdckvytIFWrhKRa2SQ/dLE9lcqt3/FlrLakK1Lk20NsYUZWHq7bh1aWJMpZXeGRY5WJocL0TqvsteabLuYayjRtxaUt2t2F2V2VrhWQ+guFN9dXWlVinpxlRudsSYylTVneWPfbym4z9KmvLvcHSI4ghMmcVmLRZAPuqLy5dvLb9866HIw0+uLx5+cVGW5cPri4VS5WymlHrwuCjK4uLiUuv6pivV0lzeulytkkhRFFZEKzWbzSpjVD3yoUWpotBipZiVYkW7HRpKu8v2urpQWhVF4T5irFGqbpm4i7QuivW133VQFotNv0Er7QY1i7JYlyZu0KQypiwKN2gioopV18SNm7haxO1wcdXJclVXrMdNxIre3kCr6jaM+2AdiL41buL2AMvWQIkLM11fvo2pb8iyWC6Wy+ViuVwvtQz+mg7yKM0fKNUZjl2dCo7UmhxtBc7+sqYyxhA2CmRqc0V8aX710vxKRL6+3b2+qP//R89m2ihVaaXUxz+eu8v/x89m5WxW6OKDp6WIzC8vyqLUWuuiMFVVzmZaaxeXXpRl3YQQmc8vKlO5RArXMtFKuaUcZUVp5ZZINusoajVLal3rZac0qVdzbpQmyxulyaprInJkBlbEdVbclMYmCsT9q7o0WZ4YN6m2P7KwtiyLdQSqNaaqqsViUVXV4vpaf/43PQY4zr6mTlwNj/H3xJ6Uf4cjftouBlpoBBCnRpeVVy83o2Mvlk/dX76+Kkdkq0b5+NlMGa2U0gv18dVca/3w+kIpNZvN6n+r9fziotBF3TKpzMV8roti1TIptVbW2tlsrrQylXHdkbIs3UbU9XKPmyFZRYGsShOlXF5pOSuVKDfTujtoUqxmQlcrOvUYrKsidkZiZXe4xBrr/ne16CMiyhjj8r22J0zdwy7dHVhEKa2McQspy6dPnl49e2Z+9P3+r9w5IdZZmodw9DHkntgjuhYcSTU54s/+MpYOB5C9wd7NvrJVmrxQPhWRX7i19birC8dHT0tltaqUVvqjz2auLfHw+sKVIaLk/Sfl5eVFsWqZFFpXVeVub+tKk7IsrbVlWbp8LVMZt5xTli5NxJblTLnsDqW11gdLk6IoVN3k2JQmB2ZNXGmitb1exZHV/6us2PWA7fYmnbroqXO/VFUt3c3rHz/+YvHwuz919b3+p7qZ6LbRthVgPUUm0uHoEMURWLVYWBvi9QYwtgMpYUM9ruw+9Ku3luu/vzirWya/sL2as/r7R89mytS9iI8fzbXSH1/Pi6IwRaF18f5jKXQxv7h0o6yFLowxrihxazriBk2slGWhi0IrVRlTz8CWs8pUrkZZlxB6tariCpOingXRhVsnKktTlyB7jRO9mhfVWitRSmtdmarQ9SjJcrGsTHX19OmjR49e/tH/8nGSTxqsoNx7oAADHGH0KDiSanK0FTj7q5Dl+U8CkAmPOxW6PfTN1Zxf3L7dwlaN8tGz2aoumWmtlS4eXs+VUrNypgv9/tOZKHGrOeuWiS70rJyVZenmRIqiFLFaa7dws5o10eWsrKqqLEpVr56Icntj3GCpEjf6ara25GitldZlUVTV0loxxjx7+vTx4y/ufvKXd+2A+1NaGXO8I7oQjl2T6HDEzxhuGAtMjfeyw8ejr0uTl2bP3F9+cbs5ux6Adas5SmmlP3q8Wc0RUbPZrCj0+1/ooiguLi6sNfP5hZuBnc3nbm1HRJRSbnzVPZ35fG4qo5TShS7L0i3uuFDzoiiMMaLU1bNn+vMfzr/44LXyo6GfdweDrbPcb5z61ZnvG9M7/QqORJocHaI4Amd/qerqBz8x//hn2RwLYEhjpT6cXc35lRdERETJR09nqlLaaKXVx5/PtdYfPtbziwsRsbPZR8/mYk05m8/mM2vMbDZ3Y7BKadcLce2W5XL5xaNHX7t4+Lr9YWTvo4O+AjHviRU6HJFglwoAf+INm7Ly6uVifWQv3r2xmrO6Dj54WiqldKWVVR9/4VZztFba7eD9kn788vwq4jfAvV6B5xvPcESud8GRQpMj/uwvc/3ke58uqf8A+BNz2VE7fnBf3mqZrFdzUuN3G0qfEI4Ae2LF3UQYN13O5yG/nTbX5vEnIb8jAETHJvAOdggtnmeYEI4whig4YiyY98V/R5XF9dXYhwAAEaDsCCvMAIfQ4TgmfPZXsfzi3Y+/CPxNASBSsVyOfbOnn2rzAY7IQzhksIJDHfkTjfjHOAAggMQu4lMpO6T/U+0cwhFmT6x473BEXIKcdTkP3eT4Ph0OALhpwmVHgBCOu7cvw5zfqSypxD/DAWB6knoThnC6VFi9l1S8l3XBC450/vu6CD7GAQDAihWxAUI4dvfEeiw7ptLhSGKG492Hj8c+BABAevqEcBxyZpS1mzEKjnSaHAAAjOX+a1/zvdJx9/bpidEhv/VUOhzSfowjcPaXMDQKACdMZW70ILv7Z5/PPbGDVTwjZWmnEIgOAECUtq+gvVYNGoeaD5DLPqEOR9sxjvDZXwAArDWbGLUitvMMx7kllcPfrsM3euPNt8YrOJjkOISwUQCAEyCEo6suZceEOhwdhM/+AgCgrXe6xoz202IzyxtvvTlqwRG2yZFE9hdzowAAJ3gIR2fny45Rl1SC6xDFQfYXgPwwsp+ZgAMcp50pO0bapbLGdhUAAG64/1qIAY4BNp80e8g33npr7IIDACaKyXkMY5ABDlcmDPpDuak83njzLYliaDTgf3TxZ3+Rbg4AaKX7ksqNAQ4/sab1o0ZQcASUxB1VAAAIMTF6ZIZj8LLjjbci6XBIvJ3F8Nlf7FIBAEgEIRwD3sAtmiUVAADQVecZjptLKgcN1e2IpuAI0uToEMVB9hcAILyGSypD35j+sJ41R0xLKthCujkAwLehQzjOi6ng8N/kIPsLABC/MCEcYbgBDomr4ICIMDcKAMcQFHmD7wGOtf7nPrKCw3+TI4k7qgAA0ETnGY5je2JP6FZzuAEOia7giE/47C8A8I1OQeQChHAEE/GSiucmR/zZX4SNAsDEBQjhaLuk4vQpVeMrOCITPvsLAICGBrmRildxL6nEGjwaBkOjwARM+9ccBjLKjelbNTnW6ykSacHhE9lfAIDI5TTDsRZrweGt+o9/hgMAMGUBQji6DXCsdZvkiLXgiEn47C/CRgEAZ3Ue4OiwJ7abf/Wb/2b994gLDpY4AQA4LsyNVA7q0OSIuODwJv7sL+ZGAWCyshzgkNgLDj9NjrZjHGR/AQCCaR7CESzX/KAmTY71nliJveAAAACDCnaf2O09sZJAwRHBJAfZXwCA2Iw4wLHWapIj+oLDg/hnOEg3B3CI5S4oU5DWDMeJn8jt9RRJo+CIoclB9heA0VgfpQaVS+rGHeBoYm9JpQzzXaMSf/YXu1QAUBJMU4DUr8FDOGyzzkAKHQ4Zv8kRPvsLQL5O/0bz0s/IBydmJYYZjrWDL0uCSyoexD/GAWBiqDMgEmSAI9iSyp50Co6xmxyBkW4OTEOHOoOiJGcBQjg82fu53BvgkJQKjkGR/QVgPJZ+BsYSLITjpqQKjik1OZgbBQAcE9UAx9p2Bb03wCGJFRzjIfsLABCA7xmOsfbESnoFx0BNDoZGAQDpivbG9CeWCVMrOAbSIYojcPYXYaMAMDXNQzjiXFJxXM2RxZLKlCY5AAAYUJgllV+8sZ4iSRYcIwmc/cXQKABMTVp3UWkrzYJjiCYHYxwAJo5duenqNsMR7sb0N9ZTJNWCYwjx31EFADApzVO/IveNrJZUgk9yhM/+ImwUAHBT54nRsULNnWQLDgldcxDFASAaLIbkyfcMh+89sWssqeyIf4aDuVEAwE2x3UWloXLsA+hnu8lBxQ8ASFYeIRxyKGPUyajDoW78OSn+7C8AwAG8veyKGQ4cRtgoAEyH97uohBvgePNgVTjpgqPtGEfg7C8AAG6KfIbj4J5YybzgIAQdAJCIhiEckQ9wbNlvcmRdcJwTefYXu1QAAEMJd2P6Q3tiJf+CY9AmR/jsLwDAROQRwrG7RWWnyZF7wTGo8NlfhI0C8IoNH8mJfIDjhAkUHMebHPFnfwEApiBACMdIe2I3Ne0ECo7jIp/hAIDj6E0gRv/6N3/zxsfqn9VpFBzDTXIEzv5ibhQAsC3yG9OfMI2C4zhWVQAAo/M9MTo2KxMqOAZqcpD9BQAYnO8QjtH3xMqECo4jIh/jIN0cANDfGHti99gpFRwEjwIAopT7kooIHY62Amd/MTQKAFjrHMIRZknljZOLBhMrOG40OdoOjYbP/gIA5C1ACEcYx27b5kys4AAAZIAUkjZi2BMrUyw4dpsckQ+NCunmAICVyHPNT2xRkSkWHL0Fzv4CAK9oFozO98ToSKHm+yZZcOw2OSLP/mJuFMARlAqZ8B3CEcGeWJGJFhz9kP0FAEBbUy04tpoc8Y9xAAAQ/QDHmYvpVAuOdBA2CgB5y2OG4/SeWJl0wbFqcrSO4gib/QUAyJjvEI5I9sTKpAuOrsj+AgAMKof539N7YoWCQ6Kf4WCXCgBA4p7hOLtFRaZecHA7NwDAqJ6vl1R8NTkiCeGQqRccK+3HOIKuqhA2CgC5uv/6emL0VM0RewhHg7WCyRccNDkAAOjn7BYVoeBw2o5xkP0FAPDgaJMj8hvTN0HBkUCTg7lRAEcMs/Cfwx6JZD2/vy328KsR+Y3pz25REQoOAADG0jyEo5t4QjiEgsNpMu2yjewvAIA3ibWcmuyJFRH98OEnvg8lfm1nOAJnf5FuDgD7Ersot7X/9LrNcMQzwCEi+uHDT8c+BgAApujGAMdhGeyJFZZUksDQKABkaSuE46ZkejhN9sSKiP6EJRUR6TLGwc5YAEDUWFKJ0Tdaho0CAOBZ3eSI+S4q0mxPrLCk0lng7C/SzQEgPw1mOKzEfWP6hltUxBUcbFQBAABeuYKDVZXWMxyBMTcKAJlpnPrVcXo0qgEOYUmlM7K/AMQhmb0M6KzbDEdUe2LFFRxsVJHos78AAJlpHMIR9cRowz2xQocjFYSNAvCKPkl4J0M4MsQMx0bkYxwAADQXZoaj4Z5YWXc42KjSQcjsL4ZGAWCa3sliT6xsFRw0Ocj+AgCEk8cMR3PMcHQXOPsLAICotBpFoOBIBmGjAJCNxiEcUd+YvvkWFVkXHOyMFYZGASAtbK05LkwIRyvMcGy0juIIm/3F3CgAZCOPAY7mW1SEJZU+yP4CAMQptlxz2S442BkLAGliaSE9GaR+tdoTK7sFB6sqjHEAACIScwhHWyyp7GgbxREy+4t0cwDIRgYzHG3fom8KDjaqdEAUB4BssDCTjVB7YrsWHCypRI5dKgCQB98hHAH3xLYoU1lS2cEMBwAATbTaEyt7BQcbVdoKHMUBAMiA7wGOAEsqb2zWU5o2OfYKjqmvqrTN/gqMdHMAQKJYUumF7C8AQFsNQzhi3hO7u57SqMlBwbEv5jEO5kYBYDpi3hN7Y4vK+Zpjp+BgZywAAL41nOHoJsJQc4cZjn0xZ38BwBGEaKAWZk/soS0qZ34I95dU2KjSVsjsL8JGASB1vkM4osUMBwAgWXR2xvDG0aWAU6/HzQ7H1FdVGBoFAIwu5hCObuhw7GsbxUH2F4Bs0C8IwO/E6GgDHGtHf4j2Cw42qgAA4I/XEI4w2u6ucFhS6Stw9hdhowAwBTGHcJxzuMnBksoBMY9xAACSlkEIR4Pbth2oOQ4UHOyM7dYsCoO5UQDAMQFCOI5vUdlj9/4cLDhYVWmH7C8AQBOTDeEQllQGETL7CwCQvfz2xMrBgoONKsxwAEgQe1oRQoMBjsNYUkkM6eYAsCOpQiuDEI7OY44sqRxA9hcApGRvPDFiGYRwdHa44GCjSrTYpQIAZ+xvj4i9Crmp2wxHNHtiDztWcEx9VaXVGEfg7C8AQGvpVyFnxbQn9oBywOMAAKTOiqixjyGcgzWHz+ffcIYjvz2xwgzHMTFnf5FuDgAeeeuFNA/h6CbAkkrn9RQ5VnCwM7Ytsr8AIGcBl2NivotKn3fjzHAc1jaKI2T2F3OjADC+yIZCwuyJ7YMZDgAABnJyKMRrCEcYwy+pyOR3xraN4gAA4LBV/+P+ax5DOGIONXdOFBxTX1VpJWT2F2GjAI7IbqPnJHWb4Yh8T6ywS+UE7qgCAEhJ3AXn0YKDjSqthMz+YmgUAFL0/Otph3D0GeAQllROiDmKAwCAbXdv3xLx2+ToeVlkSQUAAO8apn51vItK9Hti5XTBMfGNKm2FzP4ibBQAcJi3JoevJRWZ/KpKzNlfAOBP3KOHqWo8wBHpjel7blERllROiDmKg7lRAEhLwxCObuoBjridKjjYqAIAQEgdQzju7M5weMhZ77meInQ4BhQy+wsAgDMGLTv679xkhuMUsr8AAIPwGsKR/JKKTH6jSquCLmT2F+nmAI5g4hO7BvqJYEkFAIDYEcIhDTocU19ViRO7VAAATfVucvTfEyt0OE5rO8MRMvsLAJAKryEcSQxwyNmCg52xrZD9BQDobJg9sQf1a3L0H+AQllROizn7i3RzAEiF19SvpnrUHIPczZQlFQAAEtZiSWXUPUznC46J74xtNcYRMvuLuVEASIXXEI52OqWBhVhSkcmvqgDABJHmkYoAe2IH2aIiLKmcFW32FwAgCV5DODoao6I8X3CwUSVOhI0CAFLZEyssqQBAdlgPiYvXEI5Ge2IPavxjMsgAh7Ckcla02V8MjQJAToIuqTjNao5B9sRKw4JjyhtV2kZxkP0FANgWRQhHBBoWHKyqAAAQnb4zHA2aHG07/cewpJIwwkYBIH7+QjiG2RNrT4VzDLUnVig4mog2+wsAkIcRBjjaGWASuVHBMfGdsUPNywyOuVEAiFzDEI5uBt4Te6io2HrL3bfmYIZjYGR/AQBSdaOo+Mabb536122Ufb4YAAD0FzqEo7vtmkO1+sqmMxxT3hkbbRQHAPhDfNggGk6MRjTDsfvCn7wC2kN/jmpecLCqEh3SzQEgcl5DOHzlmvcqNo+WIOxSOY/sLwCpoT2RmNH2xB5jRexQe2LryqNpwTHxjSpxYpcKAESu4ZLKFLCk0shQOWsAAOyJaIBj14CpX8KSig9kfwEAJK0QjkO+MdB9Yp0WBceUN6pEm/1FujkATNMYe2J7aVVwTHpVpTmyvwAAzXUL4Qhg2HECllTSxtwoAETLawiH7yWVwYcXWxQcU96oQvYXAKAtryEcyWFJpZG2URwAADQUXQiHiAy9RUVYUvEkWPYXYaMAAB+G3aIibQuOKW9UAYCpIa+0pyYzHHEOcPjQtuCY7qpKnNlfDI0CQJy8hnAE2BM75tDoxLWK4iD7C8DYaE+kIdo9sYOj4AAAADt8NPXbFRxT3hnbSsjsL8JGASBCSYdw+MAMR1NxznAAAOLkL4QjxT2xwpKKP8Gyv5gbBYB0dQjhCGDwPbHSoeCY7M5Ysr8AAO3Y1Z9BpbieIp0KjumuqrQSLPsLABCh57e3xdobf0Sk6wBHAOMPjU4cYxwAgCbOh3D0aH4kd2N6p3XBwUaV2JBuDgCJijOEw9O7a5ZUWiD7CwAwoLffnsqeWGFJJQPsUgHgD3ml3TzvLdc80T2x0q3gmOxGlVZdppDZXwBwCNXCaO6/7iuEIwAfe2Kla8Ex3VUVAACGEmcIhycsqbTQNoojWPYX6eYAkJxoQ81jGRoFAACn+Zvh8L0n1l8ARJeCY8o7Y1u9EsGyv5gbBQBEjhkOAACGdD71S0S6hnD4XlLxtEVFOi+pTHajSqsoDgAAjukWwuGbpy0qwgyHV8GyvwgbBYB4JB3C4U/nDgerKgAAHJB0CEdcQ6NTFmf2F0OjAJCcDiEciYaaOx0LjilvVAEAoKduIRzp7okVllTaijb7CwAOId18BP5mOJLGkkomCBsF4Ak1SzzS3RMrfQqOye6MjTP7CwAQA68hHL752xMr/QqOqa6qRBnFwdwoACSkQwhHkD2xdvVneKWPBwUAYJqSHuDYauHfrDlUzwfv3uFgo0oTwbK/AAAJiXBP7LmBAbv7pzWWVFrzumuoM8JGASAG/lK/fO+Jbcm2LUFYUvErWPYXACAV3UI4fOu9ReXMKkyvbbHT3KjSNooDADAd6c5weLi67bRAehYcE11VaSVM9he7VAAgFXHemN7nDhURgr+6iXOMAwA8IfuroYYhHB0EvU9s3/HQwyg4vAuW/UXYKIBDhrli+LkGTVSHEI4Ajr6XHui171VwTHZnbJzZXwAQDPXHQekOcLSYGG29PaXWa5cKMxwAALlx0ekbEZW7CEM4emn28rOk4l2w7C/mRgFEYrL9j3RDOIacTTzy8vctOKa5M5ahUQBobrL1x0FxhnB4HBVYvfD9C44prqq02qxM9hcAbMu4/vA3wxH1kkozLKnkg3RzACnKuP44KM4b0wfo3PctOCa7UaWVMNlfAJCBrnsgxtcwhCPWG9N7x5JKRxGOcTA0CiBLidYfCel9F5VGWFLpqNV8TbDsLwDI3gTrjwwGOGSQu8U+fPjJyy+/1P9xAABoK54IkP/z/Y+//du/IyL/8B/9moi8/pXXD35ahxCOlPbEHjdIwfEpBUck3v34i7/1yt2xjwJAbOx0srhGrD8+txeP3ntfRL7127/jPuJqjtP1RwzCxGcPUHBM0xtvvSnfavrJl/P5Z/LE5+EAAA4Yt//x/o3648GDjzs8Th5LKgPMcLBRJR7MjQLACV7nPx6Zi9Of8P5777sSJDbJLKlME9lfAJC6ofsf6tCj7viofYfD957YMFtUZKgZjv4PAgDAuPrUH59v2hunyo4HH3VZUsnDMNtiuaPKWWGyvwgbBYCh9Ft/UUNNjPge4AgWKzVUwUGTAwCQs04RqAOUHb73xIbZoiIEf/VB9hcATNl28fH5qYnRTdnRYYYjGxQcWWGXCgCM4pE924dQDx48DHEoLSW2pMLOWAAAfMgjhEOY4eij5dDo3N+RbHuXJgcA5CKbPbHCkkofraI4AGBUE7nN2WjOpn6JyEcPPgpwJNEarOCY5s7Y5sj+AoBcNak2JMoQjmADHDJowTHFVZUIMTcKANnwPcARbE+ssKTSU4TZXwCAOHXYE+s7hCOkwQqOaW5UCVkbAgDidDKEI2osqeQpTPYX6eYAEFiDEA6J8Mb0IbeoCEsqAAAggCELjgluVAnZjGqIoVEAyIP3EI6wl7BhCw5WVU4Jlv0FAAjpkb04e4+2CEM4Ao8hsqTSC9lfADBxmxCOk7eG7RDC4T/UPGgcHAVHOMGyv0g3B3AIYaNBDHBH+lqQPbF2949HQxYc09wZG+EYBwAcEeK6ApEDZUeEN6Y/dP3yWH8wwxFUmOwv5kYBnBPufW32PrfHQzhUr4bH3duX/l6dZntih/w5YUmlL7K/AKSP+qO7R6ZBCEd8d1HppNfPycAFxwR3xrYSJvsLAPqh+Bjf1p5YL6/CG2/9Uu/HaFd/DF5wsKoyPsJGAQyH5scAeu+J3T7/w7wKHtrzZ35UWFLpi6FRAFNC/bHv0YkZjh6O7IlN6Jzv/6gMXHBMcKNKqyiOMNlfDI0CCIXio9FIaIcbqfjeExv83bIth308llQAYKr2ao6Bwiji5lK/3FMNWHPZFE8vSyoDaF4nBsv+AoCxTa75cWIDbGwhHIHvE+sMX3CwUSUGhI0CiEm2kx83BziGCho9d+e29E6jj4JjcqsqrWZ9w2R/AUDE8qk/joVwbJcdHQY4mt0ntvtpHGJPbGssqeSJuVEA6cik+LhpuNuqDGyUyMrhC44JblRphewvADgun+bHWqgb08d+ulhSGQBRHADgR+z1R5MQjg4To75vTD/KZWvgbbEAAHizXXPEuVgxjK4hHI22y46yRUU8zXBMbaNKhNlfpJsDyN34zQ8XwhGZ8U/LMZ4KjsmtqgAARhXpVVY87lLpaJQtKsIulaHElv3FLhUAExboXX6TAY4O1cagDjz9UbaoCDMcAIDcJZa57rW9MSIvHY4J7owl+wsAEjFY8+NY6ldk9p/mWDsrmeHIFqsqAHCO98WXB+1DODzsiY1ikpQZjmG0KhjJ/gKAKLW7MHsK4fB6Y/qx9sSKv4JjajtjI/Tux1/EvlAJAFEbvyuQE38Fx7RWVVpFcYREzQEAQ9hvfjwyvkKVPO+Jza7DgRPCZH8BALxplOkp42+L3TfWnljxV3BMcKNKbHdU+f4qbJQmBwAM7pG9OHs72Ngiv8bFksoIwmR/baPmAABvor0L/QEsqeRgxD7VQe+yLRYAvLkRwjFM2eH1PrEjblERkf8P49vzpOQMrp0AAAAASUVORK5CYII="
          }
        }
      ]
    },
    {
      "role": "assistant",
      "content": "Stan operacyjny — etap GRASP zakończony; observation_id=obs-b8325fb8-7-7790; ostatnia komenda=grasp OK, kontakt=true, door_grip=`g_office`; kontrola geometryczna: TCP sprzężony przy klamce, skrzydło bez postępu, force=0, stop=false; następne działanie: PRESS.",
      "tool_calls": [
        {
          "id": "call_jgAnEmyuSNUaUptalo0hTO77",
          "type": "function",
          "function": {
            "name": "robot_door_action",
            "arguments": "{\"i\":\"PRESS: naciśnij sprężynową klamkę g_office przed próbą otwarcia; monitoruj siłę i zatrzask.\",\"door_id\":\"g_office\",\"action\":\"press\",\"observation_id\":\"obs-b8325fb8-7-7790\",\"command_id\":\"cmd-press-office-001\"}"
          }
        }
      ]
    },
    {
      "role": "tool",
      "content": "{\"status\":\"ok\",\"command_id\":\"cmd-press-office-001\",\"action\":\"press\",\"door_id\":\"g_office\",\"grip_contact\":true,\"opening_progress_rad\":8.719054662372983e-9,\"handle_rotation_rad\":-0.5188679585628109,\"peak_force_N\":1.2223222750732423,\"feedback_source\":\"ideal contact/controller joint feedback, not learned visual inference\",\"needs_observation\":true,\"stop_latched\":false,\"contact_frame\":{\"tangent_arm_m\":[-3.1859067627337106e-7,-0.9999999999999494,0],\"normal_arm_m\":[-0.9999999999999494,3.1859067627337106e-7,0],\"source\":\"ideal grasp orientation/controller feedback\"}}",
      "tool_call_id": "call_jgAnEmyuSNUaUptalo0hTO77"
    },
    {
      "role": "assistant",
      "content": "",
      "tool_calls": [
        {
          "id": "call_dpvxpIAFrVJDVzWPkacIc2a6",
          "type": "function",
          "function": {
            "name": "robot_observe",
            "arguments": "{\"i\":\"PRESS: potwierdź zwolnienie zatrzasku, brak ruchu skrzydła przed OPEN, siłę i stop.\"}"
          }
        }
      ]
    },
    {
      "role": "tool",
      "content": "{\"observation_id\":\"obs-b8325fb8-8-8240\",\"session_id\":\"b8325fb8\",\"time_s\":16.48,\"rgb_path\":\"/home/pawel/Documents/HomeBot_Projekt_Domu/homebot-dom/runs/omp-door-exit-luna56-001/simulation/obs-b8325fb8-8-8240.png\",\"rgbd_path\":\"/home/pawel/Documents/HomeBot_Projekt_Domu/homebot-dom/runs/omp-door-exit-luna56-001/simulation/obs-b8325fb8-8-8240-rgbd.npz\",\"tcp_m\":[0.7449997917834021,0.05644479930125188,0.46776666804504674],\"gripper_closed\":true,\"grip_contact\":true,\"force_N\":0.958,\"stop_latched\":false,\"detections\":[{\"track_id\":\"floor\",\"class\":\"floor\",\"mask_ids\":[0],\"visible_pixels\":620,\"source\":\"privileged_rendered_segmentation_no_metric_object_pose\"},{\"track_id\":\"wall_office_s\",\"class\":\"wall\",\"mask_ids\":[41],\"visible_pixels\":2933,\"source\":\"privileged_rendered_segmentation_no_metric_object_pose\"},{\"track_id\":\"wall_office_w\",\"class\":\"wall\",\"mask_ids\":[42,44],\"visible_pixels\":45034,\"source\":\"privileged_rendered_segmentation_no_metric_object_pose\"},{\"track_id\":\"wall_wc_e\",\"class\":\"wall\",\"mask_ids\":[47],\"visible_pixels\":6850,\"source\":\"privileged_rendered_segmentation_no_metric_object_pose\"},{\"track_id\":\"g_office_frame\",\"class\":\"door_frame\",\"mask_ids\":[65,66,125,126],\"visible_pixels\":53505,\"source\":\"privileged_rendered_segmentation_no_metric_object_pose\"},{\"track_id\":\"g_office\",\"class\":\"door_leaf\",\"mask_ids\":[123],\"visible_pixels\":277320,\"source\":\"privileged_mask_plus_rendered_noisy_depth\",\"visible_surface_points_arm_m\":[[0.8139316301113192,0.7095546304072001,0.8211344608832143],[0.8135988122356334,-0.06909116340497946,0.7546027580337926],[0.8152827742725867,0.5808059612448223,0.755506188947825],[0.7927265149519285,-0.08752350774970354,0.7155310648146107],[0.8379292865706465,-0.06792403568149198,0.7189127685791428],[0.7836202554221123,-0.00892214308769103,0.7085329415299673],[0.8066227198879773,0.2823333298706868,0.7169628437080489],[0.8135454452457294,-0.03707104412088204,0.6852343524421363],[0.8146686317930905,0.17364432141169417,0.6610111349711136],[0.8102494799181076,0.29061278848452965,0.632120334064022],[0.8002928218560585,0.6996130719221673,0.5996988665513125],[0.8093000609337891,0.23663853521359457,0.6033080146157879],[0.816527939307315,0.06022390233538487,0.5784509349937073],[0.8113767903824743,0.5182415209180907,0.52925988789604],[0.8321685416054628,-0.09061519652463525,0.5373707652342825],[0.8125423126209551,0.03236895043719211,0.522134780211384],[0.8098547683935836,0.6728006247067891,0.4458836919104988],[0.8132605687204598,0.4452787433667683,0.42157041757818925],[0.8130245889571932,-0.002411326511248546,0.42612373504083223],[0.811153283474865,0.11752437688358973,0.37977473113228954],[0.824130641276075,0.21766223734778845,0.3265221784084298],[0.8190862637201978,0.1613308837472972,0.2984051457621312],[0.8284015267135345,0.723567225528914,0.16909263393943075],[0.8105650847540173,-0.076216757495306,0.30259534143345745],[0.8112471528077275,0.1916271005536495,0.21821645387920352],[0.8327612674462107,0.2724041205738673,0.14921455629942337],[0.8117532554713274,0.11085984735283026,0.1510207211082324],[0.827619383846953,-0.09166623387821983,0.16942742833063207],[0.8112891396224527,0.5472377690968618,0.00604463262094479],[0.8088051533901812,-0.024107046497766304,0.09996462417008467],[0.8125978806954234,-0.08901206243978689,0.07158301084215479]],\"coordinate_frame\":\"arm_carriage\"},{\"track_id\":\"g_office_handle\",\"class\":\"door_handle\",\"mask_ids\":[127,128],\"visible_pixels\":2531,\"source\":\"privileged_mask_plus_rendered_noisy_depth\",\"door_id\":\"g_office\",\"handle_candidate_m\":[0.7361253194627573,0.05026715210945474,0.47290534038149556],\"coordinate_frame\":\"arm_carriage\",\"sigma_floor_m\":0.02}],\"calibration\":{\"id\":\"house-rgbd-v4\",\"frame_id\":\"house_ground_v4\",\"width\":720,\"height\":540,\"fx\":606.4299289541383,\"fy\":606.4299289541383,\"cx\":359.5,\"cy\":269.5,\"position_m\":[0.7,7.36,1.2],\"rotation_camera_to_world\":[[-0.3428978074554514,-0.23240452837410353,0.910169890093852],[0.9393727128473789,-0.0848342751841738,0.33223794502093185],[5.551115123125783e-17,0.9689124217106448,0.2474039592545229]],\"depth_convention\":\"negative_camera_z_optical_depth\",\"systematic_sigma_m\":0.01,\"pose_source\":\"ideal_simulated_odometry\",\"mount_height_m\":1.2},\"base_pose\":{\"x_m\":0.7,\"y_m\":7.36,\"yaw_rad\":3.141592653589793,\"frame_id\":\"house_ground_v4\",\"source\":\"ideal drift-free simulator odometry\"},\"arm_coordinate_frame\":\"arm_carriage\",\"lidar_2d\":{\"frame_id\":\"base_link\",\"height_m\":0.15,\"angle_min_rad\":-3.141592653589793,\"angle_increment_rad\":0.08726646259971647,\"range_max_m\":6,\"ranges_m\":[2.639,2.647,2.68,2.719,2.81,2.901,3.038,3.211,3.44,3.724,4.094,1.376,4.768,4.555,4.394,4.267,1.536,4.144,4.128,4.146,4.019,2.968,2.254,1.816,1.537,1.349,1.203,1.088,1.004,0.939,0.89,0.851,0.829,0.799,0.77,0.819,0.825,0.823,0.825,0.834,0.859,0.897,0.943,0.995,1.061,1.071,1.196,1.224,1.163,1.117,1.059,1.032,1.015,1,0.996,1.001,1.008,1.045,1.065,1.1,1.152,1.135,1.008,0.925,0.85,0.787,0.871,1.036,1.272,1.676,2.674,2.647],\"source\":\"simulated horizontal ray range sensor; 5 mm noise\"},\"camera_head\":{\"pan_rad\":0.35,\"tilt_rad\":-0.25},\"peak_force_N\":1.222,\"lift_m\":0.55,\"door_grip\":\"g_office\"}",
      "tool_call_id": "call_dpvxpIAFrVJDVzWPkacIc2a6"
    },
    {
      "role": "user",
      "content": [
        {
          "type": "text",
          "text": "Attached image(s) from tool result:"
        },
        {
          "type": "image_url",
          "image_url": {
            "url": "data:image/png;base64,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"
          }
        }
      ]
    }
  ],
  "stream": true,
  "tools": [
    {
      "type": "function",
      "function": {
        "name": "robot_capabilities",
        "description": "Discover complete v4 robot, optional lift, carriage frame, limits and floor identity.",
        "parameters": {
          "properties": {
            "i": {
              "description": "concise intent",
              "type": "string"
            }
          },
          "required": [
            "i"
          ],
          "type": "object",
          "additionalProperties": false
        },
        "strict": true
      }
    },
    {
      "type": "function",
      "function": {
        "name": "robot_observe",
        "description": "Fresh mounted RGB-D, visible door/handle masks and noisy handle candidate, lidar, force and odometry.",
        "parameters": {
          "properties": {
            "i": {
              "description": "concise intent",
              "type": "string"
            }
          },
          "required": [
            "i"
          ],
          "type": "object",
          "additionalProperties": false
        },
        "strict": true
      }
    },
    {
      "type": "function",
      "function": {
        "name": "robot_execute_sequence",
        "description": "Same four literal arm calls; v4 arm_carriage z is relative to current lift. No arbitrary Python.",
        "parameters": {
          "properties": {
            "i": {
              "description": "concise intent",
              "type": "string"
            },
            "script": {
              "type": "string"
            },
            "observation_id": {
              "type": "string"
            },
            "command_id": {
              "type": "string"
            }
          },
          "required": [
            "i",
            "script",
            "observation_id",
            "command_id"
          ],
          "type": "object",
          "additionalProperties": false
        },
        "strict": true
      }
    },
    {
      "type": "function",
      "function": {
        "name": "robot_move_base",
        "description": "Same bounded relative drive; requires lift down, arm stowed, no door grip, clear supported floor.",
        "parameters": {
          "properties": {
            "i": {
              "description": "concise intent",
              "type": "string"
            },
            "dx_m": {
              "type": "number"
            },
            "dy_m": {
              "type": "number"
            },
            "dyaw_rad": {
              "type": "number"
            },
            "observation_id": {
              "type": "string"
            },
            "command_id": {
              "type": "string"
            }
          },
          "required": [
            "i",
            "dx_m",
            "dy_m",
            "dyaw_rad",
            "observation_id",
            "command_id"
          ],
          "type": "object",
          "additionalProperties": false
        },
        "strict": true
      }
    },
    {
      "type": "function",
      "function": {
        "name": "robot_look",
        "description": "Same absolute pan/tilt relative to base. Observe again after motion.",
        "parameters": {
          "properties": {
            "i": {
              "description": "concise intent",
              "type": "string"
            },
            "pan_rad": {
              "type": "number"
            },
            "tilt_rad": {
              "type": "number"
            },
            "observation_id": {
              "type": "string"
            },
            "command_id": {
              "type": "string"
            }
          },
          "required": [
            "i",
            "pan_rad",
            "tilt_rad",
            "observation_id",
            "command_id"
          ],
          "type": "object",
          "additionalProperties": false
        },
        "strict": true
      }
    },
    {
      "type": "function",
      "function": {
        "name": "robot_move_lift",
        "description": "Optional arm carriage lift0..0.55m, empty stowed arm only; base interlocked while raised.",
        "parameters": {
          "properties": {
            "i": {
              "description": "concise intent",
              "type": "string"
            },
            "height_m": {
              "type": "number"
            },
            "observation_id": {
              "type": "string"
            },
            "command_id": {
              "type": "string"
            }
          },
          "required": [
            "i",
            "height_m",
            "observation_id",
            "command_id"
          ],
          "type": "object",
          "additionalProperties": false
        },
        "strict": true
      }
    },
    {
      "type": "function",
      "function": {
        "name": "robot_door_action",
        "description": "Grasp at visible handle using current TCP, press spring lever, physically swing latch-released hinge, or release. Bounded ideal contact controller.",
        "parameters": {
          "properties": {
            "i": {
              "description": "concise intent",
              "type": "string"
            },
            "door_id": {
              "type": "string"
            },
            "action": {
              "enum": [
                "grasp",
                "press",
                "open",
                "close",
                "release"
              ],
              "type": "string"
            },
            "observation_id": {
              "type": "string"
            },
            "command_id": {
              "type": "string"
            }
          },
          "required": [
            "i",
            "door_id",
            "action",
            "observation_id",
            "command_id"
          ],
          "type": "object",
          "additionalProperties": false
        },
        "strict": true
      }
    },
    {
      "type": "function",
      "function": {
        "name": "robot_stop",
        "description": "Latch stop without releasing held cloth or door handle.",
        "parameters": {
          "properties": {
            "i": {
              "description": "concise intent",
              "type": "string"
            }
          },
          "required": [
            "i"
          ],
          "type": "object",
          "additionalProperties": false
        },
        "strict": true
      }
    },
    {
      "type": "function",
      "function": {
        "name": "mission_memory_read",
        "description": "Read configured mission/room memory; may contain unverified prior agent notes.",
        "parameters": {
          "properties": {
            "i": {
              "description": "concise intent",
              "type": "string"
            }
          },
          "required": [
            "i"
          ],
          "type": "object",
          "additionalProperties": false
        },
        "strict": true
      }
    },
    {
      "type": "function",
      "function": {
        "name": "room_measure",
        "description": "Measure latest RGB-D observation and atomically update configured room memory using expected revision.",
        "parameters": {
          "properties": {
            "i": {
              "description": "concise intent",
              "type": "string"
            },
            "expected_revision": {
              "type": "integer"
            }
          },
          "required": [
            "i",
            "expected_revision"
          ],
          "type": "object",
          "additionalProperties": false
        },
        "strict": true
      }
    },
    {
      "type": "function",
      "function": {
        "name": "mission_memory_write",
        "description": "Save bounded mission notes: tracks, attempts, blocked reasons and evidence. These notes are not host-verified deliveries.",
        "parameters": {
          "properties": {
            "i": {
              "description": "concise intent",
              "type": "string"
            },
            "notes": {
              "type": "string"
            }
          },
          "required": [
            "i",
            "notes"
          ],
          "type": "object",
          "additionalProperties": false
        },
        "strict": true
      }
    }
  ]
}