← Отчёты
13.07.2026 · системные фиксы по приёмке 12.07 · приёмка закрыта

Дентал · POLISH-PASS-2 — доработка по приёмке Артура 12.07 (13.07.2026)

S1 чёрные нити, S2 пропуски среза, S3 задний предел; P1/P2 точечные; A-09 скрыт из витрины. До/после на 20 сканах.

Исполнитель: CC (Fable 5). База: HEAD recon-pass-1 (c1f6190), артефакты «до» = прод после recon-регена 12.07 22:28. Ветка polish-pass-2 слита ff в main; реген всех 20 — 13.07 ~15:40, живой кабинет обновлён.

Живой кабинет

https://dental.zaslart.website/cabinet/ (basic_auth artur). Артефакты уходят под версионными URL (?v=<mtime>, проверено: …glb?v=1783957309), кэш не мешает. A-09 в списке пациентов ОТСУТСТВУЕТ (см. A9-1). Публичная версия отчёта + галереи скринов (до/после/пары): https://dental.zaslart.website/reports/polish-pass-2/ (тот же basic_auth, каждый скрин с кэш-бастом ?v=<mtime>).

Системные дефекты — диагнозы и фиксы (общие, не заплатки)

S1. Чёрные нити / вырожденные треугольники — диагноз подтверждён, ТРИ источника

Гипотеза приёмки верна: иглообразные треугольники (аспект > 15, сторона > 1.2 мм) растягивают тёмную текстуру в нить. Перепись продовых GLB «до»: 1189–2142 тёмных игл на скан (A-02/A-06/A-08 — ровно подтверждённые приёмкой). Происхождение (пер-стадийная перепись пайплайна): 1. Веерные заплаты десневых дыр (fill_holes: дыра > 6 рёбер закрывалась веером в центроид). Веер на рваном шраме от sail_trim = сотни игл, центр = среднее тёмного контура → «вееры тёмных штрихов» на жевательных поверхностях (дыры в тёмных зонах скана), стыках зуб-десна и нёбе. 2. Сливеры изолиний (_iso_split): точка среза в микронах от вершины меша. 3. Зип-лента основания (стык плотного обода с редким кольцом) — иглы есть, но основание светлое и монотонное, «нитей» не даёт (оставлены, считаются гардом). Фиксы (в пайплайне, для всех сканов): - десневые дыры > 6 рёбер — триангуляция Лиепы (общий кирпич _liepa_patch_ring с Ярусом-1 recon) вместо веера; в _liepa_refine тощие треугольники не делятся центроидом (это плодило иглы 29→345 на шраме) + финальные флипы по аспекту; оба флип-цикла получили гард многообразия (флип, создающий уже существующее ребро, запрещён — без него 4–391 немногообразных рёбер на скан); - _iso_split: анти-сливер снап (изолиния не подходит к вершине ближе 0.08 мм); - гард вырожденной геометрии: close_shell считает иглы на каждом прогоне (поверхность/основание), qa/v2_closure_check.py держит бюджет тёмных игл видимой поверхности (порог 100; эра вееров давала 1200–2000). Итог по 20 сканам: тёмных игл на видимой поверхности — медиана 1, максимум 87 (A-04 upper — контраст собственной тёмной текстуры скана внутри заплат, рендером проверено: нитей нет). Было 1189–2142 на пострадавших.

S2. Пропуск среза десны — диагноз: ДВА механизма, оба системные

  1. Защита нёба «одеялом» (keep_palate → _arch_core): рваный язык в ядре дуги (фронт A-03 upper: θ 60–95°, глубина до 14 мм) не строгался вовсе — предохранитель срабатывал по своей логике, но защищал кромочный артефакт, а не свод. Фикс: защита свода теперь структурная — строгание = пилинг от кромки (геодезика по kill-области от границы меша ≤ 15 мм): свод/дно рта — внутренние области, пасс их не достаёт по построению и дыр внутри поверхности не делает; кромочные языки срезаются на обеих челюстях одинаково. Два страхующих гарда: (а) пилинг, чей рез осиротил бы крупный внутренний кусок (кольцевой рез вокруг свода — A-04 upper), восстанавливается; (б) грани с зубными вершинами пилинг не снимает никогда.
  2. Широкий язык шире окна rolling-минимума (фронт A-08 upper) становился «местной нормой» огибающей. Фикс: локальный провал огибающей капится медианой 85°-окна + 1.5 мм (медиана робастна, медленный ход стенки по дуге цел).

