diff --git a/nodes.py b/nodes.py index cf66229..651835e 100644 --- a/nodes.py +++ b/nodes.py @@ -617,7 +617,23 @@ class WanVideoModelLoader: transformer = WanModel(**TRANSFORMER_CONFIG) transformer.eval() - if "blocks.0.cam_encoder.weight" in sd: + if "blocks.0.mvs_attn.q.weight" in sd: #syncammaster + log.info("SynCamMaster model detected, patching model...") + from .wanvideo.modules.model import WanSelfAttention, WanLayerNorm + import torch.nn as nn + for block in transformer.blocks: + block.cam_encoder = nn.Linear(12, dim) + block.projector = nn.Linear(dim, dim) + block.cam_encoder.weight.data.zero_() + block.cam_encoder.bias.data.zero_() + block.projector.weight = nn.Parameter(torch.zeros(dim, dim)) + block.projector.bias = nn.Parameter(torch.zeros(dim)) + block.norm_mvs = WanLayerNorm(dim, eps=block.norm1.eps, elementwise_affine=False) + block.mvs_attn = WanSelfAttention(dim, num_heads, attention_mode=attention_mode) + block.modulation_mvs = nn.Parameter(torch.randn(1, 3, dim, device=block.modulation.device, dtype=block.modulation.dtype) / dim**0.5) + block.modulation_mvs.data = block.modulation.data[:, :3, :].clone() + #block.mvs_attn.load_state_dict(block.self_attn.state_dict(), strict=True) + elif "blocks.0.cam_encoder.weight" in sd: #recammaster log.info("ReCamMaster model detected, patching model...") import torch.nn as nn for block in transformer.blocks: @@ -627,6 +643,7 @@ class WanVideoModelLoader: block.cam_encoder.bias.data.zero_() block.projector.weight = nn.Parameter(torch.eye(dim)) block.projector.bias = nn.Parameter(torch.zeros(dim)) + comfy_model = WanVideoModel( WanVideoModelConfig(base_dtype), @@ -2254,6 +2271,7 @@ class WanVideoSampler: raise ValueError("Clip encoded image embeds must be provided for I2V (Image to Video) model") fun_model = image_embeds.get("fun_model", False) noise = torch.randn( + 1, 16, (image_embeds["num_frames"] - 1) // 4 + (2 if end_image is not None and not fun_model else 1), lat_h, @@ -2310,7 +2328,10 @@ class WanVideoSampler: "seq_len": vace_additional_embeds[i]["vace_seq_len"] }) + syncammaster = image_embeds.get("syncammaster", None) + noise = torch.randn( + 1 if not syncammaster else 2, target_shape[0], target_shape[1] + 1 if has_ref else target_shape[1], target_shape[2], @@ -2319,16 +2340,21 @@ class WanVideoSampler: device=torch.device("cpu"), generator=seed_g) - seq_len = math.ceil((noise.shape[2] * noise.shape[3]) / 4 * noise.shape[1]) + seq_len = math.ceil((noise.shape[3] * noise.shape[4]) / 4 * noise.shape[2]) recammaster = image_embeds.get("recammaster", None) if recammaster is not None: camera_embed = recammaster.get("camera_embed", None) recam_latents = recammaster.get("source_latents", None) - orig_noise_len = noise.shape[1] + orig_noise_len = noise.shape[2] log.info(f"RecamMaster camera embed shape: {camera_embed.shape}") log.info(f"RecamMaster source video shape: {recam_latents.shape}") seq_len *= 2 + syncammaster = image_embeds.get("syncammaster", None) + if syncammaster is not None: + + camera_embed = syncammaster.get("camera_embed", None) + log.info(f"SyncamMaster camera embed shape: {camera_embed.shape}") control_embeds = image_embeds.get("control_embeds", None) if control_embeds is not None: @@ -2350,12 +2376,12 @@ class WanVideoSampler: else: if transformer.in_dim == 36: #fun inp mask_latents = torch.tile( - torch.zeros_like(noise[:1]), [4, 1, 1, 1] + torch.zeros_like(noise[:,:1]), [1, 4, 1, 1, 1] ) masked_video_latents_input = torch.zeros_like(noise) - image_cond = torch.cat([mask_latents, masked_video_latents_input], dim=0).to(device) + image_cond = torch.cat([mask_latents, masked_video_latents_input], dim=1).to(device) - latent_video_length = noise.shape[1] + latent_video_length = noise.shape[2] is_looped = False if context_options is not None: @@ -2394,7 +2420,7 @@ class WanVideoSampler: log.info(f"Section size: {section_size}") is_looped = context_schedule == "uniform_looped" - seq_len = math.ceil((noise.shape[2] * noise.shape[3]) / 4 * context_frames) + seq_len = math.ceil((noise.shape[3] * noise.shape[4]) / 4 * context_frames) if context_options["freenoise"]: log.info("Applying FreeNoise") @@ -2410,11 +2436,11 @@ class WanVideoSampler: final_delta = latent_video_length - place_idx list_idx = torch.tensor(list(range(start_idx,start_idx+final_delta)), device=torch.device("cpu"), dtype=torch.long) list_idx = list_idx[torch.randperm(final_delta, generator=seed_g)] - noise[:, place_idx:place_idx + final_delta, :, :] = noise[:, list_idx, :, :] + noise[:, :, place_idx:place_idx + final_delta, :, :] = noise[:, :, list_idx, :, :] break list_idx = torch.tensor(list(range(start_idx,start_idx+delta)), device=torch.device("cpu"), dtype=torch.long) list_idx = list_idx[torch.randperm(delta, generator=seed_g)] - noise[:, place_idx:place_idx + delta, :, :] = noise[:, list_idx, :, :] + noise[:, :, place_idx:place_idx + delta, :, :] = noise[:, :, list_idx, :, :] log.info(f"Context schedule enabled: {context_frames} frames, {context_stride} stride, {context_overlap} overlap") from .context import get_context_scheduler @@ -2423,7 +2449,7 @@ class WanVideoSampler: if samples is not None: input_samples = samples["samples"].squeeze(0).to(noise) if input_samples.shape[1] != noise.shape[1]: - input_samples = torch.cat([input_samples[:, :1].repeat(1, noise.shape[1] - input_samples.shape[1], 1, 1), input_samples], dim=1) + input_samples = torch.cat([input_samples[:, :, :1].repeat(1, 1, noise.shape[2] - input_samples.shape[1], 1, 1), input_samples], dim=1) original_image = input_samples.to(device) if denoise_strength < 1.0: latent_timestep = timesteps[:1].to(noise) @@ -2431,8 +2457,8 @@ class WanVideoSampler: mask = samples.get("mask", None) if mask is not None: - if mask.shape[2] != noise.shape[1]: - mask = torch.cat([torch.zeros(1, noise.shape[0], noise.shape[1] - mask.shape[2], noise.shape[2], noise.shape[3]), mask], dim=2) + if mask.shape[2] != noise.shape[2]: + mask = torch.cat([torch.zeros(noise.shape[0], noise.shape[1], noise.shape[2] - mask.shape[2], noise.shape[3], noise.shape[4]), mask], dim=2) latent = noise.to(device) @@ -2629,29 +2655,33 @@ class WanVideoSampler: 'camera_embed': camera_embed, } - batch_size = 1 - if not math.isclose(cfg_scale, 1.0) and len(positive_embeds) > 1: negative_embeds = negative_embeds * len(positive_embeds) if not batched_cfg: #cond noise_pred_cond, teacache_state_cond = transformer( - [z], context=positive_embeds, clip_fea=clip_fea, is_uncond=False, current_step_percentage=current_step_percentage, + torch.unbind(z), context=positive_embeds * z.shape[0], + clip_fea=clip_fea, is_uncond=False, current_step_percentage=current_step_percentage, pred_id=teacache_state[0] if teacache_state else None, **base_params ) - noise_pred_cond = noise_pred_cond[0].to(intermediate_device) + + #noise_pred_cond = noise_pred_cond[0].to(intermediate_device) + noise_pred_cond = torch.stack(noise_pred_cond).to(intermediate_device) + if math.isclose(cfg_scale, 1.0): return noise_pred_cond, [teacache_state_cond] #uncond noise_pred_uncond, teacache_state_uncond = transformer( - [z], context=negative_embeds, clip_fea=clip_fea_neg if clip_fea_neg is not None else clip_fea, + torch.unbind(z), context=negative_embeds * z.shape[0], + clip_fea=clip_fea_neg if clip_fea_neg is not None else clip_fea, is_uncond=True, current_step_percentage=current_step_percentage, pred_id=teacache_state[1] if teacache_state else None, **base_params ) - noise_pred_uncond = noise_pred_uncond[0].to(intermediate_device) + #noise_pred_uncond = noise_pred_uncond[0].to(intermediate_device) + noise_pred_uncond = torch.stack(noise_pred_uncond).to(intermediate_device) #batched else: teacache_state_uncond = None @@ -2664,6 +2694,7 @@ class WanVideoSampler: #https://github.com/WeichenFan/CFG-Zero-star/ if use_cfg_zero_star: + batch_size = 1 alpha = optimized_scale( noise_pred_cond.view(batch_size, -1), noise_pred_uncond.view(batch_size, -1) @@ -2674,7 +2705,7 @@ class WanVideoSampler: return noise_pred, [teacache_state_cond, teacache_state_uncond] - log.info(f"Sampling {(latent_video_length-1) * 4 + 1} frames at {latent.shape[3]*8}x{latent.shape[2]*8} with {steps} steps") + log.info(f"Sampling {(latent_video_length-1) * 4 + 1} frames at {latent.shape[4]*8}x{latent.shape[3]*8} with {steps} steps") intermediate_device = device @@ -2975,19 +3006,19 @@ class WanVideoSampler: if isinstance(sample_scheduler, DEISMultistepScheduler): step_args.pop("generator", None) temp_x0 = sample_scheduler.step( - noise_pred[:, :orig_noise_len].unsqueeze(0) if recammaster is not None else noise_pred.unsqueeze(0), + noise_pred[:, :orig_noise_len] if recammaster is not None else noise_pred, t, - latent[:, :orig_noise_len].unsqueeze(0) if recammaster is not None else latent.unsqueeze(0), + latent[:, :orig_noise_len] if recammaster is not None else latent, return_dict=False, **step_args)[0] - latent = temp_x0.squeeze(0) + + latent = temp_x0 - x0 = latent.to(device) if callback is not None: if recammaster is not None: callback_latent = (latent_model_input[:, :orig_noise_len] - noise_pred[:, :orig_noise_len].to(t.device) * t / 1000).detach().permute(1,0,2,3) else: - callback_latent = (latent_model_input - noise_pred.to(t.device) * t / 1000).detach().permute(1,0,2,3) + callback_latent = (latent_model_input[0] - noise_pred[0].to(t.device) * t / 1000).detach().permute(1,0,2,3) callback(idx, callback_latent, None, steps) else: pbar.update(1) @@ -3029,7 +3060,7 @@ class WanVideoSampler: pass return ({ - "samples": x0.unsqueeze(0).cpu(), "looped": is_looped, "end_image": end_image if not fun_model else None, "has_ref": has_ref, "drop_last": drop_last, + "samples": latent.cpu(), "looped": is_looped, "end_image": end_image if not fun_model else None, "has_ref": has_ref, "drop_last": drop_last, }, ) class WindowTracker: @@ -3102,6 +3133,7 @@ class WanVideoDecode: vae.to(device) latents = latents.to(device = device, dtype = vae.dtype) + print("latents.shape", latents.shape) mm.soft_empty_cache() @@ -3118,7 +3150,14 @@ class WanVideoDecode: else: if end_image is not None: enable_vae_tiling = False - images = vae.decode(latents, device=device, end_=(end_image is not None), tiled=enable_vae_tiling, tile_size=(tile_x//8, tile_y//8), tile_stride=(tile_stride_x//8, tile_stride_y//8))[0] + if latents.shape[0] > 1: + decoded = [] + for i in range(latents.shape[0]): + decoded.append(vae.decode(latents[i].unsqueeze(0), device=device, end_=(end_image is not None), tiled=enable_vae_tiling, tile_size=(tile_x//8, tile_y//8), tile_stride=(tile_stride_x//8, tile_stride_y//8))[0]) + images = torch.cat(decoded, dim=2) + print("images.shape", images.shape) + else: + images = vae.decode(latents, device=device, end_=(end_image is not None), tiled=enable_vae_tiling, tile_size=(tile_x//8, tile_y//8), tile_stride=(tile_stride_x//8, tile_stride_y//8))[0] vae.model.clear_cache() images = (images - images.min()) / (images.max() - images.min()) diff --git a/recammaster/nodes.py b/recammaster/nodes.py index de4f203..f8081e9 100644 --- a/recammaster/nodes.py +++ b/recammaster/nodes.py @@ -43,7 +43,7 @@ class WanVideoReCamMasterCameraEmbed: import json from einops import rearrange - camera_data_path = os.path.join(script_directory, "camera_extrinsics.json") + camera_data_path = os.path.join(script_directory, "recam_extrinsics.json") with open(camera_data_path, 'r') as file: cam_data = json.load(file) @@ -66,6 +66,61 @@ class WanVideoReCamMasterCameraEmbed: cam_idx = list(range(num_frames))[::4] traj = [self.parse_matrix(cam_data[f"frame{idx}"][f"cam{int(camera_type_map[camera_type]):02d}"]) for idx in cam_idx] + + def generate_orbit_180(num_frames=81): + camera_data = {} + radius = 100 # Distance from center during orbit + center = np.array([3390, 1380, 240]) # Center point of orbit + + # Arc movement similar to arc_left/arc_right but spanning 180 degrees + for i in range(num_frames): + # Calculate angle from 0 to 180 degrees + angle = i * 90.0 / (num_frames - 1) + angle_rad = np.radians(angle) + + # Calculate position - circular path around center + x = center[0] + radius * np.cos(angle_rad) + y = center[1] + radius * np.sin(angle_rad) + z = center[2] # Z stays constant + pos = np.array([x, y, z]) + + # Calculate direction from camera to center point + dir_to_center = center - pos + dir_to_center_xy = dir_to_center.copy() + dir_to_center_xy[2] = 0 # Project to XY plane for horizontal orientation + + # Normalize the direction vector + dir_to_center_xy = dir_to_center_xy / np.linalg.norm(dir_to_center_xy) + + # For camera to face center, forward vector should be this direction + # The rotation matrix needs to make the camera's forward vector (local Z) + # point toward the center + + # Calculate the angle between the camera and center in the XY plane + # This is the negative angle we need to rotate camera to face center + look_angle = np.arctan2(dir_to_center_xy[1], dir_to_center_xy[0]) + + # Rotation matrix for facing the center + cos_look = np.cos(look_angle) + sin_look = np.sin(look_angle) + + # Format string with rotation that makes camera face the center + matrix_str = f"[{cos_look} {sin_look} 0 0] " + matrix_str += f"[{-sin_look} {cos_look} 0 0] " + matrix_str += f"[0 0 1 0] " + matrix_str += f"[{x} {y} {z} 1] " + + # Store the camera string + frame_key = f"frame{i}" + if frame_key not in camera_data: + camera_data[frame_key] = {} + camera_data[frame_key]["cam11"] = matrix_str + return camera_data + + # Generate the orbit camera data + #traj = [self.parse_matrix(generate_orbit_180(num_frames=81)[f"frame{idx}"][f"cam{int(11):02d}"]) for idx in cam_idx] + #print(traj) + traj = np.stack(traj).transpose(0, 2, 1) c2ws = [] for c2w in traj: @@ -95,6 +150,88 @@ class WanVideoReCamMasterCameraEmbed: return (embeds, traj,) +class WanVideoSynCamMasterCameraEmbed: + @classmethod + def INPUT_TYPES(s): + return {"required": { + "width": ("INT", {"default": 832, "min": 64, "max": 2048, "step": 8, "tooltip": "Width of the image to encode"}), + "height": ("INT", {"default": 480, "min": 64, "max": 29048, "step": 8, "tooltip": "Height of the image to encode"}), + "num_frames": ("INT", {"default": 81, "min": 1, "max": 10000, "step": 4, "tooltip": "Number of frames to encode"}), + + "camera_type": ([ + "azimuth", + "elevation", + "distance", + ], {"tooltip": "Camera type to use"}), + }, + } + + RETURN_TYPES = ("WANVIDIMAGE_EMBEDS", "CAMERAPOSES",) + RETURN_NAMES = ("camera_embeds", "camera_poses",) + FUNCTION = "process" + CATEGORY = "WanVideoWrapper" + DESCRIPTION = "https://github.com/KwaiVGI/ReCamMaster" + + def process(self, width, height, num_frames, camera_type): + # load camera + import json + from einops import rearrange + + camera_data_path = os.path.join(script_directory, "syncam_extrinsics.json") + with open(camera_data_path, 'r') as file: + cam_data = json.load(file) + + # load camera + multiview_c2ws = [] + cam_idx = list(range(num_frames))[::4] + + traj_list = [] + + if camera_type == "azimuth": + tgt_idx = 1 + cond_idx = 3 + elif camera_type == "elevation": + tgt_idx = 3 + cond_idx = 7 + elif camera_type == "distance": + tgt_idx = 9 + cond_idx = 10 + for view_idx in [cond_idx, tgt_idx]: + traj = [self.parse_matrix(cam_data[f"frame{idx}"][f"cam{view_idx:02d}"]) for idx in cam_idx] + traj = np.stack(traj).transpose(0, 2, 1) + traj_list.append(traj) + + c2ws = [] + for c2w in traj: + c2w = c2w[:, [1, 2, 0, 3]] + c2w[:3, 1] *= -1. + c2w[:3, 3] /= 200 + c2ws.append(c2w) + multiview_c2ws.append(c2ws) + cond_cam_params = [Camera(cam_param) for cam_param in multiview_c2ws[0]] + tgt_cam_params = [Camera(cam_param) for cam_param in multiview_c2ws[1]] + relative_poses = [] + for i in range(len(tgt_cam_params)): + relative_pose = self.get_relative_pose([tgt_cam_params[i], cond_cam_params[i]]) + relative_poses.append(torch.as_tensor(relative_pose)[:,:3,:]) + pose_embedding = torch.stack(relative_poses, dim=1) # v,21,3,4 + pose_embedding = rearrange(pose_embedding, 'v f c d -> v f (c d)') + + vae_stride = (4, 8, 8) + target_shape = (16, (num_frames - 1) // vae_stride[0] + 1, + height // vae_stride[1], + width // vae_stride[2]) + + embeds = { + "target_shape": target_shape, + "num_frames": num_frames, + "syncammaster": { + "camera_embed": pose_embedding, + } + } + + return (embeds, np.concatenate(traj_list),) + def parse_matrix(self, matrix_str): rows = matrix_str.strip().split('] [') matrix = [] @@ -274,8 +411,10 @@ or a .txt file with RealEstate camera intrinsics and coordinates, in a 3D plot. NODE_CLASS_MAPPINGS = { "WanVideoReCamMasterCameraEmbed": WanVideoReCamMasterCameraEmbed, "ReCamMasterPoseVisualizer": ReCamMasterPoseVisualizer, + "WanVideoSynCamMasterCameraEmbed": WanVideoSynCamMasterCameraEmbed, } NODE_DISPLAY_NAME_MAPPINGS = { "WanVideoReCamMasterCameraEmbed": "WanVideo ReCamMaster Camera Embed", "ReCamMasterPoseVisualizer": "ReCamMaster Pose Visualizer", + "WanVideoSynCamMasterCameraEmbed": "WanVideo SyncamMaster Camera Embed", } diff --git a/recammaster/camera_extrinsics.json b/recammaster/recam_extrinsics.json similarity index 100% rename from recammaster/camera_extrinsics.json rename to recammaster/recam_extrinsics.json diff --git a/recammaster/syncam_extrinsics.json b/recammaster/syncam_extrinsics.json new file mode 100644 index 0000000..87b40a4 --- /dev/null +++ b/recammaster/syncam_extrinsics.json @@ -0,0 +1,974 @@ +{ + "frame0": { + "cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ", + "cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ", + "cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ", + "cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ", + "cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ", + "cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ", + "cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ", + "cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ", + "cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ", + "cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] " + }, + "frame1": { + "cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ", + "cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ", + "cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ", + "cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ", + "cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ", + "cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ", + "cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ", + "cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ", + "cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ", + "cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] " + }, + "frame2": { + "cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ", + "cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ", + "cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ", + "cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ", + "cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ", + "cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ", + "cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ", + "cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ", + "cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ", + "cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] " + }, + "frame3": { + "cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ", + "cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ", + "cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ", + "cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ", + "cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ", + "cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ", + "cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ", + "cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ", + "cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ", + "cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] " + }, + "frame4": { + "cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ", + "cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ", + "cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ", + "cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ", + "cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ", + "cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ", + "cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ", + "cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ", + "cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ", + "cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] " + }, + "frame5": { + "cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ", + "cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ", + "cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ", + "cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ", + "cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ", + "cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ", + "cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ", + "cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ", + "cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ", + "cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] " + }, + "frame6": { + "cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ", + "cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ", + "cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ", + "cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ", + "cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ", + "cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ", + "cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ", + "cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ", + "cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ", + "cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] " + }, + "frame7": { + "cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ", + "cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ", + "cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ", + "cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ", + "cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ", + "cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ", + "cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ", + "cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ", + "cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ", + "cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] " + }, + "frame8": { + "cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ", + "cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ", + "cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ", + "cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ", + "cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ", + "cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ", + "cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ", + "cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ", + "cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ", + "cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] " + }, + "frame9": { + "cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ", + "cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ", + "cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ", + "cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ", + "cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ", + "cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ", + "cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ", + "cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ", + "cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ", + "cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] " + }, + "frame10": { + "cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ", + "cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ", + "cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ", + "cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ", + "cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ", + "cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ", + "cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ", + "cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ", + "cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ", + "cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] " + }, + "frame11": { + "cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ", + "cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ", + "cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ", + "cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ", + "cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ", + "cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ", + "cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ", + "cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ", + "cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ", + "cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] " + }, + "frame12": { + "cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ", + "cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ", + "cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ", + "cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ", + "cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ", + "cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ", + "cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ", + "cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ", + "cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ", + "cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] " + }, + "frame13": { + "cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ", + "cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ", + "cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ", + "cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ", + "cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ", + "cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ", + "cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ", + "cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ", + "cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ", + "cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] " + }, + "frame14": { + "cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ", + "cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ", + "cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ", + "cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ", + "cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ", + "cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ", + "cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ", + "cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ", + "cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ", + "cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] " + }, + "frame15": { + "cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ", + "cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ", + "cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ", + "cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ", + "cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ", + "cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ", + "cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ", + "cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ", + "cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ", + "cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] " + }, + "frame16": { + "cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ", + "cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ", + "cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ", + "cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ", + "cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ", + "cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ", + "cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ", + "cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ", + "cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ", + "cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] " + }, + "frame17": { + "cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ", + "cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ", + "cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ", + "cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ", + "cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ", + "cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ", + "cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ", + "cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ", + "cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ", + "cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] " + }, + "frame18": { + "cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ", + "cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ", + "cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ", + "cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ", + "cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ", + "cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ", + "cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ", + "cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ", + "cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ", + "cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] " + }, + "frame19": { + "cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ", + "cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ", + "cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ", + "cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ", + "cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ", + "cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ", + "cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ", + "cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ", + "cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ", + "cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] " + }, + "frame20": { + "cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ", + "cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ", + "cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ", + "cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ", + "cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ", + "cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ", + "cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ", + "cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ", + "cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ", + "cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] " + }, + "frame21": { + "cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ", + "cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ", + "cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ", + "cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ", + "cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ", + "cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ", + "cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ", + "cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ", + "cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ", + "cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] " + }, + "frame22": { + "cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ", + "cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ", + "cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ", + "cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ", + "cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ", + "cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ", + "cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ", + "cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ", + "cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ", + "cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] " + }, + "frame23": { + "cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ", + "cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ", + "cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ", + "cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ", + "cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ", + "cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ", + "cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ", + "cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ", + "cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ", + "cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] " + }, + "frame24": { + "cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ", + "cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ", + "cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ", + "cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ", + "cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ", + "cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ", + "cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ", + "cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ", + "cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ", + "cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] " + }, + "frame25": { + "cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ", + "cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ", + "cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ", + "cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ", + "cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ", + "cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ", + "cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ", + "cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ", + "cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ", + "cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] " + }, + "frame26": { + "cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ", + "cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ", + "cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ", + "cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ", + "cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ", + "cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ", + "cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ", + "cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ", + "cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ", + "cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] " + }, + "frame27": { + "cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ", + "cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ", + "cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ", + "cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ", + "cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ", + "cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ", + "cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ", + "cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ", + "cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ", + "cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] " + }, + "frame28": { + "cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ", + "cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ", + "cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ", + "cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ", + "cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ", + "cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ", + "cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ", + "cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ", + "cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ", + "cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] " + }, + "frame29": { + "cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ", + "cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ", + "cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ", + "cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ", + "cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ", + "cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ", + "cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ", + "cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ", + "cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ", + "cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] " + }, + "frame30": { + "cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ", + "cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ", + "cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ", + "cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ", + "cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ", + "cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ", + "cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ", + "cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ", + "cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ", + "cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] " + }, + "frame31": { + "cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ", + "cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ", + "cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ", + "cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ", + "cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ", + "cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ", + "cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ", + "cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ", + "cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ", + "cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] " + }, + "frame32": { + "cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ", + "cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ", + "cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ", + "cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ", + "cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ", + "cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ", + "cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ", + "cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ", + "cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ", + "cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] " + }, + "frame33": { + "cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ", + "cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ", + "cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ", + "cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ", + "cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ", + "cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ", + "cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ", + "cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ", + "cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ", + "cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] " + }, + "frame34": { + "cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ", + "cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ", + "cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ", + "cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ", + "cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ", + "cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ", + "cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ", + "cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ", + "cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ", + "cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] " + }, + "frame35": { + "cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ", + "cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ", + "cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ", + "cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ", + "cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ", + "cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ", + "cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ", + "cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ", + "cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ", + "cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] " + }, + "frame36": { + "cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ", + "cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ", + "cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ", + "cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ", + "cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ", + "cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ", + "cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ", + "cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ", + "cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ", + "cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] " + }, + "frame37": { + "cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ", + "cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ", + "cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ", + "cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ", + "cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ", + "cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ", + "cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ", + "cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ", + "cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ", + "cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] " + }, + "frame38": { + "cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ", + "cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ", + "cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ", + "cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ", + "cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ", + "cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ", + "cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ", + "cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ", + "cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ", + "cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] " + }, + "frame39": { + "cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ", + "cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ", + "cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ", + "cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ", + "cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ", + "cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ", + "cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ", + "cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ", + "cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ", + "cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] " + }, + "frame40": { + "cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ", + "cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ", + "cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ", + "cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ", + "cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ", + "cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ", + "cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ", + "cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ", + "cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ", + "cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] " + }, + "frame41": { + "cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ", + "cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ", + "cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ", + "cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ", + "cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ", + "cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ", + "cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ", + "cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ", + "cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ", + "cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] " + }, + "frame42": { + "cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ", + "cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ", + "cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ", + "cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ", + "cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ", + "cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ", + "cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ", + "cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ", + "cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ", + "cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] " + }, + "frame43": { + "cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ", + "cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ", + "cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ", + "cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ", + "cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ", + "cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ", + "cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ", + "cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ", + "cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ", + "cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] " + }, + "frame44": { + "cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ", + "cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ", + "cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ", + "cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ", + "cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ", + "cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ", + "cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ", + "cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ", + "cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ", + "cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] " + }, + "frame45": { + "cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ", + "cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ", + "cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ", + "cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ", + "cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ", + "cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ", + "cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ", + "cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ", + "cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ", + "cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] " + }, + "frame46": { + "cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ", + "cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ", + "cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ", + "cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ", + "cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ", + "cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ", + "cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ", + "cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ", + "cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ", + "cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] " + }, + "frame47": { + "cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ", + "cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ", + "cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ", + "cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ", + "cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ", + "cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ", + "cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ", + "cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ", + "cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ", + "cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] " + }, + "frame48": { + "cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ", + "cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ", + "cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ", + "cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ", + "cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ", + "cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ", + "cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ", + "cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ", + "cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ", + "cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] " + }, + "frame49": { + "cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ", + "cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ", + "cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ", + "cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ", + "cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ", + "cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ", + "cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ", + "cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ", + "cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ", + "cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] " + }, + "frame50": { + "cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ", + "cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ", + "cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ", + "cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ", + "cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ", + "cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ", + "cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ", + "cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ", + "cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ", + "cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] " + }, + "frame51": { + "cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ", + "cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ", + "cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ", + "cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ", + "cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ", + "cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ", + "cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ", + "cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ", + "cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ", + "cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] " + }, + "frame52": { + "cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ", + "cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ", + "cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ", + "cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ", + "cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ", + "cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ", + "cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ", + "cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ", + "cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ", + "cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] " + }, + "frame53": { + "cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ", + "cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ", + "cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ", + "cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ", + "cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ", + "cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ", + "cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ", + "cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ", + "cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ", + "cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] " + }, + "frame54": { + "cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ", + "cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ", + "cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ", + "cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ", + "cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ", + "cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ", + "cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ", + "cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ", + "cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ", + "cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] " + }, + "frame55": { + "cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ", + "cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ", + "cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ", + "cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ", + "cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ", + "cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ", + "cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ", + "cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ", + "cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ", + "cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] " + }, + "frame56": { + "cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ", + "cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ", + "cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ", + "cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ", + "cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ", + "cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ", + "cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ", + "cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ", + "cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ", + "cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] " + }, + "frame57": { + "cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ", + "cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ", + "cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ", + "cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ", + "cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ", + "cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ", + "cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ", + "cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ", + "cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ", + "cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] " + }, + "frame58": { + "cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ", + "cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ", + "cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ", + "cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ", + "cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ", + "cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ", + "cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ", + "cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ", + "cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ", + "cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] " + }, + "frame59": { + "cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ", + "cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ", + "cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ", + "cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ", + "cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ", + "cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ", + "cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ", + "cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ", + "cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ", + "cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] " + }, + "frame60": { + "cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ", + "cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ", + "cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ", + "cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ", + "cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ", + "cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ", + "cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ", + "cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ", + "cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ", + "cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] " + }, + "frame61": { + "cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ", + "cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ", + "cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ", + "cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ", + "cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ", + "cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ", + "cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ", + "cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ", + "cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ", + "cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] " + }, + "frame62": { + "cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ", + "cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ", + "cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ", + "cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ", + "cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ", + "cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ", + "cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ", + "cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ", + "cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ", + "cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] " + }, + "frame63": { + "cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ", + "cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ", + "cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ", + "cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ", + "cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ", + "cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ", + "cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ", + "cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ", + "cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ", + "cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] " + }, + "frame64": { + "cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ", + "cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ", + "cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ", + "cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ", + "cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ", + "cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ", + "cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ", + "cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ", + "cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ", + "cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] " + }, + "frame65": { + "cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ", + "cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ", + "cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ", + "cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ", + "cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ", + "cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ", + "cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ", + "cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ", + "cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ", + "cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] " + }, + "frame66": { + "cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ", + "cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ", + "cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ", + "cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ", + "cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ", + "cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ", + "cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ", + "cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ", + "cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ", + "cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] " + }, + "frame67": { + "cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ", + "cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ", + "cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ", + "cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ", + "cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ", + "cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ", + "cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ", + "cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ", + "cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ", + "cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] " + }, + "frame68": { + "cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ", + "cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ", + "cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ", + "cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ", + "cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ", + "cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ", + "cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ", + "cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ", + "cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ", + "cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] " + }, + "frame69": { + "cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ", + "cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ", + "cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ", + "cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ", + "cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ", + "cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ", + "cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ", + "cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ", + "cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ", + "cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] " + }, + "frame70": { + "cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ", + "cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ", + "cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ", + "cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ", + "cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ", + "cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ", + "cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ", + "cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ", + "cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ", + "cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] " + }, + "frame71": { + "cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ", + "cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ", + "cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ", + "cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ", + "cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ", + "cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ", + "cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ", + "cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ", + "cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ", + "cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] " + }, + "frame72": { + "cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ", + "cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ", + "cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ", + "cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ", + "cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ", + "cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ", + "cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ", + "cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ", + "cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ", + "cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] " + }, + "frame73": { + "cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ", + "cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ", + "cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ", + "cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ", + "cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ", + "cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ", + "cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ", + "cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ", + "cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ", + "cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] " + }, + "frame74": { + "cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ", + "cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ", + "cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ", + "cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ", + "cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ", + "cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ", + "cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ", + "cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ", + "cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ", + "cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] " + }, + "frame75": { + "cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ", + "cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ", + "cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ", + "cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ", + "cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ", + "cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ", + "cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ", + "cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ", + "cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ", + "cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] " + }, + "frame76": { + "cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ", + "cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ", + "cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ", + "cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ", + "cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ", + "cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ", + "cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ", + "cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ", + "cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ", + "cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] " + }, + "frame77": { + "cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ", + "cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ", + "cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ", + "cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ", + "cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ", + "cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ", + "cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ", + "cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ", + "cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ", + "cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] " + }, + "frame78": { + "cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ", + "cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ", + "cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ", + "cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ", + "cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ", + "cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ", + "cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ", + "cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ", + "cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ", + "cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] " + }, + "frame79": { + "cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ", + "cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ", + "cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ", + "cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ", + "cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ", + "cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ", + "cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ", + "cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ", + "cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ", + "cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] " + }, + "frame80": { + "cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ", + "cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ", + "cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ", + "cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ", + "cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ", + "cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ", + "cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ", + "cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ", + "cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ", + "cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] " + } +} \ No newline at end of file diff --git a/wanvideo/modules/model.py b/wanvideo/modules/model.py index 057b7f5..57f38b6 100644 --- a/wanvideo/modules/model.py +++ b/wanvideo/modules/model.py @@ -455,7 +455,8 @@ class WanAttentionBlock(nn.Module): video_attention_split_steps=[], rope_func = "default", clip_embed=None, - camera_embed=None + camera_embed=None, + freqs_mvs=None, ): r""" @@ -466,10 +467,11 @@ class WanAttentionBlock(nn.Module): grid_sizes(Tensor): Shape [B, 3], the second dimension contains (F, H, W) freqs(Tensor): Rope freqs, shape [1024, C / num_heads / 2] """ - e = (self.modulation.to(e.device) + e).chunk(6, dim=1) - input_x = self.norm1(x) * (1 + e[1]) + e[0] + e_mod = (self.modulation.to(e.device) + e).chunk(6, dim=1) + input_x = self.norm1(x) * (1 + e_mod[1]) + e_mod[0] - if camera_embed is not None: + if camera_embed is not None and not hasattr(self, 'mvs_attn'): + print("ReCamMaster camera embedding") # encode ReCamMaster camera camera_embed = self.cam_encoder(camera_embed.to(x)) camera_embed = camera_embed.repeat(1, 2, 1) @@ -479,6 +481,7 @@ class WanAttentionBlock(nn.Module): # self-attention if (context.shape[0] > 1 or (clip_embed is not None and clip_embed.shape[0] > 1)) and x.shape[0] == 1: + print("Attention split") y = self.self_attn.forward_split( input_x, seq_lens, grid_sizes, @@ -494,16 +497,36 @@ class WanAttentionBlock(nn.Module): freqs, rope_func=rope_func ) #ReCamMaster - if camera_embed is not None: + if camera_embed is not None and not hasattr(self, 'mvs_attn'): + print("ReCamMaster camera embedding") y = self.projector(y) - x = x.to(torch.float32) + (y.to(torch.float32) * e[2].to(torch.float32)) + x = x.to(torch.float32) + (y.to(torch.float32) * e_mod[2].to(torch.float32)) + + if hasattr(self, 'mvs_attn'): + shift_mvs, scale_mvs, gate_mvs = ( + self.modulation_mvs.to(e.device) + e[:, :3, :]).chunk(3, dim=1) + input_x = self.norm_mvs(x) * (1 + scale_mvs) + shift_mvs + v, f, _ = camera_embed.shape + h, w = 30, 52 # h, w hard code + camera_embed = self.cam_encoder(camera_embed.to(x)) + camera_embed = camera_embed.unsqueeze(2).unsqueeze(3).repeat(1, 1, h, w, 1) + camera_embed = rearrange(camera_embed, 'b f h w d -> b (f h w) d') + input_x += camera_embed + x = rearrange(x, '(b v) (f h w) d -> (b f) (v h w) d', v=v, f=f, h=h, w=w) + input_x = rearrange(input_x, '(b v) (f h w) d -> (b f) (v h w) d', v=v, f=f, h=h, w=w) + mvs_attn = self.mvs_attn( + input_x, + seq_lens, grid_sizes, + freqs_mvs, rope_func="comfy") + x = x + gate_mvs.to(torch.float32) * self.projector(mvs_attn) + x = rearrange(x, '(b f) (v h w) d -> (b v) (f h w) d', v=v, f=f, h=h, w=w) # cross-attention & ffn function if (context.shape[0] > 1 or (clip_embed is not None and clip_embed.shape[0] > 1)) and x.shape[0] == 1: - x = self.split_cross_attn_ffn(x, context, context_lens, e, clip_embed=clip_embed, grid_sizes=grid_sizes) + x = self.split_cross_attn_ffn(x, context, context_lens, e_mod, clip_embed=clip_embed, grid_sizes=grid_sizes) else: - x = self.cross_attn_ffn(x, context, context_lens, e, clip_embed=clip_embed, grid_sizes=grid_sizes) + x = self.cross_attn_ffn(x, context, context_lens, e_mod, clip_embed=clip_embed, grid_sizes=grid_sizes) return x @@ -1020,6 +1043,8 @@ class WanModel(ModelMixin, ConfigMixin): dim=1) for u in x ]) + freqs_mvs = None + if freqs is None: #comfy rope rope_func = "comfy" f_len = ((F + (self.patch_size[0] // 2)) // self.patch_size[0]) @@ -1032,6 +1057,17 @@ class WanModel(ModelMixin, ConfigMixin): img_ids = repeat(img_ids, "t h w c -> b (t h w) c", b=1) freqs = self.rope_embedder(img_ids).movedim(1, 2) + + if hasattr(self.blocks[0], "mvs_attn"): #syncammaster + # Create freqs_mvs with fixed temporal dimension v=2 + v = 2 + img_ids_mvs = torch.zeros((v, h_len, w_len, 3), device=x.device, dtype=x.dtype) + img_ids_mvs[:, :, :, 0] = img_ids_mvs[:, :, :, 0] + torch.linspace(0, v - 1, steps=v, device=x.device, dtype=x.dtype).reshape(-1, 1, 1) + img_ids_mvs[:, :, :, 1] = img_ids_mvs[:, :, :, 1] + torch.linspace(0, h_len - 1, steps=h_len, device=x.device, dtype=x.dtype).reshape(1, -1, 1) + img_ids_mvs[:, :, :, 2] = img_ids_mvs[:, :, :, 2] + torch.linspace(0, w_len - 1, steps=w_len, device=x.device, dtype=x.dtype).reshape(1, 1, -1) + img_ids_mvs = repeat(img_ids_mvs, "t h w c -> b (t h w) c", b=1) + + freqs_mvs = self.rope_embedder(img_ids_mvs).movedim(1, 2) else: rope_func = "default" @@ -1122,6 +1158,7 @@ class WanModel(ModelMixin, ConfigMixin): current_step=current_step, video_attention_split_steps=self.video_attention_split_steps, camera_embed=camera_embed, + freqs_mvs=freqs_mvs, ) if vace_data is not None: