Copy disabled (too large)
Download .txt
Showing preview only (18,431K chars total). Download the full file to get everything.
Repository: lkeab/gsnet
Branch: master
Commit: b150d13543cd
Files: 411
Total size: 53.9 MB
Directory structure:
gitextract_imebi4tp/
├── README.md
├── camera_intrinsic/
│ └── camera_intrinsic.npy
├── car_deform_result/
│ ├── 0.obj
│ ├── 1.obj
│ ├── 10.obj
│ ├── 11.obj
│ ├── 12.obj
│ ├── 13.obj
│ ├── 14.obj
│ ├── 15.obj
│ ├── 16.obj
│ ├── 17.obj
│ ├── 18.obj
│ ├── 19.obj
│ ├── 2.obj
│ ├── 20.obj
│ ├── 21.obj
│ ├── 22.obj
│ ├── 23.obj
│ ├── 24.obj
│ ├── 25.obj
│ ├── 26.obj
│ ├── 27.obj
│ ├── 28.obj
│ ├── 29.obj
│ ├── 3.obj
│ ├── 30.obj
│ ├── 31.obj
│ ├── 32.obj
│ ├── 33.obj
│ ├── 34.obj
│ ├── 35.obj
│ ├── 36.obj
│ ├── 37.obj
│ ├── 38.obj
│ ├── 39.obj
│ ├── 4.obj
│ ├── 40.obj
│ ├── 41.obj
│ ├── 42.obj
│ ├── 43.obj
│ ├── 44.obj
│ ├── 45.obj
│ ├── 46.obj
│ ├── 47.obj
│ ├── 48.obj
│ ├── 49.obj
│ ├── 5.obj
│ ├── 50.obj
│ ├── 51.obj
│ ├── 52.obj
│ ├── 53.obj
│ ├── 54.obj
│ ├── 55.obj
│ ├── 56.obj
│ ├── 57.obj
│ ├── 58.obj
│ ├── 59.obj
│ ├── 6.obj
│ ├── 60.obj
│ ├── 61.obj
│ ├── 62.obj
│ ├── 63.obj
│ ├── 64.obj
│ ├── 65.obj
│ ├── 66.obj
│ ├── 67.obj
│ ├── 68.obj
│ ├── 69.obj
│ ├── 7.obj
│ ├── 70.obj
│ ├── 71.obj
│ ├── 72.obj
│ ├── 73.obj
│ ├── 74.obj
│ ├── 75.obj
│ ├── 76.obj
│ ├── 77.obj
│ ├── 78.obj
│ ├── 8.obj
│ ├── 9.obj
│ └── car_models.py
├── datasets/
│ └── apollo/
│ └── annotations/
│ ├── apollo_train.json
│ └── apollo_val.json
├── merge_mean_car_shape/
│ ├── merge_mean_car_model_0.obj
│ ├── merge_mean_car_model_1.obj
│ ├── merge_mean_car_model_2.obj
│ └── merge_mean_car_model_3.obj
├── pca_components/
│ ├── new_merge_0_components.npy
│ ├── new_merge_1_components.npy
│ ├── new_merge_2_components.npy
│ └── new_merge_3_components.npy
└── reference_code/
├── GSNet-release/
│ ├── LICENSE
│ ├── README.md
│ ├── camera_intrinsic/
│ │ └── camera_intrinsic.npy
│ ├── car_deform_result/
│ │ ├── 0.obj
│ │ ├── 1.obj
│ │ ├── 10.obj
│ │ ├── 11.obj
│ │ ├── 12.obj
│ │ ├── 13.obj
│ │ ├── 14.obj
│ │ ├── 15.obj
│ │ ├── 16.obj
│ │ ├── 17.obj
│ │ ├── 18.obj
│ │ ├── 19.obj
│ │ ├── 2.obj
│ │ ├── 20.obj
│ │ ├── 21.obj
│ │ ├── 22.obj
│ │ ├── 23.obj
│ │ ├── 24.obj
│ │ ├── 25.obj
│ │ ├── 26.obj
│ │ ├── 27.obj
│ │ ├── 28.obj
│ │ ├── 29.obj
│ │ ├── 3.obj
│ │ ├── 30.obj
│ │ ├── 31.obj
│ │ ├── 32.obj
│ │ ├── 33.obj
│ │ ├── 34.obj
│ │ ├── 35.obj
│ │ ├── 36.obj
│ │ ├── 37.obj
│ │ ├── 38.obj
│ │ ├── 39.obj
│ │ ├── 4.obj
│ │ ├── 40.obj
│ │ ├── 41.obj
│ │ ├── 42.obj
│ │ ├── 43.obj
│ │ ├── 44.obj
│ │ ├── 45.obj
│ │ ├── 46.obj
│ │ ├── 47.obj
│ │ ├── 48.obj
│ │ ├── 49.obj
│ │ ├── 5.obj
│ │ ├── 50.obj
│ │ ├── 51.obj
│ │ ├── 52.obj
│ │ ├── 53.obj
│ │ ├── 54.obj
│ │ ├── 55.obj
│ │ ├── 56.obj
│ │ ├── 57.obj
│ │ ├── 58.obj
│ │ ├── 59.obj
│ │ ├── 6.obj
│ │ ├── 60.obj
│ │ ├── 61.obj
│ │ ├── 62.obj
│ │ ├── 63.obj
│ │ ├── 64.obj
│ │ ├── 65.obj
│ │ ├── 66.obj
│ │ ├── 67.obj
│ │ ├── 68.obj
│ │ ├── 69.obj
│ │ ├── 7.obj
│ │ ├── 70.obj
│ │ ├── 71.obj
│ │ ├── 72.obj
│ │ ├── 73.obj
│ │ ├── 74.obj
│ │ ├── 75.obj
│ │ ├── 76.obj
│ │ ├── 77.obj
│ │ ├── 78.obj
│ │ ├── 8.obj
│ │ └── 9.obj
│ ├── configs/
│ │ ├── Base-RCNN-FPN.yaml
│ │ └── COCO-Keypoints/
│ │ ├── Base-Keypoint-RCNN-FPN-apollo.yaml
│ │ └── keypoint_rcnn_R_101_FPN_3x_apollo.yaml
│ ├── demo/
│ │ ├── .README.md.swp
│ │ ├── README.md
│ │ ├── demo.py
│ │ └── predictor.py
│ ├── detectron2/
│ │ ├── __init__.py
│ │ ├── checkpoint/
│ │ │ ├── __init__.py
│ │ │ ├── c2_model_loading.py
│ │ │ ├── catalog.py
│ │ │ └── detection_checkpoint.py
│ │ ├── config/
│ │ │ ├── __init__.py
│ │ │ ├── compat.py
│ │ │ ├── config.py
│ │ │ ├── defaults.py
│ │ │ └── defaults.py~
│ │ ├── data/
│ │ │ ├── __init__.py
│ │ │ ├── build.py
│ │ │ ├── catalog.py
│ │ │ ├── common.py
│ │ │ ├── dataset_mapper.py
│ │ │ ├── datasets/
│ │ │ │ ├── README.md
│ │ │ │ ├── __init__.py
│ │ │ │ ├── builtin.py
│ │ │ │ ├── builtin_meta.py
│ │ │ │ ├── cityscapes.py
│ │ │ │ ├── coco.py
│ │ │ │ ├── lvis.py
│ │ │ │ ├── lvis_v0_5_categories.py
│ │ │ │ ├── pascal_voc.py
│ │ │ │ ├── process_dataset.py
│ │ │ │ ├── process_dataset_occ.py
│ │ │ │ └── register_coco.py
│ │ │ ├── detection_utils.py
│ │ │ ├── samplers/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── distributed_sampler.py
│ │ │ │ └── grouped_batch_sampler.py
│ │ │ └── transforms/
│ │ │ ├── __init__.py
│ │ │ ├── transform.py
│ │ │ └── transform_gen.py
│ │ ├── engine/
│ │ │ ├── __init__.py
│ │ │ ├── defaults.py
│ │ │ ├── hooks.py
│ │ │ ├── launch.py
│ │ │ └── train_loop.py
│ │ ├── evaluation/
│ │ │ ├── __init__.py
│ │ │ ├── cityscapes_evaluation.py
│ │ │ ├── coco_evaluation.py
│ │ │ ├── evaluator.py
│ │ │ ├── lvis_evaluation.py
│ │ │ ├── panoptic_evaluation.py
│ │ │ ├── pascal_voc_evaluation.py
│ │ │ ├── rotated_coco_evaluation.py
│ │ │ ├── sem_seg_evaluation.py
│ │ │ └── testing.py
│ │ ├── export/
│ │ │ ├── README.md
│ │ │ ├── __init__.py
│ │ │ ├── api.py
│ │ │ ├── c10.py
│ │ │ ├── caffe2_export.py
│ │ │ ├── caffe2_inference.py
│ │ │ ├── caffe2_modeling.py
│ │ │ ├── patcher.py
│ │ │ └── shared.py
│ │ ├── layers/
│ │ │ ├── __init__.py
│ │ │ ├── __init__.py~
│ │ │ ├── batch_norm.py
│ │ │ ├── boundary.py
│ │ │ ├── csrc/
│ │ │ │ ├── README.md
│ │ │ │ ├── ROIAlign/
│ │ │ │ │ ├── ROIAlign.h
│ │ │ │ │ ├── ROIAlign_cpu.cpp
│ │ │ │ │ └── ROIAlign_cuda.cu
│ │ │ │ ├── ROIAlignRotated/
│ │ │ │ │ ├── ROIAlignRotated.h
│ │ │ │ │ ├── ROIAlignRotated_cpu.cpp
│ │ │ │ │ └── ROIAlignRotated_cuda.cu
│ │ │ │ ├── box_iou_rotated/
│ │ │ │ │ ├── box_iou_rotated.h
│ │ │ │ │ ├── box_iou_rotated_cpu.cpp
│ │ │ │ │ ├── box_iou_rotated_cuda.cu
│ │ │ │ │ └── box_iou_rotated_utils.h
│ │ │ │ ├── cuda_version.cu
│ │ │ │ ├── deformable/
│ │ │ │ │ ├── deform_conv.h
│ │ │ │ │ ├── deform_conv_cuda.cu
│ │ │ │ │ └── deform_conv_cuda_kernel.cu
│ │ │ │ ├── nms_rotated/
│ │ │ │ │ ├── nms_rotated.h
│ │ │ │ │ ├── nms_rotated_cpu.cpp
│ │ │ │ │ └── nms_rotated_cuda.cu
│ │ │ │ └── vision.cpp
│ │ │ ├── deform_conv.py
│ │ │ ├── iou_loss.py
│ │ │ ├── mask_ops.py
│ │ │ ├── misc.py
│ │ │ ├── nms.py
│ │ │ ├── roi_align.py
│ │ │ ├── roi_align_rotated.py
│ │ │ ├── rotated_boxes.py
│ │ │ ├── scale.py
│ │ │ ├── shape_spec.py
│ │ │ └── wrappers.py
│ │ ├── modeling/
│ │ │ ├── __init__.py
│ │ │ ├── anchor_generator.py
│ │ │ ├── backbone/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── backbone.py
│ │ │ │ ├── build.py
│ │ │ │ ├── fpn.py
│ │ │ │ ├── fpn.py~
│ │ │ │ ├── pafpn.py
│ │ │ │ ├── pafpn.py~
│ │ │ │ └── resnet.py
│ │ │ ├── box_regression.py
│ │ │ ├── matcher.py
│ │ │ ├── meta_arch/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── build.py
│ │ │ │ ├── fcos.py
│ │ │ │ ├── fcos.py~
│ │ │ │ ├── inference_fcos.py
│ │ │ │ ├── inference_fcos.py~
│ │ │ │ ├── loss_fcos.py
│ │ │ │ ├── panoptic_fpn.py
│ │ │ │ ├── rcnn.py
│ │ │ │ ├── retinanet.py
│ │ │ │ └── semantic_seg.py
│ │ │ ├── poolers.py
│ │ │ ├── postprocessing.py
│ │ │ ├── proposal_generator/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── build.py
│ │ │ │ ├── proposal_utils.py
│ │ │ │ ├── rpn.py
│ │ │ │ ├── rpn_outputs.py
│ │ │ │ ├── rrpn.py
│ │ │ │ └── rrpn_outputs.py
│ │ │ ├── roi_heads/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── box_head.py
│ │ │ │ ├── cascade_rcnn.py
│ │ │ │ ├── fast_rcnn.py
│ │ │ │ ├── keypoint_head.py
│ │ │ │ ├── mask_head.py
│ │ │ │ ├── mask_head.py~
│ │ │ │ ├── roi_heads.py
│ │ │ │ └── rotated_fast_rcnn.py
│ │ │ ├── sampling.py
│ │ │ └── test_time_augmentation.py
│ │ ├── solver/
│ │ │ ├── __init__.py
│ │ │ ├── build.py
│ │ │ └── lr_scheduler.py
│ │ ├── structures/
│ │ │ ├── __init__.py
│ │ │ ├── boxes.py
│ │ │ ├── image_list.py
│ │ │ ├── instances.py
│ │ │ ├── keypoints.py
│ │ │ ├── masks.py
│ │ │ └── rotated_boxes.py
│ │ └── utils/
│ │ ├── README.md
│ │ ├── __init__.py
│ │ ├── collect_env.py
│ │ ├── colormap.py
│ │ ├── comm.py
│ │ ├── env.py
│ │ ├── events.py
│ │ ├── logger.py
│ │ ├── memory.py
│ │ ├── registry.py
│ │ ├── serialize.py
│ │ ├── video_visualizer.py
│ │ └── visualizer.py
│ ├── detectron2.egg-info/
│ │ ├── PKG-INFO
│ │ ├── SOURCES.txt
│ │ ├── dependency_links.txt
│ │ ├── requires.txt
│ │ └── top_level.txt
│ ├── kpts_mapping/
│ │ └── kpts_mapping.npy
│ ├── pca_components/
│ │ ├── new_merge_0_components.npy
│ │ ├── new_merge_1_components.npy
│ │ ├── new_merge_2_components.npy
│ │ └── new_merge_3_components.npy
│ ├── pytorch_toolbelt/
│ │ ├── __init__.py
│ │ ├── inference/
│ │ │ ├── __init__.py
│ │ │ ├── functional.py
│ │ │ ├── tiles.py
│ │ │ └── tta.py
│ │ ├── losses/
│ │ │ ├── __init__.py
│ │ │ ├── __init__.py~
│ │ │ ├── dice.py
│ │ │ ├── focal.py
│ │ │ ├── functional.py
│ │ │ ├── functional.py~
│ │ │ ├── jaccard.py
│ │ │ ├── joint_loss.py
│ │ │ ├── lovasz.py
│ │ │ ├── other_losses.py
│ │ │ ├── other_losses.py~
│ │ │ └── wing_loss.py
│ │ ├── modules/
│ │ │ ├── __init__.py
│ │ │ ├── __init__.py~
│ │ │ ├── abn.py
│ │ │ ├── activations.py
│ │ │ ├── agn.py
│ │ │ ├── backbone/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── efficient_net.py
│ │ │ │ ├── inceptionv4.py
│ │ │ │ ├── mobilenet.py
│ │ │ │ ├── mobilenetv3.py
│ │ │ │ ├── senet.py
│ │ │ │ └── wider_resnet.py
│ │ │ ├── coord_conv.py
│ │ │ ├── decoders.py
│ │ │ ├── dropblock.py
│ │ │ ├── dsconv.py
│ │ │ ├── encoders.py
│ │ │ ├── fpn.py
│ │ │ ├── hypercolumn.py
│ │ │ ├── identity.py
│ │ │ ├── pooling.py
│ │ │ ├── scse.py
│ │ │ ├── srm.py
│ │ │ └── unet.py
│ │ ├── optimization/
│ │ │ ├── __init__.py
│ │ │ ├── functional.py
│ │ │ └── lr_schedules.py
│ │ └── utils/
│ │ ├── __init__.py
│ │ ├── catalyst/
│ │ │ ├── __init__.py
│ │ │ ├── criterions.py
│ │ │ ├── metrics.py
│ │ │ ├── utils.py
│ │ │ └── visualization.py
│ │ ├── catalyst_utils.py
│ │ ├── dataset_utils.py
│ │ ├── fs.py
│ │ ├── namesgenerator.py
│ │ ├── random.py
│ │ ├── rle.py
│ │ ├── torch_utils.py
│ │ └── visualization.py
│ ├── run.sh
│ ├── setup.cfg
│ └── setup.py
└── roi_heads.py
================================================
FILE CONTENTS
================================================
================================================
FILE: README.md
================================================
[](https://paperswithcode.com/sota/vehicle-pose-estimation-on-apollocar3d?p=gsnet-joint-vehicle-pose-and-shape)
[](https://paperswithcode.com/sota/3d-shape-reconstruction-on-apollocar3d?p=gsnet-joint-vehicle-pose-and-shape)
# GSNet: Joint Vehicle Pose and Shape Reconstruction with Geometrical and Scene-aware Supervision [ECCV'20]
Code and 3D car mesh models for the *ECCV 2020 paper* "GSNet: Joint Vehicle Pose and Shape Reconstruction with Geometrical and Scene-aware Supervision".
GSNet performs joint vehicle pose estimation and vehicle shape reconstruction with single RGB image as input.
### [[arXiv](https://arxiv.org/abs/2007.13124)]|[[Paper](https://www.ecva.net/papers/eccv_2020/papers_ECCV/papers/123600511.pdf)]|[[Project Page](http://lkeab.github.io/gsnet/)]
<p align='center'>
<img src='https://github.com/lkeab/gsnet/blob/master/images/framework.png' width='900'/>
</p>
## Abstract
We present a novel end-to-end framework named as **GSNet** (Geometric and Scene-aware Network), which **jointly** estimates 6DoF poses and reconstructs detailed 3D car shapes from single urban street view. GSNet utilizes a unique four-way feature extraction and fusion scheme and directly regresses 6DoF vehicle poses and shapes in a single forward pass. Extensive experiments show that our diverse feature extraction and fusion scheme can greatly improve model performance. Based on a divide-and-conquer 3D shape representation strategy, GSNet reconstructs 3D vehicle shape with great detail (1352 vertices and 2700 faces). This dense mesh representation further leads us to consider geometrical consistency and scene context, and inspires a new multi-objective loss function to regularize network training, which in turn improves the accuracy of 6D pose estimation and validates the merit of jointly performing both tasks.
Results on ApolloCar3D benchmark
----------
(Check Table 3 of the paper for full results)
| Method | A3DP-Rel-mean | A3DP-Abs-mean |
|----------|--------|-----------|
| DeepMANTA (CVPR'17) | 16.04 | 20.1 |
| 3D-RCNN (CVPR'18) | 10.79 | 16.44 |
| Kpt-based (CVPR'19) | 16.53 | 20.4 |
| Direct-based (CVPR'19) | 11.49 | 15.15 |
| **GSNet (ECCV'20)** | **20.21** | **18.91**|
## Installation
We build GSNet based on the [Detectron2](https://github.com/facebookresearch/detectron2/) developed by FAIR. Please first follow its [readme file](https://github.com/facebookresearch/detectron2/blob/master/INSTALL.md). We recommend the Pre-Built Detectron2 (Linux only) version with pytorch 1.5 by the following command:
```
python -m pip install detectron2 -f \
https://dl.fbaipublicfiles.com/detectron2/wheels/cu101/torch1.5/index.html
```
## Dataset Preparation
The ApolloCar3D dataset is detailed in paper [ApolloCar3D](https://openaccess.thecvf.com/content_CVPR_2019/papers/Song_ApolloCar3D_A_Large_3D_Car_Instance_Understanding_Benchmark_for_Autonomous_CVPR_2019_paper.pdf) and the corresponding images can be obtained from [link](http://apolloscape.auto/car_instance.html).
We provide **our converted car meshes** (same topology), kpts, bounding box, 3d pose annotations etc. in coco format under the [car_deform_result](https://github.com/lkeab/gsnet/blob/master/car_deform_result/) and [datasets/apollo/annotations](https://github.com/lkeab/gsnet/blob/master/datasets/apollo/annotations/) folders.
## Environment
- Python 3.6
- Numpy 1.16
- PyTorch >= 1.0.1
- CUDA 9/10
- [Softras](https://github.com/ShichenLiu/SoftRas)
- [Pyrender](https://github.com/mmatl/pyrender)
## Using Our Car mesh models
[car_deform_result](https://github.com/lkeab/gsnet/blob/master/car_deform_result/): We provide 79 types of ground truth car meshes with the **same topology** (1352 vertices and 2700 faces) converted using SoftRas (https://github.com/ShichenLiu/SoftRas)
The file [car_models.py](https://github.com/lkeab/gsnet/blob/master/car_deform_result/car_models.py) has a detailed description on the car id and car type correspondance.
[merge_mean_car_shape](https://github.com/lkeab/gsnet/blob/master/merge_mean_car_shape/): The mean car shape of the four shape basis used by four independent PCA models.
[pca_components](https://github.com/lkeab/gsnet/blob/master/pca_components): The learned weights of the four PCA models.

**How to use our car mesh models?** Please refer to the `class StandardROIHeads` in [roi_heads.py](https://github.com/lkeab/gsnet/blob/master/reference_code/roi_heads.py), which contains the core inference code for ROI head of GSNet. It relies on the [SoftRas](https://github.com/ShichenLiu/SoftRas) to load and manipulate the car meshes.
## Run GSNet
Please follow the [readme](https://github.com/lkeab/gsnet/tree/master/reference_code/GSNet-release) page (including the pretrained model).
## Citation
Please star this repository and cite the following paper in your publications if it helps your research:
@InProceedings{gsnet2020ke,
author = {Ke, Lei and Li, Shichao and Sun, Yanan and Tai, Yu-Wing and Tang, Chi-Keung},
title = {GSNet: Joint Vehicle Pose and Shape Reconstruction with Geometrical and Scene-aware Supervision},
booktitle = {European Conference on Computer Vision (ECCV)},
year = {2020}
}
Related repo based on detectron2: [BCNet, CVPR'21](https://github.com/lkeab/BCNet)- a bilayer instance segmentation method
Related work reading: [EgoNet, CVPR'21](https://arxiv.org/abs/2011.08464)
## License
A MIT license is used for this repository. However, certain third-party datasets, such as (ApolloCar3D), are subject to their respective licenses and may not grant commercial use.
================================================
FILE: car_deform_result/0.obj
================================================
# scale_baojun-310-2017.obj
#
v 0.22211827 0.23140812 0.41494215
v 0.25957385 0.25004488 0.39122039
v 0.18374337 0.21192896 0.39199728
v 0.22394618 0.23457244 0.36893106
v 0.17666736 0.20647550 0.43832552
v 0.20449051 0.21228579 0.46014410
v 0.24989475 0.24144307 0.43747860
v 0.28135365 0.24701697 0.41748136
v 0.25274953 0.23904294 0.34835505
v 0.28100374 0.24592572 0.36835140
v 0.18556732 0.20849231 0.35195982
v 0.14584853 0.19809547 0.35022128
v 0.14348279 0.20017540 0.41509628
v 0.20828035 0.20648715 0.31819052
v 0.15633325 0.19874588 0.49164850
v 0.13953872 0.19833982 0.46495920
v 0.22622730 0.21284524 0.48022914
v 0.17744671 0.19973651 0.51082003
v 0.27062261 0.22705907 0.46083206
v 0.28850538 0.22820243 0.44182998
v 0.29225269 0.23909748 0.40364331
v 0.24005565 0.20378771 0.29902476
v 0.27928674 0.22166300 0.32778752
v 0.29379353 0.22137877 0.34490442
v 0.16715273 0.19543463 0.30478519
v 0.11774482 0.19190907 0.29399955
v 0.14132573 0.19058850 0.27672648
v 0.11436515 0.19602066 0.38082176
v 0.10921632 0.19725642 0.45184028
v 0.18280099 0.19129556 0.25973356
v 0.21093279 0.18992808 0.24890028
v 0.12647519 0.19394556 0.54507273
v 0.10643014 0.19560137 0.51715577
v 0.19572152 0.19875753 0.52579087
v 0.23404771 0.20185176 0.51527584
v 0.14776503 0.19410738 0.56532037
v 0.26716599 0.20258704 0.49988788
v 0.29758167 0.21212965 0.43217081
v 0.28210279 0.19197634 0.48673970
v 0.29894432 0.21145663 0.38908798
v 0.25148907 0.18906957 0.23164143
v 0.26159373 0.19703919 0.29085732
v 0.27375919 0.18984824 0.28910369
v 0.28182754 0.17189449 0.29438508
v 0.29709989 0.17942104 0.34869361
v 0.15575343 0.18731847 0.22772242
v 0.10173570 0.18922397 0.22120444
v 0.12877990 0.18638012 0.19222195
v 0.09249444 0.19388381 0.32595009
v 0.08421364 0.19722989 0.41831756
v 0.07480596 0.19690293 0.49644560
v 0.18432637 0.18619645 0.17701302
v 0.22333714 0.18849152 0.16853480
v 0.08164069 0.19405574 0.56986165
v 0.08000019 0.19319320 0.60228026
v 0.05228660 0.19440961 0.56014079
v 0.17799003 0.19514510 0.57172865
v 0.20680964 0.19697541 0.58733916
v 0.24898398 0.19515225 0.56124669
v 0.11225338 0.19364217 0.61179012
v 0.26492131 0.19285041 0.54047412
v 0.29915369 0.17525104 0.40667880
v 0.29200456 0.16949618 0.46712404
v 0.27613604 0.17369804 0.52859366
v 0.26373398 0.18407407 0.17746294
v 0.26794749 0.18394232 0.23435514
v 0.25596961 0.18678194 0.13795117
v 0.27500430 0.17267016 0.23290984
v 0.28680500 0.13880771 0.30743986
v 0.28185394 0.14606725 0.24564011
v 0.29491124 0.13675842 0.36964566
v 0.15548770 0.18452275 0.12982836
v 0.11421742 0.18468744 0.10872227
v 0.08790261 0.18664744 0.13612269
v 0.07702176 0.19150031 0.25311297
v 0.13936517 0.18348107 0.07422295
v 0.06747922 0.19546890 0.36097109
v 0.05423049 0.19802949 0.45342064
v 0.03833890 0.19671625 0.52238935
v 0.18529497 0.18578058 0.07139063
v 0.20680197 0.18844557 0.10446995
v 0.23890924 0.18991581 0.08057886
v 0.03338132 0.19294235 0.59961671
v 0.03843676 0.19287851 0.63801527
v 0.00228498 0.19282287 0.62441307
v 0.00132412 0.19247293 0.58568168
v 0.01567107 0.19417310 0.55851609
v 0.14691000 0.19496399 0.62203985
v 0.17407526 0.19559658 0.63702506
v 0.21689869 0.19176209 0.61467928
v 0.24245609 0.18578783 0.59790975
v 0.07112160 0.19428018 0.65075260
v 0.25826418 0.17383116 0.58090442
v 0.29593462 0.13171622 0.43516916
v 0.28538463 0.13348708 0.50392681
v 0.26966983 0.13652885 0.56645018
v 0.27361488 0.17648771 0.16194114
v 0.26955619 0.18010017 0.10388015
v 0.26231942 0.18370560 0.05219705
v 0.28057715 0.15642725 0.18527506
v 0.29070732 0.10163820 0.32399780
v 0.28555718 0.10816161 0.25254023
v 0.28173903 0.12816933 0.20285557
v 0.29451931 0.09336402 0.38966972
v 0.16464527 0.18413424 0.02666576
v 0.12726916 0.18209884 0.00238746
v 0.10487390 0.18274733 0.02194028
v 0.08043426 0.18375126 0.03778111
v 0.06396734 0.18894514 0.16043767
v 0.05069784 0.19333538 0.27923298
v 0.15140422 0.18267220 -0.01313352
v 0.03975878 0.19669902 0.38572478
v 0.02000537 0.19863704 0.46610564
v 0.00128331 0.19668001 0.51657975
v 0.19704628 0.18648183 -0.02998348
v 0.22322832 0.18984556 0.01129913
v 0.25513610 0.18630677 -0.00600992
v -0.02683104 0.19198501 0.60490668
v -0.04027757 0.19240731 0.64246356
v -0.00234505 0.19112590 0.65897483
v -0.06757125 0.19169858 0.61962128
v -0.04445568 0.19253352 0.57730782
v -0.01958599 0.19388700 0.55322415
v 0.11192508 0.19292599 0.66235089
v 0.15747252 0.19108883 0.66012996
v 0.20261694 0.18406913 0.63577724
v 0.23144431 0.16681063 0.61748511
v 0.00116089 0.18904281 0.67566687
v 0.25082558 0.12175778 0.60294408
v 0.29352847 0.08979909 0.45709747
v 0.28071514 0.09184818 0.52778596
v 0.25881478 0.08580538 0.58236349
v 0.27637702 0.16803604 0.07987694
v 0.28050569 0.15393700 0.12175758
v 0.27208176 0.17415234 0.02393162
v 0.27036637 0.17616856 -0.02962896
v 0.28287312 0.12693670 0.14887765
v 0.29307607 0.06286021 0.33338779
v 0.28733402 0.07865710 0.28258288
v 0.28250799 0.09149314 0.17763561
v 0.28315395 0.06727549 0.22698347
v 0.29439121 0.05207371 0.39754593
v 0.17675719 0.18424782 -0.06730025
v 0.12573554 0.18050981 -0.08084162
v 0.15217414 0.18174267 -0.08425071
v 0.10127732 0.18056971 -0.07380310
v 0.07842341 0.18072021 -0.07187953
v 0.05732470 0.18513528 0.04873050
v 0.04125207 0.19015706 0.17238554
v 0.02490966 0.19449005 0.29661733
v 0.01362387 0.19752127 0.39101541
v -0.01227688 0.19777584 0.42852890
v -0.03090842 0.19773793 0.49051768
v 0.20769638 0.18681520 -0.12639466
v 0.23081593 0.18763003 -0.08967913
v 0.24929394 0.18657613 -0.06170852
v 0.26850080 0.17928550 -0.09241260
v -0.07954236 0.19131947 0.58850932
v -0.07811989 0.19414416 0.65749389
v -0.12021376 0.19283655 0.62059009
v -0.12164412 0.19170600 0.58916551
v -0.08273585 0.19303232 0.54976350
v -0.05364329 0.19481620 0.52755976
v 0.07620019 0.18583688 0.67669415
v 0.15008838 0.18182829 0.67081457
v 0.17710407 0.15214570 0.65684384
v 0.20035875 0.11468803 0.63973135
v -0.11784272 0.19245362 0.66427231
v -0.04023385 0.18378255 0.68328547
v 0.22246087 0.07617966 0.61830515
v 0.29104027 0.04831728 0.46942979
v 0.27128136 0.04855638 0.53379738
v 0.24168544 0.04254430 0.58322006
v 0.27787873 0.15272409 0.00584177
v 0.28126553 0.14082298 0.05344975
v 0.28296477 0.12205242 0.08761212
v 0.27898964 0.16101602 -0.05383279
v 0.27675816 0.16860822 -0.11648507
v 0.28470218 0.09039005 0.11271721
v 0.28594735 0.04659460 0.26901501
v 0.28655183 0.03019618 0.32544535
v 0.28450930 0.05214154 0.12983017
v 0.28216970 0.05181541 0.17590980
v 0.27767867 0.02480626 0.20602278
v 0.28969780 0.01916917 0.39116091
v 0.18303981 0.18294773 -0.15249920
v 0.12489922 0.17778507 -0.16612914
v 0.15255995 0.17983025 -0.16284657
v 0.10075779 0.17687133 -0.17153962
v 0.08012072 0.17644855 -0.17862327
v 0.05619560 0.18086457 -0.07540686
v 0.03660599 0.18533036 0.03888155
v 0.01487941 0.19062680 0.16789141
v 0.00135055 0.19558340 0.31418234
v -0.02439187 0.19546288 0.30707181
v -0.04236836 0.19742146 0.38903248
v -0.06107241 0.19753200 0.45079744
v 0.21156892 0.18466112 -0.21509531
v 0.24062122 0.18658561 -0.18464063
v 0.25905782 0.18193626 -0.14362545
v 0.27203825 0.17373551 -0.19155627
v -0.11803514 0.19309434 0.55479205
v -0.15845543 0.19457397 0.62851167
v -0.17863722 0.19409543 0.59071124
v -0.16811538 0.19356132 0.57025653
v -0.15665631 0.19427037 0.54348886
v -0.11428643 0.19586867 0.51099485
v -0.08486010 0.19739646 0.49204880
v 0.03552504 0.16865304 0.68929362
v 0.10005327 0.14107606 0.68593007
v 0.13537893 0.10219333 0.67224532
v 0.16573605 0.06488556 0.64735043
v -0.15751986 0.18850577 0.66580564
v -0.19951399 0.19495049 0.62683809
v -0.07978370 0.16733274 0.68598855
v 0.19574820 0.02501150 0.61997455
v 0.28063238 0.01793071 0.46583217
v 0.26430011 0.01385226 0.52692485
v 0.21809825 0.00127279 0.58702862
v 0.28331164 0.13136747 -0.06457850
v 0.28069350 0.12123612 -0.01194884
v 0.28331253 0.10705587 0.02862149
v 0.28643751 0.08338305 0.05667649
v 0.28307742 0.14198285 -0.12626353
v 0.27853036 0.15450676 -0.19075274
v 0.28883329 0.04974668 0.07379626
v 0.28295034 0.01202529 0.25378656
v 0.27853400 0.00010322 0.30701524
v 0.28501540 0.01748656 0.09044090
v 0.27998209 0.02053598 0.14507625
v 0.28145564 -0.00931217 0.20637082
v 0.27760303 -0.00798359 0.16691761
v 0.27485397 -0.00859130 0.38580745
v 0.18102448 0.17982486 -0.22906649
v 0.15022875 0.17636228 -0.24162234
v 0.12376761 0.17369205 -0.25530857
v 0.10077046 0.17234811 -0.26650274
v 0.05779737 0.17595652 -0.19573061
v 0.07981709 0.17206667 -0.28013322
v 0.03805088 0.17986369 -0.10352552
v 0.01751658 0.18432096 -0.00415032
v -0.00393429 0.18793082 0.08449085
v -0.00941386 0.19251084 0.21616895
v -0.02617633 0.19124165 0.16525595
v -0.04825382 0.19384760 0.25641608
v -0.06663755 0.19649500 0.34069890
v -0.08640209 0.19852242 0.40133286
v 0.23976819 0.18387595 -0.28143540
v 0.20220980 0.18009540 -0.28987980
v 0.26486963 0.17903551 -0.23438942
v 0.27728057 0.16050220 -0.26095733
v 0.27220339 0.17205527 -0.28726578
v -0.14754602 0.19595554 0.50949371
v -0.21549803 0.19585681 0.57696289
v -0.21146563 0.19807434 0.53873610
v -0.19483668 0.20046917 0.51619124
v -0.17781243 0.19979519 0.49799979
v -0.10936333 0.19855949 0.44281667
v -0.13915870 0.19969767 0.45971531
v -0.01613502 0.13501269 0.69487977
v 0.05618858 0.09832151 0.68867421
v 0.09345306 0.05200877 0.66839385
v 0.12813912 0.02330473 0.64723444
v -0.22529460 0.19014099 0.61866480
v -0.16614498 0.18102142 0.66716504
v -0.25062504 0.19525924 0.56868130
v -0.11422720 0.13967878 0.68438178
v 0.17329535 -0.00484024 0.61959225
v 0.26164433 -0.01528445 0.46392632
v 0.23910648 -0.01700720 0.52307147
v 0.19922237 -0.01911110 0.57692939
v 0.28375033 0.10742170 -0.12574567
v 0.28495663 0.09472688 -0.06847593
v 0.28463441 0.08254230 -0.02196853
v 0.28715098 0.06919356 0.01146764
v 0.29208198 0.03826284 0.02220112
v 0.28075084 0.12137948 -0.18736595
v 0.28037632 0.13611642 -0.24030650
v 0.29057333 0.01048191 0.03926982
v 0.28878587 -0.02982912 0.23375647
v 0.27186209 -0.02583000 0.30598515
v 0.27519748 -0.01179713 0.11346376
v 0.27996406 -0.01623258 0.05899549
v 0.28989395 -0.03572109 0.19217367
v 0.27496925 -0.03371934 0.14383292
v 0.25874406 -0.03556649 0.38433498
v 0.17241426 0.17599794 -0.29120404
v 0.15089701 0.17275919 -0.32882476
v 0.12174488 0.16981332 -0.34037644
v 0.09775131 0.16841850 -0.35461187
v 0.03989106 0.17457542 -0.23405722
v 0.05747009 0.17186764 -0.29059318
v 0.07216404 0.16810519 -0.36807448
v 0.01911903 0.17848942 -0.15351990
v 0.00101987 0.18229023 -0.07189909
v -0.02051179 0.18557039 0.00959393
v -0.04608353 0.18753079 0.08956379
v -0.06806441 0.19117782 0.20234986
v -0.08797615 0.19406626 0.28426790
v -0.10737503 0.19714788 0.34549290
v 0.22070444 0.18288037 -0.35162687
v 0.25005654 0.18276927 -0.35425866
v 0.26035917 0.17846796 -0.30597040
v 0.18575333 0.17843127 -0.34830117
v 0.27784172 0.16274643 -0.32749307
v 0.28267735 0.13692433 -0.29642344
v 0.26913449 0.17496946 -0.35808080
v -0.17251636 0.20177633 0.45716256
v -0.25141603 0.20519188 0.50429082
v -0.23136660 0.21456748 0.47691041
v -0.20827682 0.21284559 0.44969392
v -0.13059606 0.20002434 0.38514537
v -0.16047664 0.20326239 0.40288126
v -0.07628411 0.10726868 0.68837887
v -0.02392502 0.08341607 0.68775570
v 0.02431418 0.05211515 0.68154031
v 0.03528218 0.02373917 0.67103738
v 0.09289994 0.00725905 0.64682889
v -0.26040259 0.18778098 0.57304275
v -0.23770373 0.17959613 0.61550772
v -0.18711075 0.14349605 0.65494764
v -0.26985103 0.19674987 0.51534921
v -0.13900809 0.09932600 0.67259640
v 0.13697918 -0.01633242 0.61247987
v 0.24004400 -0.03783354 0.45734668
v 0.21549644 -0.03491616 0.51711416
v 0.17711294 -0.03797672 0.54945832
v 0.28269920 0.08539915 -0.18560135
v 0.28504068 0.06867380 -0.12500653
v 0.28781706 0.05219109 -0.07102116
v 0.29285771 0.02969541 -0.02626079
v 0.29722714 -0.00811800 -0.00830877
v 0.28099611 0.10429669 -0.25449789
v 0.29102084 -0.02227468 0.01533087
v 0.33511513 -0.07820452 0.21126337
v 0.28620139 -0.04738064 0.25600499
v 0.25932384 -0.05325125 0.31398493
v 0.26389232 -0.04661815 0.08833739
v 0.27425745 -0.05034747 0.02852172
v 0.29143733 -0.05791704 0.17164890
v 0.26604271 -0.06156280 0.13452466
v 0.23956752 -0.05557318 0.38748169
v 0.17606510 0.18054086 -0.39960748
v 0.14446451 0.17294873 -0.40419465
v 0.11687014 0.16813467 -0.41840035
v 0.08672165 0.16562043 -0.43354106
v 0.04354823 0.16905491 -0.35755599
v 0.01969001 0.17265448 -0.28318375
v 0.05453387 0.16509041 -0.45357901
v 0.00117263 0.17637862 -0.21277586
v -0.01825694 0.17948085 -0.14087409
v -0.03643248 0.18203211 -0.07187140
v -0.07105200 0.18583775 0.06394792
v -0.05545882 0.18307585 -0.02433417
v -0.08988808 0.18854138 0.15222144
v -0.10831606 0.19135928 0.22581230
v -0.12715405 0.19367847 0.28583884
v 0.21051714 0.19208264 -0.39936846
v 0.24205184 0.19834906 -0.39603388
v 0.26410970 0.19253021 -0.39758664
v 0.28049347 0.16026470 -0.37179989
v 0.28665474 0.13995802 -0.35222369
v 0.28407803 0.11170277 -0.32608348
v 0.27875972 0.18387240 -0.40017772
v -0.19402538 0.21232936 0.39981610
v -0.27965671 0.21987957 0.46793723
v -0.27204862 0.24361348 0.43689448
v -0.24615178 0.24524841 0.41689181
v -0.22970718 0.23553577 0.38250506
v -0.14995405 0.19697240 0.32707071
v -0.17820382 0.20198289 0.34379113
v -0.09242524 0.06898896 0.67291957
v -0.03901481 0.04318054 0.67857718
v -0.05682470 0.01862037 0.66485655
v 0.00588987 0.00519154 0.65865296
v 0.06316999 -0.00225578 0.64122343
v -0.27743813 0.18759581 0.52243865
v -0.26550776 0.17198199 0.57922804
v -0.24121623 0.13864411 0.61668998
v -0.19925815 0.09303145 0.64326859
v -0.15688036 0.05204276 0.64854407
v 0.12107185 -0.03051400 0.57944882
v 0.06847468 -0.01536082 0.61962473
v 0.21080396 -0.05047078 0.47026503
v 0.15674159 -0.04566206 0.52088094
v 0.28184524 0.06082643 -0.24817435
v 0.28484246 0.05250249 -0.17878887
v 0.28691077 0.02571785 -0.13028282
v 0.29034716 0.01467348 -0.07179772
v 0.29127738 -0.01598450 -0.05006979
v 0.28716630 -0.04689533 -0.02122785
v 0.28167537 0.08475481 -0.30050766
v 0.33270046 -0.09237362 0.22074734
v 0.33183464 -0.09630748 0.20498629
v 0.27615350 -0.07120157 0.26393479
v 0.24034639 -0.07704007 0.32067257
v 0.25391546 -0.08398711 0.05203973
v 0.25229797 -0.08240881 0.09526032
v 0.26308313 -0.08414429 -0.00148567
v 0.27327567 -0.09139366 0.17081745
v 0.24793127 -0.10473339 0.12902510
v 0.21322542 -0.06821328 0.39810419
v 0.16841796 0.18607461 -0.45274913
v 0.20592135 0.20441169 -0.43978125
v 0.13673939 0.17315127 -0.46781802
v 0.10462846 0.16593719 -0.48205978
v 0.07572293 0.16507615 -0.49114799
v 0.02329900 0.16622248 -0.44476438
v 0.01778356 0.16871309 -0.37516791
v 0.00013201 0.17138587 -0.33299941
v 0.04731654 0.16453330 -0.52270919
v 0.01970828 0.16425461 -0.50593102
v -0.01891083 0.17417046 -0.27297053
v -0.03708642 0.17687806 -0.20705855
v -0.05555769 0.17933810 -0.13976839
v -0.09302129 0.18377575 0.01878704
v -0.07364405 0.18167749 -0.06508217
v -0.11190176 0.18618748 0.09977798
v -0.12915064 0.18802008 0.17071369
v -0.14935240 0.18902692 0.22729991
v 0.24112341 0.21900007 -0.43071419
v 0.27453741 0.21807903 -0.42652559
v 0.28865448 0.17400074 -0.41363251
v 0.28941718 0.14299098 -0.39932686
v 0.28830522 0.11309962 -0.38551128
v 0.28477803 0.08588076 -0.35913825
v 0.28816715 0.20696437 -0.43177664
v -0.20988268 0.21373802 0.34284884
v -0.29596955 0.24067256 0.41984838
v -0.29182726 0.20637578 0.46752912
v -0.27953529 0.25065020 0.38189542
v -0.25614795 0.24536723 0.36824757
v -0.24568994 0.22804937 0.33593547
v -0.17118143 0.19069999 0.26799166
v -0.19776662 0.19499031 0.28906536
v -0.11087339 0.02907579 0.65749025
v -0.07268916 -0.00084811 0.64499801
v -0.13180111 0.00464299 0.63762695
v 0.00124842 -0.00938582 0.64201927
v -0.28292105 0.16374150 0.53105402
v -0.26896748 0.12625961 0.58615452
v -0.24617571 0.08934803 0.60926813
v -0.21029717 0.04217468 0.61874360
v -0.17801741 0.00905172 0.62891752
v 0.10201829 -0.04039109 0.55181330
v 0.05940233 -0.02708387 0.59204036
v 0.00301764 -0.02291109 0.61578995
v 0.17981957 -0.05883085 0.46073717
v 0.13578029 -0.05401740 0.48626959
v 0.28425735 0.02578960 -0.20987982
v 0.28230044 0.05744734 -0.32422948
v 0.28169501 0.02931188 -0.28696173
v 0.28878027 -0.01315194 -0.10117824
v 0.28653440 -0.00434664 -0.16934438
v 0.28622100 -0.04642944 -0.07169281
v 0.27237871 -0.07966497 -0.05143312
v 0.26133272 -0.09084598 0.26152837
v 0.30459961 -0.11386857 0.21882223
v 0.26708713 -0.11867600 0.19249387
v 0.21608062 -0.08515487 0.33901656
v 0.24131152 -0.12115244 0.02334144
v 0.23904997 -0.11880673 0.07858008
v 0.24935971 -0.11511417 -0.03184794
v 0.23847805 -0.13064164 0.16232437
v 0.22820491 -0.14957768 0.10612206
v 0.17771578 -0.07344661 0.41198516
v 0.20078440 0.21321368 -0.47910744
v 0.16322649 0.18512857 -0.50072813
v 0.23233768 0.23663113 -0.45972919
v 0.12405232 0.17005929 -0.52085352
v 0.07922361 0.16548100 -0.53987145
v -0.00168731 0.16756842 -0.42467093
v -0.00745869 0.16511926 -0.49336272
v -0.02078170 0.16990525 -0.38311559
v 0.01434580 0.16467677 -0.54648757
v 0.03333970 0.16595459 -0.56620079
v -0.01467883 0.16511700 -0.54291493
v -0.03914379 0.17229408 -0.32821065
v -0.05616560 0.17490608 -0.26416397
v -0.07428528 0.17759013 -0.19107318
v -0.09294536 0.18040389 -0.10965064
v -0.11284512 0.18306485 -0.02538619
v -0.13171092 0.18522325 0.05280864
v -0.15108094 0.18632317 0.11760408
v -0.16989301 0.18655533 0.17209658
v 0.26440755 0.24515021 -0.45757604
v 0.28555745 0.23854226 -0.45981818
v 0.29404914 0.16758123 -0.44325817
v 0.29528078 0.21688771 -0.45461422
v 0.29204032 0.12475856 -0.43733835
v 0.29044789 0.08398564 -0.42417258
v 0.28626877 0.06068771 -0.38165528
v -0.22975259 0.20083362 0.29471302
v -0.30351081 0.22649768 0.41518956
v -0.29502955 0.23676765 0.35605294
v -0.29770896 0.17067844 0.47112608
v -0.27607501 0.23402628 0.33713442
v -0.26051873 0.20215434 0.29306954
v -0.19439936 0.18747368 0.20796363
v -0.22410671 0.18967232 0.22742875
v -0.06797141 -0.01867638 0.61704636
v -0.13722689 -0.01717951 0.60993564
v -0.18611543 -0.01116695 0.60835052
v -0.28735086 0.11803962 0.53169411
v -0.26899213 0.07434104 0.57004315
v -0.24851505 0.03196076 0.57571858
v -0.21788324 -0.00061104 0.59370685
v 0.08040307 -0.04813047 0.51678181
v 0.04507983 -0.03922614 0.56020641
v 0.00131909 -0.03478355 0.58290321
v -0.05687996 -0.03285145 0.58342719
v 0.10138469 -0.06031922 0.46165943
v 0.14184006 -0.07401618 0.41406488
v 0.28256276 0.00139722 -0.24676508
v 0.28400338 0.03391789 -0.36010724
v 0.28226340 0.00694295 -0.32505959
v 0.28456059 -0.03373983 -0.13176793
v 0.28136450 -0.02514922 -0.20284463
v 0.27671504 -0.06469418 -0.10575415
v 0.25900090 -0.09949503 -0.08831899
v 0.24281833 -0.11023241 0.24621989
v 0.21937306 -0.09767642 0.29328614
v 0.24866961 -0.12248500 0.21285616
v 0.22575359 -0.14274096 0.17876701
v 0.18060742 -0.08772313 0.34937263
v 0.22630797 -0.15709224 0.04628003
v 0.23034337 -0.15238443 -0.01154717
v 0.24001350 -0.13690269 -0.07187174
v 0.21808854 -0.16506863 0.13022228
v 0.21393685 -0.19234559 0.06050541
v 0.23931715 0.25079986 -0.49510682
v 0.19837400 0.20761499 -0.52335173
v 0.15740906 0.17747605 -0.54476470
v 0.10932959 0.16666758 -0.56364673
v 0.05600385 0.16668746 -0.58529061
v -0.02706269 0.16623366 -0.46715945
v -0.04002428 0.16479141 -0.52953786
v -0.04492150 0.16830176 -0.42865729
v -0.01252161 0.16662392 -0.57565105
v 0.00124997 0.16838543 -0.59735334
v -0.05100551 0.16553378 -0.56781262
v -0.06056600 0.17058614 -0.37650174
v -0.07678070 0.17348151 -0.30975711
v -0.09294744 0.17646232 -0.22994268
v -0.11112104 0.18005636 -0.14463955
v -0.13115156 0.18325984 -0.05801621
v -0.15030792 0.18496683 0.01852208
v -0.17203030 0.18614230 0.05590618
v -0.19265190 0.18700501 0.12705167
v 0.27886552 0.25183025 -0.49188560
v 0.29155865 0.24081928 -0.49321938
v 0.29275009 0.14693156 -0.47815490
v 0.29494762 0.19017866 -0.47867113
v 0.29557109 0.21976277 -0.50168175
v 0.29263437 0.09848693 -0.47489488
v 0.28944847 0.04462435 -0.42093307
v 0.29405385 0.05528908 -0.46892101
v -0.25421011 0.18992567 0.23902832
v -0.30531663 0.17784917 0.40767062
v -0.30127826 0.21024165 0.34218371
v -0.27542397 0.19317618 0.29002184
v -0.29912442 0.12143948 0.46577537
v -0.27394807 0.18420625 0.23504029
v -0.22433451 0.18964568 0.13605334
v -0.25127244 0.18871528 0.17116995
v -0.12130076 -0.03663270 0.56998044
v -0.17855799 -0.03696516 0.55232322
v -0.21945332 -0.02958956 0.53780836
v -0.29106775 0.06545936 0.50679004
v -0.27611718 0.01800000 0.52020127
v -0.24959178 -0.01650414 0.51954484
v 0.05967638 -0.05757905 0.47426343
v 0.02918860 -0.04863930 0.51466632
v -0.00600403 -0.04506016 0.54127985
v -0.04982926 -0.04198008 0.54664600
v -0.10442270 -0.04543118 0.53028941
v 0.07917318 -0.07026387 0.42693383
v 0.11083857 -0.07828385 0.39559019
v 0.14628369 -0.09042447 0.34538782
v 0.28125730 -0.02204622 -0.28117293
v 0.28443086 0.01154143 -0.39667946
v 0.28272533 -0.02023562 -0.35828131
v 0.27737287 -0.05026162 -0.16291276
v 0.27791518 -0.05215392 -0.22596630
v 0.26675877 -0.07784822 -0.14925069
v 0.24985225 -0.11320543 -0.13042396
v 0.18924470 -0.10739218 0.28339249
v 0.21316078 -0.12285977 0.23536159
v 0.20531909 -0.14757845 0.19465519
v 0.20738542 -0.16654927 0.14941670
v 0.21816945 -0.18344969 0.00723322
v 0.22099374 -0.17904171 -0.05266612
v 0.23362263 -0.15020645 -0.11340167
v 0.20428139 -0.19260374 0.09722966
v 0.19619700 -0.21936277 0.02807587
v 0.20604901 -0.20939296 -0.00999638
v 0.23464245 0.22714490 -0.54794687
v 0.26586270 0.24611211 -0.52748138
v 0.19353111 0.18806365 -0.56628728
v 0.14338401 0.17054689 -0.58332479
v 0.08497748 0.16743699 -0.59855962
v 0.02039816 0.16973129 -0.61499113
v -0.05638534 0.16566178 -0.50219083
v -0.07719812 0.16487509 -0.55004835
v -0.07107938 0.16669342 -0.46377140
v -0.05594472 0.16718885 -0.59613454
v -0.04990249 0.16913986 -0.61904120
v -0.09790184 0.16522895 -0.58020157
v -0.08836481 0.16951206 -0.41910410
v -0.09702535 0.17316814 -0.33533943
v -0.11223537 0.17653310 -0.25179785
v -0.13137177 0.18051183 -0.16475342
v -0.15803079 0.18391481 -0.07028229
v -0.18740654 0.18737113 -0.02574925
v -0.20501277 0.18851426 0.05677606
v 0.28404412 0.23954338 -0.53085095
v 0.29229107 0.22654280 -0.53786975
v 0.29350033 0.17005527 -0.51096594
v 0.29347336 0.11573161 -0.51285613
v 0.29465297 0.18584359 -0.54284793
v 0.29582086 0.06372589 -0.50800782
v 0.28961992 0.01722435 -0.45399845
v 0.29313329 0.02165479 -0.49737501
v -0.26743492 0.18490073 0.18991198
v -0.30209288 0.16527815 0.34049541
v -0.30140477 0.11865233 0.39521283
v -0.28464073 0.17843267 0.29174340
v -0.30267927 0.06594823 0.43550724
v -0.28344569 0.16800186 0.22391735
v -0.27828863 0.17668457 0.17276657
v -0.24003519 0.19115859 0.04958505
v -0.26201758 0.18825033 0.09886943
v -0.27098092 0.18310225 0.13452764
v -0.15870892 -0.04910279 0.50304973
v -0.20612755 -0.05004467 0.47582245
v -0.23775122 -0.04677761 0.45022351
v -0.29204568 0.02098910 0.45302498
v -0.26622960 -0.02374564 0.43229049
v 0.01739500 -0.06137847 0.45551199
v 0.04571857 -0.07298867 0.41401511
v -0.01931522 -0.05580683 0.48086095
v -0.04591184 -0.05031556 0.51019841
v -0.08726931 -0.05314859 0.49253947
v -0.13693595 -0.05925758 0.46280229
v 0.07517418 -0.08615903 0.36391526
v 0.11191034 -0.09558868 0.32487899
v 0.14410195 -0.11185411 0.27678269
v 0.28077874 -0.04694320 -0.31201279
v 0.28089288 -0.01743152 -0.42204660
v 0.28109843 -0.04977018 -0.38105482
v 0.26317284 -0.08727127 -0.19670251
v 0.27546924 -0.07047979 -0.26704210
v 0.24458246 -0.12336000 -0.17359135
v 0.17446674 -0.12957758 0.23105170
v 0.16377877 -0.16453719 0.16929185
v 0.18831539 -0.18269342 0.13112533
v 0.20659022 -0.20690650 -0.07187058
v 0.21992804 -0.18126398 -0.10290666
v 0.22646542 -0.16135865 -0.15206653
v 0.18549924 -0.21602282 0.06253687
v 0.18221682 -0.23036447 -0.00303607
v 0.19265203 -0.22555053 -0.03716753
v 0.27412111 0.22121727 -0.56621295
v 0.22622372 0.19329616 -0.58627170
v 0.17625730 0.17425662 -0.60568696
v 0.11373390 0.16840111 -0.61845452
v 0.05205701 0.17035803 -0.62569803
v -0.02352480 0.16950449 -0.63828701
v -0.09102920 0.16562212 -0.52146494
v -0.12211887 0.16657947 -0.55320996
v -0.09732385 0.16678646 -0.48687035
v -0.11020753 0.16655797 -0.60195976
v -0.10989850 0.16765290 -0.62397069
v -0.14983180 0.17053595 -0.57551032
v -0.11622865 0.17278391 -0.41496354
v -0.12057502 0.17039363 -0.47617573
v -0.12059222 0.17442195 -0.34103519
v -0.13402297 0.17738020 -0.26059511
v -0.15507677 0.18085003 -0.18274222
v -0.17854935 0.18438178 -0.11807580
v -0.20429966 0.18796164 -0.07184526
v -0.21984667 0.19040969 -0.01166220
v 0.28615943 0.21209505 -0.56574130
v 0.29156974 0.18936238 -0.57041901
v 0.29408801 0.13137612 -0.54484487
v 0.29472274 0.07694468 -0.54612637
v 0.29309440 0.14252973 -0.57555091
v 0.29196313 0.02782571 -0.53722686
v 0.28260460 -0.01661402 -0.47068387
v 0.28298253 -0.01540217 -0.51220894
v -0.29066509 0.14321756 0.27873856
v -0.29780194 0.10681022 0.32541537
v -0.29974028 0.05881873 0.35807866
v -0.29547909 0.01973646 0.37735736
v -0.28536633 0.15811719 0.15805876
v -0.28768170 0.13328938 0.20955245
v -0.28094965 0.17156118 0.11512859
v -0.25338745 0.18905690 -0.01573773
v -0.26601562 0.18436590 0.03315061
v -0.27539507 0.17992967 0.07863687
v -0.18462032 -0.06662494 0.42507130
v -0.22140823 -0.07099591 0.38782090
v -0.24800031 -0.06489369 0.35245728
v -0.27959511 -0.01080546 0.38380086
v -0.26784059 -0.04185198 0.32688767
v -0.01775020 -0.07139376 0.42008036
v 0.00122068 -0.08190135 0.37942809
v 0.03337562 -0.09182344 0.34517705
v -0.06678152 -0.06243951 0.45684481
v -0.05132783 -0.07441270 0.41227871
v -0.11193000 -0.07184234 0.42879939
v -0.15994070 -0.07939921 0.39252925
v 0.05238645 -0.10997795 0.29345411
v 0.08474498 -0.10680350 0.29788774
v 0.10961405 -0.12295298 0.25295383
v 0.13513391 -0.14337048 0.20710142
v 0.27950588 -0.07046120 -0.33731133
v 0.27617785 -0.05147645 -0.43570113
v 0.27777249 -0.07940621 -0.39415658
v 0.25854734 -0.10018215 -0.23653331
v 0.27054250 -0.08782250 -0.29355237
v 0.23783787 -0.13715100 -0.21031310
v 0.13022617 -0.18233919 0.13447566
v 0.15900898 -0.20031053 0.09923556
v 0.21135455 -0.19718519 -0.12570065
v 0.19494116 -0.22313997 -0.09655087
v 0.21919444 -0.17712861 -0.17952597
v 0.15900098 -0.22711205 0.03128529
v 0.17962183 -0.23659077 -0.07188135
v 0.16371615 -0.23971587 -0.04328111
v 0.24938668 0.18805552 -0.60070181
v 0.26689255 0.18388331 -0.60011554
v 0.20640029 0.17570266 -0.62716937
v 0.13959536 0.16869935 -0.63858938
v 0.05932091 0.17026958 -0.64479470
v -0.10319063 0.16695388 -0.64648896
v -0.01573683 0.16588005 -0.66037995
v -0.12831494 0.16838270 -0.52073371
v -0.17077887 0.18022206 -0.54004145
v -0.16467136 0.17218065 -0.59517360
v -0.17223991 0.17108040 -0.61666286
v -0.19705126 0.18899992 -0.55954522
v -0.14088370 0.17611243 -0.40397203
v -0.14928645 0.17732784 -0.46079469
v -0.15925513 0.17983720 -0.50478393
v -0.14561656 0.17644000 -0.32918364
v -0.15649809 0.17833093 -0.25882453
v -0.17783177 0.18148726 -0.20721243
v -0.21125287 0.18714511 -0.14581418
v -0.23704955 0.19042337 -0.07184660
v 0.28020418 0.17219016 -0.59967959
v 0.28460366 0.14241648 -0.60060781
v 0.29481688 0.09028089 -0.57864410
v 0.29130062 0.03924251 -0.57455105
v 0.29100835 0.10008166 -0.60786682
v 0.27842209 -0.00919626 -0.55132490
v 0.27222863 -0.05283193 -0.47908854
v 0.26918656 -0.05227558 -0.52082157
v -0.29045478 0.09704936 0.25327700
v -0.29070327 0.05215136 0.28542483
v -0.28690964 0.01420194 0.30019838
v -0.27892274 -0.01753309 0.31429911
v -0.28720289 0.14372736 0.10264666
v -0.28902894 0.12168044 0.14779708
v -0.28758901 0.09226421 0.19218566
v -0.28410926 0.16317627 0.05960405
v -0.27255228 0.17890427 -0.02265872
v -0.26660189 0.18414545 -0.07184735
v -0.27771294 0.17348379 0.02017497
v -0.20612080 -0.08636550 0.35020763
v -0.23970975 -0.08740846 0.30526662
v -0.27380115 -0.07406878 0.26734704
v -0.28950754 -0.05262619 0.26197821
v -0.04177618 -0.09065043 0.35044974
v -0.02432535 -0.10881323 0.29927039
v 0.00284785 -0.10319764 0.31361246
v 0.01858296 -0.11917857 0.27337062
v -0.09099355 -0.08054002 0.39268559
v -0.07822308 -0.09216466 0.34540075
v -0.13159716 -0.08757929 0.36503851
v -0.17892770 -0.09514765 0.32968593
v 0.03728278 -0.14297074 0.22001009
v 0.07243454 -0.13378578 0.23454119
v 0.09629932 -0.16368687 0.17076510
v 0.26930836 -0.09498439 -0.34161603
v 0.26549625 -0.08415728 -0.43970507
v 0.26093781 -0.10677040 -0.39155883
v 0.25087926 -0.11736215 -0.27777654
v 0.22796308 -0.15653032 -0.23497374
v 0.10409563 -0.20375362 0.09120362
v 0.13274878 -0.21450314 0.06207468
v 0.20379737 -0.21389413 -0.14940418
v 0.18703096 -0.23284012 -0.12977792
v 0.20946258 -0.19420719 -0.20213673
v 0.13707767 -0.23349562 -0.00888199
v 0.16636699 -0.24227816 -0.10787558
v 0.14555280 -0.24265909 -0.08010812
v 0.23610246 0.17100425 -0.64671689
v 0.25912422 0.16307482 -0.63902092
v 0.16196257 0.16489056 -0.65665030
v 0.07754607 0.16695991 -0.66378641
v -0.09438629 0.16287781 -0.66888964
v -0.17203587 0.16789690 -0.64302355
v -0.00361591 0.15900813 -0.67714101
v -0.19402763 0.19971141 -0.50692481
v -0.21400304 0.21596041 -0.52251530
v -0.21102010 0.19128668 -0.58138329
v -0.22424452 0.18413550 -0.60211450
v -0.23587763 0.22718024 -0.53964496
v -0.17305955 0.18578622 -0.43471813
v -0.16557989 0.17766467 -0.37772173
v -0.18650676 0.19616324 -0.47764081
v -0.17495407 0.17840335 -0.29694453
v -0.20108761 0.18362769 -0.22814114
v -0.25356981 0.18654537 -0.12927455
v -0.23151763 0.18664339 -0.19808358
v 0.27162245 0.13673967 -0.63531321
v 0.27921021 0.10222290 -0.62994313
v 0.28634468 0.05214759 -0.60285306
v 0.27291694 -0.00062592 -0.58658445
v 0.27565944 0.05694846 -0.62647104
v 0.26473287 -0.04839193 -0.56384808
v 0.25622806 -0.08608376 -0.48346084
v 0.25348264 -0.08673146 -0.52719659
v -0.28534096 0.05213928 0.22605969
v -0.28806716 0.01385761 0.23993944
v -0.29278263 -0.02831437 0.24653660
v -0.28960407 0.12755041 0.05673191
v -0.28978062 0.10289414 0.09868766
v -0.29002064 0.08032343 0.14175506
v -0.28590342 0.05209974 0.17880468
v -0.28454500 0.14652151 0.00886964
v -0.27903831 0.17309636 -0.07176598
v -0.28087005 0.16584601 -0.02347879
v -0.27628899 0.17699425 -0.11802704
v -0.22453977 -0.10171910 0.28944331
v -0.26408759 -0.09964826 0.25115210
v -0.33175749 -0.09794220 0.22372712
v -0.34080422 -0.08166752 0.21526127
v -0.07132814 -0.10901967 0.29710001
v -0.05447482 -0.12161919 0.26596206
v -0.03765357 -0.14329231 0.21843235
v -0.01106158 -0.13053969 0.24696888
v 0.00703857 -0.15450570 0.19679852
v -0.11350925 -0.09713341 0.32840329
v -0.10093467 -0.11714915 0.27243799
v -0.15348247 -0.10269728 0.30577415
v -0.20017235 -0.11017870 0.27551919
v 0.02642724 -0.18172497 0.14331646
v 0.05542977 -0.17039955 0.16289255
v 0.07724031 -0.19557512 0.11290026
v 0.24734908 -0.12593687 -0.33307439
v 0.24811974 -0.11573676 -0.43535507
v 0.23871319 -0.13755617 -0.37937903
v 0.23385669 -0.14785782 -0.28388822
v 0.21671370 -0.17902988 -0.25548470
v 0.07780642 -0.21910086 0.05131292
v 0.10932361 -0.22525859 0.02219815
v 0.19253838 -0.22493628 -0.17908886
v 0.17167653 -0.24191117 -0.16889721
v 0.19952196 -0.21214303 -0.22800432
v 0.11658067 -0.23655900 -0.04777898
v 0.14825901 -0.24609935 -0.13951358
v 0.12134795 -0.24224293 -0.11340432
v 0.17543940 0.15669298 -0.66701829
v 0.22885656 0.15645310 -0.65973610
v 0.23810209 0.12982351 -0.66451395
v 0.09053281 0.15973660 -0.67751622
v -0.08850216 0.15606996 -0.68107212
v -0.17146122 0.16195963 -0.66187304
v -0.22109275 0.17499387 -0.63652045
v 0.00109884 0.14807770 -0.68908435
v -0.22343683 0.22796747 -0.48401326
v -0.24563920 0.24872896 -0.49666524
v -0.25275460 0.22117779 -0.56187588
v -0.25787237 0.19393960 -0.59860575
v -0.26399419 0.24964574 -0.51658314
v -0.21082447 0.20797658 -0.44816238
v -0.19515793 0.18817067 -0.40429050
v -0.18923375 0.18063340 -0.34753555
v -0.21310754 0.18373570 -0.28408641
v -0.26594472 0.18199179 -0.17010351
v -0.25239602 0.18560985 -0.23299696
v 0.25495690 0.09878588 -0.65495175
v 0.25343907 0.05377518 -0.64851439
v 0.26199266 0.00251782 -0.61464709
v 0.26038733 -0.04131436 -0.59931630
v 0.24067642 -0.00234311 -0.63490343
v 0.25073612 -0.08199046 -0.57210517
v 0.23846419 -0.11958166 -0.48130339
v 0.23307984 -0.12098578 -0.52752101
v -0.28759918 0.01319339 0.20129244
v -0.30113289 -0.02654273 0.21065907
v -0.28848356 0.10621569 0.01308955
v -0.29125220 0.08540030 0.05565679
v -0.29111052 0.05214635 0.09701723
v -0.28822464 0.04428654 0.13987841
v -0.28297853 0.01206985 0.16405378
v -0.28948632 0.12402797 -0.03836105
v -0.28632301 0.15487677 -0.05331020
v -0.28313607 0.16642633 -0.10340355
v -0.27736121 0.17087817 -0.15450154
v -0.24631622 -0.11214847 0.24144270
v -0.30604517 -0.11434906 0.21702553
v -0.33558878 -0.09987981 0.20582427
v -0.33517024 -0.07886904 0.19982652
v -0.08234433 -0.13593698 0.22985469
v -0.06559645 -0.15739441 0.18692462
v -0.04975416 -0.18141589 0.14189577
v -0.02047367 -0.16775200 0.16868688
v 0.00300722 -0.19171375 0.12039046
v -0.13497201 -0.11637642 0.27128929
v -0.13100667 -0.13873923 0.21947108
v -0.11092547 -0.15103915 0.19413637
v -0.17517097 -0.11999425 0.25656843
v -0.21624194 -0.12474243 0.23445015
v 0.02659408 -0.21652585 0.05786476
v 0.05017573 -0.20655179 0.09068763
v 0.22441380 -0.16391236 -0.31761491
v 0.22911927 -0.14800817 -0.42903244
v 0.22077331 -0.17121232 -0.37313646
v 0.20444207 -0.20228919 -0.27797544
v 0.05487959 -0.22643960 0.01724361
v 0.08565728 -0.23109576 -0.01628828
v 0.18163346 -0.23322287 -0.21656337
v 0.14161272 -0.24697962 -0.19183984
v 0.15774558 -0.24358407 -0.22621654
v 0.18903148 -0.22557312 -0.25413275
v 0.09257165 -0.23753682 -0.08303565
v 0.12237009 -0.24538147 -0.16218528
v 0.08911387 -0.24123600 -0.15022793
v 0.09953860 0.14678490 -0.68681288
v 0.17841400 0.13700250 -0.67637646
v 0.17295317 0.10975551 -0.68349260
v 0.21750085 0.09253636 -0.67454588
v -0.09168323 0.14639446 -0.68754047
v -0.17857908 0.15398708 -0.67034626
v -0.24027835 0.17180452 -0.64626747
v 0.00121695 0.13614196 -0.69440174
v -0.24874766 0.23816860 -0.45232552
v -0.27562669 0.25219473 -0.47858590
v -0.28511357 0.23613825 -0.54361492
v -0.27809849 0.19243023 -0.59307772
v -0.28953975 0.24773026 -0.49700576
v -0.22798412 0.20143920 -0.41152167
v -0.21662661 0.18451256 -0.35835052
v -0.24380966 0.18421370 -0.30195558
v -0.27153894 0.17612706 -0.20087947
v -0.26844680 0.17836615 -0.25943977
v 0.22162946 0.05441319 -0.66749555
v 0.21136673 -0.00137599 -0.65314186
v 0.23926911 -0.06483481 -0.61902863
v 0.20777206 -0.06232765 -0.64098853
v 0.22091393 -0.11605629 -0.57195944
v 0.22047892 -0.15308967 -0.47764373
v 0.21012816 -0.15715662 -0.52404261
v -0.29198721 -0.03565060 0.18339483
v -0.29028091 0.08447471 -0.03445148
v -0.29233545 0.06321697 0.01441834
v -0.29340091 0.04797303 0.05224589
v -0.29265377 0.01650668 0.06829382
v -0.28517887 0.01545994 0.11841668
v -0.27815494 -0.02071001 0.14051422
v -0.28894615 0.13786061 -0.09193674
v -0.29030496 0.10073535 -0.08824824
v -0.28629303 0.15122862 -0.13998702
v -0.28318968 0.16381255 -0.18964610
v -0.25553182 -0.12100855 0.21238790
v -0.27896956 -0.11620487 0.19369294
v -0.29056466 -0.09404624 0.17983790
v -0.29005885 -0.06694124 0.17481840
v -0.09449512 -0.17133713 0.15551482
v -0.07740039 -0.19393942 0.11386800
v -0.05355941 -0.21389267 0.07243176
v -0.02499136 -0.20268950 0.09615456
v 0.00128371 -0.21527016 0.05787306
v -0.15755504 -0.13280714 0.22996981
v -0.14145902 -0.16799277 0.15995649
v -0.16535582 -0.15465933 0.18782039
v -0.12457483 -0.18533817 0.12623179
v -0.19030891 -0.14067313 0.21338306
v -0.22101203 -0.14320719 0.19759394
v 0.01027798 -0.22772220 -0.00291137
v 0.03673475 -0.23135790 -0.02546858
v 0.20637868 -0.19811097 -0.32739675
v 0.21517202 -0.18154395 -0.42762661
v 0.20527989 -0.20038429 -0.37978953
v 0.18574648 -0.22637713 -0.29952672
v 0.06355799 -0.23408967 -0.05269426
v 0.17333433 -0.23768440 -0.26283491
v 0.12280820 -0.24543959 -0.24241579
v 0.10488327 -0.24506581 -0.20329948
v 0.14277932 -0.24376193 -0.27642953
v 0.06825791 -0.23803484 -0.10785353
v 0.05180330 -0.23952582 -0.15153655
v 0.06734753 -0.24294409 -0.20392561
v 0.09740963 0.12610570 -0.69169641
v 0.09181420 0.09731239 -0.69075119
v 0.16797382 0.07097299 -0.68315923
v -0.09655247 0.12344601 -0.69158244
v -0.18824157 0.13782343 -0.67686445
v -0.24998786 0.16502008 -0.65011054
v 0.00114773 0.11062771 -0.69439465
v -0.25918013 0.20419642 -0.40734172
v -0.28240287 0.23112136 -0.44020462
v -0.29467541 0.23917574 -0.46412891
v -0.29606709 0.23021206 -0.54229242
v -0.28722322 0.18265313 -0.59386683
v -0.30031934 0.23406127 -0.49436945
v -0.24630836 0.18603423 -0.36173999
v -0.26296446 0.17888924 -0.31223670
v -0.27946836 0.17074776 -0.23426482
v -0.27737752 0.17136537 -0.29406664
v 0.16416951 0.01637563 -0.67094344
v 0.16471110 -0.04808112 -0.66158926
v 0.20008855 -0.11063426 -0.60648638
v 0.16418609 -0.10222954 -0.63146818
v 0.19393009 -0.15988401 -0.55710477
v 0.20628758 -0.18890119 -0.47887659
v 0.19445813 -0.20152622 -0.52234679
v -0.27345219 -0.05880335 0.14760146
v -0.29515687 0.04197688 -0.03066026
v -0.29110509 0.06004762 -0.08650861
v -0.29649699 0.02342434 0.01914458
v -0.29416183 -0.01103478 0.03249631
v -0.28285864 -0.01581330 0.08810414
v -0.27017507 -0.05051949 0.10272940
v -0.28935206 0.11815505 -0.13676071
v -0.28930929 0.07922056 -0.13702206
v -0.28634816 0.13183932 -0.17970073
v -0.28574511 0.14381935 -0.22296932
v -0.24226117 -0.13293049 0.18182145
v -0.25332600 -0.12218723 0.16348341
v -0.26583120 -0.09226162 0.15130384
v -0.10647993 -0.20447761 0.08897948
v -0.08350028 -0.21934402 0.05101958
v -0.05903834 -0.22876048 0.00651053
v -0.02291309 -0.22540626 0.01950846
v -0.15743665 -0.19773081 0.10294499
v -0.17700633 -0.18121406 0.13736729
v -0.19850045 -0.16133127 0.16977490
v -0.13718951 -0.21237859 0.06810737
v -0.21898337 -0.15984759 0.15464519
v 0.01427643 -0.23404574 -0.07181021
v -0.01323663 -0.23245507 -0.05261874
v 0.04162472 -0.23598477 -0.09292118
v 0.19318075 -0.21559906 -0.34510648
v 0.20064989 -0.20683154 -0.43298024
v 0.18922724 -0.21892670 -0.38882691
v 0.16167320 -0.23870775 -0.30766177
v 0.17639589 -0.22827783 -0.34524131
v 0.08295290 -0.24510270 -0.25169241
v 0.10284229 -0.24351332 -0.29082799
v 0.12613858 -0.24096847 -0.32333791
v 0.01988053 -0.23781696 -0.13864869
v 0.03150742 -0.24169669 -0.19974673
v 0.04502068 -0.24436375 -0.25296640
v 0.08900964 0.05218260 -0.68487448
v -0.00320376 0.07599877 -0.69002169
v -0.09577750 0.09512773 -0.69084299
v -0.18468741 0.11387090 -0.68344527
v -0.26140562 0.14377327 -0.65226692
v -0.27084571 0.17972249 -0.35752892
v -0.28202373 0.19085261 -0.40150297
v -0.29525590 0.20695773 -0.42731738
v -0.30234310 0.20384413 -0.44331288
v -0.30031127 0.20889872 -0.54985541
v -0.28962699 0.15640724 -0.60213012
v -0.30230302 0.18895152 -0.49788779
v -0.28487951 0.15303168 -0.26902109
v -0.28302699 0.16373356 -0.32326996
v 0.09293345 -0.01528253 -0.67361319
v 0.10162923 -0.07672421 -0.65337408
v 0.16415222 -0.15516362 -0.58120000
v 0.11119051 -0.13192448 -0.61373001
v 0.17058451 -0.20685610 -0.54494113
v 0.18722077 -0.21329591 -0.47888660
v 0.16879892 -0.22166982 -0.51868170
v -0.25669646 -0.08494670 0.11343986
v -0.30146098 0.00154995 -0.02155704
v -0.29463789 0.01683952 -0.08533300
v -0.29114339 0.04006992 -0.13676010
v -0.29955471 -0.03255512 -0.00757724
v -0.28141007 -0.04318051 0.04887499
v -0.26448739 -0.07393142 0.06007938
v -0.28857160 0.09248019 -0.18218671
v -0.29052916 0.05218572 -0.18480530
v -0.28839204 0.10872761 -0.21570320
v -0.28768486 0.11041899 -0.25639355
v -0.23195074 -0.14963385 0.14085923
v -0.24265786 -0.12305371 0.11965555
v -0.11514224 -0.22341168 0.03299334
v -0.09235724 -0.23041213 -0.00960024
v -0.03992755 -0.23211169 -0.03818068
v -0.06827501 -0.23435524 -0.06635363
v -0.16809401 -0.22190323 0.05124922
v -0.18694733 -0.20686188 0.08326598
v -0.20374869 -0.18663642 0.11856243
v -0.14630419 -0.22793722 0.01587693
v -0.21746898 -0.18321067 0.10336526
v -0.00954663 -0.23676819 -0.12084447
v -0.03734019 -0.23577702 -0.09887004
v 0.18016930 -0.22166753 -0.43799448
v 0.16712262 -0.22926840 -0.39688969
v 0.14825079 -0.23465237 -0.35702401
v 0.05988749 -0.24449205 -0.29930937
v 0.08313701 -0.24028006 -0.33737689
v 0.10769881 -0.23587742 -0.37182915
v 0.00124115 -0.24077433 -0.18693696
v 0.00902519 -0.24348783 -0.24785727
v 0.02136957 -0.24468505 -0.30014688
v 0.00125549 0.01891007 -0.68508232
v -0.09960771 0.04651585 -0.68626493
v -0.16620752 0.07967563 -0.68484491
v -0.23071285 0.09439822 -0.67422968
v -0.28229731 0.10939365 -0.63863343
v -0.28312263 0.16545711 -0.36304080
v -0.29322317 0.17258908 -0.40636653
v -0.30041030 0.15962809 -0.45060414
v -0.30064073 0.15455094 -0.55743521
v -0.29852530 0.10793938 -0.60402787
v -0.30066144 0.13436002 -0.50318259
v -0.28948820 0.12178611 -0.30339056
v -0.29238415 0.13670290 -0.34680498
v 0.02335935 -0.04500694 -0.67313319
v 0.04292914 -0.10078756 -0.64204723
v 0.12383308 -0.18334001 -0.57283872
v 0.06038939 -0.14853644 -0.60681415
v 0.13108149 -0.21814558 -0.54198790
v 0.15459879 -0.22755906 -0.48462409
v 0.12041899 -0.22882289 -0.51921940
v -0.24867925 -0.10598489 0.07128526
v -0.29732767 -0.02154715 -0.06593213
v -0.29225701 0.00651586 -0.13835678
v -0.29377079 -0.01453177 -0.11403409
v -0.29224452 0.01279145 -0.18183467
v -0.28962454 -0.05442236 -0.05582400
v -0.28037220 -0.06347675 0.00314138
v -0.26073676 -0.09347410 0.01394530
v -0.28852722 0.06595068 -0.23651579
v -0.29073122 0.01910571 -0.23062271
v -0.28737652 0.06249600 -0.29828501
v -0.23106568 -0.16263479 0.09112556
v -0.23926778 -0.13727865 0.07195704
v -0.12579237 -0.23377135 -0.02480078
v -0.10453713 -0.23714778 -0.07185349
v -0.06132276 -0.23919189 -0.14454342
v -0.08828125 -0.23962641 -0.12183885
v -0.19179218 -0.22362795 0.03519155
v -0.17475879 -0.23110139 0.00081681
v -0.20391931 -0.20794192 0.06518635
v -0.15411435 -0.23990124 -0.04119869
v -0.21858938 -0.19484115 0.05345957
v -0.03168107 -0.23966268 -0.16927007
v 0.14372952 -0.23006260 -0.44617444
v 0.12871309 -0.23301703 -0.40781081
v 0.04024953 -0.24249041 -0.34636098
v 0.06226883 -0.23792979 -0.38526398
v 0.08242298 -0.23396903 -0.42051822
v -0.02500238 -0.24282706 -0.23758163
v -0.01600281 -0.24451360 -0.29510021
v 0.00125787 -0.24319673 -0.34606791
v -0.05959714 -0.01777437 -0.67822260
v -0.19401720 0.04631731 -0.67831701
v -0.14678390 -0.00613414 -0.67217827
v -0.25730926 0.05214984 -0.65362608
v -0.29177091 0.06926838 -0.62037140
v -0.29130110 0.14323524 -0.37947732
v -0.29643592 0.12980321 -0.41545904
v -0.29953894 0.10888685 -0.46189135
v -0.30216312 0.09759437 -0.55244672
v -0.29637977 0.04228992 -0.58223963
v -0.30226073 0.07954299 -0.50465018
v -0.29051161 0.08610902 -0.34289360
v -0.29380757 0.10542389 -0.38213736
v -0.02795905 -0.07407764 -0.66412318
v -0.00470069 -0.12330068 -0.64038187
v 0.06798135 -0.19007543 -0.57392842
v 0.01569957 -0.15832567 -0.60488331
v 0.06316808 -0.21626762 -0.54715306
v 0.10737589 -0.23438507 -0.48876143
v 0.04358999 -0.23056483 -0.52528095
v -0.24383368 -0.12676632 0.02509290
v -0.29082283 -0.04221581 -0.11339675
v -0.28971186 -0.02396890 -0.16693281
v -0.28906211 -0.01925052 -0.22486700
v -0.27987763 -0.07090226 -0.10223623
v -0.27311495 -0.08461963 -0.04560578
v -0.25286481 -0.11964379 -0.03807213
v -0.28824550 0.02624769 -0.27470344
v -0.28796774 -0.01234974 -0.27619931
v -0.28667003 0.00772705 -0.31712931
v -0.28863737 0.03282208 -0.35141093
v -0.23117580 -0.16371104 0.03927188
v -0.13429919 -0.24256825 -0.09432204
v -0.11358061 -0.24362189 -0.14706114
v -0.08764862 -0.24302188 -0.18809405
v -0.05828899 -0.24263394 -0.21826775
v -0.19336510 -0.22857800 -0.01549488
v -0.20388010 -0.21960974 0.01818365
v -0.17466667 -0.24020320 -0.05280059
v -0.15868926 -0.24480993 -0.10608108
v -0.21923721 -0.19546410 0.00096794
v 0.09882101 -0.23326755 -0.45402402
v 0.01653511 -0.23930278 -0.39176649
v 0.03258574 -0.23600841 -0.43286955
v 0.04686774 -0.23468715 -0.46769798
v -0.05346755 -0.24330825 -0.29462528
v -0.03138456 -0.24296439 -0.33882153
v -0.02398959 -0.24010789 -0.38668871
v -0.10468026 -0.05931928 -0.66308057
v -0.22221994 -0.00060787 -0.65169573
v -0.18312737 -0.05260326 -0.65666872
v -0.26818687 0.01215709 -0.62046373
v -0.29744360 0.08031272 -0.42458612
v -0.30099291 0.05214328 -0.46613365
v -0.30078521 0.04838876 -0.53960323
v -0.28695285 -0.01038830 -0.54758793
v -0.27029842 -0.03505272 -0.60034966
v -0.29965904 0.02460667 -0.50486755
v -0.29151165 0.05651261 -0.38834083
v -0.07051196 -0.10480916 -0.64808422
v -0.04156717 -0.14673215 -0.61897242
v 0.00123015 -0.18351361 -0.58290249
v -0.00893759 -0.20887569 -0.55807191
v 0.06219799 -0.23491174 -0.49290919
v -0.02955041 -0.22250691 -0.54018867
v 0.00121265 -0.23351845 -0.51122302
v -0.23429792 -0.15831152 -0.01616393
v -0.28023428 -0.05846026 -0.15938528
v -0.28319004 -0.05159973 -0.21372853
v -0.28687295 -0.04813939 -0.26701015
v -0.26745021 -0.08874962 -0.14364778
v -0.26401353 -0.10071547 -0.09060189
v -0.24828632 -0.12793019 -0.08866474
v -0.23660725 -0.15742630 -0.07186580
v -0.28641087 -0.03662284 -0.31685308
v -0.28765634 -0.01691557 -0.35830641
v -0.28871816 0.00728321 -0.39310962
v -0.14346762 -0.24783871 -0.17826039
v -0.11500270 -0.24558806 -0.22410722
v -0.08641113 -0.24425805 -0.26076078
v -0.19049858 -0.23274824 -0.07236377
v -0.20530544 -0.21836522 -0.03483453
v -0.17770627 -0.23958638 -0.10620067
v -0.17206158 -0.24395478 -0.16059172
v -0.22186372 -0.19139251 -0.05305421
v -0.01613677 -0.23521456 -0.43225014
v -0.00763540 -0.23547432 -0.47407073
v -0.08612965 -0.24133864 -0.33006120
v -0.05724797 -0.23976782 -0.36316091
v -0.05795961 -0.23647541 -0.41938782
v -0.14116699 -0.09078642 -0.64342421
v -0.24352883 -0.05227602 -0.62839907
v -0.19604158 -0.08261991 -0.63618171
v -0.29560518 0.02763644 -0.43029064
v -0.29219094 -0.00713761 -0.46638924
v -0.26191047 -0.08001079 -0.56699759
v -0.28840786 -0.02022842 -0.50564247
v -0.27108189 -0.06424914 -0.52147889
v -0.24817014 -0.07883447 -0.60023403
v -0.10396685 -0.13314116 -0.62198919
v -0.05986726 -0.17219046 -0.58973056
v -0.07275178 -0.20089936 -0.56324023
v -0.05469251 -0.22917354 -0.52818012
v -0.08889528 -0.22179309 -0.54264468
v -0.05435619 -0.23482564 -0.50276810
v -0.27084640 -0.08232193 -0.20049463
v -0.27820516 -0.07690663 -0.25381982
v -0.28200123 -0.06854753 -0.30504465
v -0.25510305 -0.11196416 -0.17909351
v -0.25246677 -0.12044904 -0.12913738
v -0.23725672 -0.15510523 -0.11782572
v -0.22231792 -0.18818277 -0.10436811
v -0.28877556 -0.05864372 -0.35530609
v -0.28651360 -0.03895361 -0.39763653
v -0.28784773 -0.01446417 -0.42668247
v -0.16442090 -0.24399313 -0.22442536
v -0.13963619 -0.24537328 -0.25687116
v -0.11360653 -0.24333012 -0.29554534
v -0.20630601 -0.21551061 -0.08978332
v -0.19324644 -0.23314634 -0.13661483
v -0.18109560 -0.23888019 -0.19422901
v -0.05750766 -0.23433062 -0.46532071
v -0.12048300 -0.23782000 -0.35611457
v -0.09188801 -0.23726863 -0.39154065
v -0.09896450 -0.23377350 -0.44278413
v -0.16770272 -0.12546650 -0.61334318
v -0.21597476 -0.10165600 -0.60912812
v -0.27782997 -0.05540832 -0.47884953
v -0.28154966 -0.05034482 -0.43820381
v -0.22543806 -0.12106385 -0.56647342
v -0.24357329 -0.11338364 -0.52666229
v -0.25643417 -0.09921489 -0.48473990
v -0.11834241 -0.16650626 -0.58668143
v -0.13056438 -0.20317158 -0.55943298
v -0.10016412 -0.23096576 -0.52068061
v -0.14248173 -0.22350067 -0.53302252
v -0.10361181 -0.23402885 -0.48669773
v -0.26038614 -0.10794922 -0.23791547
v -0.27220741 -0.09137436 -0.28757676
v -0.27813092 -0.09151237 -0.34097648
v -0.24347413 -0.13360733 -0.20659456
v -0.23902325 -0.14499921 -0.16323000
v -0.22423580 -0.18059939 -0.15253916
v -0.21047056 -0.21386930 -0.14315845
v -0.28434420 -0.07771599 -0.39829451
v -0.16356136 -0.24197662 -0.27781785
v -0.18477832 -0.23533139 -0.25245053
v -0.14503302 -0.24203056 -0.31702954
v -0.19623171 -0.22730178 -0.19021630
v -0.15660255 -0.23463088 -0.36561805
v -0.13161430 -0.23461378 -0.41151035
v -0.14228629 -0.23048463 -0.45958698
v -0.16723131 -0.16818932 -0.57294363
v -0.19642118 -0.13592717 -0.58410716
v -0.26932660 -0.08800358 -0.44291562
v -0.21715742 -0.15649226 -0.52434093
v -0.19885869 -0.16575170 -0.55399644
v -0.23251863 -0.14141288 -0.48322594
v -0.24849156 -0.12424321 -0.44105518
v -0.17629710 -0.20973378 -0.54436100
v -0.14637157 -0.23041314 -0.50270283
v -0.17863044 -0.22138911 -0.51410395
v -0.25773403 -0.11760425 -0.28979826
v -0.24137414 -0.14164975 -0.24887547
v -0.25324097 -0.12612107 -0.34012610
v -0.26546997 -0.10919649 -0.39425594
v -0.22737356 -0.16734788 -0.20626308
v -0.21174408 -0.20201948 -0.19057834
v -0.17301986 -0.23655415 -0.31373274
v -0.19144011 -0.22681341 -0.29793829
v -0.20170416 -0.21848372 -0.23763072
v -0.18351924 -0.22699577 -0.35758120
v -0.16847380 -0.22942340 -0.41512698
v -0.17743215 -0.22307527 -0.46576834
v -0.20109379 -0.20077679 -0.52312899
v -0.21542896 -0.18293199 -0.47891688
v -0.22714084 -0.15987128 -0.43193281
v -0.24206339 -0.14148533 -0.38554400
v -0.19900268 -0.21024558 -0.46976620
v -0.24073523 -0.14524296 -0.29478362
v -0.22467478 -0.17235211 -0.27177507
v -0.23375389 -0.15781108 -0.33082551
v -0.21532257 -0.19404301 -0.23486455
v -0.20808013 -0.20458230 -0.28134727
v -0.20087965 -0.21431220 -0.33753353
v -0.19608983 -0.21840131 -0.40548670
v -0.21438405 -0.19824532 -0.42320555
v -0.22480267 -0.17557496 -0.37739694
v -0.21613242 -0.18860319 -0.32408905
v -0.21020801 -0.20220512 -0.37166637
f 4 1 2
f 4 3 1
f 5 1 3
f 6 1 5
f 7 1 6
f 7 2 1
f 8 2 7
f 9 4 2
f 10 2 8
f 10 9 2
f 11 3 4
f 12 3 11
f 13 3 12
f 13 5 3
f 14 4 9
f 14 11 4
f 15 6 5
f 16 15 5
f 16 5 13
f 17 7 6
f 18 6 15
f 18 17 6
f 19 7 17
f 19 8 7
f 20 8 19
f 21 8 20
f 21 10 8
f 22 14 9
f 23 9 10
f 23 22 9
f 24 23 10
f 24 10 21
f 25 11 14
f 25 12 11
f 27 12 25
f 27 26 12
f 28 13 12
f 28 12 26
f 29 16 13
f 29 13 28
f 30 25 14
f 31 14 22
f 31 30 14
f 32 18 15
f 33 32 15
f 33 15 16
f 33 16 29
f 34 17 18
f 35 19 17
f 35 17 34
f 36 18 32
f 36 34 18
f 37 19 35
f 37 20 19
f 38 21 20
f 39 20 37
f 39 38 20
f 40 21 38
f 40 24 21
f 41 31 22
f 42 22 23
f 42 41 22
f 43 23 24
f 43 42 23
f 44 43 24
f 45 44 24
f 45 24 40
f 46 25 30
f 46 27 25
f 48 26 27
f 48 47 26
f 48 27 46
f 49 26 47
f 49 28 26
f 50 28 49
f 50 29 28
f 51 29 50
f 51 33 29
f 52 30 31
f 52 46 30
f 53 31 41
f 53 52 31
f 54 32 33
f 55 32 54
f 55 36 32
f 56 33 51
f 56 54 33
f 57 34 36
f 57 35 34
f 58 35 57
f 59 35 58
f 59 37 35
f 60 36 55
f 60 57 36
f 61 37 59
f 61 39 37
f 62 40 38
f 62 45 40
f 63 38 39
f 63 62 38
f 64 39 61
f 64 63 39
f 66 42 43
f 66 41 42
f 66 65 41
f 67 41 65
f 67 53 41
f 68 43 44
f 68 66 43
f 69 44 45
f 70 44 69
f 70 68 44
f 71 45 62
f 71 69 45
f 72 46 52
f 72 48 46
f 73 47 48
f 74 47 73
f 75 47 74
f 75 49 47
f 76 48 72
f 76 73 48
f 77 49 75
f 77 50 49
f 78 51 50
f 78 50 77
f 79 51 78
f 79 56 51
f 80 72 52
f 81 80 52
f 81 52 53
f 82 81 53
f 82 53 67
f 83 54 56
f 83 55 54
f 84 60 55
f 85 84 55
f 85 55 83
f 86 83 56
f 87 86 56
f 87 56 79
f 88 57 60
f 88 58 57
f 89 58 88
f 90 58 89
f 90 59 58
f 91 59 90
f 91 61 59
f 92 88 60
f 92 60 84
f 93 61 91
f 93 64 61
f 94 62 63
f 94 71 62
f 95 63 64
f 95 94 63
f 96 64 93
f 96 95 64
f 97 66 68
f 97 65 66
f 98 65 97
f 98 67 65
f 99 82 67
f 99 67 98
f 100 97 68
f 100 68 70
f 101 69 71
f 102 69 101
f 102 70 69
f 103 70 102
f 103 100 70
f 104 71 94
f 104 101 71
f 105 72 80
f 105 76 72
f 106 73 76
f 107 73 106
f 107 74 73
f 108 74 107
f 109 74 108
f 109 75 74
f 110 75 109
f 110 77 75
f 111 76 105
f 111 106 76
f 112 77 110
f 112 78 77
f 113 78 112
f 113 79 78
f 114 87 79
f 114 79 113
f 115 105 80
f 116 80 81
f 116 115 80
f 116 81 82
f 117 116 82
f 117 82 99
f 118 83 86
f 118 85 83
f 119 84 85
f 120 84 119
f 120 92 84
f 121 119 85
f 121 85 118
f 122 118 86
f 123 122 86
f 123 86 87
f 123 87 114
f 124 88 92
f 124 89 88
f 125 89 124
f 125 90 89
f 126 90 125
f 126 91 90
f 127 91 126
f 127 93 91
f 128 92 120
f 128 124 92
f 129 93 127
f 129 96 93
f 130 104 94
f 130 94 95
f 131 95 96
f 131 130 95
f 132 96 129
f 132 131 96
f 133 98 97
f 134 97 100
f 134 133 97
f 135 99 98
f 135 98 133
f 136 117 99
f 136 99 135
f 137 100 103
f 137 134 100
f 138 101 104
f 139 101 138
f 139 102 101
f 140 103 102
f 140 137 103
f 141 102 139
f 141 140 102
f 142 104 130
f 142 138 104
f 143 105 115
f 143 111 105
f 144 107 106
f 145 106 111
f 145 144 106
f 145 111 143
f 146 107 144
f 146 108 107
f 147 108 146
f 148 108 147
f 148 109 108
f 149 109 148
f 149 110 109
f 150 112 110
f 150 110 149
f 151 112 150
f 151 113 112
f 152 113 151
f 152 114 113
f 153 114 152
f 153 123 114
f 154 143 115
f 155 115 116
f 155 154 115
f 156 155 116
f 156 116 117
f 157 156 117
f 157 117 136
f 158 118 122
f 158 121 118
f 159 128 120
f 159 120 119
f 160 119 121
f 160 159 119
f 161 121 158
f 161 160 121
f 162 158 122
f 163 122 123
f 163 162 122
f 163 123 153
f 164 124 128
f 164 125 124
f 165 125 164
f 165 126 125
f 166 126 165
f 166 127 126
f 167 127 166
f 167 129 127
f 168 128 159
f 169 164 128
f 169 128 168
f 170 129 167
f 170 132 129
f 171 130 131
f 171 142 130
f 172 131 132
f 172 171 131
f 173 132 170
f 173 172 132
f 174 135 133
f 175 133 134
f 175 174 133
f 176 134 137
f 176 175 134
f 177 136 135
f 177 135 174
f 178 157 136
f 178 136 177
f 179 137 140
f 179 176 137
f 180 139 138
f 180 141 139
f 181 138 142
f 181 180 138
f 182 179 140
f 183 140 141
f 183 182 140
f 184 141 180
f 184 183 141
f 185 142 171
f 185 181 142
f 186 143 154
f 186 145 143
f 187 146 144
f 188 144 145
f 188 187 144
f 188 145 186
f 189 146 187
f 189 147 146
f 190 147 189
f 191 147 190
f 191 148 147
f 192 148 191
f 192 149 148
f 193 149 192
f 193 150 149
f 194 150 193
f 194 152 151
f 194 151 150
f 195 152 194
f 196 152 195
f 196 153 152
f 197 163 153
f 197 153 196
f 198 186 154
f 199 198 154
f 199 154 155
f 200 156 157
f 200 155 156
f 200 199 155
f 201 200 157
f 201 157 178
f 202 158 162
f 202 161 158
f 203 159 160
f 203 168 159
f 204 203 160
f 205 204 160
f 205 160 161
f 206 161 202
f 206 205 161
f 207 202 162
f 208 162 163
f 208 207 162
f 208 163 197
f 209 164 169
f 209 165 164
f 210 165 209
f 210 166 165
f 211 166 210
f 211 167 166
f 212 167 211
f 212 170 167
f 213 169 168
f 214 213 168
f 214 168 203
f 215 169 213
f 215 209 169
f 216 170 212
f 216 173 170
f 217 171 172
f 217 185 171
f 218 217 172
f 218 172 173
f 219 173 216
f 219 218 173
f 220 177 174
f 221 174 175
f 221 220 174
f 222 175 176
f 222 221 175
f 223 176 179
f 223 222 176
f 224 178 177
f 224 177 220
f 225 178 224
f 225 201 178
f 226 223 179
f 226 179 182
f 227 180 181
f 227 184 180
f 228 181 185
f 228 227 181
f 229 226 182
f 230 182 183
f 230 183 184
f 230 229 182
f 231 184 227
f 232 184 231
f 232 230 184
f 233 185 217
f 233 228 185
f 234 186 198
f 234 188 186
f 235 187 188
f 235 188 234
f 236 187 235
f 236 189 187
f 237 189 236
f 237 190 189
f 238 191 190
f 239 238 190
f 239 190 237
f 240 191 238
f 240 192 191
f 241 192 240
f 241 193 192
f 242 193 241
f 243 194 193
f 243 193 242
f 243 195 194
f 244 195 243
f 244 243 242
f 245 195 244
f 245 196 195
f 246 197 196
f 246 196 245
f 247 197 246
f 247 208 197
f 248 198 199
f 249 198 248
f 249 234 198
f 250 200 201
f 250 199 200
f 250 248 199
f 251 201 225
f 252 250 201
f 252 201 251
f 253 202 207
f 253 206 202
f 254 203 204
f 254 214 203
f 255 204 205
f 255 254 204
f 256 255 205
f 256 205 206
f 257 206 253
f 257 256 206
f 258 207 208
f 258 208 247
f 259 207 258
f 259 253 207
f 260 209 215
f 260 210 209
f 261 210 260
f 261 211 210
f 262 211 261
f 262 212 211
f 263 212 262
f 263 216 212
f 264 213 214
f 265 213 264
f 265 215 213
f 266 214 254
f 266 264 214
f 267 215 265
f 267 260 215
f 268 216 263
f 268 219 216
f 269 217 218
f 269 233 217
f 270 269 218
f 270 218 219
f 271 219 268
f 271 270 219
f 272 224 220
f 273 220 221
f 273 272 220
f 274 273 221
f 274 221 222
f 275 222 223
f 275 274 222
f 276 223 226
f 276 275 223
f 277 225 224
f 277 224 272
f 278 251 225
f 278 225 277
f 279 276 226
f 279 226 229
f 280 227 228
f 280 231 227
f 281 228 233
f 281 280 228
f 282 230 232
f 282 229 230
f 283 279 229
f 283 229 282
f 284 231 280
f 284 232 231
f 285 232 284
f 285 282 232
f 286 233 269
f 286 281 233
f 287 234 249
f 287 235 234
f 288 235 287
f 288 236 235
f 289 236 288
f 289 237 236
f 290 237 289
f 290 239 237
f 291 240 238
f 292 238 239
f 292 291 238
f 293 239 290
f 293 292 239
f 294 240 291
f 294 241 240
f 295 241 294
f 295 242 241
f 296 244 242
f 296 242 295
f 297 245 244
f 297 244 296
f 298 246 245
f 298 245 297
f 299 246 298
f 299 247 246
f 300 247 299
f 300 258 247
f 301 249 248
f 302 301 248
f 303 248 250
f 303 302 248
f 303 250 252
f 304 249 301
f 304 287 249
f 304 288 287
f 305 252 251
f 306 251 278
f 306 305 251
f 307 303 252
f 307 252 305
f 307 302 303
f 308 253 259
f 308 257 253
f 309 254 255
f 309 266 254
f 310 255 256
f 310 309 255
f 311 310 256
f 311 256 257
f 311 257 308
f 312 258 300
f 312 259 258
f 313 259 312
f 313 308 259
f 314 260 267
f 315 261 260
f 315 260 314
f 316 262 261
f 316 261 315
f 317 262 316
f 317 263 262
f 318 263 317
f 318 268 263
f 319 264 266
f 320 264 319
f 320 265 264
f 321 265 320
f 321 267 265
f 322 266 309
f 322 319 266
f 323 267 321
f 323 314 267
f 324 268 318
f 324 271 268
f 325 269 270
f 325 286 269
f 326 270 271
f 326 325 270
f 327 271 324
f 327 326 271
f 328 277 272
f 329 272 273
f 329 328 272
f 330 273 274
f 330 329 273
f 331 330 274
f 331 274 275
f 331 275 276
f 332 276 279
f 332 331 276
f 333 278 277
f 333 277 328
f 333 306 278
f 334 279 283
f 334 332 279
f 335 284 280
f 336 280 281
f 336 335 280
f 337 281 286
f 337 336 281
f 338 282 285
f 338 283 282
f 339 283 338
f 339 334 283
f 340 284 335
f 340 285 284
f 341 285 340
f 341 338 285
f 342 286 325
f 342 337 286
f 343 288 304
f 344 288 343
f 344 289 288
f 345 290 289
f 345 289 344
f 346 293 290
f 346 290 345
f 347 291 292
f 347 292 293
f 348 291 347
f 348 294 291
f 349 293 346
f 349 347 293
f 350 294 348
f 350 295 294
f 351 295 350
f 351 296 295
f 352 297 296
f 352 296 351
f 353 298 297
f 354 353 297
f 354 297 352
f 355 299 298
f 355 298 353
f 356 299 355
f 356 300 299
f 357 300 356
f 357 312 300
f 358 304 301
f 358 343 304
f 359 358 301
f 359 301 302
f 360 302 307
f 360 359 302
f 361 307 305
f 362 305 306
f 362 361 305
f 363 306 333
f 363 362 306
f 364 307 361
f 364 360 307
f 365 308 313
f 365 311 308
f 366 322 309
f 367 309 310
f 367 366 309
f 368 367 310
f 368 310 311
f 369 311 365
f 369 368 311
f 370 312 357
f 370 313 312
f 371 313 370
f 371 365 313
f 372 314 323
f 372 315 314
f 373 315 372
f 373 316 315
f 373 317 316
f 374 317 373
f 375 317 374
f 375 318 317
f 376 318 375
f 376 324 318
f 377 319 322
f 377 322 366
f 378 319 377
f 378 320 319
f 379 320 378
f 379 321 320
f 380 321 379
f 380 323 321
f 381 372 323
f 381 323 380
f 382 327 324
f 383 324 376
f 383 382 324
f 384 342 325
f 384 325 326
f 384 326 327
f 385 327 382
f 385 384 327
f 386 333 328
f 387 386 328
f 387 328 329
f 388 329 330
f 388 387 329
f 389 330 331
f 389 388 330
f 390 389 331
f 390 331 332
f 391 390 332
f 391 332 334
f 391 334 339
f 392 333 386
f 392 363 333
f 393 335 336
f 394 335 393
f 394 340 335
f 395 336 337
f 395 393 336
f 396 337 342
f 396 395 337
f 397 339 338
f 398 338 341
f 398 397 338
f 399 339 397
f 399 391 339
f 400 340 394
f 400 341 340
f 401 341 400
f 401 398 341
f 402 342 384
f 402 396 342
f 403 344 343
f 404 343 358
f 404 403 343
f 405 344 403
f 405 345 344
f 406 346 345
f 406 345 405
f 407 346 406
f 407 349 346
f 408 347 349
f 409 347 408
f 409 348 347
f 410 348 409
f 410 350 348
f 411 349 407
f 412 349 411
f 412 408 349
f 413 350 410
f 413 351 350
f 414 351 413
f 414 352 351
f 415 354 352
f 415 352 414
f 416 355 353
f 417 416 353
f 417 353 354
f 417 354 415
f 418 355 416
f 418 356 355
f 419 356 418
f 419 357 356
f 420 357 419
f 420 370 357
f 421 358 359
f 421 404 358
f 422 360 364
f 422 359 360
f 422 421 359
f 423 364 361
f 424 423 361
f 424 361 362
f 425 362 363
f 425 424 362
f 426 363 392
f 426 425 363
f 427 422 364
f 427 364 423
f 428 365 371
f 428 369 365
f 429 366 367
f 430 366 429
f 430 377 366
f 431 429 367
f 431 367 368
f 432 368 369
f 432 431 368
f 433 369 428
f 433 432 369
f 434 370 420
f 434 371 370
f 435 371 434
f 435 428 371
f 436 372 381
f 436 374 373
f 436 373 372
f 437 375 374
f 438 437 374
f 438 374 436
f 439 375 437
f 439 376 375
f 439 383 376
f 440 377 430
f 440 378 377
f 441 378 440
f 441 379 378
f 442 379 441
f 442 380 379
f 443 380 442
f 443 381 380
f 444 381 443
f 444 436 381
f 444 438 436
f 445 385 382
f 446 382 383
f 446 445 382
f 447 383 439
f 447 446 383
f 448 384 385
f 448 402 384
f 449 385 445
f 449 448 385
f 450 386 387
f 450 387 388
f 451 392 386
f 451 426 392
f 452 451 386
f 452 386 450
f 453 388 389
f 453 389 390
f 454 388 453
f 454 450 388
f 455 453 390
f 455 390 391
f 456 391 399
f 456 455 391
f 457 393 395
f 457 395 396
f 458 394 393
f 458 393 457
f 459 394 458
f 459 400 394
f 460 396 402
f 460 457 396
f 461 399 397
f 462 398 401
f 462 397 398
f 462 461 397
f 463 456 399
f 463 399 461
f 464 400 459
f 464 401 400
f 465 401 464
f 465 462 401
f 466 448 449
f 466 402 448
f 466 460 402
f 467 403 404
f 468 403 467
f 468 405 403
f 469 404 421
f 469 467 404
f 470 405 468
f 470 406 405
f 471 406 470
f 471 407 406
f 471 411 407
f 472 409 408
f 472 410 409
f 473 408 412
f 473 472 408
f 474 410 472
f 474 413 410
f 475 412 411
f 476 411 471
f 476 475 411
f 477 412 475
f 477 473 412
f 478 413 474
f 478 414 413
f 479 414 478
f 479 415 414
f 480 415 479
f 480 417 415
f 481 416 417
f 481 417 480
f 482 416 481
f 482 418 416
f 483 418 482
f 483 419 418
f 484 419 483
f 484 420 419
f 485 420 484
f 485 434 420
f 486 421 422
f 486 469 421
f 487 422 427
f 487 486 422
f 488 423 424
f 489 423 488
f 489 427 423
f 489 487 427
f 490 424 425
f 490 488 424
f 491 425 426
f 491 490 425
f 492 426 451
f 492 491 426
f 493 428 435
f 493 433 428
f 494 430 429
f 495 429 431
f 495 494 429
f 496 430 494
f 496 440 430
f 497 495 431
f 497 431 432
f 497 432 433
f 498 433 493
f 498 497 433
f 499 434 485
f 499 435 434
f 500 435 499
f 500 493 435
f 501 447 439
f 501 439 437
f 502 501 437
f 502 437 438
f 503 438 444
f 503 502 438
f 504 440 496
f 504 441 440
f 505 441 504
f 505 442 441
f 506 442 505
f 506 443 442
f 507 443 506
f 507 503 444
f 507 444 443
f 508 449 445
f 509 445 446
f 509 508 445
f 510 509 446
f 510 446 447
f 511 447 501
f 511 510 447
f 512 449 508
f 513 449 512
f 513 466 449
f 514 450 454
f 514 452 450
f 515 492 451
f 515 451 452
f 516 452 514
f 516 515 452
f 517 454 453
f 517 453 455
f 518 454 517
f 518 514 454
f 519 455 456
f 519 517 455
f 520 456 463
f 520 519 456
f 521 458 457
f 522 521 457
f 522 457 460
f 523 458 521
f 523 459 458
f 524 464 459
f 524 459 523
f 525 460 466
f 525 466 513
f 525 522 460
f 526 461 462
f 526 462 465
f 527 463 461
f 527 461 526
f 528 463 527
f 528 520 463
f 529 464 524
f 529 465 464
f 530 526 465
f 530 465 529
f 531 467 469
f 531 469 486
f 532 467 531
f 532 468 467
f 533 468 532
f 533 470 468
f 534 471 470
f 534 470 533
f 535 471 534
f 535 476 471
f 536 472 473
f 536 474 472
f 537 473 477
f 537 536 473
f 538 474 536
f 538 478 474
f 539 475 476
f 539 477 475
f 540 476 535
f 540 539 476
f 541 477 539
f 541 537 477
f 542 478 538
f 542 479 478
f 543 479 542
f 543 480 479
f 544 480 543
f 544 481 480
f 545 481 544
f 545 482 481
f 546 482 545
f 546 483 482
f 547 483 546
f 547 484 483
f 548 484 547
f 548 485 484
f 549 485 548
f 549 499 485
f 550 486 487
f 550 531 486
f 551 487 489
f 551 550 487
f 552 488 490
f 553 488 552
f 553 489 488
f 554 489 553
f 554 551 489
f 555 490 491
f 555 552 490
f 556 491 492
f 556 492 515
f 557 491 556
f 557 555 491
f 558 493 500
f 558 498 493
f 559 496 494
f 560 559 494
f 560 494 495
f 561 560 495
f 561 495 497
f 561 497 498
f 562 496 559
f 562 504 496
f 563 498 558
f 563 561 498
f 564 499 549
f 564 500 499
f 565 500 564
f 565 558 500
f 566 501 502
f 566 511 501
f 567 502 503
f 567 566 502
f 568 503 507
f 568 567 503
f 569 504 562
f 569 505 504
f 570 505 569
f 570 506 505
f 571 506 570
f 571 507 506
f 571 568 507
f 572 512 508
f 573 508 509
f 573 572 508
f 574 509 510
f 574 573 509
f 575 510 511
f 575 574 510
f 576 511 566
f 576 575 511
f 577 512 572
f 578 512 577
f 578 513 512
f 579 525 513
f 579 513 578
f 580 514 518
f 580 516 514
f 581 515 516
f 581 556 515
f 582 516 580
f 582 581 516
f 583 518 517
f 583 517 519
f 584 518 583
f 584 580 518
f 585 519 520
f 585 583 519
f 585 584 583
f 586 520 528
f 586 585 520
f 587 525 579
f 587 522 525
f 587 521 522
f 588 521 587
f 588 523 521
f 589 523 588
f 589 524 523
f 590 529 524
f 590 524 589
f 591 526 530
f 591 527 526
f 592 527 591
f 592 528 527
f 593 528 592
f 593 586 528
f 594 529 590
f 594 530 529
f 595 530 594
f 596 530 595
f 596 591 530
f 596 592 591
f 597 532 531
f 598 531 550
f 598 597 531
f 599 532 597
f 599 533 532
f 600 534 533
f 600 533 599
f 601 534 600
f 601 535 534
f 602 535 601
f 602 540 535
f 603 536 537
f 603 538 536
f 604 537 541
f 604 603 537
f 605 538 603
f 605 542 538
f 606 539 540
f 606 541 539
f 607 606 540
f 607 540 602
f 608 541 606
f 608 604 541
f 609 542 605
f 609 543 542
f 610 543 609
f 610 544 543
f 611 544 610
f 611 545 544
f 612 545 611
f 612 546 545
f 613 546 612
f 613 548 547
f 613 547 546
f 614 548 613
f 615 548 614
f 615 564 549
f 615 549 548
f 616 550 551
f 616 598 550
f 617 551 554
f 617 616 551
f 618 553 552
f 618 554 553
f 619 552 555
f 619 618 552
f 620 554 618
f 620 617 554
f 621 555 557
f 621 619 555
f 622 557 556
f 622 556 581
f 623 557 622
f 623 621 557
f 624 558 565
f 624 563 558
f 625 559 560
f 626 559 625
f 626 562 559
f 627 625 560
f 627 560 561
f 627 561 563
f 628 562 626
f 628 569 562
f 629 627 563
f 630 629 563
f 630 563 624
f 631 564 615
f 632 564 631
f 632 565 564
f 633 565 632
f 633 630 624
f 633 624 565
f 634 566 567
f 634 576 566
f 635 567 568
f 635 634 567
f 636 568 571
f 636 635 568
f 637 569 628
f 637 570 569
f 638 570 637
f 638 636 571
f 638 571 570
f 639 572 573
f 640 572 639
f 640 577 572
f 641 639 573
f 641 573 574
f 642 574 575
f 642 641 574
f 643 575 576
f 643 642 575
f 644 576 634
f 644 643 576
f 645 577 640
f 645 578 577
f 646 579 578
f 646 578 645
f 647 587 579
f 647 579 646
f 648 582 580
f 648 580 584
f 649 581 582
f 649 622 581
f 650 582 648
f 650 649 582
f 651 584 585
f 651 585 586
f 652 584 651
f 652 648 584
f 653 651 586
f 653 586 593
f 654 587 647
f 654 588 587
f 654 589 588
f 655 589 654
f 656 589 655
f 656 590 589
f 656 594 590
f 657 592 596
f 658 592 657
f 658 593 592
f 659 593 658
f 659 653 593
f 660 594 656
f 660 595 594
f 661 595 660
f 662 595 661
f 662 657 596
f 662 596 595
f 663 597 598
f 663 598 616
f 664 597 663
f 664 599 597
f 665 600 599
f 665 599 664
f 666 600 665
f 666 601 600
f 667 602 601
f 667 601 666
f 668 607 602
f 668 602 667
f 669 603 604
f 669 605 603
f 670 669 604
f 670 604 608
f 671 605 669
f 671 609 605
f 672 608 606
f 672 606 607
f 673 607 668
f 673 672 607
f 674 670 608
f 674 608 672
f 675 610 609
f 676 675 609
f 676 609 671
f 677 610 675
f 677 611 610
f 678 611 677
f 678 612 611
f 679 612 678
f 679 613 612
f 680 613 679
f 680 614 613
f 681 614 680
f 682 615 614
f 682 614 681
f 682 631 615
f 683 663 616
f 683 616 617
f 684 683 617
f 684 617 620
f 685 618 619
f 685 620 618
f 686 685 619
f 686 619 621
f 687 684 620
f 687 620 685
f 688 686 621
f 688 621 623
f 689 622 649
f 689 623 622
f 690 688 623
f 690 623 689
f 691 625 627
f 691 627 629
f 692 625 691
f 692 626 625
f 693 626 692
f 693 628 626
f 694 628 693
f 694 637 628
f 695 629 630
f 696 629 695
f 696 691 629
f 697 630 633
f 697 695 630
f 698 631 682
f 699 631 698
f 699 632 631
f 700 632 699
f 700 633 632
f 700 697 633
f 701 634 635
f 701 644 634
f 702 635 636
f 702 701 635
f 703 702 636
f 703 636 638
f 704 637 694
f 704 638 637
f 705 638 704
f 705 703 638
f 706 639 641
f 707 639 706
f 707 640 639
f 708 640 707
f 708 645 640
f 709 641 642
f 709 642 643
f 710 641 709
f 710 706 641
f 711 643 644
f 711 709 643
f 712 644 701
f 712 711 644
f 713 645 708
f 714 645 713
f 714 646 645
f 715 646 714
f 715 647 646
f 716 647 715
f 716 655 654
f 716 654 647
f 717 648 652
f 717 650 648
f 718 689 649
f 718 649 650
f 719 718 650
f 719 650 717
f 720 651 653
f 720 652 651
f 721 717 652
f 721 652 720
f 722 653 659
f 722 720 653
f 723 655 716
f 724 655 723
f 724 656 655
f 724 660 656
f 725 658 657
f 725 659 658
f 726 657 662
f 726 725 657
f 727 659 725
f 727 722 659
f 728 660 724
f 728 661 660
f 729 662 661
f 729 726 662
f 730 729 661
f 730 661 728
f 731 664 663
f 732 731 663
f 732 663 683
f 733 665 664
f 733 664 731
f 734 665 733
f 734 666 665
f 735 667 666
f 735 666 734
f 735 668 667
f 736 673 668
f 737 736 668
f 737 668 735
f 738 671 669
f 738 669 670
f 738 676 671
f 739 670 674
f 739 738 670
f 740 672 673
f 740 674 672
f 741 673 736
f 741 740 673
f 742 674 740
f 742 739 674
f 743 677 675
f 744 675 676
f 744 743 675
f 745 676 738
f 745 738 739
f 745 744 676
f 746 677 743
f 746 678 677
f 747 678 746
f 747 679 678
f 748 679 747
f 748 680 679
f 749 681 680
f 749 680 748
f 750 681 749
f 750 698 682
f 750 682 681
f 751 683 684
f 751 732 683
f 752 684 687
f 752 751 684
f 753 685 686
f 753 687 685
f 754 686 688
f 754 753 686
f 755 687 753
f 755 752 687
f 756 688 690
f 756 754 688
f 757 689 718
f 757 690 689
f 758 690 757
f 758 756 690
f 759 691 696
f 759 692 691
f 760 692 759
f 760 693 692
f 761 693 760
f 761 694 693
f 762 694 761
f 762 704 694
f 762 705 704
f 763 695 697
f 764 695 763
f 764 696 695
f 765 696 764
f 765 759 696
f 766 697 700
f 766 763 697
f 767 699 698
f 768 698 750
f 768 767 698
f 769 699 767
f 769 766 700
f 769 700 699
f 770 701 702
f 770 712 701
f 771 770 702
f 771 702 703
f 772 703 705
f 772 771 703
f 773 772 705
f 773 705 762
f 774 706 710
f 774 707 706
f 775 707 774
f 776 708 707
f 776 707 775
f 777 708 776
f 777 713 708
f 778 709 711
f 778 710 709
f 779 710 778
f 779 774 710
f 780 711 712
f 780 778 711
f 781 712 770
f 781 780 712
f 782 713 777
f 783 713 782
f 783 715 714
f 783 714 713
f 784 715 783
f 784 716 715
f 784 723 716
f 785 719 717
f 785 717 721
f 786 718 719
f 786 757 718
f 787 719 785
f 787 786 719
f 788 721 720
f 788 720 722
f 788 785 721
f 789 788 722
f 789 722 727
f 790 723 784
f 791 723 790
f 791 724 723
f 791 728 724
f 792 725 726
f 792 727 725
f 793 726 729
f 793 792 726
f 794 789 727
f 794 727 792
f 795 728 791
f 795 730 728
f 796 729 730
f 796 793 729
f 797 730 795
f 797 796 730
f 798 733 731
f 798 731 732
f 799 732 751
f 799 798 732
f 800 733 798
f 800 734 733
f 801 735 734
f 801 734 800
f 801 737 735
f 802 736 737
f 803 736 802
f 803 741 736
f 804 737 801
f 804 802 737
f 805 745 739
f 806 805 739
f 806 739 742
f 807 740 741
f 807 742 740
f 808 741 803
f 808 807 741
f 809 742 807
f 809 806 742
f 810 743 744
f 811 743 810
f 811 746 743
f 812 745 805
f 812 744 745
f 812 810 744
f 813 746 811
f 813 747 746
f 813 748 747
f 814 749 748
f 814 748 813
f 815 750 749
f 815 768 750
f 816 749 814
f 816 815 749
f 817 751 752
f 817 799 751
f 818 752 755
f 818 817 752
f 819 753 754
f 819 755 753
f 820 819 754
f 820 754 756
f 821 755 819
f 821 818 755
f 822 756 758
f 822 820 756
f 823 757 786
f 823 758 757
f 824 758 823
f 824 822 758
f 825 759 765
f 825 760 759
f 826 760 825
f 826 761 760
f 827 761 826
f 827 762 761
f 827 773 762
f 828 763 766
f 829 763 828
f 829 764 763
f 830 764 829
f 830 765 764
f 831 765 830
f 831 825 765
f 832 828 766
f 832 766 769
f 833 767 768
f 834 767 833
f 834 769 767
f 834 832 769
f 835 768 815
f 835 833 768
f 836 781 770
f 836 770 771
f 837 771 772
f 837 836 771
f 838 772 773
f 838 837 772
f 839 838 773
f 839 773 827
f 840 774 779
f 841 774 840
f 841 775 774
f 842 775 841
f 843 775 842
f 843 777 776
f 843 776 775
f 844 777 843
f 844 782 777
f 845 778 780
f 845 779 778
f 846 779 845
f 846 840 779
f 847 780 781
f 847 845 780
f 848 847 781
f 848 781 836
f 849 782 844
f 850 782 849
f 850 784 783
f 850 783 782
f 851 784 850
f 851 790 784
f 852 787 785
f 852 785 788
f 853 823 786
f 853 786 787
f 854 787 852
f 854 853 787
f 855 852 788
f 855 788 789
f 856 855 789
f 856 789 794
f 857 790 851
f 858 790 857
f 858 791 790
f 858 795 791
f 859 792 793
f 859 794 792
f 860 793 796
f 860 859 793
f 861 794 859
f 861 856 794
f 862 795 858
f 862 797 795
f 863 796 797
f 863 860 796
f 864 797 862
f 864 863 797
f 865 800 798
f 866 798 799
f 866 865 798
f 867 799 817
f 867 866 799
f 868 800 865
f 868 801 800
f 868 804 801
f 869 802 804
f 870 802 869
f 870 803 802
f 871 808 803
f 871 803 870
f 872 804 868
f 872 869 804
f 873 805 806
f 873 812 805
f 874 806 809
f 874 873 806
f 875 807 808
f 875 809 807
f 876 875 808
f 876 808 871
f 877 809 875
f 877 874 809
f 878 810 812
f 878 812 873
f 879 810 878
f 879 811 810
f 880 811 879
f 880 813 811
f 881 814 813
f 881 813 880
f 881 816 814
f 882 815 816
f 882 835 815
f 883 816 881
f 883 882 816
f 884 817 818
f 884 867 817
f 885 818 821
f 885 884 818
f 886 819 820
f 886 821 819
f 887 886 820
f 887 820 822
f 888 821 886
f 888 885 821
f 889 822 824
f 889 887 822
f 890 823 853
f 890 824 823
f 891 889 824
f 891 824 890
f 892 825 831
f 892 826 825
f 893 826 892
f 893 839 827
f 893 827 826
f 894 828 832
f 895 828 894
f 895 829 828
f 896 829 895
f 896 830 829
f 897 830 896
f 897 831 830
f 898 831 897
f 898 892 831
f 899 894 832
f 900 899 832
f 900 832 834
f 900 834 833
f 901 833 835
f 901 900 833
f 902 835 882
f 902 901 835
f 903 836 837
f 903 848 836
f 904 837 838
f 904 903 837
f 905 838 839
f 905 904 838
f 906 905 839
f 906 839 893
f 907 840 846
f 907 841 840
f 908 841 907
f 908 842 841
f 909 842 908
f 910 842 909
f 910 844 843
f 910 843 842
f 911 844 910
f 911 849 844
f 912 845 847
f 912 846 845
f 913 846 912
f 914 846 913
f 914 907 846
f 915 912 847
f 915 847 848
f 916 915 848
f 916 848 903
f 917 849 911
f 918 849 917
f 918 857 851
f 918 850 849
f 918 851 850
f 919 852 855
f 919 855 856
f 919 854 852
f 920 853 854
f 920 890 853
f 921 920 854
f 921 854 919
f 922 856 861
f 922 919 856
f 923 857 918
f 923 918 917
f 924 858 857
f 924 857 923
f 924 862 858
f 925 859 860
f 925 861 859
f 926 860 863
f 927 860 926
f 927 925 860
f 928 922 861
f 928 861 925
f 929 862 924
f 929 864 862
f 930 863 864
f 930 926 863
f 931 864 929
f 931 930 864
f 932 868 865
f 932 872 868
f 933 932 865
f 933 866 867
f 933 865 866
f 934 933 867
f 935 867 884
f 935 934 867
f 936 869 872
f 937 869 936
f 937 870 869
f 938 871 870
f 938 870 937
f 938 876 871
f 939 872 932
f 939 936 872
f 940 873 874
f 940 878 873
f 941 874 877
f 941 940 874
f 942 875 876
f 942 877 875
f 943 876 938
f 943 942 876
f 944 877 942
f 944 941 877
f 945 878 940
f 945 879 878
f 946 880 879
f 946 879 945
f 946 881 880
f 947 881 946
f 947 883 881
f 948 882 883
f 948 902 882
f 949 883 947
f 949 948 883
f 950 884 885
f 950 935 884
f 951 885 888
f 951 950 885
f 952 886 887
f 952 888 886
f 952 887 889
f 953 951 888
f 953 888 952
f 954 889 891
f 954 952 889
f 955 890 920
f 955 891 890
f 956 891 955
f 956 954 891
f 957 892 898
f 957 893 892
f 957 906 893
f 958 894 899
f 959 894 958
f 959 895 894
f 960 895 959
f 960 896 895
f 961 896 960
f 962 897 896
f 962 896 961
f 962 898 897
f 963 898 962
f 963 957 898
f 964 899 900
f 964 900 901
f 965 899 964
f 965 958 899
f 966 901 902
f 966 964 901
f 967 902 948
f 967 966 902
f 968 903 904
f 968 916 903
f 969 904 905
f 969 968 904
f 970 905 906
f 970 969 905
f 971 906 957
f 971 970 906
f 972 907 914
f 972 908 907
f 973 908 972
f 973 909 908
f 974 909 973
f 975 909 974
f 975 911 910
f 975 910 909
f 976 911 975
f 976 917 911
f 977 913 912
f 977 912 915
f 978 914 913
f 979 913 977
f 979 978 913
f 980 972 914
f 980 914 978
f 981 977 915
f 981 915 916
f 981 979 977
f 982 916 968
f 982 981 916
f 983 917 976
f 984 917 983
f 984 923 917
f 985 919 922
f 985 921 919
f 986 920 921
f 986 955 920
f 987 921 985
f 987 986 921
f 988 922 928
f 988 985 922
f 989 923 984
f 989 929 924
f 989 924 923
f 990 925 927
f 990 928 925
f 990 988 928
f 991 927 926
f 992 926 930
f 992 991 926
f 992 930 931
f 993 927 991
f 993 990 927
f 994 929 989
f 994 931 929
f 995 931 994
f 996 931 995
f 996 992 931
f 997 933 934
f 997 932 933
f 997 939 932
f 998 997 934
f 999 998 934
f 999 934 935
f 999 935 950
f 1000 936 939
f 1001 936 1000
f 1001 937 936
f 1002 938 937
f 1002 937 1001
f 1002 943 938
f 1003 939 997
f 1003 997 998
f 1003 1000 939
f 1004 945 940
f 1005 940 941
f 1005 1004 940
f 1006 941 944
f 1006 1005 941
f 1007 942 943
f 1007 944 942
f 1008 1007 943
f 1008 943 1002
f 1009 944 1007
f 1009 1006 944
f 1010 945 1004
f 1010 947 946
f 1010 946 945
f 1011 947 1010
f 1011 949 947
f 1012 948 949
f 1012 967 948
f 1013 949 1011
f 1013 1012 949
f 1014 950 951
f 1014 999 950
f 1015 951 953
f 1015 1014 951
f 1016 953 952
f 1016 952 954
f 1017 953 1016
f 1017 1015 953
f 1018 954 956
f 1018 1016 954
f 1019 955 986
f 1019 956 955
f 1020 956 1019
f 1020 1018 956
f 1021 957 963
f 1021 971 957
f 1022 959 958
f 1023 1022 958
f 1023 958 965
f 1024 959 1022
f 1024 960 959
f 1024 961 960
f 1025 961 1024
f 1026 961 1025
f 1026 962 961
f 1026 963 962
f 1027 963 1026
f 1027 1021 963
f 1028 964 966
f 1028 965 964
f 1029 965 1028
f 1029 1023 965
f 1030 966 967
f 1030 1028 966
f 1031 967 1012
f 1031 1030 967
f 1032 968 969
f 1032 982 968
f 1033 969 970
f 1033 1032 969
f 1034 970 971
f 1034 971 1021
f 1034 1033 970
f 1035 972 980
f 1035 973 972
f 1036 974 973
f 1036 973 1035
f 1037 974 1036
f 1038 974 1037
f 1038 983 976
f 1038 976 975
f 1038 975 974
f 1039 980 978
f 1040 1039 978
f 1040 978 979
f 1041 979 981
f 1041 1040 979
f 1041 981 982
f 1042 980 1039
f 1042 1035 980
f 1043 982 1032
f 1043 1041 982
f 1044 984 983
f 1045 1044 983
f 1045 983 1038
f 1046 984 1044
f 1046 989 984
f 1046 995 994
f 1046 994 989
f 1047 985 988
f 1047 987 985
f 1048 986 987
f 1048 1019 986
f 1049 1048 987
f 1049 987 1047
f 1050 990 993
f 1050 988 990
f 1051 988 1050
f 1051 1047 988
f 1051 1049 1047
f 1052 991 992
f 1052 992 996
f 1053 993 991
f 1053 991 1052
f 1054 993 1053
f 1054 1050 993
f 1055 995 1046
f 1055 1046 1044
f 1056 995 1055
f 1056 996 995
f 1057 996 1056
f 1057 1052 996
f 1058 999 1014
f 1058 998 999
f 1059 998 1058
f 1059 1003 998
f 1060 1000 1003
f 1060 1003 1059
f 1061 1000 1060
f 1061 1001 1000
f 1062 1002 1001
f 1062 1001 1061
f 1062 1008 1002
f 1063 1013 1011
f 1063 1011 1010
f 1063 1010 1004
f 1064 1004 1005
f 1064 1063 1004
f 1065 1005 1006
f 1065 1064 1005
f 1066 1006 1009
f 1066 1065 1006
f 1067 1007 1008
f 1067 1009 1007
f 1068 1067 1008
f 1068 1008 1062
f 1069 1009 1067
f 1069 1066 1009
f 1070 1012 1013
f 1070 1031 1012
f 1071 1013 1063
f 1071 1070 1013
f 1072 1014 1015
f 1072 1058 1014
f 1073 1072 1015
f 1073 1015 1017
f 1074 1016 1018
f 1074 1017 1016
f 1075 1017 1074
f 1075 1073 1017
f 1076 1074 1018
f 1076 1018 1020
f 1077 1019 1048
f 1077 1020 1019
f 1078 1076 1020
f 1078 1020 1077
f 1079 1021 1027
f 1079 1034 1021
f 1080 1024 1022
f 1080 1025 1024
f 1081 1080 1022
f 1081 1022 1023
f 1082 1023 1029
f 1082 1081 1023
f 1083 1025 1080
f 1084 1025 1083
f 1084 1026 1025
f 1084 1027 1026
f 1085 1027 1084
f 1085 1079 1027
f 1086 1028 1030
f 1086 1029 1028
f 1087 1029 1086
f 1087 1082 1029
f 1088 1030 1031
f 1088 1086 1030
f 1089 1031 1070
f 1089 1088 1031
f 1090 1043 1032
f 1090 1032 1033
f 1091 1033 1034
f 1091 1034 1079
f 1091 1090 1033
f 1092 1035 1042
f 1092 1036 1035
f 1093 1036 1092
f 1093 1037 1036
f 1094 1038 1037
f 1094 1045 1038
f 1095 1094 1037
f 1095 1037 1093
f 1096 1042 1039
f 1097 1039 1040
f 1097 1096 1039
f 1098 1040 1041
f 1098 1041 1043
f 1098 1097 1040
f 1099 1042 1096
f 1099 1092 1042
f 1100 1043 1090
f 1100 1098 1043
f 1101 1044 1045
f 1101 1055 1044
f 1102 1045 1094
f 1102 1094 1095
f 1102 1101 1045
f 1103 1048 1049
f 1103 1077 1048
f 1104 1049 1051
f 1104 1103 1049
f 1105 1050 1054
f 1105 1104 1051
f 1105 1051 1050
f 1106 1052 1057
f 1106 1053 1052
f 1107 1053 1106
f 1107 1054 1053
f 1108 1054 1107
f 1108 1105 1054
f 1109 1056 1055
f 1109 1055 1101
f 1110 1056 1109
f 1110 1057 1056
f 1111 1057 1110
f 1111 1106 1057
f 1112 1058 1072
f 1112 1059 1058
f 1113 1060 1059
f 1113 1059 1112
f 1114 1060 1113
f 1114 1061 1060
f 1115 1062 1061
f 1115 1061 1114
f 1116 1062 1115
f 1116 1068 1062
f 1117 1063 1064
f 1117 1071 1063
f 1118 1064 1065
f 1118 1065 1066
f 1118 1117 1064
f 1119 1066 1069
f 1119 1118 1066
f 1120 1067 1068
f 1120 1069 1067
f 1121 1068 1116
f 1121 1120 1068
f 1122 1069 1120
f 1122 1119 1069
f 1123 1070 1071
f 1123 1089 1070
f 1124 1071 1117
f 1124 1123 1071
f 1125 1072 1073
f 1125 1112 1072
f 1126 1073 1075
f 1126 1125 1073
f 1127 1074 1076
f 1127 1075 1074
f 1128 1126 1075
f 1128 1075 1127
f 1129 1076 1078
f 1129 1127 1076
f 1130 1078 1077
f 1130 1077 1103
f 1131 1078 1130
f 1131 1129 1078
f 1132 1079 1085
f 1132 1091 1079
f 1133 1080 1081
f 1133 1083 1080
f 1134 1081 1082
f 1135 1081 1134
f 1135 1133 1081
f 1136 1082 1087
f 1136 1134 1082
f 1137 1083 1133
f 1138 1083 1137
f 1138 1084 1083
f 1138 1085 1084
f 1139 1085 1138
f 1139 1132 1085
f 1140 1086 1088
f 1140 1087 1086
f 1140 1088 1089
f 1141 1087 1140
f 1141 1136 1087
f 1142 1089 1123
f 1142 1140 1089
f 1143 1090 1091
f 1143 1100 1090
f 1144 1091 1132
f 1144 1143 1091
f 1145 1092 1099
f 1145 1093 1092
f 1146 1095 1093
f 1146 1093 1145
f 1147 1102 1095
f 1148 1147 1095
f 1148 1095 1146
f 1149 1096 1097
f 1150 1096 1149
f 1150 1099 1096
f 1151 1097 1098
f 1151 1098 1100
f 1151 1149 1097
f 1152 1099 1150
f 1152 1145 1099
f 1153 1100 1143
f 1153 1151 1100
f 1154 1101 1102
f 1154 1102 1147
f 1154 1109 1101
f 1155 1130 1103
f 1155 1103 1104
f 1156 1155 1104
f 1156 1104 1105
f 1156 1105 1108
f 1157 1106 1111
f 1157 1107 1106
f 1158 1107 1157
f 1158 1108 1107
f 1159 1108 1158
f 1159 1156 1108
f 1160 1109 1154
f 1160 1110 1109
f 1161 1110 1160
f 1161 1111 1110
f 1162 1111 1161
f 1162 1157 1111
f 1163 1113 1112
f 1163 1112 1125
f 1164 1114 1113
f 1164 1115 1114
f 1165 1113 1163
f 1165 1164 1113
f 1166 1115 1164
f 1166 1116 1115
f 1167 1116 1166
f 1167 1121 1116
f 1168 1117 1118
f 1168 1124 1117
f 1169 1168 1118
f 1169 1118 1119
f 1170 1119 1122
f 1170 1169 1119
f 1171 1120 1121
f 1171 1122 1120
f 1172 1121 1167
f 1172 1171 1121
f 1173 1122 1171
f 1173 1170 1122
f 1174 1123 1124
f 1174 1142 1123
f 1175 1168 1169
f 1175 1124 1168
f 1175 1174 1124
f 1176 1125 1126
f 1176 1163 1125
f 1177 1176 1126
f 1177 1126 1128
f 1178 1128 1127
f 1178 1127 1129
f 1179 1128 1178
f 1179 1177 1128
f 1180 1178 1129
f 1180 1129 1131
f 1181 1130 1155
f 1181 1131 1130
f 1182 1180 1131
f 1182 1131 1181
f 1183 1144 1132
f 1183 1132 1139
f 1184 1133 1135
f 1184 1137 1133
f 1185 1134 1136
f 1185 1135 1134
f 1185 1184 1135
f 1186 1136 1141
f 1186 1185 1136
f 1187 1137 1184
f 1188 1137 1187
f 1188 1139 1138
f 1188 1138 1137
f 1189 1139 1188
f 1189 1183 1139
f 1190 1140 1142
f 1190 1141 1140
f 1191 1141 1190
f 1191 1186 1141
f 1192 1190 1142
f 1192 1191 1190
f 1193 1192 1142
f 1193 1142 1174
f 1194 1143 1144
f 1194 1144 1183
f 1194 1153 1143
f 1195 1145 1152
f 1195 1146 1145
f 1196 1148 1146
f 1196 1146 1195
f 1197 1147 1148
f 1197 1148 1196
f 1198 1154 1147
f 1198 1147 1197
f 1198 1160 1154
f 1199 1150 1149
f 1200 1199 1149
f 1200 1149 1151
f 1200 1151 1153
f 1201 1152 1150
f 1201 1150 1199
f 1202 1152 1201
f 1202 1195 1152
f 1203 1153 1194
f 1203 1200 1153
f 1204 1155 1156
f 1204 1181 1155
f 1204 1156 1159
f 1205 1157 1162
f 1205 1158 1157
f 1206 1158 1205
f 1206 1159 1158
f 1207 1159 1206
f 1207 1204 1159
f 1208 1160 1198
f 1208 1161 1160
f 1209 1161 1208
f 1209 1162 1161
f 1210 1162 1209
f 1210 1205 1162
f 1211 1163 1176
f 1211 1165 1163
f 1212 1164 1165
f 1212 1166 1164
f 1213 1165 1211
f 1213 1212 1165
f 1214 1166 1212
f 1214 1167 1166
f 1214 1172 1167
f 1215 1169 1170
f 1215 1175 1169
f 1216 1170 1173
f 1216 1215 1170
f 1217 1173 1171
f 1217 1171 1172
f 1218 1217 1172
f 1219 1218 1172
f 1219 1172 1214
f 1220 1173 1217
f 1220 1216 1173
f 1220 1217 1218
f 1221 1174 1175
f 1221 1193 1174
f 1221 1175 1215
f 1222 1176 1177
f 1222 1211 1176
f 1223 1222 1177
f 1223 1177 1179
f 1224 1178 1180
f 1224 1179 1178
f 1224 1223 1179
f 1225 1180 1182
f 1225 1224 1180
f 1226 1182 1181
f 1226 1181 1204
f 1226 1204 1207
f 1227 1225 1182
f 1228 1227 1182
f 1228 1182 1226
f 1228 1226 1207
f 1229 1183 1189
f 1229 1194 1183
f 1229 1203 1194
f 1230 1184 1185
f 1230 1187 1184
f 1231 1185 1186
f 1231 1230 1185
f 1232 1186 1191
f 1232 1231 1186
f 1233 1187 1230
f 1234 1187 1233
f 1234 1188 1187
f 1234 1189 1188
f 1235 1189 1234
f 1236 1189 1235
f 1236 1229 1189
f 1237 1191 1192
f 1237 1232 1191
f 1238 1192 1193
f 1238 1237 1192
f 1239 1193 1221
f 1239 1238 1193
f 1240 1195 1202
f 1240 1196 1195
f 1241 1196 1240
f 1241 1197 1196
f 1242 1197 1241
f 1242 1208 1198
f 1242 1198 1197
f 1243 1201 1199
f 1244 1243 1199
f 1244 1200 1203
f 1244 1199 1200
f 1245 1201 1243
f 1245 1202 1201
f 1246 1240 1202
f 1246 1202 1245
f 1247 1229 1236
f 1247 1203 1229
f 1247 1244 1203
f 1248 1205 1210
f 1248 1206 1205
f 1249 1206 1248
f 1249 1228 1207
f 1249 1207 1206
f 1250 1208 1242
f 1251 1208 1250
f 1251 1209 1208
f 1251 1210 1209
f 1252 1210 1251
f 1252 1248 1210
f 1253 1211 1222
f 1253 1213 1211
f 1254 1212 1213
f 1254 1214 1212
f 1254 1219 1214
f 1255 1254 1213
f 1255 1213 1253
f 1256 1215 1216
f 1256 1221 1215
f 1256 1239 1221
f 1257 1216 1220
f 1257 1256 1216
f 1258 1218 1219
f 1259 1220 1218
f 1259 1257 1220
f 1260 1218 1258
f 1260 1259 1218
f 1261 1219 1254
f 1261 1258 1219
f 1262 1222 1223
f 1262 1253 1222
f 1263 1224 1225
f 1263 1223 1224
f 1263 1262 1223
f 1264 1225 1227
f 1264 1263 1225
f 1265 1227 1228
f 1266 1227 1265
f 1266 1264 1227
f 1267 1228 1249
f 1267 1265 1228
f 1268 1230 1231
f 1268 1233 1230
f 1269 1231 1232
f 1269 1268 1231
f 1270 1232 1237
f 1270 1269 1232
f 1271 1233 1268
f 1272 1233 1271
f 1272 1234 1233
f 1272 1235 1234
f 1273 1235 1272
f 1273 1236 1235
f 1274 1236 1273
f 1274 1247 1236
f 1275 1237 1238
f 1275 1270 1237
f 1276 1238 1239
f 1276 1275 1238
f 1277 1256 1257
f 1277 1239 1256
f 1277 1276 1239
f 1278 1240 1246
f 1279 1241 1240
f 1279 1240 1278
f 1280 1242 1241
f 1280 1241 1279
f 1280 1250 1242
f 1281 1244 1247
f 1281 1243 1244
f 1281 1247 1274
f 1282 1246 1245
f 1282 1243 1281
f 1282 1245 1243
f 1283 1246 1282
f 1283 1278 1246
f 1284 1248 1252
f 1284 1249 1248
f 1284 1267 1249
f 1285 1250 1280
f 1286 1250 1285
f 1286 1252 1251
f 1286 1251 1250
f 1287 1252 1286
f 1287 1284 1252
f 1288 1253 1262
f 1288 1255 1253
f 1289 1254 1255
f 1289 1261 1254
f 1289 1255 1288
f 1290 1257 1259
f 1290 1259 1260
f 1291 1257 1290
f 1291 1277 1257
f 1291 1276 1277
f 1292 1261 1289
f 1292 1258 1261
f 1293 1258 1292
f 1293 1260 1258
f 1294 1260 1293
f 1294 1290 1260
f 1295 1288 1262
f 1295 1262 1263
f 1295 1263 1264
f 1296 1295 1264
f 1296 1264 1266
f 1297 1265 1267
f 1297 1266 1265
f 1298 1266 1297
f 1298 1296 1266
f 1299 1297 1267
f 1299 1267 1284
f 1299 1284 1287
f 1300 1268 1269
f 1300 1271 1268
f 1301 1269 1270
f 1301 1300 1269
f 1302 1270 1275
f 1302 1301 1270
f 1303 1271 1300
f 1304 1272 1271
f 1304 1271 1303
f 1304 1273 1272
f 1305 1273 1304
f 1305 1274 1273
f 1306 1274 1305
f 1306 1281 1274
f 1306 1282 1281
f 1307 1275 1276
f 1307 1302 1275
f 1307 1276 1291
f 1308 1279 1278
f 1309 1278 1283
f 1309 1308 1278
f 1310 1279 1308
f 1310 1280 1279
f 1310 1285 1280
f 1311 1282 1306
f 1311 1283 1282
f 1311 1309 1283
f 1312 1285 1310
f 1313 1286 1285
f 1313 1285 1312
f 1313 1287 1286
f 1314 1287 1313
f 1314 1299 1287
f 1315 1295 1296
f 1315 1288 1295
f 1316 1288 1315
f 1316 1289 1288
f 1316 1292 1289
f 1317 1290 1294
f 1317 1291 1290
f 1317 1307 1291
f 1318 1293 1292
f 1319 1292 1316
f 1319 1318 1292
f 1319 1316 1315
f 1320 1293 1318
f 1320 1294 1293
f 1321 1294 1320
f 1321 1317 1294
f 1322 1296 1298
f 1322 1315 1296
f 1322 1319 1315
f 1323 1297 1299
f 1323 1299 1314
f 1323 1298 1297
f 1324 1298 1323
f 1324 1322 1298
f 1325 1301 1302
f 1325 1300 1301
f 1326 1300 1325
f 1326 1303 1300
f 1327 1325 1302
f 1328 1302 1307
f 1328 1327 1302
f 1328 1317 1321
f 1328 1307 1317
f 1329 1303 1326
f 1329 1304 1303
f 1329 1305 1304
f 1330 1305 1329
f 1330 1306 1305
f 1330 1311 1306
f 1331 1308 1309
f 1331 1312 1310
f 1331 1310 1308
f 1332 1331 1309
f 1333 1309 1311
f 1333 1332 1309
f 1333 1311 1330
f 1334 1312 1331
f 1334 1331 1332
f 1335 1313 1312
f 1335 1312 1334
f 1335 1314 1313
f 1336 1314 1335
f 1336 1324 1323
f 1336 1323 1314
f 1337 1318 1319
f 1337 1319 1322
f 1337 1322 1324
f 1338 1318 1337
f 1338 1320 1318
f 1339 1320 1338
f 1339 1321 1320
f 1340 1328 1321
f 1340 1321 1339
f 1340 1327 1328
f 1341 1324 1336
f 1341 1337 1324
f 1341 1338 1337
f 1342 1325 1327
f 1342 1326 1325
f 1343 1326 1342
f 1343 1329 1326
f 1344 1327 1340
f 1344 1343 1342
f 1344 1342 1327
f 1345 1329 1343
f 1345 1333 1330
f 1345 1330 1329
f 1346 1332 1333
f 1346 1333 1345
f 1346 1345 1343
f 1347 1332 1346
f 1347 1334 1332
f 1348 1334 1347
f 1348 1341 1336
f 1348 1336 1335
f 1348 1335 1334
f 1349 1339 1338
f 1349 1338 1341
f 1349 1341 1348
f 1350 1339 1349
f 1350 1340 1339
f 1350 1344 1340
f 1351 1343 1344
f 1351 1344 1350
f 1351 1347 1346
f 1351 1346 1343
f 1352 1347 1351
f 1352 1348 1347
f 1352 1351 1350
f 1352 1350 1349
f 1352 1349 1348
================================================
FILE: car_deform_result/1.obj
================================================
# scale_biaozhi-3008.obj
#
v 0.27380791 0.28732082 0.40110031
v 0.30700409 0.28628778 0.41023877
v 0.23957765 0.25219318 0.34673518
v 0.27812693 0.26419541 0.35947406
v 0.23081443 0.26054177 0.37956190
v 0.25902584 0.28843117 0.44013456
v 0.29699022 0.29483724 0.45378748
v 0.31428894 0.28626406 0.45569453
v 0.30537969 0.25759402 0.36791259
v 0.32043251 0.27187771 0.41070473
v 0.24738485 0.24451038 0.31313229
v 0.20495801 0.23314434 0.27508068
v 0.19518360 0.23757333 0.31621167
v 0.27884975 0.24365568 0.30803898
v 0.20877331 0.25109926 0.40045202
v 0.18538645 0.24084878 0.34663156
v 0.26828718 0.28155664 0.49250141
v 0.22845766 0.26164836 0.46329358
v 0.29858366 0.27518022 0.50205225
v 0.31209889 0.25490782 0.51406461
v 0.32255697 0.26049447 0.47012106
v 0.30217147 0.23554125 0.32252517
v 0.31609288 0.24676430 0.37886047
v 0.32458439 0.22988084 0.42943653
v 0.23718362 0.23631060 0.26214573
v 0.17263927 0.22599179 0.19432706
v 0.20350288 0.23077297 0.21663418
v 0.16162588 0.22597203 0.24166751
v 0.15213983 0.22827348 0.28289017
v 0.26236784 0.23786953 0.24024639
v 0.29080373 0.23750281 0.24940401
v 0.17542569 0.23772964 0.40615785
v 0.14621668 0.22993320 0.32754490
v 0.24038498 0.25137421 0.51589549
v 0.26387492 0.23624817 0.55717349
v 0.19921356 0.24144295 0.48256615
v 0.28366369 0.22185138 0.56562632
v 0.31999749 0.21825731 0.52677709
v 0.29637900 0.19602451 0.57072616
v 0.32425916 0.21665710 0.48831031
v 0.30820340 0.22807494 0.25385401
v 0.31112519 0.22583106 0.33302367
v 0.31752196 0.21003282 0.36685458
v 0.32070628 0.18185940 0.40022272
v 0.32185215 0.18006080 0.46343562
v 0.23129979 0.23454028 0.19151834
v 0.15249112 0.22251007 0.11767475
v 0.19126055 0.22700137 0.13694611
v 0.13610828 0.22148246 0.16432083
v 0.12392019 0.22203737 0.20421380
v 0.11084101 0.22276145 0.23803604
v 0.26867303 0.23856404 0.16392371
v 0.29953498 0.23453140 0.17224526
v 0.12044924 0.22559774 0.33688563
v 0.13439415 0.22681984 0.40890303
v 0.08127601 0.22126377 0.25708503
v 0.22746974 0.23398638 0.55712801
v 0.24284999 0.22632283 0.62254626
v 0.26462016 0.21738273 0.62655056
v 0.17617247 0.22818965 0.53405452
v 0.28107494 0.19307309 0.62673169
v 0.32112837 0.17173076 0.52018201
v 0.30770487 0.15620500 0.56232500
v 0.29624584 0.14767644 0.61332422
v 0.31482854 0.21946785 0.21496442
v 0.31634593 0.21182701 0.29336458
v 0.31079742 0.22568065 0.15211654
v 0.32049751 0.18437666 0.32822400
v 0.32168773 0.14184687 0.41623104
v 0.32162410 0.15039423 0.35392869
v 0.32133704 0.12970170 0.47381136
v 0.23291419 0.23099032 0.10476310
v 0.16708893 0.22282377 0.05599190
v 0.13364998 0.22002682 0.04613406
v 0.11718203 0.21904659 0.09165113
v 0.20371413 0.22574016 0.04664879
v 0.10150830 0.21935597 0.13096181
v 0.08845001 0.22022671 0.16666821
v 0.06500194 0.22079557 0.19045711
v 0.26930118 0.23241037 0.05429476
v 0.29167458 0.23504496 0.09614030
v 0.30842417 0.22900084 0.07546612
v 0.06400166 0.22122955 0.30569831
v 0.06861517 0.22218233 0.51185787
v 0.01719051 0.22584730 0.39373729
v 0.01909341 0.22074237 0.24070552
v 0.03616317 0.22021195 0.20177129
v 0.20232269 0.22889194 0.63118136
v 0.20968212 0.22903901 0.67886382
v 0.23828709 0.22352618 0.67466682
v 0.26111612 0.20494747 0.67053330
v 0.10821020 0.22534347 0.63820380
v 0.28251171 0.15970688 0.65549731
v 0.31531343 0.11236586 0.52646422
v 0.30832762 0.10025495 0.57925802
v 0.29696220 0.10221156 0.63174325
v 0.32129082 0.19421753 0.23170841
v 0.31991535 0.20927903 0.13409719
v 0.31688315 0.21917537 0.04976127
v 0.32307103 0.16093409 0.28435189
v 0.32295305 0.09566015 0.41114640
v 0.32128191 0.10511297 0.34742004
v 0.32101849 0.12778255 0.30483004
v 0.32108051 0.07713644 0.45992997
v 0.23888719 0.22800621 0.00814243
v 0.18723592 0.22354111 -0.01754755
v 0.15465443 0.22104171 -0.01594415
v 0.12124687 0.21820536 -0.02303995
v 0.09714673 0.21773961 0.02601522
v 0.08047613 0.21849325 0.06666216
v 0.21645691 0.22578555 -0.02729100
v 0.06863847 0.21842197 0.10378344
v 0.05139437 0.21940243 0.13252538
v 0.02303515 0.21983966 0.15545568
v 0.27501696 0.22951418 -0.04776489
v 0.30390191 0.22795850 -0.00510392
v 0.31551656 0.22011906 -0.02427013
v -0.02166664 0.22262752 0.30425802
v -0.04948749 0.22587326 0.51119375
v 0.00488687 0.22637019 0.61559325
v -0.08769267 0.22451383 0.40102294
v -0.03255448 0.22076634 0.25167072
v -0.00284385 0.21981731 0.19348520
v 0.14096798 0.22678638 0.71585268
v 0.18204790 0.22403526 0.71212822
v 0.22155552 0.20977113 0.70459878
v 0.24974087 0.17576283 0.69399565
v -0.00109136 0.22602946 0.73373049
v 0.27138871 0.11066745 0.67408568
v 0.31726372 0.05618429 0.51719779
v 0.31239778 0.05115194 0.58007658
v 0.28850567 0.05469647 0.63879395
v 0.32397401 0.18291315 0.12307692
v 0.32147875 0.16099720 0.19768569
v 0.32243732 0.19707224 0.03452970
v 0.32219571 0.20717058 -0.04616350
v 0.32060382 0.12794882 0.24191216
v 0.32110536 0.05024359 0.38216895
v 0.32056755 0.06409246 0.34837085
v 0.31563970 0.08650085 0.26782608
v 0.31568334 0.05029521 0.29253581
v 0.31869084 0.02533724 0.42572120
v 0.24573328 0.22908372 -0.08130265
v 0.17978846 0.22361881 -0.08459872
v 0.21280275 0.22602957 -0.08831067
v 0.14861472 0.22043690 -0.08516908
v 0.11704345 0.21793434 -0.09446091
v 0.08801799 0.21682131 -0.03914771
v 0.06148939 0.21778521 0.00699838
v 0.04609448 0.21767262 0.05096797
v 0.03819846 0.21855074 0.08777576
v 0.00828391 0.21773869 0.10157425
v -0.01738624 0.21905860 0.14556718
v 0.28109103 0.23417431 -0.13553441
v 0.30097157 0.23038596 -0.10727239
v 0.31118649 0.22534674 -0.08063495
v 0.31979325 0.21587870 -0.11094340
v -0.07676763 0.22400892 0.33825725
v -0.10086016 0.22921789 0.63631833
v -0.16131337 0.23097464 0.52380127
v -0.13525175 0.22834656 0.43420491
v -0.07473928 0.22157085 0.28423619
v -0.04260141 0.21981165 0.20629612
v 0.06983224 0.22150245 0.74255133
v 0.13968958 0.21083215 0.74132651
v 0.18096466 0.18186149 0.73401988
v 0.21676892 0.11769065 0.71768689
v -0.14102773 0.22622964 0.71898556
v -0.07002544 0.21984366 0.74454057
v 0.24819511 0.05821547 0.68609375
v 0.31632429 0.01258842 0.49335429
v 0.30734605 0.01648323 0.57125729
v 0.27567849 0.01488377 0.63369995
v 0.32149163 0.16395119 0.02428748
v 0.32099390 0.15034230 0.10375576
v 0.31901541 0.12749454 0.16381025
v 0.32349789 0.17338645 -0.05758341
v 0.32551652 0.18702558 -0.13178748
v 0.31544507 0.08987426 0.19853827
v 0.31625792 0.02148729 0.30601758
v 0.31308925 0.00171718 0.33117250
v 0.31365168 0.04870597 0.20700088
v 0.31683224 0.03621350 0.24317211
v 0.32780755 -0.00836939 0.23793799
v 0.30485943 -0.01920741 0.38219920
v 0.24643908 0.23075864 -0.15032944
v 0.17667192 0.22158876 -0.15271169
v 0.20926324 0.22510585 -0.15154044
v 0.14731683 0.21912736 -0.15891287
v 0.11708625 0.21695369 -0.17222421
v 0.08671816 0.21650085 -0.11310758
v 0.05596378 0.21669465 -0.05781250
v 0.02571248 0.21654275 -0.00418968
v 0.01457727 0.21737823 0.05251097
v -0.01700324 0.21684155 0.05140030
v -0.03433097 0.21730793 0.09562343
v -0.05423088 0.21823284 0.15520370
v 0.27594289 0.23220402 -0.20728260
v 0.30477118 0.22853911 -0.19001913
v 0.31154269 0.22154778 -0.15702870
v 0.31966689 0.20351064 -0.20394453
v -0.11890239 0.22669259 0.37232071
v -0.20096508 0.23172551 0.63464767
v -0.20982276 0.23047334 0.57426125
v -0.19179630 0.23516148 0.51302409
v -0.17145020 0.23498580 0.45126292
v -0.11493675 0.22354725 0.31773672
v -0.08011217 0.21999863 0.23326716
v 0.00841945 0.20766437 0.75864661
v 0.07864968 0.18106037 0.76343977
v 0.14357281 0.12068062 0.75776881
v 0.18983477 0.05647688 0.73251778
v -0.18059902 0.22002035 0.71792459
v -0.22190163 0.22771576 0.67928761
v -0.13306612 0.20274967 0.74714744
v 0.23104087 0.01259331 0.68314236
v 0.30324456 -0.02293956 0.46871248
v 0.29119244 -0.01825757 0.55142415
v 0.26001215 -0.01952185 0.61883402
v 0.32101014 0.13454998 -0.06034405
v 0.31951904 0.12741603 0.01601962
v 0.31767282 0.11696181 0.08315007
v 0.31590149 0.08944838 0.12815973
v 0.32254359 0.14621668 -0.13456196
v 0.32133695 0.16281331 -0.20233676
v 0.30916834 0.05018919 0.15368766
v 0.33352602 -0.02446685 0.26272348
v 0.31883827 -0.04958445 0.28784940
v 0.30881619 0.01572463 0.16724715
v 0.31847137 0.00609047 0.20340395
v 0.37729946 -0.05736984 0.21709770
v 0.34603584 -0.03363083 0.19884273
v 0.29531661 -0.05774108 0.36350375
v 0.23974858 0.22742060 -0.21207717
v 0.20549633 0.22206110 -0.21732292
v 0.17462203 0.21762773 -0.22669217
v 0.14660695 0.21526083 -0.23689961
v 0.08707674 0.21441212 -0.19428200
v 0.11644872 0.21298435 -0.25309619
v 0.05770354 0.21556672 -0.13897224
v 0.02863751 0.21570322 -0.08169544
v 0.00244214 0.21544272 -0.04254319
v -0.00151759 0.21629289 0.01476216
v -0.02341810 0.21569118 -0.00476006
v -0.04906999 0.21628782 0.04132197
v -0.06798591 0.21676719 0.10212276
v -0.08869683 0.21837384 0.17728570
v 0.29667300 0.22941253 -0.26665074
v 0.26171178 0.22897705 -0.26772061
v 0.30947098 0.22075745 -0.23636451
v 0.32260126 0.17531770 -0.26661810
v 0.31832013 0.20987067 -0.28449747
v -0.15898280 0.23474967 0.39579540
v -0.24209031 0.22857168 0.61696213
v -0.23357099 0.23523727 0.55561966
v -0.22346492 0.24859110 0.50161630
v -0.20229152 0.24908790 0.45436248
v -0.11778820 0.22142231 0.26134843
v -0.15475118 0.23031476 0.34634286
v -0.05058415 0.16285381 0.76858199
v 0.04663185 0.10899283 0.77077299
v 0.11628882 0.05017019 0.75359964
v 0.17261755 0.01165206 0.72392356
v -0.24577391 0.21166831 0.68169069
v -0.21323425 0.19380283 0.71368641
v -0.25899166 0.21746919 0.63727981
v -0.15559313 0.15473419 0.74719566
v 0.21281059 -0.01510380 0.66991597
v 0.28752163 -0.05303191 0.45274612
v 0.27295032 -0.04536687 0.52886093
v 0.24174906 -0.04057030 0.59111398
v 0.31927997 0.10556917 -0.13203616
v 0.31795681 0.09486981 -0.06057191
v 0.31617111 0.08924218 0.01061355
v 0.31580481 0.08139690 0.06574333
v 0.31131226 0.05001328 0.09207422
v 0.31927463 0.12236135 -0.19995758
v 0.32063118 0.14073256 -0.25068110
v 0.30595973 0.01677897 0.11726052
v 0.38769564 -0.08274967 0.22570264
v 0.31701118 -0.08359946 0.28650254
v 0.31940308 -0.01802205 0.17158496
v 0.30544966 -0.01607754 0.13277191
v 0.38454330 -0.07646380 0.19910765
v 0.32961521 -0.06053987 0.17403263
v 0.28405732 -0.08635644 0.35908669
v 0.23024884 0.22316381 -0.26375648
v 0.20342065 0.21891317 -0.29426461
v 0.16802286 0.21363524 -0.30309466
v 0.13764492 0.21025747 -0.31607094
v 0.05888548 0.21246403 -0.23099163
v 0.08774415 0.21166420 -0.26904714
v 0.10317731 0.20850360 -0.33377859
v 0.03132765 0.21369982 -0.17615676
v 0.00750624 0.21493521 -0.12345216
v -0.01917503 0.21586820 -0.07703178
v -0.05176114 0.21569648 -0.02709642
v -0.07972313 0.21610129 0.04498995
v -0.09844878 0.21737453 0.12037746
v -0.12127290 0.21977472 0.20285466
v 0.27774692 0.23094395 -0.32336619
v 0.30125752 0.22623608 -0.33080503
v 0.30757794 0.22110066 -0.29432040
v 0.24347578 0.22659063 -0.31513670
v 0.32119057 0.18047586 -0.33146042
v 0.32153052 0.14359769 -0.30919319
v 0.31295267 0.21259287 -0.34373787
v -0.20088707 0.25106996 0.41518891
v -0.26132950 0.22877777 0.56876564
v -0.26304823 0.25947145 0.52221310
v -0.24600494 0.28248769 0.47615555
v -0.15433052 0.22687611 0.28867850
v -0.19500349 0.24366936 0.36457685
v -0.10640214 0.10396386 0.76382285
v -0.03395652 0.07969863 0.76535261
v 0.03907415 0.04945623 0.75798368
v 0.07755357 0.00902031 0.74179214
v 0.14431222 -0.00935422 0.70970035
v -0.27375659 0.19507536 0.64547271
v -0.25715071 0.17734480 0.68343318
v -0.21843508 0.13483974 0.71403736
v -0.27518931 0.20791432 0.60202724
v -0.16694281 0.08977503 0.74624330
v 0.17939836 -0.03629953 0.63888824
v 0.27159572 -0.07488080 0.43933031
v 0.25640023 -0.06136108 0.50971484
v 0.22103663 -0.05957495 0.54080361
v 0.31744638 0.08343951 -0.19820559
v 0.31731382 0.06590416 -0.12871933
v 0.31517267 0.05572544 -0.05903867
v 0.31329748 0.04517680 0.01467825
v 0.30933604 0.00851142 0.05649992
v 0.31834140 0.10448916 -0.26942837
v 0.30501333 -0.01759215 0.08725605
v 0.37686968 -0.10620730 0.20964199
v 0.36411875 -0.10686348 0.23445848
v 0.30213210 -0.10528284 0.28241685
v 0.30479556 -0.05635293 0.13349825
v 0.30053124 -0.05220462 0.08461470
v 0.32975048 -0.09650036 0.17472574
v 0.30320877 -0.09359687 0.14353105
v 0.26843697 -0.10574193 0.36028478
v 0.22783467 0.22800025 -0.35970017
v 0.18862639 0.21699485 -0.35989803
v 0.15491082 0.20962721 -0.37290761
v 0.12048185 0.20456493 -0.39183590
v 0.06102873 0.20823237 -0.33123010
v 0.03042533 0.21069863 -0.27202582
v 0.07548442 0.20302591 -0.42001167
v 0.00786029 0.21327397 -0.21833625
v -0.01494852 0.21460190 -0.16363516
v -0.03907993 0.21524140 -0.11326659
v -0.08939739 0.21540400 -0.01519644
v -0.06612563 0.21544838 -0.07479344
v -0.11328457 0.21650127 0.05584677
v -0.13145471 0.21927142 0.13766909
v -0.15528782 0.22433838 0.22325289
v 0.26418898 0.24113780 -0.36053982
v 0.29514462 0.23932734 -0.36421293
v 0.30834088 0.23021811 -0.37227494
v 0.32023591 0.18895882 -0.38476086
v 0.32218248 0.15057188 -0.37168926
v 0.32129985 0.11345495 -0.34380123
v 0.31741953 0.22399211 -0.39265990
v -0.23786679 0.27676934 0.41815659
v -0.28926903 0.21039182 0.56764877
v -0.29864186 0.25356844 0.52298725
v -0.28746065 0.28424829 0.49118575
v -0.27371356 0.29537097 0.45005611
v -0.19002114 0.23483542 0.30276483
v -0.22758436 0.25613353 0.36318892
v -0.10086185 0.05026500 0.75384986
v -0.01967674 0.02451371 0.75139809
v -0.01903283 -0.00184272 0.73663950
v 0.05341579 -0.01172038 0.72632116
v 0.10772213 -0.02424596 0.69507855
v -0.28591985 0.17967442 0.61058939
v -0.28228053 0.15375850 0.65191418
v -0.26376918 0.11107948 0.67935723
v -0.22362705 0.06949008 0.70876127
v -0.17028821 0.02899975 0.73219132
v 0.15520470 -0.06201164 0.55815208
v 0.10242503 -0.04427401 0.63747841
v 0.24559116 -0.08722583 0.44367018
v 0.19049707 -0.08185454 0.47194186
v 0.31538150 0.05612540 -0.25833601
v 0.31499642 0.05023923 -0.18652716
v 0.31407198 0.02303544 -0.12943436
v 0.31278989 0.01941828 -0.05621048
v 0.30926567 -0.00883306 -0.01486050
v 0.30605388 -0.04532329 0.02680538
v 0.31893423 0.08203179 -0.31549594
v 0.32922763 -0.12329761 0.22367129
v 0.31840914 -0.12024178 0.19445834
v 0.31271625 -0.12136967 0.25249395
v 0.27428997 -0.12514588 0.29801601
v 0.29135680 -0.09004156 0.07480868
v 0.29131982 -0.09732424 0.10853801
v 0.29619390 -0.08775172 0.02611242
v 0.29600868 -0.12266027 0.15665039
v 0.28197703 -0.12718752 0.11646900
v 0.24501520 -0.11478651 0.36006761
v 0.21317339 0.23406190 -0.40397295
v 0.25233552 0.25463533 -0.39659080
v 0.17453516 0.21476796 -0.42093986
v 0.13831331 0.20301008 -0.44088212
v 0.10308958 0.20007372 -0.45582518
v 0.02604815 0.20340291 -0.41161323
v 0.02393158 0.20740709 -0.34926867
v 0.00347979 0.20950666 -0.31165189
v 0.06591974 0.19597518 -0.49879414
v 0.02725894 0.19777527 -0.48254284
v -0.01614948 0.21125075 -0.25955129
v -0.03675046 0.21332455 -0.20233789
v -0.06058758 0.21494877 -0.14486599
v -0.12335160 0.21594468 -0.01532246
v -0.09355281 0.21557131 -0.08143970
v -0.14632626 0.21857309 0.06280228
v -0.16471134 0.22247535 0.14809892
v -0.19030051 0.23000085 0.23047540
v 0.28655788 0.26144207 -0.39593324
v 0.31224906 0.25524226 -0.40368798
v 0.32158008 0.21492031 -0.42910984
v 0.31998926 0.16567314 -0.42456546
v 0.32084545 0.11860498 -0.40692100
v 0.32078159 0.08252778 -0.37370941
v 0.31879249 0.25308588 -0.42721897
v -0.26616195 0.28528699 0.39961001
v -0.31433746 0.22942996 0.52664649
v -0.30079633 0.17855972 0.56529081
v -0.30853176 0.27398562 0.49012068
v -0.30044112 0.29004601 0.46031091
v -0.29839236 0.29159218 0.42175218
v -0.22130945 0.24206373 0.29972166
v -0.25402460 0.25666064 0.34971458
v -0.09641875 0.01063916 0.73948133
v -0.04553626 -0.01601410 0.71775681
v -0.11140959 -0.00773934 0.71972156
v 0.02950785 -0.02826346 0.69148028
v -0.29517001 0.13909990 0.60999674
v -0.28829533 0.10117182 0.64103490
v -0.27078956 0.06161315 0.66232806
v -0.23199937 0.02379542 0.68585604
v -0.17525244 0.00425350 0.71483254
v 0.12530831 -0.08460753 0.47147933
v 0.08261091 -0.07082137 0.54765040
v 0.01962090 -0.05263527 0.61850679
v 0.21285050 -0.10137121 0.40592286
v 0.16263098 -0.10688869 0.39552656
v 0.31118533 0.01812835 -0.21288857
v 0.31792381 0.05096655 -0.33141467
v 0.31238091 0.01863794 -0.28946277
v 0.30908051 -0.01485785 -0.09009133
v 0.30645093 -0.01462878 -0.16831474
v 0.30521864 -0.04926114 -0.05277889
v 0.29903412 -0.08594201 -0.03211631
v 0.27865294 -0.14112833 0.25783992
v 0.28745759 -0.14364472 0.21849251
v 0.28384143 -0.14737019 0.17953426
v 0.24410842 -0.13673440 0.30921373
v 0.28227839 -0.12657875 0.02278736
v 0.27892497 -0.12933311 0.07035353
v 0.28601709 -0.12254835 -0.02799630
v 0.27444512 -0.15745962 0.13281083
v 0.26880601 -0.16670781 0.08017316
v 0.20787534 -0.12510332 0.35106024
v 0.24154083 0.27017146 -0.43348277
v 0.20124651 0.23400742 -0.45388699
v 0.27317896 0.28074670 -0.42262366
v 0.15773124 0.20690373 -0.47998235
v 0.10805158 0.19461697 -0.51320767
v -0.00536650 0.20502251 -0.39386550
v -0.01016116 0.19924989 -0.46659344
v -0.02389912 0.20657977 -0.35176349
v 0.02644302 0.19278017 -0.53330129
v 0.05158322 0.18965247 -0.55615389
v -0.01093176 0.19263789 -0.52791899
v -0.04103681 0.20900390 -0.29533932
v -0.05972981 0.21230394 -0.23254144
v -0.08859422 0.21534324 -0.16486609
v -0.12347386 0.21724090 -0.09457653
v -0.15534560 0.21795344 -0.01806422
v -0.17865115 0.22086537 0.06471983
v -0.19936059 0.22697115 0.14394134
v -0.22401673 0.23418447 0.22047156
v 0.29861185 0.28424114 -0.42910051
v 0.31370097 0.28076643 -0.45088655
v 0.32157958 0.19004110 -0.46588236
v 0.32297474 0.24951968 -0.46614054
v 0.32059053 0.13395210 -0.46182668
v 0.32021502 0.08033466 -0.44202062
v 0.32079074 0.05145410 -0.39027196
v -0.29135978 0.27097857 0.37447366
v -0.32092163 0.19810554 0.51610821
v -0.32011446 0.25332174 0.47529843
v -0.30819270 0.14190459 0.55256861
v -0.31332758 0.28226256 0.44500592
v -0.31063360 0.26815850 0.39117533
v -0.24995124 0.24030575 0.28401369
v -0.27705410 0.24534428 0.32286626
v -0.06261887 -0.03724679 0.66783875
v -0.13452637 -0.02300342 0.68288249
v -0.19514470 -0.01516991 0.67675924
v -0.30467856 0.09392428 0.58584708
v -0.29784274 0.05412514 0.60879952
v -0.28005666 0.02087625 0.62735015
v -0.24134131 -0.00594096 0.65403306
v 0.09822889 -0.10897955 0.39867830
v 0.06177048 -0.08831475 0.45905957
v 0.00954926 -0.07560577 0.52452707
v -0.06281589 -0.06122898 0.57892287
v 0.12083960 -0.13557252 0.34203932
v 0.16790962 -0.14129004 0.32538271
v 0.30657876 -0.01458024 -0.24678996
v 0.31842911 0.02091744 -0.36162350
v 0.30954233 -0.01282893 -0.32570428
v 0.30200610 -0.04529125 -0.12856415
v 0.30112666 -0.04476788 -0.20473668
v 0.29590127 -0.07968049 -0.10133001
v 0.28608707 -0.11450989 -0.08869874
v 0.25661799 -0.16675150 0.24006659
v 0.24320866 -0.15658215 0.27488303
v 0.26354831 -0.17856488 0.20125049
v 0.26536572 -0.18678945 0.15538028
v 0.20859759 -0.15264994 0.30073875
v 0.26897094 -0.16742924 0.02543448
v 0.27064201 -0.16185805 -0.02619224
v 0.27269286 -0.15307853 -0.08174407
v 0.26251912 -0.19708776 0.09861302
v 0.25753984 -0.20938382 0.02745757
v 0.26994017 0.29577878 -0.46174976
v 0.23068367 0.26552683 -0.48445642
v 0.18806918 0.21868911 -0.51072973
v 0.13735561 0.19601318 -0.54285741
v 0.08166585 0.18741357 -0.57897419
v -0.03489276 0.20131743 -0.43348053
v -0.04525384 0.19454572 -0.50531322
v -0.05167499 0.20414254 -0.38521892
v 0.00001930 0.18741813 -0.57234591
v 0.02100062 0.18419784 -0.60374451
v -0.04523018 0.18863592 -0.56470746
v -0.06873652 0.20749238 -0.32428628
v -0.08933697 0.21213257 -0.25308722
v -0.11929791 0.21636945 -0.17703229
v -0.15590000 0.21769330 -0.09979592
v -0.18882340 0.21955082 -0.02012428
v -0.20829472 0.22363797 0.05759547
v -0.23532352 0.23079041 0.11430370
v -0.25156423 0.23679501 0.20060629
v 0.30395433 0.29170984 -0.47139391
v 0.31440580 0.27886462 -0.49383456
v 0.32013392 0.15625508 -0.49980360
v 0.32252833 0.20829764 -0.49440992
v 0.32209736 0.23984680 -0.50893217
v 0.31945911 0.10054229 -0.49888295
v 0.31900623 0.03399976 -0.43118122
v 0.31746441 0.05241561 -0.49159935
v -0.29580370 0.23857883 0.32980609
v -0.31955799 0.15468380 0.47933552
v -0.32064766 0.21020892 0.43795899
v -0.31963226 0.25262168 0.40399367
v -0.31548944 0.09828854 0.51793027
v -0.30854890 0.22412008 0.33136192
v -0.28238165 0.23817948 0.22520828
v -0.29456559 0.23564598 0.26746580
v -0.14031112 -0.05027299 0.61179590
v -0.20524815 -0.03850520 0.61916137
v -0.25250041 -0.02766918 0.60795277
v -0.31384614 0.05274368 0.54543108
v -0.30807579 0.02027817 0.56531781
v -0.28450617 -0.01144448 0.57999849
v 0.07467708 -0.13971493 0.34014103
v 0.04577751 -0.11500474 0.38837624
v 0.00174293 -0.09397281 0.44175366
v -0.05545428 -0.08112676 0.48988709
v -0.12676120 -0.07350258 0.52749592
v 0.09506803 -0.16354644 0.30104268
v 0.13162494 -0.16716909 0.28653151
v 0.17407860 -0.17198038 0.26990986
v 0.30135319 -0.04430222 -0.28369009
v 0.31830660 -0.00328697 -0.40399596
v 0.30666146 -0.03656138 -0.36906931
v 0.29612756 -0.06929316 -0.16504663
v 0.29294786 -0.07789322 -0.23364642
v 0.28797171 -0.09897018 -0.15586987
v 0.27764031 -0.13664410 -0.14244057
v 0.21845725 -0.17835036 0.24744758
v 0.24369285 -0.18772459 0.21283254
v 0.24817643 -0.20456690 0.16206217
v 0.25269410 -0.21263343 0.11968731
v 0.26071551 -0.19624263 -0.02022390
v 0.26016667 -0.19985202 -0.08064731
v 0.26681706 -0.17827827 -0.13529760
v 0.24947980 -0.22919574 0.06291225
v 0.24257697 -0.24608526 -0.00541116
v 0.25042197 -0.22998738 -0.04624384
v 0.25231811 0.28052798 -0.52069348
v 0.28389066 0.29099461 -0.50347257
v 0.21240625 0.23211217 -0.54416370
v 0.16507651 0.19911560 -0.56848675
v 0.11031748 0.18590099 -0.59761781
v 0.04785423 0.18153971 -0.62597132
v -0.06680635 0.19816554 -0.46536386
v -0.08068361 0.19235641 -0.53146142
v -0.08339483 0.20140684 -0.40858078
v -0.03749383 0.18315119 -0.60456008
v -0.02151882 0.18009800 -0.63700658
v -0.08623222 0.18595645 -0.58275050
v -0.10335168 0.20680240 -0.34618685
v -0.12315553 0.21373504 -0.25652939
v -0.15393259 0.21678627 -0.17875700
v -0.19189072 0.21908662 -0.10406871
v -0.22833331 0.22267434 -0.01956688
v -0.26823345 0.22829741 0.02688498
v -0.27516022 0.23773813 0.12908006
v 0.30897337 0.27692917 -0.52476948
v 0.31889111 0.25693044 -0.53439045
v 0.32137486 0.18172416 -0.52409285
v 0.31928852 0.12053353 -0.53436363
v 0.32133293 0.20450604 -0.54921865
v 0.31851935 0.06594327 -0.53897458
v 0.31453985 0.01193251 -0.47747084
v 0.31630310 0.02034937 -0.53514165
v -0.30778968 0.22661376 0.28156826
v -0.31982034 0.15350875 0.39302999
v -0.32087439 0.10094246 0.43149409
v -0.31609049 0.19730726 0.35876670
v -0.31789687 0.05320569 0.46697614
v -0.31979248 0.17920631 0.28469250
v -0.31673801 0.20767301 0.25202236
v -0.30167589 0.23260000 0.12412343
v -0.30455548 0.22765231 0.18172845
v -0.31033075 0.22357920 0.21989834
v -0.19431376 -0.06048393 0.54267788
v -0.24715656 -0.05371257 0.53794932
v -0.27608785 -0.04702260 0.51452965
v -0.31454161 0.01547441 0.48852310
v -0.30051896 -0.02366474 0.48678628
v 0.02574858 -0.15078008 0.32788208
v 0.05645180 -0.17589137 0.28748751
v -0.01681604 -0.12409896 0.37049827
v -0.05085946 -0.09921848 0.42621896
v -0.10397505 -0.09195650 0.44902578
v -0.17051785 -0.08404095 0.46689078
v 0.09448569 -0.19262359 0.24798018
v 0.14390370 -0.19412136 0.23331523
v 0.18516266 -0.19779709 0.21521363
v 0.29770032 -0.06763081 -0.32662350
v 0.30858442 -0.02457107 -0.45022285
v 0.30004168 -0.05941163 -0.41093761
v 0.28156415 -0.11744014 -0.21146739
v 0.28754085 -0.10154148 -0.28751162
v 0.27156213 -0.15822068 -0.19573632
v 0.22037101 -0.20258078 0.19046777
v 0.22476177 -0.22706482 0.13322991
v 0.23931517 -0.23169020 0.09896157
v 0.24687803 -0.24114481 -0.10923711
v 0.25633410 -0.21442544 -0.13516654
v 0.26000991 -0.19946510 -0.18315479
v 0.23422398 -0.25273579 0.03304824
v 0.22771978 -0.26628888 -0.03789855
v 0.23673110 -0.26077053 -0.07819988
v 0.27707005 0.26406220 -0.55424577
v 0.23368847 0.23045260 -0.57218546
v 0.18424882 0.20034420 -0.60082650
v 0.12941973 0.18499744 -0.62435776
v 0.07699119 0.18116966 -0.63924956
v 0.00188612 0.17915085 -0.66532040
v -0.10280393 0.19665438 -0.48193207
v -0.12081299 0.19391391 -0.53582710
v -0.11346809 0.20054221 -0.42756268
v -0.08586291 0.18073770 -0.62187070
v -0.08252589 0.17922902 -0.65276289
v -0.13329314 0.18839183 -0.58046693
v -0.14114437 0.21160892 -0.32520008
v -0.13803560 0.20507270 -0.40305135
v -0.16066307 0.21684116 -0.24989864
v -0.19344722 0.21956435 -0.18188964
v -0.22966532 0.22230312 -0.12517202
v -0.26691070 0.22685689 -0.08171164
v -0.29401177 0.22751549 -0.03450806
v -0.29893965 0.22934887 0.04580175
v 0.30915791 0.24557668 -0.56101274
v 0.31412929 0.21242684 -0.57064575
v 0.31704819 0.14105694 -0.56187695
v 0.31668600 0.08040977 -0.57600391
v 0.31505790 0.15744433 -0.58983010
v 0.31586704 0.02777261 -0.57974124
v 0.31013927 -0.01799294 -0.51807272
v 0.30759984 -0.01473712 -0.57239360
v -0.31941053 0.14130622 0.31067207
v -0.32104874 0.09415839 0.34483609
v -0.31833765 0.05161257 0.37753269
v -0.31507418 0.01720843 0.40077952
v -0.32081261 0.16473868 0.21368989
v -0.31693721 0.12848708 0.24677071
v -0.31961614 0.19096142 0.17763606
v -0.31102553 0.22242558 0.03296421
v -0.31361955 0.21957770 0.09347533
v -0.31764266 0.20775998 0.13992044
v -0.22794601 -0.07834855 0.46556517
v -0.26241538 -0.07591479 0.44671819
v -0.28027746 -0.07104635 0.41605705
v -0.30655214 -0.01185431 0.41699532
v -0.29362813 -0.04742110 0.36881840
v -0.01753831 -0.16101542 0.30996466
v 0.00839794 -0.18697944 0.26683128
v 0.04905205 -0.20461333 0.23174739
v -0.08252230 -0.11669832 0.38186413
v -0.06063740 -0.14951289 0.32562730
v -0.14255336 -0.10872119 0.39663404
v -0.20074689 -0.10310470 0.40123489
v 0.08591738 -0.22145379 0.18947998
v 0.12072228 -0.21393690 0.20017880
v 0.15660295 -0.21834111 0.17846331
v 0.19338076 -0.22222760 0.15615109
v 0.29173011 -0.09314013 -0.36641383
v 0.29938859 -0.05379714 -0.48651186
v 0.29253790 -0.09162091 -0.44265226
v 0.27637246 -0.13943917 -0.26395971
v 0.28092152 -0.12470003 -0.32740200
v 0.26392445 -0.18058631 -0.24825951
v 0.20113017 -0.24726352 0.09516679
v 0.22414504 -0.25062123 0.06915034
v 0.24678166 -0.23791447 -0.16789663
v 0.23355240 -0.26494491 -0.14497894
v 0.25003210 -0.22273037 -0.22710270
v 0.21902514 -0.26684228 0.00198679
v 0.22382444 -0.27494287 -0.11057483
v 0.21215375 -0.27753890 -0.07122949
v 0.25124353 0.21495610 -0.60045362
v 0.27705842 0.20941341 -0.60316503
v 0.20842355 0.19581324 -0.62698758
v 0.14411972 0.18383652 -0.65455979
v 0.07367615 0.18048140 -0.66855961
v -0.08569472 0.17894569 -0.68016130
v -0.00877880 0.17939889 -0.69574332
v -0.13824636 0.20001012 -0.47479016
v -0.16647305 0.20515212 -0.51635748
v -0.14162911 0.18289772 -0.61641538
v -0.15109849 0.18115515 -0.64960927
v -0.17991970 0.20199662 -0.56765109
v -0.18115334 0.21726352 -0.31124046
v -0.17146386 0.21494791 -0.37980631
v -0.16967073 0.21225476 -0.44643521
v -0.20423770 0.22057271 -0.24617717
v -0.22871986 0.22409233 -0.19294819
v -0.26380101 0.22810754 -0.16469294
v -0.30235064 0.22952887 -0.12579317
v -0.31084144 0.22380951 -0.04411954
v 0.29706779 0.19767061 -0.60244036
v 0.30457127 0.16587792 -0.60988492
v 0.31624928 0.09777178 -0.60902297
v 0.31255791 0.03723896 -0.61815709
v 0.31192508 0.11274199 -0.63911992
v 0.30900353 -0.01326325 -0.61564642
v 0.29567236 -0.05266064 -0.54712880
v 0.29297918 -0.05348638 -0.59551847
v -0.31434527 0.08549418 0.27368259
v -0.31444368 0.04165068 0.29747039
v -0.31070289 0.00877379 0.31460011
v -0.30610564 -0.01891422 0.33333185
v -0.32031551 0.14743060 0.14571905
v -0.31398591 0.11641237 0.18981946
v -0.31174347 0.07614339 0.22309294
v -0.32254183 0.17117783 0.09930048
v -0.31920362 0.20539916 0.00455753
v -0.31775263 0.21454287 -0.06488504
v -0.32076266 0.19107369 0.05691690
v -0.24404857 -0.10305741 0.38989937
v -0.26856536 -0.10271937 0.36335704
v -0.28752151 -0.08915184 0.32397202
v -0.31169432 -0.06243108 0.28444767
v -0.04486674 -0.18720537 0.26585048
v -0.01557200 -0.21172285 0.21444330
v 0.01713523 -0.21278542 0.21259364
v 0.04835200 -0.22669384 0.17551637
v -0.11453540 -0.13781783 0.33776262
v -0.09207972 -0.17217785 0.28726199
v -0.16925628 -0.12933156 0.34639531
v -0.21786086 -0.12742287 0.34667218
v 0.08755802 -0.24537858 0.13532016
v 0.12494288 -0.23555434 0.15100795
v 0.16181928 -0.24598384 0.11286537
v 0.28004047 -0.12823790 -0.39054900
v 0.28532496 -0.09057898 -0.50929606
v 0.27677241 -0.12906688 -0.46145186
v 0.26910612 -0.16451192 -0.32736701
v 0.25698406 -0.20775133 -0.29489526
v 0.17215469 -0.26119307 0.05156720
v 0.20050599 -0.26470551 0.03221421
v 0.23479131 -0.25793639 -0.20735523
v 0.21679060 -0.27824309 -0.18426126
v 0.24251212 -0.24421948 -0.27237484
v 0.19545171 -0.27644539 -0.03532855
v 0.20347901 -0.28356671 -0.14844278
v 0.18553112 -0.28299525 -0.10788951
v 0.24174948 0.19217986 -0.65849888
v 0.28137755 0.18563122 -0.65563703
v 0.16156085 0.18421161 -0.68533230
v 0.07645069 0.18272316 -0.69904864
v -0.09765657 0.18174651 -0.70651430
v -0.16209325 0.18118986 -0.68066186
v -0.01172294 0.18025801 -0.72083563
v -0.19705513 0.22963557 -0.47095549
v -0.20938461 0.23434445 -0.51392931
v -0.19598550 0.19469205 -0.60410511
v -0.21045782 0.18857577 -0.64247644
v -0.22328275 0.22961724 -0.55738676
v -0.21234232 0.22662866 -0.36240378
v -0.22503234 0.22480759 -0.30095834
v -0.20433439 0.23164281 -0.42032194
v -0.25392628 0.22737792 -0.24293196
v -0.28975916 0.22872886 -0.20693773
v -0.31258154 0.22303960 -0.13837346
v -0.30545828 0.22451410 -0.21286622
v 0.29117998 0.17292124 -0.65803951
v 0.30096292 0.13010632 -0.66782814
v 0.30831486 0.05017871 -0.65060002
v 0.30029079 -0.00727937 -0.65012878
v 0.29769728 0.06501348 -0.67773014
v 0.29070619 -0.05307340 -0.63846612
v 0.27901527 -0.09228095 -0.56409651
v 0.27441409 -0.09413636 -0.61275518
v -0.31536305 0.02915865 0.24032867
v -0.32633394 -0.01373155 0.25177038
v -0.32665136 -0.03603334 0.26939178
v -0.31911665 0.12766179 0.07664924
v -0.31370091 0.09949164 0.13379884
v -0.31019428 0.06449345 0.18053830
v -0.31783605 0.02428233 0.20680663
v -0.31960166 0.15034115 0.00917716
v -0.32214651 0.19073108 -0.08168374
v -0.32032761 0.17722362 -0.01942939
v -0.31950191 0.20603287 -0.15536812
v -0.25659299 -0.12695342 0.33052582
v -0.27878740 -0.11764743 0.30191717
v -0.31309745 -0.09801222 0.26935589
v -0.36462417 -0.08214358 0.24193022
v -0.07700692 -0.19661531 0.24108434
v -0.04975274 -0.21441665 0.20542520
v -0.02298925 -0.23117611 0.15792456
v 0.00840297 -0.22875389 0.16589764
v 0.04606011 -0.24468696 0.12127370
v -0.13936993 -0.15975940 0.30077547
v -0.11742318 -0.19167817 0.24501318
v -0.18919218 -0.15101764 0.30658570
v -0.23323500 -0.14861804 0.29979336
v 0.07546386 -0.26045582 0.07930977
v 0.11832030 -0.25853926 0.09450030
v 0.14034031 -0.26311299 0.06193803
v 0.26704818 -0.16832671 -0.40648976
v 0.26901567 -0.13048595 -0.52213103
v 0.26093078 -0.16906729 -0.47300863
v 0.26030266 -0.19786131 -0.35726231
v 0.24955666 -0.22821051 -0.34004703
v 0.13585947 -0.27034062 0.01429997
v 0.16962671 -0.27274290 -0.00821649
v 0.22373374 -0.27019194 -0.25442332
v 0.19927101 -0.28496587 -0.23585755
v 0.23218794 -0.25516900 -0.31807742
v 0.15950629 -0.27847487 -0.07091089
v 0.17660332 -0.28734100 -0.18210846
v 0.14919972 -0.28351477 -0.14013238
v 0.18052258 0.18173397 -0.71781504
v 0.24316920 0.18399638 -0.70260704
v 0.25608388 0.17392439 -0.71056539
v 0.08518133 0.18377054 -0.72954690
v -0.10675669 0.18013871 -0.72968274
v -0.17866947 0.18232539 -0.70823574
v -0.21673356 0.18639830 -0.67740935
v -0.01027711 0.17569673 -0.73785418
v -0.23095401 0.26693782 -0.45828763
v -0.24520671 0.28164667 -0.50965345
v -0.23999858 0.21027544 -0.59639817
v -0.25151470 0.19253942 -0.64590865
v -0.25777939 0.26014313 -0.55299389
v -0.24079259 0.25544819 -0.40307242
v -0.24958476 0.23560929 -0.34671709
v -0.26218095 0.22861269 -0.30018425
v -0.29690599 0.22654811 -0.27993849
v -0.31295541 0.21435550 -0.22702757
v -0.30943418 0.21856222 -0.29050803
v 0.27326405 0.13906468 -0.70671266
v 0.28017566 0.07846402 -0.70899755
v 0.29157692 -0.00086512 -0.67827159
v 0.28642571 -0.04602655 -0.66741496
v 0.27778113 0.00387276 -0.70417058
v 0.27063295 -0.08775414 -0.65221232
v 0.26108119 -0.13501203 -0.57496828
v 0.25708362 -0.13570005 -0.61971521
v -0.33956265 -0.01751368 0.21519959
v -0.37591940 -0.06191097 0.22162670
v -0.31628761 0.10428756 0.01028115
v -0.31405187 0.08401103 0.07761463
v -0.30611527 0.04808835 0.13699269
v -0.31363219 0.01964138 0.17733768
v -0.32905731 -0.02183296 0.19107890
v -0.31844965 0.12066207 -0.06785316
v -0.32053593 0.15685165 -0.08159947
v -0.32143551 0.17067690 -0.16255689
v -0.31836388 0.18637261 -0.23698351
v -0.26600718 -0.14075294 0.28218824
v -0.30374667 -0.11875903 0.25533861
v -0.36142826 -0.10586248 0.22977164
v -0.38560191 -0.09268943 0.21075279
v -0.08535106 -0.21820381 0.19578469
v -0.05857756 -0.23626438 0.14945576
v -0.03224935 -0.24989432 0.10326465
v 0.00656050 -0.24539179 0.11060537
v 0.03273945 -0.25886121 0.06786130
v -0.16218506 -0.17614153 0.26515907
v -0.15299886 -0.20046684 0.21868345
v -0.12140410 -0.22098336 0.18497846
v -0.20606142 -0.16890106 0.26832473
v -0.24511468 -0.16390377 0.25890002
v 0.05404320 -0.27028653 0.01804585
v 0.10178091 -0.26784265 0.04173833
v 0.25571436 -0.21053571 -0.41424540
v 0.25177991 -0.17105493 -0.53065425
v 0.24425718 -0.20566031 -0.48416838
v 0.24105179 -0.24456653 -0.38210416
v 0.09151214 -0.27400661 -0.01329298
v 0.12701273 -0.27528965 -0.04248465
v 0.20971124 -0.27438352 -0.31180549
v 0.16237073 -0.28560799 -0.25288710
v 0.18115170 -0.28128445 -0.31350020
v 0.22100590 -0.26384497 -0.36102030
v 0.12022850 -0.28109175 -0.10167827
v 0.14277306 -0.28600523 -0.20214477
v 0.10730090 -0.28710049 -0.17654461
v 0.09808151 0.17831171 -0.74303448
v 0.19032235 0.17041671 -0.73549324
v 0.19101286 0.14798987 -0.75096458
v 0.23633276 0.13681990 -0.73677784
v -0.10938473 0.17265406 -0.74285907
v -0.19237110 0.17737195 -0.72505128
v -0.24238905 0.18585828 -0.69516307
v -0.00246698 0.16304833 -0.75238812
v -0.26736876 0.29430339 -0.44905651
v -0.27893522 0.29073673 -0.50733083
v -0.26733151 0.21316481 -0.59958816
v -0.27833089 0.18653268 -0.65379822
v -0.29001850 0.25958803 -0.55436695
v -0.27200437 0.25862497 -0.38909426
v -0.28348202 0.23332617 -0.34007990
v -0.30181223 0.22639337 -0.34616342
v -0.31640774 0.20124373 -0.29994556
v -0.31090271 0.21452707 -0.35212773
v 0.24402572 0.09007733 -0.73925841
v 0.24930346 0.01573121 -0.73452187
v 0.27454665 -0.06486886 -0.69033307
v 0.25475299 -0.06041133 -0.72426736
v 0.24949531 -0.12345622 -0.65360880
v 0.24441858 -0.17612737 -0.57903469
v 0.23733757 -0.17045489 -0.61426115
v -0.38200137 -0.06960433 0.19682276
v -0.31546050 0.08151783 -0.04979074
v -0.31305480 0.06215815 0.02637757
v -0.30896497 0.04740116 0.08442979
v -0.30460641 0.01123735 0.11456660
v -0.31110990 -0.00479943 0.15909675
v -0.32609776 -0.04661793 0.16962925
v -0.31995371 0.13407087 -0.15377373
v -0.31717724 0.09850016 -0.13468988
v -0.31856668 0.14962977 -0.23565415
v -0.31869492 0.16636579 -0.30247959
v -0.27682588 -0.14594367 0.24510631
v -0.32036531 -0.12472964 0.22607625
v -0.37184832 -0.10857650 0.20706141
v -0.37788454 -0.09614675 0.19752112
v -0.09437472 -0.24328762 0.14266637
v -0.07155041 -0.25621954 0.09635153
v -0.04398882 -0.26445889 0.04885187
v -0.00655000 -0.26072705 0.05810056
v 0.01449435 -0.27007383 0.02223538
v -0.18480198 -0.18804803 0.23880589
v -0.15990916 -0.22314504 0.16648185
v -0.18852991 -0.20367774 0.19866091
v -0.13255933 -0.24321315 0.12844256
v -0.22005545 -0.18715981 0.23055366
v -0.25203383 -0.17915040 0.22176427
v 0.01409367 -0.28273711 -0.02236360
v 0.04887022 -0.28275689 -0.04218501
v 0.23509634 -0.23763585 -0.44509318
v 0.23492151 -0.21017823 -0.53774762
v 0.22524688 -0.23468268 -0.50007796
v 0.21413372 -0.26262718 -0.41925105
v 0.08537553 -0.28079081 -0.06831659
v 0.19820884 -0.27485308 -0.37015089
v 0.14270516 -0.28158927 -0.31882069
v 0.12259244 -0.28468272 -0.25417894
v 0.16206977 -0.27815291 -0.37623608
v 0.08527943 -0.28641289 -0.12153342
v 0.06158234 -0.29143912 -0.17114450
v 0.08122669 -0.28556213 -0.24404413
v 0.10462122 0.15808232 -0.75887913
v 0.11227375 0.13085024 -0.76877344
v 0.19421472 0.10677738 -0.75916404
v -0.09819157 0.15251662 -0.75849843
v -0.18992905 0.16355291 -0.73982841
v -0.25147375 0.17777020 -0.70691049
v 0.00838867 0.14102593 -0.76465446
v -0.30010310 0.28075686 -0.42451078
v -0.30063519 0.29189858 -0.47141472
v -0.30681902 0.27615815 -0.52454466
v -0.28915915 0.20251048 -0.60169238
v -0.28744024 0.17406031 -0.66066217
v -0.30859005 0.24089146 -0.56061882
v -0.29719400 0.24754503 -0.38445720
v -0.30881184 0.23588389 -0.38719922
v -0.31597817 0.18658364 -0.35637841
v -0.31585839 0.21820062 -0.39380658
v 0.19972293 0.03756632 -0.75766844
v 0.20933037 -0.04295416 -0.75027239
v 0.24051535 -0.10786302 -0.68949491
v 0.20927493 -0.09254838 -0.72626191
v 0.22263405 -0.15620789 -0.64468551
v 0.22319755 -0.20981723 -0.57872981
v 0.20529155 -0.20252982 -0.61010677
v -0.33351758 -0.08315446 0.16909292
v -0.31262785 0.03854948 -0.02227110
v -0.31504688 0.05836686 -0.11010937
v -0.30834126 0.02174775 0.05403740
v -0.30327249 -0.01988608 0.08010853
v -0.30542031 -0.03227311 0.13350326
v -0.30548096 -0.07192036 0.13702708
v -0.31699905 0.11480939 -0.22113201
v -0.31483322 0.07942397 -0.20011187
v -0.31911701 0.13014199 -0.29619664
v -0.31889826 0.14739653 -0.35380256
v -0.28211686 -0.15053576 0.21593162
v -0.31187323 -0.12515703 0.19902766
v -0.32709908 -0.11080881 0.17782769
v -0.10820019 -0.26098996 0.08657465
v -0.08185585 -0.26728642 0.04208120
v -0.05842597 -0.27731565 -0.00580849
v -0.02056541 -0.27689818 -0.00029828
v -0.17067574 -0.24382788 0.11270753
v -0.19849385 -0.22415677 0.15007931
v -0.22707236 -0.20154637 0.18786579
v -0.14526111 -0.25974002 0.07304586
v -0.25564766 -0.18687898 0.18605137
v 0.01475141 -0.29417330 -0.08169287
v -0.01723127 -0.29123968 -0.06314257
v 0.05013004 -0.29149333 -0.10300338
v 0.21602352 -0.25213343 -0.47127047
v 0.21643788 -0.24059311 -0.54685402
v 0.20176631 -0.25546291 -0.51570344
v 0.17824775 -0.27295440 -0.42843944
v 0.19058549 -0.26540899 -0.47497734
v 0.10121933 -0.28075242 -0.31615511
v 0.12171733 -0.27691540 -0.37962267
v 0.13785648 -0.27280435 -0.43521070
v 0.02404733 -0.29386932 -0.15449616
v 0.04208381 -0.28701839 -0.23238066
v 0.06048588 -0.27981514 -0.30858329
v 0.11954243 0.06524344 -0.77018476
v 0.00836819 0.10112081 -0.77159375
v -0.08789163 0.12715831 -0.76908326
v -0.17366149 0.14115009 -0.75755465
v -0.25629833 0.15520978 -0.71774948
v -0.31284648 0.25616586 -0.41270268
v -0.31142670 0.28032982 -0.45703477
v -0.31160933 0.27898648 -0.49795637
v -0.31753165 0.25476548 -0.53155106
v -0.30253112 0.18037552 -0.60421187
v -0.29720047 0.13913086 -0.66698909
v -0.31333435 0.19760382 -0.57134920
v -0.31678239 0.17361873 -0.39713171
v -0.31952804 0.21167499 -0.42884496
v 0.13335413 -0.01572420 -0.76679832
v 0.14874437 -0.07327364 -0.75354266
v 0.19627662 -0.13500592 -0.68347913
v 0.14748029 -0.11039516 -0.72284645
v 0.17308033 -0.18285602 -0.63826674
v 0.19398619 -0.23869640 -0.58953923
v 0.15883745 -0.23366955 -0.61709684
v -0.29912522 -0.10504750 0.13934448
v -0.30917141 -0.00514215 0.00976312
v -0.31090850 0.01629702 -0.08173777
v -0.31147730 0.04251795 -0.17344718
v -0.30437747 -0.04588033 0.03237653
v -0.29658368 -0.05871020 0.09226011
v -0.28722227 -0.09604155 0.09251336
v -0.31673563 0.09413056 -0.28370473
v -0.31377396 0.05688269 -0.26074111
v -0.31905603 0.11295303 -0.34231442
v -0.31852657 0.12177677 -0.39010617
v -0.27552655 -0.15867844 0.17795363
v -0.28738314 -0.13490665 0.15195030
v -0.11812092 -0.26848251 0.03053889
v -0.09424825 -0.27615839 -0.01749366
v -0.04297215 -0.28754744 -0.04721022
v -0.07303652 -0.29037380 -0.07328679
v -0.18226781 -0.26008055 0.05685482
v -0.20716013 -0.24536511 0.09778660
v -0.23270865 -0.22009197 0.14101872
v -0.15485765 -0.26867765 0.01624196
v -0.25300908 -0.20481423 0.13732767
v -0.01138009 -0.29463130 -0.13310552
v -0.04230002 -0.29399222 -0.10660341
v 0.18230937 -0.25570396 -0.56164217
v 0.16631432 -0.26300851 -0.52820826
v 0.15135531 -0.26851475 -0.48435310
v 0.08044871 -0.27537590 -0.37821969
v 0.09466084 -0.27107435 -0.43847439
v 0.10572777 -0.26734847 -0.49030462
v 0.00841593 -0.29021198 -0.21374866
v 0.02285492 -0.28103298 -0.29429531
v 0.04088157 -0.27566603 -0.36945593
v 0.02584235 0.01381069 -0.77171725
v -0.09359672 0.05016514 -0.77040964
v -0.15855661 0.10542254 -0.76500708
v -0.22020893 0.10938124 -0.74903762
v -0.27020872 0.10604939 -0.71415329
v -0.32028612 0.24437159 -0.45707434
v -0.31947681 0.24787194 -0.49892145
v -0.31887299 0.19751310 -0.54452884
v -0.30766928 0.13687623 -0.62079757
v -0.29874328 0.09657634 -0.67197770
v -0.31531334 0.13653505 -0.59058791
v -0.31744203 0.14865562 -0.43137100
v -0.31917465 0.18454233 -0.46142226
v 0.05468667 -0.05806749 -0.76551336
v 0.07441409 -0.09225778 -0.74499607
v 0.12958381 -0.15367204 -0.67518806
v 0.07494501 -0.12531513 -0.70848799
v 0.10829344 -0.20486003 -0.64052832
v 0.14919335 -0.24995258 -0.60314089
v 0.09113944 -0.24519566 -0.62295413
v -0.27795595 -0.12996069 0.09288397
v -0.30950376 -0.02611156 -0.04024048
v -0.30794531 0.01144480 -0.15247135
v -0.30587408 -0.01297985 -0.10810529
v -0.30893153 0.01965159 -0.22655579
v -0.30174273 -0.06562966 -0.02718261
v -0.29248929 -0.08401946 0.03600836
v -0.27838588 -0.12289935 0.02991340
v -0.31908479 0.07601683 -0.34980217
v -0.31390467 0.02939684 -0.31218633
v -0.31839114 0.08120186 -0.42311129
v -0.26469103 -0.18245062 0.12066447
v -0.26886687 -0.16267154 0.09333643
v -0.13150966 -0.27410805 -0.02917464
v -0.11033529 -0.28212732 -0.08167070
v -0.06279720 -0.29252756 -0.15217465
v -0.09177110 -0.29076678 -0.12818055
v -0.21442103 -0.26015094 0.04105762
v -0.19140936 -0.27147871 -0.00023686
v -0.23202552 -0.23994437 0.08504865
v -0.17102385 -0.27619159 -0.04364950
v -0.24826559 -0.22599104 0.07200851
v -0.03129122 -0.29097590 -0.18618122
v 0.13186280 -0.26022160 -0.57373869
v 0.11775878 -0.26326978 -0.53651953
v 0.05298757 -0.27128649 -0.43602350
v 0.05776186 -0.26725751 -0.49340013
v 0.06346097 -0.26451212 -0.54041696
v -0.01582808 -0.28265259 -0.27347726
v 0.00244069 -0.27614489 -0.35270900
v 0.01319369 -0.27242684 -0.42233747
v -0.05010004 -0.03868742 -0.76606983
v -0.18640578 0.05016545 -0.75983411
v -0.14410874 -0.02232355 -0.76491040
v -0.24292293 0.05018901 -0.73897171
v -0.27648202 0.05744210 -0.70613843
v -0.31993470 0.20737880 -0.48630407
v -0.31877381 0.17733881 -0.51938391
v -0.31510448 0.12495138 -0.56163257
v -0.30983281 0.07898341 -0.63816029
v -0.29247352 0.01892679 -0.67676991
v -0.31426564 0.06685614 -0.60668343
v -0.31811169 0.11609585 -0.46657938
v -0.31815448 0.14815985 -0.49702561
v -0.01231292 -0.08051323 -0.75241005
v 0.00832382 -0.11040118 -0.72762966
v 0.05739701 -0.16638723 -0.66939974
v 0.01525974 -0.13788953 -0.69523245
v 0.03332226 -0.21420372 -0.64476544
v 0.08049606 -0.25696045 -0.60748851
v 0.00864534 -0.24675950 -0.62356770
v -0.26724228 -0.16355571 0.03355153
v -0.30127436 -0.04589894 -0.09949566
v -0.30300272 -0.01766932 -0.18147624
v -0.30650240 -0.00592588 -0.27688137
v -0.29208454 -0.08249203 -0.09434543
v -0.28799254 -0.10501359 -0.02958304
v -0.27038381 -0.15527049 -0.04277621
v -0.31929520 0.04181615 -0.38019809
v -0.31448364 0.00709607 -0.35723728
v -0.31738994 0.02240929 -0.42120820
v -0.31506300 0.04904491 -0.46698609
v -0.25854254 -0.20140740 0.05219684
v -0.14900823 -0.27964780 -0.09683010
v -0.12153288 -0.28418168 -0.14920756
v -0.08877312 -0.28777426 -0.19340417
v -0.05384998 -0.28500724 -0.23770285
v -0.21658474 -0.26880240 -0.01915193
v -0.23085703 -0.25430816 0.02470201
v -0.20498361 -0.27779868 -0.05892759
v -0.18537273 -0.28293410 -0.10766731
v -0.24484804 -0.23746184 0.00545985
v 0.07277542 -0.26242492 -0.57781452
v 0.01450166 -0.26864573 -0.48371053
v 0.01056681 -0.26505134 -0.53627372
v 0.01286865 -0.26155159 -0.57624137
v -0.04156523 -0.27657670 -0.33425856
v -0.01894859 -0.27334866 -0.39933228
v -0.02178142 -0.27055386 -0.45787156
v -0.10348611 -0.07370474 -0.75625652
v -0.21891631 -0.01011851 -0.74783313
v -0.18333195 -0.06781631 -0.75087672
v -0.26497841 -0.00219215 -0.71528858
v -0.31690773 0.10385115 -0.53181422
v -0.31426278 0.04987319 -0.57566130
v -0.30598974 0.02026053 -0.64172846
v -0.29030731 -0.04456238 -0.64993340
v -0.27770832 -0.05633652 -0.68583393
v -0.30867514 -0.00333647 -0.61668575
v -0.31627056 0.07800239 -0.50110286
v -0.06877297 -0.10524296 -0.73360920
v -0.04408611 -0.13590896 -0.69701481
v -0.01431685 -0.17379901 -0.66696280
v -0.04173303 -0.21859148 -0.64273655
v 0.02401012 -0.25700822 -0.60207647
v -0.07477050 -0.24611813 -0.62047356
v -0.04489049 -0.25838768 -0.60412514
v -0.25731158 -0.20271179 -0.01740176
v -0.29557425 -0.05811258 -0.16743788
v -0.30022457 -0.04091144 -0.24833456
v -0.30841613 -0.02672663 -0.33003196
v -0.28542656 -0.09818748 -0.16050366
v -0.28007734 -0.12269633 -0.09914696
v -0.26894960 -0.15965226 -0.10737671
v -0.25906691 -0.19718915 -0.08655284
v -0.31208023 -0.01948001 -0.40262780
v -0.30930254 -0.00637970 -0.45941126
v -0.31264886 0.01471275 -0.50128496
v -0.16179301 -0.28459254 -0.17525756
v -0.12019838 -0.28444004 -0.22557116
v -0.08356336 -0.28167412 -0.27712485
v -0.22449285 -0.27180183 -0.08171652
v -0.23182841 -0.25915995 -0.04113576
v -0.21125579 -0.27849701 -0.11003260
v -0.19851376 -0.28339142 -0.15995467
v -0.24654147 -0.23581550 -0.06311189
v -0.03220005 -0.26671451 -0.51682830
v -0.04118110 -0.26329798 -0.56526351
v -0.08247759 -0.27565971 -0.36044300
v -0.05261111 -0.27189946 -0.41550875
v -0.06350835 -0.26777220 -0.47830760
v -0.14576969 -0.10291146 -0.73141438
v -0.25113690 -0.06417901 -0.72267371
v -0.20521431 -0.09937447 -0.71893132
v -0.31488192 0.03314325 -0.53832424
v -0.30423909 -0.01846775 -0.57846308
v -0.26330709 -0.10393102 -0.64349860
v -0.29239884 -0.05062021 -0.61313319
v -0.27208331 -0.09512740 -0.60995990
v -0.25297695 -0.10064919 -0.67411560
v -0.10942980 -0.13786188 -0.69196439
v -0.07886598 -0.17806274 -0.66236579
v -0.10671049 -0.22259054 -0.63412839
v -0.10230809 -0.25349498 -0.60333639
v -0.13598427 -0.24529085 -0.60890222
v -0.09209079 -0.26121908 -0.57623821
v -0.29113683 -0.07975215 -0.23212859
v -0.29947847 -0.06349782 -0.30960560
v -0.30240273 -0.05715146 -0.37930939
v -0.27763101 -0.12349840 -0.21721372
v -0.27402323 -0.14159369 -0.15631856
v -0.26260942 -0.18580765 -0.14675581
v -0.25019500 -0.22821718 -0.12816331
v -0.29982716 -0.05311685 -0.44384375
v -0.30210102 -0.03554793 -0.49783733
v -0.30790046 -0.01443382 -0.53364438
v -0.18930748 -0.28577781 -0.22379914
v -0.15324587 -0.28472233 -0.25589040
v -0.11660672 -0.28023490 -0.30476984
v -0.23707031 -0.25958806 -0.10623708
v -0.22195873 -0.27287620 -0.14521050
v -0.20852071 -0.27930763 -0.19701448
v -0.07883390 -0.26394051 -0.53425801
v -0.12096142 -0.27645543 -0.37966225
v -0.09168416 -0.27158386 -0.43212634
v -0.10789870 -0.26638377 -0.49128088
v -0.18139310 -0.14100903 -0.67725086
v -0.23010029 -0.12104835 -0.67822796
v -0.28104576 -0.07812025 -0.57753539
v -0.29209173 -0.05819831 -0.53941691
v -0.24050316 -0.15511054 -0.62542737
v -0.25288534 -0.14735407 -0.59111196
v -0.26205066 -0.12887529 -0.55865693
v -0.13864622 -0.18518940 -0.64890230
v -0.15956077 -0.23383477 -0.61467558
v -0.13878186 -0.25539503 -0.58025599
v -0.17440367 -0.24833554 -0.58441186
v -0.12546012 -0.26215392 -0.54194272
v -0.28242254 -0.11575823 -0.29379749
v -0.29206231 -0.09326410 -0.35538286
v -0.28776857 -0.10501926 -0.41574782
v -0.26946753 -0.15467134 -0.25727248
v -0.26539004 -0.16984984 -0.20572935
v -0.25171080 -0.21520272 -0.18959162
v -0.23769271 -0.25066143 -0.16602263
v -0.28785825 -0.08543920 -0.48425815
v -0.17855074 -0.28306165 -0.28145039
v -0.20778681 -0.27735242 -0.26354647
v -0.15203635 -0.28073809 -0.32598218
v -0.22544125 -0.26640847 -0.21018746
v -0.16245846 -0.27719161 -0.39031318
v -0.13364857 -0.27150899 -0.44288859
v -0.15083744 -0.26621789 -0.49939930
v -0.18865883 -0.19552273 -0.62418425
v -0.21754131 -0.16381177 -0.63882697
v -0.27412459 -0.10901310 -0.52339083
v -0.23472317 -0.19227374 -0.56777817
v -0.21883351 -0.19882721 -0.59494430
v -0.24548611 -0.17581639 -0.53555703
v -0.25775036 -0.15772465 -0.50299442
v -0.19642648 -0.23489866 -0.58703792
v -0.16803275 -0.26047832 -0.54620975
v -0.19878879 -0.25252062 -0.54325902
v -0.27578080 -0.13678944 -0.36076379
v -0.26664972 -0.16725004 -0.31457096
v -0.26763210 -0.16107133 -0.41001663
v -0.27187344 -0.13464954 -0.46586078
v -0.25561288 -0.20161188 -0.26009420
v -0.24090277 -0.24095920 -0.23034990
v -0.18848054 -0.27970162 -0.33255711
v -0.21377775 -0.27046654 -0.32728043
v -0.23056863 -0.25870004 -0.27463779
v -0.19863920 -0.27262935 -0.39135915
v -0.17386611 -0.27054551 -0.44926500
v -0.18612871 -0.26239449 -0.50080234
v -0.22008182 -0.23273093 -0.54906279
v -0.23070085 -0.21894342 -0.51567811
v -0.24271971 -0.20173076 -0.48305443
v -0.25737631 -0.18298274 -0.44848669
v -0.21120507 -0.24844679 -0.50305772
v -0.26315218 -0.17885414 -0.36336979
v -0.25288117 -0.21502283 -0.33495978
v -0.25566840 -0.20562357 -0.39542174
v -0.24451920 -0.23616120 -0.28663608
v -0.23394163 -0.25001013 -0.33059081
v -0.21944284 -0.26173505 -0.38322920
v -0.20571673 -0.26096070 -0.44779569
v -0.22589448 -0.23903522 -0.46781838
v -0.24256095 -0.22426376 -0.43303317
v -0.24202725 -0.23921472 -0.38073662
v -0.22649333 -0.24808598 -0.42342666
f 4 1 2
f 4 3 1
f 5 1 3
f 6 1 5
f 7 1 6
f 7 2 1
f 8 2 7
f 9 4 2
f 10 2 8
f 10 9 2
f 11 3 4
f 12 3 11
f 13 3 12
f 13 5 3
f 14 4 9
f 14 11 4
f 15 6 5
f 16 15 5
f 16 5 13
f 17 7 6
f 18 6 15
f 18 17 6
f 19 7 17
f 19 8 7
f 20 8 19
f 21 8 20
f 21 10 8
f 22 14 9
f 23 9 10
f 23 22 9
f 24 23 10
f 24 10 21
f 25 11 14
f 25 12 11
f 27 12 25
f 27 26 12
f 28 13 12
f 28 12 26
f 29 16 13
f 29 13 28
f 30 25 14
f 31 14 22
f 31 30 14
f 32 18 15
f 33 32 15
f 33 15 16
f 33 16 29
f 34 17 18
f 35 19 17
f 35 17 34
f 36 18 32
f 36 34 18
f 37 19 35
f 37 20 19
f 38 21 20
f 39 20 37
f 39 38 20
f 40 21 38
f 40 24 21
f 41 31 22
f 42 22 23
f 42 41 22
f 43 23 24
f 43 42 23
f 44 43 24
f 45 44 24
f 45 24 40
f 46 25 30
f 46 27 25
f 48 26 27
f 48 47 26
f 48 27 46
f 49 26 47
f 49 28 26
f 50 28 49
f 50 29 28
f 51 29 50
f 51 33 29
f 52 30 31
f 52 46 30
f 53 31 41
f 53 52 31
f 54 32 33
f 55 32 54
f 55 36 32
f 56 33 51
f 56 54 33
f 57 34 36
f 57 35 34
f 58 35 57
f 59 35 58
f 59 37 35
f 60 36 55
f 60 57 36
f 61 37 59
f 61 39 37
f 62 40 38
f 62 45 40
f 63 38 39
f 63 62 38
f 64 39 61
f 64 63 39
f 66 42 43
f 66 41 42
f 66 65 41
f 67 41 65
f 67 53 41
f 68 43 44
f 68 66 43
f 69 44 45
f 70 44 69
f 70 68 44
f 71 45 62
f 71 69 45
f 72 46 52
f 72 48 46
f 73 47 48
f 74 47 73
f 75 47 74
f 75 49 47
f 76 48 72
f 76 73 48
f 77 49 75
f 77 50 49
f 78 51 50
f 78 50 77
f 79 51 78
f 79 56 51
f 80 72 52
f 81 80 52
f 81 52 53
f 82 81 53
f 82 53 67
f 83 54 56
f 83 55 54
f 84 60 55
f 85 84 55
f 85 55 83
f 86 83 56
f 87 86 56
f 87 56 79
f 88 57 60
f 88 58 57
f 89 58 88
f 90 58 89
f 90 59 58
f 91 59 90
f 91 61 59
f 92 88 60
f 92 60 84
f 93 61 91
f 93 64 61
f 94 62 63
f 94 71 62
f 95 63 64
f 95 94 63
f 96 64 93
f 96 95 64
f 97 66 68
f 97 65 66
f 98 65 97
f 98 67 65
f 99 82 67
f 99 67 98
f 100 97 68
f 100 68 70
f 101 69 71
f 102 69 101
f 102 70 69
f 103 70 102
f 103 100 70
f 104 71 94
f 104 101 71
f 105 72 80
f 105 76 72
f 106 73 76
f 107 73 106
f 107 74 73
f 108 74 107
f 109 74 108
f 109 75 74
f 110 75 109
f 110 77 75
f 111 76 105
f 111 106 76
f 112 77 110
f 112 78 77
f 113 78 112
f 113 79 78
f 114 87 79
f 114 79 113
f 115 105 80
f 116 80 81
f 116 115 80
f 116 81 82
f 117 116 82
f 117 82 99
f 118 83 86
f 118 85 83
f 119 84 85
f 120 84 119
f 120 92 84
f 121 119 85
f 121 85 118
f 122 118 86
f 123 122 86
f 123 86 87
f 123 87 114
f 124 88 92
f 124 89 88
f 125 89 124
f 125 90 89
f 126 90 125
f 126 91 90
f 127 91 126
f 127 93 91
f 128 92 120
f 128 124 92
f 129 93 127
f 129 96 93
f 130 104 94
f 130 94 95
f 131 95 96
f 131 130 95
f 132 96 129
f 132 131 96
f 133 98 97
f 134 97 100
f 134 133 97
f 135 99 98
f 135 98 133
f 136 117 99
f 136 99 135
f 137 100 103
f 137 134 100
f 138 101 104
f 139 101 138
f 139 102 101
f 140 103 102
f 140 137 103
f 141 102 139
f 141 140 102
f 142 104 130
f 142 138 104
f 143 105 115
f 143 111 105
f 144 107 106
f 145 106 111
f 145 144 106
f 145 111 143
f 146 107 144
f 146 108 107
f 147 108 146
f 148 108 147
f 148 109 108
f 149 109 148
f 149 110 109
f 150 112 110
f 150 110 149
f 151 112 150
f 151 113 112
f 152 113 151
f 152 114 113
f 153 114 152
f 153 123 114
f 154 143 115
f 155 115 116
f 155 154 115
f 156 155 116
f 156 116 117
f 157 156 117
f 157 117 136
f 158 118 122
f 158 121 118
f 159 128 120
f 159 120 119
f 160 119 121
f 160 159 119
f 161 121 158
f 161 160 121
f 162 158 122
f 163 122 123
f 163 162 122
f 163 123 153
f 164 124 128
f 164 125 124
f 165 125 164
f 165 126 125
f 166 126 165
f 166 127 126
f 167 127 166
f 167 129 127
f 168 128 159
f 169 164 128
f 169 128 168
f 170 129 167
f 170 132 129
f 171 130 131
f 171 142 130
f 172 131 132
f 172 171 131
f 173 132 170
f 173 172 132
f 174 135 133
f 175 133 134
f 175 174 133
f 176 134 137
f 176 175 134
f 177 136 135
f 177 135 174
f 178 157 136
f 178 136 177
f 179 137 140
f 179 176 137
f 180 139 138
f 180 141 139
f 181 138 142
f 181 180 138
f 182 179 140
f 183 140 141
f 183 182 140
f 184 141 180
f 184 183 141
f 185 142 171
f 185 181 142
f 186 143 154
f 186 145 143
f 187 146 144
f 188 144 145
f 188 187 144
f 188 145 186
f 189 146 187
f 189 147 146
f 190 147 189
f 191 147 190
f 191 148 147
f 192 148 191
f 192 149 148
f 193 149 192
f 193 150 149
f 194 150 193
f 194 152 151
f 194 151 150
f 195 152 194
f 196 152 195
f 196 153 152
f 197 163 153
f 197 153 196
f 198 186 154
f 199 198 154
f 199 154 155
f 200 156 157
f 200 155 156
f 200 199 155
f 201 200 157
f 201 157 178
f 202 158 162
f 202 161 158
f 203 159 160
f 203 168 159
f 204 203 160
f 205 204 160
f 205 160 161
f 206 161 202
f 206 205 161
f 207 202 162
f 208 162 163
f 208 207 162
f 208 163 197
f 209 164 169
f 209 165 164
f 210 165 209
f 210 166 165
f 211 166 210
f 211 167 166
f 212 167 211
f 212 170 167
f 213 169 168
f 214 213 168
f 214 168 203
f 215 169 213
f 215 209 169
f 216 170 212
f 216 173 170
f 217 171 172
f 217 185 171
f 218 217 172
f 218 172 173
f 219 173 216
f 219 218 173
f 220 177 174
f 221 174 175
f 221 220 174
f 222 175 176
f 222 221 175
f 223 176 179
f 223 222 176
f 224 178 177
f 224 177 220
f 225 178 224
f 225 201 178
f 226 223 179
f 226 179 182
f 227 180 181
f 227 184 180
f 228 181 185
f 228 227 181
f 229 226 182
f 230 182 183
f 230 183 184
f 230 229 182
f 231 184 227
f 232 184 231
f 232 230 184
f 233 185 217
f 233 228 185
f 234 186 198
f 234 188 186
f 235 187 188
f 235 188 234
f 236 187 235
f 236 189 187
f 237 189 236
f 237 190 189
f 238 191 190
f 239 238 190
f 239 190 237
f 240 191 238
f 240 192 191
f 241 192 240
f 241 193 192
f 242 193 241
f 243 194 193
f 243 193 242
f 243 195 194
f 244 195 243
f 244 243 242
f 245 195 244
f 245 196 195
f 246 197 196
f 246 196 245
f 247 197 246
f 247 208 197
f 248 198 199
f 249 198 248
f 249 234 198
f 250 200 201
f 250 199 200
f 250 248 199
f 251 201 225
f 252 250 201
f 252 201 251
f 253 202 207
f 253 206 202
f 254 203 204
f 254 214 203
f 255 204 205
f 255 254 204
f 256 255 205
f 256 205 206
f 257 206 253
f 257 256 206
f 258 207 208
f 258 208 247
f 259 207 258
f 259 253 207
f 260 209 215
f 260 210 209
f 261 210 260
f 261 211 210
f 262 211 261
f 262 212 211
f 263 212 262
f 263 216 212
f 264 213 214
f 265 213 264
f 265 215 213
f 266 214 254
f 266 264 214
f 267 215 265
f 267 260 215
f 268 216 263
f 268 219 216
f 269 217 218
f 269 233 217
f 270 269 218
f 270 218 219
f 271 219 268
f 271 270 219
f 272 224 220
f 273 220 221
f 273 272 220
f 274 273 221
f 274 221 222
f 275 222 223
f 275 274 222
f 276 223 226
f 276 275 223
f 277 225 224
f 277 224 272
f 278 251 225
f 278 225 277
f 279 276 226
f 279 226 229
f 280 227 228
f 280 231 227
f 281 228 233
f 281 280 228
f 282 230 232
f 282 229 230
f 283 279 229
f 283 229 282
f 284 231 280
f 284 232 231
f 285 232 284
f 285 282 232
f 286 233 269
f 286 281 233
f 287 234 249
f 287 235 234
f 288 235 287
f 288 236 235
f 289 236 288
f 289 237 236
f 290 237 289
f 290 239 237
f 291 240 238
f 292 238 239
f 292 291 238
f 293 239 290
f 293 292 239
f 294 240 291
f 294 241 240
f 295 241 294
f 295 242 241
f 296 244 242
f 296 242 295
f 297 245 244
f 297 244 296
f 298 246 245
f 298 245 297
f 299 246 298
f 299 247 246
f 300 247 299
f 300 258 247
f 301 249 248
f 302 301 248
f 303 248 250
f 303 302 248
f 303 250 252
f 304 249 301
f 304 287 249
f 304 288 287
f 305 252 251
f 306 251 278
f 306 305 251
f 307 303 252
f 307 252 305
f 307 302 303
f 308 253 259
f 308 257 253
f 309 254 255
f 309 266 254
f 310 255 256
f 310 309 255
f 311 310 256
f 311 256 257
f 311 257 308
f 312 258 300
f 312 259 258
f 313 259 312
f 313 308 259
f 314 260 267
f 315 261 260
f 315 260 314
f 316 262 261
f 316 261 315
f 317 262 316
f 317 263 262
f 318 263 317
f 318 268 263
f 319 264 266
f 320 264 319
f 320 265 264
f 321 265 320
f 321 267 265
f 322 266 309
f 322 319 266
f 323 267 321
f 323 314 267
f 324 268 318
f 324 271 268
f 325 269 270
f 325 286 269
f 326 270 271
f 326 325 270
f 327 271 324
f 327 326 271
f 328 277 272
f 329 272 273
f 329 328 272
f 330 273 274
f 330 329 273
f 331 330 274
f 331 274 275
f 331 275 276
f 332 276 279
f 332 331 276
f 333 278 277
f 333 277 328
f 333 306 278
f 334 279 283
f 334 332 279
f 335 284 280
f 336 280 281
f 336 335 280
f 337 281 286
f 337 336 281
f 338 282 285
f 338 283 282
f 339 283 338
f 339 334 283
f 340 284 335
f 340 285 284
f 341 285 340
f 341 338 285
f 342 286 325
f 342 337 286
f 343 288 304
f 344 288 343
f 344 289 288
f 345 290 289
f 345 289 344
f 346 293 290
f 346 290 345
f 347 291 292
f 347 292 293
f 348 291 347
f 348 294 291
f 349 293 346
f 349 347 293
f 350 294 348
f 350 295 294
f 351 295 350
f 351 296 295
f 352 297 296
f 352 296 351
f 353 298 297
f 354 353 297
f 354 297 352
f 355 299 298
f 355 298 353
f 356 299 355
f 356 300 299
f 357 300 356
f 357 312 300
f 358 304 301
f 358 343 304
f 359 358 301
f 359 301 302
f 360 302 307
f 360 359 302
f 361 307 305
f 362 305 306
f 362 361 305
f 363 306 333
f 363 362 306
f 364 307 361
f 364 360 307
f 365 308 313
f 365 311 308
f 366 322 309
f 367 309 310
f 367 366 309
f 368 367 310
f 368 310 311
f 369 311 365
f 369 368 311
f 370 312 357
f 370 313 312
f 371 313 370
f 371 365 313
f 372 314 323
f 372 315 314
f 373 315 372
f 373 316 315
f 373 317 316
f 374 317 373
f 375 317 374
f 375 318 317
f 376 318 375
f 376 324 318
f 377 319 322
f 377 322 366
f 378 319 377
f 378 320 319
f 379 320 378
f 379 321 320
f 380 321 379
f 380 323 321
f 381 372 323
f 381 323 380
f 382 327 324
f 383 324 376
f 383 382 324
f 384 342 325
f 384 325 326
f 384 326 327
f 385 327 382
f 385 384 327
f 386 333 328
f 387 386 328
f 387 328 329
f 388 329 330
f 388 387 329
f 389 330 331
f 389 388 330
f 390 389 331
f 390 331 332
f 391 390 332
f 391 332 334
f 391 334 339
f 392 333 386
f 392 363 333
f 393 335 336
f 394 335 393
f 394 340 335
f 395 336 337
f 395 393 336
f 396 337 342
f 396 395 337
f 397 339 338
f 398 338 341
f 398 397 338
f 399 339 397
f 399 391 339
f 400 340 394
f 400 341 340
f 401 341 400
f 401 398 341
f 402 342 384
f 402 396 342
f 403 344 343
f 404 343 358
f 404 403 343
f 405 344 403
f 405 345 344
f 406 346 345
f 406 345 405
f 407 346 406
f 407 349 346
f 408 347 349
f 409 347 408
f 409 348 347
f 410 348 409
f 410 350 348
f 411 349 407
f 412 349 411
f 412 408 349
f 413 350 410
f 413 351 350
f 414 351 413
f 414 352 351
f 415 354 352
f 415 352 414
f 416 355 353
f 417 416 353
f 417 353 354
f 417 354 415
f 418 355 416
f 418 356 355
f 419 356 418
f 419 357 356
f 420 357 419
f 420 370 357
f 421 358 359
f 421 404 358
f 422 360 364
f 422 359 360
f 422 421 359
f 423 364 361
f 424 423 361
f 424 361 362
f 425 362 363
f 425 424 362
f 426 363 392
f 426 425 363
f 427 422 364
f 427 364 423
f 428 365 371
f 428 369 365
f 429 366 367
f 430 366 429
f 430 377 366
f 431 429 367
f 431 367 368
f 432 368 369
f 432 431 368
f 433 369 428
f 433 432 369
f 434 370 420
f 434 371 370
f 435 371 434
f 435 428 371
f 436 372 381
f 436 374 373
f 436 373 372
f 437 375 374
f 438 437 374
f 438 374 436
f 439 375 437
f 439 376 375
f 439 383 376
f 440 377 430
f 440 378 377
f 441 378 440
f 441 379 378
f 442 379 441
f 442 380 379
f 443 380 442
f 443 381 380
f 444 381 443
f 444 436 381
f 444 438 436
f 445 385 382
f 446 382 383
f 446 445 382
f 447 383 439
f 447 446 383
f 448 384 385
f 448 402 384
f 449 385 445
f 449 448 385
f 450 386 387
f 450 387 388
f 451 392 386
f 451 426 392
f 452 451 386
f 452 386 450
f 453 388 389
f 453 389 390
f 454 388 453
f 454 450 388
f 455 453 390
f 455 390 391
f 456 391 399
f 456 455 391
f 457 393 395
f 457 395 396
f 458 394 393
f 458 393 457
f 459 394 458
f 459 400 394
f 460 396 402
f 460 457 396
f 461 399 397
f 462 398 401
f 462 397 398
f 462 461 397
f 463 456 399
f 463 399 461
f 464 400 459
f 464 401 400
f 465 401 464
f 465 462 401
f 466 448 449
f 466 402 448
f 466 460 402
f 467 403 404
f 468 403 467
f 468 405 403
f 469 404 421
f 469 467 404
f 470 405 468
f 470 406 405
f 471 406 470
f 471 407 406
f 471 411 407
f 472 409 408
f 472 410 409
f 473 408 412
f 473 472 408
f 474 410 472
f 474 413 410
f 475 412 411
f 476 411 471
f 476 475 411
f 477 412 475
f 477 473 412
f 478 413 474
f 478 414 413
f 479 414 478
f 479 415 414
f 480 415 479
f 480 417 415
f 481 416 417
f 481 417 480
f 482 416 481
f 482 418 416
f 483 418 482
f 483 419 418
f 484 419 483
f 484 420 419
f 485 420 484
f 485 434 420
f 486 421 422
f 486 469 421
f 487 422 427
f 487 486 422
f 488 423 424
f 489 423 488
f 489 427 423
f 489 487 427
f 490 424 425
f 490 488 424
f 491 425 426
f 491 490 425
f 492 426 451
f 492 491 426
f 493 428 435
f 493 433 428
f 494 430 429
f 495 429 431
f 495 494 429
f 496 430 494
f 496 440 430
f 497 495 431
f 497 431 432
f 497 432 433
f 498 433 493
f 498 497 433
f 499 434 485
f 499 435 434
f 500 435 499
f 500 493 435
f 501 447 439
f 501 439 437
f 502 501 437
f 502 437 438
f 503 438 444
f 503 502 438
f 504 440 496
f 504 441 440
f 505 441 504
f 505 442 441
f 506 442 505
f 506 443 442
f 507 443 506
f 507 503 444
f 507 444 443
f 508 449 445
f 509 445 446
f 509 508 445
f 510 509 446
f 510 446 447
f 511 447 501
f 511 510 447
f 512 449 508
f 513 449 512
f 513 466 449
f 514 450 454
f 514 452 450
f 515 492 451
f 515 451 452
f 516 452 514
f 516 515 452
f 517 454 453
f 517 453 455
f 518 454 517
f 518 514 454
f 519 455 456
f 519 517 455
f 520 456 463
f 520 519 456
f 521 458 457
f 522 521 457
f 522 457 460
f 523 458 521
f 523 459 458
f 524 464 459
f 524 459 523
f 525 460 466
f 525 466 513
f 525 522 460
f 526 461 462
f 526 462 465
f 527 463 461
f 527 461 526
f 528 463 527
f 528 520 463
f 529 464 524
f 529 465 464
f 530 526 465
f 530 465 529
f 531 467 469
f 531 469 486
f 532 467 531
f 532 468 467
f 533 468 532
f 533 470 468
f 534 471 470
f 534 470 533
f 535 471 534
f 535 476 471
f 536 472 473
f 536 474 472
f 537 473 477
f 537 536 473
f 538 474 536
f 538 478 474
f 539 475 476
f 539 477 475
f 540 476 535
f 540 539 476
f 541 477 539
f 541 537 477
f 542 478 538
f 542 479 478
f 543 479 542
f 543 480 479
f 544 480 543
f 544 481 480
f 545 481 544
f 545 482 481
f 546 482 545
f 546 483 482
f 547 483 546
f 547 484 483
f 548 484 547
f 548 485 484
f 549 485 548
f 549 499 485
f 550 486 487
f 550 531 486
f 551 487 489
f 551 550 487
f 552 488 490
f 553 488 552
f 553 489 488
f 554 489 553
f 554 551 489
f 555 490 491
f 555 552 490
f 556 491 492
f 556 492 515
f 557 491 556
f 557 555 491
f 558 493 500
f 558 498 493
f 559 496 494
f 560 559 494
f 560 494 495
f 561 560 495
f 561 495 497
f 561 497 498
f 562 496 559
f 562 504 496
f 563 498 558
f 563 561 498
f 564 499 549
f 564 500 499
f 565 500 564
f 565 558 500
f 566 501 502
f 566 511 501
f 567 502 503
f 567 566 502
f 568 503 507
f 568 567 503
f 569 504 562
f 569 505 504
f 570 505 569
f 570 506 505
f 571 506 570
f 571 507 506
f 571 568 507
f 572 512 508
f 573 508 509
f 573 572 508
f 574 509 510
f 574 573 509
f 575 510 511
f 575 574 510
f 576 511 566
f 576 575 511
f 577 512 572
f 578 512 577
f 578 513 512
f 579 525 513
f 579 513 578
f 580 514 518
f 580 516 514
f 581 515 516
f 581 556 515
f 582 516 580
f 582 581 516
f 583 518 517
f 583 517 519
f 584 518 583
f 584 580 518
f 585 519 520
f 585 583 519
f 585 584 583
f 586 520 528
f 586 585 520
f 587 525 579
f 587 522 525
f 587 521 522
f 588 521 587
f 588 523 521
f 589 523 588
f 589 524 523
f 590 529 524
f 590 524 589
f 591 526 530
f 591 527 526
f 592 527 591
f 592 528 527
f 593 528 592
f 593 586 528
f 594 529 590
f 594 530 529
f 595 530 594
f 596 530 595
f 596 591 530
f 596 592 591
f 597 532 531
f 598 531 550
f 598 597 531
f 599 532 597
f 599 533 532
f 600 534 533
f 600 533 599
f 601 534 600
f 601 535 534
f 602 535 601
f 602 540 535
f 603 536 537
f 603 538 536
f 604 537 541
f 604 603 537
f 605 538 603
f 605 542 538
f 606 539 540
f 606 541 539
f 607 606 540
f 607 540 602
f 608 541 606
f 608 604 541
f 609 542 605
f 609 543 542
f 610 543 609
f 610 544 543
f 611 544 610
f 611 545 544
f 612 545 611
f 612 546 545
f 613 546 612
f 613 548 547
f 613 547 546
f 614 548 613
f 615 548 614
f 615 564 549
f 615 549 548
f 616 550 551
f 616 598 550
f 617 551 554
f 617 616 551
f 618 553 552
f 618 554 553
f 619 552 555
f 619 618 552
f 620 554 618
f 620 617 554
f 621 555 557
f 621 619 555
f 622 557 556
f 622 556 581
f 623 557 622
f 623 621 557
f 624 558 565
f 624 563 558
f 625 559 560
f 626 559 625
f 626 562 559
f 627 625 560
f 627 560 561
f 627 561 563
f 628 562 626
f 628 569 562
f 629 627 563
f 630 629 563
f 630 563 624
f 631 564 615
f 632 564 631
f 632 565 564
f 633 565 632
f 633 630 624
f 633 624 565
f 634 566 567
f 634 576 566
f 635 567 568
f 635 634 567
f 636 568 571
f 636 635 568
f 637 569 628
f 637 570 569
f 638 570 637
f 638 636 571
f 638 571 570
f 639 572 573
f 640 572 639
f 640 577 572
f 641 639 573
f 641 573 574
f 642 574 575
f 642 641 574
f 643 575 576
f 643 642 575
f 644 576 634
f 644 643 576
f 645 577 640
f 645 578 577
f 646 579 578
f 646 578 645
f 647 587 579
f 647 579 646
f 648 582 580
f 648 580 584
f 649 581 582
f 649 622 581
f 650 582 648
f 650 649 582
f 651 584 585
f 651 585 586
f 652 584 651
f 652 648 584
f 653 651 586
f 653 586 593
f 654 587 647
f 654 588 587
f 654 589 588
f 655 589 654
f 656 589 655
f 656 590 589
f 656 594 590
f 657 592 596
f 658 592 657
f 658 593 592
f 659 593 658
f 659 653 593
f 660 594 656
f 660 595 594
f 661 595 660
f 662 595 661
f 662 657 596
f 662 596 595
f 663 597 598
f 663 598 616
f 664 597 663
f 664 599 597
f 665 600 599
f 665 599 664
f 666 600 665
f 666 601 600
f 667 602 601
f 667 601 666
f 668 607 602
f 668 602 667
f 669 603 604
f 669 605 603
f 670 669 604
f 670 604 608
f 671 605 669
f 671 609 605
f 672 608 606
f 672 606 607
f 673 607 668
f 673 672 607
f 674 670 608
f 674 608 672
f 675 610 609
f 676 675 609
f 676 609 671
f 677 610 675
f 677 611 610
f 678 611 677
f 678 612 611
f 679 612 678
f 679 613 612
f 680 613 679
f 680 614 613
f 681 614 680
f 682 615 614
f 682 614 681
f 682 631 615
f 683 663 616
f 683 616 617
f 684 683 617
f 684 617 620
f 685 618 619
f 685 620 618
f 686 685 619
f 686 619 621
f 687 684 620
f 687 620 685
f 688 686 621
f 688 621 623
f 689 622 649
f 689 623 622
f 690 688 623
f 690 623 689
f 691 625 627
f 691 627 629
f 692 625 691
f 692 626 625
f 693 626 692
f 693 628 626
f 694 628 693
f 694 637 628
f 695 629 630
f 696 629 695
f 696 691 629
f 697 630 633
f 697 695 630
f 698 631 682
f 699 631 698
f 699 632 631
f 700 632 699
f 700 633 632
f 700 697 633
f 701 634 635
f 701 644 634
f 702 635 636
f 702 701 635
f 703 702 636
f 703 636 638
f 704 637 694
f 704 638 637
f 705 638 704
f 705 703 638
f 706 639 641
f 707 639 706
f 707 640 639
f 708 640 707
f 708 645 640
f 709 641 642
f 709 642 643
f 710 641 709
f 710 706 641
f 711 643 644
f 711 709 643
f 712 644 701
f 712 711 644
f 713 645 708
f 714 645 713
f 714 646 645
f 715 646 714
f 715 647 646
f 716 647 715
f 716 655 654
f 716 654 647
f 717 648 652
f 717 650 648
f 718 689 649
f 718 649 650
f 719 718 650
f 719 650 717
f 720 651 653
f 720 652 651
f 721 717 652
f 721 652 720
f 722 653 659
f 722 720 653
f 723 655 716
f 724 655 723
f 724 656 655
f 724 660 656
f 725 658 657
f 725 659 658
f 726 657 662
f 726 725 657
f 727 659 725
f 727 722 659
f 728 660 724
f 728 661 660
f 729 662 661
f 729 726 662
f 730 729 661
f 730 661 728
f 731 664 663
f 732 731 663
f 732 663 683
f 733 665 664
f 733 664 731
f 734 665 733
f 734 666 665
f 735 667 666
f 735 666 734
f 735 668 667
f 736 673 668
f 737 736 668
f 737 668 735
f 738 671 669
f 738 669 670
f 738 676 671
f 739 670 674
f 739 738 670
f 740 672 673
f 740 674 672
f 741 673 736
f 741 740 673
f 742 674 740
f 742 739 674
f 743 677 675
f 744 675 676
f 744 743 675
f 745 676 738
f 745 738 739
f 745 744 676
f 746 677 743
f 746 678 677
f 747 678 746
f 747 679 678
f 748 679 747
f 748 680 679
f 749 681 680
f 749 680 748
f 750 681 749
f 750 698 682
f 750 682 681
f 751 683 684
f 751 732 683
f 752 684 687
f 752 751 684
f 753 685 686
f 753 687 685
f 754 686 688
f 754 753 686
f 755 687 753
f 755 752 687
f 756 688 690
f 756 754 688
f 757 689 718
f 757 690 689
f 758 690 757
f 758 756 690
f 759 691 696
f 759 692 691
f 760 692 759
f 760 693 692
f 761 693 760
f 761 694 693
f 762 694 761
f 762 704 694
f 762 705 704
f 763 695 697
f 764 695 763
f 764 696 695
f 765 696 764
f 765 759 696
f 766 697 700
f 766 763 697
f 767 699 698
f 768 698 750
f 768 767 698
f 769 699 767
f 769 766 700
f 769 700 699
f 770 701 702
f 770 712 701
f 771 770 702
f 771 702 703
f 772 703 705
f 772 771 703
f 773 772 705
f 773 705 762
f 774 706 710
f 774 707 706
f 775 707 774
f 776 708 707
f 776 707 775
f 777 708 776
f 777 713 708
f 778 709 711
f 778 710 709
f 779 710 778
f 779 774 710
f 780 711 712
f 780 778 711
f 781 712 770
f 781 780 712
f 782 713 777
f 783 713 782
f 783 715 714
f 783 714 713
f 784 715 783
f 784 716 715
f 784 723 716
f 785 719 717
f 785 717 721
f 786 718 719
f 786 757 718
f 787 719 785
f 787 786 719
f 788 721 720
f 788 720 722
f 788 785 721
f 789 788 722
f 789 722 727
f 790 723 784
f 791 723 790
f 791 724 723
f 791 728 724
f 792 725 726
f 792 727 725
f 793 726 729
f 793 792 726
f 794 789 727
f 794 727 792
f 795 728 791
f 795 730 728
f 796 729 730
f 796 793 729
f 797 730 795
f 797 796 730
f 798 733 731
f 798 731 732
f 799 732 751
f 799 798 732
f 800 733 798
f 800 734 733
f 801 735 734
f 801 734 800
f 801 737 735
f 802 736 737
f 803 736 802
f 803 741 736
f 804 737 801
f 804 802 737
f 805 745 739
f 806 805 739
f 806 739 742
f 807 740 741
f 807 742 740
f 808 741 803
f 808 807 741
f 809 742 807
f 809 806 742
f 810 743 744
f 811 743 810
f 811 746 743
f 812 745 805
f 812 744 745
f 812 810 744
f 813 746 811
f 813 747 746
f 813 748 747
f 814 749 748
f 814 748 813
f 815 750 749
f 815 768 750
f 816 749 814
f 816 815 749
f 817 751 752
f 817 799 751
f 818 752 755
f 818 817 752
f 819 753 754
f 819 755 753
f 820 819 754
f 820 754 756
f 821 755 819
f 821 818 755
f 822 756 758
f 822 820 756
f 823 757 786
f 823 758 757
f 824 758 823
f 824 822 758
f 825 759 765
f 825 760 759
f 826 760 825
f 826 761 760
f 827 761 826
f 827 762 761
f 827 773 762
f 828 763 766
f 829 763 828
f 829 764 763
f 830 764 829
f 830 765 764
f 831 765 830
f 831 825 765
f 832 828 766
f 832 766 769
f 833 767 768
f 834 767 833
f 834 769 767
f 834 832 769
f 835 768 815
f 835 833 768
f 836 781 770
f 836 770 771
f 837 771 772
f 837 836 771
f 838 772 773
f 838 837 772
f 839 838 773
f 839 773 827
f 840 774 779
f 841 774 840
f 841 775 774
f 842 775 841
f 843 775 842
f 843 777 776
f 843 776 775
f 844 777 843
f 844 782 777
f 845 778 780
f 845 779 778
f 846 779 845
f 846 840 779
f 847 780 781
f 847 845 780
f 848 847 781
f 848 781 836
f 849 782 844
f 850 782 849
f 850 784 783
f 850 783 782
f 851 784 850
f 851 790 784
f 852 787 785
f 852 785 788
f 853 823 786
f 853 786 787
f 854 787 852
f 854 853 787
f 855 852 788
f 855 788 789
f 856 855 789
f 856 789 794
f 857 790 851
f 858 790 857
f 858 791 790
f 858 795 791
f 859 792 793
f 859 794 792
f 860 793 796
f 860 859 793
f 861 794 859
f 861 856 794
f 862 795 858
f 862 797 795
f 863 796 797
f 863 860 796
f 864 797 862
f 864 863 797
f 865 800 798
f 866 798 799
f 866 865 798
f 867 799 817
f 867 866 799
f 868 800 865
f 868 801 800
f 868 804 801
f 869 802 804
f 870 802 869
f 870 803 802
f 871 808 803
f 871 803 870
f 872 804 868
f 872 869 804
f 873 805 806
f 873 812 805
f 874 806 809
f 874 873 806
f 875 807 808
f 875 809 807
f 876 875 808
f 876 808 871
f 877 809 875
f 877 874 809
f 878 810 812
f 878 812 873
f 879 810 878
f 879 811 810
f 880 811 879
f 880 813 811
f 881 814 813
f 881 813 880
f 881 816 814
f 882 815 816
f 882 835 815
f 883 816 881
f 883 882 816
f 884 817 818
f 884 867 817
f 885 818 821
f 885 884 818
f 886 819 820
f 886 821 819
f 887 886 820
f 887 820 822
f 888 821 886
f 888 885 821
f 889 822 824
f 889 887 822
f 890 823 853
f 890 824 823
f 891 889 824
f 891 824 890
f 892 825 831
f 892 826 825
f 893 826 892
f 893 839 827
f 893 827 826
f 894 828 832
f 895 828 894
f 895 829 828
f 896 829 895
f 896 830 829
f 897 830 896
f 897 831 830
f 898 831 897
f 898 892 831
f 899 894 832
f 900 899 832
f 900 832 834
f 900 834 833
f 901 833 835
f 901 900 833
f 902 835 882
f 902 901 835
f 903 836 837
f 903 848 836
f 904 837 838
f 904 903 837
f 905 838 839
f 905 904 838
f 906 905 839
f 906 839 893
f 907 840 846
f 907 841 840
f 908 841 907
f 908 842 841
f 909 842 908
f 910 842 909
f 910 844 843
f 910 843 842
f 911 844 910
f 911 849 844
f 912 845 847
f 912 846 845
f 913 846 912
f 914 846 913
f 914 907 846
f 915 912 847
f 915 847 848
f 916 915 848
f 916 848 903
f 917 849 911
f 918 849 917
f 918 857 851
f 918 850 849
f 918 851 850
f 919 852 855
f 919 855 856
f 919 854 852
f 920 853 854
f 920 890 853
f 921 920 854
f 921 854 919
f 922 856 861
f 922 919 856
f 923 857 918
f 923 918 917
f 924 858 857
f 924 857 923
f 924 862 858
f 925 859 860
f 925 861 859
f 926 860 863
f 927 860 926
f 927 925 860
f 928 922 861
f 928 861 925
f 929 862 924
f 929 864 862
f 930 863 864
f 930 926 863
f 931 864 929
f 931 930 864
f 932 868 865
f 932 872 868
f 933 932 865
f 933 866 867
f 933 865 866
f 934 933 867
f 935 867 884
f 935 934 867
f 936 869 872
f 937 869 936
f 937 870 869
f 938 871 870
f 938 870 937
f 938 876 871
f 939 872 932
f 939 936 872
f 940 873 874
f 940 878 873
f 941 874 877
f 941 940 874
f 942 875 876
f 942 877 875
f 943 876 938
f 943 942 876
f 944 877 942
f 944 941 877
f 945 878 940
f 945 879 878
f 946 880 879
f 946 879 945
f 946 881 880
f 947 881 946
f 947 883 881
f 948 882 883
f 948 902 882
f 949 883 947
f 949 948 883
f 950 884 885
f 950 935 884
f 951 885 888
f 951 950 885
f 952 886 887
f 952 888 886
f 952 887 889
f 953 951 888
f 953 888 952
f 954 889 891
f 954 952 889
f 955 890 920
f 955 891 890
f 956 891 955
f 956 954 891
f 957 892 898
f 957 893 892
f 957 906 893
f 958 894 899
f 959 894 958
f 959 895 894
f 960 895 959
f 960 896 895
f 961 896 960
f 962 897 896
f 962 896 961
f 962 898 897
f 963 898 962
f 963 957 898
f 964 899 900
f 964 900 901
f 965 899 964
f 965 958 899
f 966 901 902
f 966 964 901
f 967 902 948
f 967 966 902
f 968 903 904
f 968 916 903
f 969 904 905
f 969 968 904
f 970 905 906
f 970 969 905
f 971 906 957
f 971 970 906
f 972 907 914
f 972 908 907
f 973 908 972
f 973 909 908
f 974 909 973
f 975 909 974
f 975 911 910
f 975 910 909
f 976 911 975
f 976 917 911
f 977 913 912
f 977 912 915
f 978 914 913
f 979 913 977
f 979 978 913
f 980 972 914
f 980 914 978
f 981 977 915
f 981 915 916
f 981 979 977
f 982 916 968
f 982 981 916
f 983 917 976
f 984 917 983
f 984 923 917
f 985 919 922
f 985 921 919
f 986 920 921
f 986 955 920
f 987 921 985
f 987 986 921
f 988 922 928
f 988 985 922
f 989 923 984
f 989 929 924
f 989 924 923
f 990 925 927
f 990 928 925
f 990 988 928
f 991 927 926
f 992 926 930
f 992 991 926
f 992 930 931
f 993 927 991
f 993 990 927
f 994 929 989
f 994 931 929
f 995 931 994
f 996 931 995
f 996 992 931
f 997 933 934
f 997 932 933
f 997 939 932
f 998 997 934
f 999 998 934
f 999 934 935
f 999 935 950
f 1000 936 939
f 1001 936 1000
f 1001 937 936
f 1002 938 937
f 1002 937 1001
f 1002 943 938
f 1003 939 997
f 1003 997 998
f 1003 1000 939
f 1004 945 940
f 1005 940 941
f 1005 1004 940
f 1006 941 944
f 1006 1005 941
f 1007 942 943
f 1007 944 942
f 1008 1007 943
f 1008 943 1002
f 1009 944 1007
f 1009 1006 944
f 1010 945 1004
f 1010 947 946
f 1010 946 945
f 1011 947 1010
f 1011 949 947
f 1012 948 949
f 1012 967 948
f 1013 949 1011
f 1013 1012 949
f 1014 950 951
f 1014 999 950
f 1015 951 953
f 1015 1014 951
f 1016 953 952
f 1016 952 954
f 1017 953 1016
f 1017 1015 953
f 1018 954 956
f 1018 1016 954
f 1019 955 986
f 1019 956 955
f 1020 956 1019
f 1020 1018 956
f 1021 957 963
f 1021 971 957
f 1022 959 958
f 1023 1022 958
f 1023 958 965
f 1024 959 1022
f 1024 960 959
f 1024 961 960
f 1025 961 1024
f 1026 961 1025
f 1026 962 961
f 1026 963 962
f 1027 963 1026
f 1027 1021 963
f 1028 964 966
f 1028 965 964
f 1029 965 1028
f 1029 1023 965
f 1030 966 967
f 1030 1028 966
f 1031 967 1012
f 1031 1030 967
f 1032 968 969
f 1032 982 968
f 1033 969 970
f 1033 1032 969
f 1034 970 971
f 1034 971 1021
f 1034 1033 970
f 1035 972 980
f 1035 973 972
f 1036 974 973
f 1036 973 1035
f 1037 974 1036
f 1038 974 1037
f 1038 983 976
f 1038 976 975
f 1038 975 974
f 1039 980 978
f 1040 1039 978
f 1040 978 979
f 1041 979 981
f 1041 1040 979
f 1041 981 982
f 1042 980 1039
f 1042 1035 980
f 1043 982 1032
f 1043 1041 982
f 1044 984 983
f 1045 1044 983
f 1045 983 1038
f 1046 984 1044
f 1046 989 984
f 1046 995 994
f 1046 994 989
f 1047 985 988
f 1047 987 985
f 1048 986 987
f 1048 1019 986
f 1049 1048 987
f 1049 987 1047
f 1050 990 993
f 1050 988 990
f 1051 988 1050
f 1051 1047 988
f 1051 1049 1047
f 1052 991 992
f 1052 992 996
f 1053 993 991
f 1053 991 1052
f 1054 993 1053
f 1054 1050 993
f 1055 995 1046
f 1055 1046 1044
f 1056 995 1055
f 1056 996 995
f 1057 996 1056
f 1057 1052 996
f 1058 999 1014
f 1058 998 999
f 1059 998 1058
f 1059 1003 998
f 1060 1000 1003
f 1060 1003 1059
f 1061 1000 1060
f 1061 1001 1000
f 1062 1002 1001
f 1062 1001 1061
f 1062 1008 1002
f 1063 1013 1011
f 1063 1011 1010
f 1063 1010 1004
f 1064 1004 1005
f 1064 1063 1004
f 1065 1005 1006
f 1065 1064 1005
f 1066 1006 1009
f 1066 1065 1006
f 1067 1007 1008
f 1067 1009 1007
f 1068 1067 1008
f 1068 1008 1062
f 1069 1009 1067
f 1069 1066 1009
f 1070 1012 1013
f 1070 1031 1012
f 1071 1013 1063
f 1071 1070 1013
f 1072 1014 1015
f 1072 1058 1014
f 1073 1072 1015
f 1073 1015 1017
f 1074 1016 1018
f 1074 1017 1016
f 1075 1017 1074
f 1075 1073 1017
f 1076 1074 1018
f 1076 1018 1020
f 1077 1019 1048
f 1077 1020 1019
f 1078 1076 1020
f 1078 1020 1077
f 1079 1021 1027
f 1079 1034 1021
f 1080 1024 1022
f 1080 1025 1024
f 1081 1080 1022
f 1081 1022 1023
f 1082 1023 1029
f 1082 1081 1023
f 1083 1025 1080
f 1084 1025 1083
f 1084 1026 1025
f 1084 1027 1026
f 1085 1027 1084
f 1085 1079 1027
f 1086 1028 1030
f 1086 1029 1028
f 1087 1029 1086
f 1087 1082 1029
f 1088 1030 1031
f 1088 1086 1030
f 1089 1031 1070
f 1089 1088 1031
f 1090 1043 1032
f 1090 1032 1033
f 1091 1033 1034
f 1091 1034 1079
f 1091 1090 1033
f 1092 1035 1042
f 1092 1036 1035
f 1093 1036 1092
f 1093 1037 1036
f 1094 1038 1037
f 1094 1045 1038
f 1095 1094 1037
f 1095 1037 1093
f 1096 1042 1039
f 1097 1039 1040
f 1097 1096 1039
f 1098 1040 1041
f 1098 1041 1043
f 1098 1097 1040
f 1099 1042 1096
f 1099 1092 1042
f 1100 1043 1090
f 1100 1098 1043
f 1101 1044 1045
f 1101 1055 1044
f 1102 1045 1094
f 1102 1094 1095
f 1102 1101 1045
f 1103 1048 1049
f 1103 1077 1048
f 1104 1049 1051
f 1104 1103 1049
f 1105 1050 1054
f 1105 1104 1051
f 1105 1051 1050
f 1106 1052 1057
f 1106 1053 1052
f 1107 1053 1106
f 1107 1054 1053
f 1108 1054 1107
f 1108 1105 1054
f 1109 1056 1055
f 1109 1055 1101
f 1110 1056 1109
f 1110 1057 1056
f 1111 1057 1110
f 1111 1106 1057
f 1112 1058 1072
f 1112 1059 1058
f 1113 1060 1059
f 1113 1059 1112
f 1114 1060 1113
f 1114 1061 1060
f 1115 1062 1061
f 1115 1061 1114
f 1116 1062 1115
f 1116 1068 1062
f 1117 1063 1064
f 1117 1071 1063
f 1118 1064 1065
f 1118 1065 1066
f 1118 1117 1064
f 1119 1066 1069
f 1119 1118 1066
f 1120 1067 1068
f 1120 1069 1067
f 1121 1068 1116
f 1121 1120 1068
f 1122 1069 1120
f 1122 1119 1069
f 1123 1070 1071
f 1123 1089 1070
f 1124 1071 1117
f 1124 1123 1071
f 1125 1072 1073
f 1125 1112 1072
f 1126 1073 1075
f 1126 1125 1073
f 1127 1074 1076
f 1127 1075 1074
f 1128 1126 1075
f 1128 1075 1127
f 1129 1076 1078
f 1129 1127 1076
f 1130 1078 1077
f 1130 1077 1103
f 1131 1078 1130
f 1131 1129 1078
f 1132 1079 1085
f 1132 1091 1079
f 1133 1080 1081
f 1133 1083 1080
f 1134 1081 1082
f 1135 1081 1134
f 1135 1133 1081
f 1136 1082 1087
f 1136 1134 1082
f 1137 1083 1133
f 1138 1083 1137
f 1138 1084 1083
f 1138 1085 1084
f 1139 1085 1138
f 1139 1132 1085
f 1140 1086 1088
f 1140 1087 1086
f 1140 1088 1089
f 1141 1087 1140
f 1141 1136 1087
f 1142 1089 1123
f 1142 1140 1089
f 1143 1090 1091
f 1143 1100 1090
f 1144 1091 1132
f 1144 1143 1091
f 1145 1092 1099
f 1145 1093 1092
f 1146 1095 1093
f 1146 1093 1145
f 1147 1102 1095
f 1148 1147 1095
f 1148 1095 1146
f 1149 1096 1097
f 1150 1096 1149
f 1150 1099 1096
f 1151 1097 1098
f 1151 1098 1100
f 1151 1149 1097
f 1152 1099 1150
f 1152 1145 1099
f 1153 1100 1143
f 1153 1151 1100
f 1154 1101 1102
f 1154 1102 1147
f 1154 1109 1101
f 1155 1130 1103
f 1155 1103 1104
f 1156 1155 1104
f 1156 1104 1105
f 1156 1105 1108
f 1157 1106 1111
f 1157 1107 1106
f 1158 1107 1157
f 1158 1108 1107
f 1159 1108 1158
f 1159 1156 1108
f 1160 1109 1154
f 1160 1110 1109
f 1161 1110 1160
f 1161 1111 1110
f 1162 1111 1161
f 1162 1157 1111
f 1163 1113 1112
f 1163 1112 1125
f 1164 1114 1113
f 1164 1115 1114
f 1165 1113 1163
f 1165 1164 1113
f 1166 1115 1164
f 1166 1116 1115
f 1167 1116 1166
f 1167 1121 1116
f 1168 1117 1118
f 1168 1124 1117
f 1169 1168 1118
f 1169 1118 1119
f 1170 1119 1122
f 1170 1169 1119
f 1171 1120 1121
f 1171 1122 1120
f 1172 1121 1167
f 1172 1171 1121
f 1173 1122 1171
f 1173 1170 1122
f 1174 1123 1124
f 1174 1142 1123
f 1175 1168 1169
f 1175 1124 1168
f 1175 1174 1124
f 1176 1125 1126
f 1176 1163 1125
f 1177 1176 1126
f 1177 1126 1128
f 1178 1128 1127
f 1178 1127 1129
f 1179 1128 1178
f 1179 1177 1128
f 1180 1178 1129
f 1180 1129 1131
f 1181 1130 1155
f 1181 1131 1130
f 1182 1180 1131
f 1182 1131 1181
f 1183 1144 1132
f 1183 1132 1139
f 1184 1133 1135
f 1184 1137 1133
f 1185 1134 1136
f 1185 1135 1134
f 1185 1184 1135
f 1186 1136 1141
f 1186 1185 1136
f 1187 1137 1184
f 1188 1137 1187
f 1188 1139 1138
f 1188 1138 1137
f 1189 1139 1188
f 1189 1183 1139
f 1190 1140 1142
f 1190 1141 1140
f 1191 1141 1190
f 1191 1186 1141
f 1192 1190 1142
f 1192 1191 1190
f 1193 1192 1142
f 1193 1142 1174
f 1194 1143 1144
f 1194 1144 1183
f 1194 1153 1143
f 1195 1145 1152
f 1195 1146 1145
f 1196 1148 1146
f 1196 1146 1195
f 1197 1147 1148
f 1197 1148 1196
f 1198 1154 1147
f 1198 1147 1197
f 1198 1160 1154
f 1199 1150 1149
f 1200 1199 1149
f 1200 1149 1151
f 1200 1151 1153
f 1201 1152 1150
f 1201 1150 1199
f 1202 1152 1201
f 1202 1195 1152
f 1203 1153 1194
f 1203 1200 1153
f 1204 1155 1156
f 1204 1181 1155
f 1204 1156 1159
f 1205 1157 1162
f 1205 1158 1157
f 1206 1158 1205
f 1206 1159 1158
f 1207 1159 1206
f 1207 1204 1159
f 1208 1160 1198
f 1208 1161 1160
f 1209 1161 1208
f 1209 1162 1161
f 1210 1162 1209
f 1210 1205 1162
f 1211 1163 1176
f 1211 1165 1163
f 1212 1164 1165
f 1212 1166 1164
f 1213 1165 1211
f 1213 1212 1165
f 1214 1166 1212
f 1214 1167 1166
f 1214 1172 1167
f 1215 1169 1170
f 1215 1175 1169
f 1216 1170 1173
f 1216 1215 1170
f 1217 1173 1171
f 1217 1171 1172
f 1218 1217 1172
f 1219 1218 1172
f 1219 1172 1214
f 1220 1173 1217
f 1220 1216 1173
f 1220 1217 1218
f 1221 1174 1175
f 1221 1193 1174
f 1221 1175 1215
f 1222 1176 1177
f 1222 1211 1176
f 1223 1222 1177
f 1223 1177 1179
f 1224 1178 1180
f 1224 1179 1178
f 1224 1223 1179
f 1225 1180 1182
f 1225 1224 1180
f 1226 1182 1181
f 1226 1181 1204
f 1226 1204 1207
f 1227 1225 1182
f 1228 1227 1182
f 1228 1182 1226
f 1228 1226 1207
f 1229 1183 1189
f 1229 1194 1183
f 1229 1203 1194
f 1230 1184 1185
f 1230 1187 1184
f 1231 1185 1186
f 1231 1230 1185
f 1232 1186 1191
f 1232 1231 1186
f 1233 1187 1230
f 1234 1187 1233
f 1234 1188 1187
f 1234 1189 1188
f 1235 1189 1234
f 1236 1189 1235
f 1236 1229 1189
f 1237 1191 1192
f 1237 1232 1191
f 1238 1192 1193
f 1238 1237 1192
f 1239 1193 1221
f 1239 1238 1193
f 1240 1195 1202
f 1240 1196 1195
f 1241 1196 1240
f 1241 1197 1196
f 1242 1197 1241
f 1242 1208 1198
f 1242 1198 1197
f 1243 1201 1199
f 1244 1243 1199
f 1244 1200 1203
f 1244 1199 1200
f 1245 1201 1243
f 1245 1202 1201
f 1246 1240 1202
f 1246 1202 1245
f 1247 1229 1236
f 1247 1203 1229
f 1247 1244 1203
f 1248 1205 1210
f 1248 1206 1205
f 1249 1206 1248
f 1249 1228 1207
f 1249 1207 1206
f 1250 1208 1242
f 1251 1208 1250
f 1251 1209 1208
f 1251 1210 1209
f 1252 1210 1251
f 1252 1248 1210
f 1253 1211 1222
f 1253 1213 1211
f 1254 1212 1213
f 1254 1214 1212
f 1254 1219 1214
f 1255 1254 1213
f 1255 1213 1253
f 1256 1215 1216
f 1256 1221 1215
f 1256 1239 1221
f 1257 1216 1220
f 1257 1256 1216
f 1258 1218 1219
f 1259 1220 1218
f 1259 1257 1220
f 1260 1218 1258
f 1260 1259 1218
f 1261 1219 1254
f 1261 1258 1219
f 1262 1222 1223
f 1262 1253 1222
f 1263 1224 1225
f 1263 1223 1224
f 1263 1262 1223
f 1264 1225 1227
f 1264 1263 1225
f 1265 1227 1228
f 1266 1227 1265
f 1266 1264 1227
f 1267 1228 1249
f 1267 1265 1228
f 1268 1230 1231
f 1268 1233 1230
f 1269 1231 1232
f 1269 1268 1231
f 1270 1232 1237
f 1270 1269 1232
f 1271 1233 1268
f 1272 1233 1271
f 1272 1234 1233
f 1272 1235 1234
f 1273 1235 1272
f 1273 1236 1235
f 1274 1236 1273
f 1274 1247 1236
f 1275 1237 1238
f 1275 1270 1237
f 1276 1238 1239
f 1276 1275 1238
f 1277 1256 1257
f 1277 1239 1256
f 1277 1276 1239
f 1278 1240 1246
f 1279 1241 1240
f 1279 1240 1278
f 1280 1242 1241
f 1280 1241 1279
f 1280 1250 1242
f 1281 1244 1247
f 1281 1243 1244
f 1281 1247 1274
f 1282 1246 1245
f 1282 1243 1281
f 1282 1245 1243
f 1283 1246 1282
f 1283 1278 1246
f 1284 1248 1252
f 1284 1249 1248
f 1284 1267 1249
f 1285 1250 1280
f 1286 1250 1285
f 1286 1252 1251
f 1286 1251 1250
f 1287 1252 1286
f 1287 1284 1252
f 1288 1253 1262
f 1288 1255 1253
f 1289 1254 1255
f 1289 1261 1254
f 1289 1255 1288
f 1290 1257 1259
f 1290 1259 1260
f 1291 1257 1290
f 1291 1277 1257
f 1291 1276 1277
f 1292 1261 1289
f 1292 1258 1261
f 1293 1258 1292
f 1293 1260 1258
f 1294 1260 1293
f 1294 1290 1260
f 1295 1288 1262
f 1295 1262 1263
f 1295 1263 1264
f 1296 1295 1264
f 1296 1264 1266
f 1297 1265 1267
f 1297 1266 1265
f 1298 1266 1297
f 1298 1296 1266
f 1299 1297 1267
f 1299 1267 1284
f 1299 1284 1287
f 1300 1268 1269
f 1300 1271 1268
f 1301 1269 1270
f 1301 1300 1269
f 1302 1270 1275
f 1302 1301 1270
f 1303 1271 1300
f 1304 1272 1271
f 1304 1271 1303
f 1304 1273 1272
f 1305 1273 1304
f 1305 1274 1273
f 1306 1274 1305
f 1306 1281 1274
f 1306 1282 1281
f 1307 1275 1276
f 1307 1302 1275
f 1307 1276 1291
f 1308 1279 1278
f 1309 1278 1283
f 1309 1308 1278
f 1310 1279 1308
f 1310 1280 1279
f 1310 1285 1280
f 1311 1282 1306
f 1311 1283 1282
f 1311 1309 1283
f 1312 1285 1310
f 1313 1286 1285
f 1313 1285 1312
f 1313 1287 1286
f 1314 1287 1313
f 1314 1299 1287
f 1315 1295 1296
f 1315 1288 1295
f 1316 1288 1315
f 1316 1289 1288
f 1316 1292 1289
f 1317 1290 1294
f 1317 1291 1290
f 1317 1307 1291
f 1318 1293 1292
f 1319 1292 1316
f 1319 1318 1292
f 1319 1316 1315
f 1320 1293 1318
f 1320 1294 1293
f 1321 1294 1320
f 1321 1317 1294
f 1322 1296 1298
f 1322 1315 1296
f 1322 1319 1315
f 1323 1297 1299
f 1323 1299 1314
f 1323 1298 1297
f 1324 1298 1323
f 1324 1322 1298
f 1325 1301 1302
f 1325 1300 1301
f 1326 1300 1325
f 1326 1303 1300
f 1327 1325 1302
f 1328 1302 1307
f 1328 1327 1302
f 1328 1317 1321
f 1328 1307 1317
f 1329 1303 1326
f 1329 1304 1303
f 1329 1305 1304
f 1330 1305 1329
f 1330 1306 1305
f 1330 1311 1306
f 1331 1308 1309
f 1331 1312 1310
f 1331 1310 1308
f 1332 1331 1309
f 1333 1309 1311
f 1333 1332 1309
f 1333 1311 1330
f 1334 1312 1331
f 1334 1331 1332
f 1335 1313 1312
f 1335 1312 1334
f 1335 1314 1313
f 1336 1314 1335
f 1336 1324 1323
f 1336 1323 1314
f 1337 1318 1319
f 1337 1319 1322
f 1337 1322 1324
f 1338 1318 1337
f 1338 1320 1318
f 1339 1320 1338
f 1339 1321 1320
f 1340 1328 1321
f 1340 1321 1339
f 1340 1327 1328
f 1341 1324 1336
f 1341 1337 1324
f 1341 1338 1337
f 1342 1325 1327
f 1342 1326 1325
f 1343 1326 1342
f 1343 1329 1326
f 1344 1327 1340
f 1344 1343 1342
f 1344 1342 1327
f 1345 1329 1343
f 1345 1333 1330
f 1345 1330 1329
f 1346 1332 1333
f 1346 1333 1345
f 1346 1345 1343
f 1347 1332 1346
f 1347 1334 1332
f 1348 1334 1347
f 1348 1341 1336
f 1348 1336 1335
f 1348 1335 1334
f 1349 1339 1338
f 1349 1338 1341
f 1349 1341 1348
f 1350 1339 1349
f 1350 1340 1339
f 1350 1344 1340
f 1351 1343 1344
f 1351 1344 1350
f 1351 1347 1346
f 1351 1346 1343
f 1352 1347 1351
f 1352 1348 1347
f 1352 1351 1350
f 1352 1350 1349
f 1352 1349 1348
================================================
FILE: car_deform_result/10.obj
================================================
# scale_jilixiongmao-2015.obj
#
v 0.18338765 0.24230422 0.40832749
v 0.21511391 0.24635999 0.37647375
v 0.16103424 0.22162288 0.37585843
v 0.19120355 0.22477639 0.34251752
v 0.15556210 0.22986984 0.44064140
v 0.18205960 0.24455658 0.46505126
v 0.21173964 0.26658872 0.43153098
v 0.25373507 0.26767415 0.41163382
v 0.22793722 0.22076805 0.30795258
v 0.24960782 0.23152664 0.34818408
v 0.17194568 0.21407035 0.31211820
v 0.14309859 0.21052389 0.32210106
v 0.13414155 0.21783331 0.40886226
v 0.20190141 0.21043414 0.26652849
v 0.15165745 0.22870752 0.49807259
v 0.13299987 0.22280554 0.46846971
v 0.21328083 0.25470629 0.49059048
v 0.17945167 0.23448604 0.52145261
v 0.25418594 0.26910990 0.46315590
v 0.28823933 0.26912782 0.44327661
v 0.28417164 0.25297442 0.39132047
v 0.24793066 0.21187684 0.24424422
v 0.26748386 0.21098161 0.29039776
v 0.27900869 0.21292566 0.33717614
v 0.16767834 0.20675866 0.25472376
v 0.12276188 0.20683600 0.26920319
v 0.14438275 0.20509192 0.23660409
v 0.11597877 0.21166518 0.36744300
v 0.10962676 0.21602698 0.45102659
v 0.18931550 0.20567404 0.20559207
v 0.22269441 0.20772372 0.19007966
v 0.13924247 0.22489189 0.54875100
v 0.11360983 0.22086397 0.51741737
v 0.20589037 0.23270732 0.54053760
v 0.24419193 0.23331067 0.53194141
v 0.16678309 0.22491203 0.56816018
v 0.28426588 0.25165579 0.49651662
v 0.29971135 0.25340059 0.42459619
v 0.29607341 0.24977598 0.47508046
v 0.29161713 0.22893968 0.37445831
v 0.26357400 0.20692506 0.17921969
v 0.27448794 0.20356171 0.23879379
v 0.28325284 0.19683477 0.26927507
v 0.28853315 0.18790399 0.29785615
v 0.29343006 0.19134675 0.35035762
v 0.16457306 0.20385426 0.18048118
v 0.10736634 0.20482814 0.20382202
v 0.13521728 0.20253845 0.16196612
v 0.09899939 0.20848452 0.31274614
v 0.09012066 0.21204196 0.41118258
v 0.08312295 0.21629618 0.48919860
v 0.19669367 0.20429070 0.13099578
v 0.23661122 0.20717216 0.12286320
v 0.09706512 0.22125199 0.55986834
v 0.09930845 0.22300853 0.59026790
v 0.06577703 0.21961097 0.54532099
v 0.20505306 0.22448961 0.58307189
v 0.23731865 0.21487665 0.59604508
v 0.26941225 0.21111089 0.55671531
v 0.13763927 0.22548327 0.60777968
v 0.28916535 0.21865150 0.52415061
v 0.30243233 0.20599559 0.40198609
v 0.30359930 0.21128033 0.45608780
v 0.29880932 0.20084177 0.51115388
v 0.27314648 0.20142178 0.14729528
v 0.27955413 0.19861691 0.20128298
v 0.26556739 0.20435986 0.10922590
v 0.28585204 0.18689650 0.22548503
v 0.29379326 0.15880515 0.32077071
v 0.29045525 0.16023317 0.25244147
v 0.29899716 0.15648715 0.38057438
v 0.16618307 0.20118450 0.09786570
v 0.11914008 0.20015445 0.09535152
v 0.09300111 0.20158955 0.12867670
v 0.08335515 0.20626643 0.24258012
v 0.14527820 0.19853874 0.05826659
v 0.07419241 0.21013106 0.35207549
v 0.06262664 0.21325739 0.44360742
v 0.05011219 0.21699917 0.50432450
v 0.19672182 0.19977467 0.04759806
v 0.22212429 0.20459990 0.07310972
v 0.25180885 0.20569251 0.05957078
v 0.04806969 0.22134154 0.57776582
v 0.05327046 0.22216572 0.61464775
v 0.01390726 0.22179033 0.59695047
v 0.01348859 0.21983416 0.55918044
v 0.02754882 0.21845004 0.53346467
v 0.17185524 0.22109300 0.62071025
v 0.19121248 0.21317883 0.62700427
v 0.23982887 0.19886798 0.61676502
v 0.26252556 0.17577019 0.59564334
v 0.08477803 0.22022636 0.63138056
v 0.27879170 0.16267744 0.57312036
v 0.30304927 0.15521902 0.43396577
v 0.29897738 0.15058982 0.49251375
v 0.28646395 0.13205133 0.55205983
v 0.28388777 0.19279988 0.14869754
v 0.27849227 0.19573744 0.09532760
v 0.27580512 0.19856173 0.04885599
v 0.28960386 0.16314438 0.18419197
v 0.29213101 0.11920647 0.34789765
v 0.28916588 0.11960852 0.27193210
v 0.28888401 0.13212369 0.21294162
v 0.29793343 0.10758427 0.40619513
v 0.17324848 0.19643237 0.01509567
v 0.13196251 0.19603853 0.00420193
v 0.10610054 0.19675171 0.02328820
v 0.08277496 0.19687191 0.04037617
v 0.06791110 0.20244597 0.15513672
v 0.05786873 0.20801987 0.27381855
v 0.15672754 0.19459881 -0.01339211
v 0.04799074 0.21193585 0.37766317
v 0.03042906 0.21501179 0.44740912
v 0.01354428 0.21725738 0.49156848
v 0.20674311 0.19469227 -0.02864255
v 0.23430476 0.19939981 0.00468315
v 0.27029151 0.19892031 0.00131992
v -0.01833028 0.22053584 0.57511342
v -0.03621156 0.22282614 0.60909802
v 0.00482575 0.22032274 0.63075686
v -0.06512377 0.22210260 0.58298320
v -0.03670538 0.21919486 0.54443651
v -0.00893282 0.21809435 0.52366525
v 0.11790950 0.21495141 0.64154977
v 0.17383493 0.20171751 0.64050412
v 0.22342013 0.16048945 0.63836974
v 0.24867652 0.13044444 0.62155479
v 0.00178955 0.21564832 0.64633101
v 0.26317307 0.10481483 0.60442019
v 0.29677609 0.09844509 0.46183744
v 0.28781644 0.08981878 0.52479309
v 0.26850235 0.07673554 0.57608002
v 0.28733954 0.17641647 0.07864977
v 0.29151675 0.15730579 0.12103671
v 0.28494421 0.18762605 0.03149172
v 0.28249022 0.19064634 -0.01437733
v 0.28977877 0.12434144 0.15707745
v 0.28865215 0.07431312 0.35795441
v 0.28662929 0.08883102 0.30637076
v 0.28597444 0.08796462 0.19337699
v 0.28487015 0.07057721 0.24417511
v 0.29289499 0.05449041 0.41664633
v 0.18315491 0.19305010 -0.05623712
v 0.12815474 0.19320436 -0.06145889
v 0.15614796 0.19259468 -0.06662631
v 0.10227885 0.19319583 -0.05922391
v 0.07967030 0.19290754 -0.05918843
v 0.05980223 0.19709145 0.05119147
v 0.04585215 0.20354663 0.17052558
v 0.03332875 0.20906599 0.28605491
v 0.02245925 0.21235782 0.37435183
v -0.00260227 0.21410969 0.40267077
v -0.02019199 0.21629952 0.45832917
v 0.21777385 0.19423465 -0.09826058
v 0.24236374 0.19605088 -0.06891572
v 0.26292944 0.19669478 -0.04540573
v 0.27880192 0.19145238 -0.05925680
v -0.07524579 0.22122979 0.55313766
v -0.07859924 0.22297859 0.62148672
v -0.12725280 0.22338364 0.58141613
v -0.12203043 0.22538911 0.54901487
v -0.07518502 0.22031100 0.51292062
v -0.04401458 0.21770586 0.49638262
v 0.06703892 0.20592979 0.65053385
v 0.13791259 0.17412074 0.65127194
v 0.19780283 0.12538028 0.64370835
v 0.23108277 0.09078708 0.62633276
v -0.11743917 0.22037594 0.63222295
v -0.05610522 0.20938593 0.64982253
v 0.24050552 0.06116759 0.60027683
v 0.28594831 0.04951087 0.47940859
v 0.27099934 0.03749710 0.54253036
v 0.24764375 0.02675672 0.57421279
v 0.28991044 0.15929504 0.02075322
v 0.29026484 0.14006451 0.06271333
v 0.29138774 0.11175185 0.10040021
v 0.28975967 0.17179579 -0.02282176
v 0.28759965 0.17890115 -0.06967789
v 0.28843766 0.07618300 0.12886922
v 0.28341323 0.04979901 0.29210398
v 0.27983999 0.03314567 0.34760234
v 0.28384826 0.03377104 0.14046133
v 0.28192466 0.04195873 0.18663013
v 0.28100944 0.01474623 0.21106997
v 0.28126511 0.01812860 0.41493890
v 0.19099110 0.19228998 -0.11866925
v 0.12995085 0.19101696 -0.13440779
v 0.16004927 0.19062839 -0.12768809
v 0.10311032 0.19103898 -0.14399779
v 0.08128608 0.19118795 -0.15356916
v 0.05866310 0.19280520 -0.06248042
v 0.03932831 0.19716854 0.04346471
v 0.02123789 0.20305416 0.16240978
v 0.01327530 0.20999233 0.29829976
v -0.01439331 0.20961326 0.28426716
v -0.03162612 0.21249305 0.36164501
v -0.04947314 0.21541969 0.41675541
v 0.23101419 0.19663239 -0.16125318
v 0.26034102 0.19750825 -0.13399716
v 0.27237764 0.19408388 -0.10039695
v 0.28321642 0.18715805 -0.12751602
v -0.11361753 0.22383960 0.51678443
v -0.16663882 0.22398664 0.59086919
v -0.18755503 0.23076110 0.54654747
v -0.17203271 0.23486465 0.52664214
v -0.15308768 0.23488405 0.50451243
v -0.10315671 0.22090353 0.47563395
v -0.07412805 0.21838377 0.45548126
v 0.01535379 0.19321050 0.65817165
v 0.09594344 0.13737942 0.64961118
v 0.15722083 0.08949149 0.63869298
v 0.19165370 0.05652385 0.61773348
v -0.16053291 0.21368141 0.63394415
v -0.20461413 0.22069524 0.59786665
v -0.09911732 0.19934833 0.65038472
v 0.21489660 0.02364073 0.58939958
v 0.27293774 0.01205404 0.48166206
v 0.25321892 0.00127317 0.53251952
v 0.22264318 -0.00466519 0.56124926
v 0.29005903 0.13368730 -0.03250540
v 0.28950700 0.11919366 0.00985404
v 0.29023355 0.09509838 0.04879786
v 0.29062578 0.06367479 0.07841621
v 0.29132450 0.14760861 -0.07892583
v 0.28997198 0.15850514 -0.12565188
v 0.28527755 0.02500957 0.09500761
v 0.28088713 0.00850971 0.26603246
v 0.26972944 -0.00553442 0.32676589
v 0.27713111 -0.01498899 0.10545200
v 0.27931812 -0.00647306 0.14966644
v 0.28972059 -0.02747287 0.20722422
v 0.28658727 -0.04097664 0.16395421
v 0.26541045 -0.01462906 0.40159407
v 0.19479541 0.19186476 -0.17666143
v 0.16175097 0.18963963 -0.19297691
v 0.13283844 0.18971637 -0.21138141
v 0.10607664 0.19016117 -0.22695872
v 0.05896097 0.19108810 -0.16827847
v 0.08064298 0.19050448 -0.24152860
v 0.03801611 0.19275817 -0.08648916
v 0.02025677 0.19601527 0.00276367
v -0.00019131 0.19931757 0.08184370
v -0.00119768 0.20554349 0.20268083
v -0.01898591 0.20304966 0.15494423
v -0.03913560 0.20699826 0.23490250
v -0.05610483 0.21042232 0.31189543
v -0.07536425 0.21342543 0.37085655
v 0.27032980 0.19666007 -0.20474224
v 0.22667968 0.19400741 -0.21994191
v 0.27792990 0.19135174 -0.16485441
v 0.28897515 0.16136388 -0.18156213
v 0.28492486 0.18076813 -0.20319872
v -0.13774069 0.23024328 0.47235152
v -0.22333345 0.22983383 0.53896308
v -0.21805365 0.25284970 0.49575523
v -0.19389419 0.25780022 0.47379956
v -0.17098854 0.24657516 0.46035346
v -0.09701912 0.21693382 0.40870923
v -0.12753308 0.22239631 0.42711827
v -0.03549997 0.14198561 0.64946955
v 0.05446621 0.08643015 0.64100242
v 0.10984664 0.05439274 0.62571025
v 0.14821704 0.02927696 0.60443872
v -0.22808620 0.20799462 0.60196215
v -0.18377551 0.19621301 0.63571966
v -0.24997352 0.22061016 0.53936505
v -0.14532994 0.15349562 0.64861917
v 0.17844285 0.00390197 0.58007115
v 0.25387779 -0.01716361 0.47049525
v 0.23427038 -0.02198665 0.51923722
v 0.20176372 -0.01975934 0.54480195
v 0.29151678 0.10819204 -0.08996588
v 0.29180214 0.09421069 -0.04593615
v 0.29206786 0.07626450 -0.00342460
v 0.29142308 0.05548480 0.03202009
v 0.28838050 0.02173806 0.04648398
v 0.29138467 0.12340398 -0.13568246
v 0.28947610 0.13566117 -0.17399915
v 0.27812850 -0.01499848 0.06383152
v 0.28642645 -0.03778759 0.24469978
v 0.25934574 -0.04099275 0.31810004
v 0.27205783 -0.05322525 0.12141345
v 0.26479131 -0.04983589 0.08484019
v 0.32683542 -0.07999907 0.18714850
v 0.28405112 -0.08192836 0.14693145
v 0.24978538 -0.04272897 0.39430836
v 0.19034113 0.19088708 -0.22833070
v 0.16450074 0.19026843 -0.26917151
v 0.12957734 0.19027308 -0.29011971
v 0.09823351 0.19064273 -0.30817360
v 0.03635290 0.19124062 -0.20214498
v 0.05664438 0.19047853 -0.25261039
v 0.06979700 0.19029064 -0.32010987
v 0.01902652 0.19260074 -0.13128547
v 0.00040352 0.19435816 -0.05922718
v -0.01751277 0.19688003 0.01257712
v -0.04177210 0.19947240 0.08403790
v -0.06030662 0.20432058 0.18624003
v -0.07931207 0.20770399 0.25984755
v -0.09792486 0.20978303 0.31809166
v 0.25068179 0.19541806 -0.26476422
v 0.27524120 0.19024527 -0.26456922
v 0.27874714 0.18926248 -0.22372271
v 0.20741773 0.19242877 -0.27176473
v 0.28800836 0.15721712 -0.24885154
v 0.28897619 0.13264489 -0.22926690
v 0.28429118 0.18092334 -0.26714963
v -0.16107279 0.23799255 0.42221844
v -0.26760247 0.26110736 0.47818026
v -0.23655912 0.26997036 0.43328765
v -0.20117600 0.26476106 0.41253155
v -0.12031490 0.21258250 0.35557061
v -0.14932179 0.22051616 0.37113333
v -0.11312214 0.10980606 0.64566183
v -0.04203377 0.07841796 0.63945562
v 0.02582619 0.05377226 0.63026422
v 0.05173097 0.03061066 0.61475223
v 0.10707545 0.01591862 0.59365952
v -0.26015636 0.20086610 0.55434215
v -0.23450488 0.18412912 0.61451024
v -0.21134885 0.15091793 0.63897026
v -0.27478489 0.23213898 0.50042677
v -0.18213543 0.10638645 0.63992977
v 0.13872728 -0.00890429 0.56227738
v 0.23424503 -0.03931933 0.45532635
v 0.21564221 -0.03725132 0.49790433
v 0.18216182 -0.03544561 0.51328468
v 0.29295143 0.08584755 -0.14623967
v 0.29345548 0.06932102 -0.09843422
v 0.29426074 0.05454009 -0.05375368
v 0.29052880 0.02651977 -0.00744069
v 0.28063127 -0.01459320 0.01905984
v 0.28783897 0.10262074 -0.20295607
v 0.27012292 -0.04415083 0.04573450
v 0.31801346 -0.09770015 0.20614013
v 0.26942056 -0.07246667 0.25576171
v 0.24447674 -0.06983961 0.32502997
v 0.25885272 -0.08491164 0.10980667
v 0.25753129 -0.07407850 0.05638169
v 0.31504020 -0.10967168 0.18617725
v 0.26853290 -0.10875262 0.15582187
v 0.23129883 -0.06323509 0.39025861
v 0.18665142 0.19659470 -0.32665548
v 0.15151697 0.19620901 -0.34235138
v 0.12116833 0.19401723 -0.36290914
v 0.08971769 0.19160518 -0.37875304
v 0.04032041 0.19047347 -0.30859005
v 0.01677025 0.19127369 -0.24260466
v 0.05901218 0.18942781 -0.39495423
v -0.00178462 0.19193479 -0.18295661
v -0.01764775 0.19270346 -0.12038232
v -0.03687871 0.19346747 -0.05918309
v -0.06815653 0.19781472 0.06201160
v -0.05349263 0.19465505 -0.01552550
v -0.08376245 0.20181151 0.14114405
v -0.10113987 0.20439591 0.20898733
v -0.12029340 0.20587987 0.26129109
v 0.22667867 0.19839509 -0.31343153
v 0.26837996 0.19685829 -0.30709770
v 0.28108621 0.18822947 -0.30523956
v 0.29051977 0.16088769 -0.31051180
v 0.28900072 0.13303964 -0.29437697
v 0.28675854 0.10752795 -0.27507135
v 0.28765601 0.18200879 -0.32495049
v -0.18432768 0.23451951 0.37287879
v -0.27985334 0.25210208 0.45649317
v -0.27037129 0.26282021 0.40367374
v -0.24350537 0.25890428 0.38664591
v -0.21946867 0.24049364 0.36074460
v -0.14429341 0.20804743 0.29821894
v -0.17288598 0.21480909 0.31491241
v -0.12114614 0.07002346 0.63181370
v -0.04115090 0.04571433 0.62459004
v -0.03656118 0.02041211 0.60707188
v 0.02796090 0.01004434 0.59871143
v 0.07396060 0.00305739 0.58082038
v -0.27817801 0.21053012 0.51137573
v -0.25926334 0.17325403 0.57418668
v -0.24136187 0.13309757 0.61634868
v -0.22488336 0.09490518 0.62240809
v -0.18183489 0.05447610 0.61705732
v 0.12523510 -0.02897608 0.51380241
v 0.07370294 -0.01275158 0.55194831
v 0.20868376 -0.05366146 0.44799134
v 0.16343528 -0.05077354 0.46628776
v 0.28666082 0.05992263 -0.21080408
v 0.29297537 0.05456636 -0.14756264
v 0.29346344 0.02584121 -0.10811374
v 0.29492542 0.01549429 -0.05642384
v 0.28605214 -0.01528626 -0.02879208
v 0.27026635 -0.05364873 0.00249289
v 0.28520036 0.08243027 -0.25784481
v 0.26263496 -0.10588874 0.24304268
v 0.27312019 -0.12027276 0.21278319
v 0.24421187 -0.09375778 0.28305438
v 0.22645372 -0.08966674 0.33338654
v 0.24453625 -0.10381217 0.07617380
v 0.24701369 -0.11258052 0.12074894
v 0.25317565 -0.09132124 0.01895131
v 0.25885844 -0.12525575 0.18402462
v 0.24159381 -0.13199273 0.14411706
v 0.21179518 -0.07756184 0.38444260
v 0.17696941 0.20920861 -0.38310602
v 0.20839430 0.21011783 -0.36222923
v 0.14711887 0.20330250 -0.40534964
v 0.11472359 0.19740789 -0.42512426
v 0.08619926 0.19272956 -0.43174708
v 0.02814604 0.18993828 -0.38114965
v 0.01520565 0.19081359 -0.32183176
v -0.00408317 0.19079684 -0.28249100
v 0.06671753 0.19157134 -0.46084467
v 0.03837159 0.18972653 -0.44188038
v -0.02104195 0.19113025 -0.23161556
v -0.03897771 0.19089870 -0.17504850
v -0.05536517 0.19148284 -0.11658983
v -0.09063827 0.19597572 0.02310609
v -0.07498801 0.19278406 -0.04989271
v -0.10905810 0.19965154 0.09392035
v -0.12460621 0.20207222 0.15607426
v -0.14446907 0.20399454 0.20539406
v 0.24397884 0.20722763 -0.34909019
v 0.27285054 0.20062910 -0.34627363
v 0.29434770 0.17173861 -0.35929266
v 0.29439867 0.14089580 -0.35438639
v 0.29021710 0.11086827 -0.34162119
v 0.28804094 0.08394136 -0.31795219
v 0.28538477 0.18755369 -0.35580263
v -0.20640989 0.22199228 0.32111049
v -0.27753997 0.25034544 0.40098804
v -0.28572375 0.22094865 0.46285263
v -0.26674324 0.23900317 0.37024853
v -0.24692838 0.22840032 0.34796935
v -0.24197097 0.21916191 0.32380241
v -0.16755521 0.20599520 0.23641849
v -0.19895297 0.21024136 0.25766546
v -0.11330534 0.03560019 0.61068594
v -0.03532207 0.00065179 0.58524913
v -0.10286057 0.01104258 0.58866793
v 0.01886642 -0.00829856 0.57768583
v -0.27714244 0.16895270 0.52805305
v -0.26107764 0.12045479 0.58261567
v -0.24457346 0.08439441 0.60201567
v -0.22112069 0.04172397 0.59548414
v -0.16847382 0.01861262 0.59198469
v 0.11256043 -0.04939055 0.46795633
v 0.06788986 -0.03180143 0.50952333
v 0.01573050 -0.02111278 0.54060626
v 0.18525358 -0.06932077 0.41842523
v 0.14778253 -0.07221930 0.41391668
v 0.28756243 0.02357929 -0.18096244
v 0.28567395 0.05497814 -0.28723037
v 0.28457412 0.02484411 -0.25419733
v 0.28976932 -0.01241125 -0.08376434
v 0.28492424 -0.00716520
gitextract_imebi4tp/
├── README.md
├── camera_intrinsic/
│ └── camera_intrinsic.npy
├── car_deform_result/
│ ├── 0.obj
│ ├── 1.obj
│ ├── 10.obj
│ ├── 11.obj
│ ├── 12.obj
│ ├── 13.obj
│ ├── 14.obj
│ ├── 15.obj
│ ├── 16.obj
│ ├── 17.obj
│ ├── 18.obj
│ ├── 19.obj
│ ├── 2.obj
│ ├── 20.obj
│ ├── 21.obj
│ ├── 22.obj
│ ├── 23.obj
│ ├── 24.obj
│ ├── 25.obj
│ ├── 26.obj
│ ├── 27.obj
│ ├── 28.obj
│ ├── 29.obj
│ ├── 3.obj
│ ├── 30.obj
│ ├── 31.obj
│ ├── 32.obj
│ ├── 33.obj
│ ├── 34.obj
│ ├── 35.obj
│ ├── 36.obj
│ ├── 37.obj
│ ├── 38.obj
│ ├── 39.obj
│ ├── 4.obj
│ ├── 40.obj
│ ├── 41.obj
│ ├── 42.obj
│ ├── 43.obj
│ ├── 44.obj
│ ├── 45.obj
│ ├── 46.obj
│ ├── 47.obj
│ ├── 48.obj
│ ├── 49.obj
│ ├── 5.obj
│ ├── 50.obj
│ ├── 51.obj
│ ├── 52.obj
│ ├── 53.obj
│ ├── 54.obj
│ ├── 55.obj
│ ├── 56.obj
│ ├── 57.obj
│ ├── 58.obj
│ ├── 59.obj
│ ├── 6.obj
│ ├── 60.obj
│ ├── 61.obj
│ ├── 62.obj
│ ├── 63.obj
│ ├── 64.obj
│ ├── 65.obj
│ ├── 66.obj
│ ├── 67.obj
│ ├── 68.obj
│ ├── 69.obj
│ ├── 7.obj
│ ├── 70.obj
│ ├── 71.obj
│ ├── 72.obj
│ ├── 73.obj
│ ├── 74.obj
│ ├── 75.obj
│ ├── 76.obj
│ ├── 77.obj
│ ├── 78.obj
│ ├── 8.obj
│ ├── 9.obj
│ └── car_models.py
├── datasets/
│ └── apollo/
│ └── annotations/
│ ├── apollo_train.json
│ └── apollo_val.json
├── merge_mean_car_shape/
│ ├── merge_mean_car_model_0.obj
│ ├── merge_mean_car_model_1.obj
│ ├── merge_mean_car_model_2.obj
│ └── merge_mean_car_model_3.obj
├── pca_components/
│ ├── new_merge_0_components.npy
│ ├── new_merge_1_components.npy
│ ├── new_merge_2_components.npy
│ └── new_merge_3_components.npy
└── reference_code/
├── GSNet-release/
│ ├── LICENSE
│ ├── README.md
│ ├── camera_intrinsic/
│ │ └── camera_intrinsic.npy
│ ├── car_deform_result/
│ │ ├── 0.obj
│ │ ├── 1.obj
│ │ ├── 10.obj
│ │ ├── 11.obj
│ │ ├── 12.obj
│ │ ├── 13.obj
│ │ ├── 14.obj
│ │ ├── 15.obj
│ │ ├── 16.obj
│ │ ├── 17.obj
│ │ ├── 18.obj
│ │ ├── 19.obj
│ │ ├── 2.obj
│ │ ├── 20.obj
│ │ ├── 21.obj
│ │ ├── 22.obj
│ │ ├── 23.obj
│ │ ├── 24.obj
│ │ ├── 25.obj
│ │ ├── 26.obj
│ │ ├── 27.obj
│ │ ├── 28.obj
│ │ ├── 29.obj
│ │ ├── 3.obj
│ │ ├── 30.obj
│ │ ├── 31.obj
│ │ ├── 32.obj
│ │ ├── 33.obj
│ │ ├── 34.obj
│ │ ├── 35.obj
│ │ ├── 36.obj
│ │ ├── 37.obj
│ │ ├── 38.obj
│ │ ├── 39.obj
│ │ ├── 4.obj
│ │ ├── 40.obj
│ │ ├── 41.obj
│ │ ├── 42.obj
│ │ ├── 43.obj
│ │ ├── 44.obj
│ │ ├── 45.obj
│ │ ├── 46.obj
│ │ ├── 47.obj
│ │ ├── 48.obj
│ │ ├── 49.obj
│ │ ├── 5.obj
│ │ ├── 50.obj
│ │ ├── 51.obj
│ │ ├── 52.obj
│ │ ├── 53.obj
│ │ ├── 54.obj
│ │ ├── 55.obj
│ │ ├── 56.obj
│ │ ├── 57.obj
│ │ ├── 58.obj
│ │ ├── 59.obj
│ │ ├── 6.obj
│ │ ├── 60.obj
│ │ ├── 61.obj
│ │ ├── 62.obj
│ │ ├── 63.obj
│ │ ├── 64.obj
│ │ ├── 65.obj
│ │ ├── 66.obj
│ │ ├── 67.obj
│ │ ├── 68.obj
│ │ ├── 69.obj
│ │ ├── 7.obj
│ │ ├── 70.obj
│ │ ├── 71.obj
│ │ ├── 72.obj
│ │ ├── 73.obj
│ │ ├── 74.obj
│ │ ├── 75.obj
│ │ ├── 76.obj
│ │ ├── 77.obj
│ │ ├── 78.obj
│ │ ├── 8.obj
│ │ └── 9.obj
│ ├── configs/
│ │ ├── Base-RCNN-FPN.yaml
│ │ └── COCO-Keypoints/
│ │ ├── Base-Keypoint-RCNN-FPN-apollo.yaml
│ │ └── keypoint_rcnn_R_101_FPN_3x_apollo.yaml
│ ├── demo/
│ │ ├── .README.md.swp
│ │ ├── README.md
│ │ ├── demo.py
│ │ └── predictor.py
│ ├── detectron2/
│ │ ├── __init__.py
│ │ ├── checkpoint/
│ │ │ ├── __init__.py
│ │ │ ├── c2_model_loading.py
│ │ │ ├── catalog.py
│ │ │ └── detection_checkpoint.py
│ │ ├── config/
│ │ │ ├── __init__.py
│ │ │ ├── compat.py
│ │ │ ├── config.py
│ │ │ ├── defaults.py
│ │ │ └── defaults.py~
│ │ ├── data/
│ │ │ ├── __init__.py
│ │ │ ├── build.py
│ │ │ ├── catalog.py
│ │ │ ├── common.py
│ │ │ ├── dataset_mapper.py
│ │ │ ├── datasets/
│ │ │ │ ├── README.md
│ │ │ │ ├── __init__.py
│ │ │ │ ├── builtin.py
│ │ │ │ ├── builtin_meta.py
│ │ │ │ ├── cityscapes.py
│ │ │ │ ├── coco.py
│ │ │ │ ├── lvis.py
│ │ │ │ ├── lvis_v0_5_categories.py
│ │ │ │ ├── pascal_voc.py
│ │ │ │ ├── process_dataset.py
│ │ │ │ ├── process_dataset_occ.py
│ │ │ │ └── register_coco.py
│ │ │ ├── detection_utils.py
│ │ │ ├── samplers/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── distributed_sampler.py
│ │ │ │ └── grouped_batch_sampler.py
│ │ │ └── transforms/
│ │ │ ├── __init__.py
│ │ │ ├── transform.py
│ │ │ └── transform_gen.py
│ │ ├── engine/
│ │ │ ├── __init__.py
│ │ │ ├── defaults.py
│ │ │ ├── hooks.py
│ │ │ ├── launch.py
│ │ │ └── train_loop.py
│ │ ├── evaluation/
│ │ │ ├── __init__.py
│ │ │ ├── cityscapes_evaluation.py
│ │ │ ├── coco_evaluation.py
│ │ │ ├── evaluator.py
│ │ │ ├── lvis_evaluation.py
│ │ │ ├── panoptic_evaluation.py
│ │ │ ├── pascal_voc_evaluation.py
│ │ │ ├── rotated_coco_evaluation.py
│ │ │ ├── sem_seg_evaluation.py
│ │ │ └── testing.py
│ │ ├── export/
│ │ │ ├── README.md
│ │ │ ├── __init__.py
│ │ │ ├── api.py
│ │ │ ├── c10.py
│ │ │ ├── caffe2_export.py
│ │ │ ├── caffe2_inference.py
│ │ │ ├── caffe2_modeling.py
│ │ │ ├── patcher.py
│ │ │ └── shared.py
│ │ ├── layers/
│ │ │ ├── __init__.py
│ │ │ ├── __init__.py~
│ │ │ ├── batch_norm.py
│ │ │ ├── boundary.py
│ │ │ ├── csrc/
│ │ │ │ ├── README.md
│ │ │ │ ├── ROIAlign/
│ │ │ │ │ ├── ROIAlign.h
│ │ │ │ │ ├── ROIAlign_cpu.cpp
│ │ │ │ │ └── ROIAlign_cuda.cu
│ │ │ │ ├── ROIAlignRotated/
│ │ │ │ │ ├── ROIAlignRotated.h
│ │ │ │ │ ├── ROIAlignRotated_cpu.cpp
│ │ │ │ │ └── ROIAlignRotated_cuda.cu
│ │ │ │ ├── box_iou_rotated/
│ │ │ │ │ ├── box_iou_rotated.h
│ │ │ │ │ ├── box_iou_rotated_cpu.cpp
│ │ │ │ │ ├── box_iou_rotated_cuda.cu
│ │ │ │ │ └── box_iou_rotated_utils.h
│ │ │ │ ├── cuda_version.cu
│ │ │ │ ├── deformable/
│ │ │ │ │ ├── deform_conv.h
│ │ │ │ │ ├── deform_conv_cuda.cu
│ │ │ │ │ └── deform_conv_cuda_kernel.cu
│ │ │ │ ├── nms_rotated/
│ │ │ │ │ ├── nms_rotated.h
│ │ │ │ │ ├── nms_rotated_cpu.cpp
│ │ │ │ │ └── nms_rotated_cuda.cu
│ │ │ │ └── vision.cpp
│ │ │ ├── deform_conv.py
│ │ │ ├── iou_loss.py
│ │ │ ├── mask_ops.py
│ │ │ ├── misc.py
│ │ │ ├── nms.py
│ │ │ ├── roi_align.py
│ │ │ ├── roi_align_rotated.py
│ │ │ ├── rotated_boxes.py
│ │ │ ├── scale.py
│ │ │ ├── shape_spec.py
│ │ │ └── wrappers.py
│ │ ├── modeling/
│ │ │ ├── __init__.py
│ │ │ ├── anchor_generator.py
│ │ │ ├── backbone/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── backbone.py
│ │ │ │ ├── build.py
│ │ │ │ ├── fpn.py
│ │ │ │ ├── fpn.py~
│ │ │ │ ├── pafpn.py
│ │ │ │ ├── pafpn.py~
│ │ │ │ └── resnet.py
│ │ │ ├── box_regression.py
│ │ │ ├── matcher.py
│ │ │ ├── meta_arch/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── build.py
│ │ │ │ ├── fcos.py
│ │ │ │ ├── fcos.py~
│ │ │ │ ├── inference_fcos.py
│ │ │ │ ├── inference_fcos.py~
│ │ │ │ ├── loss_fcos.py
│ │ │ │ ├── panoptic_fpn.py
│ │ │ │ ├── rcnn.py
│ │ │ │ ├── retinanet.py
│ │ │ │ └── semantic_seg.py
│ │ │ ├── poolers.py
│ │ │ ├── postprocessing.py
│ │ │ ├── proposal_generator/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── build.py
│ │ │ │ ├── proposal_utils.py
│ │ │ │ ├── rpn.py
│ │ │ │ ├── rpn_outputs.py
│ │ │ │ ├── rrpn.py
│ │ │ │ └── rrpn_outputs.py
│ │ │ ├── roi_heads/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── box_head.py
│ │ │ │ ├── cascade_rcnn.py
│ │ │ │ ├── fast_rcnn.py
│ │ │ │ ├── keypoint_head.py
│ │ │ │ ├── mask_head.py
│ │ │ │ ├── mask_head.py~
│ │ │ │ ├── roi_heads.py
│ │ │ │ └── rotated_fast_rcnn.py
│ │ │ ├── sampling.py
│ │ │ └── test_time_augmentation.py
│ │ ├── solver/
│ │ │ ├── __init__.py
│ │ │ ├── build.py
│ │ │ └── lr_scheduler.py
│ │ ├── structures/
│ │ │ ├── __init__.py
│ │ │ ├── boxes.py
│ │ │ ├── image_list.py
│ │ │ ├── instances.py
│ │ │ ├── keypoints.py
│ │ │ ├── masks.py
│ │ │ └── rotated_boxes.py
│ │ └── utils/
│ │ ├── README.md
│ │ ├── __init__.py
│ │ ├── collect_env.py
│ │ ├── colormap.py
│ │ ├── comm.py
│ │ ├── env.py
│ │ ├── events.py
│ │ ├── logger.py
│ │ ├── memory.py
│ │ ├── registry.py
│ │ ├── serialize.py
│ │ ├── video_visualizer.py
│ │ └── visualizer.py
│ ├── detectron2.egg-info/
│ │ ├── PKG-INFO
│ │ ├── SOURCES.txt
│ │ ├── dependency_links.txt
│ │ ├── requires.txt
│ │ └── top_level.txt
│ ├── kpts_mapping/
│ │ └── kpts_mapping.npy
│ ├── pca_components/
│ │ ├── new_merge_0_components.npy
│ │ ├── new_merge_1_components.npy
│ │ ├── new_merge_2_components.npy
│ │ └── new_merge_3_components.npy
│ ├── pytorch_toolbelt/
│ │ ├── __init__.py
│ │ ├── inference/
│ │ │ ├── __init__.py
│ │ │ ├── functional.py
│ │ │ ├── tiles.py
│ │ │ └── tta.py
│ │ ├── losses/
│ │ │ ├── __init__.py
│ │ │ ├── __init__.py~
│ │ │ ├── dice.py
│ │ │ ├── focal.py
│ │ │ ├── functional.py
│ │ │ ├── functional.py~
│ │ │ ├── jaccard.py
│ │ │ ├── joint_loss.py
│ │ │ ├── lovasz.py
│ │ │ ├── other_losses.py
│ │ │ ├── other_losses.py~
│ │ │ └── wing_loss.py
│ │ ├── modules/
│ │ │ ├── __init__.py
│ │ │ ├── __init__.py~
│ │ │ ├── abn.py
│ │ │ ├── activations.py
│ │ │ ├── agn.py
│ │ │ ├── backbone/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── efficient_net.py
│ │ │ │ ├── inceptionv4.py
│ │ │ │ ├── mobilenet.py
│ │ │ │ ├── mobilenetv3.py
│ │ │ │ ├── senet.py
│ │ │ │ └── wider_resnet.py
│ │ │ ├── coord_conv.py
│ │ │ ├── decoders.py
│ │ │ ├── dropblock.py
│ │ │ ├── dsconv.py
│ │ │ ├── encoders.py
│ │ │ ├── fpn.py
│ │ │ ├── hypercolumn.py
│ │ │ ├── identity.py
│ │ │ ├── pooling.py
│ │ │ ├── scse.py
│ │ │ ├── srm.py
│ │ │ └── unet.py
│ │ ├── optimization/
│ │ │ ├── __init__.py
│ │ │ ├── functional.py
│ │ │ └── lr_schedules.py
│ │ └── utils/
│ │ ├── __init__.py
│ │ ├── catalyst/
│ │ │ ├── __init__.py
│ │ │ ├── criterions.py
│ │ │ ├── metrics.py
│ │ │ ├── utils.py
│ │ │ └── visualization.py
│ │ ├── catalyst_utils.py
│ │ ├── dataset_utils.py
│ │ ├── fs.py
│ │ ├── namesgenerator.py
│ │ ├── random.py
│ │ ├── rle.py
│ │ ├── torch_utils.py
│ │ └── visualization.py
│ ├── run.sh
│ ├── setup.cfg
│ └── setup.py
└── roi_heads.py
SYMBOL INDEX (1687 symbols across 165 files)
FILE: reference_code/GSNet-release/demo/demo.py
function setup_cfg (line 20) | def setup_cfg(args):
function get_parser (line 34) | def get_parser():
FILE: reference_code/GSNet-release/demo/predictor.py
class VisualizationDemo (line 20) | class VisualizationDemo(object):
method __init__ (line 21) | def __init__(self, cfg, instance_mode=ColorMode.IMAGE, parallel=False):
method run_on_image (line 42) | def run_on_image(self, image, save_name):
method _frame_from_video (line 138) | def _frame_from_video(self, video):
method run_on_video (line 146) | def run_on_video(self, video):
class AsyncPredictor (line 202) | class AsyncPredictor:
class _StopToken (line 209) | class _StopToken:
class _PredictWorker (line 212) | class _PredictWorker(mp.Process):
method __init__ (line 213) | def __init__(self, cfg, task_queue, result_queue):
method run (line 219) | def run(self):
method __init__ (line 230) | def __init__(self, cfg, num_gpus: int = 1):
method put (line 257) | def put(self, image):
method get (line 261) | def get(self):
method __len__ (line 277) | def __len__(self):
method __call__ (line 280) | def __call__(self, image):
method shutdown (line 284) | def shutdown(self):
method default_buffer_size (line 289) | def default_buffer_size(self):
FILE: reference_code/GSNet-release/detectron2/checkpoint/c2_model_loading.py
function convert_basic_c2_names (line 12) | def convert_basic_c2_names(original_keys):
function convert_c2_detectron_names (line 68) | def convert_c2_detectron_names(weights):
function align_and_update_state_dicts (line 211) | def align_and_update_state_dicts(model_state_dict, ckpt_state_dict, c2_c...
FILE: reference_code/GSNet-release/detectron2/checkpoint/catalog.py
class ModelCatalog (line 6) | class ModelCatalog(object):
method get (line 55) | def get(name):
method _get_c2_imagenet_pretrained (line 63) | def _get_c2_imagenet_pretrained(name):
method _get_c2_detectron_baseline (line 71) | def _get_c2_detectron_baseline(name):
class ModelCatalogHandler (line 92) | class ModelCatalogHandler(PathHandler):
method _get_supported_prefixes (line 99) | def _get_supported_prefixes(self):
method _get_local_path (line 102) | def _get_local_path(self, path):
method _open (line 108) | def _open(self, path, mode="r", **kwargs):
class Detectron2Handler (line 112) | class Detectron2Handler(PathHandler):
method _get_supported_prefixes (line 120) | def _get_supported_prefixes(self):
method _get_local_path (line 123) | def _get_local_path(self, path):
method _open (line 127) | def _open(self, path, mode="r", **kwargs):
FILE: reference_code/GSNet-release/detectron2/checkpoint/detection_checkpoint.py
class DetectionCheckpointer (line 11) | class DetectionCheckpointer(Checkpointer):
method __init__ (line 17) | def __init__(self, model, save_dir="", *, save_to_disk=None, **checkpo...
method _load_file (line 26) | def _load_file(self, filename):
method _load_model (line 47) | def _load_model(self, checkpoint):
FILE: reference_code/GSNet-release/detectron2/config/compat.py
function upgrade_config (line 33) | def upgrade_config(cfg: CN, to_version: Optional[int] = None) -> CN:
function downgrade_config (line 55) | def downgrade_config(cfg: CN, to_version: int) -> CN:
function guess_version (line 82) | def guess_version(cfg: CN, filename: str) -> int:
function _rename (line 116) | def _rename(cfg: CN, old: str, new: str) -> None:
class _RenameConverter (line 146) | class _RenameConverter:
method upgrade (line 154) | def upgrade(cls, cfg: CN) -> None:
method downgrade (line 159) | def downgrade(cls, cfg: CN) -> None:
class ConverterV1 (line 164) | class ConverterV1(_RenameConverter):
class ConverterV2 (line 168) | class ConverterV2(_RenameConverter):
method upgrade (line 204) | def upgrade(cls, cfg: CN) -> None:
method downgrade (line 222) | def downgrade(cls, cfg: CN) -> None:
FILE: reference_code/GSNet-release/detectron2/config/config.py
class CfgNode (line 8) | class CfgNode(_CfgNode):
method merge_from_file (line 21) | def merge_from_file(self, cfg_filename: str, allow_unsafe: bool = True...
method dump (line 63) | def dump(self, *args, **kwargs):
function get_cfg (line 75) | def get_cfg() -> CfgNode:
function set_global_cfg (line 87) | def set_global_cfg(cfg: CfgNode) -> None:
FILE: reference_code/GSNet-release/detectron2/data/build.py
function filter_images_with_only_crowd_annotations (line 38) | def filter_images_with_only_crowd_annotations(dataset_dicts):
function filter_images_with_few_keypoints (line 69) | def filter_images_with_few_keypoints(dataset_dicts, min_keypoints_per_im...
function load_proposals_into_dataset (line 103) | def load_proposals_into_dataset(dataset_dicts, proposal_file):
function _quantize (line 157) | def _quantize(x, bin_edges):
function print_instances_class_histogram (line 164) | def print_instances_class_histogram(dataset_dicts, class_names):
function get_detection_dataset_dicts (line 211) | def get_detection_dataset_dicts(
function build_detection_train_loader (line 266) | def build_detection_train_loader(cfg, mapper=None):
function build_detection_test_loader (line 353) | def build_detection_test_loader(cfg, dataset_name, mapper=None):
function trivial_batch_collator (line 399) | def trivial_batch_collator(batch):
function worker_init_reset_seed (line 406) | def worker_init_reset_seed(worker_id):
FILE: reference_code/GSNet-release/detectron2/data/catalog.py
class DatasetCatalog (line 12) | class DatasetCatalog(object):
method register (line 31) | def register(name, func):
method get (line 44) | def get(name):
method list (line 65) | def list() -> List[str]:
method clear (line 75) | def clear():
class Metadata (line 82) | class Metadata(types.SimpleNamespace):
method __getattr__ (line 108) | def __getattr__(self, key):
method __setattr__ (line 123) | def __setattr__(self, key, val):
method as_dict (line 143) | def as_dict(self):
method set (line 150) | def set(self, **kwargs):
method get (line 158) | def get(self, key, default=None):
class MetadataCatalog (line 169) | class MetadataCatalog:
method get (line 184) | def get(name):
method list (line 215) | def list():
FILE: reference_code/GSNet-release/detectron2/data/common.py
class MapDataset (line 14) | class MapDataset(data.Dataset):
method __init__ (line 26) | def __init__(self, dataset, map_func):
method __len__ (line 33) | def __len__(self):
method __getitem__ (line 36) | def __getitem__(self, idx):
class DatasetFromList (line 60) | class DatasetFromList(data.Dataset):
method __init__ (line 65) | def __init__(self, lst: list, copy: bool = True, serialize: bool = True):
method __len__ (line 97) | def __len__(self):
method __getitem__ (line 103) | def __getitem__(self, idx):
class AspectRatioGroupedDataset (line 115) | class AspectRatioGroupedDataset(data.IterableDataset):
method __init__ (line 126) | def __init__(self, dataset, batch_size):
method __iter__ (line 139) | def __iter__(self):
FILE: reference_code/GSNet-release/detectron2/data/dataset_mapper.py
class DatasetMapper (line 19) | class DatasetMapper:
method __init__ (line 36) | def __init__(self, cfg, is_train=True):
method __call__ (line 68) | def __call__(self, dataset_dict):
FILE: reference_code/GSNet-release/detectron2/data/datasets/builtin.py
function register_all_coco (line 109) | def register_all_coco(root):
function register_all_lvis (line 155) | def register_all_lvis(root):
function register_all_cityscapes (line 177) | def register_all_cityscapes(root):
function register_all_pascal_voc (line 204) | def register_all_pascal_voc(root):
FILE: reference_code/GSNet-release/detectron2/data/datasets/builtin_meta.py
function _get_coco_instances_meta (line 191) | def _get_coco_instances_meta():
function _get_coco_panoptic_separated_meta (line 206) | def _get_coco_panoptic_separated_meta():
function _get_builtin_metadata (line 239) | def _get_builtin_metadata(dataset_name):
FILE: reference_code/GSNet-release/detectron2/data/datasets/cityscapes.py
function get_cityscapes_files (line 28) | def get_cityscapes_files(image_dir, gt_dir):
function load_cityscapes_instances (line 54) | def load_cityscapes_instances(image_dir, gt_dir, from_json=True, to_poly...
function load_cityscapes_semantic (line 96) | def load_cityscapes_semantic(image_dir, gt_dir):
function cityscapes_files_to_dict (line 132) | def cityscapes_files_to_dict(files, from_json, to_polygons):
FILE: reference_code/GSNet-release/detectron2/data/datasets/coco.py
function load_coco_json_eval (line 27) | def load_coco_json_eval(json_file, image_root, dataset_name=None, extra_...
function load_coco_json (line 198) | def load_coco_json(json_file, image_root, dataset_name=None, extra_annot...
function load_sem_seg (line 374) | def load_sem_seg(gt_root, image_root, gt_ext="png", image_ext="jpg"):
function convert_to_coco_dict (line 450) | def convert_to_coco_dict(dataset_name):
function convert_to_coco_json (line 578) | def convert_to_coco_json(dataset_name, output_file, allow_cached=True):
FILE: reference_code/GSNet-release/detectron2/data/datasets/lvis.py
function register_lvis_instances (line 23) | def register_lvis_instances(name, metadata, json_file, image_root):
function load_lvis_json (line 39) | def load_lvis_json(json_file, image_root, dataset_name=None):
function get_lvis_instances_meta (line 148) | def get_lvis_instances_meta(dataset_name):
function _get_lvis_instances_meta_v0_5 (line 168) | def _get_lvis_instances_meta_v0_5():
FILE: reference_code/GSNet-release/detectron2/data/datasets/pascal_voc.py
function load_voc_instances (line 24) | def load_voc_instances(dirname: str, split: str):
function register_pascal_voc (line 76) | def register_pascal_voc(name, dirname, split, year):
FILE: reference_code/GSNet-release/detectron2/data/datasets/process_dataset.py
function bb_intersection_over_union (line 35) | def bb_intersection_over_union(boxA, boxB):
function load_coco_json (line 54) | def load_coco_json(json_file, image_root, dataset_name=None, extra_annot...
function load_sem_seg (line 321) | def load_sem_seg(gt_root, image_root, gt_ext="png", image_ext="jpg"):
function convert_to_coco_dict (line 397) | def convert_to_coco_dict(dataset_dicts, dataset_name):
function convert_to_coco_json (line 530) | def convert_to_coco_json(dataset_name, output_file, allow_cached=True):
FILE: reference_code/GSNet-release/detectron2/data/datasets/process_dataset_occ.py
function bb_intersection_over_union (line 30) | def bb_intersection_over_union(boxA, boxB):
function load_coco_json (line 49) | def load_coco_json(json_file, image_root, dataset_name=None, extra_annot...
function load_sem_seg (line 234) | def load_sem_seg(gt_root, image_root, gt_ext="png", image_ext="jpg"):
function convert_to_coco_dict (line 310) | def convert_to_coco_dict(dataset_dicts, dataset_name):
function convert_to_coco_json (line 437) | def convert_to_coco_json(dataset_name, output_file, allow_cached=True):
FILE: reference_code/GSNet-release/detectron2/data/datasets/register_coco.py
function register_coco_instances (line 15) | def register_coco_instances(name, metadata, json_file, image_root):
function register_coco_panoptic_separated (line 46) | def register_coco_panoptic_separated(
function merge_to_panoptic (line 107) | def merge_to_panoptic(detection_dicts, sem_seg_dicts):
FILE: reference_code/GSNet-release/detectron2/data/detection_utils.py
class SizeMismatchError (line 30) | class SizeMismatchError(ValueError):
function read_image (line 36) | def read_image(file_name, format=None):
function check_image_size (line 82) | def check_image_size(dataset_dict, image):
function transform_proposals (line 107) | def transform_proposals(dataset_dict, image_shape, transforms, min_box_s...
function transform_instance_annotations (line 149) | def transform_instance_annotations(
function transform_keypoint_annotations (line 226) | def transform_keypoint_annotations(keypoints, transforms, image_size, ke...
function annotations_to_instances (line 261) | def annotations_to_instances(annos, image_size, mask_format="polygon"):
function annotations_to_instances_rotated (line 339) | def annotations_to_instances_rotated(annos, image_size):
function filter_empty_instances (line 368) | def filter_empty_instances(instances, by_box=True, by_mask=True):
function create_keypoint_hflip_indices (line 397) | def create_keypoint_hflip_indices(dataset_names):
function gen_crop_transform_with_instance (line 419) | def gen_crop_transform_with_instance(crop_size, image_size, instance):
function check_metadata_consistency (line 449) | def check_metadata_consistency(key, dataset_names):
function build_transform_gen (line 478) | def build_transform_gen(cfg, is_train):
FILE: reference_code/GSNet-release/detectron2/data/samplers/distributed_sampler.py
class TrainingSampler (line 12) | class TrainingSampler(Sampler):
method __init__ (line 24) | def __init__(self, size: int, shuffle: bool = True, seed: Optional[int...
method __iter__ (line 43) | def __iter__(self):
method _infinite_indices (line 47) | def _infinite_indices(self):
class RepeatFactorTrainingSampler (line 57) | class RepeatFactorTrainingSampler(Sampler):
method __init__ (line 69) | def __init__(self, dataset_dicts, repeat_thresh, shuffle=True, seed=No...
method _get_repeat_factors (line 93) | def _get_repeat_factors(self, dataset_dicts, repeat_thresh):
method _get_epoch_indices (line 131) | def _get_epoch_indices(self, generator):
method __iter__ (line 154) | def __iter__(self):
method _infinite_indices (line 158) | def _infinite_indices(self):
class InferenceSampler (line 172) | class InferenceSampler(Sampler):
method __init__ (line 180) | def __init__(self, size: int):
method __iter__ (line 195) | def __iter__(self):
method __len__ (line 198) | def __len__(self):
FILE: reference_code/GSNet-release/detectron2/data/samplers/grouped_batch_sampler.py
class GroupedBatchSampler (line 6) | class GroupedBatchSampler(BatchSampler):
method __init__ (line 14) | def __init__(self, sampler, group_ids, batch_size):
method __iter__ (line 37) | def __iter__(self):
method __len__ (line 46) | def __len__(self):
FILE: reference_code/GSNet-release/detectron2/data/transforms/transform.py
class ExtentTransform (line 12) | class ExtentTransform(Transform):
method __init__ (line 22) | def __init__(self, src_rect, output_size, interp=Image.LINEAR, fill=0):
method apply_image (line 33) | def apply_image(self, img, interp=None):
method apply_coords (line 44) | def apply_coords(self, coords):
method apply_segmentation (line 58) | def apply_segmentation(self, segmentation):
class ResizeTransform (line 63) | class ResizeTransform(Transform):
method __init__ (line 68) | def __init__(self, h, w, new_h, new_w, interp):
method apply_image (line 79) | def apply_image(self, img, interp=None):
method apply_coords (line 87) | def apply_coords(self, coords):
method apply_segmentation (line 92) | def apply_segmentation(self, segmentation):
function HFlip_rotated_box (line 97) | def HFlip_rotated_box(transform, rotated_boxes):
function Resize_rotated_box (line 113) | def Resize_rotated_box(transform, rotated_boxes):
FILE: reference_code/GSNet-release/detectron2/data/transforms/transform_gen.py
function check_dtype (line 38) | def check_dtype(img):
class TransformGen (line 50) | class TransformGen(metaclass=ABCMeta):
method _init (line 66) | def _init(self, params=None):
method get_transform (line 73) | def get_transform(self, img):
method _rand_range (line 76) | def _rand_range(self, low=1.0, high=None, size=None):
method __repr__ (line 86) | def __repr__(self):
class RandomFlip (line 115) | class RandomFlip(TransformGen):
method __init__ (line 120) | def __init__(self, prob=0.5, *, horizontal=True, vertical=False):
method get_transform (line 135) | def get_transform(self, img):
class Resize (line 147) | class Resize(TransformGen):
method __init__ (line 150) | def __init__(self, shape, interp=Image.BILINEAR):
method get_transform (line 161) | def get_transform(self, img):
class ResizeShortestEdge (line 169) | class ResizeShortestEdge(TransformGen):
method __init__ (line 175) | def __init__(
method get_transform (line 194) | def get_transform(self, img):
class RandomCrop (line 221) | class RandomCrop(TransformGen):
method __init__ (line 226) | def __init__(self, crop_type: str, crop_size):
method get_transform (line 238) | def get_transform(self, img):
method get_crop_size (line 246) | def get_crop_size(self, image_size):
class RandomExtent (line 268) | class RandomExtent(TransformGen):
method __init__ (line 277) | def __init__(self, scale_range, shift_range):
method get_transform (line 290) | def get_transform(self, img):
class RandomContrast (line 313) | class RandomContrast(TransformGen):
method __init__ (line 325) | def __init__(self, intensity_min, intensity_max):
method get_transform (line 334) | def get_transform(self, img):
class RandomBrightness (line 339) | class RandomBrightness(TransformGen):
method __init__ (line 351) | def __init__(self, intensity_min, intensity_max):
method get_transform (line 360) | def get_transform(self, img):
class RandomSaturation (line 365) | class RandomSaturation(TransformGen):
method __init__ (line 377) | def __init__(self, intensity_min, intensity_max):
method get_transform (line 386) | def get_transform(self, img):
class RandomLighting (line 393) | class RandomLighting(TransformGen):
method __init__ (line 401) | def __init__(self, scale):
method get_transform (line 413) | def get_transform(self, img):
function apply_transform_gens (line 421) | def apply_transform_gens(transform_gens, img):
FILE: reference_code/GSNet-release/detectron2/engine/defaults.py
function default_argument_parser (line 48) | def default_argument_parser():
function default_setup (line 83) | def default_setup(cfg, args):
class DefaultPredictor (line 132) | class DefaultPredictor:
method __init__ (line 155) | def __init__(self, cfg):
method __call__ (line 171) | def __call__(self, original_image):
class DefaultTrainer (line 194) | class DefaultTrainer(SimpleTrainer):
method __init__ (line 236) | def __init__(self, cfg):
method resume_or_load (line 272) | def resume_or_load(self, resume=True):
method build_hooks (line 292) | def build_hooks(self):
method build_writers (line 340) | def build_writers(self):
method train (line 370) | def train(self):
method build_model (line 383) | def build_model(cls, cfg):
method build_optimizer (line 397) | def build_optimizer(cls, cfg, model):
method build_lr_scheduler (line 408) | def build_lr_scheduler(cls, cfg, optimizer):
method build_train_loader (line 416) | def build_train_loader(cls, cfg):
method build_test_loader (line 427) | def build_test_loader(cls, cfg, dataset_name):
method build_evaluator (line 438) | def build_evaluator(cls, cfg, dataset_name):
method test (line 451) | def test(cls, cfg, model, evaluators=None):
FILE: reference_code/GSNet-release/detectron2/engine/hooks.py
class CallbackHook (line 40) | class CallbackHook(HookBase):
method __init__ (line 45) | def __init__(self, *, before_train=None, after_train=None, before_step...
method before_train (line 54) | def before_train(self):
method after_train (line 58) | def after_train(self):
method before_step (line 66) | def before_step(self):
method after_step (line 70) | def after_step(self):
class IterationTimer (line 75) | class IterationTimer(HookBase):
method __init__ (line 87) | def __init__(self, warmup_iter=3):
method before_train (line 96) | def before_train(self):
method after_train (line 101) | def after_train(self):
method before_step (line 127) | def before_step(self):
method after_step (line 131) | def after_step(self):
class PeriodicWriter (line 144) | class PeriodicWriter(HookBase):
method __init__ (line 151) | def __init__(self, writers, period=20):
method after_step (line 162) | def after_step(self):
method after_train (line 169) | def after_train(self):
class PeriodicCheckpointer (line 174) | class PeriodicCheckpointer(_PeriodicCheckpointer, HookBase):
method before_train (line 185) | def before_train(self):
method after_step (line 188) | def after_step(self):
class LRScheduler (line 193) | class LRScheduler(HookBase):
method __init__ (line 199) | def __init__(self, optimizer, scheduler):
method after_step (line 227) | def after_step(self):
class AutogradProfiler (line 233) | class AutogradProfiler(HookBase):
method __init__ (line 258) | def __init__(self, enable_predicate, output_dir, *, use_cuda=True):
method before_step (line 271) | def before_step(self):
method after_step (line 278) | def after_step(self):
class EvalHook (line 298) | class EvalHook(HookBase):
method __init__ (line 305) | def __init__(self, eval_period, eval_function):
method _do_eval (line 321) | def _do_eval(self):
method after_step (line 344) | def after_step(self):
method after_train (line 352) | def after_train(self):
class PreciseBN (line 360) | class PreciseBN(HookBase):
method __init__ (line 370) | def __init__(self, period, model, data_loader, num_iter):
method after_step (line 399) | def after_step(self):
method update_stats (line 405) | def update_stats(self):
FILE: reference_code/GSNet-release/detectron2/engine/launch.py
function _find_free_port (line 12) | def _find_free_port():
function launch (line 24) | def launch(main_func, num_gpus_per_machine, num_machines=1, machine_rank...
function _distributed_worker (line 55) | def _distributed_worker(
FILE: reference_code/GSNet-release/detectron2/engine/train_loop.py
class HookBase (line 16) | class HookBase:
method before_train (line 51) | def before_train(self):
method after_train (line 57) | def after_train(self):
method before_step (line 63) | def before_step(self):
method after_step (line 69) | def after_step(self):
class TrainerBase (line 76) | class TrainerBase:
method __init__ (line 95) | def __init__(self):
method register_hooks (line 98) | def register_hooks(self, hooks):
method train (line 116) | def train(self, start_iter: int, max_iter: int):
method before_train (line 137) | def before_train(self):
method after_train (line 141) | def after_train(self):
method before_step (line 145) | def before_step(self):
method after_step (line 149) | def after_step(self):
method run_step (line 155) | def run_step(self):
class SimpleTrainer (line 159) | class SimpleTrainer(TrainerBase):
method __init__ (line 174) | def __init__(self, model, data_loader, optimizer):
method run_step (line 197) | def run_step(self):
method _detect_anomaly (line 233) | def _detect_anomaly(self, losses, loss_dict):
method _write_metrics (line 241) | def _write_metrics(self, metrics_dict: dict):
FILE: reference_code/GSNet-release/detectron2/evaluation/cityscapes_evaluation.py
class CityscapesEvaluator (line 17) | class CityscapesEvaluator(DatasetEvaluator):
method __init__ (line 27) | def __init__(self, dataset_name):
method reset (line 38) | def reset(self):
method process (line 50) | def process(self, inputs, outputs):
method evaluate (line 74) | def evaluate(self):
FILE: reference_code/GSNet-release/detectron2/evaluation/coco_evaluation.py
class COCOEvaluator (line 28) | class COCOEvaluator(DatasetEvaluator):
method __init__ (line 34) | def __init__(self, dataset_name, cfg, distributed, output_dir=None):
method reset (line 83) | def reset(self):
method _tasks_from_config (line 86) | def _tasks_from_config(self, cfg):
method process (line 98) | def process(self, inputs, outputs):
method evaluate (line 118) | def evaluate(self):
method _eval_predictions (line 147) | def _eval_predictions(self, tasks, predictions):
method _eval_box_proposals (line 203) | def _eval_box_proposals(self, predictions):
method _derive_coco_results (line 242) | def _derive_coco_results(self, coco_eval, iou_type, class_names=None):
function instances_to_coco_json (line 311) | def instances_to_coco_json(instances, img_id):
function _evaluate_box_proposals (line 380) | def _evaluate_box_proposals(dataset_predictions, coco_api, thresholds=No...
function _evaluate_predictions_on_coco (line 491) | def _evaluate_predictions_on_coco(coco_gt, coco_results, iou_type, kpt_o...
FILE: reference_code/GSNet-release/detectron2/evaluation/evaluator.py
class DatasetEvaluator (line 13) | class DatasetEvaluator:
method reset (line 24) | def reset(self):
method process (line 31) | def process(self, input, output):
method evaluate (line 41) | def evaluate(self):
class DatasetEvaluators (line 57) | class DatasetEvaluators(DatasetEvaluator):
method __init__ (line 58) | def __init__(self, evaluators):
method reset (line 62) | def reset(self):
method process (line 66) | def process(self, input, output):
method evaluate (line 70) | def evaluate(self):
function inference_on_dataset (line 83) | def inference_on_dataset(model, data_loader, evaluator):
function inference_context (line 169) | def inference_context(model):
FILE: reference_code/GSNet-release/detectron2/evaluation/lvis_evaluation.py
class LVISEvaluator (line 21) | class LVISEvaluator(DatasetEvaluator):
method __init__ (line 27) | def __init__(self, dataset_name, cfg, distributed, output_dir=None):
method reset (line 54) | def reset(self):
method _tasks_from_config (line 57) | def _tasks_from_config(self, cfg):
method process (line 67) | def process(self, inputs, outputs):
method evaluate (line 86) | def evaluate(self):
method _eval_predictions (line 115) | def _eval_predictions(self, tasks, predictions):
method _eval_box_proposals (line 157) | def _eval_box_proposals(self, predictions):
function _evaluate_box_proposals (line 199) | def _evaluate_box_proposals(dataset_predictions, lvis_api, thresholds=No...
function _evaluate_predictions_on_lvis (line 308) | def _evaluate_predictions_on_lvis(lvis_gt, lvis_results, iou_type, class...
FILE: reference_code/GSNet-release/detectron2/evaluation/panoptic_evaluation.py
class COCOPanopticEvaluator (line 22) | class COCOPanopticEvaluator(DatasetEvaluator):
method __init__ (line 30) | def __init__(self, dataset_name, output_dir):
method reset (line 46) | def reset(self):
method _convert_category_id (line 49) | def _convert_category_id(self, segment_info):
method process (line 64) | def process(self, inputs, outputs):
method evaluate (line 85) | def evaluate(self):
function _print_panoptic_results (line 136) | def _print_panoptic_results(pq_res):
FILE: reference_code/GSNet-release/detectron2/evaluation/pascal_voc_evaluation.py
class PascalVOCDetectionEvaluator (line 20) | class PascalVOCDetectionEvaluator(DatasetEvaluator):
method __init__ (line 30) | def __init__(self, dataset_name):
method reset (line 45) | def reset(self):
method process (line 48) | def process(self, inputs, outputs):
method evaluate (line 64) | def evaluate(self):
function parse_rec (line 126) | def parse_rec(filename):
function voc_ap (line 149) | def voc_ap(rec, prec, use_07_metric=False):
function voc_eval (line 181) | def voc_eval(detpath, annopath, imagesetfile, classname, ovthresh=0.5, u...
FILE: reference_code/GSNet-release/detectron2/evaluation/rotated_coco_evaluation.py
class RotatedCOCOeval (line 14) | class RotatedCOCOeval(COCOeval):
method is_rotated (line 16) | def is_rotated(box_list):
method boxlist_to_tensor (line 33) | def boxlist_to_tensor(boxlist, output_box_dim):
method compute_iou_dt_gt (line 56) | def compute_iou_dt_gt(self, dt, gt, is_crowd):
method computeIoU (line 67) | def computeIoU(self, imgId, catId):
class RotatedCOCOEvaluator (line 96) | class RotatedCOCOEvaluator(COCOEvaluator):
method process (line 103) | def process(self, inputs, outputs):
method instances_to_json (line 123) | def instances_to_json(self, instances, img_id):
method _eval_predictions (line 147) | def _eval_predictions(self, tasks, predictions):
method _evaluate_predictions_on_coco (line 188) | def _evaluate_predictions_on_coco(self, coco_gt, coco_results):
FILE: reference_code/GSNet-release/detectron2/evaluation/sem_seg_evaluation.py
class SemSegEvaluator (line 19) | class SemSegEvaluator(DatasetEvaluator):
method __init__ (line 24) | def __init__(self, dataset_name, distributed, num_classes, ignore_labe...
method reset (line 58) | def reset(self):
method process (line 62) | def process(self, inputs, outputs):
method evaluate (line 86) | def evaluate(self):
method encode_json_sem_seg (line 143) | def encode_json_sem_seg(self, sem_seg, input_file_name):
FILE: reference_code/GSNet-release/detectron2/evaluation/testing.py
function print_csv_format (line 10) | def print_csv_format(results):
function verify_results (line 28) | def verify_results(cfg, results):
function flatten_results_dict (line 61) | def flatten_results_dict(results):
FILE: reference_code/GSNet-release/detectron2/export/api.py
function add_export_config (line 17) | def add_export_config(cfg):
function export_caffe2_model (line 34) | def export_caffe2_model(cfg, model, inputs):
class Caffe2Model (line 58) | class Caffe2Model(nn.Module):
method __init__ (line 59) | def __init__(self, predict_net, init_net):
method predict_net (line 67) | def predict_net(self):
method init_net (line 75) | def init_net(self):
method save_protobuf (line 84) | def save_protobuf(self, output_dir):
method save_graph (line 102) | def save_graph(self, output_file, inputs=None):
method load_protobuf (line 124) | def load_protobuf(dir):
method __call__ (line 144) | def __call__(self, inputs):
FILE: reference_code/GSNet-release/detectron2/export/c10.py
class Boxes4or5 (line 21) | class Boxes4or5(Boxes):
method __init__ (line 27) | def __init__(self, tensor):
class InstancesList (line 35) | class InstancesList(object):
method __init__ (line 45) | def __init__(self, im_info, indices, extra_fields=None):
method get_fields (line 55) | def get_fields(self):
method has (line 69) | def has(self, name):
method set (line 72) | def set(self, name, value):
method __setattr__ (line 80) | def __setattr__(self, name, val):
method __getattr__ (line 86) | def __getattr__(self, name):
method __len__ (line 91) | def __len__(self):
method flatten (line 94) | def flatten(self):
method to_d2_instances_list (line 104) | def to_d2_instances_list(instances_list):
class Caffe2Compatible (line 144) | class Caffe2Compatible(object):
method _get_tensor_mode (line 145) | def _get_tensor_mode(self):
method _set_tensor_mode (line 148) | def _set_tensor_mode(self, v):
class Caffe2RPN (line 157) | class Caffe2RPN(Caffe2Compatible, rpn.RPN):
method forward (line 158) | def forward(self, images, features, gt_instances=None):
method c2_postprocess (line 248) | def c2_postprocess(im_info, rpn_rois, rpn_roi_probs, tensor_mode):
class Caffe2ROIPooler (line 264) | class Caffe2ROIPooler(Caffe2Compatible, poolers.ROIPooler):
method c2_preprocess (line 266) | def c2_preprocess(box_lists):
method forward (line 276) | def forward(self, x, box_lists):
class Caffe2FastRCNNOutputsInference (line 331) | class Caffe2FastRCNNOutputsInference:
method __init__ (line 332) | def __init__(self, tensor_mode):
method __call__ (line 335) | def __call__(self, fastrcnn_outputs, score_thresh, nms_thresh, topk_pe...
class Caffe2MaskRCNNInference (line 449) | class Caffe2MaskRCNNInference:
method __call__ (line 450) | def __call__(self, pred_mask_logits, pred_instances):
class Caffe2KeypointRCNNInference (line 461) | class Caffe2KeypointRCNNInference:
method __init__ (line 462) | def __init__(self, use_heatmap_max_keypoint):
method __call__ (line 465) | def __call__(self, pred_keypoint_logits, pred_instances):
FILE: reference_code/GSNet-release/detectron2/export/caffe2_export.py
function _export_via_onnx (line 26) | def _export_via_onnx(model, inputs):
function _op_stats (line 59) | def _op_stats(net_def):
function export_caffe2_detection_model (line 68) | def export_caffe2_detection_model(model: torch.nn.Module, tensor_inputs:...
function run_and_save_graph (line 101) | def run_and_save_graph(predict_net, init_net, tensor_inputs, graph_save_...
FILE: reference_code/GSNet-release/detectron2/export/caffe2_inference.py
class ProtobufModel (line 15) | class ProtobufModel(torch.nn.Module):
method __init__ (line 22) | def __init__(self, predict_net, init_net):
method forward (line 39) | def forward(self, inputs_dict):
class ProtobufDetectionModel (line 67) | class ProtobufDetectionModel(torch.nn.Module):
method __init__ (line 73) | def __init__(self, predict_net, init_net, *, convert_outputs=None):
method _convert_inputs (line 92) | def _convert_inputs(self, batched_inputs):
method forward (line 99) | def forward(self, batched_inputs):
FILE: reference_code/GSNet-release/detectron2/export/caffe2_modeling.py
function _is_valid_model_output_blob (line 30) | def _is_valid_model_output_blob(blob):
function assemble_rcnn_outputs_by_name (line 34) | def assemble_rcnn_outputs_by_name(image_sizes, tensor_outputs, force_mas...
function _cast_to_f32 (line 99) | def _cast_to_f32(f64):
function set_caffe2_compatible_tensor_mode (line 103) | def set_caffe2_compatible_tensor_mode(model, enable=True):
function convert_batched_inputs_to_c2_format (line 111) | def convert_batched_inputs_to_c2_format(batched_inputs, size_divisibilit...
class Caffe2MetaArch (line 139) | class Caffe2MetaArch(Caffe2Compatible, torch.nn.Module):
method __init__ (line 146) | def __init__(self, cfg, torch_model):
method get_caffe2_inputs (line 158) | def get_caffe2_inputs(self, batched_inputs):
method encode_additional_info (line 182) | def encode_additional_info(self, predict_net, init_net):
method forward (line 188) | def forward(self, inputs):
method _caffe2_preprocess_image (line 203) | def _caffe2_preprocess_image(self, inputs):
method get_outputs_converter (line 220) | def get_outputs_converter(predict_net, init_net):
class Caffe2GeneralizedRCNN (line 248) | class Caffe2GeneralizedRCNN(Caffe2MetaArch):
method __init__ (line 249) | def __init__(self, cfg, torch_model):
method encode_additional_info (line 256) | def encode_additional_info(self, predict_net, init_net):
method forward (line 262) | def forward(self, inputs):
method get_outputs_converter (line 273) | def get_outputs_converter(predict_net, init_net):
class Caffe2PanopticFPN (line 282) | class Caffe2PanopticFPN(Caffe2MetaArch):
method __init__ (line 283) | def __init__(self, cfg, torch_model):
method forward (line 291) | def forward(self, inputs):
method encode_additional_info (line 306) | def encode_additional_info(self, predict_net, init_net):
method get_outputs_converter (line 333) | def get_outputs_converter(predict_net, init_net):
class Caffe2RetinaNet (line 374) | class Caffe2RetinaNet(Caffe2MetaArch):
method __init__ (line 375) | def __init__(self, cfg, torch_model):
method forward (line 380) | def forward(self, inputs):
method encode_additional_info (line 401) | def encode_additional_info(self, predict_net, init_net):
method _encode_anchor_generator_cfg (line 429) | def _encode_anchor_generator_cfg(self, predict_net):
method get_outputs_converter (line 439) | def get_outputs_converter(predict_net, init_net):
FILE: reference_code/GSNet-release/detectron2/export/patcher.py
class GenericMixin (line 22) | class GenericMixin(object):
class Caffe2CompatibleConverter (line 26) | class Caffe2CompatibleConverter(object):
method __init__ (line 32) | def __init__(self, replaceCls):
method create_from (line 35) | def create_from(self, module):
function patch (line 57) | def patch(model, target, updater, *args, **kwargs):
function patch_generalized_rcnn (line 70) | def patch_generalized_rcnn(model):
function mock_fastrcnn_outputs_inference (line 79) | def mock_fastrcnn_outputs_inference(tensor_mode, check=True):
function mock_mask_rcnn_inference (line 92) | def mock_mask_rcnn_inference(tensor_mode, patched_module, check=True):
function mock_keypoint_rcnn_inference (line 102) | def mock_keypoint_rcnn_inference(tensor_mode, patched_module, use_heatma...
class ROIHeadsPatcher (line 112) | class ROIHeadsPatcher:
method __init__ (line 113) | def __init__(self, cfg, heads):
method mock_roi_heads (line 119) | def mock_roi_heads(self, tensor_mode=True):
FILE: reference_code/GSNet-release/detectron2/export/shared.py
function to_device (line 25) | def to_device(t, device_str):
function BilinearInterpolation (line 37) | def BilinearInterpolation(tensor_in, up_scale):
function onnx_compatibale_interpolate (line 71) | def onnx_compatibale_interpolate(
function mock_torch_nn_functional_interpolate (line 105) | def mock_torch_nn_functional_interpolate():
class ScopedWS (line 118) | class ScopedWS(object):
method __init__ (line 119) | def __init__(self, ws_name, is_reset, is_cleanup=False):
method __enter__ (line 125) | def __enter__(self):
method __exit__ (line 134) | def __exit__(self, *args):
function fetch_any_blob (line 141) | def fetch_any_blob(name):
function get_pb_arg (line 156) | def get_pb_arg(pb, arg_name):
function get_pb_arg_valf (line 163) | def get_pb_arg_valf(pb, arg_name, default_val):
function get_pb_arg_floats (line 168) | def get_pb_arg_floats(pb, arg_name, default_val):
function get_pb_arg_ints (line 173) | def get_pb_arg_ints(pb, arg_name, default_val):
function get_pb_arg_vali (line 178) | def get_pb_arg_vali(pb, arg_name, default_val):
function get_pb_arg_vals (line 183) | def get_pb_arg_vals(pb, arg_name, default_val):
function get_pb_arg_valstrings (line 188) | def get_pb_arg_valstrings(pb, arg_name, default_val):
function check_set_pb_arg (line 193) | def check_set_pb_arg(pb, arg_name, arg_attr, arg_value, allow_override=F...
function _create_const_fill_op_from_numpy (line 211) | def _create_const_fill_op_from_numpy(name, tensor, device_option=None):
function _create_const_fill_op_from_c2_int8_tensor (line 232) | def _create_const_fill_op_from_c2_int8_tensor(name, int8_tensor):
function create_const_fill_op (line 254) | def create_const_fill_op(
function construct_init_net_from_params (line 276) | def construct_init_net_from_params(
function get_params_from_init_net (line 297) | def get_params_from_init_net(init_net: caffe2_pb2.NetDef) -> Dict[str, A...
function remove_reshape_for_fc (line 306) | def remove_reshape_for_fc(predict_net, params):
function _modify_blob_names (line 379) | def _modify_blob_names(ops, blob_rename_f):
function _rename_blob (line 395) | def _rename_blob(name, blob_sizes, blob_ranges):
function save_graph (line 411) | def save_graph(net, file_name, graph_name="net", op_only=True, blob_size...
function save_graph_base (line 416) | def save_graph_base(net, file_name, graph_name="net", op_only=True, blob...
function group_norm_replace_aten_with_caffe2 (line 451) | def group_norm_replace_aten_with_caffe2(predict_net: caffe2_pb2.NetDef):
function alias (line 480) | def alias(x, name, is_backward=False):
function fuse_alias_placeholder (line 487) | def fuse_alias_placeholder(predict_net, init_net):
class IllegalGraphTransformError (line 515) | class IllegalGraphTransformError(ValueError):
function _rename_versioned_blob_in_proto (line 519) | def _rename_versioned_blob_in_proto(
function rename_op_input (line 550) | def rename_op_input(
function rename_op_output (line 617) | def rename_op_output(predict_net: caffe2_pb2.NetDef, op_id: int, output_...
function get_sub_graph_external_input_output (line 638) | def get_sub_graph_external_input_output(
function get_producer_map (line 670) | def get_producer_map(ssa):
function get_consumer_map (line 683) | def get_consumer_map(ssa):
class DiGraph (line 696) | class DiGraph:
method __init__ (line 699) | def __init__(self):
method add_edge (line 703) | def add_edge(self, u, v):
method get_all_paths (line 709) | def get_all_paths(self, s, d):
method from_ssa (line 730) | def from_ssa(ssa):
function _get_dependency_chain (line 739) | def _get_dependency_chain(ssa, versioned_target, versioned_source):
function identify_reshape_sub_graph (line 767) | def identify_reshape_sub_graph(predict_net: caffe2_pb2.NetDef,) -> List[...
FILE: reference_code/GSNet-release/detectron2/layers/batch_norm.py
class FrozenBatchNorm2d (line 14) | class FrozenBatchNorm2d(nn.Module):
method __init__ (line 36) | def __init__(self, num_features, eps=1e-5):
method forward (line 45) | def forward(self, x):
method _load_from_state_dict (line 67) | def _load_from_state_dict(
method __repr__ (line 90) | def __repr__(self):
method convert_frozen_batchnorm (line 94) | def convert_frozen_batchnorm(cls, module):
function get_norm (line 127) | def get_norm(norm, out_channels):
class AllReduce (line 148) | class AllReduce(Function):
method forward (line 150) | def forward(ctx, input):
method backward (line 158) | def backward(ctx, grad_output):
class NaiveSyncBatchNorm (line 163) | class NaiveSyncBatchNorm(BatchNorm2d):
method forward (line 174) | def forward(self, input):
FILE: reference_code/GSNet-release/detectron2/layers/boundary.py
function get_contour_interior (line 17) | def get_contour_interior(mask, bold=False):
function get_center (line 33) | def get_center(mask):
function get_instances_contour_interior (line 43) | def get_instances_contour_interior(instances_mask):
FILE: reference_code/GSNet-release/detectron2/layers/csrc/ROIAlign/ROIAlign.h
function namespace (line 5) | namespace detectron2 {
FILE: reference_code/GSNet-release/detectron2/layers/csrc/ROIAlign/ROIAlign_cpu.cpp
type PreCalc (line 9) | struct PreCalc {
function pre_calc_for_bilinear_interpolate (line 21) | void pre_calc_for_bilinear_interpolate(
function ROIAlignForward (line 117) | void ROIAlignForward(
function bilinear_interpolate_gradient (line 221) | void bilinear_interpolate_gradient(
function add (line 282) | inline void add(T* address, const T& val) {
function ROIAlignBackward (line 287) | void ROIAlignBackward(
type detectron2 (line 398) | namespace detectron2 {
function ROIAlign_forward_cpu (line 400) | at::Tensor ROIAlign_forward_cpu(
function ROIAlign_backward_cpu (line 447) | at::Tensor ROIAlign_backward_cpu(
FILE: reference_code/GSNet-release/detectron2/layers/csrc/ROIAlignRotated/ROIAlignRotated.h
function namespace (line 5) | namespace detectron2 {
FILE: reference_code/GSNet-release/detectron2/layers/csrc/ROIAlignRotated/ROIAlignRotated_cpu.cpp
type detectron2 (line 12) | namespace detectron2 {
type PreCalc (line 16) | struct PreCalc {
function pre_calc_for_bilinear_interpolate (line 28) | void pre_calc_for_bilinear_interpolate(
function bilinear_interpolate_gradient (line 132) | void bilinear_interpolate_gradient(
function add (line 195) | inline void add(T* address, const T& val) {
function ROIAlignRotatedForward (line 202) | void ROIAlignRotatedForward(
function ROIAlignRotatedBackward (line 313) | void ROIAlignRotatedBackward(
function ROIAlignRotated_forward_cpu (line 417) | at::Tensor ROIAlignRotated_forward_cpu(
function ROIAlignRotated_backward_cpu (line 464) | at::Tensor ROIAlignRotated_backward_cpu(
FILE: reference_code/GSNet-release/detectron2/layers/csrc/box_iou_rotated/box_iou_rotated.h
function namespace (line 5) | namespace detectron2 {
FILE: reference_code/GSNet-release/detectron2/layers/csrc/box_iou_rotated/box_iou_rotated_cpu.cpp
type detectron2 (line 5) | namespace detectron2 {
function box_iou_rotated_cpu_kernel (line 8) | void box_iou_rotated_cpu_kernel(
function box_iou_rotated_cpu (line 31) | at::Tensor box_iou_rotated_cpu(
FILE: reference_code/GSNet-release/detectron2/layers/csrc/box_iou_rotated/box_iou_rotated_utils.h
function namespace (line 17) | namespace detectron2 {
FILE: reference_code/GSNet-release/detectron2/layers/csrc/deformable/deform_conv.h
function namespace (line 5) | namespace detectron2 {
FILE: reference_code/GSNet-release/detectron2/layers/csrc/nms_rotated/nms_rotated.h
function namespace (line 5) | namespace detectron2 {
FILE: reference_code/GSNet-release/detectron2/layers/csrc/nms_rotated/nms_rotated_cpu.cpp
type detectron2 (line 5) | namespace detectron2 {
function nms_rotated_cpu_kernel (line 8) | at::Tensor nms_rotated_cpu_kernel(
function nms_rotated_cpu (line 61) | at::Tensor nms_rotated_cpu(
FILE: reference_code/GSNet-release/detectron2/layers/csrc/vision.cpp
type detectron2 (line 10) | namespace detectron2 {
function get_cuda_version (line 16) | std::string get_cuda_version() {
function get_compiler_version (line 37) | std::string get_compiler_version() {
function PYBIND11_MODULE (line 63) | PYBIND11_MODULE(TORCH_EXTENSION_NAME, m) {
FILE: reference_code/GSNet-release/detectron2/layers/deform_conv.py
class _DeformConv (line 15) | class _DeformConv(Function):
method forward (line 17) | def forward(
method backward (line 77) | def backward(ctx, grad_output):
method _output_size (line 138) | def _output_size(input, weight, padding, dilation, stride):
method _cal_im2col_step (line 157) | def _cal_im2col_step(input_size, default_size):
class _ModulatedDeformConv (line 179) | class _ModulatedDeformConv(Function):
method forward (line 181) | def forward(
method backward (line 238) | def backward(ctx, grad_output):
method _infer_shape (line 290) | def _infer_shape(ctx, input, weight):
class DeformConv (line 308) | class DeformConv(nn.Module):
method __init__ (line 309) | def __init__(
method forward (line 361) | def forward(self, x, offset):
method extra_repr (line 392) | def extra_repr(self):
class ModulatedDeformConv (line 405) | class ModulatedDeformConv(nn.Module):
method __init__ (line 406) | def __init__(
method forward (line 455) | def forward(self, x, offset, mask):
method extra_repr (line 484) | def extra_repr(self):
FILE: reference_code/GSNet-release/detectron2/layers/iou_loss.py
class IOULoss (line 7) | class IOULoss(nn.Module):
method __init__ (line 8) | def __init__(self, loss_type="iou"):
method forward (line 12) | def forward(self, pred, target, weight=None):
FILE: reference_code/GSNet-release/detectron2/layers/mask_ops.py
function _do_paste_mask (line 16) | def _do_paste_mask(masks, boxes, img_h, img_w, skip_empty=True):
function paste_masks_in_image (line 67) | def paste_masks_in_image(masks, boxes, image_shape, threshold=0.5):
function paste_mask_in_image_old (line 136) | def paste_mask_in_image_old(mask, box, img_h, img_w, threshold):
function pad_masks (line 200) | def pad_masks(masks, padding):
function scale_boxes (line 218) | def scale_boxes(boxes, scale):
FILE: reference_code/GSNet-release/detectron2/layers/misc.py
class AddCoords (line 17) | class AddCoords(nn.Module):
method __init__ (line 19) | def __init__(self, with_r=False):
method forward (line 23) | def forward(self, input_tensor):
class CoordConv (line 54) | class CoordConv(nn.Module):
method __init__ (line 56) | def __init__(self, in_channels, out_channels, with_r=False, **kwargs):
method forward (line 64) | def forward(self, x):
class _NewEmptyTensorOp (line 70) | class _NewEmptyTensorOp(torch.autograd.Function):
method forward (line 72) | def forward(ctx, x, new_shape):
method backward (line 77) | def backward(ctx, grad):
class Conv2d (line 82) | class Conv2d(torch.nn.Conv2d):
method forward (line 83) | def forward(self, x):
class ConvTranspose2d (line 98) | class ConvTranspose2d(torch.nn.ConvTranspose2d):
method forward (line 99) | def forward(self, x):
class BatchNorm2d (line 119) | class BatchNorm2d(torch.nn.BatchNorm2d):
method forward (line 120) | def forward(self, x):
function interpolate (line 128) | def interpolate(
class DFConv2d (line 166) | class DFConv2d(torch.nn.Module):
method __init__ (line 168) | def __init__(
method forward (line 225) | def forward(self, x):
FILE: reference_code/GSNet-release/detectron2/layers/nms.py
function batched_nms (line 9) | def batched_nms(boxes, scores, idxs, iou_threshold):
function nms_rotated (line 31) | def nms_rotated(boxes, scores, iou_threshold):
function batched_nms_rotated (line 99) | def batched_nms_rotated(boxes, scores, idxs, iou_threshold):
FILE: reference_code/GSNet-release/detectron2/layers/roi_align.py
class _ROIAlign (line 10) | class _ROIAlign(Function):
method forward (line 12) | def forward(ctx, input, roi, output_size, spatial_scale, sampling_rati...
method backward (line 26) | def backward(ctx, grad_output):
class ROIAlign (line 51) | class ROIAlign(nn.Module):
method __init__ (line 52) | def __init__(self, output_size, spatial_scale, sampling_ratio, aligned...
method forward (line 87) | def forward(self, input, rois):
method __repr__ (line 98) | def __repr__(self):
FILE: reference_code/GSNet-release/detectron2/layers/roi_align_rotated.py
class _ROIAlignRotated (line 10) | class _ROIAlignRotated(Function):
method forward (line 12) | def forward(ctx, input, roi, output_size, spatial_scale, sampling_ratio):
method backward (line 25) | def backward(ctx, grad_output):
class ROIAlignRotated (line 49) | class ROIAlignRotated(nn.Module):
method __init__ (line 50) | def __init__(self, output_size, spatial_scale, sampling_ratio):
method forward (line 70) | def forward(self, input, rois):
method __repr__ (line 82) | def __repr__(self):
FILE: reference_code/GSNet-release/detectron2/layers/rotated_boxes.py
function pairwise_iou_rotated (line 8) | def pairwise_iou_rotated(boxes1, boxes2):
FILE: reference_code/GSNet-release/detectron2/layers/scale.py
class Scale (line 5) | class Scale(nn.Module):
method __init__ (line 6) | def __init__(self, init_value=1.0):
method forward (line 10) | def forward(self, input):
FILE: reference_code/GSNet-release/detectron2/layers/shape_spec.py
class ShapeSpec (line 6) | class ShapeSpec(namedtuple("_ShapeSpec", ["channels", "height", "width",...
method __new__ (line 19) | def __new__(cls, *, channels=None, height=None, width=None, stride=None):
FILE: reference_code/GSNet-release/detectron2/layers/wrappers.py
function cat (line 16) | def cat(tensors, dim=0):
class _NewEmptyTensorOp (line 26) | class _NewEmptyTensorOp(torch.autograd.Function):
method forward (line 28) | def forward(ctx, x, new_shape):
method backward (line 33) | def backward(ctx, grad):
class Conv2d (line 38) | class Conv2d(torch.nn.Conv2d):
method __init__ (line 43) | def __init__(self, *args, **kwargs):
method forward (line 60) | def forward(self, x):
class ConvTranspose2d (line 75) | class ConvTranspose2d(torch.nn.ConvTranspose2d):
method forward (line 80) | def forward(self, x):
class BatchNorm2d (line 107) | class BatchNorm2d(torch.nn.BatchNorm2d):
method forward (line 112) | def forward(self, x):
function interpolate (line 120) | def interpolate(input, size=None, scale_factor=None, mode="nearest", ali...
FILE: reference_code/GSNet-release/detectron2/modeling/anchor_generator.py
class BufferList (line 20) | class BufferList(nn.Module):
method __init__ (line 25) | def __init__(self, buffers=None):
method extend (line 30) | def extend(self, buffers):
method __len__ (line 36) | def __len__(self):
method __iter__ (line 39) | def __iter__(self):
function _create_grid_offsets (line 43) | def _create_grid_offsets(size, stride, offset, device):
class DefaultAnchorGenerator (line 59) | class DefaultAnchorGenerator(nn.Module):
method __init__ (line 64) | def __init__(self, cfg, input_shape: List[ShapeSpec]):
method _calculate_anchors (line 91) | def _calculate_anchors(self, sizes, aspect_ratios):
method box_dim (line 109) | def box_dim(self):
method num_cell_anchors (line 117) | def num_cell_anchors(self):
method grid_anchors (line 130) | def grid_anchors(self, grid_sizes):
method generate_cell_anchors (line 140) | def generate_cell_anchors(self, sizes=(32, 64, 128, 256, 512), aspect_...
method forward (line 179) | def forward(self, features):
class RotatedAnchorGenerator (line 202) | class RotatedAnchorGenerator(nn.Module):
method __init__ (line 207) | def __init__(self, cfg, input_shape: List[ShapeSpec]):
method _calculate_anchors (line 223) | def _calculate_anchors(self, sizes, aspect_ratios, angles, feature_str...
method box_dim (line 265) | def box_dim(self):
method num_cell_anchors (line 273) | def num_cell_anchors(self):
method grid_anchors (line 287) | def grid_anchors(self, grid_sizes):
method generate_cell_anchors (line 298) | def generate_cell_anchors(
method forward (line 337) | def forward(self, features):
function build_anchor_generator (line 360) | def build_anchor_generator(cfg, input_shape):
FILE: reference_code/GSNet-release/detectron2/modeling/backbone/backbone.py
class Backbone (line 10) | class Backbone(nn.Module, metaclass=ABCMeta):
method __init__ (line 15) | def __init__(self):
method forward (line 22) | def forward(self):
method size_divisibility (line 32) | def size_divisibility(self):
method output_shape (line 42) | def output_shape(self):
FILE: reference_code/GSNet-release/detectron2/modeling/backbone/build.py
function build_backbone (line 20) | def build_backbone(cfg, input_shape=None):
FILE: reference_code/GSNet-release/detectron2/modeling/backbone/fpn.py
class FPN (line 16) | class FPN(Backbone):
method __init__ (line 22) | def __init__(
method size_divisibility (line 106) | def size_divisibility(self):
method forward (line 109) | def forward(self, x):
method output_shape (line 146) | def output_shape(self):
function _assert_strides_are_log2_contiguous (line 155) | def _assert_strides_are_log2_contiguous(strides):
class LastLevelMaxPool (line 165) | class LastLevelMaxPool(nn.Module):
method __init__ (line 171) | def __init__(self):
method forward (line 176) | def forward(self, x):
class LastLevelP6P7 (line 180) | class LastLevelP6P7(nn.Module):
method __init__ (line 186) | def __init__(self, in_channels, out_channels):
method forward (line 195) | def forward(self, p5):
function build_resnet_fpn_backbone (line 202) | def build_resnet_fpn_backbone(cfg, input_shape: ShapeSpec):
function build_retinanet_resnet_fpn_backbone (line 225) | def build_retinanet_resnet_fpn_backbone(cfg, input_shape: ShapeSpec):
FILE: reference_code/GSNet-release/detectron2/modeling/backbone/pafpn.py
class FPN (line 16) | class FPN(Backbone):
method __init__ (line 22) | def __init__(
method size_divisibility (line 139) | def size_divisibility(self):
method forward (line 142) | def forward(self, x):
method output_shape (line 191) | def output_shape(self):
function _assert_strides_are_log2_contiguous (line 200) | def _assert_strides_are_log2_contiguous(strides):
class LastLevelMaxPool (line 210) | class LastLevelMaxPool(nn.Module):
method __init__ (line 216) | def __init__(self):
method forward (line 221) | def forward(self, x):
class LastLevelP6P7 (line 225) | class LastLevelP6P7(nn.Module):
method __init__ (line 231) | def __init__(self, in_channels, out_channels):
method forward (line 240) | def forward(self, p5):
function build_resnet_fpn_backbone (line 247) | def build_resnet_fpn_backbone(cfg, input_shape: ShapeSpec):
function build_retinanet_resnet_fpn_backbone (line 270) | def build_retinanet_resnet_fpn_backbone(cfg, input_shape: ShapeSpec):
FILE: reference_code/GSNet-release/detectron2/modeling/backbone/resnet.py
class ResNetBlockBase (line 31) | class ResNetBlockBase(nn.Module):
method __init__ (line 32) | def __init__(self, in_channels, out_channels, stride):
method freeze (line 46) | def freeze(self):
class BottleneckBlock (line 53) | class BottleneckBlock(ResNetBlockBase):
method __init__ (line 54) | def __init__(
method forward (line 138) | def forward(self, x):
class DeformBottleneckBlock (line 157) | class DeformBottleneckBlock(ResNetBlockBase):
method __init__ (line 158) | def __init__(
method forward (line 245) | def forward(self, x):
function make_stage (line 272) | def make_stage(block_class, num_blocks, first_stride, **kwargs):
class BasicStem (line 292) | class BasicStem(nn.Module):
method __init__ (line 293) | def __init__(self, in_channels=3, out_channels=64, norm="BN"):
method forward (line 312) | def forward(self, x):
method out_channels (line 319) | def out_channels(self):
method stride (line 323) | def stride(self):
class ResNet (line 327) | class ResNet(Backbone):
method __init__ (line 328) | def __init__(self, stem, stages, num_classes=None, out_features=None):
method forward (line 379) | def forward(self, x):
method output_shape (line 395) | def output_shape(self):
function build_resnet_backbone (line 405) | def build_resnet_backbone(cfg, input_shape):
FILE: reference_code/GSNet-release/detectron2/modeling/box_regression.py
class Box2BoxTransform (line 14) | class Box2BoxTransform(object):
method __init__ (line 21) | def __init__(self, weights, scale_clamp=_DEFAULT_SCALE_CLAMP):
method get_deltas (line 34) | def get_deltas(self, src_boxes, target_boxes):
method apply_deltas (line 71) | def apply_deltas(self, deltas, boxes):
class Box2BoxTransformRotated (line 112) | class Box2BoxTransformRotated(object):
method __init__ (line 121) | def __init__(self, weights, scale_clamp=_DEFAULT_SCALE_CLAMP):
method get_deltas (line 133) | def get_deltas(self, src_boxes, target_boxes):
method apply_deltas (line 171) | def apply_deltas(self, deltas, boxes):
FILE: reference_code/GSNet-release/detectron2/modeling/matcher.py
class Matcher (line 5) | class Matcher(object):
method __init__ (line 21) | def __init__(self, thresholds, labels, allow_low_quality_matches=False):
method __call__ (line 55) | def __call__(self, match_quality_matrix):
method set_low_quality_matches_ (line 99) | def set_low_quality_matches_(self, match_labels, match_quality_matrix):
FILE: reference_code/GSNet-release/detectron2/modeling/meta_arch/build.py
function build_model (line 13) | def build_model(cfg):
FILE: reference_code/GSNet-release/detectron2/modeling/meta_arch/fcos.py
function select_foreground_proposals (line 31) | def select_foreground_proposals(train_part, proposals, bg_label):
class FCOS (line 70) | class FCOS(nn.Module):
method __init__ (line 75) | def __init__(self, cfg):
method forward (line 138) | def forward(self, batched_inputs, c_iter, max_iter):
method _forward_train (line 187) | def _forward_train(self, features_list, locations, box_cls, box_regres...
method _forward_test (line 211) | def _forward_test(self, features, locations, box_cls, box_regression, ...
method _forward_mask (line 224) | def _forward_mask(self, features, instances):
method label_and_sample_proposals (line 258) | def label_and_sample_proposals(self, proposals, targets):
method _sample_proposals (line 340) | def _sample_proposals(self, matched_idxs, matched_labels, gt_classes):
method _postprocess (line 378) | def _postprocess(instances, batched_inputs, image_sizes):
method compute_locations (line 393) | def compute_locations(self, features):
method compute_locations_per_level (line 404) | def compute_locations_per_level(self, h, w, stride, device):
method preprocess_image (line 419) | def preprocess_image(self, batched_inputs):
class FCOSHead (line 429) | class FCOSHead(nn.Module):
method __init__ (line 430) | def __init__(self, cfg, in_channels):
method forward (line 508) | def forward(self, x):
FILE: reference_code/GSNet-release/detectron2/modeling/meta_arch/inference_fcos.py
function permute_to_N_HW_K (line 11) | def permute_to_N_HW_K(tensor, K):
class FCOSPostProcessor (line 23) | class FCOSPostProcessor(torch.nn.Module):
method __init__ (line 28) | def __init__(
method forward_for_single_image (line 57) | def forward_for_single_image(
method forward (line 132) | def forward(self, locations, box_cls, box_regression, centerness, batc...
function make_fcos_postprocessor (line 163) | def make_fcos_postprocessor(config): #, is_train):
FILE: reference_code/GSNet-release/detectron2/modeling/meta_arch/loss_fcos.py
function get_num_gpus (line 17) | def get_num_gpus():
function reduce_sum (line 21) | def reduce_sum(tensor):
class FCOSLossComputation (line 30) | class FCOSLossComputation(object):
method __init__ (line 35) | def __init__(self, cfg):
method get_sample_region (line 52) | def get_sample_region(self, gt, strides, num_points_per, gt_xs, gt_ys,...
method prepare_targets (line 99) | def prepare_targets(self, points, targets):
method compute_targets_for_locations (line 145) | def compute_targets_for_locations(self, locations, targets, object_siz...
method compute_centerness_targets (line 199) | def compute_centerness_targets(self, reg_targets):
method __call__ (line 206) | def __call__(self, locations, box_cls, box_regression, centerness, tar...
function make_fcos_loss_evaluator (line 286) | def make_fcos_loss_evaluator(cfg):
FILE: reference_code/GSNet-release/detectron2/modeling/meta_arch/panoptic_fpn.py
class PanopticFPN (line 20) | class PanopticFPN(nn.Module):
method __init__ (line 25) | def __init__(self, cfg):
method forward (line 50) | def forward(self, batched_inputs):
function combine_semantic_and_instance_outputs (line 131) | def combine_semantic_and_instance_outputs(
FILE: reference_code/GSNet-release/detectron2/modeling/meta_arch/rcnn.py
class GeneralizedRCNN (line 22) | class GeneralizedRCNN(nn.Module):
method __init__ (line 30) | def __init__(self, cfg):
method visualize_training (line 47) | def visualize_training(self, batched_inputs, proposals):
method forward (line 82) | def forward(self, batched_inputs, curr_iter, total_iters):
method inference (line 140) | def inference(self, batched_inputs, detected_instances=None, do_postpr...
method preprocess_image (line 182) | def preprocess_image(self, batched_inputs):
method _postprocess (line 192) | def _postprocess(instances, batched_inputs, image_sizes):
class ProposalNetwork (line 209) | class ProposalNetwork(nn.Module):
method __init__ (line 210) | def __init__(self, cfg):
method forward (line 222) | def forward(self, batched_inputs):
FILE: reference_code/GSNet-release/detectron2/modeling/meta_arch/retinanet.py
function permute_to_N_HWA_K (line 23) | def permute_to_N_HWA_K(tensor, K):
function permute_all_cls_and_box_to_N_HWA_K_and_concat (line 35) | def permute_all_cls_and_box_to_N_HWA_K_and_concat(box_cls, box_delta, nu...
class RetinaNet (line 57) | class RetinaNet(nn.Module):
method __init__ (line 62) | def __init__(self, cfg):
method forward (line 101) | def forward(self, batched_inputs):
method losses (line 150) | def losses(self, gt_classes, gt_anchors_deltas, pred_class_logits, pre...
method get_ground_truth (line 200) | def get_ground_truth(self, anchors, targets):
method inference (line 258) | def inference(self, box_cls, box_delta, anchors, image_sizes):
method inference_single_image (line 287) | def inference_single_image(self, box_cls, box_delta, anchors, image_si...
method preprocess_image (line 349) | def preprocess_image(self, batched_inputs):
class RetinaNetHead (line 359) | class RetinaNetHead(nn.Module):
method __init__ (line 365) | def __init__(self, cfg, input_shape: List[ShapeSpec]):
method forward (line 409) | def forward(self, features):
FILE: reference_code/GSNet-release/detectron2/modeling/meta_arch/semantic_seg.py
class SemanticSegmentor (line 28) | class SemanticSegmentor(nn.Module):
method __init__ (line 33) | def __init__(self, cfg):
method forward (line 47) | def forward(self, batched_inputs):
function build_sem_seg_head (line 93) | def build_sem_seg_head(cfg, input_shape):
class SemSegFPNHead (line 102) | class SemSegFPNHead(nn.Module):
method __init__ (line 109) | def __init__(self, cfg, input_shape: Dict[str, ShapeSpec]):
method forward (line 153) | def forward(self, features, targets=None):
FILE: reference_code/GSNet-release/detectron2/modeling/poolers.py
function assign_boxes_to_levels (line 13) | def assign_boxes_to_levels(box_lists, min_level, max_level, canonical_bo...
function convert_boxes_to_pooler_format (line 47) | def convert_boxes_to_pooler_format(box_lists):
class ROIPooler (line 84) | class ROIPooler(nn.Module):
method __init__ (line 90) | def __init__(
method forward (line 180) | def forward(self, x, box_lists):
FILE: reference_code/GSNet-release/detectron2/modeling/postprocessing.py
function detector_postprocess (line 8) | def detector_postprocess(results, output_height, output_width, mask_thre...
function sem_seg_postprocess (line 55) | def sem_seg_postprocess(result, img_size, output_height, output_width):
FILE: reference_code/GSNet-release/detectron2/modeling/proposal_generator/build.py
function build_proposal_generator (line 15) | def build_proposal_generator(cfg, input_shape):
FILE: reference_code/GSNet-release/detectron2/modeling/proposal_generator/proposal_utils.py
function add_ground_truth_to_proposals (line 8) | def add_ground_truth_to_proposals(gt_boxes, proposals):
function add_ground_truth_to_proposals_single_image (line 34) | def add_ground_truth_to_proposals_single_image(gt_boxes, proposals):
FILE: reference_code/GSNet-release/detectron2/modeling/proposal_generator/rpn.py
function build_rpn_head (line 26) | def build_rpn_head(cfg, input_shape):
class StandardRPNHead (line 35) | class StandardRPNHead(nn.Module):
method __init__ (line 43) | def __init__(self, cfg, input_shape: List[ShapeSpec]):
method forward (line 74) | def forward(self, features):
class RPN (line 89) | class RPN(nn.Module):
method __init__ (line 94) | def __init__(self, cfg, input_shape: Dict[str, ShapeSpec]):
method forward (line 127) | def forward(self, images, features, gt_instances=None):
FILE: reference_code/GSNet-release/detectron2/modeling/proposal_generator/rpn_outputs.py
function find_top_rpn_proposals (line 52) | def find_top_rpn_proposals(
function rpn_losses (line 154) | def rpn_losses(
class RPNOutputs (line 193) | class RPNOutputs(object):
method __init__ (line 194) | def __init__(
method _get_ground_truth (line 250) | def _get_ground_truth(self):
method losses (line 297) | def losses(self):
method predict_proposals (line 399) | def predict_proposals(self):
method predict_objectness_logits (line 428) | def predict_objectness_logits(self):
FILE: reference_code/GSNet-release/detectron2/modeling/proposal_generator/rrpn.py
class RRPN (line 17) | class RRPN(RPN):
method __init__ (line 26) | def __init__(self, cfg, input_shape: Dict[str, ShapeSpec]):
method forward (line 30) | def forward(self, images, features, gt_instances=None):
FILE: reference_code/GSNet-release/detectron2/modeling/proposal_generator/rrpn_outputs.py
function find_top_rrpn_proposals (line 41) | def find_top_rrpn_proposals(
class RRPNOutputs (line 143) | class RRPNOutputs(RPNOutputs):
method __init__ (line 144) | def __init__(
method _get_ground_truth (line 200) | def _get_ground_truth(self):
FILE: reference_code/GSNet-release/detectron2/modeling/roi_heads/box_head.py
class FastRCNNConvFCHead (line 20) | class FastRCNNConvFCHead(nn.Module):
method __init__ (line 26) | def __init__(self, cfg, input_shape: ShapeSpec):
method forward (line 73) | def forward(self, x):
method output_size (line 84) | def output_size(self):
function build_box_head (line 88) | def build_box_head(cfg, input_shape):
FILE: reference_code/GSNet-release/detectron2/modeling/roi_heads/cascade_rcnn.py
class _ScaleGradient (line 18) | class _ScaleGradient(Function):
method forward (line 20) | def forward(ctx, input, scale):
method backward (line 25) | def backward(ctx, grad_output):
class CascadeROIHeads (line 30) | class CascadeROIHeads(StandardROIHeads):
method _init_box_head (line 31) | def _init_box_head(self, cfg):
method forward (line 83) | def forward(self, images, features, proposals, targets=None):
method _forward_box (line 101) | def _forward_box(self, features, proposals, targets=None):
method _match_and_label_boxes (line 144) | def _match_and_label_boxes(self, proposals, stage, targets):
method _run_stage (line 193) | def _run_stage(self, features, proposals, stage):
method _create_proposals_from_boxes (line 222) | def _create_proposals_from_boxes(self, boxes, image_sizes):
FILE: reference_code/GSNet-release/detectron2/modeling/roi_heads/fast_rcnn.py
function fast_rcnn_inference (line 41) | def fast_rcnn_inference(boxes, scores, image_shapes, score_thresh, nms_t...
function fast_rcnn_inference_single_image (line 76) | def fast_rcnn_inference_single_image(
class FastRCNNOutputs (line 121) | class FastRCNNOutputs(object):
method __init__ (line 126) | def __init__(
method _log_accuracy (line 168) | def _log_accuracy(self):
method softmax_cross_entropy_loss (line 191) | def softmax_cross_entropy_loss(self):
method smooth_l1_loss (line 202) | def smooth_l1_loss(self):
method losses (line 258) | def losses(self):
method predict_boxes (line 271) | def predict_boxes(self):
method predict_probs (line 287) | def predict_probs(self):
method inference (line 297) | def inference(self, score_thresh, nms_thresh, topk_per_image):
class FastRCNNOutputLayers (line 316) | class FastRCNNOutputLayers(nn.Module):
method __init__ (line 323) | def __init__(self, input_size, num_classes, cls_agnostic_bbox_reg, box...
method forward (line 349) | def forward(self, x):
FILE: reference_code/GSNet-release/detectron2/modeling/roi_heads/keypoint_head.py
function build_keypoint_head (line 21) | def build_keypoint_head(cfg, input_shape):
function keypoint_rcnn_loss (line 29) | def keypoint_rcnn_loss(pred_keypoint_logits, instances, normalizer):
function keypoint_rcnn_inference (line 114) | def keypoint_rcnn_inference(pred_keypoint_logits, pred_instances):
class KRCNNConvDeconvUpsampleHead (line 149) | class KRCNNConvDeconvUpsampleHead(nn.Module):
method __init__ (line 155) | def __init__(self, cfg, input_shape: ShapeSpec):
method forward (line 194) | def forward(self, x):
FILE: reference_code/GSNet-release/detectron2/modeling/roi_heads/mask_head.py
function mask_rcnn_loss (line 25) | def mask_rcnn_loss(pred_mask_logits, instances):
function mask_rcnn_inference (line 105) | def mask_rcnn_inference(pred_mask_logits, pred_instances):
class MaskRCNNConvUpsampleHead (line 148) | class MaskRCNNConvUpsampleHead(nn.Module):
method __init__ (line 153) | def __init__(self, cfg, input_shape: ShapeSpec):
method forward (line 206) | def forward(self, x):
function build_mask_head (line 218) | def build_mask_head(cfg, input_shape):
FILE: reference_code/GSNet-release/detectron2/modeling/roi_heads/roi_heads.py
function smooth_l1_loss (line 41) | def smooth_l1_loss(pred, targets, beta=2.8):
function euler_angles_to_rotation_matrix (line 64) | def euler_angles_to_rotation_matrix(car_rotation, is_dir=False):
function build_roi_heads (line 91) | def build_roi_heads(cfg, input_shape):
function select_foreground_proposals (line 99) | def select_foreground_proposals(proposals, bg_label):
function select_proposals_with_visible_keypoints (line 129) | def select_proposals_with_visible_keypoints(proposals):
class ROIHeads (line 174) | class ROIHeads(torch.nn.Module):
method __init__ (line 184) | def __init__(self, cfg, input_shape: Dict[str, ShapeSpec]):
method _sample_proposals (line 212) | def _sample_proposals(self, matched_idxs, matched_labels, gt_classes):
method label_and_sample_proposals (line 250) | def label_and_sample_proposals(self, proposals, targets):
method forward (line 335) | def forward(self, images, features, proposals, targets=None):
class StandardROIHeads (line 366) | class StandardROIHeads(ROIHeads):
method __init__ (line 378) | def __init__(self, cfg, input_shape):
method _init_box_head (line 386) | def _init_box_head(self, cfg):
method _init_mask_head (line 417) | def _init_mask_head(self, cfg):
method _init_keypoint_head (line 440) | def _init_keypoint_head(self, cfg):
method _init_3d_head (line 465) | def _init_3d_head(self, cfg):
method _init_3d_mesh (line 524) | def _init_3d_mesh(self, cfg):
method forward (line 552) | def forward(self, images, features, proposals, curr_iter, targets=None):
method forward_with_given_boxes (line 571) | def forward_with_given_boxes(self, features, instances):
method _forward_box (line 597) | def _forward_box(self, features, proposals):
method _forward_mask (line 646) | def _forward_mask(self, features, instances):
method _forward_keypoint (line 671) | def _forward_keypoint(self, features, instances):
method _forward_3d_pose_inference (line 698) | def _forward_3d_pose_inference(self, roi_feature, box_pos, keypoint_po...
FILE: reference_code/GSNet-release/detectron2/modeling/roi_heads/rotated_fast_rcnn.py
function fast_rcnn_inference_rotated (line 46) | def fast_rcnn_inference_rotated(
function fast_rcnn_inference_single_image_rotated (line 83) | def fast_rcnn_inference_single_image_rotated(
class RotatedFastRCNNOutputs (line 129) | class RotatedFastRCNNOutputs(FastRCNNOutputs):
method inference (line 134) | def inference(self, score_thresh, nms_thresh, topk_per_image):
class RROIHeads (line 154) | class RROIHeads(StandardROIHeads):
method __init__ (line 160) | def __init__(self, cfg, input_shape: Dict[str, ShapeSpec]):
method _init_box_head (line 169) | def _init_box_head(self, cfg):
method label_and_sample_proposals (line 204) | def label_and_sample_proposals(self, proposals, targets):
method _forward_box (line 265) | def _forward_box(self, features, proposals):
FILE: reference_code/GSNet-release/detectron2/modeling/sampling.py
function subsample_labels (line 7) | def subsample_labels(labels, num_samples, positive_fraction, bg_label):
FILE: reference_code/GSNet-release/detectron2/modeling/test_time_augmentation.py
class DatasetMapperTTA (line 21) | class DatasetMapperTTA:
method __init__ (line 30) | def __init__(self, cfg):
method __call__ (line 36) | def __call__(self, dataset_dict):
class GeneralizedRCNNWithTTA (line 70) | class GeneralizedRCNNWithTTA(nn.Module):
method __init__ (line 76) | def __init__(self, cfg, model, tta_mapper=None, batch_size=3):
method _turn_off_roi_head (line 106) | def _turn_off_roi_head(self, attr):
method _batch_inference (line 127) | def _batch_inference(self, batched_inputs, detected_instances=None, do...
method __call__ (line 153) | def __call__(self, batched_inputs):
method _inference_one_image (line 159) | def _inference_one_image(self, input):
FILE: reference_code/GSNet-release/detectron2/solver/build.py
function build_optimizer (line 10) | def build_optimizer(cfg: CfgNode, model: torch.nn.Module) -> torch.optim...
function build_lr_scheduler (line 34) | def build_lr_scheduler(
FILE: reference_code/GSNet-release/detectron2/solver/lr_scheduler.py
class WarmupMultiStepLR (line 16) | class WarmupMultiStepLR(torch.optim.lr_scheduler._LRScheduler):
method __init__ (line 17) | def __init__(
method get_lr (line 38) | def get_lr(self) -> List[float]:
method _compute_values (line 47) | def _compute_values(self) -> List[float]:
class WarmupCosineLR (line 52) | class WarmupCosineLR(torch.optim.lr_scheduler._LRScheduler):
method __init__ (line 53) | def __init__(
method get_lr (line 68) | def get_lr(self) -> List[float]:
method _compute_values (line 85) | def _compute_values(self) -> List[float]:
function _get_warmup_factor_at_iter (line 90) | def _get_warmup_factor_at_iter(
FILE: reference_code/GSNet-release/detectron2/structures/boxes.py
class BoxMode (line 14) | class BoxMode(Enum):
method convert (line 36) | def convert(box: _RawBoxType, from_mode: "BoxMode", to_mode: "BoxMode"...
class Boxes (line 118) | class Boxes:
method __init__ (line 132) | def __init__(self, tensor: torch.Tensor):
method clone (line 145) | def clone(self) -> "Boxes":
method to (line 154) | def to(self, device: str) -> "Boxes":
method area (line 157) | def area(self) -> torch.Tensor:
method clip (line 168) | def clip(self, box_size: BoxSizeType) -> None:
method nonempty (line 183) | def nonempty(self, threshold: int = 0) -> torch.Tensor:
method __getitem__ (line 199) | def __getitem__(self, item: Union[int, slice, torch.BoolTensor]) -> "B...
method __len__ (line 219) | def __len__(self) -> int:
method __repr__ (line 222) | def __repr__(self) -> str:
method inside_box (line 225) | def inside_box(self, box_size: BoxSizeType, boundary_threshold: int = ...
method get_centers (line 244) | def get_centers(self) -> torch.Tensor:
method scale (line 251) | def scale(self, scale_x: float, scale_y: float) -> None:
method cat (line 259) | def cat(boxes_list: List["Boxes"]) -> "Boxes":
method device (line 277) | def device(self) -> torch.device:
method __iter__ (line 280) | def __iter__(self) -> Iterator[torch.Tensor]:
function pairwise_iou (line 289) | def pairwise_iou(boxes1: Boxes, boxes2: Boxes) -> torch.Tensor:
function matched_boxlist_iou (line 324) | def matched_boxlist_iou(boxes1: Boxes, boxes2: Boxes) -> torch.Tensor:
FILE: reference_code/GSNet-release/detectron2/structures/image_list.py
class ImageList (line 8) | class ImageList(object):
method __init__ (line 19) | def __init__(self, tensor: torch.Tensor, image_sizes: List[Tuple[int, ...
method __len__ (line 28) | def __len__(self) -> int:
method __getitem__ (line 31) | def __getitem__(self, idx: Union[int, slice]) -> torch.Tensor:
method to (line 41) | def to(self, *args: Any, **kwargs: Any) -> "ImageList":
method device (line 46) | def device(self) -> torch.device:
method from_tensors (line 50) | def from_tensors(
FILE: reference_code/GSNet-release/detectron2/structures/instances.py
class Instances (line 9) | class Instances:
method __init__ (line 35) | def __init__(self, image_size: Tuple[int, int], **kwargs: Any):
method image_size (line 47) | def image_size(self) -> Tuple[int, int]:
method __setattr__ (line 54) | def __setattr__(self, name: str, val: Any) -> None:
method __getattr__ (line 60) | def __getattr__(self, name: str) -> Any:
method set (line 65) | def set(self, name: str, value: Any) -> None:
method has (line 78) | def has(self, name: str) -> bool:
method remove (line 85) | def remove(self, name: str) -> None:
method get (line 91) | def get(self, name: str) -> Any:
method get_fields (line 97) | def get_fields(self) -> Dict[str, Any]:
method to (line 107) | def to(self, device: str) -> "Instances":
method __getitem__ (line 119) | def __getitem__(self, item: Union[int, slice, torch.BoolTensor]) -> "I...
method __len__ (line 133) | def __len__(self) -> int:
method __iter__ (line 138) | def __iter__(self):
method cat (line 142) | def cat(instance_lists: List["Instances"]) -> "Instances":
method __str__ (line 173) | def __str__(self) -> str:
method __repr__ (line 181) | def __repr__(self) -> str:
FILE: reference_code/GSNet-release/detectron2/structures/keypoints.py
class Keypoints (line 9) | class Keypoints:
method __init__ (line 21) | def __init__(self, keypoints: Union[torch.Tensor, np.ndarray, List[Lis...
method __len__ (line 33) | def __len__(self) -> int:
method to (line 36) | def to(self, *args: Any, **kwargs: Any) -> "Keypoints":
method device (line 40) | def device(self) -> torch.device:
method to_heatmap (line 43) | def to_heatmap(self, boxes: torch.Tensor, heatmap_size: int) -> torch....
method __getitem__ (line 57) | def __getitem__(self, item: Union[int, slice, torch.BoolTensor]) -> "K...
method __repr__ (line 75) | def __repr__(self) -> str:
function _keypoints_to_heatmap (line 82) | def _keypoints_to_heatmap(
function heatmaps_to_keypoints (line 142) | def heatmaps_to_keypoints(maps: torch.Tensor, rois: torch.Tensor) -> tor...
FILE: reference_code/GSNet-release/detectron2/structures/masks.py
function polygon_area (line 15) | def polygon_area(x, y):
function polygons_to_bitmask (line 21) | def polygons_to_bitmask(polygons: List[np.ndarray], height: int, width: ...
function rasterize_polygons_within_box (line 36) | def rasterize_polygons_within_box(
class BitMasks (line 89) | class BitMasks:
method __init__ (line 98) | def __init__(self, tensor: Union[torch.Tensor, np.ndarray]):
method to (line 109) | def to(self, device: str) -> "BitMasks":
method device (line 113) | def device(self) -> torch.device:
method __getitem__ (line 116) | def __getitem__(self, item: Union[int, slice, torch.BoolTensor]) -> "B...
method __iter__ (line 139) | def __iter__(self) -> torch.Tensor:
method __repr__ (line 142) | def __repr__(self) -> str:
method __len__ (line 147) | def __len__(self) -> int:
method nonempty (line 150) | def nonempty(self) -> torch.Tensor:
method from_polygon_masks (line 161) | def from_polygon_masks(
method crop_and_resize (line 174) | def crop_and_resize(self, boxes: torch.Tensor, mask_size: int) -> torc...
method get_bounding_boxes (line 207) | def get_bounding_boxes(self) -> None:
method cat (line 212) | def cat(bitmasks_list: List["BitMasks"]) -> "BitMasks":
class PolygonMasks (line 230) | class PolygonMasks:
method __init__ (line 238) | def __init__(self, polygons: List[List[Union[torch.Tensor, np.ndarray]...
method to (line 279) | def to(self, *args: Any, **kwargs: Any) -> "PolygonMasks":
method device (line 283) | def device(self) -> torch.device:
method get_bounding_boxes (line 286) | def get_bounding_boxes(self) -> Boxes:
method nonempty (line 303) | def nonempty(self) -> torch.Tensor:
method __getitem__ (line 314) | def __getitem__(self, item: Union[int, slice, List[int], torch.BoolTen...
method __iter__ (line 344) | def __iter__(self) -> Iterator[List[torch.Tensor]]:
method __repr__ (line 352) | def __repr__(self) -> str:
method __len__ (line 357) | def __len__(self) -> int:
method crop_and_resize (line 360) | def crop_and_resize(self, boxes: torch.Tensor, mask_size: int) -> torc...
method area (line 392) | def area(self):
method cat (line 412) | def cat(polymasks_list: List["PolygonMasks"]) -> "PolygonMasks":
FILE: reference_code/GSNet-release/detectron2/structures/rotated_boxes.py
class RotatedBoxes (line 12) | class RotatedBoxes(Boxes):
method __init__ (line 21) | def __init__(self, tensor: torch.Tensor):
method clone (line 222) | def clone(self) -> "RotatedBoxes":
method to (line 231) | def to(self, device: str) -> "RotatedBoxes":
method area (line 234) | def area(self) -> torch.Tensor:
method normalize_angles (line 245) | def normalize_angles(self) -> None:
method clip (line 251) | def clip(self, box_size: Boxes.BoxSizeType, clip_angle_threshold: floa...
method nonempty (line 301) | def nonempty(self, threshold: int = 0) -> torch.Tensor:
method __getitem__ (line 316) | def __getitem__(self, item: Union[int, slice, torch.BoolTensor]) -> "R...
method __len__ (line 339) | def __len__(self) -> int:
method __repr__ (line 342) | def __repr__(self) -> str:
method inside_box (line 345) | def inside_box(self, box_size: Boxes.BoxSizeType, boundary_threshold: ...
method get_centers (line 382) | def get_centers(self) -> torch.Tensor:
method scale (line 389) | def scale(self, scale_x: float, scale_y: float) -> None:
method cat (line 455) | def cat(boxes_list: List["RotatedBoxes"]) -> "RotatedBoxes": # type: ...
method device (line 473) | def device(self) -> str:
method __iter__ (line 476) | def __iter__(self) -> Iterator[torch.Tensor]:
function pairwise_iou (line 483) | def pairwise_iou(boxes1: RotatedBoxes, boxes2: RotatedBoxes) -> None:
FILE: reference_code/GSNet-release/detectron2/utils/collect_env.py
function collect_torch_env (line 15) | def collect_torch_env():
function get_env_module (line 27) | def get_env_module():
function collect_env_info (line 32) | def collect_env_info():
FILE: reference_code/GSNet-release/detectron2/utils/colormap.py
function colormap (line 95) | def colormap(rgb=False, maximum=255):
function random_color (line 111) | def random_color(rgb=False, maximum=255):
FILE: reference_code/GSNet-release/detectron2/utils/comm.py
function get_world_size (line 21) | def get_world_size() -> int:
function get_rank (line 29) | def get_rank() -> int:
function get_local_rank (line 37) | def get_local_rank() -> int:
function get_local_size (line 50) | def get_local_size() -> int:
function is_main_process (line 63) | def is_main_process() -> bool:
function synchronize (line 67) | def synchronize():
function _get_global_gloo_group (line 83) | def _get_global_gloo_group():
function _serialize_to_tensor (line 94) | def _serialize_to_tensor(data, group):
function _pad_to_largest_tensor (line 112) | def _pad_to_largest_tensor(tensor, group):
function all_gather (line 139) | def all_gather(data, group=None):
function gather (line 177) | def gather(data, dst=0, group=None):
function shared_random_seed (line 220) | def shared_random_seed():
function reduce_dict (line 234) | def reduce_dict(input_dict, average=True):
FILE: reference_code/GSNet-release/detectron2/utils/env.py
function seed_all_rng (line 15) | def seed_all_rng(seed=None):
function _import_file (line 36) | def _import_file(module_name, file_path, make_importable=False):
function _configure_libraries (line 45) | def _configure_libraries():
function setup_environment (line 70) | def setup_environment():
function setup_custom_environment (line 92) | def setup_custom_environment(custom_module):
FILE: reference_code/GSNet-release/detectron2/utils/events.py
function get_event_storage (line 15) | def get_event_storage():
class EventWriter (line 27) | class EventWriter:
method write (line 32) | def write(self):
method close (line 35) | def close(self):
class JSONWriter (line 39) | class JSONWriter(EventWriter):
method __init__ (line 85) | def __init__(self, json_file, window_size=20):
method write (line 95) | def write(self):
method close (line 106) | def close(self):
class TensorboardXWriter (line 110) | class TensorboardXWriter(EventWriter):
method __init__ (line 115) | def __init__(self, log_dir: str, window_size: int = 20, **kwargs):
method write (line 128) | def write(self):
method close (line 138) | def close(self):
class CommonMetricPrinter (line 143) | class CommonMetricPrinter(EventWriter):
method __init__ (line 151) | def __init__(self, max_iter):
method write (line 160) | def write(self):
class EventStorage (line 209) | class EventStorage:
method __init__ (line 216) | def __init__(self, start_iter=0):
method put_image (line 228) | def put_image(self, img_name, img_tensor):
method clear_images (line 242) | def clear_images(self):
method put_scalar (line 249) | def put_scalar(self, name, value, smoothing_hint=True):
method put_scalars (line 276) | def put_scalars(self, *, smoothing_hint=True, **kwargs):
method history (line 287) | def history(self, name):
method histories (line 297) | def histories(self):
method latest (line 304) | def latest(self):
method latest_with_smoothing_hint (line 311) | def latest_with_smoothing_hint(self, window_size=20):
method smoothing_hints (line 325) | def smoothing_hints(self):
method step (line 333) | def step(self):
method vis_data (line 344) | def vis_data(self):
method iter (line 348) | def iter(self):
method iteration (line 352) | def iteration(self):
method __enter__ (line 356) | def __enter__(self):
method __exit__ (line 360) | def __exit__(self, exc_type, exc_val, exc_tb):
method name_scope (line 365) | def name_scope(self, name):
FILE: reference_code/GSNet-release/detectron2/utils/logger.py
class _ColorfulFormatter (line 13) | class _ColorfulFormatter(logging.Formatter):
method __init__ (line 14) | def __init__(self, *args, **kwargs):
method formatMessage (line 21) | def formatMessage(self, record):
function setup_logger (line 34) | def setup_logger(
function _cached_log_stream (line 95) | def _cached_log_stream(filename):
function _find_caller (line 106) | def _find_caller():
function log_first_n (line 127) | def log_first_n(lvl, msg, n=1, *, name=None, key="caller"):
function log_every_n (line 162) | def log_every_n(lvl, msg, n=1, *, name=None):
function log_every_n_seconds (line 178) | def log_every_n_seconds(lvl, msg, n=1, *, name=None):
function create_small_table (line 196) | def create_small_table(small_dict):
FILE: reference_code/GSNet-release/detectron2/utils/memory.py
function _ignore_torch_cuda_oom (line 12) | def _ignore_torch_cuda_oom():
function retry_if_cuda_oom (line 26) | def retry_if_cuda_oom(func):
FILE: reference_code/GSNet-release/detectron2/utils/serialize.py
class PicklableWrapper (line 5) | class PicklableWrapper(object):
method __init__ (line 15) | def __init__(self, obj):
method __reduce__ (line 18) | def __reduce__(self):
method __call__ (line 22) | def __call__(self, *args, **kwargs):
method __getattr__ (line 25) | def __getattr__(self, attr):
FILE: reference_code/GSNet-release/detectron2/utils/video_visualizer.py
class _DetectedInstance (line 15) | class _DetectedInstance:
method __init__ (line 31) | def __init__(self, label, bbox, mask_rle, color, ttl):
class VideoVisualizer (line 39) | class VideoVisualizer:
method __init__ (line 40) | def __init__(self, metadata, instance_mode=ColorMode.IMAGE):
method draw_instance_predictions (line 53) | def draw_instance_predictions(self, frame, predictions):
method draw_sem_seg (line 112) | def draw_sem_seg(self, frame, sem_seg, area_threshold=None):
method draw_panoptic_seg_predictions (line 124) | def draw_panoptic_seg_predictions(
method _assign_colors (line 180) | def _assign_colors(self, instances):
FILE: reference_code/GSNet-release/detectron2/utils/visualizer.py
class ColorMode (line 34) | class ColorMode(Enum):
class GenericMask (line 51) | class GenericMask:
method __init__ (line 59) | def __init__(self, mask_or_polygons, height, width):
method mask (line 88) | def mask(self):
method polygons (line 94) | def polygons(self):
method has_holes (line 100) | def has_holes(self):
method mask_to_polygons (line 108) | def mask_to_polygons(self, mask):
method polygons_to_mask (line 124) | def polygons_to_mask(self, polygons):
method area (line 129) | def area(self):
method bbox (line 132) | def bbox(self):
class _PanopticPrediction (line 141) | class _PanopticPrediction:
method __init__ (line 142) | def __init__(self, panoptic_seg, segments_info):
method non_empty_mask (line 155) | def non_empty_mask(self):
method semantic_masks (line 171) | def semantic_masks(self):
method instance_masks (line 179) | def instance_masks(self):
function _create_text_labels (line 189) | def _create_text_labels(classes, scores, class_names):
class VisImage (line 210) | class VisImage:
method __init__ (line 211) | def __init__(self, img, scale=1.0):
method _setup_figure (line 222) | def _setup_figure(self, img):
method save (line 249) | def save(self, filepath):
method get_image (line 263) | def get_image(self):
class Visualizer (line 310) | class Visualizer:
method __init__ (line 311) | def __init__(self, img_rgb, metadata, scale=1.0, instance_mode=ColorMo...
method draw_instance_predictions (line 332) | def draw_instance_predictions(self, predictions):
method draw_sem_seg (line 382) | def draw_sem_seg(self, sem_seg, area_threshold=None, alpha=0.8):
method draw_panoptic_seg_predictions (line 417) | def draw_panoptic_seg_predictions(
method draw_dataset_dict (line 477) | def draw_dataset_dict(self, dic):
method overlay_instances (line 518) | def overlay_instances(
method overlay_rotated_instances (line 656) | def overlay_rotated_instances(self, boxes=None, labels=None, assigned_...
method draw_and_connect_keypoints (line 695) | def draw_and_connect_keypoints(self, keypoints):
method draw_text (line 762) | def draw_text(
method draw_box (line 809) | def draw_box(self, box_coord, alpha=0.5, edge_color="g", line_style="-"):
method draw_rotated_box_with_label (line 843) | def draw_rotated_box_with_label(
method draw_circle (line 896) | def draw_circle(self, circle_coord, color, radius=3):
method draw_line (line 914) | def draw_line(self, x_data, y_data, color, linestyle="-", linewidth=No...
method draw_binary_mask (line 945) | def draw_binary_mask(
method draw_polygon (line 1005) | def draw_polygon(self, segment, color, edge_color=None, alpha=0.5):
method _jitter (line 1041) | def _jitter(self, color):
method _create_grayscale_image (line 1060) | def _create_grayscale_image(self, mask=None):
method _change_color_brightness (line 1071) | def _change_color_brightness(self, color, brightness_factor):
method _convert_boxes (line 1096) | def _convert_boxes(self, boxes):
method _convert_masks (line 1105) | def _convert_masks(self, masks_or_polygons):
method _convert_keypoints (line 1128) | def _convert_keypoints(self, keypoints):
method get_output (line 1134) | def get_output(self):
FILE: reference_code/GSNet-release/pytorch_toolbelt/inference/functional.py
function torch_none (line 7) | def torch_none(x: Tensor):
function torch_rot90_ (line 11) | def torch_rot90_(x: Tensor):
function torch_rot90 (line 15) | def torch_rot90(x: Tensor):
function torch_rot180 (line 19) | def torch_rot180(x: Tensor):
function torch_rot270 (line 23) | def torch_rot270(x: Tensor):
function torch_flipud (line 27) | def torch_flipud(x: Tensor):
function torch_fliplr (line 36) | def torch_fliplr(x: Tensor):
function torch_transpose (line 45) | def torch_transpose(x: Tensor):
function torch_transpose_ (line 49) | def torch_transpose_(x: Tensor):
function torch_transpose2 (line 53) | def torch_transpose2(x: Tensor):
function pad_image_tensor (line 57) | def pad_image_tensor(image_tensor: Tensor, pad_size: int = 32):
function unpad_image_tensor (line 104) | def unpad_image_tensor(image_tensor, pad):
function unpad_xyxy_bboxes (line 110) | def unpad_xyxy_bboxes(bboxes_tensor: torch.Tensor, pad, dim=-1):
FILE: reference_code/GSNet-release/pytorch_toolbelt/inference/tiles.py
function compute_pyramid_patch_weight_loss (line 12) | def compute_pyramid_patch_weight_loss(width, height) -> np.ndarray:
class ImageSlicer (line 45) | class ImageSlicer:
method __init__ (line 50) | def __init__(
method split (line 163) | def split(self, image, border_type=cv2.BORDER_CONSTANT, value=0):
method cut_patch (line 192) | def cut_patch(
method target_shape (line 221) | def target_shape(self):
method merge (line 228) | def merge(self, tiles: List[np.ndarray], dtype=np.float32):
method crop_to_orignal_size (line 255) | def crop_to_orignal_size(self, image):
method _mean (line 266) | def _mean(self, tile_size):
method _pyramid (line 269) | def _pyramid(self, tile_size):
class CudaTileMerger (line 274) | class CudaTileMerger:
method __init__ (line 279) | def __init__(self, image_shape, channels, weight):
method integrate_batch (line 294) | def integrate_batch(self, batch: torch.Tensor, crop_coords):
method merge (line 309) | def merge(self) -> torch.Tensor:
FILE: reference_code/GSNet-release/pytorch_toolbelt/inference/tta.py
function fliplr_image2label (line 26) | def fliplr_image2label(model: nn.Module, image: Tensor) -> Tensor:
function fivecrop_image2label (line 39) | def fivecrop_image2label(model: nn.Module, image: Tensor, crop_size: Tup...
function tencrop_image2label (line 93) | def tencrop_image2label(model: nn.Module, image: Tensor, crop_size: Tupl...
function fliplr_image2mask (line 153) | def fliplr_image2mask(model: nn.Module, image: Tensor) -> Tensor:
function d4_image2label (line 168) | def d4_image2label(model: nn.Module, image: Tensor) -> Tensor:
function d4_image2mask (line 192) | def d4_image2mask(model: nn.Module, image: Tensor) -> Tensor:
class TTAWrapper (line 224) | class TTAWrapper(nn.Module):
method __init__ (line 225) | def __init__(self, model: nn.Module, tta_function, **kwargs):
method forward (line 230) | def forward(self, *input):
class MultiscaleTTAWrapper (line 234) | class MultiscaleTTAWrapper(nn.Module):
method __init__ (line 239) | def __init__(self, model: nn.Module, scale_levels: List[float]):
method forward (line 252) | def forward(self, input: Tensor) -> Tensor:
FILE: reference_code/GSNet-release/pytorch_toolbelt/losses/dice.py
class DiceLoss (line 18) | class DiceLoss(_Loss):
method __init__ (line 24) | def __init__(
method forward (line 57) | def forward(self, y_pred: Tensor, y_true: Tensor) -> Tensor:
FILE: reference_code/GSNet-release/pytorch_toolbelt/losses/focal.py
class BinaryFocalLoss (line 10) | class BinaryFocalLoss(_Loss):
method __init__ (line 11) | def __init__(
method forward (line 45) | def forward(self, label_input, label_target):
class FocalLoss (line 61) | class FocalLoss(_Loss):
method __init__ (line 62) | def __init__(self, alpha=0.5, gamma=2, ignore_index=None):
method forward (line 75) | def forward(self, label_input, label_target):
FILE: reference_code/GSNet-release/pytorch_toolbelt/losses/functional.py
function focal_loss_with_logits (line 16) | def focal_loss_with_logits(
function reduced_focal_loss (line 81) | def reduced_focal_loss(
function soft_jaccard_score (line 93) | def soft_jaccard_score(
function soft_dice_score (line 125) | def soft_dice_score(
function tversky_score (line 153) | def tversky_score(y_pred: torch.Tensor, y_true: torch.Tensor, alpha, smo...
function wing_loss (line 169) | def wing_loss(
FILE: reference_code/GSNet-release/pytorch_toolbelt/losses/jaccard.py
class JaccardLoss (line 18) | class JaccardLoss(_Loss):
method __init__ (line 24) | def __init__(
method forward (line 57) | def forward(self, y_pred: Tensor, y_true: Tensor) -> Tensor:
FILE: reference_code/GSNet-release/pytorch_toolbelt/losses/joint_loss.py
class WeightedLoss (line 6) | class WeightedLoss(_Loss):
method __init__ (line 11) | def __init__(self, loss, weight=1.0):
method forward (line 16) | def forward(self, *input):
class JointLoss (line 20) | class JointLoss(_Loss):
method __init__ (line 21) | def __init__(self, first, second, first_weight=1.0, second_weight=1.0):
method forward (line 26) | def forward(self, *input):
FILE: reference_code/GSNet-release/pytorch_toolbelt/losses/lovasz.py
function _lovasz_grad (line 21) | def _lovasz_grad(gt_sorted):
function _lovasz_hinge (line 35) | def _lovasz_hinge(logits, labels, per_image=True, ignore=None):
function _lovasz_hinge_flat (line 55) | def _lovasz_hinge_flat(logits, labels):
function _flatten_binary_scores (line 75) | def _flatten_binary_scores(scores, labels, ignore=None):
function _lovasz_softmax (line 92) | def _lovasz_softmax(probas, labels, classes="present", per_image=False, ...
function _lovasz_softmax_flat (line 117) | def _lovasz_softmax_flat(probas, labels, classes="present"):
function _flatten_probas (line 148) | def _flatten_probas(probas, labels, ignore=None):
function isnan (line 167) | def isnan(x):
function mean (line 171) | def mean(values, ignore_nan=False, empty=0):
class BinaryLovaszLoss (line 191) | class BinaryLovaszLoss(_Loss):
method __init__ (line 192) | def __init__(self, per_image=False, ignore=None):
method forward (line 197) | def forward(self, logits, target):
class LovaszLoss (line 203) | class LovaszLoss(_Loss):
method __init__ (line 204) | def __init__(self, per_image=False, ignore=None):
method forward (line 209) | def forward(self, logits, target):
FILE: reference_code/GSNet-release/pytorch_toolbelt/losses/other_losses.py
class BceLoss (line 9) | class BceLoss(_Loss):
method __init__ (line 10) | def __init__(self, pos_weight=None):
method forward (line 14) | def forward(self, logits, target):
class TverskyLoss (line 22) | class TverskyLoss(_Loss):
method __init__ (line 23) | def __init__(
method forward (line 39) | def forward(self, y_pred: Tensor, y_true: Tensor) -> Tensor:
class FocalTverskyLoss (line 77) | class FocalTverskyLoss(_Loss):
method __init__ (line 78) | def __init__(
method forward (line 94) | def forward(self, y_pred: Tensor, y_true: Tensor) -> Tensor:
FILE: reference_code/GSNet-release/pytorch_toolbelt/losses/wing_loss.py
class WingLoss (line 8) | class WingLoss(_Loss):
method __init__ (line 9) | def __init__(self, width=5, curvature=0.5, reduction="mean"):
method forward (line 14) | def forward(self, prediction, target):
FILE: reference_code/GSNet-release/pytorch_toolbelt/modules/abn.py
class ABN (line 22) | class ABN(nn.Module):
method __init__ (line 27) | def __init__(
method reset_parameters (line 69) | def reset_parameters(self):
method forward (line 76) | def forward(self, x):
method __repr__ (line 109) | def __repr__(self):
FILE: reference_code/GSNet-release/pytorch_toolbelt/modules/activations.py
function swish (line 37) | def swish(x):
function hard_sigmoid (line 41) | def hard_sigmoid(x, inplace=False):
function hard_swish (line 45) | def hard_swish(x, inplace=False):
class HardSigmoid (line 49) | class HardSigmoid(nn.Module):
method __init__ (line 50) | def __init__(self, inplace=False):
method forward (line 54) | def forward(self, x):
class Swish (line 58) | class Swish(nn.Module):
method __init__ (line 59) | def __init__(self, inplace=False):
method forward (line 62) | def forward(self, x):
class HardSwish (line 66) | class HardSwish(nn.Module):
method __init__ (line 67) | def __init__(self, inplace=False):
method forward (line 71) | def forward(self, x):
function get_activation_module (line 75) | def get_activation_module(activation_name: str, **kwargs) -> nn.Module:
FILE: reference_code/GSNet-release/pytorch_toolbelt/modules/agn.py
class AGN (line 23) | class AGN(nn.Module):
method __init__ (line 28) | def __init__(
method reset_parameters (line 67) | def reset_parameters(self):
method forward (line 71) | def forward(self, x):
method __repr__ (line 95) | def __repr__(self):
FILE: reference_code/GSNet-release/pytorch_toolbelt/modules/backbone/efficient_net.py
function round_filters (line 15) | def round_filters(filters, width_coefficient, depth_divisor, min_depth):
function round_repeats (line 29) | def round_repeats(repeats: int, depth_multiplier):
function drop_connect (line 38) | def drop_connect(inputs, p, training):
class EfficientNetBlockArgs (line 55) | class EfficientNetBlockArgs:
method __init__ (line 56) | def __init__(
method scale (line 83) | def scale(
class MBConvBlock (line 105) | class MBConvBlock(nn.Module):
method __init__ (line 115) | def __init__(self, block_args: EfficientNetBlockArgs, abn_block: ABN, ...
method reset_parameters (line 164) | def reset_parameters(self):
method forward (line 178) | def forward(self, inputs, drop_connect_rate=None):
function get_default_efficientnet_params (line 209) | def get_default_efficientnet_params(dropout=0.2, **kwargs):
class EfficientNet (line 291) | class EfficientNet(nn.Module):
method __init__ (line 301) | def __init__(
method forward (line 376) | def forward(self, inputs):
function efficient_net_b0 (line 404) | def efficient_net_b0(num_classes: int, **kwargs):
function efficient_net_b1 (line 410) | def efficient_net_b1(num_classes: int, **kwargs):
function efficient_net_b2 (line 416) | def efficient_net_b2(num_classes: int, **kwargs):
function efficient_net_b3 (line 422) | def efficient_net_b3(num_classes: int, **kwargs):
function efficient_net_b4 (line 428) | def efficient_net_b4(num_classes: int, **kwargs):
function efficient_net_b5 (line 434) | def efficient_net_b5(num_classes: int, **kwargs):
function efficient_net_b6 (line 440) | def efficient_net_b6(num_classes: int, **kwargs):
function efficient_net_b7 (line 446) | def efficient_net_b7(num_classes: int, **kwargs):
function test_efficient_net (line 452) | def test_efficient_net():
function test_efficient_net_group_norm (line 480) | def test_efficient_net_group_norm():
FILE: reference_code/GSNet-release/pytorch_toolbelt/modules/backbone/inceptionv4.py
class BasicConv2d (line 37) | class BasicConv2d(nn.Module):
method __init__ (line 38) | def __init__(self, in_planes, out_planes, kernel_size, stride, padding...
method forward (line 56) | def forward(self, x):
class Mixed_3a (line 63) | class Mixed_3a(nn.Module):
method __init__ (line 64) | def __init__(self):
method forward (line 69) | def forward(self, x):
class Mixed_4a (line 76) | class Mixed_4a(nn.Module):
method __init__ (line 77) | def __init__(self):
method forward (line 92) | def forward(self, x):
class Mixed_5a (line 99) | class Mixed_5a(nn.Module):
method __init__ (line 100) | def __init__(self):
method forward (line 105) | def forward(self, x):
class Inception_A (line 112) | class Inception_A(nn.Module):
method __init__ (line 113) | def __init__(self):
method forward (line 133) | def forward(self, x):
class Reduction_A (line 142) | class Reduction_A(nn.Module):
method __init__ (line 143) | def __init__(self):
method forward (line 155) | def forward(self, x):
class Inception_B (line 163) | class Inception_B(nn.Module):
method __init__ (line 164) | def __init__(self):
method forward (line 193) | def forward(self, x):
class Reduction_B (line 202) | class Reduction_B(nn.Module):
method __init__ (line 203) | def __init__(self):
method forward (line 222) | def forward(self, x):
class Inception_C (line 230) | class Inception_C(nn.Module):
method __init__ (line 231) | def __init__(self):
method forward (line 263) | def forward(self, x):
class InceptionV4 (line 284) | class InceptionV4(nn.Module):
method __init__ (line 285) | def __init__(self, num_classes=1001):
method logits (line 319) | def logits(self, features):
method forward (line 327) | def forward(self, input):
function inceptionv4 (line 333) | def inceptionv4(num_classes=1000, pretrained="imagenet"):
FILE: reference_code/GSNet-release/pytorch_toolbelt/modules/backbone/mobilenet.py
function conv_bn (line 9) | def conv_bn(inp, oup, stride, activation: nn.Module):
function conv_1x1_bn (line 17) | def conv_1x1_bn(inp, oup, activation: nn.Module):
class InvertedResidual (line 25) | class InvertedResidual(nn.Module):
method __init__ (line 26) | def __init__(self, inp, oup, stride, expand_ratio, activation: nn.Modu...
method forward (line 63) | def forward(self, x):
class MobileNetV2 (line 70) | class MobileNetV2(nn.Module):
method __init__ (line 71) | def __init__(
method forward (line 141) | def forward(self, x):
method _initialize_weights (line 156) | def _initialize_weights(self):
function test (line 172) | def test():
FILE: reference_code/GSNet-release/pytorch_toolbelt/modules/backbone/mobilenetv3.py
function _make_divisible (line 14) | def _make_divisible(v, divisor, min_value=None):
class SqEx (line 34) | class SqEx(nn.Module):
method __init__ (line 39) | def __init__(self, n_features, reduction=4):
method forward (line 54) | def forward(self, x):
class LinearBottleneck (line 62) | class LinearBottleneck(nn.Module):
method __init__ (line 63) | def __init__(
method forward (line 115) | def forward(self, x):
class LastBlockLarge (line 140) | class LastBlockLarge(nn.Module):
method __init__ (line 141) | def __init__(self, inplanes, num_classes, expplanes1, expplanes2):
method forward (line 160) | def forward(self, x):
class LastBlockSmall (line 177) | class LastBlockSmall(nn.Module):
method __init__ (line 178) | def __init__(self, inplanes, num_classes, expplanes1, expplanes2):
method forward (line 201) | def forward(self, x):
class MobileNetV3 (line 219) | class MobileNetV3(nn.Module):
method __init__ (line 223) | def __init__(
method _make_bottlenecks (line 318) | def _make_bottlenecks(self):
method forward (line 352) | def forward(self, x):
FILE: reference_code/GSNet-release/pytorch_toolbelt/modules/backbone/senet.py
class SEModule (line 92) | class SEModule(nn.Module):
method __init__ (line 93) | def __init__(self, channels, reduction):
method forward (line 101) | def forward(self, x):
class Bottleneck (line 111) | class Bottleneck(nn.Module):
method forward (line 116) | def forward(self, x):
class SEBottleneck (line 139) | class SEBottleneck(Bottleneck):
method __init__ (line 146) | def __init__(self, inplanes, planes, groups, reduction, stride=1, down...
class SEResNetBottleneck (line 168) | class SEResNetBottleneck(Bottleneck):
method __init__ (line 177) | def __init__(self, inplanes, planes, groups, reduction, stride=1, down...
class SEResNeXtBottleneck (line 195) | class SEResNeXtBottleneck(Bottleneck):
method __init__ (line 202) | def __init__(
class SENet (line 234) | class SENet(nn.Module):
method __init__ (line 235) | def __init__(
method _make_layer (line 363) | def _make_layer(
method features (line 398) | def features(self, x):
method logits (line 406) | def logits(self, x):
method forward (line 414) | def forward(self, x):
function initialize_pretrained_model (line 420) | def initialize_pretrained_model(model, num_classes, settings):
function senet154 (line 434) | def senet154(num_classes=1000, pretrained="imagenet"):
function se_resnet50 (line 449) | def se_resnet50(num_classes=1000, pretrained="imagenet"):
function se_resnet101 (line 468) | def se_resnet101(num_classes=1000, pretrained="imagenet"):
function se_resnet152 (line 487) | def se_resnet152(num_classes=1000, pretrained="imagenet"):
function se_resnext50_32x4d (line 506) | def se_resnext50_32x4d(num_classes=1000, pretrained="imagenet"):
function se_resnext101_32x4d (line 525) | def se_resnext101_32x4d(num_classes=1000, pretrained="imagenet"):
FILE: reference_code/GSNet-release/pytorch_toolbelt/modules/backbone/wider_resnet.py
class IdentityResidualBlock (line 12) | class IdentityResidualBlock(nn.Module):
method __init__ (line 13) | def __init__(
method forward (line 130) | def forward(self, x):
class WiderResNet (line 144) | class WiderResNet(nn.Module):
method __init__ (line 145) | def __init__(self, structure, norm_act=ABN, classes=0):
method forward (line 216) | def forward(self, img):
class WiderResNetA2 (line 232) | class WiderResNetA2(nn.Module):
method __init__ (line 233) | def __init__(self, structure, norm_act=ABN, classes=0, dilation=False):
method forward (line 332) | def forward(self, img):
function wider_resnet_16 (line 348) | def wider_resnet_16(num_classes=0, norm_act=ABN):
function wider_resnet_20 (line 354) | def wider_resnet_20(num_classes=0, norm_act=ABN):
function wider_resnet_38 (line 360) | def wider_resnet_38(num_classes=0, norm_act=ABN):
function wider_resnet_16_a2 (line 366) | def wider_resnet_16_a2(num_classes=0, norm_act=ABN):
function wider_resnet_20_a2 (line 372) | def wider_resnet_20_a2(num_classes=0, norm_act=ABN):
function wider_resnet_38_a2 (line 378) | def wider_resnet_38_a2(num_classes=0, norm_act=ABN):
function test_wider_resnet (line 384) | def test_wider_resnet():
FILE: reference_code/GSNet-release/pytorch_toolbelt/modules/coord_conv.py
function append_coords (line 9) | def append_coords(input_tensor, with_r=False):
class AddCoords (line 49) | class AddCoords(nn.Module):
method __init__ (line 50) | def __init__(self, with_r=False):
method forward (line 54) | def forward(self, input_tensor):
class CoordConv (line 62) | class CoordConv(nn.Module):
method __init__ (line 63) | def __init__(self, in_channels, out_channels, with_r=False, **kwargs):
method forward (line 71) | def forward(self, x):
FILE: reference_code/GSNet-release/pytorch_toolbelt/modules/decoders.py
class DecoderModule (line 7) | class DecoderModule(nn.Module):
method __init__ (line 8) | def __init__(self):
method forward (line 11) | def forward(self, features):
method set_trainable (line 14) | def set_trainable(self, trainable):
class UNetDecoder (line 19) | class UNetDecoder(DecoderModule):
method __init__ (line 20) | def __init__(
method forward (line 50) | def forward(self, features):
class FPNDecoder (line 63) | class FPNDecoder(DecoderModule):
method __init__ (line 64) | def __init__(
method forward (line 132) | def forward(self, features):
FILE: reference_code/GSNet-release/pytorch_toolbelt/modules/dropblock.py
class DropBlock2D (line 6) | class DropBlock2D(nn.Module):
method __init__ (line 22) | def __init__(self, drop_prob, block_size):
method forward (line 28) | def forward(self, x):
method _compute_block_mask (line 54) | def _compute_block_mask(self, mask):
method _compute_gamma (line 72) | def _compute_gamma(self, x):
class DropBlock3D (line 76) | class DropBlock3D(DropBlock2D):
method __init__ (line 92) | def __init__(self, drop_prob, block_size):
method forward (line 95) | def forward(self, x):
method _compute_block_mask (line 122) | def _compute_block_mask(self, mask):
method _compute_gamma (line 137) | def _compute_gamma(self, x):
class DropBlockScheduled (line 141) | class DropBlockScheduled(nn.Module):
method __init__ (line 142) | def __init__(self, dropblock, start_value, stop_value, nr_steps, start...
method forward (line 150) | def forward(self, x):
method step (line 155) | def step(self):
FILE: reference_code/GSNet-release/pytorch_toolbelt/modules/dsconv.py
class DepthwiseSeparableConv2d (line 6) | class DepthwiseSeparableConv2d(nn.Module):
method __init__ (line 7) | def __init__(
method forward (line 33) | def forward(self, x):
FILE: reference_code/GSNet-release/pytorch_toolbelt/modules/encoders.py
function _take (line 93) | def _take(elements, indexes):
class EncoderModule (line 97) | class EncoderModule(nn.Module):
method __init__ (line 98) | def __init__(self, channels: List[int], strides: List[int],
method forward (line 108) | def forward(self, x):
method output_strides (line 119) | def output_strides(self) -> List[int]:
method output_filters (line 123) | def output_filters(self) -> List[int]:
method encoder_layers (line 127) | def encoder_layers(self):
method set_trainable (line 130) | def set_trainable(self, trainable):
class ResnetEncoder (line 135) | class ResnetEncoder(EncoderModule):
method __init__ (line 136) | def __init__(self, resnet, filters, strides, layers=None):
method encoder_layers (line 155) | def encoder_layers(self):
method forward (line 159) | def forward(self, x):
class Resnet18Encoder (line 175) | class Resnet18Encoder(ResnetEncoder):
method __init__ (line 176) | def __init__(self, pretrained=True, layers=None):
class Resnet34Encoder (line 185) | class Resnet34Encoder(ResnetEncoder):
method __init__ (line 186) | def __init__(self, pretrained=True, layers=None):
class Resnet50Encoder (line 195) | class Resnet50Encoder(ResnetEncoder):
method __init__ (line 196) | def __init__(self, pretrained=True, layers=None):
class Resnet101Encoder (line 205) | class Resnet101Encoder(ResnetEncoder):
method __init__ (line 206) | def __init__(self, pretrained=True, layers=None):
class Resnet152Encoder (line 215) | class Resnet152Encoder(ResnetEncoder):
method __init__ (line 216) | def __init__(self, pretrained=True, layers=None):
class SEResnetEncoder (line 225) | class SEResnetEncoder(EncoderModule):
method __init__ (line 230) | def __init__(self, seresnet: SENet, channels, strides, layers=None):
method encoder_layers (line 248) | def encoder_layers(self):
method output_strides (line 253) | def output_strides(self):
method output_filters (line 257) | def output_filters(self):
method forward (line 260) | def forward(self, x):
class SEResnet50Encoder (line 276) | class SEResnet50Encoder(SEResnetEncoder):
method __init__ (line 277) | def __init__(self, pretrained=True, layers=None):
class SEResnet101Encoder (line 283) | class SEResnet101Encoder(SEResnetEncoder):
method __init__ (line 284) | def __init__(self, pretrained=True, layers=None):
class SEResnet152Encoder (line 290) | class SEResnet152Encoder(SEResnetEncoder):
method __init__ (line 291) | def __init__(self, pretrained=True, layers=None):
class SENet154Encoder (line 297) | class SENet154Encoder(SEResnetEncoder):
method __init__ (line 298) | def __init__(self, pretrained=True, layers=None):
class SEResNeXt50Encoder (line 304) | class SEResNeXt50Encoder(SEResnetEncoder):
method __init__ (line 305) | def __init__(self, pretrained=True, layers=None):
class SEResNeXt101Encoder (line 312) | class SEResNeXt101Encoder(SEResnetEncoder):
method __init__ (line 313) | def __init__(self, pretrained=True, layers=None):
class SqueezenetEncoder (line 320) | class SqueezenetEncoder(EncoderModule):
method __init__ (line 321) | def __init__(self, pretrained=True, layers=[1, 2, 3]):
method encoder_layers (line 367) | def encoder_layers(self):
class MobilenetV2Encoder (line 371) | class MobilenetV2Encoder(EncoderModule):
method __init__ (line 372) | def __init__(self, layers=[2, 3, 5, 7], activation="relu6"):
method encoder_layers (line 389) | def encoder_layers(self):
class MobilenetV3Encoder (line 402) | class MobilenetV3Encoder(EncoderModule):
method __init__ (line 403) | def __init__(
method forward (line 426) | def forward(self, x):
method encoder_layers (line 452) | def encoder_layers(self):
class WiderResnetEncoder (line 457) | class WiderResnetEncoder(EncoderModule):
method __init__ (line 458) | def __init__(self, structure: List[int], layers: List[int], norm_act=A...
method encoder_layers (line 480) | def encoder_layers(self):
method forward (line 491) | def forward(self, input):
class WiderResnet16Encoder (line 519) | class WiderResnet16Encoder(WiderResnetEncoder):
method __init__ (line 520) | def __init__(self, layers=None):
class WiderResnet20Encoder (line 526) | class WiderResnet20Encoder(WiderResnetEncoder):
method __init__ (line 527) | def __init__(self, layers=None):
class WiderResnet38Encoder (line 533) | class WiderResnet38Encoder(WiderResnetEncoder):
method __init__ (line 534) | def __init__(self, layers=None):
class WiderResnetA2Encoder (line 540) | class WiderResnetA2Encoder(EncoderModule):
method __init__ (line 541) | def __init__(self, structure: List[int], layers: List[int], norm_act=A...
method encoder_layers (line 561) | def encoder_layers(self):
method forward (line 572) | def forward(self, input):
class WiderResnet16A2Encoder (line 600) | class WiderResnet16A2Encoder(WiderResnetA2Encoder):
method __init__ (line 601) | def __init__(self, layers=None):
class WiderResnet20A2Encoder (line 607) | class WiderResnet20A2Encoder(WiderResnetA2Encoder):
method __init__ (line 608) | def __init__(self, layers=None):
class WiderResnet38A2Encoder (line 614) | class WiderResnet38A2Encoder(WiderResnetA2Encoder):
method __init__ (line 615) | def __init__(self, layers=None):
class DenseNetEncoder (line 621) | class DenseNetEncoder(EncoderModule):
method __init__ (line 622) | def __init__(
method encoder_layers (line 668) | def encoder_layers(self):
method output_strides (line 673) | def output_strides(self):
method output_filters (line 677) | def output_filters(self):
method forward (line 680) | def forward(self, x):
class DenseNet121Encoder (line 699) | class DenseNet121Encoder(DenseNetEncoder):
method __init__ (line 700) | def __init__(
class DenseNet161Encoder (line 711) | class DenseNet161Encoder(DenseNetEncoder):
method __init__ (line 712) | def __init__(
class DenseNet169Encoder (line 723) | class DenseNet169Encoder(DenseNetEncoder):
method __init__ (line 724) | def __init__(
class DenseNet201Encoder (line 735) | class DenseNet201Encoder(DenseNetEncoder):
method __init__ (line 736) | def __init__(
class EfficientNetEncoder (line 747) | class EfficientNetEncoder(EncoderModule):
method __init__ (line 748) | def __init__(self, efficientnet, filters, strides, layers):
method encoder_layers (line 765) | def encoder_layers(self):
method forward (line 776) | def forward(self, x):
class EfficientNetB0Encoder (line 789) | class EfficientNetB0Encoder(EfficientNetEncoder):
method __init__ (line 790) | def __init__(self, layers=None, **kwargs):
class EfficientNetB1Encoder (line 799) | class EfficientNetB1Encoder(EfficientNetEncoder):
method __init__ (line 800) | def __init__(self, layers=None, **kwargs):
class EfficientNetB2Encoder (line 809) | class EfficientNetB2Encoder(EfficientNetEncoder):
method __init__ (line 810) | def __init__(self, layers=None, **kwargs):
class EfficientNetB3Encoder (line 819) | class EfficientNetB3Encoder(EfficientNetEncoder):
method __init__ (line 820) | def __init__(self, layers=None, **kwargs):
class EfficientNetB4Encoder (line 829) | class EfficientNetB4Encoder(EfficientNetEncoder):
method __init__ (line 830) | def __init__(self, layers=None, **kwargs):
class EfficientNetB5Encoder (line 839) | class EfficientNetB5Encoder(EfficientNetEncoder):
method __init__ (line 840) | def __init__(self, layers=None, **kwargs):
class EfficientNetB6Encoder (line 849) | class EfficientNetB6Encoder(EfficientNetEncoder):
method __init__ (line 850) | def __init__(self, layers=None, **kwargs):
class EfficientNetB7Encoder (line 859) | class EfficientNetB7Encoder(EfficientNetEncoder):
method __init__ (line 860) | def __init__(self, layers=None, **kwargs):
class InceptionV4Encoder (line 869) | class InceptionV4Encoder(EncoderModule):
method __init__ (line 870) | def __init__(self, pretrained=True, layers=None, **kwargs):
method forward (line 888) | def forward(self, x):
method encoder_layers (line 900) | def encoder_layers(self):
FILE: reference_code/GSNet-release/pytorch_toolbelt/modules/fpn.py
class FPNBottleneckBlock (line 18) | class FPNBottleneckBlock(nn.Module):
method __init__ (line 19) | def __init__(self, input_channels, output_channels):
method forward (line 23) | def forward(self, x):
class FPNBottleneckBlockBN (line 28) | class FPNBottleneckBlockBN(nn.Module):
method __init__ (line 29) | def __init__(self, input_channels, output_channels):
method forward (line 36) | def forward(self, x):
class FPNPredictionBlock (line 41) | class FPNPredictionBlock(nn.Module):
method __init__ (line 42) | def __init__(self, input_channels, output_channels, mode="nearest"):
method forward (line 51) | def forward(self, x, y=None):
class UpsampleAdd (line 64) | class UpsampleAdd(nn.Module):
method __init__ (line 69) | def __init__(
method forward (line 77) | def forward(self, x, y=None):
class UpsampleAddConv (line 99) | class UpsampleAddConv(nn.Module):
method __init__ (line 105) | def __init__(
method forward (line 114) | def forward(self, x, y=None):
class FPNFuse (line 137) | class FPNFuse(nn.Module):
method __init__ (line 138) | def __init__(self, mode="bilinear", align_corners=False):
method forward (line 143) | def forward(self, features):
class FPNFuseSum (line 157) | class FPNFuseSum(nn.Module):
method __init__ (line 160) | def __init__(self, mode="bilinear", align_corners=False):
method forward (line 165) | def forward(self, features):
class HFF (line 177) | class HFF(nn.Module):
method __init__ (line 185) | def __init__(
method forward (line 194) | def forward(self, features):
method _upsample (line 210) | def _upsample(self, x, output_size=None):
FILE: reference_code/GSNet-release/pytorch_toolbelt/modules/identity.py
class Identity (line 6) | class Identity(nn.Module):
method __init__ (line 9) | def __init__(self, *args, **kwargs):
method forward (line 12) | def forward(self, x):
FILE: reference_code/GSNet-release/pytorch_toolbelt/modules/pooling.py
class GlobalAvgPool2d (line 17) | class GlobalAvgPool2d(nn.Module):
method __init__ (line 18) | def __init__(self, flatten=False):
method forward (line 23) | def forward(self, x):
class GlobalMaxPool2d (line 30) | class GlobalMaxPool2d(nn.Module):
method __init__ (line 31) | def __init__(self, flatten=False):
method forward (line 36) | def forward(self, x):
class GWAP (line 43) | class GWAP(nn.Module):
method __init__ (line 48) | def __init__(self, features):
method fscore (line 52) | def fscore(self, x):
method norm (line 57) | def norm(self, x: torch.Tensor):
method forward (line 60) | def forward(self, x):
class RMSPool (line 69) | class RMSPool(nn.Module):
method __init__ (line 74) | def __init__(self):
method forward (line 78) | def forward(self, x):
class MILCustomPoolingModule (line 84) | class MILCustomPoolingModule(nn.Module):
method __init__ (line 85) | def __init__(self, in_channels, out_channels, reduction=4):
method forward (line 96) | def forward(self, x):
FILE: reference_code/GSNet-release/pytorch_toolbelt/modules/scse.py
class ChannelGate2d (line 20) | class ChannelGate2d(nn.Module):
method __init__ (line 25) | def __init__(self, channels):
method forward (line 29) | def forward(self, x: Tensor):
class SpatialGate2d (line 36) | class SpatialGate2d(nn.Module):
method __init__ (line 41) | def __init__(self, channels, reduction=None, squeeze_channels=None):
method reset_parameters (line 65) | def reset_parameters(self):
method forward (line 69) | def forward(self, x: Tensor):
class ChannelSpatialGate2d (line 80) | class ChannelSpatialGate2d(nn.Module):
method __init__ (line 85) | def __init__(self, channels, reduction=4):
method forward (line 90) | def forward(self, x):
class SpatialGate2dV2 (line 94) | class SpatialGate2dV2(nn.Module):
method __init__ (line 99) | def __init__(self, channels, reduction=4):
method forward (line 108) | def forward(self, x: Tensor):
class ChannelSpatialGate2dV2 (line 119) | class ChannelSpatialGate2dV2(nn.Module):
method __init__ (line 120) | def __init__(self, channels, reduction=4):
method forward (line 125) | def forward(self, x):
FILE: reference_code/GSNet-release/pytorch_toolbelt/modules/srm.py
class SRMLayer (line 5) | class SRMLayer(nn.Module):
method __init__ (line 11) | def __init__(self, channels: int):
method forward (line 20) | def forward(self, x):
FILE: reference_code/GSNet-release/pytorch_toolbelt/modules/unet.py
class UnetEncoderBlock (line 10) | class UnetEncoderBlock(nn.Module):
method __init__ (line 11) | def __init__(
method forward (line 42) | def forward(self, x):
class UnetCentralBlock (line 50) | class UnetCentralBlock(nn.Module):
method __init__ (line 51) | def __init__(
method forward (line 70) | def forward(self, x):
class UnetDecoderBlock (line 78) | class UnetDecoderBlock(nn.Module):
method __init__ (line 82) | def __init__(
method forward (line 119) | def forward(self, x, enc):
FILE: reference_code/GSNet-release/pytorch_toolbelt/optimization/functional.py
function get_lr_decay_parameters (line 1) | def get_lr_decay_parameters(parameters, learning_rate, groups: dict):
FILE: reference_code/GSNet-release/pytorch_toolbelt/optimization/lr_schedules.py
function set_learning_rate (line 8) | def set_learning_rate(optimizer, lr):
class OnceCycleLR (line 13) | class OnceCycleLR(_LRScheduler):
method __init__ (line 14) | def __init__(self, optimizer, epochs, min_lr_factor=0.05, max_lr=1.0):
method get_lr (line 24) | def get_lr(self):
class CosineAnnealingLRWithDecay (line 30) | class CosineAnnealingLRWithDecay(_LRScheduler):
method __init__ (line 56) | def __init__(self, optimizer, T_max, gamma, eta_min=0, last_epoch=-1):
method get_lr (line 62) | def get_lr(self):
FILE: reference_code/GSNet-release/pytorch_toolbelt/utils/catalyst/criterions.py
class LPRegularizationCallback (line 10) | class LPRegularizationCallback(CriterionCallback):
method __init__ (line 15) | def __init__(
method get_multiplier (line 49) | def get_multiplier(self, training_progress, schedule, start, end):
method on_loader_start (line 67) | def on_loader_start(self, state: RunnerState):
method on_epoch_start (line 74) | def on_epoch_start(self, state: RunnerState):
method on_batch_end (line 80) | def on_batch_end(self, state: RunnerState):
FILE: reference_code/GSNet-release/pytorch_toolbelt/utils/catalyst/metrics.py
function pixel_accuracy (line 30) | def pixel_accuracy(outputs: torch.Tensor, targets: torch.Tensor, ignore_...
class PixelAccuracyCallback (line 48) | class PixelAccuracyCallback(MetricCallback):
method __init__ (line 52) | def __init__(
class ConfusionMatrixCallback (line 74) | class ConfusionMatrixCallback(Callback):
method __init__ (line 80) | def __init__(
method on_loader_start (line 104) | def on_loader_start(self, state):
method on_batch_end (line 108) | def on_batch_end(self, state: RunnerState):
method on_loader_end (line 122) | def on_loader_end(self, state):
class MacroF1Callback (line 147) | class MacroF1Callback(Callback):
method __init__ (line 152) | def __init__(
method on_batch_end (line 176) | def on_batch_end(self, state: RunnerState):
method on_loader_start (line 197) | def on_loader_start(self, state):
method on_loader_end (line 201) | def on_loader_end(self, state):
function binary_dice_iou_score (line 210) | def binary_dice_iou_score(
function multiclass_dice_iou_score (line 254) | def multiclass_dice_iou_score(
function multilabel_dice_iou_score (line 284) | def multilabel_dice_iou_score(
class IoUMetricsCallback (line 313) | class IoUMetricsCallback(Callback):
method __init__ (line 319) | def __init__(
method on_loader_start (line 387) | def on_loader_start(self, state):
method on_batch_end (line 391) | def on_batch_end(self, state: RunnerState):
method on_loader_end (line 407) | def on_loader_end(self, state):
FILE: reference_code/GSNet-release/pytorch_toolbelt/utils/catalyst/visualization.py
function get_tensorboard_logger (line 23) | def get_tensorboard_logger(state: RunnerState) -> SummaryWriter:
class ShowPolarBatchesCallback (line 30) | class ShowPolarBatchesCallback(Callback):
method __init__ (line 35) | def __init__(
method to_cpu (line 76) | def to_cpu(self, data):
method on_loader_start (line 87) | def on_loader_start(self, state):
method on_batch_end (line 96) | def on_batch_end(self, state: RunnerState):
method on_loader_end (line 114) | def on_loader_end(self, state: RunnerState) -> None:
method _log_samples (line 125) | def _log_samples(self, samples, name, logger, step):
function draw_binary_segmentation_predictions (line 143) | def draw_binary_segmentation_predictions(
function draw_semantic_segmentation_predictions (line 196) | def draw_semantic_segmentation_predictions(
FILE: reference_code/GSNet-release/pytorch_toolbelt/utils/dataset_utils.py
class ImageMaskDataset (line 12) | class ImageMaskDataset(Dataset):
method __init__ (line 13) | def __init__(
method __len__ (line 42) | def __len__(self):
method __getitem__ (line 45) | def __getitem__(self, index):
class TiledSingleImageDataset (line 58) | class TiledSingleImageDataset(Dataset):
method __init__ (line 59) | def __init__(
method _get_image (line 104) | def _get_image(self, index):
method _get_mask (line 112) | def _get_mask(self, index):
method __len__ (line 120) | def __len__(self):
method __getitem__ (line 123) | def __getitem__(self, index):
class TiledImageMaskDataset (line 135) | class TiledImageMaskDataset(ConcatDataset):
method __init__ (line 136) | def __init__(
FILE: reference_code/GSNet-release/pytorch_toolbelt/utils/fs.py
function has_image_ext (line 12) | def has_image_ext(fname: str) -> bool:
function find_in_dir (line 17) | def find_in_dir(dirname: str):
function find_images_in_dir (line 21) | def find_images_in_dir(dirname: str):
function find_in_dir_glob (line 25) | def find_in_dir_glob(dirname: str, recursive=False):
function id_from_fname (line 30) | def id_from_fname(fname: str):
function change_extension (line 34) | def change_extension(fname: str, new_ext: str):
function auto_file (line 38) | def auto_file(filename: str, where: str = ".") -> str:
function read_rgb_image (line 67) | def read_rgb_image(fname: str) -> np.ndarray:
function read_image_as_is (line 83) | def read_image_as_is(fname: str) -> np.ndarray:
FILE: reference_code/GSNet-release/pytorch_toolbelt/utils/namesgenerator.py
function get_random_name (line 567) | def get_random_name(sep="_"):
FILE: reference_code/GSNet-release/pytorch_toolbelt/utils/random.py
function set_manual_seed (line 10) | def set_manual_seed(seed):
function get_rng_state (line 19) | def get_rng_state() -> dict:
function set_rng_state (line 27) | def set_rng_state(rng_state: dict):
function get_random_name (line 50) | def get_random_name() -> str:
FILE: reference_code/GSNet-release/pytorch_toolbelt/utils/rle.py
function rle_encode (line 6) | def rle_encode(mask: np.ndarray):
function rle_to_string (line 27) | def rle_to_string(runs) -> str:
function rle_decode (line 31) | def rle_decode(rle_str, shape, dtype) -> np.ndarray:
FILE: reference_code/GSNet-release/pytorch_toolbelt/utils/torch_utils.py
function set_trainable (line 13) | def set_trainable(module: nn.Module, trainable=True, freeze_bn=True):
function freeze_bn (line 39) | def freeze_bn(module: nn.Module):
function logit (line 46) | def logit(x: torch.Tensor, eps=1e-5):
function count_parameters (line 51) | def count_parameters(model: nn.Module) -> Tuple[int, int]:
function to_numpy (line 62) | def to_numpy(x) -> np.ndarray:
function to_tensor (line 78) | def to_tensor(x, dtype=None) -> torch.Tensor:
function tensor_from_rgb_image (line 98) | def tensor_from_rgb_image(image: np.ndarray) -> torch.Tensor:
function tensor_from_mask_image (line 105) | def tensor_from_mask_image(mask: np.ndarray) -> torch.Tensor:
function rgb_image_from_tensor (line 111) | def rgb_image_from_tensor(
function maybe_cuda (line 121) | def maybe_cuda(x):
function get_optimizable_parameters (line 127) | def get_optimizable_parameters(model: nn.Module):
function transfer_weights (line 136) | def transfer_weights(model: nn.Module, model_state_dict: collections.Ord...
FILE: reference_code/GSNet-release/pytorch_toolbelt/utils/visualization.py
function plot_confusion_matrix (line 9) | def plot_confusion_matrix(
function render_figure_to_tensor (line 67) | def render_figure_to_tensor(figure):
FILE: reference_code/GSNet-release/setup.py
function get_version (line 17) | def get_version():
function get_extensions (line 39) | def get_extensions():
function get_model_zoo_configs (line 86) | def get_model_zoo_configs() -> List[str]:
FILE: reference_code/roi_heads.py
function smooth_l1_loss (line 41) | def smooth_l1_loss(pred, targets, beta=2.8):
function euler_angles_to_rotation_matrix (line 64) | def euler_angles_to_rotation_matrix(car_rotation, is_dir=False):
function build_roi_heads (line 91) | def build_roi_heads(cfg, input_shape):
function select_foreground_proposals (line 99) | def select_foreground_proposals(proposals, bg_label):
function select_proposals_with_visible_keypoints (line 129) | def select_proposals_with_visible_keypoints(proposals):
class ROIHeads (line 174) | class ROIHeads(torch.nn.Module):
method __init__ (line 184) | def __init__(self, cfg, input_shape: Dict[str, ShapeSpec]):
method _sample_proposals (line 212) | def _sample_proposals(self, matched_idxs, matched_labels, gt_classes):
method label_and_sample_proposals (line 250) | def label_and_sample_proposals(self, proposals, targets):
method forward (line 335) | def forward(self, images, features, proposals, targets=None):
class StandardROIHeads (line 366) | class StandardROIHeads(ROIHeads):
method __init__ (line 378) | def __init__(self, cfg, input_shape):
method _init_box_head (line 386) | def _init_box_head(self, cfg):
method _init_mask_head (line 417) | def _init_mask_head(self, cfg):
method _init_keypoint_head (line 440) | def _init_keypoint_head(self, cfg):
method _init_3d_head (line 465) | def _init_3d_head(self, cfg):
method _init_3d_mesh (line 524) | def _init_3d_mesh(self, cfg):
method forward (line 552) | def forward(self, images, features, proposals, curr_iter, targets=None):
method forward_with_given_boxes (line 571) | def forward_with_given_boxes(self, features, instances):
method _forward_box (line 597) | def _forward_box(self, features, proposals):
method _forward_mask (line 646) | def _forward_mask(self, features, instances):
method _forward_keypoint (line 671) | def _forward_keypoint(self, features, instances):
method _forward_3d_pose_inference (line 698) | def _forward_3d_pose_inference(self, roi_feature, box_pos, keypoint_po...
Copy disabled (too large)
Download .json
Condensed preview — 411 files, each showing path, character count, and a content snippet. Download the .json file for the full structured content (19,151K chars).
[
{
"path": "README.md",
"chars": 6020,
"preview": "[ Facebook, Inc. and its affiliates. All Rights Reserved\nimport argparse\nimport glob\nimport multiprocessin"
},
{
"path": "reference_code/GSNet-release/demo/predictor.py",
"chars": 11687,
"preview": "# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved\nimport atexit\nimport bisect\nimport multiprocessin"
},
{
"path": "reference_code/GSNet-release/detectron2/__init__.py",
"chars": 279,
"preview": "# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.\n\nfrom .utils.env import setup_environment\n\nsetup"
},
{
"path": "reference_code/GSNet-release/detectron2/checkpoint/__init__.py",
"chars": 367,
"preview": "# -*- coding: utf-8 -*-\n# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved\n# File:\n\n\nfrom . import c"
},
{
"path": "reference_code/GSNet-release/detectron2/checkpoint/c2_model_loading.py",
"chars": 14790,
"preview": "# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved\nimport copy\nimport logging\nimport re\nimport torch"
},
{
"path": "reference_code/GSNet-release/detectron2/checkpoint/catalog.py",
"chars": 6145,
"preview": "# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved\nimport logging\nfrom fvcore.common.file_io import "
},
{
"path": "reference_code/GSNet-release/detectron2/checkpoint/detection_checkpoint.py",
"chars": 2456,
"preview": "# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved\nimport pickle\nfrom fvcore.common.checkpoint impor"
},
{
"path": "reference_code/GSNet-release/detectron2/config/__init__.py",
"chars": 320,
"preview": "# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved\nfrom .compat import downgrade_config, upgrade_con"
},
{
"path": "reference_code/GSNet-release/detectron2/config/compat.py",
"chars": 7910,
"preview": "# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved\n\"\"\"\nBackward compatibility of configs.\n\nInstructi"
},
{
"path": "reference_code/GSNet-release/detectron2/config/config.py",
"chars": 3462,
"preview": "# -*- coding: utf-8 -*-\n# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved\n\nimport logging\nfrom fvco"
},
{
"path": "reference_code/GSNet-release/detectron2/config/defaults.py",
"chars": 26999,
"preview": "# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved\nfrom .config import CfgNode as CN\n\n# ------------"
},
{
"path": "reference_code/GSNet-release/detectron2/config/defaults.py~",
"chars": 26942,
"preview": "# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved\nfrom .config import CfgNode as CN\n\n# ------------"
},
{
"path": "reference_code/GSNet-release/detectron2/data/__init__.py",
"chars": 606,
"preview": "# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved\nfrom . import transforms # isort:skip\n\nfrom .bui"
},
{
"path": "reference_code/GSNet-release/detectron2/data/build.py",
"chars": 14799,
"preview": "# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved\nimport bisect\nimport copy\nimport itertools\nimport"
},
{
"path": "reference_code/GSNet-release/detectron2/data/catalog.py",
"chars": 7038,
"preview": "# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved\nimport copy\nimport logging\nimport types\nfrom typi"
},
{
"path": "reference_code/GSNet-release/detectron2/data/common.py",
"chars": 5212,
"preview": "# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved\nimport copy\nimport logging\nimport numpy as np\nimp"
},
{
"path": "reference_code/GSNet-release/detectron2/data/dataset_mapper.py",
"chars": 6916,
"preview": "# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved\nimport copy\nimport logging\nimport numpy as np\nimp"
},
{
"path": "reference_code/GSNet-release/detectron2/data/datasets/README.md",
"chars": 347,
"preview": "\n\n### Common Datasets\n\nThe dataset implemented here do not need to load the data into the final format.\nIt should provid"
},
{
"path": "reference_code/GSNet-release/detectron2/data/datasets/__init__.py",
"chars": 494,
"preview": "# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved\nfrom .cityscapes import load_cityscapes_instances"
},
{
"path": "reference_code/GSNet-release/detectron2/data/datasets/builtin.py",
"chars": 8986,
"preview": "# -*- coding: utf-8 -*-\n# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved\n\n\n\"\"\"\nThis file registers"
},
{
"path": "reference_code/GSNet-release/detectron2/data/datasets/builtin_meta.py",
"chars": 15021,
"preview": "# -*- coding: utf-8 -*-\n# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved\n\n\n# All coco categories, "
},
{
"path": "reference_code/GSNet-release/detectron2/data/datasets/cityscapes.py",
"chars": 13131,
"preview": "# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved\nimport functools\nimport glob\nimport json\nimport l"
},
{
"path": "reference_code/GSNet-release/detectron2/data/datasets/coco.py",
"chars": 26721,
"preview": "# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved\nimport contextlib\nimport datetime\nimport io\nimpor"
},
{
"path": "reference_code/GSNet-release/detectron2/data/datasets/lvis.py",
"chars": 7884,
"preview": "# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved\nimport logging\nimport os\nfrom fvcore.common.file_"
},
{
"path": "reference_code/GSNet-release/detectron2/data/datasets/lvis_v0_5_categories.py",
"chars": 223777,
"preview": "# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved\n# Autogen with\n# with open(\"lvis_v0.5_val.json\", "
},
{
"path": "reference_code/GSNet-release/detectron2/data/datasets/pascal_voc.py",
"chars": 2944,
"preview": "# -*- coding: utf-8 -*-\n# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved\n\nimport numpy as np\nimpor"
},
{
"path": "reference_code/GSNet-release/detectron2/data/datasets/process_dataset.py",
"chars": 25004,
"preview": "# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved\nimport io\nimport logging\nimport contextlib\nimport"
},
{
"path": "reference_code/GSNet-release/detectron2/data/datasets/process_dataset_occ.py",
"chars": 20557,
"preview": "# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved\nimport io\nimport logging\nimport contextlib\nimport"
},
{
"path": "reference_code/GSNet-release/detectron2/data/datasets/register_coco.py",
"chars": 5359,
"preview": "# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved\nimport copy\n\nfrom detectron2.data import DatasetC"
}
]
// ... and 211 more files (download for full content)
About this extraction
This page contains the full source code of the lkeab/gsnet GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 411 files (53.9 MB), approximately 4.6M tokens, and a symbol index with 1687 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.