S3. Задний предел обрезки — введён (двухчастный критерий)

Замер показал: мягкое нёбо/зона к глотке висят внутри дуги (в 2D-проекции между дистальными концами), опускаясь вниз — вертикальная отсечка «дисталь + отступ» их не видит (хорда берёт 0–523 вершин). Критерий из двух частей: - уровень среза перемычки: в беззубом заднем секторе огибающая строгания НЕ строится по ободу (обод там = занавес мягкого нёба; rolling-минимум нырял за ним до 11–16 мм) — интерполируется между дистальными концами дуги. Это задний предел глубины: пилинг срезает всё, что свисает ниже уровня среза дистальных концов; - прямая отсечка distal_trim: всё дальше DISTAL_MARGIN_MM = 3.0 мм дистальнее самой дистальной зубной точки (по направлению центра заднего разрыва зубного ряда) — срезается врезанной изолинией (ровная прямая кромка). Приёмка глазами за Артуром; отступ — один параметр. Про «флажок A-10 не тронут» из PASS-1: флажок — широкая ткань у последнего моляра A-10 lower; правила чистки PASS-1 его структурно не брали (его прибрежный пояс — главный, лавину гасит ширина). Это не та же зона, что «задняя зона A-10 upper» (мягкое нёбо — его убрал уровень перемычки, см. пару S3-a10u-back), но новый предел действует на оба: distal_trim на A-10 lower срезал 256 вершин дистальнее хорды — флажок теперь подрезан задним пределом (пара S3-a10l-back).

Точечные

A9-1. A-09 скрыт из витрины — подтверждено

Механизм: колонка patients.hidden (аддитивная миграция в store.py); /api/patients не отдаёт скрытых; кейс (/case и страница) отвечает 404. Пруф с публичного URL: страница пациентов без A-09 (qa/shots/polish2-after/A9-hidden-patients-list.png), GET …/api/patients/1149436bd44f/case → 404; артефакты целы на диске (ae7d0dfc2078.glb 616КБ, 1851acfea0d0.glb 1.4МБ, teeth.json на месте), БД/разметка не тронуты. Возврат: UPDATE patients SET hidden=0 WHERE name='Пациент A-09'.

Замечание в задачу B (зафиксировано, НЕ исполнялось)

  1. На A-01 метка «37» стоит на десневом лоскуте у импланта — ложный класс целиком.
  2. Гард «тело зуба байт-в-байт» охраняет крупнейшую объёмную компоненту КАЖДОГО класса; если класс ложный целиком — его «тело» = сам мусор, и гард делает его неприкасаемым для чистки. Floor строгания тоже обязан его обходить: на A-08 upper 93 вершины класса 1 лежат на 5.5–6.4 мм ниже цервикальной линии (label-bleed или реальная рецессия — текущая разметка не различает) и держат V-образный спуск линии среза по фронту (видно на паре S2-a08u-front: стало сильно ровнее, но V остаётся). Предложение для задачи B: классы, не подтверждённые сегментацией v2 (нет объёмного тела λ3/λ1 ≥ 0.28 в согласованной позиции, или расходятся v1↔v2), понижать до «кандидата»: гард держит их ГЕОМЕТРИЮ байт-в-байт (не удалять!), но (а) исключает из floor/огибающей строгания, (б) отдаёт врачу как indeterminate с подсветкой, (в) разрешает демоцию МЕТКИ (не геометрии) по анатомическим правилам. Мусор перестаёт быть неприкасаемым, а реальный зуб при ошибке v2 остаётся цел.

Ограничения (соблюдены)

Приёмка

Таблица самопроверки против эталона (A-03 lower, внутренняя линия среза)

Критерий «соответствует»: гладкая огибающая линия среза по всей дуге (внутренняя и щёчная), без языков/занавесов/уступов/вееров; тёмных игл на поверхности ≈ 0.

Скан Вердикт Комментарий
A-01 upper соответствует 0 игл; ровная линия
A-01 lower соответствует 1 тёмная игла; линия без уступов (конус floor), заливы у имплантов закрыты гладко; дистальный «крючок»-хвостик у ретромолярной зоны был и «до» (за пределами пунктов приёмки)
A-02 upper соответствует вееры на моляре/нёбе ушли (Лиепа); 2 окна смыкания — канон; 9 тёмных игл в заплатах
A-02 lower соответствует провал в центре щёчной сглажен медиан-капом; 6 тёмных игл
A-03 upper соответствует язык по фронту срезан (пилинг), задний занавес срезан до уровня перемычки
A-03 lower эталон 0 игл, watertight
A-04 upper отклонение (принятое) 87 «тёмных» игл = контраст собственной тёмной текстуры скана внутри заплат Лиепы; рендером проверено — нитей/вееров нет. Кольцевой рез свода предотвращён гардом сироты
A-04 lower соответствует 25 тёмных игл в тёмной текстуре; линия гладкая
A-05 upper соответствует иглы заплат 12; тело зуба 13 защищено гардом смежности
A-05 lower соответствует 0 тёмных
A-06 upper соответствует мягкое нёбо срезано (S3); 3 честные дыры у зуба открыты
A-06 lower соответствует 0 тёмных; distal 5 вершин (почти нечего резать)
A-07 upper соответствует distal 523 вершины — самый большой задний хвост; watertight
A-07 lower соответствует 0 тёмных
A-08 upper отклонение (задача B) задний занавес и рваная кромка ушли; остаётся сглаженный V-спуск линии по фронту — его держат 93 вершины класса 1 на 5.5–6.4 мм ниже цервикальной (label-bleed/рецессия), резать под ними запрещает инвариант зуба
A-08 lower соответствует 0 тёмных
A-09 upper вне витрины (A9-1) метрики зелёные (15 тёмных игл, 10 честных дыр у зуба — рваный waxup)
A-09 lower вне витрины (A9-1) метрики зелёные
A-10 upper соответствует 0 игл; мягкое нёбо срезано уровнем перемычки
A-10 lower соответствует 0 игл; флажок подрезан задним пределом (256 вершин дистальнее хорды)

Таблица заморозки артефактов (приёмка финализации, указание Артура 13.07)

Базлайн v2 qa/artifact-freeze-20260713.json снят с устоявшегося состояния после регена-2 (код 54d7f52); проверка qa/freeze_table.py (exit 0 = нарушений нет): артефакт не менялся после базлайна (mtime+md5), и ВСЕ скрины скана (recon-accept ×16 + polish2-after ×8+) сняты ПОЗЖЕ mtime его артефакта.

Скан Артефакт (glb) mtime артефакта md5 Скринов Все сняты после mtime
Пациент A-01 upper 5f706d1da931.glb 2026-07-13 15:41:49 2d4a3ef66ddb… 24 ✅
Пациент A-01 lower 102841516c8c.glb 2026-07-13 15:43:02 d202156ef143… 24 ✅
Пациент A-02 upper 1d48734f8e98.glb 2026-07-13 15:45:03 5c4bead60a75… 24 ✅
Пациент A-02 lower 6a4f69ddc35e.glb 2026-07-13 15:46:04 f19ed1ed9ff4… 24 ✅
Пациент A-03 upper 8ed7f3f5902a.glb 2026-07-13 15:47:22 90f12605db5b… 24 ✅
Пациент A-03 lower cfbd0272c1e2.glb 2026-07-13 15:48:10 08a661256994… 24 ✅
Пациент A-04 upper c652395acbca.glb 2026-07-13 15:50:50 1a5faf84a4af… 24 ✅
Пациент A-04 lower afb3e793cdbc.glb 2026-07-13 15:53:03 287e5e48cb90… 24 ✅
Пациент A-05 upper 70a98dc9d1a7.glb 2026-07-13 15:54:14 172db3d6de87… 24 ✅
Пациент A-05 lower 33d859d72a00.glb 2026-07-13 15:55:03 7b7966bd296e… 24 ✅
Пациент A-06 upper 7c566f81f8b3.glb 2026-07-13 15:56:23 5c9ffc1a4cf0… 24 ✅
Пациент A-06 lower adf259ee2acf.glb 2026-07-13 15:57:13 bff39e6d783f… 24 ✅
Пациент A-07 upper 75f24034acc3.glb 2026-07-13 15:59:48 d0465dddc5af… 24 ✅
Пациент A-07 lower 96067e05e233.glb 2026-07-13 16:01:09 a54acd7319b8… 24 ✅
Пациент A-08 upper 50aefc9080b4.glb 2026-07-13 16:02:19 92e04659cfa1… 24 ✅
Пациент A-08 lower 1ed3c92373e0.glb 2026-07-13 16:03:08 1d30f5ccc616… 24 ✅
Пациент A-09 upper 1851acfea0d0.glb 2026-07-13 16:05:53 4da2a33c45df… 24 ✅
Пациент A-09 lower ae7d0dfc2078.glb 2026-07-13 16:07:31 b3eaeb1793c7… 24 ✅
Пациент A-10 upper dbf17cdddf42.glb 2026-07-13 16:09:24 0e8919f26aee… 24 ✅
Пациент A-10 lower 16e713dbb366.glb 2026-07-13 16:10:42 4f5ee8a1965c… 24 ✅

Хронология честно: моя заморозка 15:15 (chmod 444 + базлайн v1 состояния 14:19) была перекрыта регеном-2 сессии-фиксатора (root игнорирует chmod; реген нёс фикс инварианта A-05u) — базлайн переснят (v2, 16:10), recon-accept пересняты третьим прогоном 17:0X, polish2-after уже были сняты после регена-2 (16:11–16:34).

Точка отката

Галерея pairs — 17 скринов
Галерея before — 177 скринов
ETALON-a03l-inner.png
ETALON-a03l-inner.png
P1-a01l-front.png
P1-a01l-front.png
P1-a01l-impl.png
P1-a01l-impl.png
P2-a02l-bucc.png
P2-a02l-bucc.png
P2-a02u-pal.png
P2-a02u-pal.png
S1-a02l-occl.png
S1-a02l-occl.png
S1-a02u-debris.png
S1-a02u-debris.png
S1-a02u-occl.png
S1-a02u-occl.png
S1-a06l-occl.png
S1-a06l-occl.png
S1-a06u-occl.png
S1-a06u-occl.png
S1-a08u-occl.png
S1-a08u-occl.png
S2-a03u-front.png
S2-a03u-front.png
S2-a08u-front.png
S2-a08u-front.png
S3-a06u-back.png
S3-a06u-back.png
S3-a08u-back.png
S3-a08u-back.png
S3-a10l-back.png
S3-a10l-back.png
S3-a10u-back.png
S3-a10u-back.png
a-01-lower-3q-l.png
a-01-lower-3q-l.png
a-01-lower-3q-r.png
a-01-lower-3q-r.png
a-01-lower-back.png
a-01-lower-back.png
a-01-lower-bottom.png
a-01-lower-bottom.png
a-01-lower-front.png
a-01-lower-front.png
a-01-lower-left.png
a-01-lower-left.png
a-01-lower-occl.png
a-01-lower-occl.png
a-01-lower-right.png
a-01-lower-right.png
a-01-upper-3q-l.png
a-01-upper-3q-l.png
a-01-upper-3q-r.png
a-01-upper-3q-r.png
a-01-upper-back.png
a-01-upper-back.png
a-01-upper-bottom.png
a-01-upper-bottom.png
a-01-upper-front.png
a-01-upper-front.png
a-01-upper-left.png
a-01-upper-left.png
a-01-upper-occl.png
a-01-upper-occl.png
a-01-upper-right.png
a-01-upper-right.png
a-02-lower-3q-l.png
a-02-lower-3q-l.png
a-02-lower-3q-r.png
a-02-lower-3q-r.png
a-02-lower-back.png
a-02-lower-back.png
a-02-lower-bottom.png
a-02-lower-bottom.png
a-02-lower-front.png
a-02-lower-front.png
a-02-lower-left.png
a-02-lower-left.png
a-02-lower-occl.png
a-02-lower-occl.png
a-02-lower-right.png
a-02-lower-right.png
a-02-upper-3q-l.png
a-02-upper-3q-l.png
a-02-upper-3q-r.png
a-02-upper-3q-r.png
a-02-upper-back.png
a-02-upper-back.png
a-02-upper-bottom.png
a-02-upper-bottom.png
a-02-upper-front.png
a-02-upper-front.png
a-02-upper-left.png
a-02-upper-left.png
a-02-upper-occl.png
a-02-upper-occl.png
a-02-upper-right.png
a-02-upper-right.png
a-03-lower-3q-l.png
a-03-lower-3q-l.png
a-03-lower-3q-r.png
a-03-lower-3q-r.png
a-03-lower-back.png
a-03-lower-back.png
a-03-lower-bottom.png
a-03-lower-bottom.png
a-03-lower-front.png
a-03-lower-front.png
a-03-lower-left.png
a-03-lower-left.png
a-03-lower-occl.png
a-03-lower-occl.png
a-03-lower-right.png
a-03-lower-right.png
a-03-upper-3q-l.png
a-03-upper-3q-l.png
a-03-upper-3q-r.png
a-03-upper-3q-r.png
a-03-upper-back.png
a-03-upper-back.png
a-03-upper-bottom.png
a-03-upper-bottom.png
a-03-upper-front.png
a-03-upper-front.png
a-03-upper-left.png
a-03-upper-left.png
a-03-upper-occl.png
a-03-upper-occl.png
a-03-upper-right.png
a-03-upper-right.png
a-04-lower-3q-l.png
a-04-lower-3q-l.png
a-04-lower-3q-r.png
a-04-lower-3q-r.png
a-04-lower-back.png
a-04-lower-back.png
a-04-lower-bottom.png
a-04-lower-bottom.png
a-04-lower-front.png
a-04-lower-front.png
a-04-lower-left.png
a-04-lower-left.png
a-04-lower-occl.png
a-04-lower-occl.png
a-04-lower-right.png
a-04-lower-right.png
a-04-upper-3q-l.png
a-04-upper-3q-l.png
a-04-upper-3q-r.png
a-04-upper-3q-r.png
a-04-upper-back.png
a-04-upper-back.png
a-04-upper-bottom.png
a-04-upper-bottom.png
a-04-upper-front.png
a-04-upper-front.png
a-04-upper-left.png
a-04-upper-left.png
a-04-upper-occl.png
a-04-upper-occl.png
a-04-upper-right.png
a-04-upper-right.png
a-05-lower-3q-l.png
a-05-lower-3q-l.png
a-05-lower-3q-r.png
a-05-lower-3q-r.png
a-05-lower-back.png
a-05-lower-back.png
a-05-lower-bottom.png
a-05-lower-bottom.png
a-05-lower-front.png
a-05-lower-front.png
a-05-lower-left.png
a-05-lower-left.png
a-05-lower-occl.png
a-05-lower-occl.png
a-05-lower-right.png
a-05-lower-right.png
a-05-upper-3q-l.png
a-05-upper-3q-l.png
a-05-upper-3q-r.png
a-05-upper-3q-r.png
a-05-upper-back.png
a-05-upper-back.png
a-05-upper-bottom.png
a-05-upper-bottom.png
a-05-upper-front.png
a-05-upper-front.png
a-05-upper-left.png
a-05-upper-left.png
a-05-upper-occl.png
a-05-upper-occl.png
a-05-upper-right.png
a-05-upper-right.png
a-06-lower-3q-l.png
a-06-lower-3q-l.png
a-06-lower-3q-r.png
a-06-lower-3q-r.png
a-06-lower-back.png
a-06-lower-back.png
a-06-lower-bottom.png
a-06-lower-bottom.png
a-06-lower-front.png
a-06-lower-front.png
a-06-lower-left.png
a-06-lower-left.png
a-06-lower-occl.png
a-06-lower-occl.png
a-06-lower-right.png
a-06-lower-right.png
a-06-upper-3q-l.png
a-06-upper-3q-l.png
a-06-upper-3q-r.png
a-06-upper-3q-r.png
a-06-upper-back.png
a-06-upper-back.png
a-06-upper-bottom.png
a-06-upper-bottom.png
a-06-upper-front.png
a-06-upper-front.png
a-06-upper-left.png
a-06-upper-left.png
a-06-upper-occl.png
a-06-upper-occl.png
a-06-upper-right.png
a-06-upper-right.png
a-07-lower-3q-l.png
a-07-lower-3q-l.png
a-07-lower-3q-r.png
a-07-lower-3q-r.png
a-07-lower-back.png
a-07-lower-back.png
a-07-lower-bottom.png
a-07-lower-bottom.png
a-07-lower-front.png
a-07-lower-front.png
a-07-lower-left.png
a-07-lower-left.png
a-07-lower-occl.png
a-07-lower-occl.png
a-07-lower-right.png
a-07-lower-right.png
a-07-upper-3q-l.png
a-07-upper-3q-l.png
a-07-upper-3q-r.png
a-07-upper-3q-r.png
a-07-upper-back.png
a-07-upper-back.png
a-07-upper-bottom.png
a-07-upper-bottom.png
a-07-upper-front.png
a-07-upper-front.png
a-07-upper-left.png
a-07-upper-left.png
a-07-upper-occl.png
a-07-upper-occl.png
a-07-upper-right.png
a-07-upper-right.png
a-08-lower-3q-l.png
a-08-lower-3q-l.png
a-08-lower-3q-r.png
a-08-lower-3q-r.png
a-08-lower-back.png
a-08-lower-back.png
a-08-lower-bottom.png
a-08-lower-bottom.png
a-08-lower-front.png
a-08-lower-front.png
a-08-lower-left.png
a-08-lower-left.png
a-08-lower-occl.png
a-08-lower-occl.png
a-08-lower-right.png
a-08-lower-right.png
a-08-upper-3q-l.png
a-08-upper-3q-l.png
a-08-upper-3q-r.png
a-08-upper-3q-r.png
a-08-upper-back.png
a-08-upper-back.png
a-08-upper-bottom.png
a-08-upper-bottom.png
a-08-upper-front.png
a-08-upper-front.png
a-08-upper-left.png
a-08-upper-left.png
a-08-upper-occl.png
a-08-upper-occl.png
a-08-upper-right.png
a-08-upper-right.png
a-09-lower-3q-l.png
a-09-lower-3q-l.png
a-09-lower-3q-r.png
a-09-lower-3q-r.png
a-09-lower-back.png
a-09-lower-back.png
a-09-lower-bottom.png
a-09-lower-bottom.png
a-09-lower-front.png
a-09-lower-front.png
a-09-lower-left.png
a-09-lower-left.png
a-09-lower-occl.png
a-09-lower-occl.png
a-09-lower-right.png
a-09-lower-right.png
a-09-upper-3q-l.png
a-09-upper-3q-l.png
a-09-upper-3q-r.png
a-09-upper-3q-r.png
a-09-upper-back.png
a-09-upper-back.png
a-09-upper-bottom.png
a-09-upper-bottom.png
a-09-upper-front.png
a-09-upper-front.png
a-09-upper-left.png
a-09-upper-left.png
a-09-upper-occl.png
a-09-upper-occl.png
a-09-upper-right.png
a-09-upper-right.png
a-10-lower-3q-l.png
a-10-lower-3q-l.png
a-10-lower-3q-r.png
a-10-lower-3q-r.png
a-10-lower-back.png
a-10-lower-back.png
a-10-lower-bottom.png
a-10-lower-bottom.png
a-10-lower-front.png
a-10-lower-front.png
a-10-lower-left.png
a-10-lower-left.png
a-10-lower-occl.png
a-10-lower-occl.png
a-10-lower-right.png
a-10-lower-right.png
a-10-upper-3q-l.png
a-10-upper-3q-l.png
a-10-upper-3q-r.png
a-10-upper-3q-r.png
a-10-upper-back.png
a-10-upper-back.png
a-10-upper-bottom.png
a-10-upper-bottom.png
a-10-upper-front.png
a-10-upper-front.png
a-10-upper-left.png
a-10-upper-left.png
a-10-upper-occl.png
a-10-upper-occl.png
a-10-upper-right.png
a-10-upper-right.png
Галерея after — 178 скринов
A9-hidden-patients-list.png
A9-hidden-patients-list.png
ETALON-a03l-inner.png
ETALON-a03l-inner.png
P1-a01l-front.png
P1-a01l-front.png
P1-a01l-impl.png
P1-a01l-impl.png
P2-a02l-bucc.png
P2-a02l-bucc.png
P2-a02u-pal.png
P2-a02u-pal.png
S1-a02l-occl.png
S1-a02l-occl.png
S1-a02u-debris.png
S1-a02u-debris.png
S1-a02u-occl.png
S1-a02u-occl.png
S1-a06l-occl.png
S1-a06l-occl.png
S1-a06u-occl.png
S1-a06u-occl.png
S1-a08u-occl.png
S1-a08u-occl.png
S2-a03u-front.png
S2-a03u-front.png
S2-a08u-front.png
S2-a08u-front.png
S3-a06u-back.png
S3-a06u-back.png
S3-a08u-back.png
S3-a08u-back.png
S3-a10l-back.png
S3-a10l-back.png
S3-a10u-back.png
S3-a10u-back.png
a-01-lower-3q-l.png
a-01-lower-3q-l.png
a-01-lower-3q-r.png
a-01-lower-3q-r.png
a-01-lower-back.png
a-01-lower-back.png
a-01-lower-bottom.png
a-01-lower-bottom.png
a-01-lower-front.png
a-01-lower-front.png
a-01-lower-left.png
a-01-lower-left.png
a-01-lower-occl.png
a-01-lower-occl.png
a-01-lower-right.png
a-01-lower-right.png
a-01-upper-3q-l.png
a-01-upper-3q-l.png
a-01-upper-3q-r.png
a-01-upper-3q-r.png
a-01-upper-back.png
a-01-upper-back.png
a-01-upper-bottom.png
a-01-upper-bottom.png
a-01-upper-front.png
a-01-upper-front.png
a-01-upper-left.png
a-01-upper-left.png
a-01-upper-occl.png
a-01-upper-occl.png
a-01-upper-right.png
a-01-upper-right.png
a-02-lower-3q-l.png
a-02-lower-3q-l.png
a-02-lower-3q-r.png
a-02-lower-3q-r.png
a-02-lower-back.png
a-02-lower-back.png
a-02-lower-bottom.png
a-02-lower-bottom.png
a-02-lower-front.png
a-02-lower-front.png
a-02-lower-left.png
a-02-lower-left.png
a-02-lower-occl.png
a-02-lower-occl.png
a-02-lower-right.png
a-02-lower-right.png
a-02-upper-3q-l.png
a-02-upper-3q-l.png
a-02-upper-3q-r.png
a-02-upper-3q-r.png
a-02-upper-back.png
a-02-upper-back.png
a-02-upper-bottom.png
a-02-upper-bottom.png
a-02-upper-front.png
a-02-upper-front.png
a-02-upper-left.png
a-02-upper-left.png
a-02-upper-occl.png
a-02-upper-occl.png
a-02-upper-right.png
a-02-upper-right.png
a-03-lower-3q-l.png
a-03-lower-3q-l.png
a-03-lower-3q-r.png
a-03-lower-3q-r.png
a-03-lower-back.png
a-03-lower-back.png
a-03-lower-bottom.png
a-03-lower-bottom.png
a-03-lower-front.png
a-03-lower-front.png
a-03-lower-left.png
a-03-lower-left.png
a-03-lower-occl.png
a-03-lower-occl.png
a-03-lower-right.png
a-03-lower-right.png
a-03-upper-3q-l.png
a-03-upper-3q-l.png
a-03-upper-3q-r.png
a-03-upper-3q-r.png
a-03-upper-back.png
a-03-upper-back.png
a-03-upper-bottom.png
a-03-upper-bottom.png
a-03-upper-front.png
a-03-upper-front.png
a-03-upper-left.png
a-03-upper-left.png
a-03-upper-occl.png
a-03-upper-occl.png
a-03-upper-right.png
a-03-upper-right.png
a-04-lower-3q-l.png
a-04-lower-3q-l.png
a-04-lower-3q-r.png
a-04-lower-3q-r.png
a-04-lower-back.png
a-04-lower-back.png
a-04-lower-bottom.png
a-04-lower-bottom.png
a-04-lower-front.png
a-04-lower-front.png
a-04-lower-left.png
a-04-lower-left.png
a-04-lower-occl.png
a-04-lower-occl.png
a-04-lower-right.png
a-04-lower-right.png
a-04-upper-3q-l.png
a-04-upper-3q-l.png
a-04-upper-3q-r.png
a-04-upper-3q-r.png
a-04-upper-back.png
a-04-upper-back.png
a-04-upper-bottom.png
a-04-upper-bottom.png
a-04-upper-front.png
a-04-upper-front.png
a-04-upper-left.png
a-04-upper-left.png
a-04-upper-occl.png
a-04-upper-occl.png
a-04-upper-right.png
a-04-upper-right.png
a-05-lower-3q-l.png
a-05-lower-3q-l.png
a-05-lower-3q-r.png
a-05-lower-3q-r.png
a-05-lower-back.png
a-05-lower-back.png
a-05-lower-bottom.png
a-05-lower-bottom.png
a-05-lower-front.png
a-05-lower-front.png
a-05-lower-left.png
a-05-lower-left.png
a-05-lower-occl.png
a-05-lower-occl.png
a-05-lower-right.png
a-05-lower-right.png
a-05-upper-3q-l.png
a-05-upper-3q-l.png
a-05-upper-3q-r.png
a-05-upper-3q-r.png
a-05-upper-back.png
a-05-upper-back.png
a-05-upper-bottom.png
a-05-upper-bottom.png
a-05-upper-front.png
a-05-upper-front.png
a-05-upper-left.png
a-05-upper-left.png
a-05-upper-occl.png
a-05-upper-occl.png
a-05-upper-right.png
a-05-upper-right.png
a-06-lower-3q-l.png
a-06-lower-3q-l.png
a-06-lower-3q-r.png
a-06-lower-3q-r.png
a-06-lower-back.png
a-06-lower-back.png
a-06-lower-bottom.png
a-06-lower-bottom.png
a-06-lower-front.png
a-06-lower-front.png
a-06-lower-left.png
a-06-lower-left.png
a-06-lower-occl.png
a-06-lower-occl.png
a-06-lower-right.png
a-06-lower-right.png
a-06-upper-3q-l.png
a-06-upper-3q-l.png
a-06-upper-3q-r.png
a-06-upper-3q-r.png
a-06-upper-back.png
a-06-upper-back.png
a-06-upper-bottom.png
a-06-upper-bottom.png
a-06-upper-front.png
a-06-upper-front.png
a-06-upper-left.png
a-06-upper-left.png
a-06-upper-occl.png
a-06-upper-occl.png
a-06-upper-right.png
a-06-upper-right.png
a-07-lower-3q-l.png
a-07-lower-3q-l.png
a-07-lower-3q-r.png
a-07-lower-3q-r.png
a-07-lower-back.png
a-07-lower-back.png
a-07-lower-bottom.png
a-07-lower-bottom.png
a-07-lower-front.png
a-07-lower-front.png
a-07-lower-left.png
a-07-lower-left.png
a-07-lower-occl.png
a-07-lower-occl.png
a-07-lower-right.png
a-07-lower-right.png
a-07-upper-3q-l.png
a-07-upper-3q-l.png
a-07-upper-3q-r.png
a-07-upper-3q-r.png
a-07-upper-back.png
a-07-upper-back.png
a-07-upper-bottom.png
a-07-upper-bottom.png
a-07-upper-front.png
a-07-upper-front.png
a-07-upper-left.png
a-07-upper-left.png
a-07-upper-occl.png
a-07-upper-occl.png
a-07-upper-right.png
a-07-upper-right.png
a-08-lower-3q-l.png
a-08-lower-3q-l.png
a-08-lower-3q-r.png
a-08-lower-3q-r.png
a-08-lower-back.png
a-08-lower-back.png
a-08-lower-bottom.png
a-08-lower-bottom.png
a-08-lower-front.png
a-08-lower-front.png
a-08-lower-left.png
a-08-lower-left.png
a-08-lower-occl.png
a-08-lower-occl.png
a-08-lower-right.png
a-08-lower-right.png
a-08-upper-3q-l.png
a-08-upper-3q-l.png
a-08-upper-3q-r.png
a-08-upper-3q-r.png
a-08-upper-back.png
a-08-upper-back.png
a-08-upper-bottom.png
a-08-upper-bottom.png
a-08-upper-front.png
a-08-upper-front.png
a-08-upper-left.png
a-08-upper-left.png
a-08-upper-occl.png
a-08-upper-occl.png
a-08-upper-right.png
a-08-upper-right.png
a-09-lower-3q-l.png
a-09-lower-3q-l.png
a-09-lower-3q-r.png
a-09-lower-3q-r.png
a-09-lower-back.png
a-09-lower-back.png
a-09-lower-bottom.png
a-09-lower-bottom.png
a-09-lower-front.png
a-09-lower-front.png
a-09-lower-left.png
a-09-lower-left.png
a-09-lower-occl.png
a-09-lower-occl.png
a-09-lower-right.png
a-09-lower-right.png
a-09-upper-3q-l.png
a-09-upper-3q-l.png
a-09-upper-3q-r.png
a-09-upper-3q-r.png
a-09-upper-back.png
a-09-upper-back.png
a-09-upper-bottom.png
a-09-upper-bottom.png
a-09-upper-front.png
a-09-upper-front.png
a-09-upper-left.png
a-09-upper-left.png
a-09-upper-occl.png
a-09-upper-occl.png
a-09-upper-right.png
a-09-upper-right.png
a-10-lower-3q-l.png
a-10-lower-3q-l.png
a-10-lower-3q-r.png
a-10-lower-3q-r.png
a-10-lower-back.png
a-10-lower-back.png
a-10-lower-bottom.png
a-10-lower-bottom.png
a-10-lower-front.png
a-10-lower-front.png
a-10-lower-left.png
a-10-lower-left.png
a-10-lower-occl.png
a-10-lower-occl.png
a-10-lower-right.png
a-10-lower-right.png
a-10-upper-3q-l.png
a-10-upper-3q-l.png
a-10-upper-3q-r.png
a-10-upper-3q-r.png
a-10-upper-back.png
a-10-upper-back.png
a-10-upper-bottom.png
a-10-upper-bottom.png
a-10-upper-front.png
a-10-upper-front.png
a-10-upper-left.png
a-10-upper-left.png
a-10-upper-occl.png
a-10-upper-occl.png
a-10-upper-right.png
a-10-upper-right.png