diff --git a/.gitattributes b/.gitattributes index c18733ff4f641d812b9f9465232a22b669a8200b..605be5b2727540516a2f6a5d9c89938e665d3572 100644 --- a/.gitattributes +++ b/.gitattributes @@ -39,3 +39,12 @@ chat_history.db filter=lfs diff=lfs merge=lfs -text static/background.png filter=lfs diff=lfs merge=lfs -text static/chara_blinking.png filter=lfs diff=lfs merge=lfs -text *.png filter=lfs diff=lfs merge=lfs -text +*.com filter=lfs diff=lfs merge=lfs -text +*.com3 filter=lfs diff=lfs merge=lfs -text +<<<<<<< HEAD +*.psd filter=lfs diff=lfs merge=lfs -text +*.cmo3 filter=lfs diff=lfs merge=lfs -text +*.cmo filter=lfs diff=lfs merge=lfs -text +======= +*.psd filter=lfs diff=lfs merge=lfs -text +>>>>>>> 70216d5804559418074b91a6fd06dbda9e8897f7 diff --git a/.gitignore b/.gitignore index 650db4971ecbbf803b3d6cb3d79262bbc3287246..f0730f720d038e3bb62f13fe53f1ebdb974bb018 100644 --- a/.gitignore +++ b/.gitignore @@ -5,7 +5,7 @@ __pycache__/ # C extensions *.so - +*.wav # Distribution / packaging .Python build/ diff --git a/controllers/test_folders/.gitignore b/controllers/test_folders/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..d7d1c6ae2f3ae32a3b5d714bcb5e32d37ceede0c --- /dev/null +++ b/controllers/test_folders/.gitignore @@ -0,0 +1,3 @@ +__pycache__/ +*.pyc +*.db \ No newline at end of file diff --git a/controllers/test_folders/.gpteng/memory/logs/all_output.txt b/controllers/test_folders/.gpteng/memory/logs/all_output.txt new file mode 100644 index 0000000000000000000000000000000000000000..db2ed6098c6692ffcd4fcdeb1f522a201e3eccbf --- /dev/null +++ b/controllers/test_folders/.gpteng/memory/logs/all_output.txt @@ -0,0 +1,2256 @@ + +2024-07-21T16:32:49.277366 +================================ System Message ================================ + +You will get instructions for code to write. +You will write a very long answer. Make sure that every detail of the architecture is, in the end, implemented as code. +Think step by step and reason yourself to the correct decisions to make sure we get it right. +First lay out the names of the core classes, functions, methods that will be necessary, As well as a quick comment on their purpose. + +You will output the content of each file necessary to achieve the goal, including ALL code. +Represent files like so: + +FILENAME +``` +CODE +``` + +The following tokens must be replaced like so: +FILENAME is the lowercase combined path and file name including the file extension +CODE is the code in the file + +Example representation of a file: + +src/hello_world.py +``` +print("Hello World") +``` + +Do not comment on what every file does. Please note that the code should be fully functional. No placeholders. + + +You will start with the "entrypoint" file, then go to the ones that are imported by that file, and so on. +Please note that the code should be fully functional. No placeholders. + +Follow a language and framework appropriate best practice file naming convention. +Make sure that files contain all imports, types etc. The code should be fully functional. Make sure that code in different files are compatible with each other. +Ensure to implement all code, if you are unsure, write a plausible implementation. +Include module dependency or package manager dependency definition file. +Before you finish, double check that all parts of the architecture is present in the files. + +When you are done, write finish with "this concludes a fully working implementation". + +Useful to know: +Almost always put different classes in different files. +Always use the programming language the user asks for. +For Python, you always create an appropriate requirements.txt file. +For NodeJS, you always create an appropriate package.json file. +Always add a comment briefly describing the purpose of the function definition. +Add comments explaining very complex bits of logic. +Always follow the best practices for the requested languages for folder/file structure and how to package the project. + + +Python toolbelt preferences: +- pytest +- dataclasses + + +================================ Human Message ================================= + +Request: n + +================================== Ai Message ================================== + +Based on your request, I will create a fully functional implementation of a simple banking system using Python. + +Here is the architecture of the system: + +* `main.py`: The entry point of the application, responsible for creating a new bank and running the banking system. +* `bank.py`: Represents a bank, which can have multiple accounts and perform transactions. +* `account.py`: Represents a bank account, which can have a balance and perform transactions. +* `transaction.py`: Represents a transaction, which can be either a deposit or a withdrawal. +* `requirements.txt`: Lists the dependencies required to run the application. + +Here is the implementation: + +main.py +``` +from bank import Bank + +def main(): + bank = Bank() + bank.run() + +if __name__ == "__main__": + main() +``` + +bank.py +``` +from account import Account + +class Bank: + def __init__(self): + self.accounts = [] + + def create_account(self, account_number, initial_balance): + account = Account(account_number, initial_balance) + self.accounts.append(account) + return account + + def get_account(self, account_number): + for account in self.accounts: + if account.account_number == account_number: + return account + return None + + def run(self): + while True: + print("1. Create account") + print("2. Deposit") + print("3. Withdraw") + print("4. Check balance") + print("5. Exit") + choice = input("Choose an option: ") + if choice == "1": + account_number = input("Enter account number: ") + initial_balance = float(input("Enter initial balance: ")) + self.create_account(account_number, initial_balance) + elif choice == "2": + account_number = input("Enter account number: ") + amount = float(input("Enter amount to deposit: ")) + account = self.get_account(account_number) + if account: + account.deposit(amount) + else: + print("Account not found") + elif choice == "3": + account_number = input("Enter account number: ") + amount = float(input("Enter amount to withdraw: ")) + account = self.get_account(account_number) + if account: + account.withdraw(amount) + else: + print("Account not found") + elif choice == "4": + account_number = input("Enter account number: ") + account = self.get_account(account_number) + if account: + print("Balance:", account.balance) + else: + print("Account not found") + elif choice == "5": + break + else: + print("Invalid option") +``` + +account.py +``` +from dataclasses import dataclass +from transaction import Transaction + +@dataclass +class Account: + account_number: str + balance: float + + def deposit(self, amount): + transaction = Transaction("deposit", amount) + self.balance += amount + print("Deposit successful. New balance:", self.balance) + + def withdraw(self, amount): + if amount > self.balance: + print("Insufficient balance") + else: + transaction = Transaction("withdrawal", amount) + self.balance -= amount + print("Withdrawal successful. New balance:", self.balance) +``` + +transaction.py +``` +from dataclasses import dataclass + +@dataclass +class Transaction: + type: str + amount: float +``` + +requirements.txt +``` +dataclasses +``` + +This concludes a fully working implementation. + +2024-07-21T16:38:16.580996 +================================ System Message ================================ + +You will get instructions for code to write. +You will write a very long answer. Make sure that every detail of the architecture is, in the end, implemented as code. +Think step by step and reason yourself to the correct decisions to make sure we get it right. +First lay out the names of the core classes, functions, methods that will be necessary, As well as a quick comment on their purpose. + +You will output the content of each file necessary to achieve the goal, including ALL code. +Represent files like so: + +FILENAME +``` +CODE +``` + +The following tokens must be replaced like so: +FILENAME is the lowercase combined path and file name including the file extension +CODE is the code in the file + +Example representation of a file: + +src/hello_world.py +``` +print("Hello World") +``` + +Do not comment on what every file does. Please note that the code should be fully functional. No placeholders. + + +You will start with the "entrypoint" file, then go to the ones that are imported by that file, and so on. +Please note that the code should be fully functional. No placeholders. + +Follow a language and framework appropriate best practice file naming convention. +Make sure that files contain all imports, types etc. The code should be fully functional. Make sure that code in different files are compatible with each other. +Ensure to implement all code, if you are unsure, write a plausible implementation. +Include module dependency or package manager dependency definition file. +Before you finish, double check that all parts of the architecture is present in the files. + +When you are done, write finish with "this concludes a fully working implementation". + +Useful to know: +Almost always put different classes in different files. +Always use the programming language the user asks for. +For Python, you always create an appropriate requirements.txt file. +For NodeJS, you always create an appropriate package.json file. +Always add a comment briefly describing the purpose of the function definition. +Add comments explaining very complex bits of logic. +Always follow the best practices for the requested languages for folder/file structure and how to package the project. + + +Python toolbelt preferences: +- pytest +- dataclasses + + +================================ Human Message ================================= + +Request: +# 社員がプロフィールを登録・公開し、お互いに参照できるシステム + +## 機能 + +### ユーザー登録 + +- ユーザー登録画面で、ユーザー名とパスワードを入力して登録ボタンを押すことにより、新規ユーザーを登録することができる。 +- ユーザー名は、既存のユーザーと重複してはいけない。 +- ユーザー登録に成功したら、ログイン済み状態として、ユーザー一覧画面へ遷移する。 + +### ログイン + +- ログイン画面で、ユーザー名とパスワードを入力してログインボタンを押すことにより、ログインすることができる。 +- ログインに成功したら、ユーザー一覧画面へ遷移する。 + +### チーム一覧・作成 + +- チームの一覧が、チームの作成日時降順で表示される。 +- チーム名を入力して作成ボタンを押すと、チームが作成される。 +- チームの作成後、本画面が再表示される。 + +### プロフィール編集 + +- 自身の`所属チーム`・`プロフィール`・`タグ`を編集できる。 +- 所属チームは、既存チームからの選択式とする。 +- プロフィールは自由入力とする。 +- タグは自由入力で、複数入力できるようにする。 + +### ユーザー一覧・検索 + +- デフォルトでは全てのユーザーが一覧表示される。 +- 検索条件を入力して検索ボタンを押すと、検索条件がプロフィールに部分一致するユーザーのみにフィルタリングできる。 +- 一覧は、ユーザー登録日時の降順で表示される。 +- 表示内容は、`ユーザー名`・`プロフィール`で、`プロフィール`は先頭10文字と三点リーダーを表示する。 +- ユーザー名をクリックすると、そのユーザーのユーザー詳細画面へ遷移する。 +- `チーム一覧へ`をクリックすると、チーム一覧画面へ遷移する。 + +### ユーザー詳細画面 + +- 特定のユーザーの、`ユーザー名`・`所属チーム`・`プロフィール`・`タグ`が表示される。 +- プロフィールの表示はマークダウンに対応させる。 +- `一覧へ`リンクをクリックすると、ユーザー一覧画面へ遷移する。 + +## あなたが作成するもの + +バックエンドのプログラム一式を作成してください。 +フロントエンドのプログラムは不要です。 + +- `/api`ディレクトリ以下に作成。 +- Python/FastAPI/SQLAlchemyを使う。 +- DBはSQLiteを使う。 +- 必要に応じて外部ライブラリを使う。 +- クラウドや外部サービス(外部API)は使わない。 +- .gitignoreを含めること。 +- バックエンド +@app.post(" +def lumbda_function(): + +gradio_interface でメイン関数から読み込めるようにして + +googleappsscript +ラインの画像検索システム + +ファイルは1ファイルで作成して。 +1ファイル1機能で難しくしたくない + +1,lineからデータがくる +2,doPostで取得 +3.typeがイメージの場合はドライブに保存 +4,保存したデータをS3にアップロード +5.データはシークレットから取得 +6,plantumlでフローの作成 +7,システムドキュメントの作成 + +gradio は gradio_interface というBlock名で作成 +fastapiはrouter の作成 + + + +================================== Ai Message ================================== + +Here is the implementation of the backend system using Python, FastAPI, and SQLAlchemy. + +**Directory Structure** +``` +api/ +app/ +__init__.py +main.py +models/ +__init__.py +user.py +team.py +schemas/ +__init__.py +user.py +team.py +routers/ +__init__.py +user.py +team.py +utils/ +__init__.py +database.py +security.py +requirements.txt +.gitignore +``` + +**requirements.txt** +``` +fastapi +sqlalchemy +pydantic +``` + +**.gitignore** +``` +*.pyc +__pycache__/ +``` + +**app/main.py** +``` +from fastapi import FastAPI, Depends +from fastapi.security import OAuth2PasswordBearer +from sqlalchemy.orm import Session +from app.routers import user, team +from app.utils.database import get_db + +app = FastAPI() + +oauth2_scheme = OAuth2PasswordBearer(tokenUrl="token") + +@app.get("/") +def read_root(): + return {"message": "Welcome to this fantastic app!"} + +app.include_router(user.router) +app.include_router(team.router) +``` + +**app/models/user.py** +``` +from sqlalchemy import Column, Integer, String +from sqlalchemy.ext.declarative import declarative_base +from sqlalchemy.orm import relationship + +Base = declarative_base() + +class User(Base): + __tablename__ = "users" + id = Column(Integer, primary_key=True) + username = Column(String, unique=True) + password = Column(String) + profile = Column(String) + team_id = Column(Integer, ForeignKey("teams.id")) + team = relationship("Team", backref="users") + + def __repr__(self): + return f"User(username={self.username}, profile={self.profile})" +``` + +**app/models/team.py** +``` +from sqlalchemy import Column, Integer, String +from sqlalchemy.ext.declarative import declarative_base + +Base = declarative_base() + +class Team(Base): + __tablename__ = "teams" + id = Column(Integer, primary_key=True) + name = Column(String, unique=True) + created_at = Column(DateTime, default=datetime.utcnow) + + def __repr__(self): + return f"Team(name={self.name}, created_at={self.created_at})" +``` + +**app/schemas/user.py** +``` +from pydantic import BaseModel + +class UserBase(BaseModel): + username: str + profile: str + +class UserCreate(UserBase): + password: str + +class UserRead(UserBase): + id: int + team: str +``` + +**app/schemas/team.py** +``` +from pydantic import BaseModel + +class TeamBase(BaseModel): + name: str + +class TeamCreate(TeamBase): + pass + +class TeamRead(TeamBase): + id: int + created_at: datetime +``` + +**app/routers/user.py** +``` +from fastapi import APIRouter, Depends +from sqlalchemy.orm import Session +from app.schemas.user import UserCreate, UserRead +from app.models.user import User +from app.utils.database import get_db + +router = APIRouter() + +@router.post("/users/") +def create_user(user: UserCreate, db: Session = Depends()): + db_user = User(username=user.username, password=user.password, profile=user.profile) + db.add(db_user) + db.commit() + return {"message": "User created successfully"} + +@router.get("/users/") +def read_users(db: Session = Depends()): + users = db.query(User).all() + return [{"id": user.id, "username": user.username, "profile": user.profile} for user in users] + +@router.get("/users/{user_id}") +def read_user(user_id: int, db: Session = Depends()): + user = db.query(User).filter(User.id == user_id).first() + if user is None: + return {"message": "User not found"} + return {"id": user.id, "username": user.username, "profile": user.profile} +``` + +**app/routers/team.py** +``` +from fastapi import APIRouter, Depends +from sqlalchemy.orm import Session +from app.schemas.team import TeamCreate, TeamRead +from app.models.team import Team +from app.utils.database import get_db + +router = APIRouter() + +@router.post("/teams/") +def create_team(team: TeamCreate, db: Session = Depends()): + db_team = Team(name=team.name) + db.add(db_team) + db.commit() + return {"message": "Team created successfully"} + +@router.get("/teams/") +def read_teams(db: Session = Depends()): + teams = db.query(Team).all() + return [{"id": team.id, "name": team.name, "created_at": team.created_at} for team in teams] +``` + +**app/utils/database.py** +``` +from sqlalchemy import create_engine +from sqlalchemy.orm import sessionmaker + +SQLALCHEMY_DATABASE_URL = "sqlite:///./sql_app.db" + +engine = create_engine(SQLALCHEMY_DATABASE_URL) +SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine) + +def get_db(): + db = SessionLocal() + try: + yield db + finally: + db.close() +``` + +This concludes a fully working implementation. + +2024-07-21T16:39:35.082205 +================================ System Message ================================ + +You will get instructions for code to write. +You will write a very long answer. Make sure that every detail of the architecture is, in the end, implemented as code. +Think step by step and reason yourself to the correct decisions to make sure we get it right. +First lay out the names of the core classes, functions, methods that will be necessary, As well as a quick comment on their purpose. + +You will output the content of each file necessary to achieve the goal, including ALL code. +Represent files like so: + +FILENAME +``` +CODE +``` + +The following tokens must be replaced like so: +FILENAME is the lowercase combined path and file name including the file extension +CODE is the code in the file + +Example representation of a file: + +src/hello_world.py +``` +print("Hello World") +``` + +Do not comment on what every file does. Please note that the code should be fully functional. No placeholders. + + +You will start with the "entrypoint" file, then go to the ones that are imported by that file, and so on. +Please note that the code should be fully functional. No placeholders. + +Follow a language and framework appropriate best practice file naming convention. +Make sure that files contain all imports, types etc. The code should be fully functional. Make sure that code in different files are compatible with each other. +Ensure to implement all code, if you are unsure, write a plausible implementation. +Include module dependency or package manager dependency definition file. +Before you finish, double check that all parts of the architecture is present in the files. + +When you are done, write finish with "this concludes a fully working implementation". + +Useful to know: +Almost always put different classes in different files. +Always use the programming language the user asks for. +For Python, you always create an appropriate requirements.txt file. +For NodeJS, you always create an appropriate package.json file. +Always add a comment briefly describing the purpose of the function definition. +Add comments explaining very complex bits of logic. +Always follow the best practices for the requested languages for folder/file structure and how to package the project. + + +Python toolbelt preferences: +- pytest +- dataclasses + + +================================ Human Message ================================= + +Request: +# 社員がプロフィールを登録・公開し、お互いに参照できるシステム + +## 機能 + +### ユーザー登録 + +- ユーザー登録画面で、ユーザー名とパスワードを入力して登録ボタンを押すことにより、新規ユーザーを登録することができる。 +- ユーザー名は、既存のユーザーと重複してはいけない。 +- ユーザー登録に成功したら、ログイン済み状態として、ユーザー一覧画面へ遷移する。 + +### ログイン + +- ログイン画面で、ユーザー名とパスワードを入力してログインボタンを押すことにより、ログインすることができる。 +- ログインに成功したら、ユーザー一覧画面へ遷移する。 + +### チーム一覧・作成 + +- チームの一覧が、チームの作成日時降順で表示される。 +- チーム名を入力して作成ボタンを押すと、チームが作成される。 +- チームの作成後、本画面が再表示される。 + +### プロフィール編集 + +- 自身の`所属チーム`・`プロフィール`・`タグ`を編集できる。 +- 所属チームは、既存チームからの選択式とする。 +- プロフィールは自由入力とする。 +- タグは自由入力で、複数入力できるようにする。 + +### ユーザー一覧・検索 + +- デフォルトでは全てのユーザーが一覧表示される。 +- 検索条件を入力して検索ボタンを押すと、検索条件がプロフィールに部分一致するユーザーのみにフィルタリングできる。 +- 一覧は、ユーザー登録日時の降順で表示される。 +- 表示内容は、`ユーザー名`・`プロフィール`で、`プロフィール`は先頭10文字と三点リーダーを表示する。 +- ユーザー名をクリックすると、そのユーザーのユーザー詳細画面へ遷移する。 +- `チーム一覧へ`をクリックすると、チーム一覧画面へ遷移する。 + +### ユーザー詳細画面 + +- 特定のユーザーの、`ユーザー名`・`所属チーム`・`プロフィール`・`タグ`が表示される。 +- プロフィールの表示はマークダウンに対応させる。 +- `一覧へ`リンクをクリックすると、ユーザー一覧画面へ遷移する。 + +## あなたが作成するもの + +バックエンドのプログラム一式を作成してください。 +フロントエンドのプログラムは不要です。 + +- `/api`ディレクトリ以下に作成。 +- Python/FastAPI/SQLAlchemyを使う。 +- DBはSQLiteを使う。 +- 必要に応じて外部ライブラリを使う。 +- クラウドや外部サービス(外部API)は使わない。 +- .gitignoreを含めること。 +- バックエンド +@app.post(" +def lumbda_function(): + +gradio_interface でメイン関数から読み込めるようにして + +googleappsscript +ラインの画像検索システム + +ファイルは1ファイルで作成して。 +1ファイル1機能で難しくしたくない + +1,lineからデータがくる +2,doPostで取得 +3.typeがイメージの場合はドライブに保存 +4,保存したデータをS3にアップロード +5.データはシークレットから取得 +6,plantumlでフローの作成 +7,システムドキュメントの作成 + +gradio は gradio_interface というBlock名で作成 +fastapiはrouter の作成 + + + +================================== Ai Message ================================== + +Here is the implementation of the backend system using Python, FastAPI, and SQLAlchemy. + +**Directory Structure** +``` +api/ +app/ +__init__.py +main.py +models/ +__init__.py +user.py +team.py +schema/ +__init__.py +user.py +team.py +crud/ +__init__.py +user.py +team.py +routers/ +__init__.py +user.py +team.py +requirements.txt +.gitignore +``` + +**Files** + +**requirements.txt** +``` +fastapi +sqlalchemy +pydantic +``` + +**.gitignore** +``` +*.pyc +__pycache__/ +``` + +**app/main.py** +``` +from fastapi import FastAPI +from fastapi.responses import JSONResponse +from fastapi.requests import Request +from fastapi.encoders import jsonable_encoder +from pydantic import BaseModel +from sqlalchemy import create_engine +from sqlalchemy.orm import sessionmaker +from sqlalchemy.ext.declarative import declarative_base +from sqlalchemy import Column, Integer, String +from app.models.user import User +from app.models.team import Team +from app.schema.user import UserSchema +from app.schema.team import TeamSchema +from app.crud.user import crud_user +from app.crud.team import crud_team +from app.routers.user import router as user_router +from app.routers.team import router as team_router + +app = FastAPI() + +engine = create_engine('sqlite:///database.db') +SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine) +Base = declarative_base() + +@app.on_event("startup") +async def startup_event(): + Base.metadata.create_all(bind=engine) + +@app.on_event("shutdown") +async def shutdown_event(): + engine.dispose() + +app.include_router(user_router) +app.include_router(team_router) +``` + +**app/models/user.py** +``` +from sqlalchemy import Column, Integer, String +from sqlalchemy.ext.declarative import declarative_base + +Base = declarative_base() + +class User(Base): + __tablename__ = "users" + id = Column(Integer, primary_key=True) + username = Column(String, unique=True) + password = Column(String) + profile = Column(String) + team_id = Column(Integer) +``` + +**app/models/team.py** +``` +from sqlalchemy import Column, Integer, String +from sqlalchemy.ext.declarative import declarative_base + +Base = declarative_base() + +class Team(Base): + __tablename__ = "teams" + id = Column(Integer, primary_key=True) + name = Column(String, unique=True) + created_at = Column(String) +``` + +**app/schema/user.py** +``` +from pydantic import BaseModel + +class UserSchema(BaseModel): + username: str + password: str + profile: str + team_id: int +``` + +**app/schema/team.py** +``` +from pydantic import BaseModel + +class TeamSchema(BaseModel): + name: str +``` + +**app/crud/user.py** +``` +from app.models.user import User +from app.schema.user import UserSchema +from sqlalchemy.orm import Session + +def create_user(db: Session, user: UserSchema): + db_user = User(username=user.username, password=user.password, profile=user.profile, team_id=user.team_id) + db.add(db_user) + db.commit() + db.refresh(db_user) + return db_user + +def get_users(db: Session): + return db.query(User).all() + +def get_user(db: Session, user_id: int): + return db.query(User).filter(User.id == user_id).first() + +def update_user(db: Session, user_id: int, user: UserSchema): + db_user = get_user(db, user_id) + if db_user: + db_user.username = user.username + db_user.password = user.password + db_user.profile = user.profile + db_user.team_id = user.team_id + db.commit() + db.refresh(db_user) + return db_user +``` + +**app/crud/team.py** +``` +from app.models.team import Team +from app.schema.team import TeamSchema +from sqlalchemy.orm import Session + +def create_team(db: Session, team: TeamSchema): + db_team = Team(name=team.name) + db.add(db_team) + db.commit() + db.refresh(db_team) + return db_team + +def get_teams(db: Session): + return db.query(Team).all() +``` + +**app/routers/user.py** +``` +from fastapi import APIRouter, Depends +from fastapi.responses import JSONResponse +from fastapi.requests import Request +from fastapi.encoders import jsonable_encoder +from app.crud.user import create_user, get_users, get_user, update_user +from app.schema.user import UserSchema +from app.main import get_db + +router = APIRouter() + +@router.post("/users/") +async def create_user_endpoint(user: UserSchema, db: Session = Depends(get_db)): + return create_user(db, user) + +@router.get("/users/") +async def get_users_endpoint(db: Session = Depends(get_db)): + return get_users(db) + +@router.get("/users/{user_id}") +async def get_user_endpoint(user_id: int, db: Session = Depends(get_db)): + return get_user(db, user_id) + +@router.put("/users/{user_id}") +async def update_user_endpoint(user_id: int, user: UserSchema, db: Session = Depends(get_db)): + return update_user(db, user_id, user) +``` + +**app/routers/team.py** +``` +from fastapi import APIRouter, Depends +from fastapi.responses import JSONResponse +from fastapi.requests import Request +from fastapi.encoders import jsonable_encoder +from app.crud.team import create_team, get_teams +from app.schema.team import TeamSchema +from app.main import get_db + +router = APIRouter() + +@router.post("/teams/") +async def create_team_endpoint(team: TeamSchema, db: Session = Depends(get_db)): + return create_team(db, team) + +@router.get("/teams/") +async def get_teams_endpoint(db: Session = Depends(get_db)): + return get_teams(db) +``` + +This concludes a fully working implementation. + +2024-07-21T16:39:55.411171 +================================ System Message ================================ + +You will get instructions for code to write. +You will write a very long answer. Make sure that every detail of the architecture is, in the end, implemented as code. +Think step by step and reason yourself to the correct decisions to make sure we get it right. +First lay out the names of the core classes, functions, methods that will be necessary, As well as a quick comment on their purpose. + +You will output the content of each file necessary to achieve the goal, including ALL code. +Represent files like so: + +FILENAME +``` +CODE +``` + +The following tokens must be replaced like so: +FILENAME is the lowercase combined path and file name including the file extension +CODE is the code in the file + +Example representation of a file: + +src/hello_world.py +``` +print("Hello World") +``` + +Do not comment on what every file does. Please note that the code should be fully functional. No placeholders. + + +You will start with the "entrypoint" file, then go to the ones that are imported by that file, and so on. +Please note that the code should be fully functional. No placeholders. + +Follow a language and framework appropriate best practice file naming convention. +Make sure that files contain all imports, types etc. The code should be fully functional. Make sure that code in different files are compatible with each other. +Ensure to implement all code, if you are unsure, write a plausible implementation. +Include module dependency or package manager dependency definition file. +Before you finish, double check that all parts of the architecture is present in the files. + +When you are done, write finish with "this concludes a fully working implementation". + +Useful to know: +Almost always put different classes in different files. +Always use the programming language the user asks for. +For Python, you always create an appropriate requirements.txt file. +For NodeJS, you always create an appropriate package.json file. +Always add a comment briefly describing the purpose of the function definition. +Add comments explaining very complex bits of logic. +Always follow the best practices for the requested languages for folder/file structure and how to package the project. + + +Python toolbelt preferences: +- pytest +- dataclasses + + +================================ Human Message ================================= + +Request: +# 社員がプロフィールを登録・公開し、お互いに参照できるシステム + +## 機能 + +### ユーザー登録 + +- ユーザー登録画面で、ユーザー名とパスワードを入力して登録ボタンを押すことにより、新規ユーザーを登録することができる。 +- ユーザー名は、既存のユーザーと重複してはいけない。 +- ユーザー登録に成功したら、ログイン済み状態として、ユーザー一覧画面へ遷移する。 + +### ログイン + +- ログイン画面で、ユーザー名とパスワードを入力してログインボタンを押すことにより、ログインすることができる。 +- ログインに成功したら、ユーザー一覧画面へ遷移する。 + +### チーム一覧・作成 + +- チームの一覧が、チームの作成日時降順で表示される。 +- チーム名を入力して作成ボタンを押すと、チームが作成される。 +- チームの作成後、本画面が再表示される。 + +### プロフィール編集 + +- 自身の`所属チーム`・`プロフィール`・`タグ`を編集できる。 +- 所属チームは、既存チームからの選択式とする。 +- プロフィールは自由入力とする。 +- タグは自由入力で、複数入力できるようにする。 + +### ユーザー一覧・検索 + +- デフォルトでは全てのユーザーが一覧表示される。 +- 検索条件を入力して検索ボタンを押すと、検索条件がプロフィールに部分一致するユーザーのみにフィルタリングできる。 +- 一覧は、ユーザー登録日時の降順で表示される。 +- 表示内容は、`ユーザー名`・`プロフィール`で、`プロフィール`は先頭10文字と三点リーダーを表示する。 +- ユーザー名をクリックすると、そのユーザーのユーザー詳細画面へ遷移する。 +- `チーム一覧へ`をクリックすると、チーム一覧画面へ遷移する。 + +### ユーザー詳細画面 + +- 特定のユーザーの、`ユーザー名`・`所属チーム`・`プロフィール`・`タグ`が表示される。 +- プロフィールの表示はマークダウンに対応させる。 +- `一覧へ`リンクをクリックすると、ユーザー一覧画面へ遷移する。 + +## あなたが作成するもの + +バックエンドのプログラム一式を作成してください。 +フロントエンドのプログラムは不要です。 + +php laravel + + +================================== Ai Message ================================== + +Here is the implementation of the backend system using PHP Laravel. + +**File Structure** + +``` +app +Models +User.php +Team.php +Profile.php +Tag.php +... +Controllers +Auth +RegisterController.php +LoginController.php +... +Controllers +TeamController.php +ProfileController.php +UserController.php +... +Requests +RegisterRequest.php +LoginRequest.php +... +... +routes +web.php +api.php +... +database +migrations +create_users_table.php +create_teams_table.php +create_profiles_table.php +create_tags_table.php +... +seeds +DatabaseSeeder.php +... +... +composer.json +``` + +**composer.json** +``` +{ + "name": "laravel/laravel", + "description": "The Laravel Framework.", + "keywords": ["framework", "laravel"], + "license": "MIT", + "type": "project", + "require": { + "php": "^7.2.5", + "fideloper/proxy": "^4.2", + "fruitcake/laravel-cors": "^2.0", + "guzzlehttp/guzzle": "^7.0.1", + "laravel/framework": "^8.40", + "laravel/tinker": "^2.5" + }, + "require-dev": { + "facade/ignition": "^2.5", + "fakerphp/faker": "^1.9.1", + "laravel/sail": "^1.0.1", + "mockery/mockery": "^1.4.2", + "nunomaduro/collision": "^5.0", + "phpunit/phpunit": "^9.3.3" + }, + "config": { + "optimize-autoloader": true, + "preferred-install": "dist", + "sort-packages": true + }, + "extra": { + "laravel": { + "dont-discover": [] + } + }, + "autoload": { + "psr-4": { + "App\": "app/", + "Database\Factories\": "database/factories/", + "Database\Seeders\": "database/seeders/" + } + }, + "autoload-dev": { + "psr-4": { + "Tests\": "tests/" + } + }, + "minimum-stability": "dev", + "prefer-stable": true, + "scripts": { + "post-autoload-dump": [ + "Illuminate\Foundation\ComposerScripts::postAutoloadDump", + "@php artisan package:discover --ansi" + ], + "post-root-package-install": [ + "@php -r \"file_exists('.env') || copy('.env.example', '.env');\"" + ], + "post-create-project-cmd": [ + "@php artisan key:generate --ansi" + ] + } +} +``` + +**app/Models/User.php** +``` +namespace App\Models; + +use Illuminate\Database\Eloquent\Model; +use Illuminate\Support\Facades\Hash; + +class User extends Model +{ + protected $fillable = [ + 'name', + 'email', + 'password', + ]; + + protected $hidden = [ + 'password', + 'remember_token', + ]; + + public function profile() + { + return $this->hasOne(Profile::class); + } + + public function teams() + { + return $this->belongsToMany(Team::class); + } +} +``` + +**app/Models/Team.php** +``` +namespace App\Models; + +use Illuminate\Database\Eloquent\Model; + +class Team extends Model +{ + protected $fillable = [ + 'name', + ]; + + public function users() + { + return $this->belongsToMany(User::class); + } +} +``` + +**app/Models/Profile.php** +``` +namespace App\Models; + +use Illuminate\Database\Eloquent\Model; + +class Profile extends Model +{ + protected $fillable = [ + 'user_id', + 'bio', + 'tags', + ] + + public function user() + { + return $this->belongsTo(User::class); + } +} +``` + +**app/Models/Tag.php** +``` +namespace App\Models; + +use Illuminate\Database\Eloquent\Model; + +class Tag extends Model +{ + protected $fillable = [ + 'name', + ]; + + public function profiles() + { + return $this->belongsToMany(Profile::class); + } +} +``` + +**app/Http/Controllers/Auth/RegisterController.php** +``` +namespace App\Http\Controllers\Auth; + +use App\Http\Controllers\Controller; +use App\Models\User; +use Illuminate\Http\Request; +use Illuminate\Support\Facades\Hash; + +class RegisterController extends Controller +{ + public function create() + { + return view('auth.register'); + } + + public function store(Request $request) + { + $request->validate([ + 'name' => 'required|string|max:255', + 'email' => 'required|string|email|max:255|unique:users', + 'password' => 'required|string|min:8|confirmed', + ]); + + $user = User::create([ + 'name' => $request->input('name'), + 'email' => $request->input('email'), + 'password' => Hash::make($request->input('password')), + ]); + + auth()->login($user); + + return redirect()->route('users.index'); + } +} +``` + +**app/Http/Controllers/Auth/LoginController.php** +``` +namespace App\Http\Controllers\Auth; + +use App\Http\Controllers\Controller; +use Illuminate\Http\Request; +use Illuminate\Support\Facades\Auth; + +class LoginController extends Controller +{ + public function create() + { + return view('auth.login'); + } + + public function store(Request $request) + { + $request->validate([ + 'email' => 'required|string|email|max:255', + 'password' => 'required|string|min:8', + ]); + + if (!Auth::attempt($request->only(['email', 'password']))) { + return back()->withErrors(['email' => 'Invalid credentials']); + } + + return redirect()->route('users.index'); + } +} +``` + +**app/Http/Controllers/TeamController.php** +``` +namespace App\Http\Controllers; + +use App\Models\Team; +use Illuminate\Http\Request; + +class TeamController extends Controller +{ + public function index() + { + $teams = Team::latest()->get(); + + return view('teams.index', compact('teams')); + } + + public function store(Request $request) + { + $request->validate([ + 'name' => 'required|string|max:255', + ]); + + Team::create([ + 'name' => $request->input('name'), + ]); + + return redirect()->route('teams.index'); + } +} +``` + +**app/Http/Controllers/ProfileController.php** +``` +namespace App\Http\Controllers; + +use App\Models\Profile; +use Illuminate\Http\Request; + +class ProfileController extends Controller +{ + public function edit(User $user) + { + $profile = $user->profile; + + return view('profiles.edit', compact('profile')); + } + + public function update(Request $request, User $user) + { + $request->validate([ + 'bio' => 'required|string|max:255', + 'tags' => 'required|array', + ]); + + $profile = $user->profile; + + $profile->bio = $request->input('bio'); + $profile->tags = $request->input('tags'); + + $profile->save(); + + return redirect()->route('users.show', $user); + } +} +``` + +**app/Http/Controllers/UserController.php** +``` +namespace App\Http\Controllers; + +use App\Models\User; +use Illuminate\Http\Request; + +class UserController extends Controller +{ + public function index() + { + $users = User::latest()->get(); + + return view('users.index', compact('users')); + } + + public function show(User $user) + { + return view('users.show', compact('user')); + } +} +``` + +**database/migrations/create_users_table.php** +``` +use Illuminate\Database\Migrations\Migration; +use Illuminate\Database\Schema\Blueprint; + +class CreateUsersTable extends Migration +{ + public function up() + { + Schema::create('users', function (Blueprint $table) { + $table->id(); + $table->string('name'); + $table->string('email')->unique(); + $table->string('password'); + $table->rememberToken(); + $table->timestamps(); + }); + } + + public function down() + { + Schema::dropIfExists('users'); + } +} +``` + +**database/migrations/create_teams_table.php** +``` +use Illuminate\Database\Migrations\Migration; +use Illuminate\Database\Schema\Blueprint; + +class CreateTeamsTable extends Migration +{ + public function up() + { + Schema::create('teams', function (Blueprint $table) { + $table->id(); + $table->string('name'); + $table->timestamps(); + }); + } + + public function down() + { + Schema::dropIfExists('teams'); + } +} +``` + +**database/migrations/create_profiles_table.php** +``` +use Illuminate\Database\Migrations\Migration; +use Illuminate\Database\Schema\Blueprint; + +class CreateProfilesTable extends Migration +{ + public function up() + { + Schema::create('profiles', function (Blueprint $table) { + $table->id(); + $table->unsignedBigInteger('user_id'); + $table->string('bio'); + $table->string('tags'); + $table->timestamps(); + + $table->foreign('user_id')->references('id')->on('users'); + }); + } + + public function down() + { + Schema::dropIfExists('profiles'); + } +} +``` + +**database/migrations/create_tags_table.php** +``` +use Illuminate\Database\Migrations\Migration; +use Illuminate\Database\Schema\Blueprint; + +class CreateTagsTable extends Migration +{ + public function up() + { + Schema::create('tags', function (Blueprint $table) { + $table->id(); + $table->string('name'); + $table->timestamps(); + }); + } + + public function down() + { + Schema::dropIfExists('tags'); + } +} +``` + +**routes/web.php** +``` +Route::get('/', function () { + return view('welcome'); +}); + +Auth::routes(); + +Route::get('/teams', 'TeamController@index')->name('teams.index'); +Route::post('/teams', 'TeamController@store')->name('teams.store'); + +Route::get('/users', 'UserController@index')->name('users.index'); +Route::get('/users/{user}', 'UserController@show')->name('users.show'); +Route::get('/users/{user}/edit', 'ProfileController@edit')->name('users.edit'); +Route::patch('/users/{user}', 'ProfileController@update')->name('users.update'); +``` + +This concludes a fully working implementation. + +2024-07-21T20:52:43.603967 +================================ System Message ================================ + +You will get instructions for code to write. +You will write a very long answer. Make sure that every detail of the architecture is, in the end, implemented as code. +Think step by step and reason yourself to the correct decisions to make sure we get it right. +First lay out the names of the core classes, functions, methods that will be necessary, As well as a quick comment on their purpose. + +You will output the content of each file necessary to achieve the goal, including ALL code. +Represent files like so: + +FILENAME +``` +CODE +``` + +The following tokens must be replaced like so: +FILENAME is the lowercase combined path and file name including the file extension +CODE is the code in the file + +Example representation of a file: + +src/hello_world.py +``` +print("Hello World") +``` + +Do not comment on what every file does. Please note that the code should be fully functional. No placeholders. + + +You will start with the "entrypoint" file, then go to the ones that are imported by that file, and so on. +Please note that the code should be fully functional. No placeholders. + +Follow a language and framework appropriate best practice file naming convention. +Make sure that files contain all imports, types etc. The code should be fully functional. Make sure that code in different files are compatible with each other. +Ensure to implement all code, if you are unsure, write a plausible implementation. +Include module dependency or package manager dependency definition file. +Before you finish, double check that all parts of the architecture is present in the files. + +When you are done, write finish with "this concludes a fully working implementation". + +Useful to know: +Almost always put different classes in different files. +Always use the programming language the user asks for. +For Python, you always create an appropriate requirements.txt file. +For NodeJS, you always create an appropriate package.json file. +Always add a comment briefly describing the purpose of the function definition. +Add comments explaining very complex bits of logic. +Always follow the best practices for the requested languages for folder/file structure and how to package the project. + + +Python toolbelt preferences: +- pytest +- dataclasses + + +================================ Human Message ================================= + +Request: +# 社員がプロフィールを登録・公開し、お互いに参照できるシステム + +## 機能 + +### ユーザー登録 + +- ユーザー登録画面で、ユーザー名とパスワードを入力して登録ボタンを押すことにより、新規ユーザーを登録することができる。 +- ユーザー名は、既存のユーザーと重複してはいけない。 +- ユーザー登録に成功したら、ログイン済み状態として、ユーザー一覧画面へ遷移する。 + +### ログイン + +- ログイン画面で、ユーザー名とパスワードを入力してログインボタンを押すことにより、ログインすることができる。 +- ログインに成功したら、ユーザー一覧画面へ遷移する。 + +### チーム一覧・作成 + +- チームの一覧が、チームの作成日時降順で表示される。 +- チーム名を入力して作成ボタンを押すと、チームが作成される。 +- チームの作成後、本画面が再表示される。 + +### プロフィール編集 + +- 自身の`所属チーム`・`プロフィール`・`タグ`を編集できる。 +- 所属チームは、既存チームからの選択式とする。 +- プロフィールは自由入力とする。 +- タグは自由入力で、複数入力できるようにする。 + +### ユーザー一覧・検索 + +- デフォルトでは全てのユーザーが一覧表示される。 +- 検索条件を入力して検索ボタンを押すと、検索条件がプロフィールに部分一致するユーザーのみにフィルタリングできる。 +- 一覧は、ユーザー登録日時の降順で表示される。 +- 表示内容は、`ユーザー名`・`プロフィール`で、`プロフィール`は先頭10文字と三点リーダーを表示する。 +- ユーザー名をクリックすると、そのユーザーのユーザー詳細画面へ遷移する。 +- `チーム一覧へ`をクリックすると、チーム一覧画面へ遷移する。 + +### ユーザー詳細画面 + +- 特定のユーザーの、`ユーザー名`・`所属チーム`・`プロフィール`・`タグ`が表示される。 +- プロフィールの表示はマークダウンに対応させる。 +- `一覧へ`リンクをクリックすると、ユーザー一覧画面へ遷移する。 + +## あなたが作成するもの + +バックエンドのプログラム一式を作成してください。 +フロントエンドのプログラムは不要です。 + +- `/api`ディレクトリ以下に作成。 +- Python/FastAPI/SQLAlchemyを使う。 +- DBはSQLiteを使う。 +- 必要に応じて外部ライブラリを使う。 +- クラウドや外部サービス(外部API)は使わない。 +- .gitignoreを含めること。 +- バックエンド +@app.post(" +def lumbda_function(): + +gradio_interface でメイン関数から読み込めるようにして + +googleappsscript +ラインの画像検索システム + +ファイルは1ファイルで作成して。 +1ファイル1機能で難しくしたくない + +1,lineからデータがくる +2,doPostで取得 +3.typeがイメージの場合はドライブに保存 +4,保存したデータをS3にアップロード +5.データはシークレットから取得 +6,plantumlでフローの作成 +7,システムドキュメントの作成 + +gradio は gradio_interface というBlock名で作成 +fastapiはrouter の作成 + + + +================================== Ai Message ================================== + +Here is the implementation of the backend system using Python, FastAPI, and SQLAlchemy. + +**Directory Structure** +``` +api/ +app/ +__init__.py +main.py +models/ +__init__.py +user.py +team.py +schemas/ +__init__.py +user.py +team.py +routers/ +__init__.py +user.py +team.py +utils/ +__init__.py +database.py +security.py +requirements.txt +.gitignore +``` + +**requirements.txt** +``` +fastapi +sqlalchemy +pydantic +``` + +**.gitignore** +``` +*.pyc +__pycache__/ +.env +``` + +**app/main.py** +``` +from fastapi import FastAPI, Depends +from fastapi.security import OAuth2PasswordBearer +from sqlalchemy.orm import Session +from app.routers import user, team +from app.utils.database import get_db + +app = FastAPI() + +oauth2_scheme = OAuth2PasswordBearer(tokenUrl="token") + +@app.get("/") +def read_root(): + return {"message": "Welcome to this fantastic app!"} + +app.include_router(user.router) +app.include_router(team.router) +``` + +**app/models/user.py** +``` +from sqlalchemy import Column, Integer, String +from sqlalchemy.ext.declarative import declarative_base +from sqlalchemy.orm import relationship + +Base = declarative_base() + +class User(Base): + __tablename__ = "users" + + id = Column(Integer, primary_key=True) + username = Column(String, unique=True) + password = Column(String) + profile = Column(String) + team_id = Column(Integer, ForeignKey("teams.id")) + team = relationship("Team", backref="users") + + def __repr__(self): + return f"User(username={self.username}, profile={self.profile})" +``` + +**app/models/team.py** +``` +from sqlalchemy import Column, Integer, String +from sqlalchemy.ext.declarative import declarative_base + +Base = declarative_base() + +class Team(Base): + __tablename__ = "teams" + + id = Column(Integer, primary_key=True) + name = Column(String, unique=True) + created_at = Column(DateTime, default=datetime.utcnow) + + def __repr__(self): + return f"Team(name={self.name}, created_at={self.created_at})" +``` + +**app/schemas/user.py** +``` +from pydantic import BaseModel + +class UserBase(BaseModel): + username: str + profile: str + +class UserCreate(UserBase): + password: str + +class User(UserBase): + id: int + team_id: int + + class Config: + orm_mode = True +``` + +**app/schemas/team.py** +``` +from pydantic import BaseModel + +class TeamBase(BaseModel): + name: str + +class TeamCreate(TeamBase): + pass + +class Team(TeamBase): + id: int + created_at: datetime + + class Config: + orm_mode = True +``` + +**app/routers/user.py** +``` +from fastapi import APIRouter, Depends +from sqlalchemy.orm import Session +from app.schemas.user import UserCreate, User +from app.models.user import User as UserModel +from app.utils.database import get_db + +router = APIRouter() + +@router.post("/users/") +def create_user(user: UserCreate, db: Session = Depends()): + db_user = UserModel(username=user.username, password=user.password, profile=user.profile) + db.add(db_user) + db.commit() + db.refresh(db_user) + return db_user + +@router.get("/users/") +def read_users(db: Session = Depends()): + users = db.query(UserModel).all() + return users + +@router.get("/users/{user_id}") +def read_user(user_id: int, db: Session = Depends()): + user = db.query(UserModel).filter(UserModel.id == user_id).first() + return user +``` + +**app/routers/team.py** +``` +from fastapi import APIRouter, Depends +from sqlalchemy.orm import Session +from app.schemas.team import TeamCreate, Team +from app.models.team import Team as TeamModel +from app.utils.database import get_db + +router = APIRouter() + +@router.post("/teams/") +def create_team(team: TeamCreate, db: Session = Depends()): + db_team = TeamModel(name=team.name) + db.add(db_team) + db.commit() + db.refresh(db_team) + return db_team + +@router.get("/teams/") +def read_teams(db: Session = Depends()): + teams = db.query(TeamModel).all() + return teams +``` + +**app/utils/database.py** +``` +from sqlalchemy import create_engine +from sqlalchemy.orm import sessionmaker + +SQLALCHEMY_DATABASE_URL = "sqlite:///./sql_app.db" +engine = create_engine(SQLALCHEMY_DATABASE_URL) +SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine) + +def get_db(): + db = SessionLocal() + try: + yield db + finally: + db.close() +``` + +This concludes a fully working implementation. + +2024-07-21T21:39:34.731980 +================================ System Message ================================ + +You will get instructions for code to write. +You will write a very long answer. Make sure that every detail of the architecture is, in the end, implemented as code. +Think step by step and reason yourself to the correct decisions to make sure we get it right. +First lay out the names of the core classes, functions, methods that will be necessary, As well as a quick comment on their purpose. + +You will output the content of each file necessary to achieve the goal, including ALL code. +Represent files like so: + +FILENAME +``` +CODE +``` + +The following tokens must be replaced like so: +FILENAME is the lowercase combined path and file name including the file extension +CODE is the code in the file + +Example representation of a file: + +src/hello_world.py +``` +print("Hello World") +``` + +Do not comment on what every file does. Please note that the code should be fully functional. No placeholders. + + +You will start with the "entrypoint" file, then go to the ones that are imported by that file, and so on. +Please note that the code should be fully functional. No placeholders. + +Follow a language and framework appropriate best practice file naming convention. +Make sure that files contain all imports, types etc. The code should be fully functional. Make sure that code in different files are compatible with each other. +Ensure to implement all code, if you are unsure, write a plausible implementation. +Include module dependency or package manager dependency definition file. +Before you finish, double check that all parts of the architecture is present in the files. + +When you are done, write finish with "this concludes a fully working implementation". + +Useful to know: +Almost always put different classes in different files. +Always use the programming language the user asks for. +For Python, you always create an appropriate requirements.txt file. +For NodeJS, you always create an appropriate package.json file. +Always add a comment briefly describing the purpose of the function definition. +Add comments explaining very complex bits of logic. +Always follow the best practices for the requested languages for folder/file structure and how to package the project. + + +Python toolbelt preferences: +- pytest +- dataclasses + + +================================ Human Message ================================= + +Request: +# 社員がプロフィールを登録・公開し、お互いに参照できるシステム + +## 機能 + +### ユーザー登録 + +- ユーザー登録画面で、ユーザー名とパスワードを入力して登録ボタンを押すことにより、新規ユーザーを登録することができる。 +- ユーザー名は、既存のユーザーと重複してはいけない。 +- ユーザー登録に成功したら、ログイン済み状態として、ユーザー一覧画面へ遷移する。 + +### ログイン + +- ログイン画面で、ユーザー名とパスワードを入力してログインボタンを押すことにより、ログインすることができる。 +- ログインに成功したら、ユーザー一覧画面へ遷移する。 + +### チーム一覧・作成 + +- チームの一覧が、チームの作成日時降順で表示される。 +- チーム名を入力して作成ボタンを押すと、チームが作成される。 +- チームの作成後、本画面が再表示される。 + +### プロフィール編集 + +- 自身の`所属チーム`・`プロフィール`・`タグ`を編集できる。 +- 所属チームは、既存チームからの選択式とする。 +- プロフィールは自由入力とする。 +- タグは自由入力で、複数入力できるようにする。 + +### ユーザー一覧・検索 + +- デフォルトでは全てのユーザーが一覧表示される。 +- 検索条件を入力して検索ボタンを押すと、検索条件がプロフィールに部分一致するユーザーのみにフィルタリングできる。 +- 一覧は、ユーザー登録日時の降順で表示される。 +- 表示内容は、`ユーザー名`・`プロフィール`で、`プロフィール`は先頭10文字と三点リーダーを表示する。 +- ユーザー名をクリックすると、そのユーザーのユーザー詳細画面へ遷移する。 +- `チーム一覧へ`をクリックすると、チーム一覧画面へ遷移する。 + +### ユーザー詳細画面 + +- 特定のユーザーの、`ユーザー名`・`所属チーム`・`プロフィール`・`タグ`が表示される。 +- プロフィールの表示はマークダウンに対応させる。 +- `一覧へ`リンクをクリックすると、ユーザー一覧画面へ遷移する。 + +## あなたが作成するもの + +バックエンドのプログラム一式を作成してください。 +フロントエンドのプログラムは不要です。 + +- `/api`ディレクトリ以下に作成。 +- Python/FastAPI/SQLAlchemyを使う。 +- DBはSQLiteを使う。 +- 必要に応じて外部ライブラリを使う。 +- クラウドや外部サービス(外部API)は使わない。 +- .gitignoreを含めること。 +- バックエンド +@app.post(" +def lumbda_function(): + +gradio_interface でメイン関数から読み込めるようにして + +googleappsscript +ラインの画像検索システム + +ファイルは1ファイルで作成して。 +1ファイル1機能で難しくしたくない + +1,lineからデータがくる +2,doPostで取得 +3.typeがイメージの場合はドライブに保存 +4,保存したデータをS3にアップロード +5.データはシークレットから取得 +6,plantumlでフローの作成 +7,システムドキュメントの作成 + +gradio は gradio_interface というBlock名で作成 +fastapiはrouter の作成 + + + +================================== Ai Message ================================== + +Here is the implementation of the backend system using Python, FastAPI, and SQLAlchemy. + +**Directory Structure** +``` +api/ +app/ +__init__.py +main.py +models/ +__init__.py +user.py +team.py +schema/ +__init__.py +user.py +team.py +crud/ +__init__.py +user.py +team.py +routes/ +__init__.py +user.py +team.py +requirements.txt +.gitignore +``` + +**Files** + +**api/app/__init__.py** +``` +from fastapi import FastAPI +from fastapi.responses import JSONResponse +from fastapi.requests import Request +from fastapi.exceptions import RequestValidationError +from fastapi.responses import JSONResponse +from fastapi.encoders import jsonable_encoder +from pydantic import BaseModel +from sqlalchemy import create_engine +from sqlalchemy.orm import sessionmaker +from sqlalchemy.ext.declarative import declarative_base +from sqlalchemy import Column, Integer, String, DateTime +from sqlalchemy.orm import relationship + +SQLALCHEMY_DATABASE_URL = "sqlite:///./sql_app.db" +engine = create_engine(SQLALCHEMY_DATABASE_URL) +SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine) +Base = declarative_base() + +app = FastAPI() +``` + +**api/app/main.py** +``` +from fastapi import FastAPI, Depends +from fastapi.responses import JSONResponse +from fastapi.requests import Request +from fastapi.exceptions import RequestValidationError +from fastapi.responses import JSONResponse +from fastapi.encoders import jsonable_encoder +from pydantic import BaseModel +from sqlalchemy.orm import Session +from . import models, schema, crud +from .database import SessionLocal, engine + +models.Base.metadata.create_all(bind=engine) + +app = FastAPI() + +def get_db(): + db = SessionLocal() + try: + yield db + finally: + db.close() + +@app.post("/users/") +def create_user(user: schema.UserCreate, db: Session = Depends(get_db)): + return crud.create_user(db=db, user=user) + +@app.get("/users/") +def read_users(skip: int = 0, limit: int = 100, db: Session = Depends(get_db)): + return crud.get_users(db, skip=skip, limit=limit) + +@app.get("/users/{user_id}") +def read_user(user_id: int, db: Session = Depends(get_db)): + return crud.get_user(db, user_id=user_id) + +@app.post("/teams/") +def create_team(team: schema.TeamCreate, db: Session = Depends(get_db)): + return crud.create_team(db=db, team=team) + +@app.get("/teams/") +def read_teams(skip: int = 0, limit: int = 100, db: Session = Depends(get_db)): + return crud.get_teams(db, skip=skip, limit=limit) + +@app.get("/teams/{team_id}") +def read_team(team_id: int, db: Session = Depends(get_db)): + return crud.get_team(db, team_id=team_id) +``` + +**api/app/models/user.py** +``` +from sqlalchemy import Column, Integer, String, DateTime +from sqlalchemy.ext.declarative import declarative_base +from sqlalchemy.orm import relationship + +Base = declarative_base() + +class User(Base): + __tablename__ = "users" + + id = Column(Integer, primary_key=True) + username = Column(String, unique=True, index=True) + password = Column(String) + profile = Column(String) + team_id = Column(Integer, ForeignKey("teams.id")) + team = relationship("Team", backref="users") + + def __repr__(self): + return f"User(username={self.username}, profile={self.profile})" +``` + +**api/app/models/team.py** +``` +from sqlalchemy import Column, Integer, String, DateTime +from sqlalchemy.ext.declarative import declarative_base +from sqlalchemy.orm import relationship + +Base = declarative_base() + +class Team(Base): + __tablename__ = "teams" + + id = Column(Integer, primary_key=True) + name = Column(String, unique=True, index=True) + created_at = Column(DateTime, default=datetime.datetime.utcnow) + + def __repr__(self): + return f"Team(name={self.name}, created_at={self.created_at})" +``` + +**api/app/schema/user.py** +``` +from pydantic import BaseModel +from typing import Optional + +class UserBase(BaseModel): + username: str + password: str + profile: Optional[str] = None + +class UserCreate(UserBase): + pass + +class User(UserBase): + id: int + team_id: int + + class Config: + orm_mode = True +``` + +**api/app/schema/team.py** +``` +from pydantic import BaseModel +from typing import Optional + +class TeamBase(BaseModel): + name: str + +class TeamCreate(TeamBase): + pass + +class Team(TeamBase): + id: int + created_at: datetime.datetime + + class Config: + orm_mode = True +``` + +**api/app/crud/user.py** +``` +from sqlalchemy.orm import Session +from . import models, schema + +def create_user(db: Session, user: schema.UserCreate): + db_user = models.User(username=user.username, password=user.password, profile=user.profile) + db.add(db_user) + db.commit() + db.refresh(db_user) + return db_user + +def get_users(db: Session, skip: int = 0, limit: int = 100): + return db.query(models.User).offset(skip).limit(limit).all() + +def get_user(db: Session, user_id: int): + return db.query(models.User).filter(models.User.id == user_id).first() +``` + +**api/app/crud/team.py** +``` +from sqlalchemy.orm import Session +from . import models, schema + +def create_team(db: Session, team: schema.TeamCreate): + db_team = models.Team(name=team.name) + db.add(db_team) + db.commit() + db.refresh(db_team) + return db_team + +def get_teams(db: Session, skip: int = 0, limit: int = 100): + return db.query(models.Team).offset(skip).limit(limit).all() + +def get_team(db: Session, team_id: int): + return db.query(models.Team).filter(models.Team.id == team_id).first() +``` + +**api/app/routes/user.py** +``` +from fastapi import APIRouter +from . import crud +from . import schema + +router = APIRouter() + +@router.post("/users/") +def create_user(user: schema.UserCreate): + return crud.create_user(user=user) + +@router.get("/users/") +def read_users(skip: int = 0, limit: int = 100): + return crud.get_users(skip=skip, limit=limit) + +@router.get("/users/{user_id}") +def read_user(user_id: int): + return crud.get_user(user_id=user_id) +``` + +**api/app/routes/team.py** +``` +from fastapi import APIRouter +from . import crud +from . import schema + +router = APIRouter() + +@router.post("/teams/") +def create_team(team: schema.TeamCreate): + return crud.create_team(team=team) + +@router.get("/teams/") +def read_teams(skip: int = 0, limit: int = 100): + return crud.get_teams(skip=skip, limit=limit) + +@router.get("/teams/{team_id}") +def read_team(team_id: int): + return crud.get_team(team_id=team_id) +``` + +**requirements.txt** +``` +fastapi +sqlalchemy +pydantic +``` + +**.gitignore** +``` +__pycache__/ +*.pyc +*.db +``` + +This concludes a fully working implementation. diff --git a/controllers/test_folders/.gpteng/memory/logs/gen_entrypoint_chat.txt b/controllers/test_folders/.gpteng/memory/logs/gen_entrypoint_chat.txt new file mode 100644 index 0000000000000000000000000000000000000000..d878c4ae4c6b48b030f9bb77fb25212e680b7263 --- /dev/null +++ b/controllers/test_folders/.gpteng/memory/logs/gen_entrypoint_chat.txt @@ -0,0 +1,1565 @@ + +2024-07-21T16:32:49.833484 +================================ System Message ================================ + +You will get information about a codebase that is currently on disk in the current folder. +The user will ask you to write a script that runs the code in a specific way. +You will answer with code blocks that include all the necessary terminal commands. +Do not install globally. Do not use sudo. +Do not explain the code, just give the commands. +Do not use placeholders, use example values (like . for a folder argument) if necessary. + + +================================ Human Message ================================= + + + Make a unix script that + a) installs dependencies + b) runs all necessary parts of the codebase (in parallel if necessary) + +Information about the codebase: + +``` +File: main.py +1 from bank import Bank +2 +3 def main(): +4 bank = Bank() +5 bank.run() +6 +7 if __name__ == "__main__": +8 main() + +File: bank.py +1 from account import Account +2 +3 class Bank: +4 def __init__(self): +5 self.accounts = [] +6 +7 def create_account(self, account_number, initial_balance): +8 account = Account(account_number, initial_balance) +9 self.accounts.append(account) +10 return account +11 +12 def get_account(self, account_number): +13 for account in self.accounts: +14 if account.account_number == account_number: +15 return account +16 return None +17 +18 def run(self): +19 while True: +20 print("1. Create account") +21 print("2. Deposit") +22 print("3. Withdraw") +23 print("4. Check balance") +24 print("5. Exit") +25 choice = input("Choose an option: ") +26 if choice == "1": +27 account_number = input("Enter account number: ") +28 initial_balance = float(input("Enter initial balance: ")) +29 self.create_account(account_number, initial_balance) +30 elif choice == "2": +31 account_number = input("Enter account number: ") +32 amount = float(input("Enter amount to deposit: ")) +33 account = self.get_account(account_number) +34 if account: +35 account.deposit(amount) +36 else: +37 print("Account not found") +38 elif choice == "3": +39 account_number = input("Enter account number: ") +40 amount = float(input("Enter amount to withdraw: ")) +41 account = self.get_account(account_number) +42 if account: +43 account.withdraw(amount) +44 else: +45 print("Account not found") +46 elif choice == "4": +47 account_number = input("Enter account number: ") +48 account = self.get_account(account_number) +49 if account: +50 print("Balance:", account.balance) +51 else: +52 print("Account not found") +53 elif choice == "5": +54 break +55 else: +56 print("Invalid option") + +File: account.py +1 from dataclasses import dataclass +2 from transaction import Transaction +3 +4 @dataclass +5 class Account: +6 account_number: str +7 balance: float +8 +9 def deposit(self, amount): +10 transaction = Transaction("deposit", amount) +11 self.balance += amount +12 print("Deposit successful. New balance:", self.balance) +13 +14 def withdraw(self, amount): +15 if amount > self.balance: +16 print("Insufficient balance") +17 else: +18 transaction = Transaction("withdrawal", amount) +19 self.balance -= amount +20 print("Withdrawal successful. New balance:", self.balance) + +File: transaction.py +1 from dataclasses import dataclass +2 +3 @dataclass +4 class Transaction: +5 type: str +6 amount: float + +File: requirements.txt +1 dataclasses + +``` + +================================== Ai Message ================================== + +Here is the Unix script that installs dependencies and runs the codebase: + +``` +#!/bin/bash + +# Install dependencies +python -m pip install --user -r requirements.txt + +# Run the code +python main.py +``` + +2024-07-21T16:38:18.741534 +================================ System Message ================================ + +You will get information about a codebase that is currently on disk in the current folder. +The user will ask you to write a script that runs the code in a specific way. +You will answer with code blocks that include all the necessary terminal commands. +Do not install globally. Do not use sudo. +Do not explain the code, just give the commands. +Do not use placeholders, use example values (like . for a folder argument) if necessary. + + +================================ Human Message ================================= + + + Make a unix script that + a) installs dependencies + b) runs all necessary parts of the codebase (in parallel if necessary) + +Information about the codebase: + +``` +File: Structure +1 api/ +2 app/ +3 __init__.py +4 main.py +5 models/ +6 __init__.py +7 user.py +8 team.py +9 schemas/ +10 __init__.py +11 user.py +12 team.py +13 routers/ +14 __init__.py +15 user.py +16 team.py +17 utils/ +18 __init__.py +19 database.py +20 security.py +21 requirements.txt +22 .gitignore + +File: requirements.txt +1 fastapi +2 sqlalchemy +3 pydantic + +File: .gitignore +1 *.pyc +2 __pycache__/ + +File: app/main.py +1 from fastapi import FastAPI, Depends +2 from fastapi.security import OAuth2PasswordBearer +3 from sqlalchemy.orm import Session +4 from app.routers import user, team +5 from app.utils.database import get_db +6 +7 app = FastAPI() +8 +9 oauth2_scheme = OAuth2PasswordBearer(tokenUrl="token") +10 +11 @app.get("/") +12 def read_root(): +13 return {"message": "Welcome to this fantastic app!"} +14 +15 app.include_router(user.router) +16 app.include_router(team.router) + +File: app/models/user.py +1 from sqlalchemy import Column, Integer, String +2 from sqlalchemy.ext.declarative import declarative_base +3 from sqlalchemy.orm import relationship +4 +5 Base = declarative_base() +6 +7 class User(Base): +8 __tablename__ = "users" +9 id = Column(Integer, primary_key=True) +10 username = Column(String, unique=True) +11 password = Column(String) +12 profile = Column(String) +13 team_id = Column(Integer, ForeignKey("teams.id")) +14 team = relationship("Team", backref="users") +15 +16 def __repr__(self): +17 return f"User(username={self.username}, profile={self.profile})" + +File: app/models/team.py +1 from sqlalchemy import Column, Integer, String +2 from sqlalchemy.ext.declarative import declarative_base +3 +4 Base = declarative_base() +5 +6 class Team(Base): +7 __tablename__ = "teams" +8 id = Column(Integer, primary_key=True) +9 name = Column(String, unique=True) +10 created_at = Column(DateTime, default=datetime.utcnow) +11 +12 def __repr__(self): +13 return f"Team(name={self.name}, created_at={self.created_at})" + +File: app/schemas/user.py +1 from pydantic import BaseModel +2 +3 class UserBase(BaseModel): +4 username: str +5 profile: str +6 +7 class UserCreate(UserBase): +8 password: str +9 +10 class UserRead(UserBase): +11 id: int +12 team: str + +File: app/schemas/team.py +1 from pydantic import BaseModel +2 +3 class TeamBase(BaseModel): +4 name: str +5 +6 class TeamCreate(TeamBase): +7 pass +8 +9 class TeamRead(TeamBase): +10 id: int +11 created_at: datetime + +File: app/routers/user.py +1 from fastapi import APIRouter, Depends +2 from sqlalchemy.orm import Session +3 from app.schemas.user import UserCreate, UserRead +4 from app.models.user import User +5 from app.utils.database import get_db +6 +7 router = APIRouter() +8 +9 @router.post("/users/") +10 def create_user(user: UserCreate, db: Session = Depends()): +11 db_user = User(username=user.username, password=user.password, profile=user.profile) +12 db.add(db_user) +13 db.commit() +14 return {"message": "User created successfully"} +15 +16 @router.get("/users/") +17 def read_users(db: Session = Depends()): +18 users = db.query(User).all() +19 return [{"id": user.id, "username": user.username, "profile": user.profile} for user in users] +20 +21 @router.get("/users/{user_id}") +22 def read_user(user_id: int, db: Session = Depends()): +23 user = db.query(User).filter(User.id == user_id).first() +24 if user is None: +25 return {"message": "User not found"} +26 return {"id": user.id, "username": user.username, "profile": user.profile} + +File: app/routers/team.py +1 from fastapi import APIRouter, Depends +2 from sqlalchemy.orm import Session +3 from app.schemas.team import TeamCreate, TeamRead +4 from app.models.team import Team +5 from app.utils.database import get_db +6 +7 router = APIRouter() +8 +9 @router.post("/teams/") +10 def create_team(team: TeamCreate, db: Session = Depends()): +11 db_team = Team(name=team.name) +12 db.add(db_team) +13 db.commit() +14 return {"message": "Team created successfully"} +15 +16 @router.get("/teams/") +17 def read_teams(db: Session = Depends()): +18 teams = db.query(Team).all() +19 return [{"id": team.id, "name": team.name, "created_at": team.created_at} for team in teams] + +File: app/utils/database.py +1 from sqlalchemy import create_engine +2 from sqlalchemy.orm import sessionmaker +3 +4 SQLALCHEMY_DATABASE_URL = "sqlite:///./sql_app.db" +5 +6 engine = create_engine(SQLALCHEMY_DATABASE_URL) +7 SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine) +8 +9 def get_db(): +10 db = SessionLocal() +11 try: +12 yield db +13 finally: +14 db.close() + +``` + +================================== Ai Message ================================== + +Here is the Unix script that installs dependencies and runs the codebase: + +```bash +#!/bin/bash + +# Install dependencies +python -m pip install --user -r requirements.txt + +# Run the application +uvicorn app.main:app --host 0.0.0.0 --port 8000 +``` + +2024-07-21T16:39:36.650259 +================================ System Message ================================ + +You will get information about a codebase that is currently on disk in the current folder. +The user will ask you to write a script that runs the code in a specific way. +You will answer with code blocks that include all the necessary terminal commands. +Do not install globally. Do not use sudo. +Do not explain the code, just give the commands. +Do not use placeholders, use example values (like . for a folder argument) if necessary. + + +================================ Human Message ================================= + + + Make a unix script that + a) installs dependencies + b) runs all necessary parts of the codebase (in parallel if necessary) + +Information about the codebase: + +``` +File: Structure +1 api/ +2 app/ +3 __init__.py +4 main.py +5 models/ +6 __init__.py +7 user.py +8 team.py +9 schema/ +10 __init__.py +11 user.py +12 team.py +13 crud/ +14 __init__.py +15 user.py +16 team.py +17 routers/ +18 __init__.py +19 user.py +20 team.py +21 requirements.txt +22 .gitignore + +File: requirements.txt +1 fastapi +2 sqlalchemy +3 pydantic + +File: .gitignore +1 *.pyc +2 __pycache__/ + +File: app/main.py +1 from fastapi import FastAPI +2 from fastapi.responses import JSONResponse +3 from fastapi.requests import Request +4 from fastapi.encoders import jsonable_encoder +5 from pydantic import BaseModel +6 from sqlalchemy import create_engine +7 from sqlalchemy.orm import sessionmaker +8 from sqlalchemy.ext.declarative import declarative_base +9 from sqlalchemy import Column, Integer, String +10 from app.models.user import User +11 from app.models.team import Team +12 from app.schema.user import UserSchema +13 from app.schema.team import TeamSchema +14 from app.crud.user import crud_user +15 from app.crud.team import crud_team +16 from app.routers.user import router as user_router +17 from app.routers.team import router as team_router +18 +19 app = FastAPI() +20 +21 engine = create_engine('sqlite:///database.db') +22 SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine) +23 Base = declarative_base() +24 +25 @app.on_event("startup") +26 async def startup_event(): +27 Base.metadata.create_all(bind=engine) +28 +29 @app.on_event("shutdown") +30 async def shutdown_event(): +31 engine.dispose() +32 +33 app.include_router(user_router) +34 app.include_router(team_router) + +File: app/models/user.py +1 from sqlalchemy import Column, Integer, String +2 from sqlalchemy.ext.declarative import declarative_base +3 +4 Base = declarative_base() +5 +6 class User(Base): +7 __tablename__ = "users" +8 id = Column(Integer, primary_key=True) +9 username = Column(String, unique=True) +10 password = Column(String) +11 profile = Column(String) +12 team_id = Column(Integer) + +File: app/models/team.py +1 from sqlalchemy import Column, Integer, String +2 from sqlalchemy.ext.declarative import declarative_base +3 +4 Base = declarative_base() +5 +6 class Team(Base): +7 __tablename__ = "teams" +8 id = Column(Integer, primary_key=True) +9 name = Column(String, unique=True) +10 created_at = Column(String) + +File: app/schema/user.py +1 from pydantic import BaseModel +2 +3 class UserSchema(BaseModel): +4 username: str +5 password: str +6 profile: str +7 team_id: int + +File: app/schema/team.py +1 from pydantic import BaseModel +2 +3 class TeamSchema(BaseModel): +4 name: str + +File: app/crud/user.py +1 from app.models.user import User +2 from app.schema.user import UserSchema +3 from sqlalchemy.orm import Session +4 +5 def create_user(db: Session, user: UserSchema): +6 db_user = User(username=user.username, password=user.password, profile=user.profile, team_id=user.team_id) +7 db.add(db_user) +8 db.commit() +9 db.refresh(db_user) +10 return db_user +11 +12 def get_users(db: Session): +13 return db.query(User).all() +14 +15 def get_user(db: Session, user_id: int): +16 return db.query(User).filter(User.id == user_id).first() +17 +18 def update_user(db: Session, user_id: int, user: UserSchema): +19 db_user = get_user(db, user_id) +20 if db_user: +21 db_user.username = user.username +22 db_user.password = user.password +23 db_user.profile = user.profile +24 db_user.team_id = user.team_id +25 db.commit() +26 db.refresh(db_user) +27 return db_user + +File: app/crud/team.py +1 from app.models.team import Team +2 from app.schema.team import TeamSchema +3 from sqlalchemy.orm import Session +4 +5 def create_team(db: Session, team: TeamSchema): +6 db_team = Team(name=team.name) +7 db.add(db_team) +8 db.commit() +9 db.refresh(db_team) +10 return db_team +11 +12 def get_teams(db: Session): +13 return db.query(Team).all() + +File: app/routers/user.py +1 from fastapi import APIRouter, Depends +2 from fastapi.responses import JSONResponse +3 from fastapi.requests import Request +4 from fastapi.encoders import jsonable_encoder +5 from app.crud.user import create_user, get_users, get_user, update_user +6 from app.schema.user import UserSchema +7 from app.main import get_db +8 +9 router = APIRouter() +10 +11 @router.post("/users/") +12 async def create_user_endpoint(user: UserSchema, db: Session = Depends(get_db)): +13 return create_user(db, user) +14 +15 @router.get("/users/") +16 async def get_users_endpoint(db: Session = Depends(get_db)): +17 return get_users(db) +18 +19 @router.get("/users/{user_id}") +20 async def get_user_endpoint(user_id: int, db: Session = Depends(get_db)): +21 return get_user(db, user_id) +22 +23 @router.put("/users/{user_id}") +24 async def update_user_endpoint(user_id: int, user: UserSchema, db: Session = Depends(get_db)): +25 return update_user(db, user_id, user) + +File: app/routers/team.py +1 from fastapi import APIRouter, Depends +2 from fastapi.responses import JSONResponse +3 from fastapi.requests import Request +4 from fastapi.encoders import jsonable_encoder +5 from app.crud.team import create_team, get_teams +6 from app.schema.team import TeamSchema +7 from app.main import get_db +8 +9 router = APIRouter() +10 +11 @router.post("/teams/") +12 async def create_team_endpoint(team: TeamSchema, db: Session = Depends(get_db)): +13 return create_team(db, team) +14 +15 @router.get("/teams/") +16 async def get_teams_endpoint(db: Session = Depends(get_db)): +17 return get_teams(db) + +``` + +================================== Ai Message ================================== + +``` +#!/bin/bash + +# Install dependencies +pip install -r requirements.txt + +# Run the application +uvicorn app.main:app --host 0.0.0.0 --port 8000 +``` + +2024-07-21T16:40:19.896752 +================================ System Message ================================ + +You will get information about a codebase that is currently on disk in the current folder. +The user will ask you to write a script that runs the code in a specific way. +You will answer with code blocks that include all the necessary terminal commands. +Do not install globally. Do not use sudo. +Do not explain the code, just give the commands. +Do not use placeholders, use example values (like . for a folder argument) if necessary. + + +================================ Human Message ================================= + + + Make a unix script that + a) installs dependencies + b) runs all necessary parts of the codebase (in parallel if necessary) + +Information about the codebase: + +``` +File: Structure +1 app +2 Models +3 User.php +4 Team.php +5 Profile.php +6 Tag.php +7 ... +8 Controllers +9 Auth +10 RegisterController.php +11 LoginController.php +12 ... +13 Controllers +14 TeamController.php +15 ProfileController.php +16 UserController.php +17 ... +18 Requests +19 RegisterRequest.php +20 LoginRequest.php +21 ... +22 ... +23 routes +24 web.php +25 api.php +26 ... +27 database +28 migrations +29 create_users_table.php +30 create_teams_table.php +31 create_profiles_table.php +32 create_tags_table.php +33 ... +34 seeds +35 DatabaseSeeder.php +36 ... +37 ... +38 composer.json + +File: composer.json +1 { +2 "name": "laravel/laravel", +3 "description": "The Laravel Framework.", +4 "keywords": ["framework", "laravel"], +5 "license": "MIT", +6 "type": "project", +7 "require": { +8 "php": "^7.2.5", +9 "fideloper/proxy": "^4.2", +10 "fruitcake/laravel-cors": "^2.0", +11 "guzzlehttp/guzzle": "^7.0.1", +12 "laravel/framework": "^8.40", +13 "laravel/tinker": "^2.5" +14 }, +15 "require-dev": { +16 "facade/ignition": "^2.5", +17 "fakerphp/faker": "^1.9.1", +18 "laravel/sail": "^1.0.1", +19 "mockery/mockery": "^1.4.2", +20 "nunomaduro/collision": "^5.0", +21 "phpunit/phpunit": "^9.3.3" +22 }, +23 "config": { +24 "optimize-autoloader": true, +25 "preferred-install": "dist", +26 "sort-packages": true +27 }, +28 "extra": { +29 "laravel": { +30 "dont-discover": [] +31 } +32 }, +33 "autoload": { +34 "psr-4": { +35 "App\": "app/", +36 "Database\Factories\": "database/factories/", +37 "Database\Seeders\": "database/seeders/" +38 } +39 }, +40 "autoload-dev": { +41 "psr-4": { +42 "Tests\": "tests/" +43 } +44 }, +45 "minimum-stability": "dev", +46 "prefer-stable": true, +47 "scripts": { +48 "post-autoload-dump": [ +49 "Illuminate\Foundation\ComposerScripts::postAutoloadDump", +50 "@php artisan package:discover --ansi" +51 ], +52 "post-root-package-install": [ +53 "@php -r \"file_exists('.env') || copy('.env.example', '.env');\"" +54 ], +55 "post-create-project-cmd": [ +56 "@php artisan key:generate --ansi" +57 ] +58 } +59 } + +File: app/Models/User.php +1 namespace App\Models; +2 +3 use Illuminate\Database\Eloquent\Model; +4 use Illuminate\Support\Facades\Hash; +5 +6 class User extends Model +7 { +8 protected $fillable = [ +9 'name', +10 'email', +11 'password', +12 ]; +13 +14 protected $hidden = [ +15 'password', +16 'remember_token', +17 ]; +18 +19 public function profile() +20 { +21 return $this->hasOne(Profile::class); +22 } +23 +24 public function teams() +25 { +26 return $this->belongsToMany(Team::class); +27 } +28 } + +File: app/Models/Team.php +1 namespace App\Models; +2 +3 use Illuminate\Database\Eloquent\Model; +4 +5 class Team extends Model +6 { +7 protected $fillable = [ +8 'name', +9 ]; +10 +11 public function users() +12 { +13 return $this->belongsToMany(User::class); +14 } +15 } + +File: app/Models/Profile.php +1 namespace App\Models; +2 +3 use Illuminate\Database\Eloquent\Model; +4 +5 class Profile extends Model +6 { +7 protected $fillable = [ +8 'user_id', +9 'bio', +10 'tags', +11 ] +12 +13 public function user() +14 { +15 return $this->belongsTo(User::class); +16 } +17 } + +File: app/Models/Tag.php +1 namespace App\Models; +2 +3 use Illuminate\Database\Eloquent\Model; +4 +5 class Tag extends Model +6 { +7 protected $fillable = [ +8 'name', +9 ]; +10 +11 public function profiles() +12 { +13 return $this->belongsToMany(Profile::class); +14 } +15 } + +File: app/Http/Controllers/Auth/RegisterController.php +1 namespace App\Http\Controllers\Auth; +2 +3 use App\Http\Controllers\Controller; +4 use App\Models\User; +5 use Illuminate\Http\Request; +6 use Illuminate\Support\Facades\Hash; +7 +8 class RegisterController extends Controller +9 { +10 public function create() +11 { +12 return view('auth.register'); +13 } +14 +15 public function store(Request $request) +16 { +17 $request->validate([ +18 'name' => 'required|string|max:255', +19 'email' => 'required|string|email|max:255|unique:users', +20 'password' => 'required|string|min:8|confirmed', +21 ]); +22 +23 $user = User::create([ +24 'name' => $request->input('name'), +25 'email' => $request->input('email'), +26 'password' => Hash::make($request->input('password')), +27 ]); +28 +29 auth()->login($user); +30 +31 return redirect()->route('users.index'); +32 } +33 } + +File: app/Http/Controllers/Auth/LoginController.php +1 namespace App\Http\Controllers\Auth; +2 +3 use App\Http\Controllers\Controller; +4 use Illuminate\Http\Request; +5 use Illuminate\Support\Facades\Auth; +6 +7 class LoginController extends Controller +8 { +9 public function create() +10 { +11 return view('auth.login'); +12 } +13 +14 public function store(Request $request) +15 { +16 $request->validate([ +17 'email' => 'required|string|email|max:255', +18 'password' => 'required|string|min:8', +19 ]); +20 +21 if (!Auth::attempt($request->only(['email', 'password']))) { +22 return back()->withErrors(['email' => 'Invalid credentials']); +23 } +24 +25 return redirect()->route('users.index'); +26 } +27 } + +File: app/Http/Controllers/TeamController.php +1 namespace App\Http\Controllers; +2 +3 use App\Models\Team; +4 use Illuminate\Http\Request; +5 +6 class TeamController extends Controller +7 { +8 public function index() +9 { +10 $teams = Team::latest()->get(); +11 +12 return view('teams.index', compact('teams')); +13 } +14 +15 public function store(Request $request) +16 { +17 $request->validate([ +18 'name' => 'required|string|max:255', +19 ]); +20 +21 Team::create([ +22 'name' => $request->input('name'), +23 ]); +24 +25 return redirect()->route('teams.index'); +26 } +27 } + +File: app/Http/Controllers/ProfileController.php +1 namespace App\Http\Controllers; +2 +3 use App\Models\Profile; +4 use Illuminate\Http\Request; +5 +6 class ProfileController extends Controller +7 { +8 public function edit(User $user) +9 { +10 $profile = $user->profile; +11 +12 return view('profiles.edit', compact('profile')); +13 } +14 +15 public function update(Request $request, User $user) +16 { +17 $request->validate([ +18 'bio' => 'required|string|max:255', +19 'tags' => 'required|array', +20 ]); +21 +22 $profile = $user->profile; +23 +24 $profile->bio = $request->input('bio'); +25 $profile->tags = $request->input('tags'); +26 +27 $profile->save(); +28 +29 return redirect()->route('users.show', $user); +30 } +31 } + +File: app/Http/Controllers/UserController.php +1 namespace App\Http\Controllers; +2 +3 use App\Models\User; +4 use Illuminate\Http\Request; +5 +6 class UserController extends Controller +7 { +8 public function index() +9 { +10 $users = User::latest()->get(); +11 +12 return view('users.index', compact('users')); +13 } +14 +15 public function show(User $user) +16 { +17 return view('users.show', compact('user')); +18 } +19 } + +File: database/migrations/create_users_table.php +1 use Illuminate\Database\Migrations\Migration; +2 use Illuminate\Database\Schema\Blueprint; +3 +4 class CreateUsersTable extends Migration +5 { +6 public function up() +7 { +8 Schema::create('users', function (Blueprint $table) { +9 $table->id(); +10 $table->string('name'); +11 $table->string('email')->unique(); +12 $table->string('password'); +13 $table->rememberToken(); +14 $table->timestamps(); +15 }); +16 } +17 +18 public function down() +19 { +20 Schema::dropIfExists('users'); +21 } +22 } + +File: database/migrations/create_teams_table.php +1 use Illuminate\Database\Migrations\Migration; +2 use Illuminate\Database\Schema\Blueprint; +3 +4 class CreateTeamsTable extends Migration +5 { +6 public function up() +7 { +8 Schema::create('teams', function (Blueprint $table) { +9 $table->id(); +10 $table->string('name'); +11 $table->timestamps(); +12 }); +13 } +14 +15 public function down() +16 { +17 Schema::dropIfExists('teams'); +18 } +19 } + +File: database/migrations/create_profiles_table.php +1 use Illuminate\Database\Migrations\Migration; +2 use Illuminate\Database\Schema\Blueprint; +3 +4 class CreateProfilesTable extends Migration +5 { +6 public function up() +7 { +8 Schema::create('profiles', function (Blueprint $table) { +9 $table->id(); +10 $table->unsignedBigInteger('user_id'); +11 $table->string('bio'); +12 $table->string('tags'); +13 $table->timestamps(); +14 +15 $table->foreign('user_id')->references('id')->on('users'); +16 }); +17 } +18 +19 public function down() +20 { +21 Schema::dropIfExists('profiles'); +22 } +23 } + +File: database/migrations/create_tags_table.php +1 use Illuminate\Database\Migrations\Migration; +2 use Illuminate\Database\Schema\Blueprint; +3 +4 class CreateTagsTable extends Migration +5 { +6 public function up() +7 { +8 Schema::create('tags', function (Blueprint $table) { +9 $table->id(); +10 $table->string('name'); +11 $table->timestamps(); +12 }); +13 } +14 +15 public function down() +16 { +17 Schema::dropIfExists('tags'); +18 } +19 } + +File: routes/web.php +1 Route::get('/', function () { +2 return view('welcome'); +3 }); +4 +5 Auth::routes(); +6 +7 Route::get('/teams', 'TeamController@index')->name('teams.index'); +8 Route::post('/teams', 'TeamController@store')->name('teams.store'); +9 +10 Route::get('/users', 'UserController@index')->name('users.index'); +11 Route::get('/users/{user}', 'UserController@show')->name('users.show'); +12 Route::get('/users/{user}/edit', 'ProfileController@edit')->name('users.edit'); +13 Route::patch('/users/{user}', 'ProfileController@update')->name('users.update'); + +``` + +================================== Ai Message ================================== + +Here is the Unix script that installs dependencies and runs the necessary parts of the codebase: + +```bash +#!/bin/bash + +# Install dependencies +php composer.phar install + +# Run migrations +php artisan migrate + +# Run database seeder +php artisan db:seed + +# Start the Laravel development server +php artisan serve +``` + +Note: This script assumes that you are in the root directory of the project. + +2024-07-21T20:52:45.003836 +================================ System Message ================================ + +You will get information about a codebase that is currently on disk in the current folder. +The user will ask you to write a script that runs the code in a specific way. +You will answer with code blocks that include all the necessary terminal commands. +Do not install globally. Do not use sudo. +Do not explain the code, just give the commands. +Do not use placeholders, use example values (like . for a folder argument) if necessary. + + +================================ Human Message ================================= + + + Make a unix script that + a) installs dependencies + b) runs all necessary parts of the codebase (in parallel if necessary) + +Information about the codebase: + +``` +File: Structure +1 api/ +2 app/ +3 __init__.py +4 main.py +5 models/ +6 __init__.py +7 user.py +8 team.py +9 schemas/ +10 __init__.py +11 user.py +12 team.py +13 routers/ +14 __init__.py +15 user.py +16 team.py +17 utils/ +18 __init__.py +19 database.py +20 security.py +21 requirements.txt +22 .gitignore + +File: requirements.txt +1 fastapi +2 sqlalchemy +3 pydantic + +File: .gitignore +1 *.pyc +2 __pycache__/ +3 .env + +File: app/main.py +1 from fastapi import FastAPI, Depends +2 from fastapi.security import OAuth2PasswordBearer +3 from sqlalchemy.orm import Session +4 from app.routers import user, team +5 from app.utils.database import get_db +6 +7 app = FastAPI() +8 +9 oauth2_scheme = OAuth2PasswordBearer(tokenUrl="token") +10 +11 @app.get("/") +12 def read_root(): +13 return {"message": "Welcome to this fantastic app!"} +14 +15 app.include_router(user.router) +16 app.include_router(team.router) + +File: app/models/user.py +1 from sqlalchemy import Column, Integer, String +2 from sqlalchemy.ext.declarative import declarative_base +3 from sqlalchemy.orm import relationship +4 +5 Base = declarative_base() +6 +7 class User(Base): +8 __tablename__ = "users" +9 +10 id = Column(Integer, primary_key=True) +11 username = Column(String, unique=True) +12 password = Column(String) +13 profile = Column(String) +14 team_id = Column(Integer, ForeignKey("teams.id")) +15 team = relationship("Team", backref="users") +16 +17 def __repr__(self): +18 return f"User(username={self.username}, profile={self.profile})" + +File: app/models/team.py +1 from sqlalchemy import Column, Integer, String +2 from sqlalchemy.ext.declarative import declarative_base +3 +4 Base = declarative_base() +5 +6 class Team(Base): +7 __tablename__ = "teams" +8 +9 id = Column(Integer, primary_key=True) +10 name = Column(String, unique=True) +11 created_at = Column(DateTime, default=datetime.utcnow) +12 +13 def __repr__(self): +14 return f"Team(name={self.name}, created_at={self.created_at})" + +File: app/schemas/user.py +1 from pydantic import BaseModel +2 +3 class UserBase(BaseModel): +4 username: str +5 profile: str +6 +7 class UserCreate(UserBase): +8 password: str +9 +10 class User(UserBase): +11 id: int +12 team_id: int +13 +14 class Config: +15 orm_mode = True + +File: app/schemas/team.py +1 from pydantic import BaseModel +2 +3 class TeamBase(BaseModel): +4 name: str +5 +6 class TeamCreate(TeamBase): +7 pass +8 +9 class Team(TeamBase): +10 id: int +11 created_at: datetime +12 +13 class Config: +14 orm_mode = True + +File: app/routers/user.py +1 from fastapi import APIRouter, Depends +2 from sqlalchemy.orm import Session +3 from app.schemas.user import UserCreate, User +4 from app.models.user import User as UserModel +5 from app.utils.database import get_db +6 +7 router = APIRouter() +8 +9 @router.post("/users/") +10 def create_user(user: UserCreate, db: Session = Depends()): +11 db_user = UserModel(username=user.username, password=user.password, profile=user.profile) +12 db.add(db_user) +13 db.commit() +14 db.refresh(db_user) +15 return db_user +16 +17 @router.get("/users/") +18 def read_users(db: Session = Depends()): +19 users = db.query(UserModel).all() +20 return users +21 +22 @router.get("/users/{user_id}") +23 def read_user(user_id: int, db: Session = Depends()): +24 user = db.query(UserModel).filter(UserModel.id == user_id).first() +25 return user + +File: app/routers/team.py +1 from fastapi import APIRouter, Depends +2 from sqlalchemy.orm import Session +3 from app.schemas.team import TeamCreate, Team +4 from app.models.team import Team as TeamModel +5 from app.utils.database import get_db +6 +7 router = APIRouter() +8 +9 @router.post("/teams/") +10 def create_team(team: TeamCreate, db: Session = Depends()): +11 db_team = TeamModel(name=team.name) +12 db.add(db_team) +13 db.commit() +14 db.refresh(db_team) +15 return db_team +16 +17 @router.get("/teams/") +18 def read_teams(db: Session = Depends()): +19 teams = db.query(TeamModel).all() +20 return teams + +File: app/utils/database.py +1 from sqlalchemy import create_engine +2 from sqlalchemy.orm import sessionmaker +3 +4 SQLALCHEMY_DATABASE_URL = "sqlite:///./sql_app.db" +5 engine = create_engine(SQLALCHEMY_DATABASE_URL) +6 SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine) +7 +8 def get_db(): +9 db = SessionLocal() +10 try: +11 yield db +12 finally: +13 db.close() + +``` + +================================== Ai Message ================================== + +``` +python -m venv venv +source venv/bin/activate +pip install -r requirements.txt +uvicorn app.main:app --host 0.0.0.0 --port 8000 +``` + +2024-07-21T21:39:36.713878 +================================ System Message ================================ + +You will get information about a codebase that is currently on disk in the current folder. +The user will ask you to write a script that runs the code in a specific way. +You will answer with code blocks that include all the necessary terminal commands. +Do not install globally. Do not use sudo. +Do not explain the code, just give the commands. +Do not use placeholders, use example values (like . for a folder argument) if necessary. + + +================================ Human Message ================================= + + + Make a unix script that + a) installs dependencies + b) runs all necessary parts of the codebase (in parallel if necessary) + +Information about the codebase: + +``` +File: Structure +1 api/ +2 app/ +3 __init__.py +4 main.py +5 models/ +6 __init__.py +7 user.py +8 team.py +9 schema/ +10 __init__.py +11 user.py +12 team.py +13 crud/ +14 __init__.py +15 user.py +16 team.py +17 routes/ +18 __init__.py +19 user.py +20 team.py +21 requirements.txt +22 .gitignore + +File: api/app/__init__.py +1 from fastapi import FastAPI +2 from fastapi.responses import JSONResponse +3 from fastapi.requests import Request +4 from fastapi.exceptions import RequestValidationError +5 from fastapi.responses import JSONResponse +6 from fastapi.encoders import jsonable_encoder +7 from pydantic import BaseModel +8 from sqlalchemy import create_engine +9 from sqlalchemy.orm import sessionmaker +10 from sqlalchemy.ext.declarative import declarative_base +11 from sqlalchemy import Column, Integer, String, DateTime +12 from sqlalchemy.orm import relationship +13 +14 SQLALCHEMY_DATABASE_URL = "sqlite:///./sql_app.db" +15 engine = create_engine(SQLALCHEMY_DATABASE_URL) +16 SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine) +17 Base = declarative_base() +18 +19 app = FastAPI() + +File: api/app/main.py +1 from fastapi import FastAPI, Depends +2 from fastapi.responses import JSONResponse +3 from fastapi.requests import Request +4 from fastapi.exceptions import RequestValidationError +5 from fastapi.responses import JSONResponse +6 from fastapi.encoders import jsonable_encoder +7 from pydantic import BaseModel +8 from sqlalchemy.orm import Session +9 from . import models, schema, crud +10 from .database import SessionLocal, engine +11 +12 models.Base.metadata.create_all(bind=engine) +13 +14 app = FastAPI() +15 +16 def get_db(): +17 db = SessionLocal() +18 try: +19 yield db +20 finally: +21 db.close() +22 +23 @app.post("/users/") +24 def create_user(user: schema.UserCreate, db: Session = Depends(get_db)): +25 return crud.create_user(db=db, user=user) +26 +27 @app.get("/users/") +28 def read_users(skip: int = 0, limit: int = 100, db: Session = Depends(get_db)): +29 return crud.get_users(db, skip=skip, limit=limit) +30 +31 @app.get("/users/{user_id}") +32 def read_user(user_id: int, db: Session = Depends(get_db)): +33 return crud.get_user(db, user_id=user_id) +34 +35 @app.post("/teams/") +36 def create_team(team: schema.TeamCreate, db: Session = Depends(get_db)): +37 return crud.create_team(db=db, team=team) +38 +39 @app.get("/teams/") +40 def read_teams(skip: int = 0, limit: int = 100, db: Session = Depends(get_db)): +41 return crud.get_teams(db, skip=skip, limit=limit) +42 +43 @app.get("/teams/{team_id}") +44 def read_team(team_id: int, db: Session = Depends(get_db)): +45 return crud.get_team(db, team_id=team_id) + +File: api/app/models/user.py +1 from sqlalchemy import Column, Integer, String, DateTime +2 from sqlalchemy.ext.declarative import declarative_base +3 from sqlalchemy.orm import relationship +4 +5 Base = declarative_base() +6 +7 class User(Base): +8 __tablename__ = "users" +9 +10 id = Column(Integer, primary_key=True) +11 username = Column(String, unique=True, index=True) +12 password = Column(String) +13 profile = Column(String) +14 team_id = Column(Integer, ForeignKey("teams.id")) +15 team = relationship("Team", backref="users") +16 +17 def __repr__(self): +18 return f"User(username={self.username}, profile={self.profile})" + +File: api/app/models/team.py +1 from sqlalchemy import Column, Integer, String, DateTime +2 from sqlalchemy.ext.declarative import declarative_base +3 from sqlalchemy.orm import relationship +4 +5 Base = declarative_base() +6 +7 class Team(Base): +8 __tablename__ = "teams" +9 +10 id = Column(Integer, primary_key=True) +11 name = Column(String, unique=True, index=True) +12 created_at = Column(DateTime, default=datetime.datetime.utcnow) +13 +14 def __repr__(self): +15 return f"Team(name={self.name}, created_at={self.created_at})" + +File: api/app/schema/user.py +1 from pydantic import BaseModel +2 from typing import Optional +3 +4 class UserBase(BaseModel): +5 username: str +6 password: str +7 profile: Optional[str] = None +8 +9 class UserCreate(UserBase): +10 pass +11 +12 class User(UserBase): +13 id: int +14 team_id: int +15 +16 class Config: +17 orm_mode = True + +File: api/app/schema/team.py +1 from pydantic import BaseModel +2 from typing import Optional +3 +4 class TeamBase(BaseModel): +5 name: str +6 +7 class TeamCreate(TeamBase): +8 pass +9 +10 class Team(TeamBase): +11 id: int +12 created_at: datetime.datetime +13 +14 class Config: +15 orm_mode = True + +File: api/app/crud/user.py +1 from sqlalchemy.orm import Session +2 from . import models, schema +3 +4 def create_user(db: Session, user: schema.UserCreate): +5 db_user = models.User(username=user.username, password=user.password, profile=user.profile) +6 db.add(db_user) +7 db.commit() +8 db.refresh(db_user) +9 return db_user +10 +11 def get_users(db: Session, skip: int = 0, limit: int = 100): +12 return db.query(models.User).offset(skip).limit(limit).all() +13 +14 def get_user(db: Session, user_id: int): +15 return db.query(models.User).filter(models.User.id == user_id).first() + +File: api/app/crud/team.py +1 from sqlalchemy.orm import Session +2 from . import models, schema +3 +4 def create_team(db: Session, team: schema.TeamCreate): +5 db_team = models.Team(name=team.name) +6 db.add(db_team) +7 db.commit() +8 db.refresh(db_team) +9 return db_team +10 +11 def get_teams(db: Session, skip: int = 0, limit: int = 100): +12 return db.query(models.Team).offset(skip).limit(limit).all() +13 +14 def get_team(db: Session, team_id: int): +15 return db.query(models.Team).filter(models.Team.id == team_id).first() + +File: api/app/routes/user.py +1 from fastapi import APIRouter +2 from . import crud +3 from . import schema +4 +5 router = APIRouter() +6 +7 @router.post("/users/") +8 def create_user(user: schema.UserCreate): +9 return crud.create_user(user=user) +10 +11 @router.get("/users/") +12 def read_users(skip: int = 0, limit: int = 100): +13 return crud.get_users(skip=skip, limit=limit) +14 +15 @router.get("/users/{user_id}") +16 def read_user(user_id: int): +17 return crud.get_user(user_id=user_id) + +File: api/app/routes/team.py +1 from fastapi import APIRouter +2 from . import crud +3 from . import schema +4 +5 router = APIRouter() +6 +7 @router.post("/teams/") +8 def create_team(team: schema.TeamCreate): +9 return crud.create_team(team=team) +10 +11 @router.get("/teams/") +12 def read_teams(skip: int = 0, limit: int = 100): +13 return crud.get_teams(skip=skip, limit=limit) +14 +15 @router.get("/teams/{team_id}") +16 def read_team(team_id: int): +17 return crud.get_team(team_id=team_id) + +File: requirements.txt +1 fastapi +2 sqlalchemy +3 pydantic + +File: .gitignore +1 __pycache__/ +2 *.pyc +3 *.db + +``` + +================================== Ai Message ================================== + +``` +python -m venv venv +source venv/bin/activate +pip install -r requirements.txt +python api/app/main.py +``` diff --git a/controllers/test_folders/Screenshot 2024-06-20 212335 b/controllers/test_folders/Screenshot 2024-06-20 212335 new file mode 100644 index 0000000000000000000000000000000000000000..2fb3704f3bb301c84f0abe7b3427a425cd96adda --- /dev/null +++ b/controllers/test_folders/Screenshot 2024-06-20 212335 @@ -0,0 +1,78 @@ + +# 社員がプロフィールを登録・公開し、お互いに参照できるシステム + +## 機能 + +### ユーザー登録 + +- ユーザー登録画面で、ユーザー名とパスワードを入力して登録ボタンを押すことにより、新規ユーザーを登録することができる。 +- ユーザー名は、既存のユーザーと重複してはいけない。 +- ユーザー登録に成功したら、ログイン済み状態として、ユーザー一覧画面へ遷移する。 + +### ログイン + +- ログイン画面で、ユーザー名とパスワードを入力してログインボタンを押すことにより、ログインすることができる。 +- ログインに成功したら、ユーザー一覧画面へ遷移する。 + +### チーム一覧・作成 + +- チームの一覧が、チームの作成日時降順で表示される。 +- チーム名を入力して作成ボタンを押すと、チームが作成される。 +- チームの作成後、本画面が再表示される。 + +### プロフィール編集 + +- 自身の`所属チーム`・`プロフィール`・`タグ`を編集できる。 +- 所属チームは、既存チームからの選択式とする。 +- プロフィールは自由入力とする。 +- タグは自由入力で、複数入力できるようにする。 + +### ユーザー一覧・検索 + +- デフォルトでは全てのユーザーが一覧表示される。 +- 検索条件を入力して検索ボタンを押すと、検索条件がプロフィールに部分一致するユーザーのみにフィルタリングできる。 +- 一覧は、ユーザー登録日時の降順で表示される。 +- 表示内容は、`ユーザー名`・`プロフィール`で、`プロフィール`は先頭10文字と三点リーダーを表示する。 +- ユーザー名をクリックすると、そのユーザーのユーザー詳細画面へ遷移する。 +- `チーム一覧へ`をクリックすると、チーム一覧画面へ遷移する。 + +### ユーザー詳細画面 + +- 特定のユーザーの、`ユーザー名`・`所属チーム`・`プロフィール`・`タグ`が表示される。 +- プロフィールの表示はマークダウンに対応させる。 +- `一覧へ`リンクをクリックすると、ユーザー一覧画面へ遷移する。 + +## あなたが作成するもの + +バックエンドのプログラム一式を作成してください。 +フロントエンドのプログラムは不要です。 + +- `/api`ディレクトリ以下に作成。 +- Python/FastAPI/SQLAlchemyを使う。 +- DBはSQLiteを使う。 +- 必要に応じて外部ライブラリを使う。 +- クラウドや外部サービス(外部API)は使わない。 +- .gitignoreを含めること。 +- バックエンド +@app.post(" +def lumbda_function(): + +gradio_interface でメイン関数から読み込めるようにして + +googleappsscript +ラインの画像検索システム + +ファイルは1ファイルで作成して。 +1ファイル1機能で難しくしたくない + +1,lineからデータがくる +2,doPostで取得 +3.typeがイメージの場合はドライブに保存 +4,保存したデータをS3にアップロード +5.データはシークレットから取得 +6,plantumlでフローの作成 +7,システムドキュメントの作成 + +gradio は gradio_interface というBlock名で作成 +fastapiはrouter の作成 + diff --git a/controllers/test_folders/Screenshot 2024-06-20 212335.png b/controllers/test_folders/Screenshot 2024-06-20 212335.png new file mode 100644 index 0000000000000000000000000000000000000000..63ce445fb8f073fb5d00da7e1fe2d94f6a6b3652 --- /dev/null +++ b/controllers/test_folders/Screenshot 2024-06-20 212335.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c23391f696e501b0eda76a1d60c0cb100bec874ec2f90a3c404d1008b0319176 +size 71675 diff --git a/controllers/test_folders/Structure b/controllers/test_folders/Structure new file mode 100644 index 0000000000000000000000000000000000000000..4ca0943044cefb2fe20f4e1ef3ada8f2f4bc819e --- /dev/null +++ b/controllers/test_folders/Structure @@ -0,0 +1,22 @@ +api/ +app/ +__init__.py +main.py +models/ +__init__.py +user.py +team.py +schema/ +__init__.py +user.py +team.py +crud/ +__init__.py +user.py +team.py +routes/ +__init__.py +user.py +team.py +requirements.txt +.gitignore \ No newline at end of file diff --git a/controllers/test_folders/api/app/__init__.py b/controllers/test_folders/api/app/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..3e835c6d8a5d66fc3ad7c629b6909c9d3e11cc5c --- /dev/null +++ b/controllers/test_folders/api/app/__init__.py @@ -0,0 +1,19 @@ +from fastapi import FastAPI +from fastapi.responses import JSONResponse +from fastapi.requests import Request +from fastapi.exceptions import RequestValidationError +from fastapi.responses import JSONResponse +from fastapi.encoders import jsonable_encoder +from pydantic import BaseModel +from sqlalchemy import create_engine +from sqlalchemy.orm import sessionmaker +from sqlalchemy.ext.declarative import declarative_base +from sqlalchemy import Column, Integer, String, DateTime +from sqlalchemy.orm import relationship + +SQLALCHEMY_DATABASE_URL = "sqlite:///./sql_app.db" +engine = create_engine(SQLALCHEMY_DATABASE_URL) +SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine) +Base = declarative_base() + +app = FastAPI() \ No newline at end of file diff --git a/controllers/test_folders/api/app/crud/team.py b/controllers/test_folders/api/app/crud/team.py new file mode 100644 index 0000000000000000000000000000000000000000..cc43073e3875b0b179d988ed11d062318e103ebc --- /dev/null +++ b/controllers/test_folders/api/app/crud/team.py @@ -0,0 +1,15 @@ +from sqlalchemy.orm import Session +from . import models, schema + +def create_team(db: Session, team: schema.TeamCreate): + db_team = models.Team(name=team.name) + db.add(db_team) + db.commit() + db.refresh(db_team) + return db_team + +def get_teams(db: Session, skip: int = 0, limit: int = 100): + return db.query(models.Team).offset(skip).limit(limit).all() + +def get_team(db: Session, team_id: int): + return db.query(models.Team).filter(models.Team.id == team_id).first() \ No newline at end of file diff --git a/controllers/test_folders/api/app/crud/user.py b/controllers/test_folders/api/app/crud/user.py new file mode 100644 index 0000000000000000000000000000000000000000..86c8e2e03ca30036d4b0058e4c2f29b6bb4b1559 --- /dev/null +++ b/controllers/test_folders/api/app/crud/user.py @@ -0,0 +1,15 @@ +from sqlalchemy.orm import Session +from . import models, schema + +def create_user(db: Session, user: schema.UserCreate): + db_user = models.User(username=user.username, password=user.password, profile=user.profile) + db.add(db_user) + db.commit() + db.refresh(db_user) + return db_user + +def get_users(db: Session, skip: int = 0, limit: int = 100): + return db.query(models.User).offset(skip).limit(limit).all() + +def get_user(db: Session, user_id: int): + return db.query(models.User).filter(models.User.id == user_id).first() \ No newline at end of file diff --git a/controllers/test_folders/api/app/main.py b/controllers/test_folders/api/app/main.py new file mode 100644 index 0000000000000000000000000000000000000000..b6ed8e28fc5837d6c0dd55ee23ba7f7477f71314 --- /dev/null +++ b/controllers/test_folders/api/app/main.py @@ -0,0 +1,45 @@ +from fastapi import FastAPI, Depends +from fastapi.responses import JSONResponse +from fastapi.requests import Request +from fastapi.exceptions import RequestValidationError +from fastapi.responses import JSONResponse +from fastapi.encoders import jsonable_encoder +from pydantic import BaseModel +from sqlalchemy.orm import Session +from . import models, schema, crud +from .database import SessionLocal, engine + +models.Base.metadata.create_all(bind=engine) + +app = FastAPI() + +def get_db(): + db = SessionLocal() + try: + yield db + finally: + db.close() + +@app.post("/users/") +def create_user(user: schema.UserCreate, db: Session = Depends(get_db)): + return crud.create_user(db=db, user=user) + +@app.get("/users/") +def read_users(skip: int = 0, limit: int = 100, db: Session = Depends(get_db)): + return crud.get_users(db, skip=skip, limit=limit) + +@app.get("/users/{user_id}") +def read_user(user_id: int, db: Session = Depends(get_db)): + return crud.get_user(db, user_id=user_id) + +@app.post("/teams/") +def create_team(team: schema.TeamCreate, db: Session = Depends(get_db)): + return crud.create_team(db=db, team=team) + +@app.get("/teams/") +def read_teams(skip: int = 0, limit: int = 100, db: Session = Depends(get_db)): + return crud.get_teams(db, skip=skip, limit=limit) + +@app.get("/teams/{team_id}") +def read_team(team_id: int, db: Session = Depends(get_db)): + return crud.get_team(db, team_id=team_id) \ No newline at end of file diff --git a/controllers/test_folders/api/app/models/team.py b/controllers/test_folders/api/app/models/team.py new file mode 100644 index 0000000000000000000000000000000000000000..f1ad475ff2e99f8a07586ed17988705fe18daec0 --- /dev/null +++ b/controllers/test_folders/api/app/models/team.py @@ -0,0 +1,15 @@ +from sqlalchemy import Column, Integer, String, DateTime +from sqlalchemy.ext.declarative import declarative_base +from sqlalchemy.orm import relationship + +Base = declarative_base() + +class Team(Base): + __tablename__ = "teams" + + id = Column(Integer, primary_key=True) + name = Column(String, unique=True, index=True) + created_at = Column(DateTime, default=datetime.datetime.utcnow) + + def __repr__(self): + return f"Team(name={self.name}, created_at={self.created_at})" \ No newline at end of file diff --git a/controllers/test_folders/api/app/models/user.py b/controllers/test_folders/api/app/models/user.py new file mode 100644 index 0000000000000000000000000000000000000000..22e2a79d4e5c73f9c70b6a89842a19367d1c4599 --- /dev/null +++ b/controllers/test_folders/api/app/models/user.py @@ -0,0 +1,18 @@ +from sqlalchemy import Column, Integer, String, DateTime +from sqlalchemy.ext.declarative import declarative_base +from sqlalchemy.orm import relationship + +Base = declarative_base() + +class User(Base): + __tablename__ = "users" + + id = Column(Integer, primary_key=True) + username = Column(String, unique=True, index=True) + password = Column(String) + profile = Column(String) + team_id = Column(Integer, ForeignKey("teams.id")) + team = relationship("Team", backref="users") + + def __repr__(self): + return f"User(username={self.username}, profile={self.profile})" \ No newline at end of file diff --git a/controllers/test_folders/api/app/routes/team.py b/controllers/test_folders/api/app/routes/team.py new file mode 100644 index 0000000000000000000000000000000000000000..29b14fa9c10cadbd86d6f5f50668783605298571 --- /dev/null +++ b/controllers/test_folders/api/app/routes/team.py @@ -0,0 +1,17 @@ +from fastapi import APIRouter +from . import crud +from . import schema + +router = APIRouter() + +@router.post("/teams/") +def create_team(team: schema.TeamCreate): + return crud.create_team(team=team) + +@router.get("/teams/") +def read_teams(skip: int = 0, limit: int = 100): + return crud.get_teams(skip=skip, limit=limit) + +@router.get("/teams/{team_id}") +def read_team(team_id: int): + return crud.get_team(team_id=team_id) \ No newline at end of file diff --git a/controllers/test_folders/api/app/routes/user.py b/controllers/test_folders/api/app/routes/user.py new file mode 100644 index 0000000000000000000000000000000000000000..61ccf433d49d91de15a64742b6965104e59e54a8 --- /dev/null +++ b/controllers/test_folders/api/app/routes/user.py @@ -0,0 +1,17 @@ +from fastapi import APIRouter +from . import crud +from . import schema + +router = APIRouter() + +@router.post("/users/") +def create_user(user: schema.UserCreate): + return crud.create_user(user=user) + +@router.get("/users/") +def read_users(skip: int = 0, limit: int = 100): + return crud.get_users(skip=skip, limit=limit) + +@router.get("/users/{user_id}") +def read_user(user_id: int): + return crud.get_user(user_id=user_id) \ No newline at end of file diff --git a/controllers/test_folders/api/app/schema/team.py b/controllers/test_folders/api/app/schema/team.py new file mode 100644 index 0000000000000000000000000000000000000000..738b481ef425ce6233201dbe070eadfd1bd5ea91 --- /dev/null +++ b/controllers/test_folders/api/app/schema/team.py @@ -0,0 +1,15 @@ +from pydantic import BaseModel +from typing import Optional + +class TeamBase(BaseModel): + name: str + +class TeamCreate(TeamBase): + pass + +class Team(TeamBase): + id: int + created_at: datetime.datetime + + class Config: + orm_mode = True \ No newline at end of file diff --git a/controllers/test_folders/api/app/schema/user.py b/controllers/test_folders/api/app/schema/user.py new file mode 100644 index 0000000000000000000000000000000000000000..20aaf736c3c91f3073596584892a284d2698440e --- /dev/null +++ b/controllers/test_folders/api/app/schema/user.py @@ -0,0 +1,17 @@ +from pydantic import BaseModel +from typing import Optional + +class UserBase(BaseModel): + username: str + password: str + profile: Optional[str] = None + +class UserCreate(UserBase): + pass + +class User(UserBase): + id: int + team_id: int + + class Config: + orm_mode = True \ No newline at end of file diff --git a/controllers/test_folders/app/Http/Controllers/Auth/LoginController.php b/controllers/test_folders/app/Http/Controllers/Auth/LoginController.php new file mode 100644 index 0000000000000000000000000000000000000000..174e74a5f1ac70f9557afc08125f337922ebf7b0 --- /dev/null +++ b/controllers/test_folders/app/Http/Controllers/Auth/LoginController.php @@ -0,0 +1,27 @@ +namespace App\Http\Controllers\Auth; + +use App\Http\Controllers\Controller; +use Illuminate\Http\Request; +use Illuminate\Support\Facades\Auth; + +class LoginController extends Controller +{ + public function create() + { + return view('auth.login'); + } + + public function store(Request $request) + { + $request->validate([ + 'email' => 'required|string|email|max:255', + 'password' => 'required|string|min:8', + ]); + + if (!Auth::attempt($request->only(['email', 'password']))) { + return back()->withErrors(['email' => 'Invalid credentials']); + } + + return redirect()->route('users.index'); + } +} \ No newline at end of file diff --git a/controllers/test_folders/app/Http/Controllers/Auth/RegisterController.php b/controllers/test_folders/app/Http/Controllers/Auth/RegisterController.php new file mode 100644 index 0000000000000000000000000000000000000000..acf3675a02cec9e9bbae44ce3a6df4c134677ef0 --- /dev/null +++ b/controllers/test_folders/app/Http/Controllers/Auth/RegisterController.php @@ -0,0 +1,33 @@ +namespace App\Http\Controllers\Auth; + +use App\Http\Controllers\Controller; +use App\Models\User; +use Illuminate\Http\Request; +use Illuminate\Support\Facades\Hash; + +class RegisterController extends Controller +{ + public function create() + { + return view('auth.register'); + } + + public function store(Request $request) + { + $request->validate([ + 'name' => 'required|string|max:255', + 'email' => 'required|string|email|max:255|unique:users', + 'password' => 'required|string|min:8|confirmed', + ]); + + $user = User::create([ + 'name' => $request->input('name'), + 'email' => $request->input('email'), + 'password' => Hash::make($request->input('password')), + ]); + + auth()->login($user); + + return redirect()->route('users.index'); + } +} \ No newline at end of file diff --git a/controllers/test_folders/app/Http/Controllers/ProfileController.php b/controllers/test_folders/app/Http/Controllers/ProfileController.php new file mode 100644 index 0000000000000000000000000000000000000000..8ad886108dda9faf14b41cd50f1e26d52ae560a9 --- /dev/null +++ b/controllers/test_folders/app/Http/Controllers/ProfileController.php @@ -0,0 +1,31 @@ +namespace App\Http\Controllers; + +use App\Models\Profile; +use Illuminate\Http\Request; + +class ProfileController extends Controller +{ + public function edit(User $user) + { + $profile = $user->profile; + + return view('profiles.edit', compact('profile')); + } + + public function update(Request $request, User $user) + { + $request->validate([ + 'bio' => 'required|string|max:255', + 'tags' => 'required|array', + ]); + + $profile = $user->profile; + + $profile->bio = $request->input('bio'); + $profile->tags = $request->input('tags'); + + $profile->save(); + + return redirect()->route('users.show', $user); + } +} \ No newline at end of file diff --git a/controllers/test_folders/app/Http/Controllers/TeamController.php b/controllers/test_folders/app/Http/Controllers/TeamController.php new file mode 100644 index 0000000000000000000000000000000000000000..0ee9f10442db659cb9addfb2dfff5c21057e6b52 --- /dev/null +++ b/controllers/test_folders/app/Http/Controllers/TeamController.php @@ -0,0 +1,27 @@ +namespace App\Http\Controllers; + +use App\Models\Team; +use Illuminate\Http\Request; + +class TeamController extends Controller +{ + public function index() + { + $teams = Team::latest()->get(); + + return view('teams.index', compact('teams')); + } + + public function store(Request $request) + { + $request->validate([ + 'name' => 'required|string|max:255', + ]); + + Team::create([ + 'name' => $request->input('name'), + ]); + + return redirect()->route('teams.index'); + } +} \ No newline at end of file diff --git a/controllers/test_folders/app/Http/Controllers/UserController.php b/controllers/test_folders/app/Http/Controllers/UserController.php new file mode 100644 index 0000000000000000000000000000000000000000..43ee2e64a7c18b63390cc7cf7f3e01706d9dfbd4 --- /dev/null +++ b/controllers/test_folders/app/Http/Controllers/UserController.php @@ -0,0 +1,19 @@ +namespace App\Http\Controllers; + +use App\Models\User; +use Illuminate\Http\Request; + +class UserController extends Controller +{ + public function index() + { + $users = User::latest()->get(); + + return view('users.index', compact('users')); + } + + public function show(User $user) + { + return view('users.show', compact('user')); + } +} \ No newline at end of file diff --git a/controllers/test_folders/app/Models/Profile.php b/controllers/test_folders/app/Models/Profile.php new file mode 100644 index 0000000000000000000000000000000000000000..ab465aeb5f4d2dffe228cc7cf3063b6ccb8d0f20 --- /dev/null +++ b/controllers/test_folders/app/Models/Profile.php @@ -0,0 +1,17 @@ +namespace App\Models; + +use Illuminate\Database\Eloquent\Model; + +class Profile extends Model +{ + protected $fillable = [ + 'user_id', + 'bio', + 'tags', + ] + + public function user() + { + return $this->belongsTo(User::class); + } +} \ No newline at end of file diff --git a/controllers/test_folders/app/Models/Tag.php b/controllers/test_folders/app/Models/Tag.php new file mode 100644 index 0000000000000000000000000000000000000000..775cb84c047848bc7426ff57b4ed08b108968709 --- /dev/null +++ b/controllers/test_folders/app/Models/Tag.php @@ -0,0 +1,15 @@ +namespace App\Models; + +use Illuminate\Database\Eloquent\Model; + +class Tag extends Model +{ + protected $fillable = [ + 'name', + ]; + + public function profiles() + { + return $this->belongsToMany(Profile::class); + } +} \ No newline at end of file diff --git a/controllers/test_folders/app/Models/Team.php b/controllers/test_folders/app/Models/Team.php new file mode 100644 index 0000000000000000000000000000000000000000..23efa92b4969ccaf0655a1df41cc43e34160abf8 --- /dev/null +++ b/controllers/test_folders/app/Models/Team.php @@ -0,0 +1,15 @@ +namespace App\Models; + +use Illuminate\Database\Eloquent\Model; + +class Team extends Model +{ + protected $fillable = [ + 'name', + ]; + + public function users() + { + return $this->belongsToMany(User::class); + } +} \ No newline at end of file diff --git a/controllers/test_folders/app/Models/User.php b/controllers/test_folders/app/Models/User.php new file mode 100644 index 0000000000000000000000000000000000000000..73daed3e205576e3ed24c5b95b9b223b0766ed73 --- /dev/null +++ b/controllers/test_folders/app/Models/User.php @@ -0,0 +1,28 @@ +namespace App\Models; + +use Illuminate\Database\Eloquent\Model; +use Illuminate\Support\Facades\Hash; + +class User extends Model +{ + protected $fillable = [ + 'name', + 'email', + 'password', + ]; + + protected $hidden = [ + 'password', + 'remember_token', + ]; + + public function profile() + { + return $this->hasOne(Profile::class); + } + + public function teams() + { + return $this->belongsToMany(Team::class); + } +} \ No newline at end of file diff --git a/controllers/test_folders/app/crud/team.py b/controllers/test_folders/app/crud/team.py new file mode 100644 index 0000000000000000000000000000000000000000..da6d1047bf07448fd8e40938aa5395390a8fba1c --- /dev/null +++ b/controllers/test_folders/app/crud/team.py @@ -0,0 +1,13 @@ +from app.models.team import Team +from app.schema.team import TeamSchema +from sqlalchemy.orm import Session + +def create_team(db: Session, team: TeamSchema): + db_team = Team(name=team.name) + db.add(db_team) + db.commit() + db.refresh(db_team) + return db_team + +def get_teams(db: Session): + return db.query(Team).all() \ No newline at end of file diff --git a/controllers/test_folders/app/crud/user.py b/controllers/test_folders/app/crud/user.py new file mode 100644 index 0000000000000000000000000000000000000000..da4bb4f45f4c3d95c2f9926ee5075c683fa9cfb7 --- /dev/null +++ b/controllers/test_folders/app/crud/user.py @@ -0,0 +1,27 @@ +from app.models.user import User +from app.schema.user import UserSchema +from sqlalchemy.orm import Session + +def create_user(db: Session, user: UserSchema): + db_user = User(username=user.username, password=user.password, profile=user.profile, team_id=user.team_id) + db.add(db_user) + db.commit() + db.refresh(db_user) + return db_user + +def get_users(db: Session): + return db.query(User).all() + +def get_user(db: Session, user_id: int): + return db.query(User).filter(User.id == user_id).first() + +def update_user(db: Session, user_id: int, user: UserSchema): + db_user = get_user(db, user_id) + if db_user: + db_user.username = user.username + db_user.password = user.password + db_user.profile = user.profile + db_user.team_id = user.team_id + db.commit() + db.refresh(db_user) + return db_user \ No newline at end of file diff --git a/controllers/test_folders/app/main.py b/controllers/test_folders/app/main.py new file mode 100644 index 0000000000000000000000000000000000000000..bf65d9a8e3f03c068d74d80211a60fd01b747d68 --- /dev/null +++ b/controllers/test_folders/app/main.py @@ -0,0 +1,34 @@ +from fastapi import FastAPI +from fastapi.responses import JSONResponse +from fastapi.requests import Request +from fastapi.encoders import jsonable_encoder +from pydantic import BaseModel +from sqlalchemy import create_engine +from sqlalchemy.orm import sessionmaker +from sqlalchemy.ext.declarative import declarative_base +from sqlalchemy import Column, Integer, String +from app.models.user import User +from app.models.team import Team +from app.schema.user import UserSchema +from app.schema.team import TeamSchema +from app.crud.user import crud_user +from app.crud.team import crud_team +from app.routers.user import router as user_router +from app.routers.team import router as team_router + +app = FastAPI() + +engine = create_engine('sqlite:///database.db') +SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine) +Base = declarative_base() + +@app.on_event("startup") +async def startup_event(): + Base.metadata.create_all(bind=engine) + +@app.on_event("shutdown") +async def shutdown_event(): + engine.dispose() + +app.include_router(user_router) +app.include_router(team_router) \ No newline at end of file diff --git a/controllers/test_folders/app/models/team.py b/controllers/test_folders/app/models/team.py new file mode 100644 index 0000000000000000000000000000000000000000..ed3e5e32c8b26aea2f839ee6626dc833b2e93a54 --- /dev/null +++ b/controllers/test_folders/app/models/team.py @@ -0,0 +1,10 @@ +from sqlalchemy import Column, Integer, String +from sqlalchemy.ext.declarative import declarative_base + +Base = declarative_base() + +class Team(Base): + __tablename__ = "teams" + id = Column(Integer, primary_key=True) + name = Column(String, unique=True) + created_at = Column(String) \ No newline at end of file diff --git a/controllers/test_folders/app/models/user.py b/controllers/test_folders/app/models/user.py new file mode 100644 index 0000000000000000000000000000000000000000..54036388a74047c9e185a909f99ace79f14440bb --- /dev/null +++ b/controllers/test_folders/app/models/user.py @@ -0,0 +1,12 @@ +from sqlalchemy import Column, Integer, String +from sqlalchemy.ext.declarative import declarative_base + +Base = declarative_base() + +class User(Base): + __tablename__ = "users" + id = Column(Integer, primary_key=True) + username = Column(String, unique=True) + password = Column(String) + profile = Column(String) + team_id = Column(Integer) \ No newline at end of file diff --git a/controllers/test_folders/app/routers/team.py b/controllers/test_folders/app/routers/team.py new file mode 100644 index 0000000000000000000000000000000000000000..09f0fb8ae54237d13ef06d6b512117914e607ed2 --- /dev/null +++ b/controllers/test_folders/app/routers/team.py @@ -0,0 +1,17 @@ +from fastapi import APIRouter, Depends +from fastapi.responses import JSONResponse +from fastapi.requests import Request +from fastapi.encoders import jsonable_encoder +from app.crud.team import create_team, get_teams +from app.schema.team import TeamSchema +from app.main import get_db + +router = APIRouter() + +@router.post("/teams/") +async def create_team_endpoint(team: TeamSchema, db: Session = Depends(get_db)): + return create_team(db, team) + +@router.get("/teams/") +async def get_teams_endpoint(db: Session = Depends(get_db)): + return get_teams(db) \ No newline at end of file diff --git a/controllers/test_folders/app/routers/user.py b/controllers/test_folders/app/routers/user.py new file mode 100644 index 0000000000000000000000000000000000000000..4c75b043effa8cbb9273a57b54d237005be17d14 --- /dev/null +++ b/controllers/test_folders/app/routers/user.py @@ -0,0 +1,25 @@ +from fastapi import APIRouter, Depends +from fastapi.responses import JSONResponse +from fastapi.requests import Request +from fastapi.encoders import jsonable_encoder +from app.crud.user import create_user, get_users, get_user, update_user +from app.schema.user import UserSchema +from app.main import get_db + +router = APIRouter() + +@router.post("/users/") +async def create_user_endpoint(user: UserSchema, db: Session = Depends(get_db)): + return create_user(db, user) + +@router.get("/users/") +async def get_users_endpoint(db: Session = Depends(get_db)): + return get_users(db) + +@router.get("/users/{user_id}") +async def get_user_endpoint(user_id: int, db: Session = Depends(get_db)): + return get_user(db, user_id) + +@router.put("/users/{user_id}") +async def update_user_endpoint(user_id: int, user: UserSchema, db: Session = Depends(get_db)): + return update_user(db, user_id, user) \ No newline at end of file diff --git a/controllers/test_folders/app/schema/team.py b/controllers/test_folders/app/schema/team.py new file mode 100644 index 0000000000000000000000000000000000000000..0b0a98f4e7eeb23234ff16396f90d17fb57a96ba --- /dev/null +++ b/controllers/test_folders/app/schema/team.py @@ -0,0 +1,4 @@ +from pydantic import BaseModel + +class TeamSchema(BaseModel): + name: str \ No newline at end of file diff --git a/controllers/test_folders/app/schema/user.py b/controllers/test_folders/app/schema/user.py new file mode 100644 index 0000000000000000000000000000000000000000..3c7b0bf9c004346858ba5387dc3fe1f308309755 --- /dev/null +++ b/controllers/test_folders/app/schema/user.py @@ -0,0 +1,7 @@ +from pydantic import BaseModel + +class UserSchema(BaseModel): + username: str + password: str + profile: str + team_id: int \ No newline at end of file diff --git a/controllers/test_folders/app/schemas/team.py b/controllers/test_folders/app/schemas/team.py new file mode 100644 index 0000000000000000000000000000000000000000..a2a8a64765c4c14093f1959d09fd2e0f2fd7086f --- /dev/null +++ b/controllers/test_folders/app/schemas/team.py @@ -0,0 +1,11 @@ +from pydantic import BaseModel + +class TeamBase(BaseModel): + name: str + +class TeamCreate(TeamBase): + pass + +class TeamRead(TeamBase): + id: int + created_at: datetime \ No newline at end of file diff --git a/controllers/test_folders/app/schemas/user.py b/controllers/test_folders/app/schemas/user.py new file mode 100644 index 0000000000000000000000000000000000000000..c4dad01cf58058b702d6147d49f97fbc6f246c13 --- /dev/null +++ b/controllers/test_folders/app/schemas/user.py @@ -0,0 +1,12 @@ +from pydantic import BaseModel + +class UserBase(BaseModel): + username: str + profile: str + +class UserCreate(UserBase): + password: str + +class UserRead(UserBase): + id: int + team: str \ No newline at end of file diff --git a/controllers/test_folders/app/utils/database.py b/controllers/test_folders/app/utils/database.py new file mode 100644 index 0000000000000000000000000000000000000000..8e20f3f9f797a951145fae09ad6fef96e9162b32 --- /dev/null +++ b/controllers/test_folders/app/utils/database.py @@ -0,0 +1,14 @@ +from sqlalchemy import create_engine +from sqlalchemy.orm import sessionmaker + +SQLALCHEMY_DATABASE_URL = "sqlite:///./sql_app.db" + +engine = create_engine(SQLALCHEMY_DATABASE_URL) +SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine) + +def get_db(): + db = SessionLocal() + try: + yield db + finally: + db.close() \ No newline at end of file diff --git a/controllers/test_folders/composer.json b/controllers/test_folders/composer.json new file mode 100644 index 0000000000000000000000000000000000000000..51eecd45244ad7911477048b64e0acb257a3f548 --- /dev/null +++ b/controllers/test_folders/composer.json @@ -0,0 +1,59 @@ +{ + "name": "laravel/laravel", + "description": "The Laravel Framework.", + "keywords": ["framework", "laravel"], + "license": "MIT", + "type": "project", + "require": { + "php": "^7.2.5", + "fideloper/proxy": "^4.2", + "fruitcake/laravel-cors": "^2.0", + "guzzlehttp/guzzle": "^7.0.1", + "laravel/framework": "^8.40", + "laravel/tinker": "^2.5" + }, + "require-dev": { + "facade/ignition": "^2.5", + "fakerphp/faker": "^1.9.1", + "laravel/sail": "^1.0.1", + "mockery/mockery": "^1.4.2", + "nunomaduro/collision": "^5.0", + "phpunit/phpunit": "^9.3.3" + }, + "config": { + "optimize-autoloader": true, + "preferred-install": "dist", + "sort-packages": true + }, + "extra": { + "laravel": { + "dont-discover": [] + } + }, + "autoload": { + "psr-4": { + "App\": "app/", + "Database\Factories\": "database/factories/", + "Database\Seeders\": "database/seeders/" + } + }, + "autoload-dev": { + "psr-4": { + "Tests\": "tests/" + } + }, + "minimum-stability": "dev", + "prefer-stable": true, + "scripts": { + "post-autoload-dump": [ + "Illuminate\Foundation\ComposerScripts::postAutoloadDump", + "@php artisan package:discover --ansi" + ], + "post-root-package-install": [ + "@php -r \"file_exists('.env') || copy('.env.example', '.env');\"" + ], + "post-create-project-cmd": [ + "@php artisan key:generate --ansi" + ] + } +} \ No newline at end of file diff --git a/controllers/test_folders/database/migrations/create_profiles_table.php b/controllers/test_folders/database/migrations/create_profiles_table.php new file mode 100644 index 0000000000000000000000000000000000000000..acc27750d9d0ebaf7a090d0b34ec7cd3a7b4ee37 --- /dev/null +++ b/controllers/test_folders/database/migrations/create_profiles_table.php @@ -0,0 +1,23 @@ +use Illuminate\Database\Migrations\Migration; +use Illuminate\Database\Schema\Blueprint; + +class CreateProfilesTable extends Migration +{ + public function up() + { + Schema::create('profiles', function (Blueprint $table) { + $table->id(); + $table->unsignedBigInteger('user_id'); + $table->string('bio'); + $table->string('tags'); + $table->timestamps(); + + $table->foreign('user_id')->references('id')->on('users'); + }); + } + + public function down() + { + Schema::dropIfExists('profiles'); + } +} \ No newline at end of file diff --git a/controllers/test_folders/database/migrations/create_tags_table.php b/controllers/test_folders/database/migrations/create_tags_table.php new file mode 100644 index 0000000000000000000000000000000000000000..da2273f2b495099927886dc0602b32fb52c0b0fa --- /dev/null +++ b/controllers/test_folders/database/migrations/create_tags_table.php @@ -0,0 +1,19 @@ +use Illuminate\Database\Migrations\Migration; +use Illuminate\Database\Schema\Blueprint; + +class CreateTagsTable extends Migration +{ + public function up() + { + Schema::create('tags', function (Blueprint $table) { + $table->id(); + $table->string('name'); + $table->timestamps(); + }); + } + + public function down() + { + Schema::dropIfExists('tags'); + } +} \ No newline at end of file diff --git a/controllers/test_folders/database/migrations/create_teams_table.php b/controllers/test_folders/database/migrations/create_teams_table.php new file mode 100644 index 0000000000000000000000000000000000000000..aac68035e23e514ddccaacff83d4f0149652dca9 --- /dev/null +++ b/controllers/test_folders/database/migrations/create_teams_table.php @@ -0,0 +1,19 @@ +use Illuminate\Database\Migrations\Migration; +use Illuminate\Database\Schema\Blueprint; + +class CreateTeamsTable extends Migration +{ + public function up() + { + Schema::create('teams', function (Blueprint $table) { + $table->id(); + $table->string('name'); + $table->timestamps(); + }); + } + + public function down() + { + Schema::dropIfExists('teams'); + } +} \ No newline at end of file diff --git a/controllers/test_folders/database/migrations/create_users_table.php b/controllers/test_folders/database/migrations/create_users_table.php new file mode 100644 index 0000000000000000000000000000000000000000..05048b6d7050267ff3fb1f088b98fd1cf6ec2836 --- /dev/null +++ b/controllers/test_folders/database/migrations/create_users_table.php @@ -0,0 +1,22 @@ +use Illuminate\Database\Migrations\Migration; +use Illuminate\Database\Schema\Blueprint; + +class CreateUsersTable extends Migration +{ + public function up() + { + Schema::create('users', function (Blueprint $table) { + $table->id(); + $table->string('name'); + $table->string('email')->unique(); + $table->string('password'); + $table->rememberToken(); + $table->timestamps(); + }); + } + + public function down() + { + Schema::dropIfExists('users'); + } +} \ No newline at end of file diff --git a/controllers/test_folders/internet at 35.200.113.21720240717_113521 b/controllers/test_folders/internet at 35.200.113.21720240717_113521 new file mode 100644 index 0000000000000000000000000000000000000000..2fb3704f3bb301c84f0abe7b3427a425cd96adda --- /dev/null +++ b/controllers/test_folders/internet at 35.200.113.21720240717_113521 @@ -0,0 +1,78 @@ + +# 社員がプロフィールを登録・公開し、お互いに参照できるシステム + +## 機能 + +### ユーザー登録 + +- ユーザー登録画面で、ユーザー名とパスワードを入力して登録ボタンを押すことにより、新規ユーザーを登録することができる。 +- ユーザー名は、既存のユーザーと重複してはいけない。 +- ユーザー登録に成功したら、ログイン済み状態として、ユーザー一覧画面へ遷移する。 + +### ログイン + +- ログイン画面で、ユーザー名とパスワードを入力してログインボタンを押すことにより、ログインすることができる。 +- ログインに成功したら、ユーザー一覧画面へ遷移する。 + +### チーム一覧・作成 + +- チームの一覧が、チームの作成日時降順で表示される。 +- チーム名を入力して作成ボタンを押すと、チームが作成される。 +- チームの作成後、本画面が再表示される。 + +### プロフィール編集 + +- 自身の`所属チーム`・`プロフィール`・`タグ`を編集できる。 +- 所属チームは、既存チームからの選択式とする。 +- プロフィールは自由入力とする。 +- タグは自由入力で、複数入力できるようにする。 + +### ユーザー一覧・検索 + +- デフォルトでは全てのユーザーが一覧表示される。 +- 検索条件を入力して検索ボタンを押すと、検索条件がプロフィールに部分一致するユーザーのみにフィルタリングできる。 +- 一覧は、ユーザー登録日時の降順で表示される。 +- 表示内容は、`ユーザー名`・`プロフィール`で、`プロフィール`は先頭10文字と三点リーダーを表示する。 +- ユーザー名をクリックすると、そのユーザーのユーザー詳細画面へ遷移する。 +- `チーム一覧へ`をクリックすると、チーム一覧画面へ遷移する。 + +### ユーザー詳細画面 + +- 特定のユーザーの、`ユーザー名`・`所属チーム`・`プロフィール`・`タグ`が表示される。 +- プロフィールの表示はマークダウンに対応させる。 +- `一覧へ`リンクをクリックすると、ユーザー一覧画面へ遷移する。 + +## あなたが作成するもの + +バックエンドのプログラム一式を作成してください。 +フロントエンドのプログラムは不要です。 + +- `/api`ディレクトリ以下に作成。 +- Python/FastAPI/SQLAlchemyを使う。 +- DBはSQLiteを使う。 +- 必要に応じて外部ライブラリを使う。 +- クラウドや外部サービス(外部API)は使わない。 +- .gitignoreを含めること。 +- バックエンド +@app.post(" +def lumbda_function(): + +gradio_interface でメイン関数から読み込めるようにして + +googleappsscript +ラインの画像検索システム + +ファイルは1ファイルで作成して。 +1ファイル1機能で難しくしたくない + +1,lineからデータがくる +2,doPostで取得 +3.typeがイメージの場合はドライブに保存 +4,保存したデータをS3にアップロード +5.データはシークレットから取得 +6,plantumlでフローの作成 +7,システムドキュメントの作成 + +gradio は gradio_interface というBlock名で作成 +fastapiはrouter の作成 + diff --git a/controllers/test_folders/internet at 35.200.113.21720240717_113521.sql b/controllers/test_folders/internet at 35.200.113.21720240717_113521.sql new file mode 100644 index 0000000000000000000000000000000000000000..fbc04ce59009e61ac5bf8016d1c622726297c8d1 --- /dev/null +++ b/controllers/test_folders/internet at 35.200.113.21720240717_113521.sql @@ -0,0 +1,263 @@ +CREATE TABLE `Eoc`(`ecc_id` int NOT NULL AUTO_INCREMENT, `b1` int NULL, `b2` int NULL, `b3` int NULL, `age` varchar(3) NULL, `option5` varchar(255) NULL, `zip1` varchar(3) NULL, `zip2` varchar(4) NULL, `address1` varchar(32) NULL, `address2` varchar(32) NULL, `address3` varchar(32) NULL, `output_address2` varchar(255) NULL, PRIMARY KEY (`ecc_id`))CHARACTER SET utf8; +CREATE TABLE `Eoc_copy`(`ecc_id` int NOT NULL AUTO_INCREMENT, `b1` int NULL, `b2` int NULL, `b3` int NULL, `age` varchar(3) NULL, `option5` varchar(255) NULL, `zip1` varchar(3) NULL, `zip2` varchar(4) NULL, `address1` varchar(255) NULL, `address2` varchar(255) NULL, `address3` varchar(255) NULL, `output_address2` varchar(255) NULL, PRIMARY KEY (`ecc_id`))CHARACTER SET utf8; +CREATE TABLE `Eoc_estimate`(`id` int NOT NULL AUTO_INCREMENT, `sex` varchar(255) NULL, `tel` varchar(255) NULL, `mail` varchar(255) NULL, `contact` varchar(255) NULL, `device` varchar(255) NULL, `url` mediumtext NULL, `date` datetime NULL, `img_1` mediumtext NULL, `img_2` mediumtext NULL, `img_3` mediumtext NULL, `img_4` mediumtext NULL, `img_5` mediumtext NULL, `img_6` mediumtext NULL, `img_7` mediumtext NULL, `img_8` mediumtext NULL, `img_9` mediumtext NULL, `img_10` mediumtext NULL, `details` mediumtext NULL, `created_at` datetime NULL, `updated_at` datetime NULL, `cv_site` varchar(255) NULL, `category` varchar(255) NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `Eoc_estimate_images`(`image_id` int NOT NULL AUTO_INCREMENT, `send_id` varchar(255) NOT NULL, `image_name` varchar(8) NULL, `image_url` varchar(82) NULL, `created_at` datetime NULL, `updated_at` datetime NULL, `upload_text` varchar(1000) NULL, PRIMARY KEY (`image_id`))CHARACTER SET utf8; +CREATE TABLE `Eoc_estimate_test`(`id` int NOT NULL AUTO_INCREMENT, `tel` varchar(255) NULL, `mail` varchar(255) NULL, `contact` varchar(255) NULL, `device` varchar(255) NULL, `url` mediumtext NULL, `date` datetime NULL, `product_shape` varchar(255) NULL, `ingot_grade` varchar(255) NULL, `total_weight` varchar(255) NULL, `jewelry_type` varchar(255) NULL, `jewelry_weight` varchar(255) NULL, `Meredia_weight` varchar(255) NULL, `identification_authority_name` varchar(255) NULL, `details` mediumtext NULL, `cv_site` varchar(255) NULL, `category` varchar(255) NULL, `send_id` varchar(255) NULL, `dia_shape` varchar(255) NULL, `dia_carat_weight` varchar(255) NULL, `white_dia_color` varchar(255) NULL, `color_dia_intensity` varchar(255) NULL, `color_dia_color_overtone` varchar(255) NULL, `dia_clarity` varchar(255) NULL, `dia_cut_grade` varchar(255) NULL, `dia_polish` varchar(255) NULL, `dia_symmetry` varchar(255) NULL, `dia_fluorescence_intensity` varchar(255) NULL, `dia_fluorescence_color` varchar(255) NULL, `dia_buy_price` varchar(255) NULL, `dia_labo_name` varchar(255) NULL, `brand_name` varchar(255) NULL, `brand_item` varchar(255) NULL, `brand_model` varchar(255) NULL, `brand_condition` varchar(255) NULL, `brand_shop_name` varchar(45) NULL, `created_at` datetime NULL, `updated_at` datetime NULL, `bikou` varchar(1000) NULL, `diamond_jewelry_brand_name` varchar(255) NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `Eoc_estimate_test_images`(`image_id` int NOT NULL AUTO_INCREMENT, `send_id` varchar(255) NOT NULL, `image_name` varchar(8) NOT NULL, `image_url` varchar(82) NOT NULL, `created_at` datetime NULL, `updated_at` datetime NULL, `upload_text` varchar(1000) NULL, PRIMARY KEY (`image_id`))CHARACTER SET utf8; +CREATE TABLE `Eoc_estimate_v2`(`id` int NOT NULL AUTO_INCREMENT, `tel` varchar(255) NULL, `mail` varchar(255) NULL, `contact` varchar(255) NULL, `device` varchar(255) NULL, `url` mediumtext NULL, `date` datetime NULL, `product_shape` varchar(255) NULL, `ingot_grade` varchar(255) NULL, `total_weight` varchar(255) NULL, `jewelry_type` varchar(255) NULL, `jewelry_weight` varchar(255) NULL, `Meredia_weight` varchar(255) NULL, `identification_authority_name` varchar(255) NULL, `details` mediumtext NULL, `cv_site` varchar(255) NULL, `category` varchar(255) NULL, `send_id` varchar(255) NULL, `dia_shape` varchar(255) NULL, `dia_carat_weight` varchar(255) NULL, `white_dia_color` varchar(255) NULL, `color_dia_intensity` varchar(255) NULL, `color_dia_color_overtone` varchar(255) NULL, `dia_clarity` varchar(255) NULL, `dia_cut_grade` varchar(255) NULL, `dia_polish` varchar(255) NULL, `dia_symmetry` varchar(255) NULL, `dia_fluorescence_intensity` varchar(255) NULL, `dia_fluorescence_color` varchar(255) NULL, `dia_buy_price` varchar(255) NULL, `dia_labo_name` varchar(255) NULL, `brand_name` varchar(255) NULL, `brand_item` varchar(255) NULL, `brand_model` varchar(255) NULL, `brand_condition` varchar(255) NULL, `brand_shop_name` varchar(45) NULL, `created_at` datetime NULL, `updated_at` datetime NULL, `bikou` varchar(1000) NULL, `diamond_jewelry_brand_name` varchar(255) NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `Eoc_estimate_v3`(`id` int NOT NULL AUTO_INCREMENT, `tel` varchar(255) NULL, `mail` varchar(255) NULL, `contact` varchar(255) NULL, `device` varchar(255) NULL, `url` mediumtext NULL, `date` datetime NULL, `cv_site` varchar(255) NULL, `send_id` varchar(255) NULL, `created_at` datetime NULL, `updated_at` datetime NULL, `bikou` varchar(1000) NULL, `cv_time` datetime NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `Eoc_guestquestion`(`id` int NOT NULL AUTO_INCREMENT, `site-reflect` int NULL DEFAULT 0, `timestamp` datetime NULL, `service-name` varchar(255) NULL, `service-name-text` mediumtext NULL, `service-story` varchar(255) NULL, `service-story-text` mediumtext NULL, `service-satisfied` varchar(255) NULL, `sold-this-time` varchar(255) NULL, `cancel-reason` varchar(255) NULL, `cancel-reason-text` mediumtext NULL, `other-reason-text` mediumtext NULL, `how-much-cheap` varchar(255) NULL, `how-much-cheap-text` mediumtext NULL, `dissatisfied-reason-text` mediumtext NULL, `service-speed` varchar(255) NULL, `service-speed-text` mediumtext NULL, `service-description` varchar(255) NULL, `service-description-text` mediumtext NULL, `site-level` varchar(255) NULL, `site-level-text` mediumtext NULL, `choice-reason-text` mediumtext NULL, `search-keyword` mediumtext NULL, `search-keyword-text` mediumtext NULL, `search-engine` varchar(255) NULL, `search-engine-text` mediumtext NULL, `search-medium` varchar(255) NULL, `search-medium-text` mediumtext NULL, `freely-write-text` mediumtext NULL, `a-word-text` mediumtext NULL, `customer-sex` varchar(255) NULL, `customer-age` varchar(255) NULL, `customer-address` varchar(255) NULL, `mail-or-tel-text` mediumtext NULL, `domain` varchar(100) NULL, `device` varchar(50) NULL, `voice_sub_id` int NULL, `updated_at` datetime NULL, `eva_id` int NULL, `ecc_id` int NULL, `fav_count` int NULL DEFAULT 0, `comment_agree` varchar(255) NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `Eoc_guestquestion_posts`(`id` int NOT NULL AUTO_INCREMENT, `Eoc_guestquestion_id` int NULL, `user_id` int NULL, `lounge_user_id` int NULL, `text` mediumtext NULL, `updated_at` datetime NULL, `created_at` datetime NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `Eoc_id_file`(`id` int NOT NULL AUTO_INCREMENT, `Eoc_login_id` int NULL, `google_id` varchar(255) NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `Eoc_login`(`id` int NOT NULL AUTO_INCREMENT, `line_id` varchar(255) NULL, `ecc_id` int NULL, `displayName` varchar(255) NULL, `photoURL` varchar(255) NULL, `phoneNumber` int NULL, `email` varchar(255) NULL, `emailVerfied` tinyint NULL, `update_at` datetime NULL, `create_at` datetime NULL, `firebase_id` varchar(255) NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `Eoc_mitsumori`(`id` int NOT NULL AUTO_INCREMENT, `shape` varchar(100) NULL, `grade` varchar(100) NULL, `all_weight` varchar(100) NULL, `stone_type` varchar(100) NULL, `stone_weight` varchar(100) NULL, `aside_stone_weight` varchar(100) NULL, `have_labo_note` varchar(100) NULL, `labo_name` varchar(100) NULL, `buy_time` varchar(100) NULL, `buy_price` varchar(100) NULL, `jewelry_brand_name` varchar(100) NULL, `bikou` mediumtext NULL, `dia_shape` varchar(100) NULL, `dia_carat` varchar(100) NULL, `dia_color_select` varchar(50) NULL, `dia_color` varchar(100) NULL, `dia_intensity` varchar(100) NULL, `dia_overtone` varchar(100) NULL, `dia_clarity` varchar(100) NULL, `dia_cut_grade` varchar(100) NULL, `dia_polish` varchar(100) NULL, `dia_symmetry` varchar(100) NULL, `dia_fluorescence_intensity` varchar(100) NULL, `dia_fluorescence_color` varchar(100) NULL, `dia_buy_time` varchar(100) NULL, `dia_buy_price` varchar(100) NULL, `dia_have_labo_note` varchar(100) NULL, `dia_labo_name` varchar(100) NULL, `dia_brand_name` varchar(100) NULL, `dia_bikou` mediumtext NULL, `brand_name` varchar(100) NULL, `brand_item_name` varchar(100) NULL, `brand_kataban` varchar(100) NULL, `brand_condition` varchar(100) NULL, `brand_buy_time` varchar(100) NULL, `brand_buy_time_memo` mediumtext NULL, `brand_buy_price` varchar(100) NULL, `brand_buy_shop` varchar(100) NULL, `brand_buy_shop_memo` mediumtext NULL, `brand_bikou` mediumtext NULL, `user_sex` varchar(100) NULL, `user_tel` varchar(100) NULL, `user_mail` varchar(255) NULL, `user_renraku_houhou` varchar(100) NULL, `user_kit_kibou` varchar(100) NULL, `user_img_url` mediumtext NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `Eoc_refining`(`id` int NOT NULL AUTO_INCREMENT, `number_of_times` mediumtext NULL, `service_selection` mediumtext NULL, `reservation_time` mediumtext NULL, `ingot_type_and_details` mediumtext NULL, `gold_1kg` mediumtext NULL, `gold_500g` mediumtext NULL, `platinum_1kg` mediumtext NULL, `platinum_500g` mediumtext NULL, `plan` mediumtext NULL, `plan__2` mediumtext NULL, `plan__3` mediumtext NULL, `split_cost` mediumtext NULL, `delivery_time` mediumtext NULL, `kit_details` mediumtext NULL, `rebuilding` mediumtext NULL, `simulation` mediumtext NULL, `user_name` mediumtext NULL, `user_name_kana` mediumtext NULL, `user_yuubinn` mediumtext NULL, `user_todou` mediumtext NULL, `user_sikutyouson` mediumtext NULL, `user_banti` mediumtext NULL, `user_mansion` mediumtext NULL, `deliver_confirm` mediumtext NULL, `user_tel` mediumtext NULL, `user_mail` mediumtext NULL, `domain_type` mediumtext NULL, `E-mail` mediumtext NULL, `financial_institution_name` mediumtext NULL, `financial_institution_code` mediumtext NULL, `branch_name` mediumtext NULL, `branch_code` mediumtext NULL, `branch_name_yuucho` mediumtext NULL, `kigou_yuucho` mediumtext NULL, `account_type` mediumtext NULL, `account_number` mediumtext NULL, `nominee` mediumtext NULL, `tel_mail_fax` mediumtext NULL, `fax_number` mediumtext NULL, `final_1` mediumtext NULL, `final_2` mediumtext NULL, `confirmation` mediumtext NULL, `bikou` mediumtext NULL, `questionnaire_1` mediumtext NULL, `questionnaire_2` mediumtext NULL, `questionnaire_3` mediumtext NULL, `questionnaire_1_text` mediumtext NULL, `questionnaire_2_text` mediumtext NULL, `questionnaire_3_text` mediumtext NULL, `created_at` datetime NULL, `updated_at` datetime NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `Eoc_refining_bk_240315`(`id` int NOT NULL AUTO_INCREMENT, `number_of_times` mediumtext NULL, `service_selection` mediumtext NULL, `reservation_time` mediumtext NULL, `ingot_type_and_details` mediumtext NULL, `gold_1kg` mediumtext NULL, `gold_500g` mediumtext NULL, `platinum_1kg` mediumtext NULL, `platinum_500g` mediumtext NULL, `plan` mediumtext NULL, `plan__2` mediumtext NULL, `plan__3` mediumtext NULL, `split_cost` mediumtext NULL, `delivery_time` mediumtext NULL, `kit_details` mediumtext NULL, `rebuilding` mediumtext NULL, `simulation` mediumtext NULL, `user_name` mediumtext NULL, `user_name_kana` mediumtext NULL, `user_yuubinn` mediumtext NULL, `user_todou` mediumtext NULL, `user_sikutyouson` mediumtext NULL, `user_banti` mediumtext NULL, `user_mansion` mediumtext NULL, `deliver_confirm` mediumtext NULL, `user_tel` mediumtext NULL, `user_mail` mediumtext NULL, `domain_type` mediumtext NULL, `E-mail` mediumtext NULL, `financial_institution_name` mediumtext NULL, `financial_institution_code` mediumtext NULL, `branch_name` mediumtext NULL, `branch_code` mediumtext NULL, `branch_name_yuucho` mediumtext NULL, `kigou_yuucho` mediumtext NULL, `account_type` mediumtext NULL, `account_number` mediumtext NULL, `nominee` mediumtext NULL, `tel_mail_fax` mediumtext NULL, `fax_number` mediumtext NULL, `final_1` mediumtext NULL, `final_2` mediumtext NULL, `confirmation` mediumtext NULL, `bikou` mediumtext NULL, `questionnaire_1` mediumtext NULL, `questionnaire_2` mediumtext NULL, `questionnaire_3` mediumtext NULL, `questionnaire_1_text` mediumtext NULL, `questionnaire_2_text` mediumtext NULL, `questionnaire_3_text` mediumtext NULL, `created_at` datetime NULL, `updated_at` datetime NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `Eoc_refining_v1`(`id` int NOT NULL AUTO_INCREMENT, `angouka_mailaddress` varchar(100) NULL, `service_selection` mediumtext NULL, `sale_advance_input` mediumtext NULL, `deliveryservice` mediumtext NULL, `totalTransferAmount` mediumtext NULL, `usage` mediumtext NULL, `rebuilding` mediumtext NULL, `name` mediumtext NULL, `kana` mediumtext NULL, `phone_number` mediumtext NULL, `email` mediumtext NULL, `contact_method` mediumtext NULL, `user_yuubinn` mediumtext NULL, `user_todou` mediumtext NULL, `user_sikutyouson` mediumtext NULL, `user_banti` mediumtext NULL, `user_building` mediumtext NULL, `is_applicant` mediumtext NULL, `same_address` mediumtext NULL, `content_inquiry` mediumtext NULL, `questionnaire_1` mediumtext NULL, `questionnaire_2` mediumtext NULL, `questionnaire_3` mediumtext NULL, `created_at` datetime NULL, `updated_at` datetime NULL, `ingot_details` mediumtext NULL, `saleRebuildingPrice` mediumtext NULL, `selected_sale_g` mediumtext NULL, `status` varchar(255) NULL, `ecc_id` bigint(20) NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `Eoc_takuhai`(`id` int NOT NULL AUTO_INCREMENT, `brand_confirm` varchar(100) NULL, `number_of_times` varchar(100) NULL, `type_selection` varchar(100) NULL, `reuse_box` varchar(100) NULL, `kit_detail` mediumtext NULL, `date_select` varchar(100) NULL, `time_select` varchar(100) NULL, `date_select_hidden` varchar(100) NULL, `time_select_hidden` varchar(100) NULL, `speed_box` varchar(100) NULL, `date_and_time` varchar(100) NULL, `date_and_time_hidden` varchar(100) NULL, `user_name` varchar(100) NULL, `user_name_kana` varchar(100) NULL, `user_tel` varchar(100) NULL, `user_mail` varchar(255) NULL, `user_yuubinn` varchar(50) NULL, `user_todou` varchar(100) NULL, `user_sikutyouson` mediumtext NULL, `user_banti` mediumtext NULL, `tel_mail_line` varchar(100) NULL, `bikou` mediumtext NULL, `insurance_speed` varchar(100) NULL, `insurance` varchar(100) NULL, `insurance_kingaku` varchar(200) NULL, `mail_magazin` varchar(100) NULL, `anke_1` mediumtext NULL, `anke_2` mediumtext NULL, `anke_3` mediumtext NULL, `mail_text` mediumtext NULL, `REMOTE_HOST` varchar(100) NULL, `REMOTE_ADDR` varchar(100) NULL, `USER_AGENT` mediumtext NULL, `HTTP_REFERER` varchar(100) NULL, `key_code` varchar(100) NULL, `cv_site` varchar(50) NULL, `cv_device` varchar(50) NULL, `cv_page` varchar(100) NULL, `cv_time` datetime NULL, `user_id` int NULL, `mailingkit_id` int NULL, `line_satei` varchar(255) NULL, `kit_denpyou` int NULL, `kit_huutou` int NULL, `kit_S` int NULL, `kit_M` int NULL, `kit_L` int NULL, `updated_at` datetime NULL, `created_at` datetime NULL, `service_users_id` int NULL, `contract_at` date NULL, `ad_param` mediumtext NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `Eoc_takuhai_copy1`(`id` int NOT NULL AUTO_INCREMENT, `brand_confirm` varchar(100) NULL, `number_of_times` varchar(100) NULL, `type_selection` varchar(100) NULL, `reuse_box` varchar(100) NULL, `kit_detail` mediumtext NULL, `date_select` varchar(100) NULL, `time_select` varchar(100) NULL, `date_select_hidden` varchar(100) NULL, `time_select_hidden` varchar(100) NULL, `speed_box` varchar(100) NULL, `date_and_time` varchar(100) NULL, `date_and_time_hidden` varchar(100) NULL, `user_name` varchar(100) NULL, `user_name_kana` varchar(100) NULL, `user_tel` varchar(100) NULL, `user_mail` varchar(255) NULL, `user_yuubinn` varchar(50) NULL, `user_todou` varchar(100) NULL, `user_sikutyouson` mediumtext NULL, `user_banti` mediumtext NULL, `tel_mail_line` varchar(100) NULL, `bikou` mediumtext NULL, `insurance_speed` varchar(100) NULL, `insurance` varchar(100) NULL, `insurance_kingaku` varchar(200) NULL, `mail_magazin` varchar(100) NULL, `anke_1` mediumtext NULL, `anke_2` mediumtext NULL, `anke_3` mediumtext NULL, `mail_text` mediumtext NULL, `REMOTE_HOST` varchar(100) NULL, `REMOTE_ADDR` varchar(100) NULL, `USER_AGENT` mediumtext NULL, `HTTP_REFERER` varchar(100) NULL, `key_code` varchar(100) NULL, `cv_site` varchar(50) NULL, `cv_device` varchar(50) NULL, `cv_page` varchar(100) NULL, `cv_time` datetime NULL, `user_id` int NULL, `mailingkit_id` int NULL, `line_satei` varchar(255) NULL, `kit_denpyou` int NULL, `kit_huutou` int NULL, `kit_S` int NULL, `kit_M` int NULL, `kit_L` int NULL, `updated_at` datetime NULL, `created_at` datetime NULL, `service_users_id` int NULL, `contract_at` date NULL, `ad_param` mediumtext NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `Eoc_takuhai_satei_tokens`(`id` int NOT NULL AUTO_INCREMENT, `Eoc_takuhai_id` bigint(20) NOT NULL, `token` varchar(255) NOT NULL, `created_at` datetime NULL, `updated_at` datetime NULL, `limit_at` datetime NULL, `is_responsed` tinyint NULL DEFAULT 0, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `PMT_EV001`(`APP_STATUS` varchar(10) NOT NULL, `ROW` int NOT NULL, `APP_UID` int NOT NULL AUTO_INCREMENT, `DA_SEQ` varchar(32) NULL, `DA_MANAGEMENTNO` varchar(32) NULL, `DA_BUYER` varchar(32) NULL, `DA_RESPONSIBLE` varchar(32) NULL, `DA_THESPECIFICATIONSSETTINGSUN` varchar(32) NULL, `DA_WEIGHT` decimal(11,3) NULL, `DA_THESPECIFICATIONSLOSSES` varchar(32) NULL, `DA_PER_CARAT` varchar(32) NULL, `APP_NUMBER` int NOT NULL, `DA_SHAPE` varchar(32) NULL, `DA_SELFGRES` varchar(32) NULL, `DA_ORIGINALGRADEMLIKENED` varchar(32) NULL, `DA_SUGARCANE` varchar(32) NULL, `DA_PERCENT` varchar(32) NULL, `DA_STATUS` varchar(32) NULL, `DA_COLOR` varchar(32) NULL, `DA_CLARITY` varchar(32) NULL, `DA_CUT` varchar(32) NULL, `DA_FLUO` varchar(32) NULL, `DA_WIDE` varchar(32) NULL, `DA_HIGH` varchar(32) NULL, `DA_DEPTH` varchar(32) NULL, `DA_APPRAISER` varchar(32) NULL, `DA_RATE` varchar(32) NULL, `DA_UNITPRICE` varchar(32) NULL, `DA_YOURNAME` varchar(32) NULL, `DA_PAYOUTOTHER` double NULL, `DA_RAPA` varchar(32) NULL, `DA_COMMENTSANDTOTAL` varchar(32) NULL, `DA_REGISTEREDPERSON` varchar(32) NULL, `DA_GROSSPROFIT` varchar(32) NULL, `DA_INTEREST_1` varchar(32) NULL, `DA_REGISTRATIONDATE` varchar(32) NULL, `DA_UPDATEDBY` varchar(32) NULL, `DA_UPDATEDDATE` varchar(32) NULL, `DA_COMPLETECHANGEDATE` varchar(32) NULL, `DA_FRAPA` varchar(32) NULL, `DA_RAPAB` varchar(50) NULL, `DA_UNIT_PRICE_UNPLUG` varchar(50) NULL, `DA_STATUS_2` varchar(255) NULL, `DA_MEMO` mediumtext NULL, `DA_INTENSITY` varchar(50) NULL, `DA_OVERTONE` varchar(50) NULL, `DA_INTENSITY_FLUO` varchar(50) NULL, `DA_COLOR_FLUO` varchar(50) NULL, `DA_POLISH` varchar(100) NULL, `DA_SYMMETRY` varchar(100) NULL, `DA_no` varchar(100) NULL, `status` int NULL, `INSI_waname` varchar(255) NULL, `OVTO_waname` varchar(255) NULL, PRIMARY KEY (`APP_UID`))CHARACTER SET utf8; +CREATE TABLE `_DIA_DA_APPRAISER`(`id` int NOT NULL AUTO_INCREMENT, `name` varchar(255) NULL, `sort` varchar(255) NULL, `parent` int NULL, `wa_name` varchar(255) NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `_DIA_DA_CLARITY`(`id` int NOT NULL AUTO_INCREMENT, `name` varchar(255) NULL, `sort` int NULL, `parent` int NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `_DIA_DA_COLOR`(`id` int NOT NULL AUTO_INCREMENT, `name` varchar(255) NULL, `sort` int NULL, `parent` int NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `_DIA_DA_CUT`(`id` int NOT NULL AUTO_INCREMENT, `name` varchar(255) NULL, `sort` int NULL, `parent` int NULL, `wa_name` varchar(255) NULL, `description` mediumtext NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `_DIA_DA_FLUO`(`id` int NOT NULL AUTO_INCREMENT, `name` varchar(255) NULL, `sort` int NULL, `parent` int NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `_brand`(`id` int NOT NULL, `name` varchar(255) NULL)CHARACTER SET utf8; +CREATE TABLE `_chigin_type`(`id` int NOT NULL AUTO_INCREMENT, `name` varchar(255) NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `_condition`(`id` int NOT NULL AUTO_INCREMENT, `name` varchar(255) NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `_condition_type`(`condition_id` int NOT NULL AUTO_INCREMENT, `category_id` int NULL, `condition_name` mediumtext NULL, PRIMARY KEY (`condition_id`))CHARACTER SET utf8; +CREATE TABLE `_goods_status`(`goods_id` int NOT NULL AUTO_INCREMENT, `goods_status` varchar(255) NULL, PRIMARY KEY (`goods_id`))CHARACTER SET utf8; +CREATE TABLE `_goods_status2`(`goods_id` int NOT NULL, `goods_status` varchar(255) NULL, `id` int NOT NULL AUTO_INCREMENT, `status_id` int NULL, `sort` int NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `_mail_check_type`(`mail_check_id` int NOT NULL AUTO_INCREMENT, `mail_check_name` varchar(32) NULL, PRIMARY KEY (`mail_check_id`))CHARACTER SET utf8; +CREATE TABLE `_mst_condition`(`id` int NOT NULL AUTO_INCREMENT, `condition_name` varchar(255) NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `_news_category`(`id` int NOT NULL AUTO_INCREMENT, `news_name` varchar(32) NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `_page_category`(`id` int NOT NULL AUTO_INCREMENT, `name` varchar(32) NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `_page_name`(`id` int NOT NULL AUTO_INCREMENT, `page_id` varchar(32) NULL, `page_name` varchar(255) NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `_pref`(`id` int NOT NULL AUTO_INCREMENT, `data` varchar(100) NOT NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `_sex`(`sex_id` int NOT NULL AUTO_INCREMENT, `sex_name` varchar(12) NULL, `sex_ini` varchar(12) NULL, PRIMARY KEY (`sex_id`))CHARACTER SET utf8; +CREATE TABLE `_yes_no`(`id` int NOT NULL AUTO_INCREMENT, `data` varchar(3) NOT NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `ages`(`age_id` int NOT NULL AUTO_INCREMENT, `age_name` varchar(50) NULL, PRIMARY KEY (`age_id`))CHARACTER SET utf8; +CREATE TABLE `articles`(`article_id` int NOT NULL AUTO_INCREMENT, `article_title` varchar(50) NULL, `category_id` int NULL, `article_desc` mediumtext NULL, `date_add` datetime NULL, `date_end` datetime NULL, PRIMARY KEY (`article_id`))CHARACTER SET utf8; +CREATE TABLE `auctions`(`id` int NOT NULL AUTO_INCREMENT, `bod_id` varchar(32) NULL, `product_id` int NULL, `store_product_id` varchar(32) NULL, `Control_Number` varchar(32) NULL, `Categories` varchar(32) NULL, `Title` varchar(32) NULL, `Description` mediumtext NULL, `Description_for_mobile_version` varchar(8) NULL, `Items_in_the_store_for_the_search_keyword` varchar(255) NULL, `Starting_price` int NULL, `Qty` varchar(4) NULL, `Limited_number_of_bids` varchar(4) NULL, `Period` varchar(32) NULL, `End_time` varchar(32) NULL, `State_of_the_original_shipment` varchar(32) NULL, `Shipment_of_the_original_city` varchar(255) NULL, `Expense` varchar(255) NULL, `Upfront_payment_deferred_payment` varchar(255) NULL, `Navigation_Settings_payment_bid` varchar(255) NULL, `Product_status` varchar(255) NULL, `Note:_Product_status` varchar(255) NULL, `Returns_whether_or_not` varchar(255) NULL, `Note_whether_the_return` varchar(255) NULL, `Image_1` varchar(255) NULL, `Image_1_Comments` varchar(255) NULL, `Image_2` varchar(255) NULL, `Image_2_comments` varchar(255) NULL, `Image_3` varchar(255) NULL, `Image_3_comments` varchar(255) NULL, `Lowest_rating` varchar(255) NULL, `Automatic_extension` varchar(255) NULL, `Early_termination` varchar(255) NULL, `Price_summary` varchar(255) NULL, `Price_negotiation` varchar(255) NULL, `Auto_Relist_Item` varchar(255) NULL, `Lowest_winning_bid` varchar(255) NULL, `Auction_Spotlight` varchar(255) NULL, `Bold_text` varchar(255) NULL, `Background_color` varchar(255) NULL, `Sutoahottookushon` varchar(255) NULL, `Prominent_icon` varchar(255) NULL, `Icon_Gifts` varchar(255) NULL, `Yahoo_point_options` varchar(255) NULL, `Afirieitoopushon` varchar(255) NULL, `Package_size` varchar(255) NULL, `Weight_of_luggage` varchar(255) NULL, `FUN_BOON` varchar(255) NULL, `delvery_1` varchar(255) NULL, `delivery_link_1` varchar(255) NULL, `delivery_methods_1` varchar(255) NULL, `delivery_2` varchar(255) NULL, `delivery_link_2` varchar(255) NULL, `delivery_methods_2` varchar(255) NULL, `image_amount` int NULL, `delivery_3` varchar(255) NULL, `delivery_link_3` varchar(255) NULL, `delivery_methods_3` varchar(255) NULL, `delivery_4` varchar(255) NULL, `delivery_link_4` varchar(255) NULL, `delivery_methods_4` varchar(255) NULL, `delivery_5` varchar(255) NULL, `delivery_link_5` varchar(255) NULL, `delivery_methods_5` varchar(255) NULL, `delivery_6` varchar(255) NULL, `delivery_link_6` varchar(255) NULL, `delivery_methods_6` varchar(255) NULL, `delivery_7` varchar(255) NULL, `delivery_link_7` varchar(255) NULL, `delivery_methods_7` varchar(255) NULL, `delivery_8` varchar(255) NULL, `delivery_link_8` varchar(255) NULL, `delivery_methods_8` varchar(255) NULL, `delivery_9` varchar(255) NULL, `delivery_link_9` varchar(255) NULL, `delivery_methods_9` varchar(255) NULL, `delivery_10` varchar(255) NULL, `delivery_link_10` varchar(255) NULL, `delivery_methods_10` varchar(255) NULL, `Image_1_Comments1` varchar(255) NULL, `amount_of_image` int NULL, `International_shipping` varchar(255) NULL, `International shipping` int NULL, `raku_cont_col` varchar(12) NOT NULL DEFAULT 'n', `raku_goods_name` varchar(255) NOT NULL, `raku_tag` varchar(32) NULL, `raku_price` int NOT NULL, `raku_dir` varchar(255) NULL DEFAULT '558899', `rak_pc_catch` varchar(32) NULL, `rak_moobile` varchar(32) NULL, `raku_shouhinjyouhou_layout` tinyint NULL, `raku_tax` tinyint NULL, `raku_send_price` tinyint NULL, `raku_kobetu_souryou` varchar(32) NULL, `raku_souryou_kubun1` tinyint NULL, `raku_souryou_kubun2` tinyint NULL, `raku_daibiki` tinyint NULL, `raku_souko_sitei` varchar(32) NULL, `raku_layout` varchar(32) NULL, `raku_chuumon_btn` tinyint NULL, `raku_siryou_seikyuu` tinyint NULL, `raku_shouhin_toiawase` tinyint NULL, `raku_sainyuuka_osirase` tinyint NULL, `raku_mobile_disp` tinyint NULL, `raku_nosi_taiou` tinyint NULL, `raku_pc_shouhin_setumei` mediumtext NULL, `raku_mobile_setumei` mediumtext NULL, `raku_pcyou_hanbai_setumei` varchar(255) NULL, `raku_douga` varchar(32) NULL, `raku_hanbai_sitei_kikan` varchar(255) NULL, `raku_chuumon_uketukesuu` varchar(32) NULL, `raku_zaiko_tipe` varchar(32) NULL, `raku_zaiko_suu` varchar(32) NULL, `raku_zaiko_suu_hyouji` varchar(32) NULL, `raku_kumoku_kobetu_zaiko` varchar(32) NULL, `raku_koumoku_sentaku_tate` tinyint NULL, `koumoku_sentaku_kobetu_sikii` tinyint NULL, `raku__yamiichi_pass` varchar(32) NULL, `raku_catalog` varchar(32) NULL, `raku_zaiko_modosi` tinyint NULL, `raku_zaiko_kire` tinyint NULL, `raku_zaiko_ari` varchar(32) NULL, `raku_zaiko_kire_nouki` varchar(32) NULL, `raku_point` varchar(32) NULL, `raku_point_bairitu_tekiyo` varchar(255) NULL, `raku_header_footer` varchar(32) NULL, `raku_hyouji_koumoku_narabi` varchar(32) NULL, `raku_kyoutuu_setumei` varchar(255) NULL, `raku_medama` varchar(255) NULL, `raku_kyoutuu_setumei_dai` varchar(255) NULL, `raku_review` tinyint NULL, `raku_asuraku_haisou` varchar(255) NULL, `_raku_kaigai_haisou` tinyint NULL, `raku_saizu_hyou_link` varchar(255) NULL, `raku_image1` mediumtext NULL, `raku_image2` varchar(70) NULL, `raku_image3` varchar(70) NULL, `raku_hyoujisaki_category` varchar(32) NULL, `raku_search` varchar(32) NULL, `raku_koumoku_sentaku_yoko` varchar(32) NULL, `raku_hyouji_kakaku` int NULL, `raku_shouhin_bangou` varchar(32) NULL, `rakuten.raku_cont_col` varchar(32) NULL, `raku_hyouji_big` varchar(32) NULL, `raku_hyouji_mid` varchar(32) NULL, `raku_hyouji_small` varchar(32) NULL, `raku_hyouji_det1` varchar(32) NULL, `raku_hyouji_det2` varchar(32) NULL, `raku_hyouji_det3` varchar(32) NULL, `raku_yuusendo` varchar(32) NULL DEFAULT '999999999', `raku_zaiko_makimodosi` int NULL, `raku_one_page_fukusuu_housiki` int NULL, `raku_zakiko_kirejino_chuumon` int NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `box`(`box_id` int NOT NULL AUTO_INCREMENT, `box_pass` varchar(64) NULL, `box_name` varchar(32) NULL, `box_name_jp` mediumtext NULL, `created_at` datetime NULL, `created_by` varchar(11) NULL, `zip` mediumtext NULL, `zip_status` int NULL, `zip_name` mediumtext NULL, `box_csv_template_id` int NULL, `updated_at` datetime NULL, `rakuten_cabinet_name` varchar(256) NULL, `rakuup` int NULL, `yup` int NULL, `raku_image_name` varchar(255) NULL, `csv` mediumtext NULL, `up` int NULL, `box_id_new` int NULL, `satuei_sha` int NULL, `satuei_jikan` datetime NULL, `kakou_sha` int NULL, `kakou_jikan` datetime NULL, `konpou_sha` int NULL, `konpou_Jikan` datetime NULL, `link1` varchar(50) NULL, `zip_create` int NULL, `updated_by` int NULL, `count` int NULL, `zip_flag` int NULL, PRIMARY KEY (`box_id`))CHARACTER SET utf8; +CREATE TABLE `box_for_result`(`box_id` int NOT NULL AUTO_INCREMENT, `box_name` varchar(32) NULL, `zip` mediumtext NULL, `raku_image_name` varchar(255) NULL, PRIMARY KEY (`box_id`))CHARACTER SET utf8; +CREATE TABLE `brakai_kensaku`(`id` int NOT NULL AUTO_INCREMENT, `date` datetime NULL, `search_contents` mediumtext NULL, `page` varchar(100) NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `brand_page_purchase_results`(`id` int NOT NULL AUTO_INCREMENT, `brand_page_setting_id` bigint(20) NOT NULL, `title` varchar(255) NULL, `min_price` varchar(255) NULL, `max_price` varchar(1000) NULL, `image_url` varchar(1000) NULL, `created_at` datetime NULL DEFAULT CURRENT_TIMESTAMP, `created_by` int NULL, `updated_at` datetime NULL DEFAULT '0000-00-00 00:00:00', `updated_by` int NULL, `kataban` varchar(255) NULL, `list_price` varchar(255) NULL, `camp_price` varchar(255) NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `brand_page_settings`(`id` int NOT NULL AUTO_INCREMENT, `brand_id` bigint(20) NOT NULL, `page_item_name` varchar(255) NOT NULL, `page_item_name_en` varchar(255) NOT NULL, `top_text` varchar(1000) NOT NULL, `top_text_sp` varchar(1000) NOT NULL, `h1_size` varchar(10) NOT NULL, `content_second_word` varchar(255) NOT NULL, `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, `created_by` int NOT NULL, `updated_at` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', `updated_by` int NOT NULL, `url` varchar(255) NOT NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `brand_price`(`id` int NOT NULL AUTO_INCREMENT, `category` varchar(100) NULL, `line_category` varchar(100) NULL, `line` varchar(100) NULL, `item_name` varchar(255) NULL, `kataban` varchar(100) NULL, `list_price` int NULL, `width` int NULL, `height` int NULL, `depth` int NULL, `color` varchar(100) NULL, `brand_id` int NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `colorstone_settings`(`id` int NOT NULL AUTO_INCREMENT, `colorstone_id` bigint(20) NOT NULL, `url` varchar(255) NOT NULL, `page_item_name` varchar(255) NOT NULL, `page_item_name_en` varchar(255) NOT NULL, `color_content` varchar(1000) NOT NULL, `transparency_content` varchar(1000) NOT NULL, `shine_content` varchar(1000) NOT NULL, `process_content` varchar(1000) NOT NULL, `effects_powers_content` varchar(1000) NOT NULL, `areas_content` varchar(1000) NOT NULL, `characteristics_content` varchar(1000) NOT NULL, `historical_content` varchar(1000) NOT NULL, `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, `created_by` int NOT NULL, `updated_at` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', `updated_by` int NOT NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `contents_group`(`id` int NOT NULL AUTO_INCREMENT, `name` varchar(255) NULL, `updated_by` int NULL, `updated_at` datetime NULL, `created_by` int NULL, `created_at` datetime NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `contents_group_details`(`id` int NOT NULL AUTO_INCREMENT, `name` varchar(255) NULL, `contents_group_id` int NULL, `brand_id` int NULL, `updated_by` int NULL, `updated_at` datetime NULL, `created_by` int NULL, `created_at` datetime NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `freee_saisanhyou_fix_results`(`id` int NULL, `department_id` int NULL, `uriage` int NULL, `genka` int NULL, `keihi` int NULL, `total_works` int NULL, `year_month` varchar(6) NULL, `created_at` datetime NULL, `created_by` int NULL, `updated_at` datetime NULL, `updated_by` int NULL)CHARACTER SET utf8; +CREATE TABLE `goldcoin`(`id` int NOT NULL AUTO_INCREMENT, `region` int NULL, `country_name` int NULL, `material` int NULL, `reference_quality` int NULL, `quality` varchar(255) NULL, `coin_name` varchar(255) NULL, `surface` varchar(255) NULL, `back_side` varchar(255) NULL, `remarks` mediumtext NULL, `related_word` mediumtext NULL, `update_at` datetime NULL, `update_by` int NULL, `create_at` datetime NULL, `create_by` int NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `goldcoin_details`(`id` int NOT NULL AUTO_INCREMENT, `face_value` varchar(255) NULL, `face_value_number` decimal(11,2) NULL, `face_value_unit` int NULL, `ounce` varchar(255) NULL, `diameter_mm` varchar(255) NULL, `total_weight` varchar(255) NULL, `total_weight_for_calc` varchar(255) NULL, `manufacturing_number` int NULL, `selling_price` varchar(255) NULL, `selling_price_unit` int NULL, `update_at` datetime NULL, `update_by` int NULL, `create_at` datetime NULL, `create_by` int NULL, `goldcoin_id` int NULL, `region_id` int NULL, `start_year` varchar(255) NULL, `year_remark` varchar(255) NULL, `end_year` varchar(255) NULL, `material_URL_1` mediumtext NULL, `material_URL_2` mediumtext NULL, `surface_image_URL` mediumtext NULL, `back_side_image_URL` mediumtext NULL, `use_back_img` tinyint NULL, `popular_coin_price_sort` int NULL, `search_result_sort` int NULL, `display_list_sort` int NULL, `coefficient` decimal(5,4) NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `goldcoin_mint`(`id` int NOT NULL AUTO_INCREMENT, `mint` int NULL, `update_at` datetime NULL, `update_by` int NULL, `create_at` datetime NULL, `create_by` int NULL, `goldcoin_id` int NULL, `country_name_id` int NULL, `goldcoin_details_id` int NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `info`(`id` int NOT NULL AUTO_INCREMENT, `sex` varchar(50) NULL, `todou` varchar(255) NULL, `tel` varchar(255) NULL, `mail` varchar(255) NULL, `contact` varchar(50) NULL, `text` mediumtext NULL, `created_at` datetime NULL, `image` varchar(255) NULL, `domain` varchar(255) NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `information`(`id` int NOT NULL AUTO_INCREMENT, `category` varchar(255) NULL, `title` varchar(255) NULL, `text` mediumtext NULL, `kin_flag` tinyint NULL, `bra_flag` tinyint NULL, `dia_flag` tinyint NULL, `open_flag` tinyint NULL, `open_date` datetime NULL, `update_at` datetime NULL, `update_by` int NULL, `create_at` datetime NULL, `create_by` int NULL, `url` mediumtext NULL, `url_bra` mediumtext NULL, `url_dia` mediumtext NULL, `sort` int NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `inport`(`name` varchar(255) NULL, `model_num` varchar(255) NULL, `fabric` varchar(255) NULL, `fabric_num` varchar(255) NULL, `color` varchar(255) NULL, `color_num` varchar(255) NULL, `ref_list_price` varchar(255) NULL, `size` varchar(255) NULL, `ref_purchace_price` varchar(255) NULL)CHARACTER SET utf8; +CREATE TABLE `interview`(`interview_id` int NOT NULL AUTO_INCREMENT, `title` mediumtext NULL, `description` mediumtext NULL, `url` mediumtext NULL, `h1` mediumtext NULL, `h1_text` mediumtext NULL, `h1_img_url` mediumtext NULL, `thumbnail_img_url` mediumtext NULL, `customer_img_url` mediumtext NULL, `customer_name` mediumtext NULL, `open_at` datetime NULL, `is_open` tinyint NULL, `created_at` datetime NULL, `created_by` int NULL, `updated_at` datetime NULL, `updated_by` int NULL, `interviewer_comment` mediumtext NULL, `interviewer_comment_by` int NULL, `customer_comment` mediumtext NULL, `writer_comment` mediumtext NULL, `writer_comment_by` int NULL, `video_url` mediumtext NULL, `custom_page_url` mediumtext NULL, `sp_h1_img_url` mediumtext NULL, PRIMARY KEY (`interview_id`))CHARACTER SET utf8; +CREATE TABLE `interview_contents`(`interview_content_id` int NOT NULL AUTO_INCREMENT, `interview_section_id` bigint(20) NULL, `comment_by` int NULL, `comment_img_url_id` int NULL, `custom_comment_img_url` mediumtext NULL, `comment_text` mediumtext NULL, `sort` int NULL, `updated_by` int NULL, `updated_at` datetime NULL, `created_by` int NULL, `created_at` datetime NULL, PRIMARY KEY (`interview_content_id`))CHARACTER SET utf8; +CREATE TABLE `interview_sections`(`interview_section_id` int NOT NULL AUTO_INCREMENT, `interview_id` bigint(20) NULL, `h2` mediumtext NULL, `h2_for_index` mediumtext NULL, `h2_for_pagelink` mediumtext NULL, `sort` int NULL, `updated_by` int NULL, `updated_at` datetime NULL, `created_by` int NULL, `created_at` datetime NULL, PRIMARY KEY (`interview_section_id`))CHARACTER SET utf8; +CREATE TABLE `kagoya_audit`(`id` int NOT NULL AUTO_INCREMENT, `datetime` datetime NOT NULL, `ip` varchar(40) NOT NULL, `user` varchar(300) NULL, `table` varchar(300) NULL, `action` varchar(250) NOT NULL, `description` mediumtext NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `kagoya_result`(`product_id` int NOT NULL, `category_id` int NULL DEFAULT 999, `sub_category_id1` int NULL DEFAULT 999, `status` int NULL, `product_num` int NULL, `yahoo_junle` varchar(128) NULL, `yahoo_sankou_uwadai` varchar(128) NULL, `yahoo_kataban` varchar(129) NULL, `yahoo_condition2` varchar(50) NULL, `yahoo_fuzokuhin` varchar(255) NULL, `yahoo_sinaban` varchar(11) NULL, `yahoo_sex` int NULL, `box_id` int NULL, `nyuukin_at` datetime NULL, `nyuukin_price` int NULL, `timesta` datetime NULL, `kanryou_henbi` datetime NULL, `satei_hi` datetime NULL, `sabun_date` int NULL, `gold_property` varchar(150) NOT NULL, `ichiba_title` varchar(100) NULL, `accessories` varchar(20) NULL, `priority` varchar(4) NULL, `A_storage` varchar(10) NULL, `line` varchar(50) NULL, `item_name` varchar(50) NULL, `handle` varchar(50) NULL, `serial_number` varchar(150) NULL, `stamp` varchar(150) NULL, `motif` varchar(150) NULL, `Setting` varchar(150) NULL, `processing` varchar(150) NULL, `Sleeve_Length` varchar(150) NULL, `length` varchar(150) NULL, `Ring_size` varchar(150) NULL, `price_for_site` varchar(50) NULL, `raku_title` varchar(255) NULL, `saisun_start` datetime NULL, `season` varchar(100) NULL, `title` varchar(255) NULL, `yahoo_title` varchar(255) NULL, `yahoo_color` mediumtext NULL, `Gram` varchar(20) NULL, `unit` varchar(50) NULL, `Parent_stone` varchar(20) NULL, `producing_area` varchar(150) NULL, `hahakai` varchar(150) NULL, `effect` varchar(150) NULL, `shape` varchar(150) NULL, `cutting_style` varchar(150) NULL, `Aside_stone` varchar(20) NULL, `number_of_stones` varchar(150) NULL, `yahoo_size` mediumtext NULL, `ecc_address1` varchar(100) NULL, `PMT_EV001_APP_UID` int NULL, `PMT_EV001_DA_THESPECIFICATIONSSETTINGSUN` varchar(100) NULL, `PMT_EV001_DA_WEIGHT` varchar(100) NULL, `PMT_EV001_DA_THESPECIFICATIONSLOSSES` varchar(100) NULL, `PMT_EV001_DA_INTENSITY` varchar(100) NULL, `PMT_EV001_DA_OVERTONE` varchar(100) NULL, `PMT_EV001_DA_COLOR` varchar(100) NULL, `PMT_EV001_DA_CLARITY` varchar(100) NULL, `PMT_EV001_DA_CUT` varchar(100) NULL, `PMT_EV001_DA_POLISH` varchar(100) NULL, `PMT_EV001_DA_SYMMETRY` varchar(100) NULL, `PMT_EV001_DA_FLUO` varchar(100) NULL, `PMT_EV001_DA_COLOR_FLUO` varchar(100) NULL, `PMT_EV001_DA_WIDE` varchar(100) NULL, `PMT_EV001_DA_HIGH` varchar(100) NULL, `PMT_EV001_DA_DEPTH` varchar(100) NULL, `PMT_EV001_DA_APPRAISER` varchar(100) NULL, `PMT_EV001_DA_FRAPA` varchar(100) NULL, `PMT_EV001_DA_RATE` varchar(100) NULL, `PMT_EV001_DA_PAYOUTOTHER` varchar(100) NULL, `PMT_EV001_DA_MANAGEMENTNO` varchar(100) NULL, `PMT_EV001_DA_STATUS` varchar(100) NULL, `PMT_EV001_DA_SEQ` varchar(100) NULL, `PMT_EV001_status` int NULL, `PMT_EV001_INSI_waname` varchar(255) NULL, `PMT_EV001_OVTO_waname` varchar(255) NULL, `price_for_site_flag` tinyint NULL, `designer` varchar(255) NULL, `collar_neck_line` varchar(255) NULL, `breast` varchar(150) NULL, `silhouette` varchar(150) NULL, `sleeve` varchar(150) NULL, `toe` varchar(150) NULL, `heel` varchar(150) NULL, `shape_supplement` varchar(150) NULL, `side_gem` varchar(150) NULL, `product_style` varchar(150) NULL, `cloth` varchar(150) NULL, `amount` varchar(150) NULL, `chain_type` varchar(150) NULL, `price_per_gram` decimal(11,0) NULL, `price_per_parent_stone` int NULL, `price_per_aside_stone` int NULL, `ecc_id` int NULL, `price` int NULL, `cost` int NULL, `identification_cost` int NULL, `other_cost` int NULL)CHARACTER SET utf8; +CREATE TABLE `kagoya_result_img`(`product_id` int NOT NULL, `imgpass` mediumtext NULL, PRIMARY KEY (`product_id`))CHARACTER SET utf8; +CREATE TABLE `kagoya_result_original`(`product_id` int NOT NULL, `category_id` int NULL DEFAULT 999, `sub_category_id1` int NULL DEFAULT 999, `status` int NULL, `product_num` int NULL, `yahoo_junle` varchar(128) NULL, `yahoo_sankou_uwadai` varchar(128) NULL, `yahoo_kataban` varchar(129) NULL, `yahoo_condition2` varchar(50) NULL, `yahoo_fuzokuhin` varchar(255) NULL, `yahoo_sinaban` varchar(11) NULL, `yahoo_sex` int NULL, `box_id` int NULL, `nyuukin_at` datetime NULL, `nyuukin_price` int NULL, `timesta` datetime NULL, `kanryou_henbi` datetime NULL, `satei_hi` datetime NULL, `sabun_date` int NULL, `gold_property` varchar(150) NOT NULL, `ichiba_title` varchar(100) NULL, `accessories` varchar(20) NULL, `priority` varchar(4) NULL, `A_storage` varchar(10) NULL, `line` varchar(50) NULL, `item_name` varchar(50) NULL, `handle` varchar(50) NULL, `serial_number` varchar(150) NULL, `stamp` varchar(150) NULL, `motif` varchar(150) NULL, `Setting` varchar(150) NULL, `processing` varchar(150) NULL, `Sleeve_Length` varchar(150) NULL, `length` varchar(150) NULL, `Ring_size` varchar(150) NULL, `price_for_site` varchar(50) NULL, `raku_title` varchar(255) NULL, `saisun_start` datetime NULL, `season` varchar(100) NULL, `title` varchar(255) NULL, `yahoo_title` varchar(255) NULL, `yahoo_color` mediumtext NULL, `Gram` varchar(20) NULL, `unit` varchar(50) NULL, `Parent_stone` varchar(20) NULL, `producing_area` varchar(150) NULL, `hahakai` varchar(150) NULL, `effect` varchar(150) NULL, `shape` varchar(150) NULL, `cutting_style` varchar(150) NULL, `Aside_stone` varchar(20) NULL, `number_of_stones` varchar(150) NULL, `yahoo_size` mediumtext NULL, `ecc_address1` varchar(100) NULL, `PMT_EV001_APP_UID` int NULL, `PMT_EV001_DA_THESPECIFICATIONSSETTINGSUN` varchar(100) NULL, `PMT_EV001_DA_WEIGHT` varchar(100) NULL, `PMT_EV001_DA_THESPECIFICATIONSLOSSES` varchar(100) NULL, `PMT_EV001_DA_INTENSITY` varchar(100) NULL, `PMT_EV001_DA_OVERTONE` varchar(100) NULL, `PMT_EV001_DA_COLOR` varchar(100) NULL, `PMT_EV001_DA_CLARITY` varchar(100) NULL, `PMT_EV001_DA_CUT` varchar(100) NULL, `PMT_EV001_DA_POLISH` varchar(100) NULL, `PMT_EV001_DA_SYMMETRY` varchar(100) NULL, `PMT_EV001_DA_FLUO` varchar(100) NULL, `PMT_EV001_DA_COLOR_FLUO` varchar(100) NULL, `PMT_EV001_DA_WIDE` varchar(100) NULL, `PMT_EV001_DA_HIGH` varchar(100) NULL, `PMT_EV001_DA_DEPTH` varchar(100) NULL, `PMT_EV001_DA_APPRAISER` varchar(100) NULL, `PMT_EV001_DA_FRAPA` varchar(100) NULL, `PMT_EV001_DA_RATE` varchar(100) NULL, `PMT_EV001_DA_PAYOUTOTHER` varchar(100) NULL, `PMT_EV001_DA_MANAGEMENTNO` varchar(100) NULL, `PMT_EV001_DA_STATUS` varchar(100) NULL, `PMT_EV001_DA_SEQ` varchar(100) NULL, `PMT_EV001_status` int NULL, `PMT_EV001_INSI_waname` varchar(255) NULL, `PMT_EV001_OVTO_waname` varchar(255) NULL, `price_for_site_flag` tinyint NULL, `designer` varchar(255) NULL, `collar_neck_line` varchar(255) NULL, `breast` varchar(150) NULL, `silhouette` varchar(150) NULL, `sleeve` varchar(150) NULL, `toe` varchar(150) NULL, `heel` varchar(150) NULL, `shape_supplement` varchar(150) NULL, `side_gem` varchar(150) NULL, `product_style` varchar(150) NULL, `cloth` varchar(150) NULL, `amount` varchar(150) NULL, `chain_type` varchar(150) NULL, `price_per_gram` decimal(11,0) NULL, `price_per_parent_stone` int NULL, `price_per_aside_stone` int NULL)CHARACTER SET utf8; +CREATE TABLE `kagoya_result_out`(`product_id` int NOT NULL, `category_id` int NULL DEFAULT 999, `sub_category_id1` int NULL DEFAULT 999, `status` int NULL, `product_num` int NULL, `yahoo_junle` varchar(128) NULL, `yahoo_sankou_uwadai` varchar(128) NULL, `yahoo_kataban` varchar(129) NULL, `yahoo_condition2` varchar(50) NULL, `yahoo_fuzokuhin` varchar(255) NULL, `yahoo_sinaban` varchar(11) NULL, `yahoo_sex` int NULL, `box_id` int NULL, `nyuukin_at` datetime NULL, `nyuukin_price` int NULL, `timesta` datetime NULL, `kanryou_henbi` datetime NULL, `satei_hi` datetime NULL, `sabun_date` int NULL, `gold_property` varchar(150) NOT NULL, `ichiba_title` varchar(100) NULL, `accessories` varchar(20) NULL, `priority` varchar(4) NULL, `A_storage` varchar(10) NULL, `line` varchar(50) NULL, `item_name` varchar(50) NULL, `handle` varchar(50) NULL, `serial_number` varchar(150) NULL, `stamp` varchar(150) NULL, `motif` varchar(150) NULL, `Setting` varchar(150) NULL, `processing` varchar(150) NULL, `Sleeve_Length` varchar(150) NULL, `length` varchar(150) NULL, `Ring_size` varchar(150) NULL, `price_for_site` varchar(50) NULL, `raku_title` varchar(255) NULL, `saisun_start` datetime NULL, `season` varchar(100) NULL, `title` varchar(255) NULL, `yahoo_title` varchar(255) NULL, `yahoo_color` mediumtext NULL, `Gram` varchar(20) NULL, `unit` varchar(50) NULL, `Parent_stone` varchar(20) NULL, `producing_area` varchar(150) NULL, `hahakai` varchar(150) NULL, `effect` varchar(150) NULL, `shape` varchar(150) NULL, `cutting_style` varchar(150) NULL, `Aside_stone` varchar(20) NULL, `number_of_stones` varchar(150) NULL, `yahoo_size` mediumtext NULL, `ecc_address1` varchar(100) NULL, `PMT_EV001_APP_UID` int NULL, `PMT_EV001_DA_THESPECIFICATIONSSETTINGSUN` varchar(100) NULL, `PMT_EV001_DA_WEIGHT` varchar(100) NULL, `PMT_EV001_DA_THESPECIFICATIONSLOSSES` varchar(100) NULL, `PMT_EV001_DA_INTENSITY` varchar(100) NULL, `PMT_EV001_DA_OVERTONE` varchar(100) NULL, `PMT_EV001_DA_COLOR` varchar(100) NULL, `PMT_EV001_DA_CLARITY` varchar(100) NULL, `PMT_EV001_DA_CUT` varchar(100) NULL, `PMT_EV001_DA_POLISH` varchar(100) NULL, `PMT_EV001_DA_SYMMETRY` varchar(100) NULL, `PMT_EV001_DA_FLUO` varchar(100) NULL, `PMT_EV001_DA_COLOR_FLUO` varchar(100) NULL, `PMT_EV001_DA_WIDE` varchar(100) NULL, `PMT_EV001_DA_HIGH` varchar(100) NULL, `PMT_EV001_DA_DEPTH` varchar(100) NULL, `PMT_EV001_DA_APPRAISER` varchar(100) NULL, `PMT_EV001_DA_FRAPA` varchar(100) NULL, `PMT_EV001_DA_RATE` varchar(100) NULL, `PMT_EV001_DA_PAYOUTOTHER` varchar(100) NULL, `PMT_EV001_DA_MANAGEMENTNO` varchar(100) NULL, `PMT_EV001_DA_STATUS` varchar(100) NULL, `PMT_EV001_DA_SEQ` varchar(100) NULL, `PMT_EV001_status` int NULL, `PMT_EV001_INSI_waname` varchar(255) NULL, `PMT_EV001_OVTO_waname` varchar(255) NULL, `price_for_site_flag` tinyint NULL, `designer` varchar(255) NULL, `collar_neck_line` varchar(255) NULL, `breast` varchar(150) NULL, `silhouette` varchar(150) NULL, `sleeve` varchar(150) NULL, `toe` varchar(150) NULL, `heel` varchar(150) NULL, `shape_supplement` varchar(150) NULL, `side_gem` varchar(150) NULL, `product_style` varchar(150) NULL, `cloth` varchar(150) NULL, `amount` varchar(150) NULL, `chain_type` varchar(150) NULL, `price_per_gram` decimal(11,0) NULL, `price_per_parent_stone` int NULL, `price_per_aside_stone` int NULL)CHARACTER SET utf8; +CREATE TABLE `kagoya_uggroups`(`GroupID` int NOT NULL AUTO_INCREMENT, `Label` varchar(300) NULL, PRIMARY KEY (`GroupID`))CHARACTER SET utf8; +CREATE TABLE `kagoya_ugmembers`(`UserName` varchar(300) NOT NULL, `GroupID` int NOT NULL, PRIMARY KEY (`UserName`(50),`GroupID`))CHARACTER SET utf8; +CREATE TABLE `kagoya_ugrights`(`TableName` varchar(300) NOT NULL, `GroupID` int NOT NULL, `AccessMask` varchar(10) NULL, PRIMARY KEY (`TableName`(50),`GroupID`))CHARACTER SET utf8; +CREATE TABLE `line_Eoc_relationships`(`id` int NOT NULL AUTO_INCREMENT, `ecc_id` int NULL, `line_id` varchar(255) NULL, `created_at` datetime NULL DEFAULT CURRENT_TIMESTAMP, `updated_at` datetime NULL, `login_at` datetime NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `mail_magazine_cancel`(`id` int NOT NULL AUTO_INCREMENT, `mailaddress` mediumtext NULL, `send_mail_id` bigint(20) NULL, `requested_at` datetime NULL, `created_at` datetime NULL, `updated_at` datetime NULL, `is_finished` tinyint NULL DEFAULT 0, `finished_at` datetime NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `mail_magazine_open_logs`(`id` int NOT NULL AUTO_INCREMENT, `send_mail_id` int NULL, `mailaddress` varchar(255) NULL, `opened_at` datetime NULL, `created_at` datetime NULL, `updated_at` datetime NULL, `user_agent` mediumtext NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `mailsystem_send_schedule`(`id` int NOT NULL AUTO_INCREMENT, `tpl` int NULL, `ecc_id` varchar(30) NULL, `from_addr` varchar(100) NULL, `to_addr` varchar(100) NULL, `subject_pc` varchar(255) NULL, `str_header` mediumtext NULL, `str_pc` mediumtext NULL, `str2_pc` mediumtext NULL, `str3_pc` mediumtext NULL, `send_date` date NULL, `regist_date` datetime NULL, `send_flag` int NULL DEFAULT 0, `send_kind` varchar(10) NULL, `sateinin` varchar(10) NULL, `money` varchar(10) NULL, `regist_customer` int NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `market_product_img`(`market_product_id` bigint(20) NOT NULL, `imgpass` mediumtext NULL, `product_id` int NULL, PRIMARY KEY (`market_product_id`))CHARACTER SET utf8; +CREATE TABLE `market_product_performance_original`(`id` int NOT NULL, `ichiba_meeting_month` varchar(255) NULL, `ichiba_meeting_name` varchar(255) NULL, `colorstone_id` int NULL, `shape` int NULL, `color_quality` int NULL, `defect_quality` int NULL, `category_id` int NULL, `sub_category_id1` int NULL, `ichiba_detail` mediumtext NULL, `gold_property` varchar(255) NULL, `price_per_gram` int NULL, `Gram` decimal(10,3) NULL, `Parent_stone` varchar(255) NULL, `Aside_stone` varchar(255) NULL, `ichiba_melee_gai` int NULL, `Apparaiser` int NULL, `zeinuki` int NULL, `nyuukin_price` int NULL, `ichiba_lot_pieces` int NULL, `avg` varchar(255) NULL, `comment` mediumtext NULL, `syuppinsya` varchar(255) NULL, `DA_YOURNAME` varchar(255) NULL, `ichiba_img` mediumtext NULL, `charagai` int NULL, `price_without_tax` int NULL, `price` int NULL, `sagaku` int NULL, `arari` int NULL, `updated_at` datetime NULL, `updated_by` int NULL, `created_at` datetime NULL, `created_by` int NULL, `price_for_site` int NULL, `resize_flg` tinyint NULL, `title_for_site` mediumtext NULL, `relation_id` int NULL, `voice_sub_id` int NULL, `is_ok` tinyint NULL, `front_hidden_flg` varchar(255) NULL DEFAULT 'False', `display_buy_data` date NULL, `product_id` int NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `market_product_result`(`id` int NOT NULL, `product_id` int NULL, `voice_sub_id` int NULL, `ichiba_meeting_month` varchar(255) NULL, `ichiba_meeting_name` varchar(255) NULL, `colorstone_id` int NULL, `shape` int NULL, `color_quality` int NULL, `defect_quality` int NULL, `category_id` int NULL, `sub_category_id1` int NULL, `ichiba_detail` mediumtext NULL, `gold_property` varchar(255) NULL, `price_per_gram` int NULL, `Gram` decimal(10,3) NULL, `Parent_stone` varchar(255) NULL, `Aside_stone` varchar(255) NULL, `Apparaiser` int NULL, `comment` mediumtext NULL, `ichiba_img` mediumtext NULL, `updated_at` datetime NULL, `updated_by` int NULL, `created_at` datetime NULL, `created_by` int NULL, `price_for_site` int NULL, `title_for_site` mediumtext NULL, `front_hidden_flg` varchar(255) NULL DEFAULT 'False', `display_buy_data` date NULL, `product_num` int NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `members`(`id` int NOT NULL AUTO_INCREMENT, `name` varchar(255) NULL, `email` varchar(255) NULL, `contact_email` varchar(255) NULL, `input_email` varchar(255) NULL, `password` varchar(255) NULL, `created_at` datetime NULL, `updated_at` datetime NULL, `confirmed` int NULL DEFAULT 0, `remember_token` varchar(255) NULL, `token_time` datetime NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `members_comment`(`id` int NOT NULL AUTO_INCREMENT, `category` varchar(255) NULL, `item_id` int NULL, `to_id` varchar(255) NULL, `to_comment_id` int NULL, `comment` mediumtext NULL, `user_id` int NULL, `flag` tinyint NULL DEFAULT 0, `update_at` datetime NULL, `lounge_id` int NULL, `to_lounge` int NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `members_deleted`(`id` int NULL, `name` varchar(255) NULL, `email` varchar(255) NULL, `contact_email` varchar(255) NULL, `input_email` varchar(255) NULL, `password` varchar(255) NULL, `created_at` datetime NULL, `updated_at` datetime NULL, `confirmed` int NULL DEFAULT 0, `remember_token` varchar(255) NULL, `token_time` datetime NULL)CHARACTER SET utf8; +CREATE TABLE `members_favorite`(`id` int NOT NULL AUTO_INCREMENT, `category` varchar(255) NULL, `item_id` int NULL, `user_id` int NULL, `tokumei_id` varchar(200) NULL, `flag` tinyint NULL DEFAULT 1, `update_at` datetime NULL, `created_at` datetime NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `members_password_resets`(`email` varchar(255) NOT NULL, `token` varchar(255) NULL, `created_at` datetime NULL)CHARACTER SET utf8; +CREATE TABLE `members_tokumei`(`id` varchar(200) NOT NULL, `created_at` datetime NULL, `updated_at` datetime NULL, `last_access` datetime NULL, PRIMARY KEY (`id`(50)))CHARACTER SET utf8; +CREATE TABLE `migrations`(`id` int NOT NULL AUTO_INCREMENT, `migration` varchar(255) NOT NULL, `batch` int NOT NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `mst_Appraiser`(`id` int NOT NULL AUTO_INCREMENT, `val` varchar(150) NULL, `sort` int NULL, `update_at` datetime NULL, `update_by` varchar(100) NULL, `create_at` datetime NULL, `create_by` varchar(100) NULL, `english_name` varchar(150) NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `mst_DA_POLISH`(`id` int NOT NULL AUTO_INCREMENT, `name` varchar(255) NULL, `english_name` varchar(255) NULL, `sort` int NULL, `line_category` varchar(100) NULL, `yahoo_junle` int NULL, `category_id` int NULL, `sub_category_id1` int NULL, `update_at` datetime NULL, `update_by` int NULL, `create_at` datetime NULL, `create_by` int NULL, `full_name` varchar(255) NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `mst_DA_SYMMETRY`(`id` int NOT NULL AUTO_INCREMENT, `name` varchar(255) NULL, `english_name` varchar(255) NULL, `sort` int NULL, `line_category` varchar(100) NULL, `yahoo_junle` int NULL, `category_id` int NULL, `sub_category_id1` int NULL, `update_at` datetime NULL, `update_by` int NULL, `create_at` datetime NULL, `create_by` int NULL, `full_name` varchar(255) NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `mst_Eoc_address`(`id` int NOT NULL AUTO_INCREMENT, `name` varchar(255) NULL, `todou` varchar(255) NULL, `top_image` mediumtext NULL, `episode` mediumtext NULL, `create_at` datetime NULL, `create_by` bigint(11) NULL, `update_at` datetime NULL, `update_by` bigint(11) NULL, `top_image_sp` mediumtext NULL, `top_image_txt` mediumtext NULL, `todou_en` varchar(255) NULL, `name_en` varchar(255) NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `mst_Eoc_address_copy1`(`id` int NOT NULL AUTO_INCREMENT, `name` varchar(255) NULL, `todou` varchar(255) NULL, `top_image` mediumtext NULL, `episode` mediumtext NULL, `create_at` datetime NULL, `create_by` bigint(11) NULL, `update_at` datetime NULL, `update_by` bigint(11) NULL, `top_image_sp` mediumtext NULL, `top_image_txt` mediumtext NULL, `todou_en` varchar(255) NULL, `name_en` varchar(255) NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `mst_Intensity`(`ID0` int NOT NULL AUTO_INCREMENT, `Name` varchar(50) NULL, `Sort` int NULL, PRIMARY KEY (`ID0`))CHARACTER SET utf8; +CREATE TABLE `mst_Ring_size`(`id` int NOT NULL AUTO_INCREMENT, `name` varchar(150) NULL, `sort` int NULL, `update_at` datetime NULL, `update_by` varchar(100) NULL, `create_at` datetime NULL, `create_by` varchar(100) NULL, `yahoo_junle` varchar(128) NULL, `category_id` int NULL, `sub_category_id1` int NULL, `ws_output` varchar(100) NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `mst_Setting`(`id` int NOT NULL AUTO_INCREMENT, `name` varchar(150) NULL, `sort` int NULL, `update_at` datetime NULL, `update_by` varchar(100) NULL, `create_at` datetime NULL, `create_by` varchar(100) NULL, `yahoo_junle` varchar(128) NULL, `category_id` int NULL, `sub_category_id1` int NULL, `english_name` varchar(150) NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `mst_brakai_column_category_data`(`id` int NOT NULL AUTO_INCREMENT, `category_name` varchar(255) NOT NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `mst_brakai_column_data`(`id` int NOT NULL AUTO_INCREMENT, `release_flag` tinyint NOT NULL DEFAULT 0, `brand` varchar(60) NOT NULL, `directory_name` varchar(180) NOT NULL, `label` varchar(255) NOT NULL, `title` varchar(180) NOT NULL, `description` varchar(600) NOT NULL, `h1_ttl` varchar(180) NOT NULL, `h1_ttl_sp` varchar(180) NOT NULL, `h1_text` mediumtext NOT NULL, `h1_text_sp` mediumtext NOT NULL, `date` varchar(30) NOT NULL, `open_date` varchar(30) NOT NULL, `last_edit` varchar(30) NOT NULL, `link` varchar(100) NOT NULL, `eye_catch_img` varchar(200) NOT NULL, `eye_catch_alt` mediumtext NULL, `kiji_sum` int NOT NULL DEFAULT 1, `main_ttl_1` mediumtext NULL, `main_ttl_sp_1` mediumtext NULL, `main_text_1_type` varchar(60) NULL, `main_text_1` mediumtext NULL, `main_text_sp_1` mediumtext NULL, `main_img_1` varchar(200) NULL, `main_ttl_2` mediumtext NULL, `main_ttl_sp_2` mediumtext NULL, `main_text_2_type` varchar(60) NULL, `main_text_2` mediumtext NULL, `main_text_sp_2` mediumtext NULL, `main_img_2` varchar(200) NULL, `main_ttl_3` mediumtext NULL, `main_ttl_sp_3` mediumtext NULL, `main_text_3_type` varchar(60) NULL, `main_text_3` mediumtext NULL, `main_text_sp_3` mediumtext NULL, `main_img_3` varchar(200) NULL, `main_ttl_4` mediumtext NULL, `main_ttl_sp_4` mediumtext NULL, `main_text_4_type` varchar(60) NULL, `main_text_4` mediumtext NULL, `main_text_sp_4` mediumtext NULL, `main_img_4` varchar(200) NULL, `main_ttl_5` mediumtext NULL, `main_ttl_sp_5` mediumtext NULL, `main_text_5_type` varchar(60) NULL, `main_text_5` mediumtext NULL, `main_text_sp_5` mediumtext NULL, `main_img_5` varchar(200) NULL, `main_ttl_6` mediumtext NULL, `main_ttl_sp_6` mediumtext NULL, `main_text_6_type` varchar(60) NULL, `main_text_6` mediumtext NULL, `main_text_sp_6` mediumtext NULL, `main_img_6` varchar(200) NULL, `main_ttl_7` mediumtext NULL, `main_ttl_sp_7` mediumtext NULL, `main_text_7_type` varchar(60) NULL, `main_text_7` mediumtext NULL, `main_text_sp_7` mediumtext NULL, `main_img_7` varchar(200) NULL, `main_ttl_8` mediumtext NULL, `main_ttl_sp_8` mediumtext NULL, `main_text_8_type` varchar(60) NULL, `main_text_8` mediumtext NULL, `main_text_sp_8` mediumtext NULL, `main_img_8` varchar(200) NULL, `main_ttl_9` mediumtext NULL, `main_ttl_sp_9` mediumtext NULL, `main_text_9_type` varchar(60) NULL, `main_text_9` mediumtext NULL, `main_text_sp_9` mediumtext NULL, `main_img_9` varchar(200) NULL, `main_ttl_10` mediumtext NULL, `main_ttl_sp_10` mediumtext NULL, `main_text_10_type` varchar(60) NULL, `main_text_10` mediumtext NULL, `main_text_sp_10` mediumtext NULL, `main_img_10` varchar(200) NULL, `main_ttl_11` mediumtext NULL, `main_ttl_sp_11` mediumtext NULL, `main_text_11_type` varchar(60) NULL, `main_text_11` mediumtext NULL, `main_text_sp_11` mediumtext NULL, `main_img_11` varchar(200) NULL, `main_ttl_12` mediumtext NULL, `main_ttl_sp_12` mediumtext NULL, `main_text_12_type` varchar(60) NULL, `main_text_12` mediumtext NULL, `main_text_sp_12` mediumtext NULL, `main_img_12` varchar(200) NULL, `main_ttl_13` mediumtext NULL, `main_ttl_sp_13` mediumtext NULL, `main_text_13_type` varchar(60) NULL, `main_text_13` mediumtext NULL, `main_text_sp_13` mediumtext NULL, `main_img_13` varchar(200) NULL, `main_ttl_14` mediumtext NULL, `main_ttl_sp_14` mediumtext NULL, `main_text_14_type` varchar(60) NULL, `main_text_14` mediumtext NULL, `main_text_sp_14` mediumtext NULL, `main_img_14` varchar(200) NULL, `main_ttl_15` mediumtext NULL, `main_ttl_sp_15` mediumtext NULL, `main_text_15_type` varchar(60) NULL, `main_text_15` mediumtext NULL, `main_text_sp_15` mediumtext NULL, `main_img_15` varchar(200) NULL, `main_ttl_16` mediumtext NULL, `main_ttl_sp_16` mediumtext NULL, `main_text_16_type` varchar(60) NULL, `main_text_16` mediumtext NULL, `main_text_sp_16` mediumtext NULL, `main_img_16` varchar(200) NULL, `main_ttl_17` mediumtext NULL, `main_ttl_sp_17` mediumtext NULL, `main_text_17_type` varchar(60) NULL, `main_text_17` mediumtext NULL, `main_text_sp_17` mediumtext NULL, `main_img_17` varchar(200) NULL, `main_ttl_18` mediumtext NULL, `main_ttl_sp_18` mediumtext NULL, `main_text_18_type` varchar(60) NULL, `main_text_18` mediumtext NULL, `main_text_sp_18` mediumtext NULL, `main_img_18` varchar(200) NULL, `main_ttl_19` mediumtext NULL, `main_ttl_sp_19` mediumtext NULL, `main_text_19_type` varchar(60) NULL, `main_text_19` mediumtext NULL, `main_text_sp_19` mediumtext NULL, `main_img_19` varchar(200) NULL, `main_ttl_20` mediumtext NULL, `main_ttl_sp_20` mediumtext NULL, `main_text_20_type` varchar(60) NULL, `main_text_20` mediumtext NULL, `main_text_sp_20` mediumtext NULL, `main_img_20` varchar(200) NULL, `column_id` int NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `mst_brakai_column_label_data`(`id` int NOT NULL AUTO_INCREMENT, `label_name` varchar(60) NULL, `label_i` varchar(255) NULL, `update_by` int NULL, `update_at` datetime NULL DEFAULT CURRENT_TIMESTAMP, `create_by` int NULL, `create_at` datetime NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `mst_brakai_column_layout`(`id` int NOT NULL AUTO_INCREMENT, `type` mediumtext NULL, `mamo` mediumtext NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `mst_brakai_column_list`(`id` int NOT NULL AUTO_INCREMENT, `release_flag` int NOT NULL, `brand_name` varchar(255) NULL, `directory_name` varchar(255) NULL, `label` mediumtext NULL, `title` varchar(255) NULL, `description` mediumtext NULL, `h1` varchar(255) NULL, `open_date` datetime NULL, `created_at` datetime NULL, `update_at` datetime NULL DEFAULT CURRENT_TIMESTAMP, `page_path` varchar(255) NULL, `eye_catch_img` varchar(255) NULL, `kiji_sum` int NULL, `pankuzu1` varchar(255) NULL, `pankuzu2` varchar(255) NULL, `pankuzu3` varchar(255) NULL, `pankuzu4` varchar(255) NULL, `pankuzu1_url` varchar(255) NULL, `pankuzu2_url` varchar(255) NULL, `pankuzu3_url` varchar(255) NULL, `pankuzu4_url` varchar(255) NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `mst_brand`(`id` int NOT NULL AUTO_INCREMENT, `name` varchar(255) NULL, `eng_name` varchar(255) NULL, `goods_id` int NULL, `japananese_name` varchar(255) NULL, `english_name` varchar(255) NULL, `tag` varchar(255) NULL, `tage` varchar(255) NULL, `seach_j` varchar(255) NULL, `seach_e` varchar(255) NULL, `mst_band_title` varchar(255) NULL, `register_at` datetime NULL, `update_at` datetime NULL, `register_by` int NULL, `update_by` int NULL, `preview` int NULL, `app_name` varchar(255) NULL, `bag` varchar(255) NULL, `wallet` varchar(255) NULL, `accessories` varchar(255) NULL, `catch` varchar(255) NULL, `shoes` varchar(255) NULL, `outer` varchar(255) NULL, `tops` varchar(255) NULL, `camisole` varchar(255) NULL, `bottoms` varchar(255) NULL, `underwear` varchar(255) NULL, `Legwear` varchar(255) NULL, `hat` varchar(255) NULL, `other` varchar(255) NULL, `kids` varchar(255) NULL, `cosmetics` varchar(255) NULL, `gold` varchar(255) NULL, `tableware` varchar(255) NULL, `umbrella` varchar(255) NULL, `season` varchar(255) NULL, `new` varchar(255) NULL, `kyouka` varchar(50) NULL, `timest` datetime NULL, `luxury` varchar(50) NULL, `brand_details` mediumtext NULL, `create_by` varchar(50) NULL, `create_at` datetime NULL, `expensive` mediumtext NULL, `rakutag_id` int NULL, `wasabi_name` varchar(255) NULL, `gray_but_want_to_buy` varchar(50) NULL, `tag_img` mediumtext NULL, `satei_memo` mediumtext NULL, `url` mediumtext NULL, `bullion_dealer` tinyint NULL, `ranking_id` varchar(255) NULL, `is_satei_group` tinyint NULL, `is_satei_group_jewelry` tinyint NULL, `is_purchase_D` tinyint NULL, `is_purchase_J` tinyint NULL, `is_purchase_K` tinyint NULL, `is_purchase_B` tinyint NULL, `is_purchase_W` tinyint NULL, `is_japanese_artist` tinyint NULL, `is_all_gray` tinyint NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `mst_brand2`(`id` int NOT NULL AUTO_INCREMENT, `name` varchar(255) NULL, `eng_name` varchar(255) NULL, `goods_id` int NULL, `japananese_name` varchar(255) NULL, `english_name` varchar(255) NULL, `tag` varchar(255) NULL, `tage` varchar(255) NULL, `seach_j` varchar(255) NULL, `seach_e` varchar(255) NULL, `mst_band_title` varchar(255) NULL, `register_at` datetime NULL, `update_at` datetime NULL, `register_by` int NULL, `update_by` int NULL, `preview` int NULL, `app_name` varchar(255) NULL, `bag` varchar(255) NULL, `wallet` varchar(255) NULL, `accessories` varchar(255) NULL, `catch` varchar(255) NULL, `shoes` varchar(255) NULL, `outer` varchar(255) NULL, `tops` varchar(255) NULL, `camisole` varchar(255) NULL, `bottoms` varchar(255) NULL, `underwear` varchar(255) NULL, `Legwear` varchar(255) NULL, `hat` varchar(255) NULL, `other` varchar(255) NULL, `kids` varchar(255) NULL, `cosmetics` varchar(255) NULL, `gold` varchar(255) NULL, `tableware` varchar(255) NULL, `umbrella` varchar(255) NULL, `season` varchar(255) NULL, `new` varchar(255) NULL, `kyouka` varchar(50) NULL, `timest` datetime NULL, `luxury` varchar(50) NULL, `brand_details` mediumtext NULL, `create_by` varchar(50) NULL, `create_at` datetime NULL, `expensive` mediumtext NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `mst_brand_break20221223`(`id` int NOT NULL AUTO_INCREMENT, `name` varchar(255) NULL, `eng_name` varchar(255) NULL, `goods_id` int NULL, `japananese_name` varchar(255) NULL, `english_name` varchar(255) NULL, `tag` varchar(255) NULL, `tage` varchar(255) NULL, `seach_j` varchar(255) NULL, `seach_e` varchar(255) NULL, `mst_band_title` varchar(255) NULL, `register_at` datetime NULL, `update_at` datetime NULL, `register_by` int NULL, `update_by` int NULL, `preview` int NULL, `app_name` varchar(255) NULL, `bag` varchar(255) NULL, `wallet` varchar(255) NULL, `accessories` varchar(255) NULL, `watch` varchar(255) NULL, `shoes` varchar(255) NULL, `outer` varchar(255) NULL, `tops` varchar(255) NULL, `camisole` varchar(255) NULL, `bottoms` varchar(255) NULL, `underwear` varchar(255) NULL, `Legwear` varchar(255) NULL, `hat` varchar(255) NULL, `other` varchar(255) NULL, `kids` varchar(255) NULL, `cosmetics` varchar(255) NULL, `gold` varchar(255) NULL, `tableware` varchar(255) NULL, `umbrella` varchar(255) NULL, `season` varchar(255) NULL, `new` varchar(255) NULL, `kyouka` varchar(50) NULL, `timest` datetime NULL, `luxury` varchar(50) NULL, `brand_details` mediumtext NULL, `create_by` varchar(50) NULL, `create_at` datetime NULL, `expensive` mediumtext NULL, `rakutag_id` int NULL, `wasabi_name` varchar(255) NULL, `gray_but_want_to_buy` varchar(50) NULL, `tag_img` mediumtext NULL, `satei_memo` mediumtext NULL, `url` mediumtext NULL, `bullion_dealer` tinyint NULL, `ranking_id` varchar(255) NULL, `is_satei_group` tinyint NULL, `is_satei_group_jewelry` tinyint NULL, `is_purchase_D` tinyint NULL, `is_purchase_J` tinyint NULL, `is_purchase_K` tinyint NULL, `is_purchase_B` tinyint NULL, `is_purchase_W` tinyint NULL, `is_japanese_artist` tinyint NULL, `is_all_gray` tinyint NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `mst_brand_include_result`(`id` int NOT NULL AUTO_INCREMENT, `target_pass` varchar(255) NULL, `s_brand` bigint(20) NULL, `s_category` int NULL, `free_word` varchar(255) NULL, `created_at` datetime NULL, `created_by` int NULL, `updated_at` datetime NULL, `updated_by` int NULL, `name` varchar(255) NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `mst_breast`(`id` int NOT NULL AUTO_INCREMENT, `name` varchar(255) NULL, `english_name` varchar(255) NULL, `sort` int NULL, `line_category` varchar(100) NULL, `yahoo_junle` int NULL, `category_id` int NULL, `sub_category_id1` int NULL, `update_by` int NULL, `update_at` datetime NULL, `create_by` int NULL, `create_at` datetime NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `mst_buy_campaign`(`page_id` int NOT NULL AUTO_INCREMENT, `campaign_name` varchar(150) NOT NULL, `description` mediumtext NULL, `top_txt` mediumtext NULL, `mousikomi_startDate` date NULL, `mousikomi_lastDate` date NULL, `touchaku_startDate` date NULL, `touchaku_lastDate` date NULL, `camp_id` varchar(150) NULL, `update_by` int NULL, `update_at` datetime NULL DEFAULT CURRENT_TIMESTAMP, `create_by` int NULL, `create_at` datetime NULL, `event` tinyint NULL, `h1_img` mediumtext NULL, PRIMARY KEY (`page_id`))CHARACTER SET utf8; +CREATE TABLE `mst_buy_campaign_content`(`id` int NOT NULL AUTO_INCREMENT, `camptop_img` varchar(150) NULL, `datail_img` varchar(150) NULL, `camp_category` int NULL, `camp_ttl` varchar(150) NULL, `camp_txt` mediumtext NULL, `result_box_id` varchar(150) NULL, `page1_ttl` varchar(150) NULL, `page1_url` varchar(150) NULL, `page2_ttl` varchar(150) NULL, `page2_url` varchar(150) NULL, `page3_ttl` varchar(150) NULL, `page3_url` varchar(150) NULL, `page4_ttl` varchar(150) NULL, `page4_url` varchar(150) NULL, `page5_ttl` varchar(150) NULL, `page5_url` varchar(150) NULL, `layout_pattern` int NULL DEFAULT 1, `sp_layout_pattern` int NULL DEFAULT 4, `update_by` int NULL, `update_at` datetime NULL DEFAULT CURRENT_TIMESTAMP, `create_by` int NULL, `create_at` datetime NULL, `page_id` int NULL, `sort` int NULL, `rate` int NULL, `backgroundcolor` varchar(50) NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `mst_buy_campaign_layout`(`layout_id` int NOT NULL AUTO_INCREMENT, `layout` mediumtext NULL, `memo` mediumtext NULL, `path` mediumtext NULL, `update_by` int NULL, `update_at` datetime NULL DEFAULT CURRENT_TIMESTAMP, `create_by` int NULL, `create_at` datetime NULL, `layout_name` varchar(255) NULL, `wp_pass` mediumtext NULL, PRIMARY KEY (`layout_id`))CHARACTER SET utf8; +CREATE TABLE `mst_buy_campaign_target`(`id` int NOT NULL AUTO_INCREMENT, `content_id` int NULL, `product_num` int NULL, `category_id` int NULL, `sub_category_id` int NULL, `update_by` int NULL, `update_at` datetime NULL DEFAULT CURRENT_TIMESTAMP, `create_by` int NULL, `create_at` datetime NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `mst_buy_result`(`result_id` int NOT NULL AUTO_INCREMENT, `result_ttl` varchar(255) NULL, `result_img_seq` varchar(150) NULL, `result_img_url` varchar(150) NULL, `list_price` varchar(150) NULL, `camp_price` varchar(150) NULL, `update_by` int NULL, `update_at` datetime NULL DEFAULT CURRENT_TIMESTAMP, `create_by` int NULL, `create_at` datetime NULL, `campaign_id` int NULL, `sort` int NULL, PRIMARY KEY (`result_id`))CHARACTER SET utf8; +CREATE TABLE `mst_category_label_data`(`id` int NOT NULL AUTO_INCREMENT, `label_data` varchar(60) NOT NULL, `gold` tinyint NOT NULL DEFAULT 0, `platinum` tinyint NULL DEFAULT 0, `colorstone` tinyint NOT NULL DEFAULT 0, `diamond` tinyint NOT NULL DEFAULT 0, `brand` tinyint NOT NULL DEFAULT 0, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `mst_chain_type`(`id` int NOT NULL AUTO_INCREMENT, `name` varchar(255) NULL, `sort` int NULL, `update_at` datetime NULL, `update_by` int NULL, `create_at` datetime NULL, `create_by` int NULL, `line_category` varchar(100) NULL, `yahoo_junle` int NULL, `category_id` int NULL, `sub_category_id1` int NULL, `english_name` varchar(255) NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `mst_cloth`(`id` int NOT NULL AUTO_INCREMENT, `name` varchar(255) NULL, `english_name` varchar(255) NULL, `sort` int NULL, `line_category` varchar(100) NULL, `yahoo_junle` int NULL, `category_id` int NULL, `sub_category_id1` int NULL, `update_by` int NULL, `update_at` datetime NULL, `create_by` int NULL, `create_at` datetime NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `mst_collar_neck_line`(`id` int NOT NULL AUTO_INCREMENT, `name` varchar(255) NULL, `english_name` varchar(255) NULL, `sort` int NULL, `line_category` varchar(100) NULL, `yahoo_junle` int NULL, `category_id` int NULL, `sub_category_id1` int NULL, `update_by` int NULL, `update_at` datetime NULL, `create_by` int NULL, `create_at` datetime NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `mst_color_fluo`(`Id` int NOT NULL AUTO_INCREMENT, `Name` varchar(50) NULL, `sort` int NULL, PRIMARY KEY (`Id`))CHARACTER SET utf8; +CREATE TABLE `mst_colorstone`(`id` int NOT NULL AUTO_INCREMENT, `name` varchar(255) NULL, `updated_at` datetime NULL, `updated_by` int NULL, `created_at` datetime NULL, `created_by` int NULL, `update_at` datetime NULL, `sort` int NULL, `img_url` mediumtext NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `mst_column_data`(`id` int NOT NULL AUTO_INCREMENT, `release_flag` tinyint NOT NULL DEFAULT 0, `big_category` varchar(60) NOT NULL, `directory_name` varchar(180) NOT NULL, `category_label` mediumtext NOT NULL, `title` varchar(180) NOT NULL, `description` varchar(600) NOT NULL, `h1` varchar(180) NOT NULL, `h1_sp` varchar(180) NOT NULL, `h1_text` mediumtext NOT NULL, `h1_text_sp` mediumtext NOT NULL, `date` varchar(30) NOT NULL, `open_date` varchar(30) NOT NULL, `last_edit` varchar(30) NOT NULL, `link` varchar(100) NOT NULL, `eye_catch_img` varchar(200) NOT NULL, `eye_catch_alt` mediumtext NULL, `kiji_sum` int NOT NULL DEFAULT 1, `main_ttl_1` mediumtext NULL, `main_ttl_sp_1` mediumtext NULL, `main_text_1_type` varchar(60) NULL, `main_text_1` mediumtext NULL, `main_text_sp_1` mediumtext NULL, `main_img_1` varchar(100) NULL, `main_ttl_2` mediumtext NULL, `main_ttl_sp_2` mediumtext NULL, `main_text_2_type` varchar(60) NULL, `main_text_2` mediumtext NULL, `main_text_sp_2` mediumtext NULL, `main_img_2` varchar(100) NULL, `main_ttl_3` mediumtext NULL, `main_ttl_sp_3` mediumtext NULL, `main_text_3_type` varchar(60) NULL, `main_text_3` mediumtext NULL, `main_text_sp_3` mediumtext NULL, `main_img_3` varchar(100) NULL, `main_ttl_4` mediumtext NULL, `main_ttl_sp_4` mediumtext NULL, `main_text_4_type` varchar(60) NULL, `main_text_4` mediumtext NULL, `main_text_sp_4` mediumtext NULL, `main_img_4` varchar(100) NULL, `main_ttl_5` mediumtext NULL, `main_ttl_sp_5` mediumtext NULL, `main_text_5_type` varchar(60) NULL, `main_text_5` mediumtext NULL, `main_text_sp_5` mediumtext NULL, `main_img_5` varchar(100) NULL, `main_ttl_6` mediumtext NULL, `main_ttl_sp_6` mediumtext NULL, `main_text_6_type` varchar(60) NULL, `main_text_6` mediumtext NULL, `main_text_sp_6` mediumtext NULL, `main_img_6` varchar(100) NULL, `main_ttl_7` mediumtext NULL, `main_ttl_sp_7` mediumtext NULL, `main_text_7_type` varchar(60) NULL, `main_text_7` mediumtext NULL, `main_text_sp_7` mediumtext NULL, `main_img_7` varchar(100) NULL, `main_ttl_8` mediumtext NULL, `main_ttl_sp_8` mediumtext NULL, `main_text_8_type` varchar(60) NULL, `main_text_8` mediumtext NULL, `main_text_sp_8` mediumtext NULL, `main_img_8` varchar(100) NULL, `main_ttl_9` mediumtext NULL, `main_ttl_sp_9` mediumtext NULL, `main_text_9_type` varchar(60) NULL, `main_text_9` mediumtext NULL, `main_text_sp_9` mediumtext NULL, `main_img_9` varchar(100) NULL, `main_ttl_10` mediumtext NULL, `main_ttl_sp_10` mediumtext NULL, `main_text_10_type` varchar(60) NULL, `main_text_10` mediumtext NULL, `main_text_sp_10` mediumtext NULL, `main_img_10` varchar(100) NULL, `main_ttl_11` mediumtext NULL, `main_ttl_sp_11` mediumtext NULL, `main_text_11_type` varchar(60) NULL, `main_text_11` mediumtext NULL, `main_text_sp_11` mediumtext NULL, `main_img_11` varchar(100) NULL, `main_ttl_12` mediumtext NULL, `main_ttl_sp_12` mediumtext NULL, `main_text_12_type` varchar(60) NULL, `main_text_12` mediumtext NULL, `main_text_sp_12` mediumtext NULL, `main_img_12` varchar(100) NULL, `main_ttl_13` mediumtext NULL, `main_ttl_sp_13` mediumtext NULL, `main_text_13_type` varchar(60) NULL, `main_text_13` mediumtext NULL, `main_text_sp_13` mediumtext NULL, `main_img_13` varchar(100) NULL, `main_ttl_14` mediumtext NULL, `main_ttl_sp_14` mediumtext NULL, `main_text_14_type` varchar(60) NULL, `main_text_14` mediumtext NULL, `main_text_sp_14` mediumtext NULL, `main_img_14` varchar(100) NULL, `main_ttl_15` mediumtext NULL, `main_ttl_sp_15` mediumtext NULL, `main_text_15_type` varchar(60) NULL, `main_text_15` mediumtext NULL, `main_text_sp_15` mediumtext NULL, `main_img_15` varchar(100) NULL, `main_ttl_16` mediumtext NULL, `main_ttl_sp_16` mediumtext NULL, `main_text_16_type` varchar(60) NULL, `main_text_16` mediumtext NULL, `main_text_sp_16` mediumtext NULL, `main_img_16` varchar(100) NULL, `main_ttl_17` mediumtext NULL, `main_ttl_sp_17` mediumtext NULL, `main_text_17_type` varchar(60) NULL, `main_text_17` mediumtext NULL, `main_text_sp_17` mediumtext NULL, `main_img_17` varchar(100) NULL, `main_ttl_18` mediumtext NULL, `main_ttl_sp_18` mediumtext NULL, `main_text_18_type` varchar(60) NULL, `main_text_18` mediumtext NULL, `main_text_sp_18` mediumtext NULL, `main_img_18` varchar(100) NULL, `main_ttl_19` mediumtext NULL, `main_ttl_sp_19` mediumtext NULL, `main_text_19_type` varchar(60) NULL, `main_text_19` mediumtext NULL, `main_text_sp_19` mediumtext NULL, `main_img_19` varchar(100) NULL, `main_ttl_20` mediumtext NULL, `main_ttl_sp_20` mediumtext NULL, `main_text_20_type` varchar(60) NULL, `main_text_20` mediumtext NULL, `main_text_sp_20` mediumtext NULL, `main_img_20` varchar(100) NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `mst_column_label_data`(`id` int NOT NULL AUTO_INCREMENT, `name` varchar(255) NULL, `column_id` int NULL, `update_at` datetime NULL, `update_by` int NULL, `create_at` datetime NULL, `create_by` int NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `mst_country_name`(`id` int NOT NULL AUTO_INCREMENT, `name` varchar(255) NULL, `english_name` varchar(255) NULL, `sort` int NULL, `update_by` int NULL, `update_at` datetime NULL, `create_by` int NULL, `create_at` datetime NULL, `region_id` int NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `mst_cutting_style`(`id` int NOT NULL AUTO_INCREMENT, `name` varchar(255) NULL, `sort` int NULL, `update_at` datetime NULL, `update_by` int NULL, `create_at` datetime NULL, `create_by` int NULL, `line_category` varchar(100) NULL, `yahoo_junle` int NULL, `category_id` int NULL, `sub_category_id1` int NULL, `english_name` varchar(255) NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `mst_designer`(`id` int NOT NULL AUTO_INCREMENT, `name` varchar(255) NULL, `sort` int NULL, `update_at` datetime NULL, `update_by` int NULL, `create_at` datetime NULL, `create_by` int NULL, `line_category` varchar(100) NULL, `yahoo_junle` int NULL, `category_id` int NULL, `sub_category_id1` int NULL, `english_name` varchar(255) NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `mst_dia`(`id` int NOT NULL AUTO_INCREMENT, `dia_id` int NULL, `dia_remark` varchar(255) NULL, `_chigin_type_id` int NULL, `gold_property_list` mediumtext NULL, `store_categories_list` mediumtext NULL, `store_sub_categories_list` mediumtext NULL, `img_url` varchar(255) NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `mst_effect`(`id` int NOT NULL AUTO_INCREMENT, `name` varchar(255) NULL, `sort` int NULL, `update_at` datetime NULL, `update_by` int NULL, `create_at` datetime NULL, `create_by` int NULL, `line_category` varchar(100) NULL, `yahoo_junle` int NULL, `category_id` int NULL, `sub_category_id1` int NULL, `english_name` varchar(255) NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `mst_gold_property`(`id` int NOT NULL AUTO_INCREMENT, `val` varchar(32) NULL, `sort` int NULL, `update_by` varchar(100) NULL, `update_at` datetime NULL, `created_by` varchar(100) NULL, `created_at` datetime NULL, `create_at` datetime NULL, `mypage_flag` tinyint NULL DEFAULT 1, `mst_dia_id` int NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `mst_gold_property_copy`(`id` int NOT NULL AUTO_INCREMENT, `val` varchar(32) NULL, `sort` int NULL, `update_by` varchar(100) NULL, `update_at` datetime NULL, `created_by` varchar(100) NULL, `created_at` datetime NULL, `create_at` datetime NULL, `mypage_flag` tinyint NULL DEFAULT 1, `mst_dia_id` int NULL, `parent_id` int NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `mst_gold_property_parents`(`id` int NOT NULL AUTO_INCREMENT, `val` varchar(32) NULL, `display_name` varchar(255) NULL, `sort` int NULL, `table` varchar(255) NULL, `reference_id` int NULL, `update_by` varchar(100) NULL, `update_at` datetime NULL, `create_by` varchar(100) NULL, `create_at` datetime NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `mst_hahakai`(`id` int NOT NULL AUTO_INCREMENT, `name` varchar(255) NULL, `sort` int NULL, `update_at` datetime NULL, `update_by` int NULL, `create_at` datetime NULL, `create_by` int NULL, `line_category` varchar(100) NULL, `yahoo_junle` int NULL, `category_id` int NULL, `sub_category_id1` int NULL, `english_name` varchar(255) NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `mst_handle`(`id` int NOT NULL AUTO_INCREMENT, `data` varchar(50) NULL, `sort` int NULL, `update_at` datetime NULL, `update_by` varchar(100) NULL, `create_at` datetime NULL, `create_by` varchar(100) NULL, `category_id` varchar(50) NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `mst_heel`(`id` int NOT NULL AUTO_INCREMENT, `name` varchar(255) NULL, `english_name` varchar(255) NULL, `sort` int NULL, `line_category` varchar(100) NULL, `yahoo_junle` int NULL, `category_id` int NULL, `sub_category_id1` int NULL, `update_by` int NULL, `update_at` datetime NULL, `create_by` int NULL, `create_at` datetime NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `mst_inpagelink`(`id` int NOT NULL AUTO_INCREMENT, `url` varchar(255) NULL, `j_text` mediumtext NULL, `update_at` datetime NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `mst_interview_users`(`mst_interview_user_id` int NOT NULL AUTO_INCREMENT, `name` varchar(255) NULL, `sort` int NULL, `updated_by` int NULL, `updated_at` datetime NULL, `created_by` int NULL, `created_at` datetime NULL, PRIMARY KEY (`mst_interview_user_id`))CHARACTER SET utf8; +CREATE TABLE `mst_interview_users_img`(`id` int NOT NULL AUTO_INCREMENT, `mst_interview_user_id` int NULL, `img_name` varchar(255) NULL, `img_url` mediumtext NULL, `sort` int NULL, `updated_by` int NULL, `updated_at` datetime NULL, `created_by` int NULL, `created_at` datetime NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `mst_item`(`id` int NOT NULL, `name` varchar(255) NOT NULL, `yahoo_junle` varchar(128) NOT NULL, `line_category` varchar(50) NOT NULL, `category_id` int NOT NULL, `sub_category_id1` int NOT NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `mst_item_group`(`id` int NOT NULL AUTO_INCREMENT, `yahoo_junle` int NULL, `name` varchar(255) NULL, `item_name` mediumtext NULL, `update_by` int NULL, `update_at` datetime NULL, `create_by` int NULL, `create_at` datetime NULL, `sort` int NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `mst_item_group_child`(`id` int NOT NULL AUTO_INCREMENT, `group_id` int NULL, `item_name` varchar(255) NULL, `update_by` int NULL, `update_at` datetime NULL, `create_by` int NULL, `create_at` datetime NULL, `sort` int NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `mst_item_name`(`id` int NOT NULL, `name` varchar(150) NOT NULL, `yahoo_junle` varchar(128) NOT NULL, `category_id` int NOT NULL, `sub_category_id1` int NOT NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `mst_material`(`id` int NOT NULL AUTO_INCREMENT, `name` varchar(255) NULL, `english_name` varchar(255) NULL, `sort` int NULL, `update_by` int NULL, `update_at` datetime NULL, `create_by` int NULL, `create_at` datetime NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `mst_mint`(`id` int NOT NULL AUTO_INCREMENT, `name` varchar(255) NULL, `english_name` varchar(255) NULL, `sort` int NULL, `update_by` int NULL, `update_at` datetime NULL, `create_by` int NULL, `create_at` datetime NULL, `country_id` int NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `mst_motif`(`id` int NOT NULL AUTO_INCREMENT, `name` varchar(150) NULL, `sort` int NULL, `update_at` datetime NULL, `update_by` varchar(100) NULL, `create_at` datetime NULL, `create_by` varchar(100) NULL, `yahoo_junle` varchar(128) NULL, `category_id` int NULL, `sub_category_id1` int NULL, `english_name` varchar(150) NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `mst_number_of_stones`(`id` int NOT NULL AUTO_INCREMENT, `name` varchar(255) NULL, `sort` int NULL, `update_at` datetime NULL, `update_by` int NULL, `create_at` datetime NULL, `create_by` int NULL, `line_category` varchar(100) NULL, `yahoo_junle` int NULL, `category_id` int NULL, `sub_category_id1` int NULL, `english_name` varchar(255) NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `mst_overtone`(`Id` int NOT NULL AUTO_INCREMENT, `Name` varchar(50) NULL, `sort` int NULL, PRIMARY KEY (`Id`))CHARACTER SET utf8; +CREATE TABLE `mst_post_category`(`id` int NOT NULL AUTO_INCREMENT, `category` varchar(255) NULL, `brand_id` int NULL, `name` varchar(255) NULL, `item_id` int NULL, `url` mediumtext NULL, `forward_match` tinyint NULL, `update_by` int NULL, `update_at` datetime NULL, `create_by` int NULL, `create_at` datetime NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `mst_post_category_parent`(`id` int NOT NULL AUTO_INCREMENT, `name` varchar(255) NULL, `sort` int NULL, `update_by` int NULL, `update_at` datetime NULL, `create_by` int NULL, `create_at` datetime NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `mst_price_unit`(`id` int NOT NULL AUTO_INCREMENT, `name` varchar(255) NULL, `english_name` varchar(255) NULL, `sort` int NULL, `update_by` int NULL, `update_at` datetime NULL, `create_by` int NULL, `create_at` datetime NULL, `country_id` int NULL, `region_id` int NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `mst_processing`(`id` int NOT NULL AUTO_INCREMENT, `name` varchar(150) NULL, `sort` int NULL, `update_at` datetime NULL, `update_by` varchar(100) NULL, `create_at` datetime NULL, `create_by` varchar(100) NULL, `yahoo_junle` varchar(128) NULL, `category_id` int NULL, `sub_category_id1` int NULL, `english_name` varchar(150) NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `mst_producing_area`(`id` int NOT NULL AUTO_INCREMENT, `name` varchar(255) NULL, `sort` int NULL, `update_at` datetime NULL, `update_by` int NULL, `create_at` datetime NULL, `create_by` int NULL, `line_category` varchar(100) NULL, `yahoo_junle` int NULL, `category_id` int NULL, `sub_category_id1` int NULL, `english_name` varchar(255) NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `mst_quality`(`id` int NOT NULL AUTO_INCREMENT, `name` varchar(255) NULL, `sort` int NULL, `update_by` int NULL, `update_at` datetime NULL, `create_by` int NULL, `create_at` datetime NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `mst_region`(`id` int NOT NULL AUTO_INCREMENT, `name` varchar(255) NULL, `english_name` varchar(255) NULL, `sort` int NULL, `update_by` int NULL, `update_at` datetime NULL, `create_by` int NULL, `create_at` datetime NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `mst_result_category`(`id` int NOT NULL AUTO_INCREMENT, `name` varchar(255) NULL, `updated_at` datetime NULL, `updatad_by` int NULL, `created_at` datetime NULL, `created_by` int NULL, `sort` int NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `mst_result_group`(`id` int NOT NULL AUTO_INCREMENT, `category_id` int NULL, `name` varchar(255) NULL, `updated_at` datetime NULL, `updated_by` int NULL, `created_at` datetime NULL, `created_by` int NULL, `sort` int NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `mst_result_group_rule`(`id` int NOT NULL AUTO_INCREMENT, `group_id` int NULL, `gold_property` varchar(255) NULL, `category_id` int NULL, `sub_category_id` int NULL, `product_num` int NULL, `updated_at` datetime NULL, `updated_by` int NULL, `created_at` datetime NULL, `created_by` int NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `mst_resultlist_category`(`id` int NOT NULL AUTO_INCREMENT, `name` varchar(255) NULL, `update_at` datetime NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `mst_resultlist_item`(`id` int NOT NULL AUTO_INCREMENT, `category_id` int NULL, `value` varchar(150) NULL, `name` varchar(255) NULL, `sort` int NULL, `update_by` int NULL, `update_at` datetime NULL DEFAULT CURRENT_TIMESTAMP, `create_by` int NULL, `create_at` datetime NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `mst_revoco_category`(`id` int NOT NULL AUTO_INCREMENT, `category` varchar(255) NULL, `update_at` datetime NULL, `update_by` int NULL, `create_at` datetime NULL DEFAULT CURRENT_TIMESTAMP, `create_by` int NULL, `sort` int NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `mst_saisun_item`(`id` varchar(255) NOT NULL, `category_id` mediumtext NULL, `sub_category_id1` mediumtext NULL, `name` varchar(255) NULL, `data_unit` varchar(100) NULL, `input_type` varchar(50) NULL, `select_list` mediumtext NULL, `line_break` varchar(100) NULL, `update_by` int NULL, `update_at` datetime NULL, `create_by` int NULL, `create_at` datetime NULL, `data_title` varchar(255) NULL, `sort` int NULL, `data_category_title` varchar(100) NULL, `memo` mediumtext NULL, PRIMARY KEY (`id`(50)))CHARACTER SET utf8; +CREATE TABLE `mst_search_category`(`id` int NOT NULL AUTO_INCREMENT, `search_name` varchar(255) NULL, `get_parameter` varchar(255) NULL, `table` varchar(255) NULL, `column_name` varchar(255) NULL, `value` varchar(255) NULL, `updated_at` datetime NULL, `created_at` datetime NULL, `search_text` mediumtext NULL, `mst_search_category_group_id` int NULL, `is_hidden` tinyint NULL, `count_products` int NULL, `product_num` int NULL, `category_id` int NULL, `wordnet` mediumtext NULL, `search_text_kana` mediumtext NULL, `search_text_romaji` mediumtext NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `mst_search_category_group`(`id` int NOT NULL AUTO_INCREMENT, `name` varchar(255) NULL, `table_name` varchar(255) NULL, `kinkai_sort` int NULL, `icon_html` mediumtext NULL, `is_hidden` tinyint NULL DEFAULT 0, `brakai_sort` int NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `mst_sell_campaign`(`id` int NOT NULL AUTO_INCREMENT, `inSession` int NOT NULL, `mall_name` varchar(100) NULL, `folderName` varchar(150) NOT NULL, `campaign_name` mediumtext NULL, `camp_startDate` datetime NULL, `camp_lastDate` datetime NULL, `h1_sub` mediumtext NULL, `top_txt` mediumtext NULL, `coupon_name` varchar(150) NULL, `coupon_id` varchar(150) NULL, `content1_ttl` mediumtext NULL, `content1_sub` mediumtext NULL, `content1` mediumtext NULL, `content1_row` int NULL, `content1_column` int NULL, `content2_ttl` mediumtext NULL, `content2_sub` mediumtext NULL, `content2` mediumtext NULL, `content2_row` int NULL, `content2_column` int NULL, `content3_ttl` mediumtext NULL, `content3_sub` mediumtext NULL, `content3` mediumtext NULL, `content3_row` int NULL, `content3_column` int NULL, `search_box1_on` varchar(255) NULL, `search_box1_title` mediumtext NULL, `search_box1_word` mediumtext NULL, `search_box1_row` int NULL, `search_box1_column` int NULL, `search_box2_on` varchar(255) NULL, `search_box2_title` mediumtext NULL, `search_box2_word` mediumtext NULL, `search_box2_row` int NULL, `search_box2_column` int NULL, `update_by` int NULL, `update_at` datetime NULL DEFAULT CURRENT_TIMESTAMP, `create_by` int NULL, `create_at` datetime NULL, `top_img` varchar(255) NULL, `left_img` varchar(255) NULL, `right_img` varchar(255) NULL, `fixed_img` varchar(255) NULL, `ad_cost` int NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `mst_sell_coupon`(`id` int NOT NULL AUTO_INCREMENT, `mall_name` varchar(150) NULL, `startDate` datetime NULL, `lastDate` datetime NULL, `url` varchar(255) NULL, `img` varchar(255) NULL, `ttl` varchar(150) NULL, `update_by` int NULL, `update_at` datetime NULL DEFAULT CURRENT_TIMESTAMP, `create_by` int NULL, `create_at` datetime NULL, `coupon_id` int NULL, `rule` mediumtext NULL, `sort` int NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `mst_sell_coupon_main`(`id` int NOT NULL AUTO_INCREMENT, `title` varchar(255) NULL, `start_date` datetime NULL, `last_date` datetime NULL, `raku_url` varchar(255) NULL, `main_img` varchar(255) NULL, `banner_img` varchar(255) NULL, `right_img` varchar(255) NULL, `update_by` int NULL, `update_at` datetime NULL, `create_by` int NULL, `create_at` datetime NULL, `flag` varchar(1) NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `mst_shape`(`id` int NOT NULL AUTO_INCREMENT, `name` varchar(255) NULL, `sort` int NULL, `update_at` datetime NULL, `update_by` int NULL, `create_at` datetime NULL, `create_by` int NULL, `line_category` varchar(100) NULL, `yahoo_junle` int NULL, `category_id` int NULL, `sub_category_id1` int NULL, `english_name` varchar(255) NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `mst_side_gem`(`id` int NOT NULL AUTO_INCREMENT, `name` varchar(255) NULL, `english_name` varchar(255) NULL, `sort` int NULL, `line_category` varchar(100) NULL, `yahoo_junle` int NULL, `category_id` int NULL, `sub_category_id1` int NULL, `update_by` int NULL, `update_at` datetime NULL, `create_by` int NULL, `create_at` datetime NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `mst_silhouette`(`id` int NOT NULL AUTO_INCREMENT, `name` varchar(255) NULL, `english_name` varchar(255) NULL, `sort` int NULL, `line_category` varchar(100) NULL, `yahoo_junle` int NULL, `category_id` int NULL, `sub_category_id1` int NULL, `update_by` int NULL, `update_at` datetime NULL, `create_by` int NULL, `create_at` datetime NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `mst_sitemap_categories`(`id` int NOT NULL, `name` varchar(255) NULL, `sort` int NULL, `created_at` datetime NULL, `created_by` int NULL, `updated_at` datetime NULL, `updated_by` int NULL, `is_hidden` tinyint NULL DEFAULT 0, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `mst_sitemap_categories_aaaa`(`id` int NOT NULL, `name` varchar(255) NULL, `title` varchar(255) NULL, `sort` int NULL, `created_at` datetime NULL, `created_by` int NULL, `updated_at` datetime NULL, `updated_by` int NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `mst_sleeve`(`id` int NOT NULL AUTO_INCREMENT, `name` varchar(255) NULL, `english_name` varchar(255) NULL, `sort` int NULL, `line_category` varchar(100) NULL, `yahoo_junle` int NULL, `category_id` int NULL, `sub_category_id1` int NULL, `update_by` int NULL, `update_at` datetime NULL, `create_by` int NULL, `create_at` datetime NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `mst_structured_markup_for_faq`(`id` int NOT NULL AUTO_INCREMENT, `question` mediumtext NULL, `answer` mediumtext NULL, `created_by` int NULL, `created_at` datetime NULL, `updated_by` int NULL, `updated_at` datetime NULL, `display_url` varchar(255) NULL, `sort` int NULL, `url_hierarchy` int NULL, `exclustion_url` mediumtext NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `mst_todoufuken`(`id` int NOT NULL AUTO_INCREMENT, `name` varchar(255) NULL, `created_at` datetime NULL, `created_by` int NULL, `updated_at` datetime NULL, `updated_by` int NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `mst_toe`(`id` int NOT NULL AUTO_INCREMENT, `name` varchar(255) NULL, `english_name` varchar(255) NULL, `sort` int NULL, `line_category` varchar(100) NULL, `yahoo_junle` int NULL, `category_id` int NULL, `sub_category_id1` int NULL, `update_by` int NULL, `update_at` datetime NULL, `create_by` int NULL, `create_at` datetime NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `mst_toiawase_details`(`id` int NOT NULL AUTO_INCREMENT, `template` varchar(500) NULL, `sort` int NULL, `subject` varchar(45) NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `page_index`(`url` varchar(255) NOT NULL, `index` mediumtext NULL, `update_at` datetime NULL, `create_at` datetime NULL, PRIMARY KEY (`url`(50)))CHARACTER SET utf8; +CREATE TABLE `post`(`id` int NOT NULL AUTO_INCREMENT, `title` varchar(255) NULL, `text` mediumtext NULL, `open_flag` tinyint NULL, `open_date` datetime NULL, `update_at` datetime NULL, `update_by` int NULL, `create_at` datetime NULL, `create_by` int NULL, `url` mediumtext NULL, `category` varchar(255) NULL, `sub_category` varchar(255) NULL, `category_url` varchar(255) NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `price_comparison`(`price_comparison_id` int NOT NULL AUTO_INCREMENT, `brand_id` bigint(20) NULL, `create_at` datetime NULL, `create_by` int NULL, `update_at` datetime NULL, `update_by` int NULL, `is_publish` tinyint NULL DEFAULT 0, PRIMARY KEY (`price_comparison_id`))CHARACTER SET utf8; +CREATE TABLE `price_comparison_item`(`id` int NOT NULL AUTO_INCREMENT, `price_comparison_id` bigint(20) NULL, `sort` int NULL, `result_id` int NULL, `create_at` datetime NULL, `create_by` int NULL, `update_at` datetime NULL, `update_by` int NULL, `title` mediumtext NULL, `purchase_type` varchar(255) NULL, `purchase_area` varchar(255) NULL, `price_A` int NULL, `price_B` int NULL, `display_price` int NULL, `img_pass` mediumtext NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `product_ranking_for_brand`(`brand_id` int NOT NULL, `brand_name` varchar(255) NULL, `product_id` int NULL, `nyuukin_price` int NULL)CHARACTER SET utf8; +CREATE TABLE `products_detail`(`product_id` int NOT NULL, `update_at` datetime NULL, `update_by` int NULL, `create_at` datetime NULL, `create_by` int NULL, `×_d` mediumtext NULL, `yuki_take` mediumtext NULL, `wrist_flat_2` mediumtext NULL, `width_foot_width` mediumtext NULL, `width` mediumtext NULL, `width_rubber_expansion_select` mediumtext NULL, `weight` mediumtext NULL, `weight_2_catch_included` mediumtext NULL, `waist_rubber_expansion_select` mediumtext NULL, `width_of_a_garment` mediumtext NULL, `west_min` mediumtext NULL, `total_length` mediumtext NULL, `upper_and_lower_specification` mediumtext NULL, `up_to_around_the_arm` mediumtext NULL, `top_h` mediumtext NULL, `top_w` mediumtext NULL, `total_depth` mediumtext NULL, `yoko_width` mediumtext NULL, `the_thickness_select` mediumtext NULL, `tops_size` mediumtext NULL, `the_number_of_interval` mediumtext NULL, `tops` mediumtext NULL, `temple` mediumtext NULL, `strap_full_length` mediumtext NULL, `waterproof` mediumtext NULL, `storm` mediumtext NULL, `symmetry` mediumtext NULL, `stiletto` mediumtext NULL, `sleeve_length` mediumtext NULL, `specification` mediumtext NULL, `size_w` mediumtext NULL, `size_w_mm` mediumtext NULL, `size_including_notation` mediumtext NULL, `size_h_wcm` mediumtext NULL, `table_size` mediumtext NULL, `slit_the_entire_length` mediumtext NULL, `size_d_mm` mediumtext NULL, `top_d` mediumtext NULL, `shoulder___cm` mediumtext NULL, `size_h_mm` mediumtext NULL, `shoulder_straps_full-length` mediumtext NULL, `shoulder_width` mediumtext NULL, `shoulder_cm` mediumtext NULL, `shoulder_min` mediumtext NULL, `sense_of_sheer_select` mediumtext NULL, `shape_select` mediumtext NULL, `saliva` mediumtext NULL, `season_select` mediumtext NULL, `rise` mediumtext NULL, `rubber_expansion_select` mediumtext NULL, `ribs` mediumtext NULL, `size` mediumtext NULL, `removable_select` mediumtext NULL, `size_h` mediumtext NULL, `regulation_select` mediumtext NULL, `remove_select` mediumtext NULL, `size_d` mediumtext NULL, `rear_length` mediumtext NULL, `remainder_piece_width` mediumtext NULL, `pocket` mediumtext NULL, `polish` mediumtext NULL, `pavilion_depth` mediumtext NULL, `partition_select` mediumtext NULL, `parent_stone_size_h_w_visible_dimension` mediumtext NULL, `parent_stone` mediumtext NULL, `outsole` mediumtext NULL, `outside_zipper_pocket` mediumtext NULL, `outside_select` mediumtext NULL, `outside_purses` mediumtext NULL, `outside_pocket_count_3` mediumtext NULL, `outside_pocket_count_2` mediumtext NULL, `outside_pocket_count_1` mediumtext NULL, `outside_pocket_3` mediumtext NULL, `outside_pocket_2` mediumtext NULL, `piece` mediumtext NULL, `outside_pocket_1` mediumtext NULL, `outside_insert_the_card` mediumtext NULL, `regulation` mediumtext NULL, `outside_card_pocket` mediumtext NULL, `outer_width_of_a_garment` mediumtext NULL, `outer_total_length` mediumtext NULL, `possession_cm` mediumtext NULL, `outer_sleeve_length` mediumtext NULL, `outer_shoulder_width` mediumtext NULL, `outer_pocket` mediumtext NULL, `ring_width` mediumtext NULL, `outer_yuki_take` mediumtext NULL, `outer_length` mediumtext NULL, `otherwise` mediumtext NULL, `outer` mediumtext NULL, `outer_detachable_way` mediumtext NULL, `outside_free_pocket` mediumtext NULL, `outer_mark_size` mediumtext NULL, `open_pocket` mediumtext NULL, `open_and_close_select` mediumtext NULL, `motif_w` mediumtext NULL, `movement_select` mediumtext NULL, `motif_top_h` mediumtext NULL, `opening_and_closing_2_select` mediumtext NULL, `motif_d` mediumtext NULL, `mno_manganese` mediumtext NULL, `min_arm_around` mediumtext NULL, `middle_finger_full-length` mediumtext NULL, `maximum_west` mediumtext NULL, `maximum_shoulder` mediumtext NULL, `mark_size_by_gou` mediumtext NULL, `mark_size` mediumtext NULL, `motif_top_w` mediumtext NULL, `lower_half_length` mediumtext NULL, `magnet_pocket` mediumtext NULL, `lining_select` mediumtext NULL, `lining_measurements_select` mediumtext NULL, `liner_removable_select` mediumtext NULL, `less_number_of_frames` mediumtext NULL, `lens_w` mediumtext NULL, `nose_width` mediumtext NULL, `open_and_close` mediumtext NULL, `loading...` mediumtext NULL, `large_sword` mediumtext NULL, `motif_h` mediumtext NULL, `key_hook_total_length` mediumtext NULL, `keeling_overall_length` mediumtext NULL, `jacket` mediumtext NULL, `length_until_switching` mediumtext NULL, `in_connection_with_the_sale_of_ph_only` mediumtext NULL, `internal_capacity` mediumtext NULL, `lens_h` mediumtext NULL, `insole_select` mediumtext NULL, `insole` mediumtext NULL, `inside_wallet` mediumtext NULL, `length` mediumtext NULL, `inside_select` mediumtext NULL, `inside_pocket_count_3` mediumtext NULL, `inside_pocket_count_2` mediumtext NULL, `inside_pocket_count_1` mediumtext NULL, `inside_pocket_4` mediumtext NULL, `inside_pocket_3` mediumtext NULL, `interior_zip_pocket` mediumtext NULL, `inside_pocket_2` mediumtext NULL, `inside_pocket_count_4` mediumtext NULL, `inside_key_ring` mediumtext NULL, `inside_key_hook` mediumtext NULL, `inside_coin_purse` mediumtext NULL, `inside_card_pocket` mediumtext NULL, `inside_pen_holder` mediumtext NULL, `insert_the_card` mediumtext NULL, `internal_capacity_gram` mediumtext NULL, `inner_width_of_a_garment` mediumtext NULL, `inside_pocket_1` mediumtext NULL, `inner_sleeve_length` mediumtext NULL, `inner_shoulder_width` mediumtext NULL, `inner_shoulder_straps_full-length` mediumtext NULL, `interval` mediumtext NULL, `inseam` mediumtext NULL, `inner_removable_select` mediumtext NULL, `inner_pocket` mediumtext NULL, `inner_yuki_take` mediumtext NULL, `inner_length` mediumtext NULL, `inner_mark_size` mediumtext NULL, `inner_detachable_way` mediumtext NULL, `inner_hip_circumference` mediumtext NULL, `inner_around_the_waist` mediumtext NULL, `how_to_open_and_close_select` mediumtext NULL, `inner_total_length` mediumtext NULL, `hole_regulation` mediumtext NULL, `hip_circumference_lining_measurements_select` mediumtext NULL, `inner_regulation_select` mediumtext NULL, `height_including_heel` mediumtext NULL, `hip_circumference_rubber_expansion_select` mediumtext NULL, `heel` mediumtext NULL, `hip_circumference_15cm_under_the_waist` mediumtext NULL, `gross_weight` mediumtext NULL, `handle` mediumtext NULL, `full_length` mediumtext NULL, `hip_circumference` mediumtext NULL, `frontage_diameter` mediumtext NULL, `height` mediumtext NULL, `free_inner_pocket` mediumtext NULL, `fringe_full_length` mediumtext NULL, `food_detachable_select` mediumtext NULL, `front_front` mediumtext NULL, `flat_diameter_2` mediumtext NULL, `fur_detachable_select` mediumtext NULL, `during_deployment_diameter` mediumtext NULL, `inner_select` mediumtext NULL, `elasticity_select` mediumtext NULL, `discrimination_institution_name` mediumtext NULL, `fluorescent` mediumtext NULL, `dress` mediumtext NULL, `diameter` mediumtext NULL, `frame_plus-piece_pull_select` mediumtext NULL, `details2_select` mediumtext NULL, `details1_select` mediumtext NULL, `cut` mediumtext NULL, `cushioning_select` mediumtext NULL, `cuo_body` mediumtext NULL, `color` mediumtext NULL, `clarity` mediumtext NULL, `chain_width` mediumtext NULL, `chain_type_select` mediumtext NULL, `chain_full-length` mediumtext NULL, `case_w` mediumtext NULL, `case_h` mediumtext NULL, `carat_some_grams` mediumtext NULL, `detachable_way_select` mediumtext NULL, `by_adding-piece_pull_in_with_frame` mediumtext NULL, `button` mediumtext NULL, `buckle_w` mediumtext NULL, `depth` mediumtext NULL, `buckle_select` mediumtext NULL, `calf_width` mediumtext NULL, `bottoms` mediumtext NULL, `cutting_style_select` mediumtext NULL, `bottom-bis` mediumtext NULL, `detachable_way` mediumtext NULL, `buckle_h` mediumtext NULL, `belt_width` mediumtext NULL, `belt_/_breath_width` mediumtext NULL, `before_length` mediumtext NULL, `average` mediumtext NULL, `attached_to_the_re-size` mediumtext NULL, `bone_this` mediumtext NULL, `aside_stone_size_approximately` mediumtext NULL, `around_the_waist_minimum` mediumtext NULL, `around_the_waist_maximum` mediumtext NULL, `around_the_waist` mediumtext NULL, `around_the_tube` mediumtext NULL, `around_the_thigh` mediumtext NULL, `around_the_hem` mediumtext NULL, `aside_stone` mediumtext NULL, `belt_full-length` mediumtext NULL, `appraisal_judgment_document_select` mediumtext NULL, `adjustment_method_select` mediumtext NULL, `adjuster_select` mediumtext NULL, `actual_size_wide_only` mediumtext NULL, `around_the_head` mediumtext NULL, `between_the_screw` mediumtext NULL, `bottoms_size` mediumtext NULL, `actual_size` mediumtext NULL, `accessories_w` mediumtext NULL, `alteration_select` mediumtext NULL, `actual_size_by_gou` mediumtext NULL, `accessories_d` mediumtext NULL, `accessories_h` mediumtext NULL, `situkan` mediumtext NULL, `asikubi` mediumtext NULL, `taiousaizu` mediumtext NULL, `renzu` mediumtext NULL, `youto` mediumtext NULL, `posuto` mediumtext NULL, `nekkuresu` mediumtext NULL, `santi` mediumtext NULL, `treatment` mediumtext NULL, `koutaku` mediumtext NULL, `outside_pocket_count_4` mediumtext NULL, `outside_pocket_4` mediumtext NULL, `sodebotan` mediumtext NULL, `raina` mediumtext NULL, `fasuna` mediumtext NULL, `kuriapoketto` mediumtext NULL, `size_d_mm1` mediumtext NULL, `size_h_mm1` mediumtext NULL, `size_w_mm1` mediumtext NULL, `batikann` mediumtext NULL, `buroti` mediumtext NULL, `details3_select` mediumtext NULL, `size_w_mm2` mediumtext NULL, `size_h_mm2` mediumtext NULL, `size_d_mm2` mediumtext NULL, `koukokubunnseki` mediumtext NULL, `seizou` mediumtext NULL, `meka` mediumtext NULL, `syouhinnkubunn` mediumtext NULL, `inner_sou_take` mediumtext NULL, PRIMARY KEY (`product_id`))CHARACTER SET utf8; +CREATE TABLE `purchased_result`(`id` int NOT NULL AUTO_INCREMENT, `product_id` int NOT NULL, `market_product_id` int NULL, `voice_sub_id` int NULL, `category_id` int NULL, `sub_category_id1` int NULL, `status` int NULL, `product_num` int NULL, `yahoo_junle` varchar(128) NULL, `yahoo_sankou_uwadai` varchar(128) NULL, `yahoo_kataban` varchar(129) NULL, `yahoo_condition2` varchar(50) NULL, `yahoo_fuzokuhin` varchar(255) NULL, `yahoo_sinaban` varchar(11) NULL, `yahoo_sex` int NULL, `box_id` int NULL, `nyuukin_at` datetime NULL, `nyuukin_price` int NULL, `timesta` datetime NULL, `kanryou_henbi` datetime NULL, `satei_hi` datetime NULL, `sabun_date` int NULL, `gold_property` varchar(150) NOT NULL, `ichiba_title` varchar(100) NULL, `accessories` varchar(20) NULL, `priority` varchar(4) NULL, `A_storage` varchar(10) NULL, `line` varchar(50) NULL, `item_name` varchar(50) NULL, `handle` varchar(50) NULL, `serial_number` varchar(150) NULL, `stamp` varchar(150) NULL, `motif` varchar(150) NULL, `Setting` varchar(150) NULL, `processing` varchar(150) NULL, `Sleeve_Length` varchar(150) NULL, `length` varchar(150) NULL, `Ring_size` varchar(150) NULL, `price_for_site` varchar(50) NULL, `raku_title` varchar(255) NULL, `saisun_start` datetime NULL, `season` varchar(100) NULL, `title` varchar(255) NULL, `yahoo_title` varchar(255) NULL, `yahoo_color` mediumtext NULL, `Gram` varchar(20) NULL, `unit` varchar(50) NULL, `Parent_stone` varchar(20) NULL, `producing_area` varchar(150) NULL, `hahakai` varchar(150) NULL, `effect` varchar(150) NULL, `shape` varchar(150) NULL, `cutting_style` varchar(150) NULL, `Aside_stone` varchar(20) NULL, `number_of_stones` varchar(150) NULL, `yahoo_size` mediumtext NULL, `ecc_address1` varchar(100) NULL, `PMT_EV001_APP_UID` int NULL, `PMT_EV001_DA_THESPECIFICATIONSSETTINGSUN` varchar(100) NULL, `PMT_EV001_DA_WEIGHT` varchar(100) NULL, `PMT_EV001_DA_THESPECIFICATIONSLOSSES` varchar(100) NULL, `PMT_EV001_DA_INTENSITY` varchar(100) NULL, `PMT_EV001_DA_OVERTONE` varchar(100) NULL, `PMT_EV001_DA_COLOR` varchar(100) NULL, `PMT_EV001_DA_CLARITY` varchar(100) NULL, `PMT_EV001_DA_CUT` varchar(100) NULL, `PMT_EV001_DA_POLISH` varchar(100) NULL, `PMT_EV001_DA_SYMMETRY` varchar(100) NULL, `PMT_EV001_DA_FLUO` varchar(100) NULL, `PMT_EV001_DA_COLOR_FLUO` varchar(100) NULL, `PMT_EV001_DA_WIDE` varchar(100) NULL, `PMT_EV001_DA_HIGH` varchar(100) NULL, `PMT_EV001_DA_DEPTH` varchar(100) NULL, `PMT_EV001_DA_APPRAISER` varchar(100) NULL, `PMT_EV001_DA_FRAPA` varchar(100) NULL, `PMT_EV001_DA_RATE` varchar(100) NULL, `PMT_EV001_DA_PAYOUTOTHER` varchar(100) NULL, `PMT_EV001_DA_MANAGEMENTNO` varchar(100) NULL, `PMT_EV001_DA_STATUS` varchar(100) NULL, `PMT_EV001_DA_SEQ` varchar(100) NULL, `PMT_EV001_status` int NULL, `PMT_EV001_INSI_waname` varchar(255) NULL, `PMT_EV001_OVTO_waname` varchar(255) NULL, `price_for_site_flag` tinyint NULL, `designer` varchar(255) NULL, `collar_neck_line` varchar(255) NULL, `breast` varchar(150) NULL, `silhouette` varchar(150) NULL, `sleeve` varchar(150) NULL, `toe` varchar(150) NULL, `heel` varchar(150) NULL, `shape_supplement` varchar(150) NULL, `side_gem` varchar(150) NULL, `product_style` varchar(150) NULL, `cloth` varchar(150) NULL, `amount` varchar(150) NULL, `chain_type` varchar(150) NULL, `price_per_gram` decimal(11,0) NULL, `price_per_parent_stone` int NULL, `price_per_aside_stone` int NULL, `ecc_id` int NULL, `color_quality` int NULL, `defect_quality` int NULL, `ichiba_meeting_month` varchar(100) NULL, `ichiba_meeting_name` varchar(100) NULL, `market_product_comment` mediumtext NULL, `ichiba_detail` varchar(255) NULL, `price_for_site_market_product` int NULL, `title_for_site` varchar(255) NULL, `front_hidden_flg` varchar(30) NULL, `price` int NULL, `cost` int NULL, `identification_cost` int NULL, `other_cost` int NULL, `purchase_category` varchar(50) NULL, `DA_WEIGHT` varchar(255) NULL, `DA_PER_CARAT` varchar(255) NULL, `DA_SHAPE` varchar(255) NULL, `DA_INTENSITY` varchar(255) NULL, `DA_OVERTONE` varchar(255) NULL, `DA_COLOR` varchar(255) NULL, `DA_CLARITY` varchar(255) NULL, `DA_CUT` varchar(255) NULL, `DA_POLISH` varchar(255) NULL, `DA_SYMMETRY` varchar(255) NULL, `DA_FLUO` varchar(255) NULL, `DA_COLOR_FLUO` varchar(255) NULL, `DA_WIDE` varchar(255) NULL, `DA_HIGH` varchar(255) NULL, `DA_DEPTH` varchar(255) NULL, `DA_APPRAISER` varchar(255) NULL, `DA_FRAPA` varchar(255) NULL, `DA_RATE` varchar(255) NULL, `DA_no` varchar(255) NULL, `DA_INSI_waname` varchar(255) NULL, `DA_OVTO_waname` varchar(255) NULL, `satei_by` int NULL, `Eoc_takuhai_id` int NULL, `Eoc_unfinished_id` int NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `quotation_list_for_chanel`(`id` int NOT NULL AUTO_INCREMENT, `name` varchar(255) NULL, `model_num` varchar(255) NULL, `fabric` varchar(255) NULL, `fabric_num` varchar(255) NULL, `color` varchar(255) NULL, `color_num` varchar(255) NULL, `ref_list_price` int NULL, `size` varchar(255) NULL, `ref_purchace_price` int NULL, `updated_at` datetime NULL, `updated_by` int NULL, `created_at` datetime NULL, `created_by` int NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `rakuten_shouhin`(`product_id` int NOT NULL DEFAULT 0, `yahoo_sinaban` varchar(100) NULL, `itemUrl` varchar(100) NULL, `itemName` varchar(200) NULL, `itemPrice` varchar(100) NULL, `startDate` date NULL, `imageUrl` varchar(100) NULL, `category_id` int NULL, `sub_category_id1` int NULL, `product_num` int NULL, `yahoo_junle` varchar(255) NULL, `pctxtDate` date NULL, `inventoryCount` int NULL, PRIMARY KEY (`product_id`))CHARACTER SET utf8; +CREATE TABLE `rs_PMT_EV001_for_search`(`APP_UID` int NOT NULL, `APP_NUMBER` varchar(255) NULL, `APP_STATUS` varchar(255) NULL, `ROW` varchar(255) NULL, `DA_SEQ` int NULL, `DA_MANAGEMENTNO` varchar(255) NULL, `DA_BUYER` varchar(255) NULL, `DA_RESPONSIBLE` varchar(255) NULL, `DA_THESPECIFICATIONSSETTINGSUN` datetime NULL, `DA_WEIGHT` varchar(255) NULL, `DA_THESPECIFICATIONSLOSSES` int NULL, `DA_PER_CARAT` varchar(255) NULL, `DA_SHAPE` varchar(255) NULL, `DA_SELFGRES` varchar(255) NULL, `DA_ORIGINALGRADEMLIKENED` varchar(255) NULL, `DA_SUGARCANE` varchar(255) NULL, `DA_PERCENT` varchar(255) NULL, `DA_STATUS` varchar(255) NULL, `DA_COLOR` varchar(255) NULL, `COLOR_sort` varchar(255) NULL, `DA_CLARITY` varchar(255) NULL, `CLARITY_sort` varchar(255) NULL, `DA_CUT` varchar(255) NULL, `CUT_sort` varchar(255) NULL, `DA_FLUO` varchar(255) NULL, `DA_WIDE` varchar(255) NULL, `DA_HIGH` varchar(255) NULL, `DA_DEPTH` varchar(255) NULL, `DA_APPRAISER` varchar(255) NULL, `DA_RATE` varchar(255) NULL, `DA_UNITPRICE` varchar(255) NULL, `DA_YOURNAME` varchar(255) NULL, `DA_PAYOUTOTHER` int NULL, `DA_RAPA` varchar(255) NULL, `DA_COMMENTSANDTOTAL` varchar(255) NULL, `DA_REGISTEREDPERSON` varchar(255) NULL, `DA_GROSSPROFIT` varchar(255) NULL, `DA_INTEREST_1` varchar(255) NULL, `DA_REGISTRATIONDATE` varchar(255) NULL, `DA_UPDATEDBY` varchar(255) NULL, `DA_UPDATEDDATE` varchar(255) NULL, `DA_COMPLETECHANGEDATE` varchar(255) NULL, `DA_FRAPA` int NULL, `DA_RAPAB` varchar(255) NULL, `DA_UNIT_PRICE_UNPLUG` varchar(255) NULL, `DA_STATUS_2` varchar(255) NULL, `DA_MEMO` varchar(255) NULL, `DA_INTENSITY` varchar(255) NULL, `DA_OVERTONE` varchar(255) NULL, `DA_INTENSITY_FLUO` varchar(255) NULL, `DA_COLOR_FLUO` varchar(255) NULL, `DA_POLISH` varchar(255) NULL, `DA_SYMMETRY` varchar(255) NULL, `DA_no` varchar(255) NULL, `status` int NULL, `kaitoribi` varchar(255) NULL, `kaitoribi_bi` varchar(255) NULL, `floor_weight` varchar(255) NULL, PRIMARY KEY (`APP_UID`))CHARACTER SET utf8; +CREATE TABLE `rs_bvlgari_price_gold_category_id`(`category_id` varchar(255) NULL, `mon` varchar(255) NULL, `count` varchar(255) NULL, `ave` varchar(255) NULL, `min` varchar(255) NULL, `max` varchar(255) NULL, `sum` varchar(255) NULL)CHARACTER SET utf8; +CREATE TABLE `rs_bvlgari_price_line_category_id`(`line` varchar(255) NULL, `category_id` varchar(255) NULL, `mon` varchar(255) NULL, `count` varchar(255) NULL, `ave` varchar(255) NULL, `min` varchar(255) NULL, `max` varchar(255) NULL, `sum` varchar(255) NULL)CHARACTER SET utf8; +CREATE TABLE `rs_cartier_price_category_id`(`category_id` varchar(255) NULL, `mon` varchar(255) NULL, `count` varchar(255) NULL, `ave` varchar(255) NULL, `min` varchar(255) NULL, `max` varchar(255) NULL, `sum` varchar(255) NULL)CHARACTER SET utf8; +CREATE TABLE `rs_cartier_price_gold_category_id`(`category_id` varchar(255) NULL, `mon` varchar(255) NULL, `count` varchar(255) NULL, `ave` varchar(255) NULL, `min` varchar(255) NULL, `max` varchar(255) NULL, `sum` varchar(255) NULL)CHARACTER SET utf8; +CREATE TABLE `rs_cartier_price_line`(`line` varchar(255) NULL, `mon` varchar(255) NULL, `count` varchar(255) NULL, `ave` varchar(255) NULL, `min` varchar(255) NULL, `max` varchar(255) NULL, `sum` varchar(255) NULL)CHARACTER SET utf8; +CREATE TABLE `rs_cartier_price_line_category_id`(`line` varchar(255) NULL, `category_id` varchar(255) NULL, `mon` varchar(255) NULL, `count` varchar(255) NULL, `ave` varchar(255) NULL, `min` varchar(255) NULL, `max` varchar(255) NULL, `sum` varchar(255) NULL)CHARACTER SET utf8; +CREATE TABLE `rs_cartier_price_line_category_id_nodia`(`line` varchar(255) NULL, `category_id` varchar(255) NULL, `mon` varchar(255) NULL, `count` varchar(255) NULL, `ave` varchar(255) NULL, `min` varchar(255) NULL, `max` varchar(255) NULL, `sum` varchar(255) NULL)CHARACTER SET utf8; +CREATE TABLE `rs_chat`(`DATE_FORMAT(end_timestamp,"%Y-%m-%d")` varchar(255) NULL, `COUNT(chat_id)` varchar(255) NULL)CHARACTER SET utf8; +CREATE TABLE `rs_chats`(`DATE_FORMAT(end_timestamp,"%Y-%m-%d")` varchar(255) NULL, `COUNT(chat_id)` varchar(255) NULL)CHARACTER SET utf8; +CREATE TABLE `rs_chats_by_month`(`DATE_FORMAT(end_timestamp,"%Y-%m")` varchar(255) NULL, `COUNT(chat_id)` varchar(255) NULL)CHARACTER SET utf8; +CREATE TABLE `rs_goldcoin`(`id` int NULL, `face_value` varchar(255) NULL, `face_value_number` varchar(255) NULL, `face_value_unit` int NULL, `ounce` varchar(255) NULL, `diameter_mm` varchar(255) NULL, `total_weight` varchar(255) NULL, `total_weight_for_calc` varchar(255) NULL, `manufacturing_number` varchar(255) NULL, `selling_price` varchar(255) NULL, `selling_price_unit` varchar(255) NULL, `update_at` datetime NULL, `update_by` int NULL, `create_at` datetime NULL, `create_by` int NULL, `goldcoin_id` int NULL, `region_id` int NULL, `start_year` varchar(255) NULL, `year_remark` varchar(255) NULL, `end_year` varchar(255) NULL, `material_URL_1` mediumtext NULL, `material_URL_2` mediumtext NULL, `surface_image_URL` mediumtext NULL, `back_side_image_URL` mediumtext NULL, `use_back_img` tinyint NULL, `popular_coin_price_sort` int NULL, `search_result_sort` int NULL, `display_list_sort` int NULL, `coefficient` varchar(255) NULL, `related_gold_coin_id` int NULL, `country_name` int NULL, `coin_name` mediumtext NULL, `material` int NULL, `quality` varchar(255) NULL, `reference_quality` int NULL, `surface` mediumtext NULL, `back_side` mediumtext NULL, `remarks` mediumtext NULL, `related_word` mediumtext NULL, `display_country_name` mediumtext NULL)CHARACTER SET utf8; +CREATE TABLE `rs_kagoya_instead_img`(`product_id` int NULL, `imgpass` varchar(255) NULL)CHARACTER SET utf8; +CREATE TABLE `rs_kagoya_result`(`product_id` int NULL, `category_id` int NULL, `sub_category_id1` int NULL, `status` int NULL, `product_num` int NULL, `yahoo_junle` mediumtext NULL, `yahoo_sankou_uwadai` mediumtext NULL, `yahoo_kataban` mediumtext NULL, `yahoo_condition2` mediumtext NULL, `yahoo_fuzokuhin` mediumtext NULL, `yahoo_sinaban` mediumtext NULL, `yahoo_sex` mediumtext NULL, `box_id` int NULL, `nyuukin_at` datetime NULL, `nyuukin_price` int NULL, `timesta` mediumtext NULL, `kanryou_henbi` datetime NULL, `satei_hi` datetime NULL, `sabun_date` mediumtext NULL, `gold_property` mediumtext NULL, `ichiba_title` mediumtext NULL, `accessories` mediumtext NULL, `priority` mediumtext NULL, `A_storage` mediumtext NULL, `line` mediumtext NULL, `item_name` mediumtext NULL, `handle` mediumtext NULL, `serial_number` mediumtext NULL, `stamp` mediumtext NULL, `motif` mediumtext NULL, `Setting` mediumtext NULL, `processing` mediumtext NULL, `Sleeve_Length` mediumtext NULL, `length` mediumtext NULL, `Ring_size` mediumtext NULL, `price_for_site` mediumtext NULL, `raku_title` mediumtext NULL, `saisun_start` datetime NULL, `season` mediumtext NULL, `title` mediumtext NULL, `yahoo_title` mediumtext NULL, `yahoo_color` mediumtext NULL, `Gram` mediumtext NULL, `unit` mediumtext NULL, `Parent_stone` mediumtext NULL, `producing_area` mediumtext NULL, `hahakai` mediumtext NULL, `effect` mediumtext NULL, `shape` mediumtext NULL, `cutting_style` mediumtext NULL, `Aside_stone` mediumtext NULL, `number_of_stones` mediumtext NULL, `yahoo_size` mediumtext NULL, `ecc_address1` mediumtext NULL, `PMT_EV001_APP_UID` int NULL, `PMT_EV001_DA_THESPECIFICATIONSSETTINGSUN` mediumtext NULL, `PMT_EV001_DA_WEIGHT` mediumtext NULL, `PMT_EV001_DA_THESPECIFICATIONSLOSSES` mediumtext NULL, `PMT_EV001_DA_INTENSITY` mediumtext NULL, `PMT_EV001_DA_OVERTONE` mediumtext NULL, `PMT_EV001_DA_COLOR` mediumtext NULL, `PMT_EV001_DA_CLARITY` mediumtext NULL, `PMT_EV001_DA_CUT` mediumtext NULL, `PMT_EV001_DA_POLISH` mediumtext NULL, `PMT_EV001_DA_SYMMETRY` mediumtext NULL, `PMT_EV001_DA_FLUO` mediumtext NULL, `PMT_EV001_DA_COLOR_FLUO` mediumtext NULL, `PMT_EV001_DA_WIDE` mediumtext NULL, `PMT_EV001_DA_HIGH` mediumtext NULL, `PMT_EV001_DA_DEPTH` mediumtext NULL, `PMT_EV001_DA_APPRAISER` mediumtext NULL, `PMT_EV001_DA_FRAPA` mediumtext NULL, `PMT_EV001_DA_RATE` mediumtext NULL, `PMT_EV001_DA_PAYOUTOTHER` mediumtext NULL, `PMT_EV001_DA_MANAGEMENTNO` mediumtext NULL, `PMT_EV001_DA_STATUS` mediumtext NULL, `PMT_EV001_DA_SEQ` mediumtext NULL, `PMT_EV001_INSI_waname` mediumtext NULL, `PMT_EV001_OVTO_waname` mediumtext NULL, `PMT_EV001_status` int NULL, `designer` mediumtext NULL, `collar_neck_line` mediumtext NULL, `breast` mediumtext NULL, `silhouette` mediumtext NULL, `sleeve` mediumtext NULL, `toe` mediumtext NULL, `heel` mediumtext NULL, `shape_supplement` mediumtext NULL, `side_gem` mediumtext NULL, `product_style` mediumtext NULL, `cloth` mediumtext NULL, `amount` mediumtext NULL, `chain_type` mediumtext NULL, `satei_month` datetime NULL, `price_per_gram` decimal(11,0) NULL, `price_per_parent_stone` int NULL, `price_per_aside_stone` int NULL, `ecc_id` int NULL)CHARACTER SET utf8; +CREATE TABLE `rs_kagoya_result_original`(`product_id` int NULL, `category_id` int NULL, `sub_category_id1` int NULL, `status` int NULL, `product_num` int NULL, `yahoo_junle` mediumtext NULL, `yahoo_sankou_uwadai` mediumtext NULL, `yahoo_kataban` mediumtext NULL, `yahoo_condition2` mediumtext NULL, `yahoo_fuzokuhin` mediumtext NULL, `yahoo_sinaban` mediumtext NULL, `yahoo_sex` mediumtext NULL, `box_id` int NULL, `nyuukin_at` datetime NULL, `nyuukin_price` int NULL, `timesta` mediumtext NULL, `kanryou_henbi` datetime NULL, `satei_hi` datetime NULL, `sabun_date` mediumtext NULL, `gold_property` mediumtext NULL, `ichiba_title` mediumtext NULL, `accessories` mediumtext NULL, `priority` mediumtext NULL, `A_storage` mediumtext NULL, `line` mediumtext NULL, `item_name` mediumtext NULL, `handle` mediumtext NULL, `serial_number` mediumtext NULL, `stamp` mediumtext NULL, `motif` mediumtext NULL, `Setting` mediumtext NULL, `processing` mediumtext NULL, `Sleeve_Length` mediumtext NULL, `length` mediumtext NULL, `Ring_size` mediumtext NULL, `price_for_site` mediumtext NULL, `raku_title` mediumtext NULL, `saisun_start` datetime NULL, `season` mediumtext NULL, `title` mediumtext NULL, `yahoo_title` mediumtext NULL, `yahoo_color` mediumtext NULL, `Gram` mediumtext NULL, `unit` mediumtext NULL, `Parent_stone` mediumtext NULL, `producing_area` mediumtext NULL, `hahakai` mediumtext NULL, `effect` mediumtext NULL, `shape` mediumtext NULL, `cutting_style` mediumtext NULL, `Aside_stone` mediumtext NULL, `number_of_stones` mediumtext NULL, `yahoo_size` mediumtext NULL, `ecc_address1` mediumtext NULL, `PMT_EV001_APP_UID` int NULL, `PMT_EV001_DA_THESPECIFICATIONSSETTINGSUN` mediumtext NULL, `PMT_EV001_DA_WEIGHT` mediumtext NULL, `PMT_EV001_DA_THESPECIFICATIONSLOSSES` mediumtext NULL, `PMT_EV001_DA_INTENSITY` mediumtext NULL, `PMT_EV001_DA_OVERTONE` mediumtext NULL, `PMT_EV001_DA_COLOR` mediumtext NULL, `PMT_EV001_DA_CLARITY` mediumtext NULL, `PMT_EV001_DA_CUT` mediumtext NULL, `PMT_EV001_DA_POLISH` mediumtext NULL, `PMT_EV001_DA_SYMMETRY` mediumtext NULL, `PMT_EV001_DA_FLUO` mediumtext NULL, `PMT_EV001_DA_COLOR_FLUO` mediumtext NULL, `PMT_EV001_DA_WIDE` mediumtext NULL, `PMT_EV001_DA_HIGH` mediumtext NULL, `PMT_EV001_DA_DEPTH` mediumtext NULL, `PMT_EV001_DA_APPRAISER` mediumtext NULL, `PMT_EV001_DA_FRAPA` mediumtext NULL, `PMT_EV001_DA_RATE` mediumtext NULL, `PMT_EV001_DA_PAYOUTOTHER` mediumtext NULL, `PMT_EV001_DA_MANAGEMENTNO` mediumtext NULL, `PMT_EV001_DA_STATUS` mediumtext NULL, `PMT_EV001_DA_SEQ` mediumtext NULL, `PMT_EV001_INSI_waname` mediumtext NULL, `PMT_EV001_OVTO_waname` mediumtext NULL, `PMT_EV001_status` int NULL, `designer` mediumtext NULL, `collar_neck_line` mediumtext NULL, `breast` mediumtext NULL, `silhouette` mediumtext NULL, `sleeve` mediumtext NULL, `toe` mediumtext NULL, `heel` mediumtext NULL, `shape_supplement` mediumtext NULL, `side_gem` mediumtext NULL, `product_style` mediumtext NULL, `cloth` mediumtext NULL, `amount` mediumtext NULL, `chain_type` mediumtext NULL, `satei_month` datetime NULL, `price_per_gram` decimal(11,0) NULL, `price_per_parent_stone` int NULL, `price_per_aside_stone` int NULL)CHARACTER SET utf8; +CREATE TABLE `rs_kagoya_result_out`(`product_id` int NULL, `category_id` int NULL, `sub_category_id1` int NULL, `status` int NULL, `product_num` int NULL, `yahoo_junle` mediumtext NULL, `yahoo_sankou_uwadai` mediumtext NULL, `yahoo_kataban` mediumtext NULL, `yahoo_condition2` mediumtext NULL, `yahoo_fuzokuhin` mediumtext NULL, `yahoo_sinaban` mediumtext NULL, `yahoo_sex` mediumtext NULL, `box_id` int NULL, `nyuukin_at` datetime NULL, `nyuukin_price` int NULL, `timesta` mediumtext NULL, `kanryou_henbi` datetime NULL, `satei_hi` datetime NULL, `sabun_date` mediumtext NULL, `gold_property` mediumtext NULL, `ichiba_title` mediumtext NULL, `accessories` mediumtext NULL, `priority` mediumtext NULL, `A_storage` mediumtext NULL, `line` mediumtext NULL, `item_name` mediumtext NULL, `handle` mediumtext NULL, `serial_number` mediumtext NULL, `stamp` mediumtext NULL, `motif` mediumtext NULL, `Setting` mediumtext NULL, `processing` mediumtext NULL, `Sleeve_Length` mediumtext NULL, `length` mediumtext NULL, `Ring_size` mediumtext NULL, `price_for_site` mediumtext NULL, `raku_title` mediumtext NULL, `saisun_start` datetime NULL, `season` mediumtext NULL, `title` mediumtext NULL, `yahoo_title` mediumtext NULL, `yahoo_color` mediumtext NULL, `Gram` mediumtext NULL, `unit` mediumtext NULL, `Parent_stone` mediumtext NULL, `producing_area` mediumtext NULL, `hahakai` mediumtext NULL, `effect` mediumtext NULL, `shape` mediumtext NULL, `cutting_style` mediumtext NULL, `Aside_stone` mediumtext NULL, `number_of_stones` mediumtext NULL, `yahoo_size` mediumtext NULL, `ecc_address1` mediumtext NULL, `PMT_EV001_APP_UID` int NULL, `PMT_EV001_DA_THESPECIFICATIONSSETTINGSUN` mediumtext NULL, `PMT_EV001_DA_WEIGHT` mediumtext NULL, `PMT_EV001_DA_THESPECIFICATIONSLOSSES` mediumtext NULL, `PMT_EV001_DA_INTENSITY` mediumtext NULL, `PMT_EV001_DA_OVERTONE` mediumtext NULL, `PMT_EV001_DA_COLOR` mediumtext NULL, `PMT_EV001_DA_CLARITY` mediumtext NULL, `PMT_EV001_DA_CUT` mediumtext NULL, `PMT_EV001_DA_POLISH` mediumtext NULL, `PMT_EV001_DA_SYMMETRY` mediumtext NULL, `PMT_EV001_DA_FLUO` mediumtext NULL, `PMT_EV001_DA_COLOR_FLUO` mediumtext NULL, `PMT_EV001_DA_WIDE` mediumtext NULL, `PMT_EV001_DA_HIGH` mediumtext NULL, `PMT_EV001_DA_DEPTH` mediumtext NULL, `PMT_EV001_DA_APPRAISER` mediumtext NULL, `PMT_EV001_DA_FRAPA` mediumtext NULL, `PMT_EV001_DA_RATE` mediumtext NULL, `PMT_EV001_DA_PAYOUTOTHER` mediumtext NULL, `PMT_EV001_DA_MANAGEMENTNO` mediumtext NULL, `PMT_EV001_DA_STATUS` mediumtext NULL, `PMT_EV001_DA_SEQ` mediumtext NULL, `PMT_EV001_INSI_waname` mediumtext NULL, `PMT_EV001_OVTO_waname` mediumtext NULL, `PMT_EV001_status` int NULL, `designer` mediumtext NULL, `collar_neck_line` mediumtext NULL, `breast` mediumtext NULL, `silhouette` mediumtext NULL, `sleeve` mediumtext NULL, `toe` mediumtext NULL, `heel` mediumtext NULL, `shape_supplement` mediumtext NULL, `side_gem` mediumtext NULL, `product_style` mediumtext NULL, `cloth` mediumtext NULL, `amount` mediumtext NULL, `chain_type` mediumtext NULL, `satei_month` datetime NULL, `price_per_gram` decimal(11,0) NULL, `price_per_parent_stone` int NULL, `price_per_aside_stone` int NULL)CHARACTER SET utf8; +CREATE TABLE `rs_market_product_performance_original`(`id` int NULL, `ichiba_meeting_month` varchar(255) NULL, `ichiba_meeting_name` varchar(255) NULL, `colorstone_id` int NULL, `shape` int NULL, `color_quality` int NULL, `defect_quality` int NULL, `category_id` int NULL, `sub_category_id1` int NULL, `ichiba_detail` mediumtext NULL, `gold_property` varchar(255) NULL, `price_per_gram` int NULL, `Gram` decimal(10,3) NULL, `Parent_stone` varchar(255) NULL, `Aside_stone` varchar(255) NULL, `ichiba_melee_gai` int NULL, `Apparaiser` int NULL, `zeinuki` int NULL, `nyuukin_price` int NULL, `ichiba_lot_pieces` int NULL, `avg` varchar(255) NULL, `comment` mediumtext NULL, `syuppinsya` varchar(255) NULL, `DA_YOURNAME` varchar(255) NULL, `ichiba_img` mediumtext NULL, `charagai` int NULL, `price_without_tax` int NULL, `price` int NULL, `sagaku` int NULL, `arari` int NULL, `updated_at` datetime NULL, `updated_by` int NULL, `created_at` datetime NULL, `created_by` int NULL, `price_for_site` int NULL, `resize_flg` tinyint NULL, `title_for_site` mediumtext NULL, `relation_id` int NULL, `voice_sub_id` int NULL, `is_ok` tinyint NULL, `front_hidden_flg` varchar(255) NULL DEFAULT 'False', `display_buy_data` date NULL, `satei_month` date NULL, `voice_date` date NULL, `product_num` mediumtext NULL)CHARACTER SET utf8; +CREATE TABLE `rs_market_product_result`(`id` int NOT NULL, `product_id` int NULL, `voice_sub_id` int NULL, `ichiba_meeting_month` varchar(255) NULL, `ichiba_meeting_name` varchar(255) NULL, `colorstone_id` int NULL, `shape` int NULL, `color_quality` int NULL, `defect_quality` int NULL, `category_id` int NULL, `sub_category_id1` int NULL, `ichiba_detail` mediumtext NULL, `gold_property` varchar(255) NULL, `price_per_gram` int NULL, `Gram` decimal(10,3) NULL, `Parent_stone` varchar(255) NULL, `Aside_stone` varchar(255) NULL, `Apparaiser` int NULL, `comment` mediumtext NULL, `ichiba_img` mediumtext NULL, `updated_at` datetime NULL, `updated_by` int NULL, `created_at` datetime NULL, `created_by` int NULL, `price_for_site` int NULL, `title_for_site` mediumtext NULL, `front_hidden_flg` varchar(255) NULL DEFAULT 'False', `satei_month` date NULL, `product_num` int NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `rs_mst_country_name_join_coin`(`id` int NULL, `name` varchar(255) NULL, `english_name` varchar(255) NULL, `sort` int NULL, `update_by` int NULL, `update_at` datetime NULL, `create_by` int NULL, `create_at` datetime NULL, `region_id` int NULL)CHARACTER SET utf8; +CREATE TABLE `rs_post_for_search`(`id` int NULL, `title` mediumtext NULL, `text` mediumtext NULL, `open_flag` tinyint NULL, `open_date` datetime NULL, `update_at` datetime NULL, `update_by` int NULL, `create_at` datetime NULL, `create_by` int NULL, `url` mediumtext NULL, `category` int NULL, `sub_category` int NULL, `category_url` mediumtext NULL, `display_url` mediumtext NULL, `item_id` int NULL, `forward_match` int NULL)CHARACTER SET utf8; +CREATE TABLE `rs_purchased_result`(`id` int NOT NULL, `product_id` int NULL, `market_product_id` int NULL, `ecc_id` int NULL, `voice_sub_id` int NULL, `category_id` int NULL, `sub_category_id1` int NULL, `colorstone_id` int NULL, `status` int NULL, `product_num` int NULL, `yahoo_junle` mediumtext NULL, `yahoo_sankou_uwadai` mediumtext NULL, `yahoo_kataban` mediumtext NULL, `yahoo_condition2` mediumtext NULL, `yahoo_fuzokuhin` mediumtext NULL, `yahoo_sinaban` mediumtext NULL, `yahoo_sex` mediumtext NULL, `box_id` int NULL, `nyuukin_at` datetime NULL, `nyuukin_price` int NULL, `timesta` mediumtext NULL, `kanryou_henbi` datetime NULL, `satei_hi` datetime NULL, `sabun_date` mediumtext NULL, `gold_property` mediumtext NULL, `ichiba_title` mediumtext NULL, `accessories` mediumtext NULL, `priority` mediumtext NULL, `A_storage` mediumtext NULL, `line` mediumtext NULL, `item_name` mediumtext NULL, `handle` mediumtext NULL, `serial_number` mediumtext NULL, `stamp` mediumtext NULL, `motif` mediumtext NULL, `Setting` mediumtext NULL, `processing` mediumtext NULL, `Sleeve_Length` mediumtext NULL, `length` mediumtext NULL, `Ring_size` mediumtext NULL, `price_for_site` mediumtext NULL, `raku_title` mediumtext NULL, `saisun_start` datetime NULL, `season` mediumtext NULL, `title` mediumtext NULL, `yahoo_title` mediumtext NULL, `yahoo_color` mediumtext NULL, `Gram` mediumtext NULL, `unit` mediumtext NULL, `Parent_stone` mediumtext NULL, `producing_area` mediumtext NULL, `hahakai` mediumtext NULL, `effect` mediumtext NULL, `shape` mediumtext NULL, `cutting_style` mediumtext NULL, `Aside_stone` mediumtext NULL, `number_of_stones` mediumtext NULL, `yahoo_size` mediumtext NULL, `ecc_address1` mediumtext NULL, `PMT_EV001_APP_UID` int NULL, `PMT_EV001_DA_THESPECIFICATIONSSETTINGSUN` mediumtext NULL, `PMT_EV001_DA_WEIGHT` mediumtext NULL, `PMT_EV001_DA_THESPECIFICATIONSLOSSES` mediumtext NULL, `PMT_EV001_DA_INTENSITY` mediumtext NULL, `PMT_EV001_DA_OVERTONE` mediumtext NULL, `PMT_EV001_DA_COLOR` mediumtext NULL, `PMT_EV001_DA_CLARITY` mediumtext NULL, `PMT_EV001_DA_CUT` mediumtext NULL, `PMT_EV001_DA_POLISH` mediumtext NULL, `PMT_EV001_DA_SYMMETRY` mediumtext NULL, `PMT_EV001_DA_FLUO` mediumtext NULL, `PMT_EV001_DA_COLOR_FLUO` mediumtext NULL, `PMT_EV001_DA_WIDE` mediumtext NULL, `PMT_EV001_DA_HIGH` mediumtext NULL, `PMT_EV001_DA_DEPTH` mediumtext NULL, `PMT_EV001_DA_APPRAISER` mediumtext NULL, `PMT_EV001_DA_FRAPA` mediumtext NULL, `PMT_EV001_DA_RATE` mediumtext NULL, `PMT_EV001_DA_PAYOUTOTHER` mediumtext NULL, `PMT_EV001_DA_MANAGEMENTNO` mediumtext NULL, `PMT_EV001_DA_STATUS` mediumtext NULL, `PMT_EV001_DA_SEQ` mediumtext NULL, `PMT_EV001_INSI_waname` mediumtext NULL, `PMT_EV001_OVTO_waname` mediumtext NULL, `PMT_EV001_status` int NULL, `market_product_color_quality` int NULL, `market_product_defect_quality` int NULL, `market_product_ichiba_detail` mediumtext NULL, `market_product_comment` mediumtext NULL, `market_product_price_for_site` int NULL, `market_product_title_for_site` varchar(255) NULL, `designer` mediumtext NULL, `collar_neck_line` mediumtext NULL, `breast` mediumtext NULL, `silhouette` mediumtext NULL, `sleeve` mediumtext NULL, `toe` mediumtext NULL, `heel` mediumtext NULL, `shape_supplement` mediumtext NULL, `side_gem` mediumtext NULL, `product_style` mediumtext NULL, `cloth` mediumtext NULL, `amount` mediumtext NULL, `chain_type` mediumtext NULL, `satei_month` datetime NULL, `price_per_gram` decimal(11,0) NULL, `price_per_parent_stone` int NULL, `price_per_aside_stone` int NULL, `front_hidden_flg` varchar(30) NULL, `price` int NULL, `cost` int NULL, `identification_cost` int NULL, `other_cost` int NULL, `purchase_category` varchar(50) NULL, `DA_WEIGHT` varchar(255) NULL, `DA_PER_CARAT` varchar(255) NULL, `DA_SHAPE` varchar(255) NULL, `DA_INTENSITY` varchar(255) NULL, `DA_OVERTONE` varchar(255) NULL, `DA_COLOR` varchar(255) NULL, `DA_CLARITY` varchar(255) NULL, `DA_CUT` varchar(255) NULL, `DA_POLISH` varchar(255) NULL, `DA_SYMMETRY` varchar(255) NULL, `DA_FLUO` varchar(255) NULL, `DA_COLOR_FLUO` varchar(255) NULL, `DA_WIDE` varchar(255) NULL, `DA_HIGH` varchar(255) NULL, `DA_DEPTH` varchar(255) NULL, `DA_APPRAISER` varchar(255) NULL, `DA_FRAPA` varchar(255) NULL, `DA_RATE` varchar(255) NULL, `DA_no` varchar(255) NULL, `DA_INSI_waname` varchar(255) NULL, `DA_OVTO_waname` varchar(255) NULL, `satei_by` int NULL, `Eoc_takuhai_id` int NULL, `Eoc_unfinished_id` int NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `rs_purchased_result_storage_paths`(`id` int NOT NULL AUTO_INCREMENT, `product_id` int NULL, `image_number` int NULL, `storage_path` mediumtext NULL, `created_at` datetime NULL, `updated_at` datetime NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `sagawa_api_result_codes`(`id` int NOT NULL AUTO_INCREMENT, `sagawa_api_result_id` bigint(20) NULL, `result_code` varchar(255) NULL, `updated_by` int NULL, `updated_at` datetime NULL, `created_by` int NULL, `created_at` datetime NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `sagawa_api_results`(`sagawa_api_result_id` int NOT NULL AUTO_INCREMENT, `request_xml` mediumtext NULL, `response_xml` mediumtext NULL, `send_at` datetime NULL, `resultCode` varchar(255) NULL, `userManageNumber` varchar(255) NULL, `depotCode` varchar(255) NULL, `depotName` varchar(255) NULL, `depotTel` varchar(255) NULL, `updated_by` int NULL, `updated_at` datetime NULL, `created_by` int NULL, `created_at` datetime NULL, PRIMARY KEY (`sagawa_api_result_id`))CHARACTER SET utf8; +CREATE TABLE `search_category`(`id` int NOT NULL AUTO_INCREMENT, `created_at` datetime NULL, `updated_at` datetime NULL, `title` varchar(255) NULL, `count` int NULL, `column_name` varchar(255) NULL, `value` varchar(255) NULL, `master_table` varchar(255) NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `sessions`(`id` varchar(255) NOT NULL, `user_id` int NULL, `ip_address` varchar(45) NULL, `user_agent` mediumtext NULL, `payload` mediumtext NOT NULL, `last_activity` int NOT NULL, PRIMARY KEY (`id`(50)))CHARACTER SET utf8; +CREATE TABLE `sheets_api`(`id` int NOT NULL AUTO_INCREMENT, `sheet_id` varchar(200) NULL, `sheet_name` varchar(50) NULL, `column` varchar(50) NULL, `row` int NULL, `data` varchar(255) NULL, `date` date NULL, `updated_at` datetime NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `shop_front_details`(`shop_front_id` int NOT NULL AUTO_INCREMENT, `send_id` varchar(45) NULL, `ecc_id` int NULL, `is_own` tinyint NULL, `iddocment_category` varchar(50) NULL, `is_confirm_pp` tinyint NULL, `is_first` tinyint NULL, `before_two_years` tinyint NULL, `lastname` varchar(255) NULL, `firstname` varchar(255) NULL, `furigana_lastname` varchar(255) NULL, `furigana_firstname` varchar(255) NULL, `gender` varchar(10) NULL, `birthday` date NULL, `prefecture` varchar(10) NULL, `city` varchar(255) NULL, `town` varchar(255) NULL, `building_types` varchar(255) NULL, `dwelling_types` varchar(255) NULL, `tel` varchar(50) NULL, `email` varchar(255) NULL, `job_category` varchar(255) NULL, `job_category_freetext` varchar(255) NULL, `campaign` varchar(255) NULL, `taransaction_result` varchar(50) NULL, `trading` varchar(50) NULL, `is_confirm_rules` tinyint NULL, `signature_image_path` varchar(255) NULL, `iddocment_image_path` varchar(2000) NULL, `products_image_path` varchar(2000) NULL, `send_at` datetime NULL, `created_at` datetime NULL, `created_by` int NULL, `updated_at` datetime NULL, `updated_by` int NULL, `is_img_confirmed_products` tinyint NULL, `is_img_confirmed_iddocument` tinyint NULL, `has_changed_profile` tinyint NULL, `yubinnumber` varchar(50) NULL, `is_required_privacy_info` tinyint NULL, `deal_type` varchar(255) NULL, `purpose` varchar(255) NULL, `below_address` varchar(255) NULL, `privacy_info_validation` varchar(255) NULL, `image_confirmed_at` datetime NULL DEFAULT '0000-00-00 00:00:00', `is_exists_mypage_id` tinyint NULL DEFAULT 0, `customer_id` bigint(20) NULL, `is_not_owner_text` varchar(500) NULL, `token` varchar(36) NULL, `token_limit` datetime NULL, `mail_check_type` int NULL, PRIMARY KEY (`shop_front_id`))CHARACTER SET utf8; +CREATE TABLE `shop_front_download_tokens`(`id` int NOT NULL AUTO_INCREMENT, `ecc_id` int NULL, `token` varchar(50) NULL, `limit_at` datetime NULL, `created_at` datetime NULL, `updated_at` datetime NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `shop_front_seiren_details`(`shop_front_seiren_id` int NOT NULL AUTO_INCREMENT, `ecc_id` int NULL, `customer_id` bigint(20) NULL, `google_drive_id` varchar(1000) NULL, `updated_at` datetime NULL, `created_at` datetime NULL, PRIMARY KEY (`shop_front_seiren_id`))CHARACTER SET utf8; +CREATE TABLE `shouhin_for_pricelist`(`product_id` int NOT NULL DEFAULT 0, `category_id` int NULL, `product_num` int NULL, `satei_hi` datetime NULL, `gold_property` varchar(200) NULL, `line` varchar(255) NULL, `item_name` varchar(255) NULL, `saisun_start` datetime NULL, `price` int NULL, `Parent_stone` varchar(20) NULL, `sub_category_id1` int NULL, PRIMARY KEY (`product_id`))CHARACTER SET utf8; +CREATE TABLE `sitemaps`(`id` int NOT NULL AUTO_INCREMENT, `domain` varchar(255) NULL, `category_id` int NULL, `post_id` int NULL, `page_title` varchar(255) NULL, `url` varchar(255) NULL, `sort` int NULL, `page_created_at` datetime NULL, `page_updated_at` datetime NULL, `created_at` datetime NULL, `created_by` int NULL, `updated_at` datetime NULL, `updated_by` int NULL, `is_not_delete` tinyint NULL DEFAULT 0, `wp_categories` varchar(255) NULL, `all_site_check` varchar(255) NULL, `is_hidden` tinyint NULL DEFAULT 0, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `stackdriver_alert_log`(`id` int NOT NULL AUTO_INCREMENT, `date` datetime NULL, `update_at` datetime NULL, `value` mediumtext NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `store_categories`(`category_id` int NOT NULL AUTO_INCREMENT, `category_name` varchar(50) NOT NULL, `category_initial` varchar(2) NULL, `sort` int NULL, `store_editorial_products` varchar(255) NULL, `category_is_active` varchar(255) NULL, `condition_tmp_id` int NULL, `saisun_tmpl` mediumtext NULL, `created_at` datetime NULL, `created_by` varchar(50) NULL, `updated_at` datetime NULL, `updated_by` varchar(50) NULL, `output_template` mediumtext NULL, `jewelry_flag` tinyint NULL, `sales_category` int NULL, `is_purchase_D` tinyint NULL, `is_purchase_K` tinyint NULL, `is_purchase_J` tinyint NULL, `is_purchase_B` tinyint NULL, `is_purchase_H` tinyint NULL, `is_purchase_W` tinyint NULL, PRIMARY KEY (`category_id`))CHARACTER SET utf8; +CREATE TABLE `store_sub_categories`(`id` int NOT NULL AUTO_INCREMENT, `category_id` int NULL, `name` varchar(32) NULL, `template_id` int NULL, `initial_name` varchar(32) NULL, `view1` int NULL, `view2` int NULL, `view3` int NULL, `size1` int NULL, `size2` int NULL, `size3` int NULL, `size4` int NULL, `size5` int NULL, `size6` mediumtext NULL, `sort` int NULL DEFAULT 100, `brawseid` varchar(100) NULL, `brandnode` varchar(100) NULL, `brandidwomen` varchar(100) NULL, `condition_id` int NULL, `condition_tmp` int NULL, `rakuten_koumoku` mediumtext NULL, `saisun_priority_check` int NULL, `condition_details` mediumtext NULL, `updated_at` datetime NULL, `updated_by` varchar(50) NULL, `created_at` datetime NULL, `created_by` varchar(50) NULL, `output_template` mediumtext NULL, `saisun_model_id` int NULL, `related_words` mediumtext NULL, `hansokuhi_flag` tinyint NULL, `category_class` int NULL, `sales_category` int NULL, `colorstone_id` int NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `toiawase`(`id` int NOT NULL AUTO_INCREMENT, `created_at` datetime NULL, `updated_at` datetime NULL, `mail` varchar(70) NULL, `exsample` varchar(45) NULL, `text` mediumtext NULL, `ip` varchar(65) NULL, `cv_site` varchar(255) NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `toiawase_files`(`id` int NOT NULL AUTO_INCREMENT, `created_at` datetime NULL, `updated_at` datetime NULL, `name` varchar(60) NULL, `toiawase_id` int NULL, `path` varchar(100) NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `ubuy_audit`(`id` int NOT NULL AUTO_INCREMENT, `datetime` datetime NOT NULL, `ip` varchar(40) NOT NULL, `user` varchar(300) NULL, `table` varchar(300) NULL, `action` varchar(250) NOT NULL, `description` mediumtext NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `ubuy_uggroups`(`GroupID` int NOT NULL AUTO_INCREMENT, `Label` varchar(300) NULL, PRIMARY KEY (`GroupID`))CHARACTER SET utf8; +CREATE TABLE `ubuy_ugmembers`(`UserName` varchar(300) NOT NULL, `GroupID` int NOT NULL, PRIMARY KEY (`UserName`(50),`GroupID`))CHARACTER SET utf8; +CREATE TABLE `ubuy_ugrights`(`TableName` varchar(300) NOT NULL, `GroupID` int NOT NULL, `AccessMask` varchar(10) NULL, PRIMARY KEY (`TableName`(50),`GroupID`))CHARACTER SET utf8; +CREATE TABLE `user_search_data`(`id` int NOT NULL AUTO_INCREMENT, `category` varchar(100) NULL, `value` varchar(255) NULL, `created_at` datetime NULL, `updated_at` datetime NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `users`(`ID` int NOT NULL AUTO_INCREMENT, `username` varchar(255) NULL, `password` varchar(255) NULL, `email` varchar(255) NULL, `fullname` varchar(255) NULL, `groupid` varchar(255) NULL, `active` int NULL, `user_id` int NULL, `income_id` int NULL, PRIMARY KEY (`ID`))CHARACTER SET utf8; +CREATE TABLE `video_staffs`(`id` int NOT NULL AUTO_INCREMENT, `video_id` bigint(20) NULL, `sfaff_id` int NULL, `updated_by` int NULL, `updated_at` datetime NULL, `created_by` int NULL, `created_at` datetime NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `videos`(`video_id` int NOT NULL AUTO_INCREMENT, `title` mediumtext NULL, `description` mediumtext NULL, `YouTube_url` mediumtext NULL, `thumbnail_img_url` mediumtext NULL, `open_at` datetime NULL, `is_open` tinyint NULL, `updated_by` int NULL, `updated_at` datetime NULL, `created_by` int NULL, `created_at` datetime NULL, PRIMARY KEY (`video_id`))CHARACTER SET utf8; +CREATE TABLE `voice_mst`(`id` int NOT NULL, `voice_image` mediumtext NULL, `date` varchar(255) NULL, `zip_name` varchar(255) NULL, `goods_name` varchar(255) NULL, `cal_price` varchar(255) NULL, `brand` varchar(255) NULL, `hinmoku` varchar(255) NULL, `page_category` varchar(255) NULL, `page_num` varchar(32) NULL, `url` varchar(255) NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `voice_sub`(`id` int NOT NULL AUTO_INCREMENT, `voice_id` int NULL, `subject` mediumtext NULL, `link` varchar(255) NULL, `date` varchar(255) NULL, `zip_name` varchar(255) NULL, `goods_name` varchar(255) NULL, `cal_price` varchar(255) NULL, `goods_category` varchar(255) NULL, `brand` varchar(255) NULL, `brand_category` varchar(255) NULL, `hinmoku` varchar(255) NULL, `page_category` varchar(255) NULL, `page_num` varchar(32) NULL, `page_master` varchar(32) NULL, `page_regist` int NULL, `detail` mediumtext NULL, `seq` varchar(255) NULL, `preview_dia` int NULL, `preview_kin` int NULL, `preview_brand` int NULL, `preview_dia_tegami` int NULL, `preveiw_kin_tegami` int NULL, `preview_kin_brand` int NULL, `dia_jisseki_id` mediumtext NULL, `did_grade` mediumtext NULL, `dia_kanteisho` mediumtext NULL, `dia_okyakusama_shousai` mediumtext NULL, `dia_otorihiki_keiai` mediumtext NULL, `dia_souhyou` mediumtext NULL, `category_1` int NULL, `category_2` varchar(11) NULL, `category_21` int NULL, `category_22` int NULL, `category_31` int NULL, `category_32` int NULL, `img_pass` mediumtext NULL, `href_pass` mediumtext NULL, `file_size` int NULL, `updated_at` datetime NULL, `voice_date` datetime NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `webreport_admin`(`id` int NOT NULL AUTO_INCREMENT, `tablename` varchar(300) NULL, `db_type` varchar(10) NULL, `group_name` varchar(300) NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `webreport_sql`(`id` int NOT NULL AUTO_INCREMENT, `sqlname` varchar(100) NULL, `sqlcontent` mediumtext NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `webreport_style`(`report_style_id` int NOT NULL AUTO_INCREMENT, `type` varchar(6) NOT NULL, `field` int NOT NULL, `group` int NOT NULL, `style_str` mediumtext NOT NULL, `uniq` int NULL, `repname` varchar(255) NOT NULL, `styletype` varchar(40) NOT NULL, PRIMARY KEY (`report_style_id`))CHARACTER SET utf8; +CREATE TABLE `webreports`(`rpt_id` int NOT NULL AUTO_INCREMENT, `rpt_name` varchar(100) NOT NULL, `rpt_title` varchar(200) NULL, `rpt_cdate` datetime NOT NULL, `rpt_mdate` datetime NULL, `rpt_content` mediumtext NOT NULL, `rpt_owner` varchar(100) NOT NULL, `rpt_status` varchar(10) NOT NULL DEFAULT 'public', `rpt_type` varchar(10) NOT NULL, PRIMARY KEY (`rpt_id`))CHARACTER SET utf8; +CREATE TABLE `zendesk__data`(`chat_id` int NOT NULL AUTO_INCREMENT, `comment` mediumtext NULL, `triggered_response` varchar(255) NULL, `rating` varchar(255) NULL, `duration` int NULL, `agent_names` mediumtext NULL, `department_name` varchar(255) NULL, `id` varchar(255) NULL, `end_timestamp` datetime NULL, `referrer_search_terms` varchar(255) NULL, `referrer_search_engine` varchar(100) NULL, `missed` varchar(255) NULL, `agent_ids` mediumtext NULL, `type` varchar(255) NULL, `department_id` int NULL, `triggered` varchar(50) NULL, `timestamp` datetime NULL, `response_time_max` varchar(255) NULL, `response_time_avg` varchar(255) NULL, `response_time_first` varchar(255) NULL, `count_visitor` int NULL, `count_agent` int NULL, `count_total` int NULL, `zendesk_ticket_id` varchar(255) NULL, `started_by` varchar(100) NULL, `unread` varchar(100) NULL, `visitor` mediumtext NULL, `session` mediumtext NULL, `tags` mediumtext NULL, `conversions` mediumtext NULL, `updated_at` datetime NULL, `open_flag` tinyint NULL DEFAULT 0, `title` varchar(255) NULL, `category` varchar(255) NULL, `update_at` datetime NULL DEFAULT CURRENT_TIMESTAMP, `update_by` int NULL, `hash_tag` mediumtext NULL, `check_flag` tinyint NULL, `best_answer` mediumtext NULL, PRIMARY KEY (`chat_id`))CHARACTER SET utf8; +CREATE TABLE `zendesk_agent`(`id` int NOT NULL AUTO_INCREMENT, `agent_names` varchar(255) NULL, `agent_ids` varchar(255) NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `zendesk_chats`(`id` int NOT NULL AUTO_INCREMENT, `chat_id` int NOT NULL, `name` varchar(255) NULL, `timestamp` datetime NULL, `department_name` varchar(255) NULL, `type` varchar(255) NULL, `channel` varchar(255) NULL, `department_id` int NULL, `sender_type` varchar(255) NULL, `msg` mediumtext NULL, `options` varchar(255) NULL, `attachment_mime_type` varchar(255) NULL, `attachment_name` varchar(255) NULL, `attachment_url` mediumtext NULL, `attachment_size` int NULL, `attachment_type` varchar(255) NULL, `chat_number` int NULL, `open_flag` tinyint NULL DEFAULT 0, `update_at` datetime NULL DEFAULT CURRENT_TIMESTAMP, `update_by` int NULL, `error_flag` tinyint NULL DEFAULT 0, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `zendesk_chats_copy1`(`id` int NOT NULL AUTO_INCREMENT, `chat_id` int NOT NULL, `name` varchar(255) NULL, `timestamp` datetime NULL, `department_name` varchar(255) NULL, `type` varchar(255) NULL, `channel` varchar(255) NULL, `department_id` int NULL, `sender_type` varchar(255) NULL, `msg` mediumtext NULL, `options` varchar(255) NULL, `attachment_mime_type` varchar(255) NULL, `attachment_name` varchar(255) NULL, `attachment_url` mediumtext NULL, `attachment_size` int NULL, `attachment_type` varchar(255) NULL, `chat_number` int NULL, `open_flag` tinyint NULL DEFAULT 0, `update_at` datetime NULL DEFAULT CURRENT_TIMESTAMP, `update_by` int NULL, `error_flag` tinyint NULL DEFAULT 0, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `zendesk_tag`(`id` int NOT NULL AUTO_INCREMENT, `tag` varchar(255) NULL, `sort` int NULL, `update_at` datetime NULL, `update_by` int NULL, `create_at` datetime NULL, `create_by` int NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `zendesk_webpaths`(`id` int NOT NULL AUTO_INCREMENT, `chat_id` int NOT NULL, `timestamp` datetime NULL, `title` mediumtext NULL, `from` varchar(255) NULL, `to` varchar(255) NULL, `path_number` int NULL, PRIMARY KEY (`id`))CHARACTER SET utf8; +CREATE TABLE `vw_PMT_EV001_for_search`(`APP_UID` int NOT NULL DEFAULT 0, `APP_NUMBER` int NOT NULL, `APP_STATUS` varchar(10) NOT NULL, `ROW` int NOT NULL, `DA_SEQ` varchar(32) NULL, `DA_MANAGEMENTNO` varchar(32) NULL, `DA_BUYER` varchar(32) NULL, `DA_RESPONSIBLE` varchar(32) NULL, `DA_THESPECIFICATIONSSETTINGSUN` varchar(32) NULL, `DA_WEIGHT` decimal(11,3) NULL, `DA_THESPECIFICATIONSLOSSES` varchar(32) NULL, `DA_PER_CARAT` varchar(32) NULL, `DA_SHAPE` varchar(32) NULL, `DA_SELFGRES` varchar(32) NULL, `DA_ORIGINALGRADEMLIKENED` varchar(32) NULL, `DA_SUGARCANE` varchar(32) NULL, `DA_PERCENT` varchar(32) NULL, `DA_STATUS` varchar(32) NULL, `DA_COLOR` varchar(32) NULL, `COLOR_sort` bigint(11) NULL, `DA_CLARITY` varchar(32) NULL, `CLARITY_sort` bigint(11) NULL, `DA_CUT` varchar(32) NULL, `CUT_sort` bigint(11) NULL, `DA_FLUO` varchar(32) NULL, `DA_WIDE` varchar(32) NULL, `DA_HIGH` varchar(32) NULL, `DA_DEPTH` varchar(32) NULL, `DA_APPRAISER` varchar(32) NULL, `DA_RATE` varchar(32) NULL, `DA_UNITPRICE` varchar(32) NULL, `DA_YOURNAME` varchar(32) NULL, `DA_PAYOUTOTHER` double NULL, `DA_RAPA` varchar(32) NULL, `DA_COMMENTSANDTOTAL` varchar(32) NULL, `DA_REGISTEREDPERSON` varchar(32) NULL, `DA_GROSSPROFIT` varchar(32) NULL, `DA_INTEREST_1` varchar(32) NULL, `DA_REGISTRATIONDATE` varchar(32) NULL, `DA_UPDATEDBY` varchar(32) NULL, `DA_UPDATEDDATE` varchar(32) NULL, `DA_COMPLETECHANGEDATE` varchar(32) NULL, `DA_FRAPA` varchar(32) NULL, `DA_RAPAB` varchar(50) NULL, `DA_UNIT_PRICE_UNPLUG` varchar(50) NULL, `DA_STATUS_2` varchar(255) NULL, `DA_MEMO` mediumtext NULL, `DA_INTENSITY` varchar(50) NULL, `DA_OVERTONE` varchar(50) NULL, `DA_INTENSITY_FLUO` varchar(50) NULL, `DA_COLOR_FLUO` varchar(50) NULL, `DA_POLISH` varchar(100) NULL, `DA_SYMMETRY` varchar(100) NULL, `DA_no` varchar(100) NULL, `status` int NULL, `kaitoribi` varchar(7) NULL, `kaitoribi_bi` varchar(10) NULL, `floor_weight` decimal(17,4) NULL)CHARACTER SET utf8; +CREATE TABLE `vw_bvlgari_price_gold_category_id`(`category_id` int NULL, `mon` varchar(7) NULL, `count` bigint(21) NOT NULL DEFAULT 0, `ave` bigint(13) NULL, `min` bigint(13) NULL, `max` bigint(13) NULL, `sum` decimal(32,0) NULL)CHARACTER SET utf8; +CREATE TABLE `vw_bvlgari_price_line_category_id`(`line` varchar(255) NULL, `category_id` int NULL, `mon` varchar(7) NULL, `count` bigint(21) NOT NULL DEFAULT 0, `ave` bigint(13) NULL, `min` bigint(13) NULL, `max` bigint(13) NULL, `sum` decimal(32,0) NULL)CHARACTER SET utf8; +CREATE TABLE `vw_cartier_price_category_id`(`category_id` int NULL, `mon` varchar(7) NULL, `count` bigint(21) NOT NULL DEFAULT 0, `ave` bigint(13) NULL, `min` bigint(13) NULL, `max` bigint(13) NULL, `sum` decimal(32,0) NULL)CHARACTER SET utf8; +CREATE TABLE `vw_cartier_price_gold_category_id`(`category_id` int NULL, `mon` varchar(7) NULL, `count` bigint(21) NOT NULL DEFAULT 0, `ave` bigint(13) NULL, `min` bigint(13) NULL, `max` bigint(13) NULL, `sum` decimal(32,0) NULL)CHARACTER SET utf8; +CREATE TABLE `vw_cartier_price_line`(`line` varchar(255) NULL, `mon` varchar(7) NULL, `count` bigint(21) NOT NULL DEFAULT 0, `ave` bigint(13) NULL, `min` bigint(13) NULL, `max` bigint(13) NULL, `sum` decimal(32,0) NULL)CHARACTER SET utf8; +CREATE TABLE `vw_cartier_price_line_category_id`(`line` varchar(255) NULL, `category_id` int NULL, `mon` varchar(7) NULL, `count` bigint(21) NOT NULL DEFAULT 0, `ave` bigint(13) NULL, `min` bigint(13) NULL, `max` bigint(13) NULL, `sum` decimal(32,0) NULL)CHARACTER SET utf8; +CREATE TABLE `vw_cartier_price_line_category_id_nodia`(`line` varchar(255) NULL, `category_id` int NULL, `mon` varchar(7) NULL, `count` bigint(21) NOT NULL DEFAULT 0, `ave` bigint(13) NULL, `min` bigint(13) NULL, `max` bigint(13) NULL, `sum` decimal(32,0) NULL)CHARACTER SET utf8; +CREATE TABLE `vw_chat`(`DATE_FORMAT(end_timestamp,"%Y-%m-%d")` varchar(10) NULL, `COUNT(chat_id)` bigint(21) NOT NULL DEFAULT 0)CHARACTER SET utf8; +CREATE TABLE `vw_chats`(`DATE_FORMAT(end_timestamp,"%Y-%m-%d")` varchar(10) NULL, `COUNT(chat_id)` bigint(21) NOT NULL DEFAULT 0)CHARACTER SET utf8; +CREATE TABLE `vw_chats_by_month`(`DATE_FORMAT(end_timestamp,"%Y-%m")` varchar(7) NULL, `COUNT(chat_id)` bigint(21) NOT NULL DEFAULT 0)CHARACTER SET utf8; +CREATE TABLE `vw_goldcoin`(`id` int NOT NULL DEFAULT 0, `face_value` varchar(255) NULL, `face_value_number` decimal(11,2) NULL, `face_value_unit` int NULL, `ounce` varchar(255) NULL, `diameter_mm` varchar(255) NULL, `total_weight` varchar(255) NULL, `total_weight_for_calc` varchar(255) NULL, `manufacturing_number` int NULL, `selling_price` varchar(255) NULL, `selling_price_unit` int NULL, `update_at` datetime NULL, `update_by` int NULL, `create_at` datetime NULL, `create_by` int NULL, `goldcoin_id` int NULL, `region_id` int NULL, `start_year` varchar(255) NULL, `year_remark` varchar(255) NULL, `end_year` varchar(255) NULL, `material_URL_1` mediumtext NULL, `material_URL_2` mediumtext NULL, `surface_image_URL` mediumtext NULL, `back_side_image_URL` mediumtext NULL, `use_back_img` tinyint NULL, `popular_coin_price_sort` int NULL, `search_result_sort` int NULL, `display_list_sort` int NULL, `coefficient` decimal(5,4) NULL, `related_gold_coin_id` int NULL DEFAULT 0, `country_name` int NULL, `coin_name` varchar(255) NULL, `material` int NULL, `quality` varchar(255) NULL, `reference_quality` int NULL, `surface` varchar(255) NULL, `back_side` varchar(255) NULL, `remarks` mediumtext NULL, `related_word` mediumtext NULL, `display_country_name` varchar(255) NULL)CHARACTER SET utf8; +CREATE TABLE `vw_kagoya_result`(`product_id` int NOT NULL, `ecc_id` int NULL, `category_id` int NULL DEFAULT 999, `sub_category_id1` int NULL DEFAULT 999, `status` int NULL, `product_num` int NULL, `yahoo_junle` varchar(128) NULL, `yahoo_sankou_uwadai` varchar(128) NULL, `yahoo_kataban` varchar(129) NULL, `yahoo_condition2` varchar(50) NULL, `yahoo_fuzokuhin` varchar(255) NULL, `yahoo_sinaban` varchar(11) NULL, `yahoo_sex` int NULL, `box_id` int NULL, `nyuukin_at` datetime NULL, `nyuukin_price` int NULL, `timesta` datetime NULL, `kanryou_henbi` datetime NULL, `satei_hi` datetime NULL, `sabun_date` int NULL, `gold_property` varchar(150) NOT NULL, `ichiba_title` varchar(100) NULL, `accessories` varchar(20) NULL, `priority` varchar(4) NULL, `A_storage` varchar(10) NULL, `line` varchar(50) NULL, `item_name` varchar(50) NULL, `handle` varchar(50) NULL, `serial_number` varchar(150) NULL, `stamp` varchar(150) NULL, `motif` varchar(150) NULL, `Setting` varchar(150) NULL, `processing` varchar(150) NULL, `Sleeve_Length` varchar(150) NULL, `length` varchar(150) NULL, `Ring_size` varchar(150) NULL, `price_for_site` varchar(50) NULL, `raku_title` varchar(255) NULL, `saisun_start` datetime NULL, `season` varchar(100) NULL, `title` varchar(255) NULL, `yahoo_title` varchar(255) NULL, `yahoo_color` mediumtext NULL, `Gram` varchar(20) NULL, `unit` varchar(50) NULL, `Parent_stone` varchar(20) NULL, `producing_area` varchar(150) NULL, `hahakai` varchar(150) NULL, `effect` varchar(150) NULL, `shape` varchar(150) NULL, `cutting_style` varchar(150) NULL, `Aside_stone` varchar(20) NULL, `number_of_stones` varchar(150) NULL, `yahoo_size` mediumtext NULL, `ecc_address1` varchar(100) NULL, `PMT_EV001_APP_UID` int NULL, `PMT_EV001_DA_THESPECIFICATIONSSETTINGSUN` varchar(100) NULL, `PMT_EV001_DA_WEIGHT` varchar(100) NULL, `PMT_EV001_DA_THESPECIFICATIONSLOSSES` varchar(100) NULL, `PMT_EV001_DA_INTENSITY` varchar(100) NULL, `PMT_EV001_DA_OVERTONE` varchar(100) NULL, `PMT_EV001_DA_COLOR` varchar(100) NULL, `PMT_EV001_DA_CLARITY` varchar(100) NULL, `PMT_EV001_DA_CUT` varchar(100) NULL, `PMT_EV001_DA_POLISH` varchar(100) NULL, `PMT_EV001_DA_SYMMETRY` varchar(100) NULL, `PMT_EV001_DA_FLUO` varchar(100) NULL, `PMT_EV001_DA_COLOR_FLUO` varchar(100) NULL, `PMT_EV001_DA_WIDE` varchar(100) NULL, `PMT_EV001_DA_HIGH` varchar(100) NULL, `PMT_EV001_DA_DEPTH` varchar(100) NULL, `PMT_EV001_DA_APPRAISER` varchar(100) NULL, `PMT_EV001_DA_FRAPA` varchar(100) NULL, `PMT_EV001_DA_RATE` varchar(100) NULL, `PMT_EV001_DA_PAYOUTOTHER` varchar(100) NULL, `PMT_EV001_DA_MANAGEMENTNO` varchar(100) NULL, `PMT_EV001_DA_STATUS` varchar(100) NULL, `PMT_EV001_DA_SEQ` varchar(100) NULL, `PMT_EV001_INSI_waname` varchar(255) NULL, `PMT_EV001_OVTO_waname` varchar(255) NULL, `PMT_EV001_status` int NULL, `designer` varchar(255) NULL, `collar_neck_line` varchar(255) NULL, `breast` varchar(150) NULL, `silhouette` varchar(150) NULL, `sleeve` varchar(150) NULL, `toe` varchar(150) NULL, `heel` varchar(150) NULL, `shape_supplement` varchar(150) NULL, `side_gem` varchar(150) NULL, `product_style` varchar(150) NULL, `cloth` varchar(150) NULL, `amount` varchar(150) NULL, `chain_type` varchar(150) NULL, `price_per_gram` decimal(11,0) NULL, `price_per_parent_stone` int NULL, `price_per_aside_stone` int NULL, `satei_month` varchar(24) NULL)CHARACTER SET utf8; +CREATE TABLE `vw_kagoya_result_bk`(`product_id` int NOT NULL, `category_id` int NULL DEFAULT 999, `sub_category_id1` int NULL DEFAULT 999, `status` int NULL, `product_num` int NULL, `yahoo_junle` varchar(128) NULL, `yahoo_sankou_uwadai` varchar(128) NULL, `yahoo_kataban` varchar(129) NULL, `yahoo_condition2` varchar(50) NULL, `yahoo_fuzokuhin` varchar(255) NULL, `yahoo_sinaban` varchar(11) NULL, `yahoo_sex` int NULL, `box_id` int NULL, `nyuukin_at` datetime NULL, `nyuukin_price` int NULL, `timesta` datetime NULL, `kanryou_henbi` datetime NULL, `satei_hi` datetime NULL, `sabun_date` int NULL, `gold_property` varchar(150) NOT NULL, `ichiba_title` varchar(100) NULL, `accessories` varchar(20) NULL, `priority` varchar(4) NULL, `A_storage` varchar(10) NULL, `line` varchar(50) NULL, `item_name` varchar(50) NULL, `handle` varchar(50) NULL, `serial_number` varchar(150) NULL, `stamp` varchar(150) NULL, `motif` varchar(150) NULL, `Setting` varchar(150) NULL, `processing` varchar(150) NULL, `Sleeve_Length` varchar(150) NULL, `length` varchar(150) NULL, `Ring_size` varchar(150) NULL, `price_for_site` varchar(50) NULL, `raku_title` varchar(255) NULL, `saisun_start` datetime NULL, `season` varchar(100) NULL, `title` varchar(255) NULL, `yahoo_title` varchar(255) NULL, `yahoo_color` mediumtext NULL, `Gram` varchar(20) NULL, `unit` varchar(50) NULL, `Parent_stone` varchar(20) NULL, `producing_area` varchar(150) NULL, `hahakai` varchar(150) NULL, `effect` varchar(150) NULL, `shape` varchar(150) NULL, `cutting_style` varchar(150) NULL, `Aside_stone` varchar(20) NULL, `number_of_stones` varchar(150) NULL, `yahoo_size` mediumtext NULL, `ecc_address1` varchar(100) NULL, `satei_month` varchar(7) NULL)CHARACTER SET utf8; +CREATE TABLE `vw_kagoya_result_bk0622`(`product_id` int NOT NULL, `category_id` int NULL DEFAULT 999, `sub_category_id1` int NULL DEFAULT 999, `status` int NULL, `product_num` int NULL, `yahoo_junle` varchar(128) NULL, `yahoo_sankou_uwadai` varchar(128) NULL, `yahoo_kataban` varchar(129) NULL, `yahoo_condition2` varchar(50) NULL, `yahoo_fuzokuhin` varchar(255) NULL, `yahoo_sinaban` varchar(11) NULL, `yahoo_sex` int NULL, `box_id` int NULL, `nyuukin_at` datetime NULL, `nyuukin_price` int NULL, `timesta` datetime NULL, `kanryou_henbi` datetime NULL, `satei_hi` datetime NULL, `sabun_date` int NULL, `gold_property` varchar(150) NOT NULL, `ichiba_title` varchar(100) NULL, `accessories` varchar(20) NULL, `priority` varchar(4) NULL, `A_storage` varchar(10) NULL, `line` varchar(50) NULL, `item_name` varchar(50) NULL, `handle` varchar(50) NULL, `serial_number` varchar(150) NULL, `stamp` varchar(150) NULL, `motif` varchar(150) NULL, `Setting` varchar(150) NULL, `processing` varchar(150) NULL, `Sleeve_Length` varchar(150) NULL, `length` varchar(150) NULL, `Ring_size` varchar(150) NULL, `price_for_site` varchar(50) NULL, `raku_title` varchar(255) NULL, `saisun_start` datetime NULL, `season` varchar(100) NULL, `title` varchar(255) NULL, `yahoo_title` varchar(255) NULL, `yahoo_color` mediumtext NULL, `Gram` varchar(20) NULL, `unit` varchar(50) NULL, `Parent_stone` varchar(20) NULL, `producing_area` varchar(150) NULL, `hahakai` varchar(150) NULL, `effect` varchar(150) NULL, `shape` varchar(150) NULL, `cutting_style` varchar(150) NULL, `Aside_stone` varchar(20) NULL, `number_of_stones` varchar(150) NULL, `yahoo_size` mediumtext NULL, `ecc_address1` varchar(100) NULL, `PMT_EV001_APP_UID` int NULL, `PMT_EV001_DA_THESPECIFICATIONSSETTINGSUN` varchar(100) NULL, `PMT_EV001_DA_WEIGHT` varchar(100) NULL, `PMT_EV001_DA_THESPECIFICATIONSLOSSES` varchar(100) NULL, `PMT_EV001_DA_INTENSITY` varchar(100) NULL, `PMT_EV001_DA_OVERTONE` varchar(100) NULL, `PMT_EV001_DA_COLOR` varchar(100) NULL, `PMT_EV001_DA_CLARITY` varchar(100) NULL, `PMT_EV001_DA_CUT` varchar(100) NULL, `PMT_EV001_DA_POLISH` varchar(100) NULL, `PMT_EV001_DA_SYMMETRY` varchar(100) NULL, `PMT_EV001_DA_FLUO` varchar(100) NULL, `PMT_EV001_DA_COLOR_FLUO` varchar(100) NULL, `PMT_EV001_DA_WIDE` varchar(100) NULL, `PMT_EV001_DA_HIGH` varchar(100) NULL, `PMT_EV001_DA_DEPTH` varchar(100) NULL, `PMT_EV001_DA_APPRAISER` varchar(100) NULL, `PMT_EV001_DA_FRAPA` varchar(100) NULL, `PMT_EV001_DA_RATE` varchar(100) NULL, `PMT_EV001_DA_PAYOUTOTHER` varchar(100) NULL, `PMT_EV001_DA_MANAGEMENTNO` varchar(100) NULL, `PMT_EV001_DA_STATUS` varchar(100) NULL, `PMT_EV001_DA_SEQ` varchar(100) NULL, `PMT_EV001_INSI_waname` varchar(255) NULL, `PMT_EV001_OVTO_waname` varchar(255) NULL, `PMT_EV001_status` int NULL, `designer` varchar(255) NULL, `collar_neck_line` varchar(255) NULL, `breast` varchar(150) NULL, `silhouette` varchar(150) NULL, `sleeve` varchar(150) NULL, `toe` varchar(150) NULL, `heel` varchar(150) NULL, `shape_supplement` varchar(150) NULL, `side_gem` varchar(150) NULL, `product_style` varchar(150) NULL, `cloth` varchar(150) NULL, `amount` varchar(150) NULL, `chain_type` varchar(150) NULL, `price_per_gram` decimal(11,0) NULL, `price_per_parent_stone` int NULL, `price_per_aside_stone` int NULL, `satei_month` varchar(24) NULL)CHARACTER SET utf8; +CREATE TABLE `vw_kagoya_result_copy0622`(`product_id` int NOT NULL, `ecc_id` int NULL, `category_id` int NULL DEFAULT 999, `sub_category_id1` int NULL DEFAULT 999, `status` int NULL, `product_num` int NULL, `yahoo_junle` varchar(128) NULL, `yahoo_sankou_uwadai` varchar(128) NULL, `yahoo_kataban` varchar(129) NULL, `yahoo_condition2` varchar(50) NULL, `yahoo_fuzokuhin` varchar(255) NULL, `yahoo_sinaban` varchar(11) NULL, `yahoo_sex` int NULL, `box_id` int NULL, `nyuukin_at` datetime NULL, `nyuukin_price` int NULL, `timesta` datetime NULL, `kanryou_henbi` datetime NULL, `satei_hi` datetime NULL, `sabun_date` int NULL, `gold_property` varchar(150) NOT NULL, `ichiba_title` varchar(100) NULL, `accessories` varchar(20) NULL, `priority` varchar(4) NULL, `A_storage` varchar(10) NULL, `line` varchar(50) NULL, `item_name` varchar(50) NULL, `handle` varchar(50) NULL, `serial_number` varchar(150) NULL, `stamp` varchar(150) NULL, `motif` varchar(150) NULL, `Setting` varchar(150) NULL, `processing` varchar(150) NULL, `Sleeve_Length` varchar(150) NULL, `length` varchar(150) NULL, `Ring_size` varchar(150) NULL, `price_for_site` varchar(50) NULL, `raku_title` varchar(255) NULL, `saisun_start` datetime NULL, `season` varchar(100) NULL, `title` varchar(255) NULL, `yahoo_title` varchar(255) NULL, `yahoo_color` mediumtext NULL, `Gram` varchar(20) NULL, `unit` varchar(50) NULL, `Parent_stone` varchar(20) NULL, `producing_area` varchar(150) NULL, `hahakai` varchar(150) NULL, `effect` varchar(150) NULL, `shape` varchar(150) NULL, `cutting_style` varchar(150) NULL, `Aside_stone` varchar(20) NULL, `number_of_stones` varchar(150) NULL, `yahoo_size` mediumtext NULL, `ecc_address1` varchar(100) NULL, `PMT_EV001_APP_UID` int NULL, `PMT_EV001_DA_THESPECIFICATIONSSETTINGSUN` varchar(100) NULL, `PMT_EV001_DA_WEIGHT` varchar(100) NULL, `PMT_EV001_DA_THESPECIFICATIONSLOSSES` varchar(100) NULL, `PMT_EV001_DA_INTENSITY` varchar(100) NULL, `PMT_EV001_DA_OVERTONE` varchar(100) NULL, `PMT_EV001_DA_COLOR` varchar(100) NULL, `PMT_EV001_DA_CLARITY` varchar(100) NULL, `PMT_EV001_DA_CUT` varchar(100) NULL, `PMT_EV001_DA_POLISH` varchar(100) NULL, `PMT_EV001_DA_SYMMETRY` varchar(100) NULL, `PMT_EV001_DA_FLUO` varchar(100) NULL, `PMT_EV001_DA_COLOR_FLUO` varchar(100) NULL, `PMT_EV001_DA_WIDE` varchar(100) NULL, `PMT_EV001_DA_HIGH` varchar(100) NULL, `PMT_EV001_DA_DEPTH` varchar(100) NULL, `PMT_EV001_DA_APPRAISER` varchar(100) NULL, `PMT_EV001_DA_FRAPA` varchar(100) NULL, `PMT_EV001_DA_RATE` varchar(100) NULL, `PMT_EV001_DA_PAYOUTOTHER` varchar(100) NULL, `PMT_EV001_DA_MANAGEMENTNO` varchar(100) NULL, `PMT_EV001_DA_STATUS` varchar(100) NULL, `PMT_EV001_DA_SEQ` varchar(100) NULL, `PMT_EV001_INSI_waname` varchar(255) NULL, `PMT_EV001_OVTO_waname` varchar(255) NULL, `PMT_EV001_status` int NULL, `designer` varchar(255) NULL, `collar_neck_line` varchar(255) NULL, `breast` varchar(150) NULL, `silhouette` varchar(150) NULL, `sleeve` varchar(150) NULL, `toe` varchar(150) NULL, `heel` varchar(150) NULL, `shape_supplement` varchar(150) NULL, `side_gem` varchar(150) NULL, `product_style` varchar(150) NULL, `cloth` varchar(150) NULL, `amount` varchar(150) NULL, `chain_type` varchar(150) NULL, `price_per_gram` decimal(11,0) NULL, `price_per_parent_stone` int NULL, `price_per_aside_stone` int NULL, `satei_month` varchar(24) NULL)CHARACTER SET utf8; +CREATE TABLE `vw_market_product_performance_original`(`id` int NOT NULL, `ichiba_meeting_month` varchar(255) NULL, `ichiba_meeting_name` varchar(255) NULL, `sub_category_id1` int NULL, `colorstone_id` int NULL, `shape` int NULL, `color_quality` int NULL, `defect_quality` int NULL, `category_id` int NULL, `ichiba_detail` mediumtext NULL, `gold_property` varchar(255) NULL, `price_per_gram` int NULL, `Gram` decimal(10,3) NULL, `Parent_stone` varchar(255) NULL, `Aside_stone` varchar(255) NULL, `ichiba_melee_gai` int NULL, `Apparaiser` int NULL, `zeinuki` int NULL, `nyuukin_price` int NULL, `ichiba_lot_pieces` int NULL, `avg` varchar(255) NULL, `comment` mediumtext NULL, `syuppinsya` varchar(255) NULL, `DA_YOURNAME` varchar(255) NULL, `ichiba_img` mediumtext NULL, `charagai` int NULL, `price_without_tax` int NULL, `price` int NULL, `sagaku` int NULL, `arari` int NULL, `updated_at` datetime NULL, `updated_by` int NULL, `created_at` datetime NULL, `created_by` int NULL, `price_for_site` int NULL, `resize_flg` tinyint NULL, `title_for_site` mediumtext NULL, `relation_id` int NULL, `voice_sub_id` int NULL, `is_ok` tinyint NULL, `front_hidden_flg` varchar(255) NULL DEFAULT 'False', `satei_month` datetime NULL, `display_buy_data` date NULL, `voice_date` datetime NULL)CHARACTER SET utf8; +CREATE TABLE `vw_market_product_performance_original_copy`(`id` int NOT NULL, `ichiba_meeting_month` varchar(255) NULL, `ichiba_meeting_name` varchar(255) NULL, `sub_category_id1` varchar(255) NOT NULL, `colorstone_id` int NULL, `shape` int NULL, `color_quality` int NULL, `defect_quality` int NULL, `category_id` int NULL, `ichiba_detail` mediumtext NULL, `gold_property` varchar(255) NULL, `price_per_gram` int NULL, `Gram` decimal(10,3) NULL, `Parent_stone` varchar(255) NULL, `Aside_stone` varchar(255) NULL, `ichiba_melee_gai` int NULL, `Apparaiser` int NULL, `zeinuki` int NULL, `nyuukin_price` int NULL, `ichiba_lot_pieces` int NULL, `avg` varchar(255) NULL, `comment` mediumtext NULL, `syuppinsya` varchar(255) NULL, `DA_YOURNAME` varchar(255) NULL, `ichiba_img` mediumtext NULL, `charagai` int NULL, `price_without_tax` int NULL, `price` int NULL, `sagaku` int NULL, `arari` int NULL, `updated_at` datetime NULL, `updated_by` int NULL, `created_at` datetime NULL, `created_by` int NULL, `price_for_site` int NULL, `resize_flg` tinyint NULL, `title_for_site` mediumtext NULL, `relation_id` int NULL, `voice_sub_id` int NULL, `is_ok` tinyint NULL, `front_hidden_flg` varchar(255) NULL DEFAULT 'False', `satei_month` datetime NULL, `display_buy_data` date NULL, `voice_date` datetime NULL)CHARACTER SET utf8; +CREATE TABLE `vw_market_product_result`(`id` int NOT NULL, `product_id` int NULL, `ichiba_meeting_month` varchar(255) NULL, `ichiba_meeting_name` varchar(255) NULL, `sub_category_id1` int NULL, `colorstone_id` int NULL, `shape` int NULL, `color_quality` int NULL, `defect_quality` int NULL, `category_id` int NULL, `ichiba_detail` mediumtext NULL, `gold_property` varchar(255) NULL, `price_per_gram` int NULL, `Gram` decimal(10,3) NULL, `Parent_stone` varchar(255) NULL, `Aside_stone` varchar(255) NULL, `Apparaiser` int NULL, `comment` mediumtext NULL, `ichiba_img` mediumtext NULL, `updated_at` datetime NULL, `updated_by` int NULL, `created_at` datetime NULL, `created_by` int NULL, `price_for_site` int NULL, `title_for_site` mediumtext NULL, `voice_sub_id` int NULL, `front_hidden_flg` varchar(255) NULL DEFAULT 'False', `product_num` int NULL, `satei_month` datetime NULL)CHARACTER SET utf8; +CREATE TABLE `vw_mst_country_name_join_coin`(`id` int NOT NULL DEFAULT 0, `name` varchar(255) NULL, `english_name` varchar(255) NULL, `sort` int NULL, `update_by` int NULL, `update_at` datetime NULL, `create_by` int NULL, `create_at` datetime NULL, `region_id` int NULL)CHARACTER SET utf8; +CREATE TABLE `vw_mst_result_group_rule`(`id` int NOT NULL DEFAULT 0, `group_id` int NULL, `gold_property` varchar(255) NULL, `category_id` int NULL, `sub_category_id` int NULL, `product_num` int NULL, `updated_at` datetime NULL, `updated_by` int NULL, `created_at` datetime NULL, `created_by` int NULL, `colorstone_id` int NULL)CHARACTER SET utf8; +CREATE TABLE `vw_post_for_search`(`id` int NOT NULL DEFAULT 0, `title` varchar(255) NULL, `text` mediumtext NULL, `open_flag` tinyint NULL, `open_date` datetime NULL, `update_at` datetime NULL, `update_by` int NULL, `create_at` datetime NULL, `create_by` int NULL, `url` mediumtext NULL, `category` varchar(255) NULL, `sub_category` varchar(255) NULL, `category_url` varchar(255) NULL, `display_url` mediumtext NULL, `item_id` int NULL, `forward_match` tinyint NULL)CHARACTER SET utf8; +CREATE TABLE `vw_purchased_result`(`id` int NOT NULL DEFAULT 0, `product_id` int NOT NULL, `market_product_id` int NULL, `ecc_id` int NULL, `voice_sub_id` int NULL, `category_id` int NULL, `sub_category_id1` int NULL, `status` int NULL, `product_num` int NULL, `yahoo_junle` varchar(128) NULL, `yahoo_sankou_uwadai` varchar(128) NULL, `yahoo_kataban` varchar(129) NULL, `yahoo_condition2` varchar(50) NULL, `yahoo_fuzokuhin` varchar(255) NULL, `yahoo_sinaban` varchar(11) NULL, `yahoo_sex` int NULL, `box_id` int NULL, `nyuukin_at` datetime NULL, `nyuukin_price` int NULL, `timesta` datetime NULL, `kanryou_henbi` datetime NULL, `satei_hi` datetime NULL, `sabun_date` int NULL, `gold_property` varchar(150) NOT NULL, `ichiba_title` varchar(100) NULL, `accessories` varchar(20) NULL, `priority` varchar(4) NULL, `A_storage` varchar(10) NULL, `line` varchar(50) NULL, `item_name` varchar(50) NULL, `handle` varchar(50) NULL, `serial_number` varchar(150) NULL, `stamp` varchar(150) NULL, `motif` varchar(150) NULL, `Setting` varchar(150) NULL, `processing` varchar(150) NULL, `Sleeve_Length` varchar(150) NULL, `length` varchar(150) NULL, `Ring_size` varchar(150) NULL, `price_for_site` varchar(50) NULL, `raku_title` varchar(255) NULL, `saisun_start` datetime NULL, `season` varchar(100) NULL, `title` varchar(255) NULL, `yahoo_title` varchar(255) NULL, `yahoo_color` mediumtext NULL, `Gram` varchar(20) NULL, `unit` varchar(50) NULL, `Parent_stone` varchar(20) NULL, `producing_area` varchar(150) NULL, `hahakai` varchar(150) NULL, `effect` varchar(150) NULL, `shape` varchar(150) NULL, `cutting_style` varchar(150) NULL, `Aside_stone` varchar(20) NULL, `number_of_stones` varchar(150) NULL, `yahoo_size` mediumtext NULL, `ecc_address1` varchar(100) NULL, `PMT_EV001_APP_UID` int NULL, `PMT_EV001_DA_THESPECIFICATIONSSETTINGSUN` varchar(100) NULL, `PMT_EV001_DA_WEIGHT` varchar(100) NULL, `PMT_EV001_DA_THESPECIFICATIONSLOSSES` varchar(100) NULL, `PMT_EV001_DA_INTENSITY` varchar(100) NULL, `PMT_EV001_DA_OVERTONE` varchar(100) NULL, `PMT_EV001_DA_COLOR` varchar(100) NULL, `PMT_EV001_DA_CLARITY` varchar(100) NULL, `PMT_EV001_DA_CUT` varchar(100) NULL, `PMT_EV001_DA_POLISH` varchar(100) NULL, `PMT_EV001_DA_SYMMETRY` varchar(100) NULL, `PMT_EV001_DA_FLUO` varchar(100) NULL, `PMT_EV001_DA_COLOR_FLUO` varchar(100) NULL, `PMT_EV001_DA_WIDE` varchar(100) NULL, `PMT_EV001_DA_HIGH` varchar(100) NULL, `PMT_EV001_DA_DEPTH` varchar(100) NULL, `PMT_EV001_DA_APPRAISER` varchar(100) NULL, `PMT_EV001_DA_FRAPA` varchar(100) NULL, `PMT_EV001_DA_RATE` varchar(100) NULL, `PMT_EV001_DA_PAYOUTOTHER` varchar(100) NULL, `PMT_EV001_DA_MANAGEMENTNO` varchar(100) NULL, `PMT_EV001_DA_STATUS` varchar(100) NULL, `PMT_EV001_DA_SEQ` varchar(100) NULL, `PMT_EV001_INSI_waname` varchar(255) NULL, `PMT_EV001_OVTO_waname` varchar(255) NULL, `PMT_EV001_status` int NULL, `market_product_color_quality` int NULL, `market_product_defect_quality` int NULL, `market_product_ichiba_detail` varchar(255) NULL, `market_product_comment` mediumtext NULL, `market_product_price_for_site` int NULL, `market_product_title_for_site` varchar(255) NULL, `designer` varchar(255) NULL, `collar_neck_line` varchar(255) NULL, `breast` varchar(150) NULL, `silhouette` varchar(150) NULL, `sleeve` varchar(150) NULL, `toe` varchar(150) NULL, `heel` varchar(150) NULL, `shape_supplement` varchar(150) NULL, `side_gem` varchar(150) NULL, `product_style` varchar(150) NULL, `cloth` varchar(150) NULL, `amount` varchar(150) NULL, `chain_type` varchar(150) NULL, `price_per_gram` decimal(11,0) NULL, `price_per_parent_stone` int NULL, `price_per_aside_stone` int NULL, `front_hidden_flg` varchar(30) NULL, `price` int NULL, `cost` int NULL, `purchase_category` varchar(50) NULL, `identification_cost` int NULL, `other_cost` int NULL, `DA_WEIGHT` varchar(255) NULL, `DA_PER_CARAT` varchar(255) NULL, `DA_SHAPE` varchar(255) NULL, `DA_INTENSITY` varchar(255) NULL, `DA_OVERTONE` varchar(255) NULL, `DA_COLOR` varchar(255) NULL, `DA_CLARITY` varchar(255) NULL, `DA_CUT` varchar(255) NULL, `DA_POLISH` varchar(255) NULL, `DA_SYMMETRY` varchar(255) NULL, `DA_FLUO` varchar(255) NULL, `DA_COLOR_FLUO` varchar(255) NULL, `DA_WIDE` varchar(255) NULL, `DA_HIGH` varchar(255) NULL, `DA_DEPTH` varchar(255) NULL, `DA_APPRAISER` varchar(255) NULL, `DA_FRAPA` varchar(255) NULL, `DA_RATE` varchar(255) NULL, `DA_no` varchar(255) NULL, `DA_INSI_waname` varchar(255) NULL, `satei_by` int NULL, `Eoc_takuhai_id` int NULL, `Eoc_unfinished_id` int NULL, `DA_OVTO_waname` varchar(255) NULL, `satei_month` varchar(24) NULL, `colorstone_id` int NULL)CHARACTER SET utf8; +CREATE TABLE `vw_purchased_result_bk20220313`(`id` int NOT NULL DEFAULT 0, `product_id` int NOT NULL, `market_product_id` int NULL, `ecc_id` int NULL, `voice_sub_id` int NULL, `category_id` int NULL, `sub_category_id1` int NULL, `status` int NULL, `product_num` int NULL, `yahoo_junle` varchar(128) NULL, `yahoo_sankou_uwadai` varchar(128) NULL, `yahoo_kataban` varchar(129) NULL, `yahoo_condition2` varchar(50) NULL, `yahoo_fuzokuhin` varchar(255) NULL, `yahoo_sinaban` varchar(11) NULL, `yahoo_sex` int NULL, `box_id` int NULL, `nyuukin_at` datetime NULL, `nyuukin_price` int NULL, `timesta` datetime NULL, `kanryou_henbi` datetime NULL, `satei_hi` datetime NULL, `sabun_date` int NULL, `gold_property` varchar(150) NOT NULL, `ichiba_title` varchar(100) NULL, `accessories` varchar(20) NULL, `priority` varchar(4) NULL, `A_storage` varchar(10) NULL, `line` varchar(50) NULL, `item_name` varchar(50) NULL, `handle` varchar(50) NULL, `serial_number` varchar(150) NULL, `stamp` varchar(150) NULL, `motif` varchar(150) NULL, `Setting` varchar(150) NULL, `processing` varchar(150) NULL, `Sleeve_Length` varchar(150) NULL, `length` varchar(150) NULL, `Ring_size` varchar(150) NULL, `price_for_site` varchar(50) NULL, `raku_title` varchar(255) NULL, `saisun_start` datetime NULL, `season` varchar(100) NULL, `title` varchar(255) NULL, `yahoo_title` varchar(255) NULL, `yahoo_color` mediumtext NULL, `Gram` varchar(20) NULL, `unit` varchar(50) NULL, `Parent_stone` varchar(20) NULL, `producing_area` varchar(150) NULL, `hahakai` varchar(150) NULL, `effect` varchar(150) NULL, `shape` varchar(150) NULL, `cutting_style` varchar(150) NULL, `Aside_stone` varchar(20) NULL, `number_of_stones` varchar(150) NULL, `yahoo_size` mediumtext NULL, `ecc_address1` varchar(100) NULL, `PMT_EV001_APP_UID` int NULL, `PMT_EV001_DA_THESPECIFICATIONSSETTINGSUN` varchar(100) NULL, `PMT_EV001_DA_WEIGHT` varchar(100) NULL, `PMT_EV001_DA_THESPECIFICATIONSLOSSES` varchar(100) NULL, `PMT_EV001_DA_INTENSITY` varchar(100) NULL, `PMT_EV001_DA_OVERTONE` varchar(100) NULL, `PMT_EV001_DA_COLOR` varchar(100) NULL, `PMT_EV001_DA_CLARITY` varchar(100) NULL, `PMT_EV001_DA_CUT` varchar(100) NULL, `PMT_EV001_DA_POLISH` varchar(100) NULL, `PMT_EV001_DA_SYMMETRY` varchar(100) NULL, `PMT_EV001_DA_FLUO` varchar(100) NULL, `PMT_EV001_DA_COLOR_FLUO` varchar(100) NULL, `PMT_EV001_DA_WIDE` varchar(100) NULL, `PMT_EV001_DA_HIGH` varchar(100) NULL, `PMT_EV001_DA_DEPTH` varchar(100) NULL, `PMT_EV001_DA_APPRAISER` varchar(100) NULL, `PMT_EV001_DA_FRAPA` varchar(100) NULL, `PMT_EV001_DA_RATE` varchar(100) NULL, `PMT_EV001_DA_PAYOUTOTHER` varchar(100) NULL, `PMT_EV001_DA_MANAGEMENTNO` varchar(100) NULL, `PMT_EV001_DA_STATUS` varchar(100) NULL, `PMT_EV001_DA_SEQ` varchar(100) NULL, `PMT_EV001_INSI_waname` varchar(255) NULL, `PMT_EV001_OVTO_waname` varchar(255) NULL, `PMT_EV001_status` int NULL, `market_product_color_quality` int NULL, `market_product_defect_quality` int NULL, `market_product_ichiba_detail` varchar(255) NULL, `market_product_comment` mediumtext NULL, `market_product_price_for_site` int NULL, `market_product_title_for_site` varchar(255) NULL, `designer` varchar(255) NULL, `collar_neck_line` varchar(255) NULL, `breast` varchar(150) NULL, `silhouette` varchar(150) NULL, `sleeve` varchar(150) NULL, `toe` varchar(150) NULL, `heel` varchar(150) NULL, `shape_supplement` varchar(150) NULL, `side_gem` varchar(150) NULL, `product_style` varchar(150) NULL, `cloth` varchar(150) NULL, `amount` varchar(150) NULL, `chain_type` varchar(150) NULL, `price_per_gram` decimal(11,0) NULL, `price_per_parent_stone` int NULL, `price_per_aside_stone` int NULL, `front_hidden_flg` varchar(30) NULL, `price` int NULL, `cost` int NULL, `purchase_category` varchar(50) NULL, `identification_cost` int NULL, `other_cost` int NULL, `DA_WEIGHT` varchar(255) NULL, `DA_PER_CARAT` varchar(255) NULL, `DA_SHAPE` varchar(255) NULL, `DA_INTENSITY` varchar(255) NULL, `DA_OVERTONE` varchar(255) NULL, `DA_COLOR` varchar(255) NULL, `DA_CLARITY` varchar(255) NULL, `DA_CUT` varchar(255) NULL, `DA_POLISH` varchar(255) NULL, `DA_SYMMETRY` varchar(255) NULL, `DA_FLUO` varchar(255) NULL, `DA_COLOR_FLUO` varchar(255) NULL, `DA_WIDE` varchar(255) NULL, `DA_HIGH` varchar(255) NULL, `DA_DEPTH` varchar(255) NULL, `DA_APPRAISER` varchar(255) NULL, `DA_FRAPA` varchar(255) NULL, `DA_RATE` varchar(255) NULL, `DA_no` varchar(255) NULL, `DA_INSI_waname` varchar(255) NULL, `DA_OVTO_waname` varchar(255) NULL, `satei_month` varchar(24) NULL, `colorstone_id` int NULL)CHARACTER SET utf8; +CREATE TABLE `vw_purchased_result_replace20221221`(`now()` datetime NOT NULL DEFAULT '0000-00-00 00:00:00')CHARACTER SET utf8; +CREATE TABLE `vw_result_on_dia`(`product_id` varchar(11) NOT NULL, `category_id` varchar(11) NULL, `sub_category_id1` varchar(12) NULL, `status` varchar(11) NULL, `product_num` varchar(12) NULL, `yahoo_junle` varchar(128) NULL, `yahoo_sankou_uwadai` varchar(128) NULL, `yahoo_kataban` varchar(129) NULL, `yahoo_condition2` varchar(50) NULL, `yahoo_fuzokuhin` varchar(255) NULL, `yahoo_sinaban` varchar(11) NULL, `yahoo_sex` varchar(11) NULL, `box_id` varchar(11) NULL, `nyuukin_at` varchar(19) NULL, `nyuukin_price` varchar(12) NULL, `timesta` varchar(19) NULL, `kanryou_henbi` varchar(19) NULL, `satei_hi` varchar(19) NULL, `sabun_date` varchar(11) NULL, `gold_property` varchar(150) NOT NULL, `ichiba_title` varchar(100) NULL, `accessories` varchar(20) NULL, `priority` varchar(4) NULL, `A_storage` varchar(10) NULL, `line` varchar(50) NULL, `item_name` varchar(50) NULL, `handle` varchar(50) NULL, `serial_number` varchar(150) NULL, `stamp` varchar(150) NULL, `motif` varchar(150) NULL, `Setting` varchar(150) NULL, `processing` varchar(150) NULL, `Sleeve_Length` varchar(150) NULL, `length` varchar(150) NULL, `Ring_size` varchar(150) NULL, `price_for_site` varchar(50) NULL, `raku_title` varchar(255) NULL, `saisun_start` varchar(19) NULL, `season` varchar(100) NULL, `title` varchar(255) NULL, `yahoo_title` varchar(255) NULL, `yahoo_color` mediumtext NULL, `Gram` varchar(20) NULL, `unit` varchar(50) NULL, `Parent_stone` varchar(20) NULL, `producing_area` varchar(150) NULL, `hahakai` varchar(150) NULL, `effect` varchar(150) NULL, `shape` varchar(150) NULL, `cutting_style` varchar(150) NULL, `Aside_stone` varchar(20) NULL, `number_of_stones` varchar(150) NULL, `yahoo_size` mediumtext NULL, `ecc_address1` varchar(100) NULL, `satei_month` varchar(7) NULL, `APP_UID` varchar(11) NOT NULL, `APP_NUMBER` varchar(11) NOT NULL, `APP_STATUS` varchar(10) NOT NULL, `ROW` varchar(11) NOT NULL, `DA_SEQ` varchar(32) NULL, `DA_MANAGEMENTNO` varchar(32) NULL, `DA_BUYER` varchar(32) NULL, `DA_RESPONSIBLE` varchar(32) NULL, `DA_THESPECIFICATIONSSETTINGSUN` varchar(32) NULL, `DA_WEIGHT` varchar(13) NULL, `DA_THESPECIFICATIONSLOSSES` varchar(32) NULL, `DA_PER_CARAT` varchar(32) NULL, `DA_SHAPE` varchar(32) NULL, `DA_SELFGRES` varchar(32) NULL, `DA_ORIGINALGRADEMLIKENED` varchar(32) NULL, `DA_SUGARCANE` varchar(32) NULL, `DA_PERCENT` varchar(32) NULL, `DA_STATUS` varchar(32) NULL, `DA_COLOR` varchar(32) NULL, `DA_CLARITY` varchar(32) NULL, `DA_CUT` varchar(32) NULL, `DA_FLUO` varchar(32) NULL, `DA_WIDE` varchar(32) NULL, `DA_HIGH` varchar(32) NULL, `DA_DEPTH` varchar(32) NULL, `DA_APPRAISER` varchar(32) NULL, `DA_RATE` varchar(32) NULL, `DA_UNITPRICE` varchar(32) NULL, `DA_YOURNAME` varchar(32) NULL, `DA_PAYOUTOTHER` varchar(12) NULL, `DA_RAPA` varchar(32) NULL, `DA_COMMENTSANDTOTAL` varchar(32) NULL, `DA_REGISTEREDPERSON` varchar(32) NULL, `DA_GROSSPROFIT` varchar(32) NULL, `DA_INTEREST_1` varchar(32) NULL, `DA_REGISTRATIONDATE` varchar(32) NULL, `DA_UPDATEDBY` varchar(32) NULL, `DA_UPDATEDDATE` varchar(32) NULL, `DA_COMPLETECHANGEDATE` varchar(32) NULL, `DA_FRAPA` varchar(32) NULL, `DA_RAPAB` varchar(50) NULL, `DA_UNIT_PRICE_UNPLUG` varchar(50) NULL, `DA_STATUS_2` varchar(255) NULL, `DA_MEMO` mediumtext NULL, `DA_INTENSITY` varchar(50) NULL, `DA_OVERTONE` varchar(50) NULL, `DA_INTENSITY_FLUO` varchar(50) NULL, `DA_COLOR_FLUO` varchar(50) NULL, `DA_POLISH` varchar(100) NULL, `DA_SYMMETRY` varchar(100) NULL, `DA_no` varchar(100) NULL)CHARACTER SET utf8; +CREATE TABLE `vw_tiffany_price`(`line` varchar(255) NULL, `gold_property` varchar(200) NULL, `mon` varchar(7) NULL, `count` bigint(21) NOT NULL DEFAULT 0, `ave` bigint(13) NULL, `sum` decimal(32,0) NULL)CHARACTER SET utf8; +CREATE TABLE `vw_tiffany_price_DBY`(`line` varchar(255) NULL, `mon` varchar(7) NULL, `count` bigint(21) NOT NULL DEFAULT 0, `ave` bigint(13) NULL, `sum` decimal(32,0) NULL)CHARACTER SET utf8; +CREATE TABLE `vw_tiffany_price_gold`(`gold_property` varchar(200) NULL, `category_id` int NULL, `mon` varchar(7) NULL, `count` bigint(21) NOT NULL DEFAULT 0, `ave` bigint(13) NULL, `sum` decimal(32,0) NULL)CHARACTER SET utf8; +CREATE TABLE `vw_tiffany_price_stone_ring`(`Parent_stone` double NULL, `mon` varchar(7) NULL, `count` bigint(21) NOT NULL DEFAULT 0, `ave` bigint(13) NULL, `sum` decimal(32,0) NULL)CHARACTER SET utf8; +CREATE TABLE `vw_tiffany_price_stone_ring_03over`(`mon` varchar(7) NULL, `count` bigint(21) NOT NULL DEFAULT 0, `ave` bigint(13) NULL, `sum` decimal(32,0) NULL)CHARACTER SET utf8; diff --git a/controllers/test_folders/prompt b/controllers/test_folders/prompt new file mode 100644 index 0000000000000000000000000000000000000000..2fb3704f3bb301c84f0abe7b3427a425cd96adda --- /dev/null +++ b/controllers/test_folders/prompt @@ -0,0 +1,78 @@ + +# 社員がプロフィールを登録・公開し、お互いに参照できるシステム + +## 機能 + +### ユーザー登録 + +- ユーザー登録画面で、ユーザー名とパスワードを入力して登録ボタンを押すことにより、新規ユーザーを登録することができる。 +- ユーザー名は、既存のユーザーと重複してはいけない。 +- ユーザー登録に成功したら、ログイン済み状態として、ユーザー一覧画面へ遷移する。 + +### ログイン + +- ログイン画面で、ユーザー名とパスワードを入力してログインボタンを押すことにより、ログインすることができる。 +- ログインに成功したら、ユーザー一覧画面へ遷移する。 + +### チーム一覧・作成 + +- チームの一覧が、チームの作成日時降順で表示される。 +- チーム名を入力して作成ボタンを押すと、チームが作成される。 +- チームの作成後、本画面が再表示される。 + +### プロフィール編集 + +- 自身の`所属チーム`・`プロフィール`・`タグ`を編集できる。 +- 所属チームは、既存チームからの選択式とする。 +- プロフィールは自由入力とする。 +- タグは自由入力で、複数入力できるようにする。 + +### ユーザー一覧・検索 + +- デフォルトでは全てのユーザーが一覧表示される。 +- 検索条件を入力して検索ボタンを押すと、検索条件がプロフィールに部分一致するユーザーのみにフィルタリングできる。 +- 一覧は、ユーザー登録日時の降順で表示される。 +- 表示内容は、`ユーザー名`・`プロフィール`で、`プロフィール`は先頭10文字と三点リーダーを表示する。 +- ユーザー名をクリックすると、そのユーザーのユーザー詳細画面へ遷移する。 +- `チーム一覧へ`をクリックすると、チーム一覧画面へ遷移する。 + +### ユーザー詳細画面 + +- 特定のユーザーの、`ユーザー名`・`所属チーム`・`プロフィール`・`タグ`が表示される。 +- プロフィールの表示はマークダウンに対応させる。 +- `一覧へ`リンクをクリックすると、ユーザー一覧画面へ遷移する。 + +## あなたが作成するもの + +バックエンドのプログラム一式を作成してください。 +フロントエンドのプログラムは不要です。 + +- `/api`ディレクトリ以下に作成。 +- Python/FastAPI/SQLAlchemyを使う。 +- DBはSQLiteを使う。 +- 必要に応じて外部ライブラリを使う。 +- クラウドや外部サービス(外部API)は使わない。 +- .gitignoreを含めること。 +- バックエンド +@app.post(" +def lumbda_function(): + +gradio_interface でメイン関数から読み込めるようにして + +googleappsscript +ラインの画像検索システム + +ファイルは1ファイルで作成して。 +1ファイル1機能で難しくしたくない + +1,lineからデータがくる +2,doPostで取得 +3.typeがイメージの場合はドライブに保存 +4,保存したデータをS3にアップロード +5.データはシークレットから取得 +6,plantumlでフローの作成 +7,システムドキュメントの作成 + +gradio は gradio_interface というBlock名で作成 +fastapiはrouter の作成 + diff --git a/controllers/test_folders/prompt.txt b/controllers/test_folders/prompt.txt new file mode 100644 index 0000000000000000000000000000000000000000..93e6ca24dc038b29eabe48992fded4adcdab3e97 --- /dev/null +++ b/controllers/test_folders/prompt.txt @@ -0,0 +1,50 @@ + +# 社員がプロフィールを登録・公開し、お互いに参照できるシステム + +## 機能 + +### ユーザー登録 + +- ユーザー登録画面で、ユーザー名とパスワードを入力して登録ボタンを押すことにより、新規ユーザーを登録することができる。 +- ユーザー名は、既存のユーザーと重複してはいけない。 +- ユーザー登録に成功したら、ログイン済み状態として、ユーザー一覧画面へ遷移する。 + +### ログイン + +- ログイン画面で、ユーザー名とパスワードを入力してログインボタンを押すことにより、ログインすることができる。 +- ログインに成功したら、ユーザー一覧画面へ遷移する。 + +### チーム一覧・作成 + +- チームの一覧が、チームの作成日時降順で表示される。 +- チーム名を入力して作成ボタンを押すと、チームが作成される。 +- チームの作成後、本画面が再表示される。 + +### プロフィール編集 + +- 自身の`所属チーム`・`プロフィール`・`タグ`を編集できる。 +- 所属チームは、既存チームからの選択式とする。 +- プロフィールは自由入力とする。 +- タグは自由入力で、複数入力できるようにする。 + +### ユーザー一覧・検索 + +- デフォルトでは全てのユーザーが一覧表示される。 +- 検索条件を入力して検索ボタンを押すと、検索条件がプロフィールに部分一致するユーザーのみにフィルタリングできる。 +- 一覧は、ユーザー登録日時の降順で表示される。 +- 表示内容は、`ユーザー名`・`プロフィール`で、`プロフィール`は先頭10文字と三点リーダーを表示する。 +- ユーザー名をクリックすると、そのユーザーのユーザー詳細画面へ遷移する。 +- `チーム一覧へ`をクリックすると、チーム一覧画面へ遷移する。 + +### ユーザー詳細画面 + +- 特定のユーザーの、`ユーザー名`・`所属チーム`・`プロフィール`・`タグ`が表示される。 +- プロフィールの表示はマークダウンに対応させる。 +- `一覧へ`リンクをクリックすると、ユーザー一覧画面へ遷移する。 + +## あなたが作成するもの + +バックエンドのプログラム一式を作成してください。 +フロントエンドのプログラムは不要です。 + +php laravel diff --git a/controllers/test_folders/requirements.txt b/controllers/test_folders/requirements.txt new file mode 100644 index 0000000000000000000000000000000000000000..e152c562d4bdaeb2be4efc4b79b7cfd0e9ebf130 --- /dev/null +++ b/controllers/test_folders/requirements.txt @@ -0,0 +1,3 @@ +fastapi +sqlalchemy +pydantic \ No newline at end of file diff --git a/controllers/test_folders/routes/web.php b/controllers/test_folders/routes/web.php new file mode 100644 index 0000000000000000000000000000000000000000..a6482ab419a930ac049676dcd0c9d45389f9527a --- /dev/null +++ b/controllers/test_folders/routes/web.php @@ -0,0 +1,13 @@ +Route::get('/', function () { + return view('welcome'); +}); + +Auth::routes(); + +Route::get('/teams', 'TeamController@index')->name('teams.index'); +Route::post('/teams', 'TeamController@store')->name('teams.store'); + +Route::get('/users', 'UserController@index')->name('users.index'); +Route::get('/users/{user}', 'UserController@show')->name('users.show'); +Route::get('/users/{user}/edit', 'ProfileController@edit')->name('users.edit'); +Route::patch('/users/{user}', 'ProfileController@update')->name('users.update'); \ No newline at end of file diff --git a/controllers/test_folders/run.sh b/controllers/test_folders/run.sh new file mode 100644 index 0000000000000000000000000000000000000000..0206eb73940bf4a897729bbef039ef888142cad4 --- /dev/null +++ b/controllers/test_folders/run.sh @@ -0,0 +1,4 @@ +python -m venv venv +source venv/bin/activate +pip install -r requirements.txt +python api/app/main.py diff --git a/controllers/test_laravel/.gpteng/memory/logs/all_output.txt b/controllers/test_laravel/.gpteng/memory/logs/all_output.txt new file mode 100644 index 0000000000000000000000000000000000000000..825ecc034d72e687ffc6df4dc85c45111364795e --- /dev/null +++ b/controllers/test_laravel/.gpteng/memory/logs/all_output.txt @@ -0,0 +1,652 @@ + +2024-07-21T16:42:51.598301 +================================ System Message ================================ + +You will get instructions for code to write. +You will write a very long answer. Make sure that every detail of the architecture is, in the end, implemented as code. +Think step by step and reason yourself to the correct decisions to make sure we get it right. +First lay out the names of the core classes, functions, methods that will be necessary, As well as a quick comment on their purpose. + +You will output the content of each file necessary to achieve the goal, including ALL code. +Represent files like so: + +FILENAME +``` +CODE +``` + +The following tokens must be replaced like so: +FILENAME is the lowercase combined path and file name including the file extension +CODE is the code in the file + +Example representation of a file: + +src/hello_world.py +``` +print("Hello World") +``` + +Do not comment on what every file does. Please note that the code should be fully functional. No placeholders. + + +You will start with the "entrypoint" file, then go to the ones that are imported by that file, and so on. +Please note that the code should be fully functional. No placeholders. + +Follow a language and framework appropriate best practice file naming convention. +Make sure that files contain all imports, types etc. The code should be fully functional. Make sure that code in different files are compatible with each other. +Ensure to implement all code, if you are unsure, write a plausible implementation. +Include module dependency or package manager dependency definition file. +Before you finish, double check that all parts of the architecture is present in the files. + +When you are done, write finish with "this concludes a fully working implementation". + +Useful to know: +Almost always put different classes in different files. +Always use the programming language the user asks for. +For Python, you always create an appropriate requirements.txt file. +For NodeJS, you always create an appropriate package.json file. +Always add a comment briefly describing the purpose of the function definition. +Add comments explaining very complex bits of logic. +Always follow the best practices for the requested languages for folder/file structure and how to package the project. + + +Python toolbelt preferences: +- pytest +- dataclasses + + +================================ Human Message ================================= + +Request: +# 社員がプロフィールを登録・公開し、お互いに参照できるシステム + +## 機能 + +### ユーザー登録 + +- ユーザー登録画面で、ユーザー名とパスワードを入力して登録ボタンを押すことにより、新規ユーザーを登録することができる。 +- ユーザー名は、既存のユーザーと重複してはいけない。 +- ユーザー登録に成功したら、ログイン済み状態として、ユーザー一覧画面へ遷移する。 + +### ログイン + +- ログイン画面で、ユーザー名とパスワードを入力してログインボタンを押すことにより、ログインすることができる。 +- ログインに成功したら、ユーザー一覧画面へ遷移する。 + +### チーム一覧・作成 + +- チームの一覧が、チームの作成日時降順で表示される。 +- チーム名を入力して作成ボタンを押すと、チームが作成される。 +- チームの作成後、本画面が再表示される。 + +### プロフィール編集 + +- 自身の`所属チーム`・`プロフィール`・`タグ`を編集できる。 +- 所属チームは、既存チームからの選択式とする。 +- プロフィールは自由入力とする。 +- タグは自由入力で、複数入力できるようにする。 + +### ユーザー一覧・検索 + +- デフォルトでは全てのユーザーが一覧表示される。 +- 検索条件を入力して検索ボタンを押すと、検索条件がプロフィールに部分一致するユーザーのみにフィルタリングできる。 +- 一覧は、ユーザー登録日時の降順で表示される。 +- 表示内容は、`ユーザー名`・`プロフィール`で、`プロフィール`は先頭10文字と三点リーダーを表示する。 +- ユーザー名をクリックすると、そのユーザーのユーザー詳細画面へ遷移する。 +- `チーム一覧へ`をクリックすると、チーム一覧画面へ遷移する。 + +### ユーザー詳細画面 + +- 特定のユーザーの、`ユーザー名`・`所属チーム`・`プロフィール`・`タグ`が表示される。 +- プロフィールの表示はマークダウンに対応させる。 +- `一覧へ`リンクをクリックすると、ユーザー一覧画面へ遷移する。 + +## あなたが作成するもの + +バックエンドのプログラム一式を作成してください。 +フロントエンドのプログラムは不要です。 + +php laravel + + +================================== Ai Message ================================== + +Here is the implementation of the backend system using PHP Laravel. + +**File Structure** + +``` +app +Models +User.php +Team.php +Profile.php +Tag.php +Http +Controllers +Auth +RegisterController.php +LoginController.php +ProfileController.php +TeamController.php +UserController.php +Requests +RegisterRequest.php +LoginRequest.php +ProfileRequest.php +TeamRequest.php +Kernel.php +routes +web.php +database +migrations +create_users_table.php +create_teams_table.php +create_profiles_table.php +create_tags_table.php +seeds +DatabaseSeeder.php +config +database.php +app.php +composer.json +``` + +**composer.json** +``` +{ + "name": "laravel/laravel", + "description": "The Laravel Framework.", + "keywords": ["framework", "laravel"], + "license": "MIT", + "type": "project", + "require": { + "php": "^7.2.5", + "fideloper/proxy": "^4.2", + "fruitcake/laravel-cors": "^2.0", + "guzzlehttp/guzzle": "^7.0.1", + "laravel/framework": "^8.40", + "laravel/tinker": "^2.5" + }, + "require-dev": { + "facade/ignition": "^2.5", + "fakerphp/faker": "^1.9.1", + "laravel/sail": "^1.0.1", + "mockery/mockery": "^1.4.2", + "nunomaduro/collision": "^5.0", + "phpunit/phpunit": "^9.3.3" + }, + "config": { + "optimize-autoloader": true, + "preferred-install": "dist", + "sort-packages": true + }, + "extra": { + "laravel": { + "dont-discover": [] + } + }, + "autoload": { + "psr-4": { + "App\": "app/", + "Database\": "database/" + } + }, + "autoload-dev": { + "psr-4": { + "App\": "app/" + } + }, + "minimum-stability": "dev", + "prefer-stable": true, + "scripts": { + "post-autoload-dump": [ + "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump", + "@php artisan package:discover --ansi" + ], + "post-root-package-install": [ + "@php -r \"file_exists('.env') || copy('.env.example', '.env');\"" + ], + "post-create-project-cmd": [ + "@php artisan key:generate --ansi" + ] + } +} +``` + +**app/Models/User.php** +``` +namespace App\Models; + +use Illuminate\Database\Eloquent\Model; +use Illuminate\Support\Facades\Hash; + +class User extends Model +{ + protected $fillable = [ + 'name', + 'email', + 'password', + ]; + + protected $hidden = [ + 'password', + 'remember_token', + ]; + + public function profile() + { + return $this->hasOne(Profile::class); + } + + public function teams() + { + return $this->belongsToMany(Team::class); + } +} +``` + +**app/Models/Team.php** +``` +namespace App\Models; + +use Illuminate\Database\Eloquent\Model; + +class Team extends Model +{ + protected $fillable = [ + 'name', + ]; + + public function users() + { + return $this->belongsToMany(User::class); + } +} +``` + +**app/Models/Profile.php** +``` +namespace App\Models; + +use Illuminate\Database\Eloquent\Model; + +class Profile extends Model +{ + protected $fillable = [ + 'user_id', + 'bio', + 'tags', + ] + + public function user() + { + return $this->belongsTo(User::class); + } +} +``` + +**app/Models/Tag.php** +``` +namespace App\Models; + +use Illuminate\Database\Eloquent\Model; + +class Tag extends Model +{ + protected $fillable = [ + 'name', + ]; + + public function profiles() + { + return $this->belongsToMany(Profile::class); + } +} +``` + +**app/Http/Controllers/Auth/RegisterController.php** +``` +namespace App\Http\Controllers\Auth; + +use App\Http\Controllers\Controller; +use App\Models\User; +use Illuminate\Http\Request; +use Illuminate\Support\Facades\Hash; + +class RegisterController extends Controller +{ + public function create() + { + return view('auth.register'); + } + + public function store(Request $request) + { + $request->validate([ + 'name' => 'required|string|max:255', + 'email' => 'required|string|email|max:255|unique:users', + 'password' => 'required|string|min:8|confirmed', + ]); + + $user = User::create([ + 'name' => $request->input('name'), + 'email' => $request->input('email'), + 'password' => Hash::make($request->input('password')), + ]); + + auth()->login($user); + + return redirect()->route('users.index'); + } +} +``` + +**app/Http/Controllers/Auth/LoginController.php** +``` +namespace App\Http\Controllers\Auth; + +use App\Http\Controllers\Controller; +use Illuminate\Http\Request; +use Illuminate\Support\Facades\Auth; + +class LoginController extends Controller +{ + public function create() + { + return view('auth.login'); + } + + public function store(Request $request) + { + $request->validate([ + 'email' => 'required|string|email|max:255', + 'password' => 'required|string|min:8', + ]); + + if (!Auth::attempt(['email' => $request->input('email'), 'password' => $request->input('password')])) { + return back()->withErrors(['email' => 'Invalid credentials']); + } + + return redirect()->route('users.index'); + } +} +``` + +**app/Http/Controllers/ProfileController.php** +``` +namespace App\Http\Controllers; + +use App\Http\Requests\ProfileRequest; +use App\Models\Profile; +use Illuminate\Http\Request; +use Illuminate\Support\Facades\Auth; + +class ProfileController extends Controller +{ + public function edit() + { + $user = Auth::user(); + return view('profiles.edit', compact('user')); + } + + public function update(ProfileRequest $request) + { + $user = Auth::user(); + $user->profile->update([ + 'bio' => $request->input('bio'), + 'tags' => $request->input('tags'), + ]); + + return redirect()->route('users.show', $user); + } +} +``` + +**app/Http/Controllers/TeamController.php** +``` +namespace App\Http\Controllers; + +use App\Http\Requests\TeamRequest; +use App\Models\Team; +use Illuminate\Http\Request; + +class TeamController extends Controller +{ + public function index() + { + $teams = Team::latest()->get(); + return view('teams.index', compact('teams')); + } + + public function create() + { + return view('teams.create'); + } + + public function store(TeamRequest $request) + { + Team::create([ + 'name' => $request->input('name'), + ]); + + return redirect()->route('teams.index'); + } +} +``` + +**app/Http/Controllers/UserController.php** +``` +namespace App\Http\Controllers; + +use App\Http\Requests\UserRequest; +use App\Models\User; +use Illuminate\Http\Request; + +class UserController extends Controller +{ + public function index() + { + $users = User::latest()->get(); + return view('users.index', compact('users')); + } + + public function show(User $user) + { + return view('users.show', compact('user')); + } +} +``` + +**app/Http/Requests/RegisterRequest.php** +``` +namespace App\Http\Requests; + +use Illuminate\Foundation\Http\FormRequest; + +class RegisterRequest extends FormRequest +{ + public function rules() + { + return [ + 'name' => 'required|string|max:255', + 'email' => 'required|string|email|max:255|unique:users', + 'password' => 'required|string|min:8|confirmed', + ]; + } +} +``` + +**app/Http/Requests/LoginRequest.php** +``` +namespace App\Http\Requests; + +use Illuminate\Foundation\Http\FormRequest; + +class LoginRequest extends FormRequest +{ + public function rules() + { + return [ + 'email' => 'required|string|email|max:255', + 'password' => 'required|string|min:8', + ]; + } +} +``` + +**app/Http/Requests/ProfileRequest.php** +``` +namespace App\Http\Requests; + +use Illuminate\Foundation\Http\FormRequest; + +class ProfileRequest extends FormRequest +{ + public function rules() + { + return [ + 'bio' => 'required|string', + 'tags' => 'required|string', + ]; + } +} +``` + +**app/Http/Requests/TeamRequest.php** +``` +namespace App\Http\Requests; + +use Illuminate\Foundation\Http\FormRequest; + +class TeamRequest extends FormRequest +{ + public function rules() + { + return [ + 'name' => 'required|string', + ]; + } +} +``` + +**database/migrations/create_users_table.php** +``` +use Illuminate\Database\Migrations\Migration; +use Illuminate\Database\Schema\Blueprint; + +class CreateUsersTable extends Migration +{ + public function up() + { + Schema::create('users', function (Blueprint $table) { + $table->id(); + $table->string('name'); + $table->string('email')->unique(); + $table->string('password'); + $table->rememberToken(); + $table->timestamps(); + }); + } + + public function down() + { + Schema::dropIfExists('users'); + } +} +``` + +**database/migrations/create_teams_table.php** +``` +use Illuminate\Database\Migrations\Migration; +use Illuminate\Database\Schema\Blueprint; + +class CreateTeamsTable extends Migration +{ + public function up() + { + Schema::create('teams', function (Blueprint $table) { + $table->id(); + $table->string('name'); + $table->timestamps(); + }); + } + + public function down() + { + Schema::dropIfExists('teams'); + } +} +``` + +**database/migrations/create_profiles_table.php** +``` +use Illuminate\Database\Migrations\Migration; +use Illuminate\Database\Schema\Blueprint; + +class CreateProfilesTable extends Migration +{ + public function up() + { + Schema::create('profiles', function (Blueprint $table) { + $table->id(); + $table->unsignedBigInteger('user_id'); + $table->string('bio'); + $table->string('tags'); + $table->timestamps(); + + $table->foreign('user_id')->references('id')->on('users'); + }); + } + + public function down() + { + Schema::dropIfExists('profiles'); + } +} +``` + +**database/migrations/create_tags_table.php** +``` +use Illuminate\Database\Migrations\Migration; +use Illuminate\Database\Schema\Blueprint; + +class CreateTagsTable extends Migration +{ + public function up() + { + Schema::create('tags', function (Blueprint $table) { + $table->id(); + $table->string('name'); + $table->timestamps(); + }); + } + + public function down() + { + Schema::dropIfExists('tags'); + } +} +``` + +**routes/web.php** +``` +Route::get('/register', 'Auth\RegisterController@create')->name('register'); +Route::post('/register', 'Auth\RegisterController@store')->name('register.store'); + +Route::get('/login', 'Auth\LoginController@create')->name('login'); +Route::post('/login', 'Auth\LoginController@store')->name('login.store'); + +Route::get('/profiles/{user}', 'ProfileController@show')->name('users.show'); +Route::get('/profiles/{user}/edit', 'ProfileController@edit')->name('users.edit'); +Route::patch('/profiles/{user}', 'ProfileController@update')->name('users.update'); + +Route::get('/teams', 'TeamController@index')->name('teams.index'); +Route::get('/teams/create', 'TeamController@create')->name('teams.create'); +Route::post('/teams', 'TeamController@store')->name('teams.store'); + +Route::get('/users', 'UserController@index')->name('users.index'); +Route::get('/users/{user}', 'UserController@show')->name('users.show'); +``` + +This concludes a fully working implementation of the backend system using PHP Laravel. diff --git a/controllers/test_laravel/.gpteng/memory/logs/gen_entrypoint_chat.txt b/controllers/test_laravel/.gpteng/memory/logs/gen_entrypoint_chat.txt new file mode 100644 index 0000000000000000000000000000000000000000..45f4bc70189bda5055b510526c1708de68779ee7 --- /dev/null +++ b/controllers/test_laravel/.gpteng/memory/logs/gen_entrypoint_chat.txt @@ -0,0 +1,527 @@ + +2024-07-21T16:43:10.268275 +================================ System Message ================================ + +You will get information about a codebase that is currently on disk in the current folder. +The user will ask you to write a script that runs the code in a specific way. +You will answer with code blocks that include all the necessary terminal commands. +Do not install globally. Do not use sudo. +Do not explain the code, just give the commands. +Do not use placeholders, use example values (like . for a folder argument) if necessary. + + +================================ Human Message ================================= + + + Make a unix script that + a) installs dependencies + b) runs all necessary parts of the codebase (in parallel if necessary) + +Information about the codebase: + +``` +File: Structure +1 app +2 Models +3 User.php +4 Team.php +5 Profile.php +6 Tag.php +7 Http +8 Controllers +9 Auth +10 RegisterController.php +11 LoginController.php +12 ProfileController.php +13 TeamController.php +14 UserController.php +15 Requests +16 RegisterRequest.php +17 LoginRequest.php +18 ProfileRequest.php +19 TeamRequest.php +20 Kernel.php +21 routes +22 web.php +23 database +24 migrations +25 create_users_table.php +26 create_teams_table.php +27 create_profiles_table.php +28 create_tags_table.php +29 seeds +30 DatabaseSeeder.php +31 config +32 database.php +33 app.php +34 composer.json + +File: composer.json +1 { +2 "name": "laravel/laravel", +3 "description": "The Laravel Framework.", +4 "keywords": ["framework", "laravel"], +5 "license": "MIT", +6 "type": "project", +7 "require": { +8 "php": "^7.2.5", +9 "fideloper/proxy": "^4.2", +10 "fruitcake/laravel-cors": "^2.0", +11 "guzzlehttp/guzzle": "^7.0.1", +12 "laravel/framework": "^8.40", +13 "laravel/tinker": "^2.5" +14 }, +15 "require-dev": { +16 "facade/ignition": "^2.5", +17 "fakerphp/faker": "^1.9.1", +18 "laravel/sail": "^1.0.1", +19 "mockery/mockery": "^1.4.2", +20 "nunomaduro/collision": "^5.0", +21 "phpunit/phpunit": "^9.3.3" +22 }, +23 "config": { +24 "optimize-autoloader": true, +25 "preferred-install": "dist", +26 "sort-packages": true +27 }, +28 "extra": { +29 "laravel": { +30 "dont-discover": [] +31 } +32 }, +33 "autoload": { +34 "psr-4": { +35 "App\": "app/", +36 "Database\": "database/" +37 } +38 }, +39 "autoload-dev": { +40 "psr-4": { +41 "App\": "app/" +42 } +43 }, +44 "minimum-stability": "dev", +45 "prefer-stable": true, +46 "scripts": { +47 "post-autoload-dump": [ +48 "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump", +49 "@php artisan package:discover --ansi" +50 ], +51 "post-root-package-install": [ +52 "@php -r \"file_exists('.env') || copy('.env.example', '.env');\"" +53 ], +54 "post-create-project-cmd": [ +55 "@php artisan key:generate --ansi" +56 ] +57 } +58 } + +File: app/Models/User.php +1 namespace App\Models; +2 +3 use Illuminate\Database\Eloquent\Model; +4 use Illuminate\Support\Facades\Hash; +5 +6 class User extends Model +7 { +8 protected $fillable = [ +9 'name', +10 'email', +11 'password', +12 ]; +13 +14 protected $hidden = [ +15 'password', +16 'remember_token', +17 ]; +18 +19 public function profile() +20 { +21 return $this->hasOne(Profile::class); +22 } +23 +24 public function teams() +25 { +26 return $this->belongsToMany(Team::class); +27 } +28 } + +File: app/Models/Team.php +1 namespace App\Models; +2 +3 use Illuminate\Database\Eloquent\Model; +4 +5 class Team extends Model +6 { +7 protected $fillable = [ +8 'name', +9 ]; +10 +11 public function users() +12 { +13 return $this->belongsToMany(User::class); +14 } +15 } + +File: app/Models/Profile.php +1 namespace App\Models; +2 +3 use Illuminate\Database\Eloquent\Model; +4 +5 class Profile extends Model +6 { +7 protected $fillable = [ +8 'user_id', +9 'bio', +10 'tags', +11 ] +12 +13 public function user() +14 { +15 return $this->belongsTo(User::class); +16 } +17 } + +File: app/Models/Tag.php +1 namespace App\Models; +2 +3 use Illuminate\Database\Eloquent\Model; +4 +5 class Tag extends Model +6 { +7 protected $fillable = [ +8 'name', +9 ]; +10 +11 public function profiles() +12 { +13 return $this->belongsToMany(Profile::class); +14 } +15 } + +File: app/Http/Controllers/Auth/RegisterController.php +1 namespace App\Http\Controllers\Auth; +2 +3 use App\Http\Controllers\Controller; +4 use App\Models\User; +5 use Illuminate\Http\Request; +6 use Illuminate\Support\Facades\Hash; +7 +8 class RegisterController extends Controller +9 { +10 public function create() +11 { +12 return view('auth.register'); +13 } +14 +15 public function store(Request $request) +16 { +17 $request->validate([ +18 'name' => 'required|string|max:255', +19 'email' => 'required|string|email|max:255|unique:users', +20 'password' => 'required|string|min:8|confirmed', +21 ]); +22 +23 $user = User::create([ +24 'name' => $request->input('name'), +25 'email' => $request->input('email'), +26 'password' => Hash::make($request->input('password')), +27 ]); +28 +29 auth()->login($user); +30 +31 return redirect()->route('users.index'); +32 } +33 } + +File: app/Http/Controllers/Auth/LoginController.php +1 namespace App\Http\Controllers\Auth; +2 +3 use App\Http\Controllers\Controller; +4 use Illuminate\Http\Request; +5 use Illuminate\Support\Facades\Auth; +6 +7 class LoginController extends Controller +8 { +9 public function create() +10 { +11 return view('auth.login'); +12 } +13 +14 public function store(Request $request) +15 { +16 $request->validate([ +17 'email' => 'required|string|email|max:255', +18 'password' => 'required|string|min:8', +19 ]); +20 +21 if (!Auth::attempt(['email' => $request->input('email'), 'password' => $request->input('password')])) { +22 return back()->withErrors(['email' => 'Invalid credentials']); +23 } +24 +25 return redirect()->route('users.index'); +26 } +27 } + +File: app/Http/Controllers/ProfileController.php +1 namespace App\Http\Controllers; +2 +3 use App\Http\Requests\ProfileRequest; +4 use App\Models\Profile; +5 use Illuminate\Http\Request; +6 use Illuminate\Support\Facades\Auth; +7 +8 class ProfileController extends Controller +9 { +10 public function edit() +11 { +12 $user = Auth::user(); +13 return view('profiles.edit', compact('user')); +14 } +15 +16 public function update(ProfileRequest $request) +17 { +18 $user = Auth::user(); +19 $user->profile->update([ +20 'bio' => $request->input('bio'), +21 'tags' => $request->input('tags'), +22 ]); +23 +24 return redirect()->route('users.show', $user); +25 } +26 } + +File: app/Http/Controllers/TeamController.php +1 namespace App\Http\Controllers; +2 +3 use App\Http\Requests\TeamRequest; +4 use App\Models\Team; +5 use Illuminate\Http\Request; +6 +7 class TeamController extends Controller +8 { +9 public function index() +10 { +11 $teams = Team::latest()->get(); +12 return view('teams.index', compact('teams')); +13 } +14 +15 public function create() +16 { +17 return view('teams.create'); +18 } +19 +20 public function store(TeamRequest $request) +21 { +22 Team::create([ +23 'name' => $request->input('name'), +24 ]); +25 +26 return redirect()->route('teams.index'); +27 } +28 } + +File: app/Http/Controllers/UserController.php +1 namespace App\Http\Controllers; +2 +3 use App\Http\Requests\UserRequest; +4 use App\Models\User; +5 use Illuminate\Http\Request; +6 +7 class UserController extends Controller +8 { +9 public function index() +10 { +11 $users = User::latest()->get(); +12 return view('users.index', compact('users')); +13 } +14 +15 public function show(User $user) +16 { +17 return view('users.show', compact('user')); +18 } +19 } + +File: app/Http/Requests/RegisterRequest.php +1 namespace App\Http\Requests; +2 +3 use Illuminate\Foundation\Http\FormRequest; +4 +5 class RegisterRequest extends FormRequest +6 { +7 public function rules() +8 { +9 return [ +10 'name' => 'required|string|max:255', +11 'email' => 'required|string|email|max:255|unique:users', +12 'password' => 'required|string|min:8|confirmed', +13 ]; +14 } +15 } + +File: app/Http/Requests/LoginRequest.php +1 namespace App\Http\Requests; +2 +3 use Illuminate\Foundation\Http\FormRequest; +4 +5 class LoginRequest extends FormRequest +6 { +7 public function rules() +8 { +9 return [ +10 'email' => 'required|string|email|max:255', +11 'password' => 'required|string|min:8', +12 ]; +13 } +14 } + +File: app/Http/Requests/ProfileRequest.php +1 namespace App\Http\Requests; +2 +3 use Illuminate\Foundation\Http\FormRequest; +4 +5 class ProfileRequest extends FormRequest +6 { +7 public function rules() +8 { +9 return [ +10 'bio' => 'required|string', +11 'tags' => 'required|string', +12 ]; +13 } +14 } + +File: app/Http/Requests/TeamRequest.php +1 namespace App\Http\Requests; +2 +3 use Illuminate\Foundation\Http\FormRequest; +4 +5 class TeamRequest extends FormRequest +6 { +7 public function rules() +8 { +9 return [ +10 'name' => 'required|string', +11 ]; +12 } +13 } + +File: database/migrations/create_users_table.php +1 use Illuminate\Database\Migrations\Migration; +2 use Illuminate\Database\Schema\Blueprint; +3 +4 class CreateUsersTable extends Migration +5 { +6 public function up() +7 { +8 Schema::create('users', function (Blueprint $table) { +9 $table->id(); +10 $table->string('name'); +11 $table->string('email')->unique(); +12 $table->string('password'); +13 $table->rememberToken(); +14 $table->timestamps(); +15 }); +16 } +17 +18 public function down() +19 { +20 Schema::dropIfExists('users'); +21 } +22 } + +File: database/migrations/create_teams_table.php +1 use Illuminate\Database\Migrations\Migration; +2 use Illuminate\Database\Schema\Blueprint; +3 +4 class CreateTeamsTable extends Migration +5 { +6 public function up() +7 { +8 Schema::create('teams', function (Blueprint $table) { +9 $table->id(); +10 $table->string('name'); +11 $table->timestamps(); +12 }); +13 } +14 +15 public function down() +16 { +17 Schema::dropIfExists('teams'); +18 } +19 } + +File: database/migrations/create_profiles_table.php +1 use Illuminate\Database\Migrations\Migration; +2 use Illuminate\Database\Schema\Blueprint; +3 +4 class CreateProfilesTable extends Migration +5 { +6 public function up() +7 { +8 Schema::create('profiles', function (Blueprint $table) { +9 $table->id(); +10 $table->unsignedBigInteger('user_id'); +11 $table->string('bio'); +12 $table->string('tags'); +13 $table->timestamps(); +14 +15 $table->foreign('user_id')->references('id')->on('users'); +16 }); +17 } +18 +19 public function down() +20 { +21 Schema::dropIfExists('profiles'); +22 } +23 } + +File: database/migrations/create_tags_table.php +1 use Illuminate\Database\Migrations\Migration; +2 use Illuminate\Database\Schema\Blueprint; +3 +4 class CreateTagsTable extends Migration +5 { +6 public function up() +7 { +8 Schema::create('tags', function (Blueprint $table) { +9 $table->id(); +10 $table->string('name'); +11 $table->timestamps(); +12 }); +13 } +14 +15 public function down() +16 { +17 Schema::dropIfExists('tags'); +18 } +19 } + +File: routes/web.php +1 Route::get('/register', 'Auth\RegisterController@create')->name('register'); +2 Route::post('/register', 'Auth\RegisterController@store')->name('register.store'); +3 +4 Route::get('/login', 'Auth\LoginController@create')->name('login'); +5 Route::post('/login', 'Auth\LoginController@store')->name('login.store'); +6 +7 Route::get('/profiles/{user}', 'ProfileController@show')->name('users.show'); +8 Route::get('/profiles/{user}/edit', 'ProfileController@edit')->name('users.edit'); +9 Route::patch('/profiles/{user}', 'ProfileController@update')->name('users.update'); +10 +11 Route::get('/teams', 'TeamController@index')->name('teams.index'); +12 Route::get('/teams/create', 'TeamController@create')->name('teams.create'); +13 Route::post('/teams', 'TeamController@store')->name('teams.store'); +14 +15 Route::get('/users', 'UserController@index')->name('users.index'); +16 Route::get('/users/{user}', 'UserController@show')->name('users.show'); + +``` + +================================== Ai Message ================================== + +``` +composer install +php artisan migrate +php artisan db:seed +php artisan serve +``` diff --git a/controllers/test_laravel/Structure b/controllers/test_laravel/Structure new file mode 100644 index 0000000000000000000000000000000000000000..a806230554e5b97786d562c43ed9933cf10a973d --- /dev/null +++ b/controllers/test_laravel/Structure @@ -0,0 +1,34 @@ +app +Models +User.php +Team.php +Profile.php +Tag.php +Http +Controllers +Auth +RegisterController.php +LoginController.php +ProfileController.php +TeamController.php +UserController.php +Requests +RegisterRequest.php +LoginRequest.php +ProfileRequest.php +TeamRequest.php +Kernel.php +routes +web.php +database +migrations +create_users_table.php +create_teams_table.php +create_profiles_table.php +create_tags_table.php +seeds +DatabaseSeeder.php +config +database.php +app.php +composer.json \ No newline at end of file diff --git a/controllers/test_laravel/app/Http/Controllers/Auth/LoginController.php b/controllers/test_laravel/app/Http/Controllers/Auth/LoginController.php new file mode 100644 index 0000000000000000000000000000000000000000..853171e24f9510a715e867ed5722b69fce285467 --- /dev/null +++ b/controllers/test_laravel/app/Http/Controllers/Auth/LoginController.php @@ -0,0 +1,27 @@ +namespace App\Http\Controllers\Auth; + +use App\Http\Controllers\Controller; +use Illuminate\Http\Request; +use Illuminate\Support\Facades\Auth; + +class LoginController extends Controller +{ + public function create() + { + return view('auth.login'); + } + + public function store(Request $request) + { + $request->validate([ + 'email' => 'required|string|email|max:255', + 'password' => 'required|string|min:8', + ]); + + if (!Auth::attempt(['email' => $request->input('email'), 'password' => $request->input('password')])) { + return back()->withErrors(['email' => 'Invalid credentials']); + } + + return redirect()->route('users.index'); + } +} \ No newline at end of file diff --git a/controllers/test_laravel/app/Http/Controllers/Auth/RegisterController.php b/controllers/test_laravel/app/Http/Controllers/Auth/RegisterController.php new file mode 100644 index 0000000000000000000000000000000000000000..acf3675a02cec9e9bbae44ce3a6df4c134677ef0 --- /dev/null +++ b/controllers/test_laravel/app/Http/Controllers/Auth/RegisterController.php @@ -0,0 +1,33 @@ +namespace App\Http\Controllers\Auth; + +use App\Http\Controllers\Controller; +use App\Models\User; +use Illuminate\Http\Request; +use Illuminate\Support\Facades\Hash; + +class RegisterController extends Controller +{ + public function create() + { + return view('auth.register'); + } + + public function store(Request $request) + { + $request->validate([ + 'name' => 'required|string|max:255', + 'email' => 'required|string|email|max:255|unique:users', + 'password' => 'required|string|min:8|confirmed', + ]); + + $user = User::create([ + 'name' => $request->input('name'), + 'email' => $request->input('email'), + 'password' => Hash::make($request->input('password')), + ]); + + auth()->login($user); + + return redirect()->route('users.index'); + } +} \ No newline at end of file diff --git a/controllers/test_laravel/app/Http/Controllers/ProfileController.php b/controllers/test_laravel/app/Http/Controllers/ProfileController.php new file mode 100644 index 0000000000000000000000000000000000000000..3443faacde99e353df4ec624c71548a61bae90b9 --- /dev/null +++ b/controllers/test_laravel/app/Http/Controllers/ProfileController.php @@ -0,0 +1,26 @@ +namespace App\Http\Controllers; + +use App\Http\Requests\ProfileRequest; +use App\Models\Profile; +use Illuminate\Http\Request; +use Illuminate\Support\Facades\Auth; + +class ProfileController extends Controller +{ + public function edit() + { + $user = Auth::user(); + return view('profiles.edit', compact('user')); + } + + public function update(ProfileRequest $request) + { + $user = Auth::user(); + $user->profile->update([ + 'bio' => $request->input('bio'), + 'tags' => $request->input('tags'), + ]); + + return redirect()->route('users.show', $user); + } +} \ No newline at end of file diff --git a/controllers/test_laravel/app/Http/Controllers/TeamController.php b/controllers/test_laravel/app/Http/Controllers/TeamController.php new file mode 100644 index 0000000000000000000000000000000000000000..44af43316a08830414ef4b21d9b7849c247f1837 --- /dev/null +++ b/controllers/test_laravel/app/Http/Controllers/TeamController.php @@ -0,0 +1,28 @@ +namespace App\Http\Controllers; + +use App\Http\Requests\TeamRequest; +use App\Models\Team; +use Illuminate\Http\Request; + +class TeamController extends Controller +{ + public function index() + { + $teams = Team::latest()->get(); + return view('teams.index', compact('teams')); + } + + public function create() + { + return view('teams.create'); + } + + public function store(TeamRequest $request) + { + Team::create([ + 'name' => $request->input('name'), + ]); + + return redirect()->route('teams.index'); + } +} \ No newline at end of file diff --git a/controllers/test_laravel/app/Http/Controllers/UserController.php b/controllers/test_laravel/app/Http/Controllers/UserController.php new file mode 100644 index 0000000000000000000000000000000000000000..3e43b4349cb2f4da9a3b485f5f5dee8e89aef2e6 --- /dev/null +++ b/controllers/test_laravel/app/Http/Controllers/UserController.php @@ -0,0 +1,19 @@ +namespace App\Http\Controllers; + +use App\Http\Requests\UserRequest; +use App\Models\User; +use Illuminate\Http\Request; + +class UserController extends Controller +{ + public function index() + { + $users = User::latest()->get(); + return view('users.index', compact('users')); + } + + public function show(User $user) + { + return view('users.show', compact('user')); + } +} \ No newline at end of file diff --git a/controllers/test_laravel/app/Http/Requests/LoginRequest.php b/controllers/test_laravel/app/Http/Requests/LoginRequest.php new file mode 100644 index 0000000000000000000000000000000000000000..922b8bcbfe43fdf26a906a0bdadf7f2a0b49b5fc --- /dev/null +++ b/controllers/test_laravel/app/Http/Requests/LoginRequest.php @@ -0,0 +1,14 @@ +namespace App\Http\Requests; + +use Illuminate\Foundation\Http\FormRequest; + +class LoginRequest extends FormRequest +{ + public function rules() + { + return [ + 'email' => 'required|string|email|max:255', + 'password' => 'required|string|min:8', + ]; + } +} \ No newline at end of file diff --git a/controllers/test_laravel/app/Http/Requests/ProfileRequest.php b/controllers/test_laravel/app/Http/Requests/ProfileRequest.php new file mode 100644 index 0000000000000000000000000000000000000000..4cb5775c3b8d095d9ee6176ba62fc936129e7fb2 --- /dev/null +++ b/controllers/test_laravel/app/Http/Requests/ProfileRequest.php @@ -0,0 +1,14 @@ +namespace App\Http\Requests; + +use Illuminate\Foundation\Http\FormRequest; + +class ProfileRequest extends FormRequest +{ + public function rules() + { + return [ + 'bio' => 'required|string', + 'tags' => 'required|string', + ]; + } +} \ No newline at end of file diff --git a/controllers/test_laravel/app/Http/Requests/RegisterRequest.php b/controllers/test_laravel/app/Http/Requests/RegisterRequest.php new file mode 100644 index 0000000000000000000000000000000000000000..9515600557615af8df97deb53f8f0c24c149f21e --- /dev/null +++ b/controllers/test_laravel/app/Http/Requests/RegisterRequest.php @@ -0,0 +1,15 @@ +namespace App\Http\Requests; + +use Illuminate\Foundation\Http\FormRequest; + +class RegisterRequest extends FormRequest +{ + public function rules() + { + return [ + 'name' => 'required|string|max:255', + 'email' => 'required|string|email|max:255|unique:users', + 'password' => 'required|string|min:8|confirmed', + ]; + } +} \ No newline at end of file diff --git a/controllers/test_laravel/app/Http/Requests/TeamRequest.php b/controllers/test_laravel/app/Http/Requests/TeamRequest.php new file mode 100644 index 0000000000000000000000000000000000000000..b86a938c046a9357d542c89fbbf6a6eb3b1c4be2 --- /dev/null +++ b/controllers/test_laravel/app/Http/Requests/TeamRequest.php @@ -0,0 +1,13 @@ +namespace App\Http\Requests; + +use Illuminate\Foundation\Http\FormRequest; + +class TeamRequest extends FormRequest +{ + public function rules() + { + return [ + 'name' => 'required|string', + ]; + } +} \ No newline at end of file diff --git a/controllers/test_laravel/app/Models/Profile.php b/controllers/test_laravel/app/Models/Profile.php new file mode 100644 index 0000000000000000000000000000000000000000..ab465aeb5f4d2dffe228cc7cf3063b6ccb8d0f20 --- /dev/null +++ b/controllers/test_laravel/app/Models/Profile.php @@ -0,0 +1,17 @@ +namespace App\Models; + +use Illuminate\Database\Eloquent\Model; + +class Profile extends Model +{ + protected $fillable = [ + 'user_id', + 'bio', + 'tags', + ] + + public function user() + { + return $this->belongsTo(User::class); + } +} \ No newline at end of file diff --git a/controllers/test_laravel/app/Models/Tag.php b/controllers/test_laravel/app/Models/Tag.php new file mode 100644 index 0000000000000000000000000000000000000000..775cb84c047848bc7426ff57b4ed08b108968709 --- /dev/null +++ b/controllers/test_laravel/app/Models/Tag.php @@ -0,0 +1,15 @@ +namespace App\Models; + +use Illuminate\Database\Eloquent\Model; + +class Tag extends Model +{ + protected $fillable = [ + 'name', + ]; + + public function profiles() + { + return $this->belongsToMany(Profile::class); + } +} \ No newline at end of file diff --git a/controllers/test_laravel/app/Models/Team.php b/controllers/test_laravel/app/Models/Team.php new file mode 100644 index 0000000000000000000000000000000000000000..23efa92b4969ccaf0655a1df41cc43e34160abf8 --- /dev/null +++ b/controllers/test_laravel/app/Models/Team.php @@ -0,0 +1,15 @@ +namespace App\Models; + +use Illuminate\Database\Eloquent\Model; + +class Team extends Model +{ + protected $fillable = [ + 'name', + ]; + + public function users() + { + return $this->belongsToMany(User::class); + } +} \ No newline at end of file diff --git a/controllers/test_laravel/app/Models/User.php b/controllers/test_laravel/app/Models/User.php new file mode 100644 index 0000000000000000000000000000000000000000..73daed3e205576e3ed24c5b95b9b223b0766ed73 --- /dev/null +++ b/controllers/test_laravel/app/Models/User.php @@ -0,0 +1,28 @@ +namespace App\Models; + +use Illuminate\Database\Eloquent\Model; +use Illuminate\Support\Facades\Hash; + +class User extends Model +{ + protected $fillable = [ + 'name', + 'email', + 'password', + ]; + + protected $hidden = [ + 'password', + 'remember_token', + ]; + + public function profile() + { + return $this->hasOne(Profile::class); + } + + public function teams() + { + return $this->belongsToMany(Team::class); + } +} \ No newline at end of file diff --git a/controllers/test_laravel/composer.json b/controllers/test_laravel/composer.json new file mode 100644 index 0000000000000000000000000000000000000000..8785d73529c7bdecd0a818efbb4da6527c5fd810 --- /dev/null +++ b/controllers/test_laravel/composer.json @@ -0,0 +1,58 @@ +{ + "name": "laravel/laravel", + "description": "The Laravel Framework.", + "keywords": ["framework", "laravel"], + "license": "MIT", + "type": "project", + "require": { + "php": "^7.2.5", + "fideloper/proxy": "^4.2", + "fruitcake/laravel-cors": "^2.0", + "guzzlehttp/guzzle": "^7.0.1", + "laravel/framework": "^8.40", + "laravel/tinker": "^2.5" + }, + "require-dev": { + "facade/ignition": "^2.5", + "fakerphp/faker": "^1.9.1", + "laravel/sail": "^1.0.1", + "mockery/mockery": "^1.4.2", + "nunomaduro/collision": "^5.0", + "phpunit/phpunit": "^9.3.3" + }, + "config": { + "optimize-autoloader": true, + "preferred-install": "dist", + "sort-packages": true + }, + "extra": { + "laravel": { + "dont-discover": [] + } + }, + "autoload": { + "psr-4": { + "App\": "app/", + "Database\": "database/" + } + }, + "autoload-dev": { + "psr-4": { + "App\": "app/" + } + }, + "minimum-stability": "dev", + "prefer-stable": true, + "scripts": { + "post-autoload-dump": [ + "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump", + "@php artisan package:discover --ansi" + ], + "post-root-package-install": [ + "@php -r \"file_exists('.env') || copy('.env.example', '.env');\"" + ], + "post-create-project-cmd": [ + "@php artisan key:generate --ansi" + ] + } +} \ No newline at end of file diff --git a/controllers/test_laravel/database/migrations/create_profiles_table.php b/controllers/test_laravel/database/migrations/create_profiles_table.php new file mode 100644 index 0000000000000000000000000000000000000000..acc27750d9d0ebaf7a090d0b34ec7cd3a7b4ee37 --- /dev/null +++ b/controllers/test_laravel/database/migrations/create_profiles_table.php @@ -0,0 +1,23 @@ +use Illuminate\Database\Migrations\Migration; +use Illuminate\Database\Schema\Blueprint; + +class CreateProfilesTable extends Migration +{ + public function up() + { + Schema::create('profiles', function (Blueprint $table) { + $table->id(); + $table->unsignedBigInteger('user_id'); + $table->string('bio'); + $table->string('tags'); + $table->timestamps(); + + $table->foreign('user_id')->references('id')->on('users'); + }); + } + + public function down() + { + Schema::dropIfExists('profiles'); + } +} \ No newline at end of file diff --git a/controllers/test_laravel/database/migrations/create_tags_table.php b/controllers/test_laravel/database/migrations/create_tags_table.php new file mode 100644 index 0000000000000000000000000000000000000000..da2273f2b495099927886dc0602b32fb52c0b0fa --- /dev/null +++ b/controllers/test_laravel/database/migrations/create_tags_table.php @@ -0,0 +1,19 @@ +use Illuminate\Database\Migrations\Migration; +use Illuminate\Database\Schema\Blueprint; + +class CreateTagsTable extends Migration +{ + public function up() + { + Schema::create('tags', function (Blueprint $table) { + $table->id(); + $table->string('name'); + $table->timestamps(); + }); + } + + public function down() + { + Schema::dropIfExists('tags'); + } +} \ No newline at end of file diff --git a/controllers/test_laravel/database/migrations/create_teams_table.php b/controllers/test_laravel/database/migrations/create_teams_table.php new file mode 100644 index 0000000000000000000000000000000000000000..aac68035e23e514ddccaacff83d4f0149652dca9 --- /dev/null +++ b/controllers/test_laravel/database/migrations/create_teams_table.php @@ -0,0 +1,19 @@ +use Illuminate\Database\Migrations\Migration; +use Illuminate\Database\Schema\Blueprint; + +class CreateTeamsTable extends Migration +{ + public function up() + { + Schema::create('teams', function (Blueprint $table) { + $table->id(); + $table->string('name'); + $table->timestamps(); + }); + } + + public function down() + { + Schema::dropIfExists('teams'); + } +} \ No newline at end of file diff --git a/controllers/test_laravel/database/migrations/create_users_table.php b/controllers/test_laravel/database/migrations/create_users_table.php new file mode 100644 index 0000000000000000000000000000000000000000..05048b6d7050267ff3fb1f088b98fd1cf6ec2836 --- /dev/null +++ b/controllers/test_laravel/database/migrations/create_users_table.php @@ -0,0 +1,22 @@ +use Illuminate\Database\Migrations\Migration; +use Illuminate\Database\Schema\Blueprint; + +class CreateUsersTable extends Migration +{ + public function up() + { + Schema::create('users', function (Blueprint $table) { + $table->id(); + $table->string('name'); + $table->string('email')->unique(); + $table->string('password'); + $table->rememberToken(); + $table->timestamps(); + }); + } + + public function down() + { + Schema::dropIfExists('users'); + } +} \ No newline at end of file diff --git a/controllers/test_laravel/prompt b/controllers/test_laravel/prompt new file mode 100644 index 0000000000000000000000000000000000000000..2c6e1b427a3321fbd877d9c9f9a4049c39d0416f --- /dev/null +++ b/controllers/test_laravel/prompt @@ -0,0 +1,50 @@ + +# 社員がプロフィールを登録・公開し、お互いに参照できるシステム + +## 機能 + +### ユーザー登録 + +- ユーザー登録画面で、ユーザー名とパスワードを入力して登録ボタンを押すことにより、新規ユーザーを登録することができる。 +- ユーザー名は、既存のユーザーと重複してはいけない。 +- ユーザー登録に成功したら、ログイン済み状態として、ユーザー一覧画面へ遷移する。 + +### ログイン + +- ログイン画面で、ユーザー名とパスワードを入力してログインボタンを押すことにより、ログインすることができる。 +- ログインに成功したら、ユーザー一覧画面へ遷移する。 + +### チーム一覧・作成 + +- チームの一覧が、チームの作成日時降順で表示される。 +- チーム名を入力して作成ボタンを押すと、チームが作成される。 +- チームの作成後、本画面が再表示される。 + +### プロフィール編集 + +- 自身の`所属チーム`・`プロフィール`・`タグ`を編集できる。 +- 所属チームは、既存チームからの選択式とする。 +- プロフィールは自由入力とする。 +- タグは自由入力で、複数入力できるようにする。 + +### ユーザー一覧・検索 + +- デフォルトでは全てのユーザーが一覧表示される。 +- 検索条件を入力して検索ボタンを押すと、検索条件がプロフィールに部分一致するユーザーのみにフィルタリングできる。 +- 一覧は、ユーザー登録日時の降順で表示される。 +- 表示内容は、`ユーザー名`・`プロフィール`で、`プロフィール`は先頭10文字と三点リーダーを表示する。 +- ユーザー名をクリックすると、そのユーザーのユーザー詳細画面へ遷移する。 +- `チーム一覧へ`をクリックすると、チーム一覧画面へ遷移する。 + +### ユーザー詳細画面 + +- 特定のユーザーの、`ユーザー名`・`所属チーム`・`プロフィール`・`タグ`が表示される。 +- プロフィールの表示はマークダウンに対応させる。 +- `一覧へ`リンクをクリックすると、ユーザー一覧画面へ遷移する。 + +## あなたが作成するもの + +バックエンドのプログラム一式を作成してください。 +フロントエンドのプログラムは不要です。 + +php laravel diff --git a/controllers/test_laravel/prompt.txt b/controllers/test_laravel/prompt.txt new file mode 100644 index 0000000000000000000000000000000000000000..75aee5014e4ec459bb06a48cd4f93db21932a1f4 --- /dev/null +++ b/controllers/test_laravel/prompt.txt @@ -0,0 +1,78 @@ + +# 社員がプロフィールを登録・公開し、お互いに参照できるシステム + +## 機能 + +### ユーザー登録 + +- ユーザー登録画面で、ユーザー名とパスワードを入力して登録ボタンを押すことにより、新規ユーザーを登録することができる。 +- ユーザー名は、既存のユーザーと重複してはいけない。 +- ユーザー登録に成功したら、ログイン済み状態として、ユーザー一覧画面へ遷移する。 + +### ログイン + +- ログイン画面で、ユーザー名とパスワードを入力してログインボタンを押すことにより、ログインすることができる。 +- ログインに成功したら、ユーザー一覧画面へ遷移する。 + +### チーム一覧・作成 + +- チームの一覧が、チームの作成日時降順で表示される。 +- チーム名を入力して作成ボタンを押すと、チームが作成される。 +- チームの作成後、本画面が再表示される。 + +### プロフィール編集 + +- 自身の`所属チーム`・`プロフィール`・`タグ`を編集できる。 +- 所属チームは、既存チームからの選択式とする。 +- プロフィールは自由入力とする。 +- タグは自由入力で、複数入力できるようにする。 + +### ユーザー一覧・検索 + +- デフォルトでは全てのユーザーが一覧表示される。 +- 検索条件を入力して検索ボタンを押すと、検索条件がプロフィールに部分一致するユーザーのみにフィルタリングできる。 +- 一覧は、ユーザー登録日時の降順で表示される。 +- 表示内容は、`ユーザー名`・`プロフィール`で、`プロフィール`は先頭10文字と三点リーダーを表示する。 +- ユーザー名をクリックすると、そのユーザーのユーザー詳細画面へ遷移する。 +- `チーム一覧へ`をクリックすると、チーム一覧画面へ遷移する。 + +### ユーザー詳細画面 + +- 特定のユーザーの、`ユーザー名`・`所属チーム`・`プロフィール`・`タグ`が表示される。 +- プロフィールの表示はマークダウンに対応させる。 +- `一覧へ`リンクをクリックすると、ユーザー一覧画面へ遷移する。 + +## あなたが作成するもの + +バックエンドのプログラム一式を作成してください。 +フロントエンドのプログラムは不要です。 + +- `/api`ディレクトリ以下に作成。 +- Python/FastAPI/SQLAlchemyを使う。 +- DBはSQLiteを使う。 +- 必要に応じて外部ライブラリを使う。 +- クラウドや外部サービス(外部API)は使わない。 +- .gitignoreを含めること。 +- バックエンド +@app.post(" +def lumbda_function(): + +gradio_interface でメイン関数から読み込めるようにして + +googleappsscript +ラインの画像検索システム + +ファイルは1ファイルで作成して。 +1ファイル1機能で難しくしたくない + +1,lineからデータがくる +2,doPostで取得 +3.typeがイメージの場合はドライブに保存 +4,保存したデータをS3にアップロード +5.データはシークレットから取得 +6,plantumlでフローの作成 +7,システムドキュメントの作成 + +gradio は gradio_interface というBlock名で作成 +fastapiはrouter の作成 + diff --git a/controllers/test_laravel/routes/web.php b/controllers/test_laravel/routes/web.php new file mode 100644 index 0000000000000000000000000000000000000000..d6029adeef34aa96c40c2bcbe57ab6bec5ba68da --- /dev/null +++ b/controllers/test_laravel/routes/web.php @@ -0,0 +1,16 @@ +Route::get('/register', 'Auth\RegisterController@create')->name('register'); +Route::post('/register', 'Auth\RegisterController@store')->name('register.store'); + +Route::get('/login', 'Auth\LoginController@create')->name('login'); +Route::post('/login', 'Auth\LoginController@store')->name('login.store'); + +Route::get('/profiles/{user}', 'ProfileController@show')->name('users.show'); +Route::get('/profiles/{user}/edit', 'ProfileController@edit')->name('users.edit'); +Route::patch('/profiles/{user}', 'ProfileController@update')->name('users.update'); + +Route::get('/teams', 'TeamController@index')->name('teams.index'); +Route::get('/teams/create', 'TeamController@create')->name('teams.create'); +Route::post('/teams', 'TeamController@store')->name('teams.store'); + +Route::get('/users', 'UserController@index')->name('users.index'); +Route::get('/users/{user}', 'UserController@show')->name('users.show'); \ No newline at end of file diff --git a/controllers/test_laravel/run.sh b/controllers/test_laravel/run.sh new file mode 100644 index 0000000000000000000000000000000000000000..b3cc6f97d96455f887f50d180bb71c18bea911fb --- /dev/null +++ b/controllers/test_laravel/run.sh @@ -0,0 +1,4 @@ +composer install +php artisan migrate +php artisan db:seed +php artisan serve diff --git a/models/ride.py b/models/ride.py index d7731d3921b178f1af1951623175457094912693..021a37c424bc4a08f6c863bd767c2f53a096890e 100644 --- a/models/ride.py +++ b/models/ride.py @@ -7,6 +7,7 @@ import gradio as gr import psycopg2 from dataclasses import dataclass, field from typing import List, Optional +import os #from mysite.interpreter.process import no_process_file,process_file #from controllers.gra_04_database.rides import test_set_lide @@ -78,7 +79,8 @@ def delete_ride(ride_id: int): cur.close() conn.close() -def test_set_lide(input="test",foldername="test"): +def test_set_lide(input="test",url="test"): + foldername="" ride = Ride( rideable_type="rideable_type", start_station_name=input, diff --git a/mysite/interpreter/google_chat.py b/mysite/interpreter/google_chat.py index 53e26bd4002332719f9b99dd13ba42ed6c6dc5c8..c58d76ec5d8df2af9d876342e709f242becc9db7 100644 --- a/mysite/interpreter/google_chat.py +++ b/mysite/interpreter/google_chat.py @@ -131,10 +131,10 @@ def send_google_chat_card(webhook_url, title, subtitle, link_text, link_url,imag "buttons": [ { "textButton": { - "text": "Youtubライブチャット", + "text": "Youtubで質問", "onClick": { "openLink": { - "url": "https://kenken999-fastapi-django-main.hf.space/static/index.html" + "url": "https://youtube.com/live/F0NuvKMzuBY?feature=share" } } } @@ -169,6 +169,20 @@ def send_google_chat_card(webhook_url, title, subtitle, link_text, link_url,imag } ] }, + { + "buttons": [ + { + "textButton": { + "text": "ナレッジを追加する EVA業務一覧", + "onClick": { + "openLink": { + "url": "https://docs.google.com/spreadsheets/d/1ZdD7hVUsXeu4cO7Bys5WkyTplSkhZIi2KhDhBmfenKs/edit?gid=925846218#gid=925846218" + } + } + } + } + ] + }, { "buttons": [ { diff --git a/mysite/interpreter/process.py b/mysite/interpreter/process.py index e982c9d7ad51492cd957630410285263bd9a8386..5592315d1bf4bd3ddcdeb29aceaac0cbdfe196dc 100644 --- a/mysite/interpreter/process.py +++ b/mysite/interpreter/process.py @@ -14,7 +14,7 @@ from mysite.libs.github import github import requests import json from mysite.logger import log_error - +import os GENERATION_TIMEOUT_SEC=60 BASE_PATH = "/home/user/app/controllers/" @@ -301,7 +301,7 @@ def process_file(fileobj, prompt, foldername,token=None): text=True, ) stdout, stderr = proc.communicate(input="n\ny\ny\n") - + url = "test" test_set_lide(prompt,url) return f"Processed url:{url}\nContent:\n{stdout}\n\nMake Command Output:\n{stdout}\n\nMake Command Error:\n{stderr}" except subprocess.CalledProcessError as e: diff --git a/routers/gra_03_programfromdoc/programfromdoc.py b/routers/gra_03_programfromdoc/programfromdoc.py index 3600ba9d1b00f9a232918ae50dbeb909bc9f1aeb..e0f8c1a78d41a87f627e22fdf4d376f4c967d92d 100644 --- a/routers/gra_03_programfromdoc/programfromdoc.py +++ b/routers/gra_03_programfromdoc/programfromdoc.py @@ -8,6 +8,7 @@ import psycopg2 from dataclasses import dataclass, field from typing import List, Optional from mysite.interpreter.process import no_process_file,process_file +import os #from controllers.gra_04_database.rides import test_set_lide val = """ diff --git a/staticfiles/Hiyori/Hiyori.2048/texture_00.png b/staticfiles/Hiyori/Hiyori.2048/texture_00.png new file mode 100644 index 0000000000000000000000000000000000000000..b912c906dda0c386e4399082cafccb3ca380a548 --- /dev/null +++ b/staticfiles/Hiyori/Hiyori.2048/texture_00.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:560aea0d910dc04950d669640b2ef17c0d817969e9909f477f166bb5cbd8ffbe +size 1814312 diff --git a/staticfiles/Hiyori/Hiyori.2048/texture_01.png b/staticfiles/Hiyori/Hiyori.2048/texture_01.png new file mode 100644 index 0000000000000000000000000000000000000000..aea3854a044095268db37603e837139600db978d --- /dev/null +++ b/staticfiles/Hiyori/Hiyori.2048/texture_01.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:87fe9ab7db81ab3025e0407229e449233581e00fa92c8e911923bc6c7d98ce84 +size 2504416 diff --git a/staticfiles/Hiyori/Hiyori.cdi3.json b/staticfiles/Hiyori/Hiyori.cdi3.json new file mode 100644 index 0000000000000000000000000000000000000000..234dff38be1a48966283731b81d68cd142084bc5 --- /dev/null +++ b/staticfiles/Hiyori/Hiyori.cdi3.json @@ -0,0 +1,523 @@ +{ + "Version": 3, + "Parameters": [ + { + "Id": "ParamAngleX", + "GroupId": "ParamGroupFace", + "Name": "角度 X" + }, + { + "Id": "ParamAngleY", + "GroupId": "ParamGroupFace", + "Name": "角度 Y" + }, + { + "Id": "ParamAngleZ", + "GroupId": "ParamGroupFace", + "Name": "角度 Z" + }, + { + "Id": "ParamCheek", + "GroupId": "ParamGroupFace", + "Name": "照れ" + }, + { + "Id": "ParamEyeLOpen", + "GroupId": "ParamGroupEyes", + "Name": "左目 開閉" + }, + { + "Id": "ParamEyeLSmile", + "GroupId": "ParamGroupEyes", + "Name": "左目 笑顔" + }, + { + "Id": "ParamEyeROpen", + "GroupId": "ParamGroupEyes", + "Name": "右目 開閉" + }, + { + "Id": "ParamEyeRSmile", + "GroupId": "ParamGroupEyes", + "Name": "右目 笑顔" + }, + { + "Id": "ParamEyeBallX", + "GroupId": "ParamGroupEyeballs", + "Name": "目玉 X" + }, + { + "Id": "ParamEyeBallY", + "GroupId": "ParamGroupEyeballs", + "Name": "目玉 Y" + }, + { + "Id": "ParamBrowLY", + "GroupId": "ParamGroupBrows", + "Name": "左眉 上下" + }, + { + "Id": "ParamBrowRY", + "GroupId": "ParamGroupBrows", + "Name": "右眉 上下" + }, + { + "Id": "ParamBrowLX", + "GroupId": "ParamGroupBrows", + "Name": "左眉 左右" + }, + { + "Id": "ParamBrowRX", + "GroupId": "ParamGroupBrows", + "Name": "右眉 左右" + }, + { + "Id": "ParamBrowLAngle", + "GroupId": "ParamGroupBrows", + "Name": "左眉 角度" + }, + { + "Id": "ParamBrowRAngle", + "GroupId": "ParamGroupBrows", + "Name": "右眉 角度" + }, + { + "Id": "ParamBrowLForm", + "GroupId": "ParamGroupBrows", + "Name": "左眉 変形" + }, + { + "Id": "ParamBrowRForm", + "GroupId": "ParamGroupBrows", + "Name": "右眉 変形" + }, + { + "Id": "ParamMouthForm", + "GroupId": "ParamGroupMouth", + "Name": "口 変形" + }, + { + "Id": "ParamMouthOpenY", + "GroupId": "ParamGroupMouth", + "Name": "口 開閉" + }, + { + "Id": "ParamBodyAngleX", + "GroupId": "ParamGroupBody", + "Name": "体の回転 X" + }, + { + "Id": "ParamBodyAngleY", + "GroupId": "ParamGroupBody", + "Name": "体の回転 Y" + }, + { + "Id": "ParamBodyAngleZ", + "GroupId": "ParamGroupBody", + "Name": "体の回転 Z" + }, + { + "Id": "ParamBreath", + "GroupId": "ParamGroupBody", + "Name": "呼吸" + }, + { + "Id": "ParamShoulder", + "GroupId": "ParamGroupBody", + "Name": "肩 すくみ" + }, + { + "Id": "ParamLeg", + "GroupId": "ParamGroupBody", + "Name": "あし" + }, + { + "Id": "ParamArmLA", + "GroupId": "ParamGroupArms", + "Name": "左腕 A" + }, + { + "Id": "ParamArmRA", + "GroupId": "ParamGroupArms", + "Name": "右腕 A" + }, + { + "Id": "ParamArmLB", + "GroupId": "ParamGroupArms", + "Name": "左腕 B" + }, + { + "Id": "ParamArmRB", + "GroupId": "ParamGroupArms", + "Name": "右腕 B" + }, + { + "Id": "ParamHandLB", + "GroupId": "ParamGroupArms", + "Name": "左手B 回転" + }, + { + "Id": "ParamHandRB", + "GroupId": "ParamGroupArms", + "Name": "右手B 回転" + }, + { + "Id": "ParamHandL", + "GroupId": "ParamGroupArms", + "Name": "左手" + }, + { + "Id": "ParamHandR", + "GroupId": "ParamGroupArms", + "Name": "右手" + }, + { + "Id": "ParamBustY", + "GroupId": "ParamGroupSway", + "Name": "胸 揺れ" + }, + { + "Id": "ParamHairAhoge", + "GroupId": "ParamGroupSway", + "Name": "髪揺れ アホ毛" + }, + { + "Id": "ParamHairFront", + "GroupId": "ParamGroupSway", + "Name": "髪揺れ 前" + }, + { + "Id": "ParamHairBack", + "GroupId": "ParamGroupSway", + "Name": "髪揺れ 後" + }, + { + "Id": "ParamSideupRibbon", + "GroupId": "ParamGroupSway", + "Name": "髪飾りの揺れ" + }, + { + "Id": "ParamRibbon", + "GroupId": "ParamGroupSway", + "Name": "胸リボンの揺れ" + }, + { + "Id": "ParamSkirt", + "GroupId": "ParamGroupSway", + "Name": "スカートの揺れ" + }, + { + "Id": "ParamSkirt2", + "GroupId": "ParamGroupSway", + "Name": "スカートめくれ" + }, + { + "Id": "Param_Angle_Rotation_1_ArtMesh62", + "GroupId": "ParamGroup2", + "Name": "[0]サイドアップ左" + }, + { + "Id": "Param_Angle_Rotation_2_ArtMesh62", + "GroupId": "ParamGroup2", + "Name": "[1]サイドアップ左" + }, + { + "Id": "Param_Angle_Rotation_3_ArtMesh62", + "GroupId": "ParamGroup2", + "Name": "[2]サイドアップ左" + }, + { + "Id": "Param_Angle_Rotation_4_ArtMesh62", + "GroupId": "ParamGroup2", + "Name": "[3]サイドアップ左" + }, + { + "Id": "Param_Angle_Rotation_5_ArtMesh62", + "GroupId": "ParamGroup2", + "Name": "[4]サイドアップ左" + }, + { + "Id": "Param_Angle_Rotation_6_ArtMesh62", + "GroupId": "ParamGroup2", + "Name": "[5]サイドアップ左" + }, + { + "Id": "Param_Angle_Rotation_7_ArtMesh62", + "GroupId": "ParamGroup2", + "Name": "[6]サイドアップ左" + }, + { + "Id": "Param_Angle_Rotation_1_ArtMesh61", + "GroupId": "ParamGroup", + "Name": "[0]サイドアップ右" + }, + { + "Id": "Param_Angle_Rotation_2_ArtMesh61", + "GroupId": "ParamGroup", + "Name": "[1]サイドアップ右" + }, + { + "Id": "Param_Angle_Rotation_3_ArtMesh61", + "GroupId": "ParamGroup", + "Name": "[2]サイドアップ右" + }, + { + "Id": "Param_Angle_Rotation_4_ArtMesh61", + "GroupId": "ParamGroup", + "Name": "[3]サイドアップ右" + }, + { + "Id": "Param_Angle_Rotation_5_ArtMesh61", + "GroupId": "ParamGroup", + "Name": "[4]サイドアップ右" + }, + { + "Id": "Param_Angle_Rotation_6_ArtMesh61", + "GroupId": "ParamGroup", + "Name": "[5]サイドアップ右" + }, + { + "Id": "Param_Angle_Rotation_7_ArtMesh61", + "GroupId": "ParamGroup", + "Name": "[6]サイドアップ右" + }, + { + "Id": "Param_Angle_Rotation_1_ArtMesh55", + "GroupId": "ParamGroup4", + "Name": "[0]前髪左" + }, + { + "Id": "Param_Angle_Rotation_2_ArtMesh55", + "GroupId": "ParamGroup4", + "Name": "[1]前髪左" + }, + { + "Id": "Param_Angle_Rotation_3_ArtMesh55", + "GroupId": "ParamGroup4", + "Name": "[2]前髪左" + }, + { + "Id": "Param_Angle_Rotation_4_ArtMesh55", + "GroupId": "ParamGroup4", + "Name": "[3]前髪左" + }, + { + "Id": "Param_Angle_Rotation_5_ArtMesh55", + "GroupId": "ParamGroup4", + "Name": "[4]前髪左" + }, + { + "Id": "Param_Angle_Rotation_6_ArtMesh55", + "GroupId": "ParamGroup4", + "Name": "[5]前髪左" + }, + { + "Id": "Param_Angle_Rotation_7_ArtMesh55", + "GroupId": "ParamGroup4", + "Name": "[6]前髪左" + }, + { + "Id": "Param_Angle_Rotation_1_ArtMesh54", + "GroupId": "ParamGroup3", + "Name": "[0]前髪右" + }, + { + "Id": "Param_Angle_Rotation_2_ArtMesh54", + "GroupId": "ParamGroup3", + "Name": "[1]前髪右" + }, + { + "Id": "Param_Angle_Rotation_3_ArtMesh54", + "GroupId": "ParamGroup3", + "Name": "[2]前髪右" + }, + { + "Id": "Param_Angle_Rotation_4_ArtMesh54", + "GroupId": "ParamGroup3", + "Name": "[3]前髪右" + }, + { + "Id": "Param_Angle_Rotation_5_ArtMesh54", + "GroupId": "ParamGroup3", + "Name": "[4]前髪右" + }, + { + "Id": "Param_Angle_Rotation_6_ArtMesh54", + "GroupId": "ParamGroup3", + "Name": "[5]前髪右" + }, + { + "Id": "Param_Angle_Rotation_7_ArtMesh54", + "GroupId": "ParamGroup3", + "Name": "[6]前髪右" + } + ], + "ParameterGroups": [ + { + "Id": "ParamGroupFace", + "GroupId": "", + "Name": "顔" + }, + { + "Id": "ParamGroupEyes", + "GroupId": "", + "Name": "目" + }, + { + "Id": "ParamGroupEyeballs", + "GroupId": "", + "Name": "目玉" + }, + { + "Id": "ParamGroupBrows", + "GroupId": "", + "Name": "眉" + }, + { + "Id": "ParamGroupMouth", + "GroupId": "", + "Name": "口" + }, + { + "Id": "ParamGroupBody", + "GroupId": "", + "Name": "体" + }, + { + "Id": "ParamGroupArms", + "GroupId": "", + "Name": "腕" + }, + { + "Id": "ParamGroupSway", + "GroupId": "", + "Name": "揺れ" + }, + { + "Id": "ParamGroup2", + "GroupId": "", + "Name": "揺れ サイドアップ左" + }, + { + "Id": "ParamGroup", + "GroupId": "", + "Name": "揺れ サイドアップ右" + }, + { + "Id": "ParamGroup4", + "GroupId": "", + "Name": "揺れ 前髪左" + }, + { + "Id": "ParamGroup3", + "GroupId": "", + "Name": "揺れ 前髪右" + } + ], + "Parts": [ + { + "Id": "PartCore", + "Name": "コア" + }, + { + "Id": "PartCheek", + "Name": "頬" + }, + { + "Id": "PartBrow", + "Name": "まゆ毛" + }, + { + "Id": "PartEye", + "Name": "目" + }, + { + "Id": "PartNose", + "Name": "鼻" + }, + { + "Id": "PartMouth", + "Name": "口" + }, + { + "Id": "PartFace", + "Name": "顔" + }, + { + "Id": "PartEar", + "Name": "耳" + }, + { + "Id": "PartHairSide", + "Name": "横髪" + }, + { + "Id": "PartHairFront", + "Name": "前髪" + }, + { + "Id": "PartHairBack", + "Name": "後ろ髪" + }, + { + "Id": "PartNeck", + "Name": "首" + }, + { + "Id": "PartArmA", + "Name": "腕 A" + }, + { + "Id": "PartArmB", + "Name": "腕 B" + }, + { + "Id": "PartBody", + "Name": "体" + }, + { + "Id": "PartBackground", + "Name": "背景" + }, + { + "Id": "PartSketch", + "Name": "[ 下絵 ]" + }, + { + "Id": "PartEyeBall", + "Name": "目玉" + }, + { + "Id": "ArtMesh55_Skinning", + "Name": "前髪左(スキニング)" + }, + { + "Id": "Part4", + "Name": "前髪左(回転)" + }, + { + "Id": "ArtMesh54_Skinning", + "Name": "前髪右(スキニング)" + }, + { + "Id": "Part3", + "Name": "前髪右(回転)" + }, + { + "Id": "ArtMesh61_Skinning", + "Name": "サイドアップ右(スキニング)" + }, + { + "Id": "Part", + "Name": "サイドアップ右(回転)" + }, + { + "Id": "ArtMesh62_Skinning", + "Name": "サイドアップ左(スキニング)" + }, + { + "Id": "Part2", + "Name": "サイドアップ左(回転)" + } + ] +} \ No newline at end of file diff --git a/staticfiles/Hiyori/Hiyori.moc3 b/staticfiles/Hiyori/Hiyori.moc3 new file mode 100644 index 0000000000000000000000000000000000000000..7231288fc2ce85ae000c376a11b3f41bcb9cae03 Binary files /dev/null and b/staticfiles/Hiyori/Hiyori.moc3 differ diff --git a/staticfiles/Hiyori/Hiyori.model3.json b/staticfiles/Hiyori/Hiyori.model3.json new file mode 100644 index 0000000000000000000000000000000000000000..567c846d32d8e768304af1722bcb21c19bccfdd0 --- /dev/null +++ b/staticfiles/Hiyori/Hiyori.model3.json @@ -0,0 +1,93 @@ +{ + "Version": 3, + "FileReferences": { + "Moc": "Hiyori.moc3", + "Textures": [ + "Hiyori.2048/texture_00.png", + "Hiyori.2048/texture_01.png" + ], + "Physics": "Hiyori.physics3.json", + "Pose": "Hiyori.pose3.json", + "UserData": "Hiyori.userdata3.json", + "DisplayInfo": "Hiyori.cdi3.json", + "Motions": { + "Idle": [ + { + "File": "motions/Hiyori_m01.motion3.json", + "FadeInTime": 0.5, + "FadeOutTime": 0.5 + } + ], + "TapBody": [ + { + "File": "motions/Hiyori_m02.motion3.json", + "FadeInTime": 0.5, + "FadeOutTime": 0.5 + }, + { + "File": "motions/Hiyori_m03.motion3.json", + "FadeInTime": 0.5, + "FadeOutTime": 0.5 + }, + { + "File": "motions/Hiyori_m04.motion3.json", + "FadeInTime": 0.5, + "FadeOutTime": 0.5 + }, + { + "File": "motions/Hiyori_m05.motion3.json", + "FadeInTime": 0.5, + "FadeOutTime": 0.5 + }, + { + "File": "motions/Hiyori_m06.motion3.json", + "FadeInTime": 0.5, + "FadeOutTime": 0.5 + }, + { + "File": "motions/Hiyori_m07.motion3.json", + "FadeInTime": 0.5, + "FadeOutTime": 0.5 + }, + { + "File": "motions/Hiyori_m08.motion3.json", + "FadeInTime": 0.5, + "FadeOutTime": 0.5 + }, + { + "File": "motions/Hiyori_m09.motion3.json", + "FadeInTime": 0.5, + "FadeOutTime": 0.5 + }, + { + "File": "motions/Hiyori_m10.motion3.json", + "FadeInTime": 0.5, + "FadeOutTime": 0.5 + } + ] + } + }, + "Groups": [ + { + "Target": "Parameter", + "Name": "LipSync", + "Ids": [ + "ParamMouthOpenY" + ] + }, + { + "Target": "Parameter", + "Name": "EyeBlink", + "Ids": [ + "ParamEyeLOpen", + "ParamEyeROpen" + ] + } + ], + "HitAreas": [ + { + "Id": "HitArea", + "Name": "Body" + } + ] +} \ No newline at end of file diff --git a/staticfiles/Hiyori/Hiyori.physics3.json b/staticfiles/Hiyori/Hiyori.physics3.json new file mode 100644 index 0000000000000000000000000000000000000000..d1f2f96c2df766bd5b8a77e22cd2fe7fa1f181e5 --- /dev/null +++ b/staticfiles/Hiyori/Hiyori.physics3.json @@ -0,0 +1,1569 @@ +{ + "Version": 3, + "Meta": { + "PhysicsSettingCount": 11, + "TotalInputCount": 34, + "TotalOutputCount": 35, + "VertexCount": 58, + "EffectiveForces": { + "Gravity": { + "X": 0, + "Y": -1 + }, + "Wind": { + "X": 0, + "Y": 0 + } + }, + "PhysicsDictionary": [ + { + "Id": "PhysicsSetting1", + "Name": "前髪" + }, + { + "Id": "PhysicsSetting2", + "Name": "後ろ髪" + }, + { + "Id": "PhysicsSetting3", + "Name": "リボン 髪" + }, + { + "Id": "PhysicsSetting4", + "Name": "スカート 横揺れ" + }, + { + "Id": "PhysicsSetting5", + "Name": "スカート 縦揺れ" + }, + { + "Id": "PhysicsSetting6", + "Name": "リボン 体" + }, + { + "Id": "PhysicsSetting7", + "Name": "胸揺れ" + }, + { + "Id": "PhysicsSetting8", + "Name": "サイドアップ 右" + }, + { + "Id": "PhysicsSetting9", + "Name": "サイドアップ 左" + }, + { + "Id": "PhysicsSetting10", + "Name": "横髪 右" + }, + { + "Id": "PhysicsSetting11", + "Name": "横髪 左" + } + ] + }, + "PhysicsSettings": [ + { + "Id": "PhysicsSetting1", + "Input": [ + { + "Source": { + "Target": "Parameter", + "Id": "ParamAngleX" + }, + "Weight": 60, + "Type": "X", + "Reflect": false + }, + { + "Source": { + "Target": "Parameter", + "Id": "ParamAngleZ" + }, + "Weight": 60, + "Type": "Angle", + "Reflect": false + }, + { + "Source": { + "Target": "Parameter", + "Id": "ParamBodyAngleX" + }, + "Weight": 40, + "Type": "X", + "Reflect": false + }, + { + "Source": { + "Target": "Parameter", + "Id": "ParamBodyAngleZ" + }, + "Weight": 40, + "Type": "Angle", + "Reflect": false + } + ], + "Output": [ + { + "Destination": { + "Target": "Parameter", + "Id": "ParamHairFront" + }, + "VertexIndex": 1, + "Scale": 1.522, + "Weight": 100, + "Type": "Angle", + "Reflect": false + } + ], + "Vertices": [ + { + "Position": { + "X": 0, + "Y": 0 + }, + "Mobility": 1, + "Delay": 1, + "Acceleration": 1, + "Radius": 0 + }, + { + "Position": { + "X": 0, + "Y": 3 + }, + "Mobility": 0.95, + "Delay": 0.9, + "Acceleration": 1.5, + "Radius": 3 + } + ], + "Normalization": { + "Position": { + "Minimum": -10, + "Default": 0, + "Maximum": 10 + }, + "Angle": { + "Minimum": -10, + "Default": 0, + "Maximum": 10 + } + } + }, + { + "Id": "PhysicsSetting2", + "Input": [ + { + "Source": { + "Target": "Parameter", + "Id": "ParamAngleX" + }, + "Weight": 60, + "Type": "X", + "Reflect": false + }, + { + "Source": { + "Target": "Parameter", + "Id": "ParamAngleZ" + }, + "Weight": 60, + "Type": "Angle", + "Reflect": false + }, + { + "Source": { + "Target": "Parameter", + "Id": "ParamBodyAngleX" + }, + "Weight": 40, + "Type": "X", + "Reflect": false + }, + { + "Source": { + "Target": "Parameter", + "Id": "ParamBodyAngleZ" + }, + "Weight": 40, + "Type": "Angle", + "Reflect": false + } + ], + "Output": [ + { + "Destination": { + "Target": "Parameter", + "Id": "ParamHairBack" + }, + "VertexIndex": 1, + "Scale": 2.061, + "Weight": 100, + "Type": "Angle", + "Reflect": false + } + ], + "Vertices": [ + { + "Position": { + "X": 0, + "Y": 0 + }, + "Mobility": 1, + "Delay": 1, + "Acceleration": 1, + "Radius": 0 + }, + { + "Position": { + "X": 0, + "Y": 15 + }, + "Mobility": 0.95, + "Delay": 0.8, + "Acceleration": 1.5, + "Radius": 15 + } + ], + "Normalization": { + "Position": { + "Minimum": -10, + "Default": 0, + "Maximum": 10 + }, + "Angle": { + "Minimum": -30, + "Default": 0, + "Maximum": 30 + } + } + }, + { + "Id": "PhysicsSetting3", + "Input": [ + { + "Source": { + "Target": "Parameter", + "Id": "ParamAngleX" + }, + "Weight": 40, + "Type": "X", + "Reflect": false + }, + { + "Source": { + "Target": "Parameter", + "Id": "ParamAngleZ" + }, + "Weight": 40, + "Type": "Angle", + "Reflect": false + }, + { + "Source": { + "Target": "Parameter", + "Id": "ParamBodyAngleX" + }, + "Weight": 60, + "Type": "X", + "Reflect": false + }, + { + "Source": { + "Target": "Parameter", + "Id": "ParamBodyAngleZ" + }, + "Weight": 60, + "Type": "Angle", + "Reflect": false + } + ], + "Output": [ + { + "Destination": { + "Target": "Parameter", + "Id": "ParamSideupRibbon" + }, + "VertexIndex": 1, + "Scale": 1.775, + "Weight": 100, + "Type": "Angle", + "Reflect": false + } + ], + "Vertices": [ + { + "Position": { + "X": 0, + "Y": 0 + }, + "Mobility": 1, + "Delay": 1, + "Acceleration": 1, + "Radius": 0 + }, + { + "Position": { + "X": 0, + "Y": 10 + }, + "Mobility": 0.9, + "Delay": 0.6, + "Acceleration": 1.5, + "Radius": 10 + } + ], + "Normalization": { + "Position": { + "Minimum": -10, + "Default": 0, + "Maximum": 10 + }, + "Angle": { + "Minimum": -7.8, + "Default": 0, + "Maximum": 8 + } + } + }, + { + "Id": "PhysicsSetting4", + "Input": [ + { + "Source": { + "Target": "Parameter", + "Id": "ParamBodyAngleX" + }, + "Weight": 100, + "Type": "X", + "Reflect": false + }, + { + "Source": { + "Target": "Parameter", + "Id": "ParamBodyAngleZ" + }, + "Weight": 100, + "Type": "Angle", + "Reflect": false + } + ], + "Output": [ + { + "Destination": { + "Target": "Parameter", + "Id": "ParamSkirt" + }, + "VertexIndex": 1, + "Scale": 1.434, + "Weight": 100, + "Type": "Angle", + "Reflect": false + } + ], + "Vertices": [ + { + "Position": { + "X": 0, + "Y": 0 + }, + "Mobility": 1, + "Delay": 1, + "Acceleration": 1, + "Radius": 0 + }, + { + "Position": { + "X": 0, + "Y": 10 + }, + "Mobility": 0.9, + "Delay": 0.6, + "Acceleration": 1.5, + "Radius": 10 + } + ], + "Normalization": { + "Position": { + "Minimum": -10, + "Default": 0, + "Maximum": 10 + }, + "Angle": { + "Minimum": -10, + "Default": 0, + "Maximum": 10 + } + } + }, + { + "Id": "PhysicsSetting5", + "Input": [ + { + "Source": { + "Target": "Parameter", + "Id": "ParamBodyAngleY" + }, + "Weight": 100, + "Type": "X", + "Reflect": false + } + ], + "Output": [ + { + "Destination": { + "Target": "Parameter", + "Id": "ParamSkirt2" + }, + "VertexIndex": 1, + "Scale": 1.306, + "Weight": 100, + "Type": "Angle", + "Reflect": false + } + ], + "Vertices": [ + { + "Position": { + "X": 0, + "Y": 0 + }, + "Mobility": 1, + "Delay": 1, + "Acceleration": 1, + "Radius": 0 + }, + { + "Position": { + "X": 0, + "Y": 10 + }, + "Mobility": 0.8, + "Delay": 0.9, + "Acceleration": 2, + "Radius": 10 + } + ], + "Normalization": { + "Position": { + "Minimum": -10, + "Default": 0, + "Maximum": 10 + }, + "Angle": { + "Minimum": -10, + "Default": 0, + "Maximum": 10 + } + } + }, + { + "Id": "PhysicsSetting6", + "Input": [ + { + "Source": { + "Target": "Parameter", + "Id": "ParamBodyAngleX" + }, + "Weight": 100, + "Type": "X", + "Reflect": false + }, + { + "Source": { + "Target": "Parameter", + "Id": "ParamBodyAngleZ" + }, + "Weight": 100, + "Type": "Angle", + "Reflect": false + } + ], + "Output": [ + { + "Destination": { + "Target": "Parameter", + "Id": "ParamRibbon" + }, + "VertexIndex": 1, + "Scale": 1.402, + "Weight": 100, + "Type": "Angle", + "Reflect": false + } + ], + "Vertices": [ + { + "Position": { + "X": 0, + "Y": 0 + }, + "Mobility": 1, + "Delay": 1, + "Acceleration": 1, + "Radius": 0 + }, + { + "Position": { + "X": 0, + "Y": 10 + }, + "Mobility": 0.9, + "Delay": 0.6, + "Acceleration": 1.5, + "Radius": 10 + } + ], + "Normalization": { + "Position": { + "Minimum": -10, + "Default": 0, + "Maximum": 10 + }, + "Angle": { + "Minimum": -10, + "Default": 0, + "Maximum": 10.6 + } + } + }, + { + "Id": "PhysicsSetting7", + "Input": [ + { + "Source": { + "Target": "Parameter", + "Id": "ParamBodyAngleY" + }, + "Weight": 100, + "Type": "X", + "Reflect": false + } + ], + "Output": [ + { + "Destination": { + "Target": "Parameter", + "Id": "ParamBustY" + }, + "VertexIndex": 1, + "Scale": 1, + "Weight": 100, + "Type": "Angle", + "Reflect": false + } + ], + "Vertices": [ + { + "Position": { + "X": 0, + "Y": 0 + }, + "Mobility": 1, + "Delay": 1, + "Acceleration": 1, + "Radius": 0 + }, + { + "Position": { + "X": 0, + "Y": 3 + }, + "Mobility": 0.8, + "Delay": 0.9, + "Acceleration": 1.5, + "Radius": 3 + } + ], + "Normalization": { + "Position": { + "Minimum": -10, + "Default": 0, + "Maximum": 10 + }, + "Angle": { + "Minimum": -10, + "Default": 0, + "Maximum": 10 + } + } + }, + { + "Id": "PhysicsSetting8", + "Input": [ + { + "Source": { + "Target": "Parameter", + "Id": "ParamAngleX" + }, + "Weight": 60, + "Type": "X", + "Reflect": false + }, + { + "Source": { + "Target": "Parameter", + "Id": "ParamAngleZ" + }, + "Weight": 60, + "Type": "Angle", + "Reflect": false + }, + { + "Source": { + "Target": "Parameter", + "Id": "ParamBodyAngleX" + }, + "Weight": 40, + "Type": "X", + "Reflect": false + }, + { + "Source": { + "Target": "Parameter", + "Id": "ParamBodyAngleZ" + }, + "Weight": 40, + "Type": "Angle", + "Reflect": false + } + ], + "Output": [ + { + "Destination": { + "Target": "Parameter", + "Id": "Param_Angle_Rotation_1_ArtMesh61" + }, + "VertexIndex": 1, + "Scale": 10, + "Weight": 100, + "Type": "Angle", + "Reflect": false + }, + { + "Destination": { + "Target": "Parameter", + "Id": "Param_Angle_Rotation_2_ArtMesh61" + }, + "VertexIndex": 2, + "Scale": 20, + "Weight": 100, + "Type": "Angle", + "Reflect": false + }, + { + "Destination": { + "Target": "Parameter", + "Id": "Param_Angle_Rotation_3_ArtMesh61" + }, + "VertexIndex": 3, + "Scale": 30, + "Weight": 100, + "Type": "Angle", + "Reflect": false + }, + { + "Destination": { + "Target": "Parameter", + "Id": "Param_Angle_Rotation_4_ArtMesh61" + }, + "VertexIndex": 4, + "Scale": 30, + "Weight": 100, + "Type": "Angle", + "Reflect": false + }, + { + "Destination": { + "Target": "Parameter", + "Id": "Param_Angle_Rotation_5_ArtMesh61" + }, + "VertexIndex": 5, + "Scale": 30, + "Weight": 100, + "Type": "Angle", + "Reflect": false + }, + { + "Destination": { + "Target": "Parameter", + "Id": "Param_Angle_Rotation_6_ArtMesh61" + }, + "VertexIndex": 6, + "Scale": 30, + "Weight": 100, + "Type": "Angle", + "Reflect": false + }, + { + "Destination": { + "Target": "Parameter", + "Id": "Param_Angle_Rotation_7_ArtMesh61" + }, + "VertexIndex": 7, + "Scale": 30, + "Weight": 100, + "Type": "Angle", + "Reflect": false + } + ], + "Vertices": [ + { + "Position": { + "X": 0, + "Y": 0 + }, + "Mobility": 1, + "Delay": 1, + "Acceleration": 1, + "Radius": 10 + }, + { + "Position": { + "X": 0, + "Y": 10 + }, + "Mobility": 0.85, + "Delay": 0.85, + "Acceleration": 1.2, + "Radius": 10 + }, + { + "Position": { + "X": 0, + "Y": 20 + }, + "Mobility": 0.85, + "Delay": 0.85, + "Acceleration": 1.2, + "Radius": 10 + }, + { + "Position": { + "X": 0, + "Y": 30 + }, + "Mobility": 0.85, + "Delay": 0.85, + "Acceleration": 1.2, + "Radius": 10 + }, + { + "Position": { + "X": 0, + "Y": 40 + }, + "Mobility": 0.85, + "Delay": 0.85, + "Acceleration": 1.2, + "Radius": 10 + }, + { + "Position": { + "X": 0, + "Y": 50 + }, + "Mobility": 0.85, + "Delay": 0.85, + "Acceleration": 1.2, + "Radius": 10 + }, + { + "Position": { + "X": 0, + "Y": 60 + }, + "Mobility": 0.85, + "Delay": 0.85, + "Acceleration": 1.2, + "Radius": 10 + }, + { + "Position": { + "X": 0, + "Y": 70 + }, + "Mobility": 0.85, + "Delay": 0.85, + "Acceleration": 1.2, + "Radius": 10 + }, + { + "Position": { + "X": 0, + "Y": 80 + }, + "Mobility": 0.85, + "Delay": 0.85, + "Acceleration": 1.2, + "Radius": 10 + }, + { + "Position": { + "X": 0, + "Y": 90 + }, + "Mobility": 0.85, + "Delay": 0.85, + "Acceleration": 1.2, + "Radius": 10 + }, + { + "Position": { + "X": 0, + "Y": 100 + }, + "Mobility": 0.85, + "Delay": 0.85, + "Acceleration": 1.2, + "Radius": 10 + } + ], + "Normalization": { + "Position": { + "Minimum": -10, + "Default": 0, + "Maximum": 10 + }, + "Angle": { + "Minimum": -10, + "Default": 0, + "Maximum": 10 + } + } + }, + { + "Id": "PhysicsSetting9", + "Input": [ + { + "Source": { + "Target": "Parameter", + "Id": "ParamAngleX" + }, + "Weight": 60, + "Type": "X", + "Reflect": false + }, + { + "Source": { + "Target": "Parameter", + "Id": "ParamAngleZ" + }, + "Weight": 60, + "Type": "Angle", + "Reflect": false + }, + { + "Source": { + "Target": "Parameter", + "Id": "ParamBodyAngleX" + }, + "Weight": 40, + "Type": "X", + "Reflect": false + }, + { + "Source": { + "Target": "Parameter", + "Id": "ParamBodyAngleZ" + }, + "Weight": 40, + "Type": "Angle", + "Reflect": false + } + ], + "Output": [ + { + "Destination": { + "Target": "Parameter", + "Id": "Param_Angle_Rotation_1_ArtMesh62" + }, + "VertexIndex": 1, + "Scale": 10, + "Weight": 100, + "Type": "Angle", + "Reflect": false + }, + { + "Destination": { + "Target": "Parameter", + "Id": "Param_Angle_Rotation_2_ArtMesh62" + }, + "VertexIndex": 2, + "Scale": 20, + "Weight": 100, + "Type": "Angle", + "Reflect": false + }, + { + "Destination": { + "Target": "Parameter", + "Id": "Param_Angle_Rotation_3_ArtMesh62" + }, + "VertexIndex": 3, + "Scale": 30, + "Weight": 100, + "Type": "Angle", + "Reflect": false + }, + { + "Destination": { + "Target": "Parameter", + "Id": "Param_Angle_Rotation_4_ArtMesh62" + }, + "VertexIndex": 4, + "Scale": 30, + "Weight": 100, + "Type": "Angle", + "Reflect": false + }, + { + "Destination": { + "Target": "Parameter", + "Id": "Param_Angle_Rotation_5_ArtMesh62" + }, + "VertexIndex": 5, + "Scale": 30, + "Weight": 100, + "Type": "Angle", + "Reflect": false + }, + { + "Destination": { + "Target": "Parameter", + "Id": "Param_Angle_Rotation_6_ArtMesh62" + }, + "VertexIndex": 6, + "Scale": 30, + "Weight": 100, + "Type": "Angle", + "Reflect": false + }, + { + "Destination": { + "Target": "Parameter", + "Id": "Param_Angle_Rotation_7_ArtMesh62" + }, + "VertexIndex": 7, + "Scale": 30, + "Weight": 100, + "Type": "Angle", + "Reflect": false + } + ], + "Vertices": [ + { + "Position": { + "X": 0, + "Y": 0 + }, + "Mobility": 1, + "Delay": 1, + "Acceleration": 1, + "Radius": 10 + }, + { + "Position": { + "X": 0, + "Y": 10 + }, + "Mobility": 0.85, + "Delay": 0.85, + "Acceleration": 1.2, + "Radius": 10 + }, + { + "Position": { + "X": 0, + "Y": 20 + }, + "Mobility": 0.85, + "Delay": 0.85, + "Acceleration": 1.2, + "Radius": 10 + }, + { + "Position": { + "X": 0, + "Y": 30 + }, + "Mobility": 0.85, + "Delay": 0.85, + "Acceleration": 1.2, + "Radius": 10 + }, + { + "Position": { + "X": 0, + "Y": 40 + }, + "Mobility": 0.85, + "Delay": 0.85, + "Acceleration": 1.2, + "Radius": 10 + }, + { + "Position": { + "X": 0, + "Y": 50 + }, + "Mobility": 0.85, + "Delay": 0.85, + "Acceleration": 1.2, + "Radius": 10 + }, + { + "Position": { + "X": 0, + "Y": 60 + }, + "Mobility": 0.85, + "Delay": 0.85, + "Acceleration": 1.2, + "Radius": 10 + }, + { + "Position": { + "X": 0, + "Y": 70 + }, + "Mobility": 0.85, + "Delay": 0.85, + "Acceleration": 1.2, + "Radius": 10 + }, + { + "Position": { + "X": 0, + "Y": 80 + }, + "Mobility": 0.85, + "Delay": 0.85, + "Acceleration": 1.2, + "Radius": 10 + }, + { + "Position": { + "X": 0, + "Y": 90 + }, + "Mobility": 0.85, + "Delay": 0.85, + "Acceleration": 1.2, + "Radius": 10 + }, + { + "Position": { + "X": 0, + "Y": 100 + }, + "Mobility": 0.85, + "Delay": 0.85, + "Acceleration": 1.2, + "Radius": 10 + } + ], + "Normalization": { + "Position": { + "Minimum": -10, + "Default": 0, + "Maximum": 10 + }, + "Angle": { + "Minimum": -10, + "Default": 0, + "Maximum": 10 + } + } + }, + { + "Id": "PhysicsSetting10", + "Input": [ + { + "Source": { + "Target": "Parameter", + "Id": "ParamAngleX" + }, + "Weight": 60, + "Type": "X", + "Reflect": false + }, + { + "Source": { + "Target": "Parameter", + "Id": "ParamAngleZ" + }, + "Weight": 60, + "Type": "Angle", + "Reflect": false + }, + { + "Source": { + "Target": "Parameter", + "Id": "ParamBodyAngleX" + }, + "Weight": 40, + "Type": "X", + "Reflect": false + }, + { + "Source": { + "Target": "Parameter", + "Id": "ParamBodyAngleZ" + }, + "Weight": 40, + "Type": "Angle", + "Reflect": false + } + ], + "Output": [ + { + "Destination": { + "Target": "Parameter", + "Id": "Param_Angle_Rotation_1_ArtMesh54" + }, + "VertexIndex": 1, + "Scale": 5, + "Weight": 100, + "Type": "Angle", + "Reflect": false + }, + { + "Destination": { + "Target": "Parameter", + "Id": "Param_Angle_Rotation_2_ArtMesh54" + }, + "VertexIndex": 2, + "Scale": 5, + "Weight": 100, + "Type": "Angle", + "Reflect": false + }, + { + "Destination": { + "Target": "Parameter", + "Id": "Param_Angle_Rotation_3_ArtMesh54" + }, + "VertexIndex": 3, + "Scale": 10, + "Weight": 100, + "Type": "Angle", + "Reflect": false + }, + { + "Destination": { + "Target": "Parameter", + "Id": "Param_Angle_Rotation_4_ArtMesh54" + }, + "VertexIndex": 4, + "Scale": 20, + "Weight": 100, + "Type": "Angle", + "Reflect": false + }, + { + "Destination": { + "Target": "Parameter", + "Id": "Param_Angle_Rotation_5_ArtMesh54" + }, + "VertexIndex": 5, + "Scale": 20, + "Weight": 100, + "Type": "Angle", + "Reflect": false + }, + { + "Destination": { + "Target": "Parameter", + "Id": "Param_Angle_Rotation_6_ArtMesh54" + }, + "VertexIndex": 6, + "Scale": 25, + "Weight": 100, + "Type": "Angle", + "Reflect": false + }, + { + "Destination": { + "Target": "Parameter", + "Id": "Param_Angle_Rotation_7_ArtMesh54" + }, + "VertexIndex": 7, + "Scale": 30, + "Weight": 100, + "Type": "Angle", + "Reflect": false + } + ], + "Vertices": [ + { + "Position": { + "X": 0, + "Y": 0 + }, + "Mobility": 0.9, + "Delay": 1, + "Acceleration": 1, + "Radius": 15 + }, + { + "Position": { + "X": 0, + "Y": 15 + }, + "Mobility": 0.9, + "Delay": 0.85, + "Acceleration": 1.2, + "Radius": 15 + }, + { + "Position": { + "X": 0, + "Y": 30 + }, + "Mobility": 0.9, + "Delay": 0.85, + "Acceleration": 1.2, + "Radius": 15 + }, + { + "Position": { + "X": 0, + "Y": 45 + }, + "Mobility": 0.9, + "Delay": 0.85, + "Acceleration": 1.2, + "Radius": 15 + }, + { + "Position": { + "X": 0, + "Y": 60 + }, + "Mobility": 0.9, + "Delay": 0.85, + "Acceleration": 1.2, + "Radius": 15 + }, + { + "Position": { + "X": 0, + "Y": 75 + }, + "Mobility": 0.9, + "Delay": 0.85, + "Acceleration": 1.2, + "Radius": 15 + }, + { + "Position": { + "X": 0, + "Y": 90 + }, + "Mobility": 0.9, + "Delay": 0.85, + "Acceleration": 1.2, + "Radius": 15 + }, + { + "Position": { + "X": 0, + "Y": 105 + }, + "Mobility": 0.9, + "Delay": 0.85, + "Acceleration": 1.2, + "Radius": 15 + }, + { + "Position": { + "X": 0, + "Y": 120 + }, + "Mobility": 0.9, + "Delay": 0.85, + "Acceleration": 1.2, + "Radius": 15 + }, + { + "Position": { + "X": 0, + "Y": 135 + }, + "Mobility": 0.9, + "Delay": 0.85, + "Acceleration": 1.2, + "Radius": 15 + }, + { + "Position": { + "X": 0, + "Y": 150 + }, + "Mobility": 0.9, + "Delay": 0.85, + "Acceleration": 1.2, + "Radius": 15 + } + ], + "Normalization": { + "Position": { + "Minimum": -10, + "Default": 0, + "Maximum": 10 + }, + "Angle": { + "Minimum": -10, + "Default": 0, + "Maximum": 10 + } + } + }, + { + "Id": "PhysicsSetting11", + "Input": [ + { + "Source": { + "Target": "Parameter", + "Id": "ParamAngleX" + }, + "Weight": 60, + "Type": "X", + "Reflect": false + }, + { + "Source": { + "Target": "Parameter", + "Id": "ParamAngleZ" + }, + "Weight": 60, + "Type": "Angle", + "Reflect": false + }, + { + "Source": { + "Target": "Parameter", + "Id": "ParamBodyAngleX" + }, + "Weight": 40, + "Type": "X", + "Reflect": false + }, + { + "Source": { + "Target": "Parameter", + "Id": "ParamBodyAngleZ" + }, + "Weight": 40, + "Type": "Angle", + "Reflect": false + } + ], + "Output": [ + { + "Destination": { + "Target": "Parameter", + "Id": "Param_Angle_Rotation_1_ArtMesh55" + }, + "VertexIndex": 1, + "Scale": 5, + "Weight": 100, + "Type": "Angle", + "Reflect": false + }, + { + "Destination": { + "Target": "Parameter", + "Id": "Param_Angle_Rotation_2_ArtMesh55" + }, + "VertexIndex": 2, + "Scale": 5, + "Weight": 100, + "Type": "Angle", + "Reflect": false + }, + { + "Destination": { + "Target": "Parameter", + "Id": "Param_Angle_Rotation_3_ArtMesh55" + }, + "VertexIndex": 3, + "Scale": 10, + "Weight": 100, + "Type": "Angle", + "Reflect": false + }, + { + "Destination": { + "Target": "Parameter", + "Id": "Param_Angle_Rotation_4_ArtMesh55" + }, + "VertexIndex": 4, + "Scale": 20, + "Weight": 100, + "Type": "Angle", + "Reflect": false + }, + { + "Destination": { + "Target": "Parameter", + "Id": "Param_Angle_Rotation_5_ArtMesh55" + }, + "VertexIndex": 5, + "Scale": 20, + "Weight": 100, + "Type": "Angle", + "Reflect": false + }, + { + "Destination": { + "Target": "Parameter", + "Id": "Param_Angle_Rotation_6_ArtMesh55" + }, + "VertexIndex": 6, + "Scale": 25, + "Weight": 100, + "Type": "Angle", + "Reflect": false + }, + { + "Destination": { + "Target": "Parameter", + "Id": "Param_Angle_Rotation_7_ArtMesh55" + }, + "VertexIndex": 7, + "Scale": 30, + "Weight": 100, + "Type": "Angle", + "Reflect": false + } + ], + "Vertices": [ + { + "Position": { + "X": 0, + "Y": 0 + }, + "Mobility": 0.9, + "Delay": 0.7, + "Acceleration": 1, + "Radius": 15 + }, + { + "Position": { + "X": 0, + "Y": 15 + }, + "Mobility": 0.9, + "Delay": 0.85, + "Acceleration": 1.2, + "Radius": 15 + }, + { + "Position": { + "X": 0, + "Y": 30 + }, + "Mobility": 0.9, + "Delay": 0.85, + "Acceleration": 1.2, + "Radius": 15 + }, + { + "Position": { + "X": 0, + "Y": 45 + }, + "Mobility": 0.9, + "Delay": 0.85, + "Acceleration": 1.2, + "Radius": 15 + }, + { + "Position": { + "X": 0, + "Y": 60 + }, + "Mobility": 0.9, + "Delay": 0.85, + "Acceleration": 1.2, + "Radius": 15 + }, + { + "Position": { + "X": 0, + "Y": 75 + }, + "Mobility": 0.9, + "Delay": 0.85, + "Acceleration": 1.2, + "Radius": 15 + }, + { + "Position": { + "X": 0, + "Y": 90 + }, + "Mobility": 0.9, + "Delay": 0.85, + "Acceleration": 1.2, + "Radius": 15 + }, + { + "Position": { + "X": 0, + "Y": 105 + }, + "Mobility": 0.9, + "Delay": 0.85, + "Acceleration": 1.2, + "Radius": 15 + }, + { + "Position": { + "X": 0, + "Y": 120 + }, + "Mobility": 0.9, + "Delay": 0.85, + "Acceleration": 1.2, + "Radius": 15 + }, + { + "Position": { + "X": 0, + "Y": 135 + }, + "Mobility": 0.9, + "Delay": 0.85, + "Acceleration": 1.2, + "Radius": 15 + }, + { + "Position": { + "X": 0, + "Y": 150 + }, + "Mobility": 0.9, + "Delay": 0.85, + "Acceleration": 1.2, + "Radius": 15 + } + ], + "Normalization": { + "Position": { + "Minimum": -10, + "Default": 0, + "Maximum": 10 + }, + "Angle": { + "Minimum": -10, + "Default": 0, + "Maximum": 10 + } + } + } + ] +} \ No newline at end of file diff --git a/staticfiles/Hiyori/Hiyori.pose3.json b/staticfiles/Hiyori/Hiyori.pose3.json new file mode 100644 index 0000000000000000000000000000000000000000..297fc782cc3a3c06e6765ae25a590158f47b49d1 --- /dev/null +++ b/staticfiles/Hiyori/Hiyori.pose3.json @@ -0,0 +1,16 @@ +{ + "Type": "Live2D Pose", + "FadeInTime": 0.5, + "Groups": [ + [ + { + "Id": "PartArmA", + "Link": [] + }, + { + "Id": "PartArmB", + "Link": [] + } + ] + ] +} \ No newline at end of file diff --git a/staticfiles/Hiyori/Hiyori.userdata3.json b/staticfiles/Hiyori/Hiyori.userdata3.json new file mode 100644 index 0000000000000000000000000000000000000000..5dd9fdf316db39c2e37f075c365cd66d416aa305 --- /dev/null +++ b/staticfiles/Hiyori/Hiyori.userdata3.json @@ -0,0 +1,44 @@ +{ + "Version": 3, + "Meta": { + "UserDataCount": 7, + "TotalUserDataSize": 35 + }, + "UserData": [ + { + "Target": "ArtMesh", + "Id": "ArtMesh93", + "Value": "ribon" + }, + { + "Target": "ArtMesh", + "Id": "ArtMesh94", + "Value": "ribon" + }, + { + "Target": "ArtMesh", + "Id": "ArtMesh95", + "Value": "ribon" + }, + { + "Target": "ArtMesh", + "Id": "ArtMesh57", + "Value": "ribon" + }, + { + "Target": "ArtMesh", + "Id": "ArtMesh58", + "Value": "ribon" + }, + { + "Target": "ArtMesh", + "Id": "ArtMesh59", + "Value": "ribon" + }, + { + "Target": "ArtMesh", + "Id": "ArtMesh60", + "Value": "ribon" + } + ] +} \ No newline at end of file diff --git a/staticfiles/Hiyori/motions/Hiyori_m01.motion3.json b/staticfiles/Hiyori/motions/Hiyori_m01.motion3.json new file mode 100644 index 0000000000000000000000000000000000000000..5adb2295cfbb60bc94e4b2049b8381ae1a649ea6 --- /dev/null +++ b/staticfiles/Hiyori/motions/Hiyori_m01.motion3.json @@ -0,0 +1,1085 @@ +{ + "Version": 3, + "Meta": { + "Duration": 4.7, + "Fps": 30.0, + "Loop": true, + "AreBeziersRestricted": false, + "CurveCount": 31, + "TotalSegmentCount": 135, + "TotalPointCount": 374, + "UserDataCount": 0, + "TotalUserDataSize": 0 + }, + "Curves": [ + { + "Target": "Parameter", + "Id": "ParamAngleX", + "Segments": [ + 0, + -8, + 1, + 0.067, + -8, + 0.133, + -8, + 0.2, + -8, + 1, + 0.278, + -8, + 0.356, + -8, + 0.433, + -8, + 1, + 0.556, + -8, + 0.678, + -8, + 0.8, + -8, + 1, + 0.956, + -8, + 1.111, + -8, + 1.267, + -8, + 1, + 1.522, + -8, + 1.778, + 0, + 2.033, + 0, + 1, + 2.122, + 0, + 2.211, + 0, + 2.3, + 0, + 1, + 2.556, + 0, + 2.811, + 9, + 3.067, + 9, + 1, + 3.356, + 9, + 3.644, + 0, + 3.933, + 0, + 1, + 4.067, + 0, + 4.2, + 1, + 4.333, + 1, + 0, + 4.7, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleY", + "Segments": [ + 0, + -5, + 1, + 0.067, + -5, + 0.133, + -5, + 0.2, + -5, + 1, + 0.322, + -5, + 0.444, + 16, + 0.567, + 16, + 1, + 0.711, + 16, + 0.856, + -12, + 1, + -12, + 1, + 1.089, + -12, + 1.178, + 11, + 1.267, + 11, + 1, + 1.356, + 11, + 1.444, + 9.376, + 1.533, + 3, + 1, + 1.611, + -2.579, + 1.689, + -8, + 1.767, + -8, + 1, + 1.856, + -8, + 1.944, + 0, + 2.033, + 0, + 1, + 2.122, + 0, + 2.211, + 0, + 2.3, + 0, + 1, + 2.578, + 0, + 2.856, + -30, + 3.133, + -30, + 1, + 3.278, + -30, + 3.422, + 15, + 3.567, + 15, + 1, + 3.689, + 15, + 3.811, + -9, + 3.933, + -9, + 0, + 4.7, + -9 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleZ", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.278, + 0, + 0.356, + 0, + 0.433, + 0, + 1, + 0.711, + 0, + 0.989, + 0, + 1.267, + 0, + 1, + 1.522, + 0, + 1.778, + 14, + 2.033, + 14, + 1, + 2.178, + 14, + 2.322, + 14, + 2.467, + 14, + 1, + 2.8, + 14, + 3.133, + 16, + 3.467, + 16, + 1, + 3.633, + 16, + 3.8, + -13, + 3.967, + -13, + 1, + 4.111, + -13, + 4.256, + -11.207, + 4.4, + -11.207, + 0, + 4.7, + -11.207 + ] + }, + { + "Target": "Parameter", + "Id": "ParamCheek", + "Segments": [ + 0, + 0, + 0, + 4.7, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeLOpen", + "Segments": [ + 0, + 1, + 1, + 0.556, + 1, + 1.111, + 1, + 1.667, + 1, + 1, + 1.711, + 1, + 1.756, + 0, + 1.8, + 0, + 1, + 1.822, + 0, + 1.844, + 0, + 1.867, + 0, + 1, + 1.911, + 0, + 1.956, + 1, + 2, + 1, + 1, + 2.489, + 1, + 2.978, + 1, + 3.467, + 1, + 1, + 3.511, + 1, + 3.556, + 0, + 3.6, + 0, + 1, + 3.622, + 0, + 3.644, + 0, + 3.667, + 0, + 1, + 3.733, + 0, + 3.8, + 1, + 3.867, + 1, + 0, + 4.7, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeLSmile", + "Segments": [ + 0, + 0, + 0, + 4.7, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeROpen", + "Segments": [ + 0, + 1, + 1, + 0.556, + 1, + 1.111, + 1, + 1.667, + 1, + 1, + 1.711, + 1, + 1.756, + 0, + 1.8, + 0, + 1, + 1.822, + 0, + 1.844, + 0, + 1.867, + 0, + 1, + 1.911, + 0, + 1.956, + 1, + 2, + 1, + 1, + 2.489, + 1, + 2.978, + 1, + 3.467, + 1, + 1, + 3.511, + 1, + 3.556, + 0, + 3.6, + 0, + 1, + 3.622, + 0, + 3.644, + 0, + 3.667, + 0, + 1, + 3.733, + 0, + 3.8, + 1, + 3.867, + 1, + 0, + 4.7, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeRSmile", + "Segments": [ + 0, + 0, + 0, + 4.7, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallX", + "Segments": [ + 0, + 0, + 1, + 0.156, + 0, + 0.311, + -0.02, + 0.467, + -0.02, + 1, + 0.578, + -0.02, + 0.689, + 0, + 0.8, + 0, + 1, + 1.056, + 0, + 1.311, + 0, + 1.567, + 0, + 1, + 1.767, + 0, + 1.967, + -0.131, + 2.167, + -0.15, + 1, + 2.644, + -0.195, + 3.122, + -0.2, + 3.6, + -0.2, + 1, + 3.622, + -0.2, + 3.644, + 0.803, + 3.667, + 0.803, + 0, + 4.7, + 0.803 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallY", + "Segments": [ + 0, + 0, + 1, + 0.156, + 0, + 0.311, + 0.01, + 0.467, + 0.08, + 1, + 0.578, + 0.13, + 0.689, + 0.21, + 0.8, + 0.21, + 1, + 1.056, + 0.21, + 1.311, + 0.21, + 1.567, + 0.21, + 1, + 1.767, + 0.21, + 1.967, + 0.08, + 2.167, + 0.08, + 1, + 2.644, + 0.08, + 3.122, + 0.086, + 3.6, + 0.1, + 1, + 3.622, + 0.101, + 3.644, + 0.794, + 3.667, + 0.794, + 0, + 4.7, + 0.794 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLY", + "Segments": [ + 0, + 0, + 0, + 4.7, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRY", + "Segments": [ + 0, + 0, + 0, + 4.7, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLX", + "Segments": [ + 0, + 0, + 0, + 4.7, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRX", + "Segments": [ + 0, + 0, + 0, + 4.7, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLAngle", + "Segments": [ + 0, + 0, + 0, + 4.7, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRAngle", + "Segments": [ + 0, + 0, + 0, + 4.7, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLForm", + "Segments": [ + 0, + 0, + 0, + 4.7, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRForm", + "Segments": [ + 0, + 0, + 0, + 4.7, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamMouthForm", + "Segments": [ + 0, + 1, + 0, + 4.7, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamMouthOpenY", + "Segments": [ + 0, + 0, + 0, + 4.7, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleX", + "Segments": [ + 0, + 1, + 1, + 0.856, + 1, + 1.711, + 1, + 2.567, + 1, + 1, + 2.789, + 1, + 3.011, + 1.145, + 3.233, + 0, + 1, + 3.467, + -1.202, + 3.7, + -6, + 3.933, + -6, + 0, + 4.7, + -6 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleY", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.278, + 0, + 0.356, + 7, + 0.433, + 7, + 1, + 0.611, + 7, + 0.789, + -4, + 0.967, + -4, + 1, + 1.078, + -4, + 1.189, + 6, + 1.3, + 6, + 1, + 1.433, + 6, + 1.567, + -3, + 1.7, + -3, + 1, + 1.789, + -3, + 1.878, + -1.459, + 1.967, + 0, + 1, + 2.067, + 1.642, + 2.167, + 3.47, + 2.267, + 4, + 1, + 2.367, + 4.53, + 2.467, + 4.312, + 2.567, + 5, + 1, + 2.889, + 7.215, + 3.211, + 10, + 3.533, + 10, + 1, + 3.667, + 10, + 3.8, + 0, + 3.933, + 0, + 1, + 4.067, + 0, + 4.2, + 0, + 4.333, + 0, + 0, + 4.7, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleZ", + "Segments": [ + 0, + 0, + 1, + 0.822, + 0, + 1.644, + 0, + 2.467, + 0, + 1, + 2.722, + 0, + 2.978, + 5, + 3.233, + 5, + 1, + 3.489, + 5, + 3.744, + -5, + 4, + -5, + 1, + 4.156, + -5, + 4.311, + -3.976, + 4.467, + -3.976, + 0, + 4.7, + -3.976 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBreath", + "Segments": [ + 0, + 0, + 0, + 4.7, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamShoulder", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0.2, + 0.333, + 0.2, + 1, + 0.422, + 0.2, + 0.511, + -0.1, + 0.6, + -0.1, + 1, + 1.578, + -0.1, + 2.556, + -0.1, + 3.533, + -0.1, + 1, + 3.611, + -0.1, + 3.689, + 0.2, + 3.767, + 0.2, + 1, + 3.989, + 0.2, + 4.211, + -0.9, + 4.433, + -0.9, + 0, + 4.7, + -0.9 + ] + }, + { + "Target": "Parameter", + "Id": "ParamLeg", + "Segments": [ + 0, + 1, + 0, + 4.7, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmLA", + "Segments": [ + 0, + -10, + 1, + 0.178, + -10, + 0.356, + -7, + 0.533, + -7, + 1, + 0.7, + -7, + 0.867, + -10, + 1.033, + -10, + 1, + 1.2, + -10, + 1.367, + -8, + 1.533, + -8, + 1, + 1.611, + -8, + 1.689, + -8.746, + 1.767, + -9, + 1, + 2.011, + -9.797, + 2.256, + -10, + 2.5, + -10, + 1, + 2.556, + -10, + 2.611, + -10, + 2.667, + -10, + 1, + 2.789, + -10, + 2.911, + -10, + 3.033, + -10, + 0, + 4.7, + -10 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmRA", + "Segments": [ + 0, + -10, + 1, + 0.178, + -10, + 0.356, + -7, + 0.533, + -7, + 1, + 0.7, + -7, + 0.867, + -10, + 1.033, + -10, + 1, + 1.2, + -10, + 1.367, + -6, + 1.533, + -6, + 1, + 1.611, + -6, + 1.689, + -6.903, + 1.767, + -7.5, + 1, + 2.011, + -9.377, + 2.256, + -10, + 2.5, + -10, + 1, + 2.567, + -10, + 2.633, + -8.958, + 2.7, + -8.958, + 1, + 2.811, + -8.958, + 2.922, + -10, + 3.033, + -10, + 0, + 4.7, + -10 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHairAhoge", + "Segments": [ + 0, + 0, + 1, + 0.144, + 0, + 0.289, + 10, + 0.433, + 10, + 1, + 0.578, + 10, + 0.722, + -10, + 0.867, + -10, + 1, + 0.989, + -10, + 1.111, + 4, + 1.233, + 4, + 1, + 1.322, + 4, + 1.411, + 2.767, + 1.5, + 0, + 1, + 1.611, + -3.459, + 1.722, + -5.351, + 1.833, + -5.351, + 1, + 1.922, + -5.351, + 2.011, + 1.661, + 2.1, + 1.661, + 1, + 2.233, + 1.661, + 2.367, + 0, + 2.5, + 0, + 1, + 2.867, + 0, + 3.233, + 10, + 3.6, + 10, + 1, + 3.722, + 10, + 3.844, + -10, + 3.967, + -10, + 1, + 4.078, + -10, + 4.189, + 6, + 4.3, + 6, + 1, + 4.356, + 6, + 4.411, + 0, + 4.467, + 0, + 0, + 4.7, + 0 + ] + }, + { + "Target": "PartOpacity", + "Id": "PartArmA", + "Segments": [ + 0, + 1, + 0, + 4.7, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "PartArmB", + "Segments": [ + 0, + 0, + 0, + 4.7, + 0 + ] + } + ] +} \ No newline at end of file diff --git a/staticfiles/Hiyori/motions/Hiyori_m02.motion3.json b/staticfiles/Hiyori/motions/Hiyori_m02.motion3.json new file mode 100644 index 0000000000000000000000000000000000000000..bb652b1c1ef0c0fc06d5e0a1c09ed948ad918373 --- /dev/null +++ b/staticfiles/Hiyori/motions/Hiyori_m02.motion3.json @@ -0,0 +1,1478 @@ +{ + "Version": 3, + "Meta": { + "Duration": 5.93, + "Fps": 30.0, + "Loop": true, + "AreBeziersRestricted": false, + "CurveCount": 33, + "TotalSegmentCount": 190, + "TotalPointCount": 537, + "UserDataCount": 0, + "TotalUserDataSize": 0 + }, + "Curves": [ + { + "Target": "Parameter", + "Id": "ParamAngleX", + "Segments": [ + 0, + 18, + 1, + 0.211, + 18, + 0.422, + 0, + 0.633, + 0, + 1, + 0.889, + 0, + 1.144, + 22, + 1.4, + 22, + 1, + 1.578, + 22, + 1.756, + 22, + 1.933, + 22, + 1, + 2.1, + 22, + 2.267, + 14.992, + 2.433, + 0, + 1, + 2.6, + -14.992, + 2.767, + -23, + 2.933, + -23, + 1, + 3.244, + -23, + 3.556, + -23, + 3.867, + -23, + 1, + 4.078, + -23, + 4.289, + 0, + 4.5, + 0, + 0, + 5.933, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleY", + "Segments": [ + 0, + -24, + 1, + 0.211, + -24, + 0.422, + 0, + 0.633, + 0, + 1, + 0.889, + 0, + 1.144, + -18, + 1.4, + -18, + 1, + 1.522, + -18, + 1.644, + -11, + 1.767, + -11, + 1, + 1.822, + -11, + 1.878, + -11, + 1.933, + -11, + 1, + 2.1, + -11, + 2.267, + -3, + 2.433, + -3, + 1, + 2.6, + -3, + 2.767, + -30, + 2.933, + -30, + 1, + 3.133, + -30, + 3.333, + -23, + 3.533, + -23, + 1, + 3.644, + -23, + 3.756, + -23, + 3.867, + -23, + 1, + 3.911, + -23, + 3.956, + -23, + 4, + -23, + 1, + 4.167, + -23, + 4.333, + 0, + 4.5, + 0, + 0, + 5.933, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleZ", + "Segments": [ + 0, + 0, + 1, + 0.222, + 0, + 0.444, + 0, + 0.667, + 0, + 1, + 0.756, + 0, + 0.844, + 1.707, + 0.933, + 8, + 1, + 1.122, + 21.373, + 1.311, + 30, + 1.5, + 30, + 1, + 1.656, + 30, + 1.811, + 30, + 1.967, + 30, + 1, + 2.289, + 30, + 2.611, + -30, + 2.933, + -30, + 1, + 3.244, + -30, + 3.556, + -30, + 3.867, + -30, + 1, + 4.078, + -30, + 4.289, + -21.337, + 4.5, + 1, + 1, + 4.578, + 9.23, + 4.656, + 17, + 4.733, + 17, + 0, + 5.933, + 17 + ] + }, + { + "Target": "Parameter", + "Id": "ParamCheek", + "Segments": [ + 0, + 1, + 0, + 5.933, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeLOpen", + "Segments": [ + 0, + 1, + 1, + 0.333, + 1, + 0.667, + 1, + 1, + 1, + 1, + 1.044, + 1, + 1.089, + 0, + 1.133, + 0, + 1, + 1.156, + 0, + 1.178, + 0, + 1.2, + 0, + 1, + 1.256, + 0, + 1.311, + 1, + 1.367, + 1, + 1, + 1.833, + 1, + 2.3, + 1, + 2.767, + 1, + 1, + 2.867, + 1, + 2.967, + 1.2, + 3.067, + 1.2, + 1, + 3.233, + 1.2, + 3.4, + 1, + 3.567, + 1, + 1, + 3.689, + 1, + 3.811, + 1, + 3.933, + 1, + 1, + 3.978, + 1, + 4.022, + 0, + 4.067, + 0, + 1, + 4.089, + 0, + 4.111, + 0, + 4.133, + 0, + 1, + 4.189, + 0, + 4.244, + 1, + 4.3, + 1, + 1, + 4.4, + 1, + 4.5, + 1, + 4.6, + 1, + 1, + 4.633, + 1, + 4.667, + 0, + 4.7, + 0, + 0, + 5.933, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeLSmile", + "Segments": [ + 0, + 0.63, + 1, + 1.433, + 0.63, + 2.867, + 0.6, + 4.3, + 0.6, + 1, + 4.4, + 0.6, + 4.5, + 0.771, + 4.6, + 0.771, + 0, + 5.933, + 0.771 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeROpen", + "Segments": [ + 0, + 1, + 1, + 0.333, + 1, + 0.667, + 1, + 1, + 1, + 1, + 1.044, + 1, + 1.089, + 0, + 1.133, + 0, + 1, + 1.156, + 0, + 1.178, + 0, + 1.2, + 0, + 1, + 1.256, + 0, + 1.311, + 1, + 1.367, + 1, + 1, + 1.833, + 1, + 2.3, + 1, + 2.767, + 1, + 1, + 2.867, + 1, + 2.967, + 1.2, + 3.067, + 1.2, + 1, + 3.233, + 1.2, + 3.4, + 1, + 3.567, + 1, + 1, + 3.689, + 1, + 3.811, + 1, + 3.933, + 1, + 1, + 3.978, + 1, + 4.022, + 0, + 4.067, + 0, + 1, + 4.089, + 0, + 4.111, + 0, + 4.133, + 0, + 1, + 4.189, + 0, + 4.244, + 1, + 4.3, + 1, + 1, + 4.4, + 1, + 4.5, + 1, + 4.6, + 1, + 1, + 4.633, + 1, + 4.667, + 0, + 4.7, + 0, + 0, + 5.933, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeRSmile", + "Segments": [ + 0, + 0.63, + 1, + 1.433, + 0.63, + 2.867, + 0.6, + 4.3, + 0.6, + 1, + 4.4, + 0.6, + 4.5, + 0.76, + 4.6, + 0.76, + 0, + 5.933, + 0.76 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallX", + "Segments": [ + 0, + -0.002, + 1, + 0.211, + -0.002, + 0.422, + 0, + 0.633, + 0, + 1, + 0.889, + 0, + 1.144, + -0.31, + 1.4, + -0.31, + 1, + 1.578, + -0.31, + 1.756, + -0.31, + 1.933, + -0.31, + 1, + 2.233, + -0.31, + 2.533, + 0.67, + 2.833, + 0.67, + 1, + 3.144, + 0.67, + 3.456, + 0.67, + 3.767, + 0.67, + 1, + 4.011, + 0.67, + 4.256, + 0, + 4.5, + 0, + 0, + 5.933, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallY", + "Segments": [ + 0, + 0, + 1, + 0.211, + 0, + 0.422, + 0, + 0.633, + 0, + 1, + 0.889, + 0, + 1.144, + 0.38, + 1.4, + 0.38, + 1, + 1.578, + 0.38, + 1.756, + 0.38, + 1.933, + 0.38, + 1, + 2.233, + 0.38, + 2.533, + 0.46, + 2.833, + 0.46, + 1, + 3.144, + 0.46, + 3.456, + 0.46, + 3.767, + 0.46, + 1, + 4.011, + 0.46, + 4.256, + 0, + 4.5, + 0, + 0, + 5.933, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLY", + "Segments": [ + 0, + 0, + 1, + 0.956, + 0, + 1.911, + 0, + 2.867, + 0, + 1, + 2.933, + 0, + 3, + 0.125, + 3.067, + 0.125, + 1, + 3.133, + 0.125, + 3.2, + 0, + 3.267, + 0, + 1, + 3.711, + 0, + 4.156, + 0, + 4.6, + 0, + 1, + 4.667, + 0, + 4.733, + 0.396, + 4.8, + 0.396, + 0, + 5.933, + 0.396 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRY", + "Segments": [ + 0, + 0, + 1, + 0.956, + 0, + 1.911, + 0, + 2.867, + 0, + 1, + 2.933, + 0, + 3, + 0.125, + 3.067, + 0.125, + 1, + 3.133, + 0.125, + 3.2, + 0, + 3.267, + 0, + 1, + 3.711, + 0, + 4.156, + 0, + 4.6, + 0, + 1, + 4.667, + 0, + 4.733, + 0.417, + 4.8, + 0.417, + 0, + 5.933, + 0.417 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLX", + "Segments": [ + 0, + 0, + 0, + 5.933, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRX", + "Segments": [ + 0, + 0, + 0, + 5.933, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLAngle", + "Segments": [ + 0, + 0.03, + 0, + 5.933, + 0.03 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRAngle", + "Segments": [ + 0, + 0, + 0, + 5.933, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLForm", + "Segments": [ + 0, + 0, + 0, + 5.933, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRForm", + "Segments": [ + 0, + 0, + 0, + 5.933, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamMouthForm", + "Segments": [ + 0, + -1, + 1, + 1.433, + -1, + 2.867, + -1, + 4.3, + -1, + 1, + 4.367, + -1, + 4.433, + 1, + 4.5, + 1, + 0, + 5.933, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamMouthOpenY", + "Segments": [ + 0, + 1, + 1, + 1.433, + 1, + 2.867, + 1, + 4.3, + 1, + 1, + 4.367, + 1, + 4.433, + 0, + 4.5, + 0, + 0, + 5.933, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleX", + "Segments": [ + 0, + 0, + 1, + 0.244, + 0, + 0.489, + 0, + 0.733, + 0, + 1, + 0.778, + 0, + 0.822, + 0.667, + 0.867, + 2, + 1, + 1.044, + 7.333, + 1.222, + 10, + 1.4, + 10, + 1, + 1.533, + 10, + 1.667, + 10, + 1.8, + 10, + 1, + 2.178, + 10, + 2.556, + 6, + 2.933, + 6, + 1, + 3.244, + 6, + 3.556, + 6, + 3.867, + 6, + 1, + 4.189, + 6, + 4.511, + 0, + 4.833, + 0, + 1, + 4.956, + 0, + 5.078, + 1.192, + 5.2, + 1.192, + 1, + 5.322, + 1.192, + 5.444, + 0.013, + 5.567, + 0.013, + 0, + 5.933, + 0.013 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleY", + "Segments": [ + 0, + 0, + 1, + 0.211, + 0, + 0.422, + 0, + 0.633, + 0, + 1, + 0.667, + 0, + 0.7, + 0, + 0.733, + 0, + 1, + 1.133, + 0, + 1.533, + 0, + 1.933, + 0, + 1, + 2.078, + 0, + 2.222, + 4, + 2.367, + 4, + 1, + 2.556, + 4, + 2.744, + -2.18, + 2.933, + -2.18, + 1, + 3.022, + -2.18, + 3.111, + 0, + 3.2, + 0, + 1, + 3.456, + 0, + 3.711, + -1, + 3.967, + -1, + 1, + 4.067, + -1, + 4.167, + -1.018, + 4.267, + 0, + 1, + 4.333, + 0.679, + 4.4, + 10, + 4.467, + 10, + 1, + 4.567, + 10, + 4.667, + -5, + 4.767, + -5, + 1, + 4.889, + -5, + 5.011, + 0, + 5.133, + 0, + 0, + 5.933, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleZ", + "Segments": [ + 0, + 0, + 1, + 0.233, + 0, + 0.467, + 0, + 0.7, + 0, + 1, + 0.733, + 0, + 0.767, + 0, + 0.8, + 0, + 1, + 1.278, + 0, + 1.756, + -4, + 2.233, + -4, + 1, + 2.544, + -4, + 2.856, + 8, + 3.167, + 8, + 1, + 3.4, + 8, + 3.633, + 8.008, + 3.867, + 7.985, + 1, + 4.178, + 7.954, + 4.489, + -3, + 4.8, + -3, + 0, + 5.933, + -3 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBreath", + "Segments": [ + 0, + 0, + 1, + 0.122, + 0, + 0.244, + 1, + 0.367, + 1, + 1, + 0.511, + 1, + 0.656, + 0, + 0.8, + 0, + 1, + 1.022, + 0, + 1.244, + 1, + 1.467, + 1, + 1, + 1.689, + 1, + 1.911, + 0, + 2.133, + 0, + 1, + 2.344, + 0, + 2.556, + 1, + 2.767, + 1, + 1, + 2.967, + 1, + 3.167, + 0, + 3.367, + 0, + 1, + 3.578, + 0, + 3.789, + 1, + 4, + 1, + 1, + 4.233, + 1, + 4.467, + 0, + 4.7, + 0, + 1, + 4.9, + 0, + 5.1, + 0, + 5.3, + 0, + 0, + 5.933, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamShoulder", + "Segments": [ + 0, + 0, + 1, + 0.456, + 0, + 0.911, + 0.4, + 1.367, + 0.4, + 1, + 1.889, + 0.4, + 2.411, + -1, + 2.933, + -1, + 1, + 3.244, + -1, + 3.556, + -1, + 3.867, + -1, + 0, + 5.933, + -1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamLeg", + "Segments": [ + 0, + 1, + 0, + 5.933, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmLA", + "Segments": [ + 0, + -8.7, + 1, + 0.289, + -8.7, + 0.578, + -8.7, + 0.867, + -8.7, + 1, + 1, + -8.7, + 1.133, + -10, + 1.267, + -10, + 1, + 1.578, + -10, + 1.889, + -10, + 2.2, + -10, + 1, + 2.444, + -10, + 2.689, + -6.9, + 2.933, + -6.9, + 1, + 3.244, + -6.9, + 3.556, + -6.9, + 3.867, + -6.9, + 1, + 3.989, + -6.9, + 4.111, + -8.3, + 4.233, + -8.3, + 1, + 4.344, + -8.3, + 4.456, + -3, + 4.567, + -3, + 1, + 4.689, + -3, + 4.811, + -4, + 4.933, + -4, + 1, + 5.1, + -4, + 5.267, + -3, + 5.433, + -3, + 0, + 5.933, + -3 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmRA", + "Segments": [ + 0, + -8.7, + 1, + 0.289, + -8.7, + 0.578, + -8.7, + 0.867, + -8.7, + 1, + 1, + -8.7, + 1.133, + -10, + 1.267, + -10, + 1, + 1.578, + -10, + 1.889, + -10, + 2.2, + -10, + 1, + 2.444, + -10, + 2.689, + -10, + 2.933, + -10, + 1, + 3.244, + -10, + 3.556, + -10, + 3.867, + -10, + 1, + 3.989, + -10, + 4.111, + -9.998, + 4.233, + -7.8, + 1, + 4.344, + -5.802, + 4.456, + 0.03, + 4.567, + 0.03, + 1, + 4.689, + 0.03, + 4.811, + -1, + 4.933, + -1, + 1, + 5.122, + -1, + 5.311, + -0.002, + 5.5, + -0.002, + 0, + 5.933, + -0.002 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandL", + "Segments": [ + 0, + 0, + 1, + 1.067, + 0, + 2.133, + 0, + 3.2, + 0, + 1, + 3.633, + 0, + 4.067, + 1, + 4.5, + 1, + 1, + 4.667, + 1, + 4.833, + -1, + 5, + -1, + 1, + 5.122, + -1, + 5.244, + 0.208, + 5.367, + 0.208, + 0, + 5.933, + 0.208 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandR", + "Segments": [ + 0, + 0, + 1, + 1.067, + 0, + 2.133, + 0, + 3.2, + 0, + 1, + 3.633, + 0, + 4.067, + 1, + 4.5, + 1, + 1, + 4.667, + 1, + 4.833, + -1, + 5, + -1, + 1, + 5.122, + -1, + 5.244, + 0.208, + 5.367, + 0.208, + 0, + 5.933, + 0.208 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHairAhoge", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.133, + 0, + 1.267, + 10, + 1.4, + 10, + 1, + 1.489, + 10, + 1.578, + 2.177, + 1.667, + 2.177, + 1, + 1.789, + 2.177, + 1.911, + 10, + 2.033, + 10, + 1, + 2.289, + 10, + 2.544, + -10, + 2.8, + -10, + 1, + 2.933, + -10, + 3.067, + 7.54, + 3.2, + 7.54, + 1, + 3.344, + 7.54, + 3.489, + 0, + 3.633, + 0, + 1, + 3.911, + 0, + 4.189, + 0, + 4.467, + 0, + 1, + 4.6, + 0, + 4.733, + 10, + 4.867, + 10, + 1, + 4.989, + 10, + 5.111, + -10, + 5.233, + -10, + 1, + 5.322, + -10, + 5.411, + 3.456, + 5.5, + 3.456, + 1, + 5.556, + 3.456, + 5.611, + 0, + 5.667, + 0, + 0, + 5.933, + 0 + ] + }, + { + "Target": "PartOpacity", + "Id": "PartArmA", + "Segments": [ + 0, + 1, + 0, + 5.93, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "PartArmB", + "Segments": [ + 0, + 0, + 0, + 5.93, + 0 + ] + } + ] +} \ No newline at end of file diff --git a/staticfiles/Hiyori/motions/Hiyori_m03.motion3.json b/staticfiles/Hiyori/motions/Hiyori_m03.motion3.json new file mode 100644 index 0000000000000000000000000000000000000000..83c5c397143916860e2b9c7fedbd9fc384762c0e --- /dev/null +++ b/staticfiles/Hiyori/motions/Hiyori_m03.motion3.json @@ -0,0 +1,1331 @@ +{ + "Version": 3, + "Meta": { + "Duration": 4.2, + "Fps": 30.0, + "Loop": true, + "AreBeziersRestricted": false, + "CurveCount": 33, + "TotalSegmentCount": 169, + "TotalPointCount": 474, + "UserDataCount": 0, + "TotalUserDataSize": 0 + }, + "Curves": [ + { + "Target": "Parameter", + "Id": "ParamAngleX", + "Segments": [ + 0, + 0, + 1, + 0.056, + 0, + 0.111, + 0, + 0.167, + 0, + 1, + 0.389, + 0, + 0.611, + 0, + 0.833, + 0, + 1, + 0.933, + 0, + 1.033, + 0, + 1.133, + 0, + 1, + 1.311, + 0, + 1.489, + 0, + 1.667, + 0, + 1, + 1.778, + 0, + 1.889, + -0.268, + 2, + -1, + 1, + 2.089, + -1.585, + 2.178, + -2, + 2.267, + -2, + 0, + 4.2, + -2 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleY", + "Segments": [ + 0, + 0, + 1, + 0.056, + 0, + 0.111, + 0, + 0.167, + 0, + 1, + 0.3, + 0, + 0.433, + -18, + 0.567, + -18, + 1, + 0.656, + -18, + 0.744, + 8, + 0.833, + 8, + 1, + 0.933, + 8, + 1.033, + -8, + 1.133, + -8, + 1, + 1.311, + -8, + 1.489, + 10, + 1.667, + 10, + 1, + 1.778, + 10, + 1.889, + -21, + 2, + -21, + 1, + 2.089, + -21, + 2.178, + -3, + 2.267, + -3, + 0, + 4.2, + -3 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleZ", + "Segments": [ + 0, + 0, + 1, + 0.056, + 0, + 0.111, + 0, + 0.167, + 0, + 1, + 0.289, + 0, + 0.411, + -1, + 0.533, + -1, + 1, + 0.722, + -1, + 0.911, + 17, + 1.1, + 17, + 1, + 1.411, + 17, + 1.722, + -22, + 2.033, + -22, + 1, + 2.244, + -22, + 2.456, + 11, + 2.667, + 11, + 0, + 4.2, + 11 + ] + }, + { + "Target": "Parameter", + "Id": "ParamCheek", + "Segments": [ + 0, + 0, + 1, + 0.056, + 0, + 0.111, + 0, + 0.167, + 0, + 0, + 4.2, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeLOpen", + "Segments": [ + 0, + 1, + 1, + 0.056, + 1, + 0.111, + 1, + 0.167, + 1, + 1, + 0.2, + 1, + 0.233, + 1, + 0.267, + 1, + 1, + 0.322, + 1, + 0.378, + 0, + 0.433, + 0, + 1, + 0.478, + 0, + 0.522, + 0, + 0.567, + 0, + 1, + 0.644, + 0, + 0.722, + 1, + 0.8, + 1, + 1, + 1.056, + 1, + 1.311, + 0.988, + 1.567, + 0.988, + 1, + 1.789, + 0.988, + 2.011, + 1, + 2.233, + 1, + 1, + 2.267, + 1, + 2.3, + 1, + 2.333, + 1, + 1, + 2.367, + 1, + 2.4, + 0, + 2.433, + 0, + 1, + 2.478, + 0, + 2.522, + 0, + 2.567, + 0, + 1, + 2.622, + 0, + 2.678, + 1, + 2.733, + 1, + 0, + 4.2, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeLSmile", + "Segments": [ + 0, + 0, + 1, + 0.056, + 0, + 0.111, + 0, + 0.167, + 0, + 0, + 4.2, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeROpen", + "Segments": [ + 0, + 1, + 1, + 0.056, + 1, + 0.111, + 1, + 0.167, + 1, + 1, + 0.2, + 1, + 0.233, + 1, + 0.267, + 1, + 1, + 0.322, + 1, + 0.378, + 0, + 0.433, + 0, + 1, + 0.478, + 0, + 0.522, + 0, + 0.567, + 0, + 1, + 0.644, + 0, + 0.722, + 1, + 0.8, + 1, + 1, + 1.056, + 1, + 1.311, + 1, + 1.567, + 1, + 1, + 1.789, + 1, + 2.011, + 1, + 2.233, + 1, + 1, + 2.267, + 1, + 2.3, + 1, + 2.333, + 1, + 1, + 2.367, + 1, + 2.4, + 0, + 2.433, + 0, + 1, + 2.478, + 0, + 2.522, + 0, + 2.567, + 0, + 1, + 2.622, + 0, + 2.678, + 1, + 2.733, + 1, + 0, + 4.2, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeRSmile", + "Segments": [ + 0, + 0, + 1, + 0.056, + 0, + 0.111, + 0, + 0.167, + 0, + 0, + 4.2, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallX", + "Segments": [ + 0, + 0, + 1, + 0.056, + 0, + 0.111, + 0, + 0.167, + 0, + 1, + 0.256, + 0, + 0.344, + 0, + 0.433, + 0, + 1, + 0.478, + 0, + 0.522, + -1, + 0.567, + -1, + 1, + 0.8, + -1, + 1.033, + -1, + 1.267, + -1, + 1, + 1.422, + -1, + 1.578, + 0.583, + 1.733, + 0.583, + 1, + 1.967, + 0.583, + 2.2, + 0.583, + 2.433, + 0.583, + 1, + 2.478, + 0.583, + 2.522, + 0, + 2.567, + 0, + 0, + 4.2, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallY", + "Segments": [ + 0, + 0, + 1, + 0.056, + 0, + 0.111, + 0, + 0.167, + 0, + 1, + 0.256, + 0, + 0.344, + 0, + 0.433, + 0, + 1, + 0.478, + 0, + 0.522, + 1, + 0.567, + 1, + 1, + 0.8, + 1, + 1.033, + 1, + 1.267, + 1, + 1, + 1.422, + 1, + 1.578, + 0.75, + 1.733, + 0.75, + 1, + 1.967, + 0.75, + 2.2, + 0.75, + 2.433, + 0.75, + 1, + 2.478, + 0.75, + 2.522, + 0, + 2.567, + 0, + 0, + 4.2, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLY", + "Segments": [ + 0, + 0, + 1, + 0.056, + 0, + 0.111, + 0, + 0.167, + 0, + 0, + 4.2, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRY", + "Segments": [ + 0, + 0, + 1, + 0.056, + 0, + 0.111, + 0, + 0.167, + 0, + 0, + 4.2, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLX", + "Segments": [ + 0, + 0, + 1, + 0.056, + 0, + 0.111, + 0, + 0.167, + 0, + 0, + 4.2, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRX", + "Segments": [ + 0, + 0, + 1, + 0.056, + 0, + 0.111, + 0, + 0.167, + 0, + 0, + 4.2, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLAngle", + "Segments": [ + 0, + 0, + 1, + 0.056, + 0, + 0.111, + 0, + 0.167, + 0, + 0, + 4.2, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRAngle", + "Segments": [ + 0, + 0, + 1, + 0.056, + 0, + 0.111, + 0, + 0.167, + 0, + 0, + 4.2, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLForm", + "Segments": [ + 0, + 0, + 1, + 0.056, + 0, + 0.111, + 0, + 0.167, + 0, + 0, + 4.2, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRForm", + "Segments": [ + 0, + 0, + 1, + 0.056, + 0, + 0.111, + 0, + 0.167, + 0, + 0, + 4.2, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamMouthForm", + "Segments": [ + 0, + 1, + 1, + 0.056, + 1, + 0.111, + 1, + 0.167, + 1, + 0, + 4.2, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamMouthOpenY", + "Segments": [ + 0, + 0, + 1, + 0.056, + 0, + 0.111, + 0, + 0.167, + 0, + 0, + 4.2, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleX", + "Segments": [ + 0, + 0, + 1, + 0.056, + 0, + 0.111, + 0, + 0.167, + 0, + 0, + 4.2, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleY", + "Segments": [ + 0, + 0, + 1, + 0.056, + 0, + 0.111, + 0, + 0.167, + 0, + 1, + 0.244, + 0, + 0.322, + -4, + 0.4, + -4, + 1, + 0.478, + -4, + 0.556, + 10, + 0.633, + 10, + 1, + 0.8, + 10, + 0.967, + -0.386, + 1.133, + -0.386, + 1, + 1.244, + -0.386, + 1.356, + 10, + 1.467, + 10, + 1, + 1.6, + 10, + 1.733, + 0, + 1.867, + 0, + 1, + 2.044, + 0, + 2.222, + 10, + 2.4, + 10, + 1, + 2.444, + 10, + 2.489, + 10.395, + 2.533, + 9.649, + 1, + 2.7, + 6.854, + 2.867, + -3.526, + 3.033, + -3.526, + 1, + 3.267, + -3.526, + 3.5, + 6.807, + 3.733, + 6.807, + 1, + 3.811, + 6.807, + 3.889, + 6, + 3.967, + 6, + 0, + 4.2, + 6 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleZ", + "Segments": [ + 0, + 0, + 1, + 0.056, + 0, + 0.111, + 0, + 0.167, + 0, + 1, + 0.256, + 0, + 0.344, + -1, + 0.433, + -1, + 1, + 0.656, + -1, + 0.878, + 6, + 1.1, + 6, + 1, + 1.333, + 6, + 1.567, + -3, + 1.8, + -3, + 1, + 2.256, + -3, + 2.711, + 8, + 3.167, + 8, + 0, + 4.2, + 8 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBreath", + "Segments": [ + 0, + 0, + 1, + 0.189, + 0, + 0.378, + 1, + 0.567, + 1, + 1, + 0.733, + 1, + 0.9, + 0, + 1.067, + 0, + 1, + 1.3, + 0, + 1.533, + 1, + 1.767, + 1, + 1, + 2.033, + 1, + 2.3, + 0, + 2.567, + 0, + 1, + 2.778, + 0, + 2.989, + 1, + 3.2, + 1, + 1, + 3.4, + 1, + 3.6, + 0, + 3.8, + 0, + 0, + 4.2, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamShoulder", + "Segments": [ + 0, + 0, + 0, + 4.2, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamLeg", + "Segments": [ + 0, + 1, + 1, + 0.8, + 1, + 1.6, + 1, + 2.4, + 1, + 1, + 2.522, + 1, + 2.644, + 0, + 2.767, + 0, + 1, + 3.011, + 0, + 3.256, + 0.062, + 3.5, + 0.062, + 0, + 4.2, + 0.062 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmLA", + "Segments": [ + 0, + -10, + 1, + 0.256, + -10, + 0.511, + 0, + 0.767, + 0, + 1, + 0.889, + 0, + 1.011, + -6.5, + 1.133, + -6.5, + 1, + 1.289, + -6.5, + 1.444, + 0, + 1.6, + 0, + 1, + 1.756, + 0, + 1.911, + -8, + 2.067, + -8, + 1, + 2.344, + -8, + 2.622, + -1.4, + 2.9, + -1.4, + 1, + 2.978, + -1.4, + 3.056, + -1.775, + 3.133, + -2.3, + 1, + 3.211, + -2.825, + 3.289, + -3, + 3.367, + -3, + 1, + 3.433, + -3, + 3.5, + -2.5, + 3.567, + -2.5, + 1, + 3.733, + -2.5, + 3.9, + -3, + 4.067, + -3, + 0, + 4.2, + -3 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmRA", + "Segments": [ + 0, + -10, + 1, + 0.256, + -10, + 0.511, + 0, + 0.767, + 0, + 1, + 0.867, + 0, + 0.967, + -5.2, + 1.067, + -5.2, + 1, + 1.244, + -5.2, + 1.422, + 0, + 1.6, + 0, + 1, + 1.778, + 0, + 1.956, + -6.3, + 2.133, + -6.3, + 1, + 2.422, + -6.3, + 2.711, + 0.029, + 3, + 0.029, + 1, + 3.144, + 0.029, + 3.289, + 0, + 3.433, + 0, + 1, + 3.5, + 0, + 3.567, + 0, + 3.633, + 0, + 1, + 3.722, + 0, + 3.811, + -0.029, + 3.9, + -0.029, + 0, + 4.2, + -0.029 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandL", + "Segments": [ + 0, + 0, + 1, + 0.056, + 0, + 0.111, + 0, + 0.167, + 0, + 1, + 0.256, + 0, + 0.344, + 1, + 0.433, + 1, + 1, + 0.589, + 1, + 0.744, + -1, + 0.9, + -1, + 1, + 1.111, + -1, + 1.322, + 1, + 1.533, + 1, + 1, + 1.733, + 1, + 1.933, + -1, + 2.133, + -1, + 1, + 2.411, + -1, + 2.689, + 1, + 2.967, + 1, + 1, + 3.111, + 1, + 3.256, + -1, + 3.4, + -1, + 1, + 3.5, + -1, + 3.6, + 0.8, + 3.7, + 0.8, + 0, + 4.2, + 0.8 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandR", + "Segments": [ + 0, + 0, + 1, + 0.056, + 0, + 0.111, + 0, + 0.167, + 0, + 1, + 0.256, + 0, + 0.344, + 1, + 0.433, + 1, + 1, + 0.589, + 1, + 0.744, + -1, + 0.9, + -1, + 1, + 1.111, + -1, + 1.322, + 1, + 1.533, + 1, + 1, + 1.733, + 1, + 1.933, + -1, + 2.133, + -1, + 1, + 2.411, + -1, + 2.689, + 1, + 2.967, + 1, + 1, + 3.111, + 1, + 3.256, + -0.6, + 3.4, + -0.6, + 1, + 3.5, + -0.6, + 3.6, + 0.8, + 3.7, + 0.8, + 0, + 4.2, + 0.8 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHairAhoge", + "Segments": [ + 0, + 0, + 1, + 0.122, + 0, + 0.244, + -3.127, + 0.367, + -4, + 1, + 0.511, + -5.032, + 0.656, + -5, + 0.8, + -5, + 1, + 0.9, + -5, + 1, + 10, + 1.1, + 10, + 1, + 1.267, + 10, + 1.433, + 10.072, + 1.6, + 8, + 1, + 1.722, + 6.481, + 1.844, + -10, + 1.967, + -10, + 1, + 2.122, + -10, + 2.278, + -10.146, + 2.433, + -9.434, + 1, + 2.589, + -8.722, + 2.744, + 10, + 2.9, + 10, + 1, + 3.011, + 10, + 3.122, + -5.646, + 3.233, + -5.646, + 1, + 3.367, + -5.646, + 3.5, + 3.825, + 3.633, + 3.825, + 1, + 3.767, + 3.825, + 3.9, + 0, + 4.033, + 0, + 0, + 4.2, + 0 + ] + }, + { + "Target": "PartOpacity", + "Id": "PartArmA", + "Segments": [ + 0, + 1, + 0, + 4.2, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "PartArmB", + "Segments": [ + 0, + 0, + 0, + 4.2, + 0 + ] + } + ] +} \ No newline at end of file diff --git a/staticfiles/Hiyori/motions/Hiyori_m04.motion3.json b/staticfiles/Hiyori/motions/Hiyori_m04.motion3.json new file mode 100644 index 0000000000000000000000000000000000000000..aa8aa811b4534f7570b6429ee3f101eba07af38a --- /dev/null +++ b/staticfiles/Hiyori/motions/Hiyori_m04.motion3.json @@ -0,0 +1,882 @@ +{ + "Version": 3, + "Meta": { + "Duration": 4.43, + "Fps": 30.0, + "Loop": true, + "AreBeziersRestricted": false, + "CurveCount": 31, + "TotalSegmentCount": 106, + "TotalPointCount": 287, + "UserDataCount": 0, + "TotalUserDataSize": 0 + }, + "Curves": [ + { + "Target": "Parameter", + "Id": "ParamAngleX", + "Segments": [ + 0, + 1, + 1, + 0.211, + 1, + 0.422, + 0, + 0.633, + 0, + 1, + 0.911, + 0, + 1.189, + 5, + 1.467, + 5, + 1, + 1.689, + 5, + 1.911, + -16, + 2.133, + -16, + 1, + 2.356, + -16, + 2.578, + 13.871, + 2.8, + 13.871, + 1, + 2.956, + 13.871, + 3.111, + 0, + 3.267, + 0, + 0, + 4.433, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleY", + "Segments": [ + 0, + 0, + 1, + 0.211, + 0, + 0.422, + 0, + 0.633, + 0, + 1, + 0.911, + 0, + 1.189, + -25, + 1.467, + -25, + 1, + 1.689, + -25, + 1.911, + -15.225, + 2.133, + -11, + 1, + 2.356, + -6.775, + 2.578, + -5.127, + 2.8, + -2.5, + 1, + 2.956, + -0.661, + 3.111, + 0, + 3.267, + 0, + 0, + 4.433, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleZ", + "Segments": [ + 0, + 0, + 1, + 0.222, + 0, + 0.444, + 0, + 0.667, + 0, + 1, + 0.756, + 0, + 0.844, + -4, + 0.933, + -4, + 1, + 1.122, + -4, + 1.311, + 18, + 1.5, + 18, + 1, + 1.722, + 18, + 1.944, + -14, + 2.167, + -14, + 1, + 2.567, + -14, + 2.967, + -14, + 3.367, + -14, + 1, + 3.511, + -14, + 3.656, + -12, + 3.8, + -12, + 0, + 4.433, + -12 + ] + }, + { + "Target": "Parameter", + "Id": "ParamCheek", + "Segments": [ + 0, + 1, + 0, + 4.433, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeLOpen", + "Segments": [ + 0, + 1.2, + 1, + 0.389, + 1.2, + 0.778, + 1.148, + 1.167, + 1, + 1, + 1.211, + 0.983, + 1.256, + 0, + 1.3, + 0, + 1, + 1.322, + 0, + 1.344, + 0, + 1.367, + 0, + 1, + 1.422, + 0, + 1.478, + 1, + 1.533, + 1, + 1, + 1.944, + 1, + 2.356, + 1, + 2.767, + 1, + 1, + 2.811, + 1, + 2.856, + 0, + 2.9, + 0, + 1, + 2.922, + 0, + 2.944, + 0, + 2.967, + 0, + 1, + 3.022, + 0, + 3.078, + 1, + 3.133, + 1, + 0, + 4.433, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeLSmile", + "Segments": [ + 0, + 0, + 0, + 4.433, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeROpen", + "Segments": [ + 0, + 1.2, + 1, + 0.389, + 1.2, + 0.778, + 1.148, + 1.167, + 1, + 1, + 1.211, + 0.983, + 1.256, + 0, + 1.3, + 0, + 1, + 1.322, + 0, + 1.344, + 0, + 1.367, + 0, + 1, + 1.422, + 0, + 1.478, + 1, + 1.533, + 1, + 1, + 1.944, + 1, + 2.356, + 1, + 2.767, + 1, + 1, + 2.811, + 1, + 2.856, + 0, + 2.9, + 0, + 1, + 2.922, + 0, + 2.944, + 0, + 2.967, + 0, + 1, + 3.022, + 0, + 3.078, + 1, + 3.133, + 1, + 0, + 4.433, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeRSmile", + "Segments": [ + 0, + 0, + 0, + 4.433, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallX", + "Segments": [ + 0, + 0, + 1, + 0.211, + 0, + 0.422, + 0, + 0.633, + 0, + 1, + 0.911, + 0, + 1.189, + -0.44, + 1.467, + -0.44, + 1, + 1.689, + -0.44, + 1.911, + 0.79, + 2.133, + 0.79, + 1, + 2.511, + 0.79, + 2.889, + 0, + 3.267, + 0, + 0, + 4.433, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallY", + "Segments": [ + 0, + 0, + 1, + 0.211, + 0, + 0.422, + 0, + 0.633, + 0, + 1, + 0.911, + 0, + 1.189, + -1, + 1.467, + -1, + 1, + 1.689, + -1, + 1.911, + -1, + 2.133, + -1, + 1, + 2.511, + -1, + 2.889, + 0, + 3.267, + 0, + 0, + 4.433, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLY", + "Segments": [ + 0, + 1, + 1, + 0.544, + 1, + 1.089, + 1, + 1.633, + 1, + 1, + 1.856, + 1, + 2.078, + 0, + 2.3, + 0, + 1, + 2.5, + 0, + 2.7, + 1, + 2.9, + 1, + 0, + 4.433, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRY", + "Segments": [ + 0, + 1, + 1, + 0.544, + 1, + 1.089, + 1, + 1.633, + 1, + 1, + 1.856, + 1, + 2.078, + 0, + 2.3, + 0, + 1, + 2.5, + 0, + 2.7, + 1, + 2.9, + 1, + 0, + 4.433, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLX", + "Segments": [ + 0, + 0, + 0, + 4.433, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRX", + "Segments": [ + 0, + 0, + 0, + 4.433, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLAngle", + "Segments": [ + 0, + 0, + 0, + 4.433, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRAngle", + "Segments": [ + 0, + 0, + 0, + 4.433, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLForm", + "Segments": [ + 0, + -1, + 0, + 4.433, + -1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRForm", + "Segments": [ + 0, + -1, + 0, + 4.433, + -1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamMouthForm", + "Segments": [ + 0, + -2, + 0, + 4.433, + -2 + ] + }, + { + "Target": "Parameter", + "Id": "ParamMouthOpenY", + "Segments": [ + 0, + 0, + 0, + 4.433, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleX", + "Segments": [ + 0, + 0, + 1, + 0.244, + 0, + 0.489, + 0, + 0.733, + 0, + 1, + 0.933, + 0, + 1.133, + -7, + 1.333, + -7, + 1, + 1.644, + -7, + 1.956, + 0, + 2.267, + 0, + 0, + 4.433, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleY", + "Segments": [ + 0, + 0, + 1, + 0.244, + 0, + 0.489, + 0, + 0.733, + 0, + 0, + 4.433, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleZ", + "Segments": [ + 0, + 2, + 1, + 0.233, + 2, + 0.467, + 0, + 0.7, + 0, + 1, + 0.733, + 0, + 0.767, + 0, + 0.8, + 0, + 1, + 1, + 0, + 1.2, + -4, + 1.4, + -4, + 1, + 1.711, + -4, + 2.022, + 5, + 2.333, + 5, + 1, + 2.567, + 5, + 2.8, + 3.64, + 3.033, + 0, + 1, + 3.133, + -1.56, + 3.233, + -3, + 3.333, + -3, + 1, + 3.467, + -3, + 3.6, + -2, + 3.733, + -2, + 0, + 4.433, + -2 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBreath", + "Segments": [ + 0, + 0, + 1, + 0.189, + 0, + 0.378, + 1, + 0.567, + 1, + 1, + 0.711, + 1, + 0.856, + 0, + 1, + 0, + 1, + 1.222, + 0, + 1.444, + 1, + 1.667, + 1, + 1, + 1.889, + 1, + 2.111, + 0, + 2.333, + 0, + 1, + 2.544, + 0, + 2.756, + 1, + 2.967, + 1, + 1, + 3.167, + 1, + 3.367, + 0, + 3.567, + 0, + 0, + 4.433, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamShoulder", + "Segments": [ + 0, + 0.1, + 1, + 0.467, + 0.1, + 0.933, + 1, + 1.4, + 1, + 1, + 1.844, + 1, + 2.289, + 1, + 2.733, + 1, + 1, + 2.967, + 1, + 3.2, + -1, + 3.433, + -1, + 0, + 4.433, + -1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamLeg", + "Segments": [ + 0, + 1, + 0, + 4.433, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmLA", + "Segments": [ + 0, + -10, + 0, + 4.433, + -10 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmRA", + "Segments": [ + 0, + -10, + 0, + 4.433, + -10 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHairAhoge", + "Segments": [ + 0, + 0, + 1, + 0.3, + 0, + 0.6, + 0, + 0.9, + -0.012, + 1, + 1.067, + -0.019, + 1.233, + -6.827, + 1.4, + -6.827, + 1, + 1.511, + -6.827, + 1.622, + 7.958, + 1.733, + 7.958, + 1, + 1.944, + 7.958, + 2.156, + -7.565, + 2.367, + -7.565, + 1, + 2.5, + -7.565, + 2.633, + 9.434, + 2.767, + 9.434, + 1, + 2.978, + 9.434, + 3.189, + -8.871, + 3.4, + -8.871, + 1, + 3.5, + -8.871, + 3.6, + 7.588, + 3.7, + 7.588, + 1, + 3.789, + 7.588, + 3.878, + -3.904, + 3.967, + -3.904, + 1, + 4.011, + -3.904, + 4.056, + -0.032, + 4.1, + -0.032, + 0, + 4.433, + -0.032 + ] + }, + { + "Target": "PartOpacity", + "Id": "PartArmA", + "Segments": [ + 0, + 1, + 0, + 4.43, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "PartArmB", + "Segments": [ + 0, + 0, + 0, + 4.43, + 0 + ] + } + ] +} \ No newline at end of file diff --git a/staticfiles/Hiyori/motions/Hiyori_m05.motion3.json b/staticfiles/Hiyori/motions/Hiyori_m05.motion3.json new file mode 100644 index 0000000000000000000000000000000000000000..509924b71a6fddb142fe578a7adc5933e62e7f0e --- /dev/null +++ b/staticfiles/Hiyori/motions/Hiyori_m05.motion3.json @@ -0,0 +1,1670 @@ +{ + "Version": 3, + "Meta": { + "Duration": 8.57, + "Fps": 30.0, + "Loop": true, + "AreBeziersRestricted": false, + "CurveCount": 32, + "TotalSegmentCount": 218, + "TotalPointCount": 622, + "UserDataCount": 0, + "TotalUserDataSize": 0 + }, + "Curves": [ + { + "Target": "Parameter", + "Id": "ParamAngleX", + "Segments": [ + 0, + 0, + 1, + 0.189, + 0, + 0.378, + 1, + 0.567, + 1, + 1, + 1.122, + 1, + 1.678, + 1, + 2.233, + 1, + 1, + 2.533, + 1, + 2.833, + -30, + 3.133, + -30, + 1, + 4.067, + -30, + 5, + -30, + 5.933, + -30, + 1, + 6.322, + -30, + 6.711, + 0, + 7.1, + 0, + 0, + 8.567, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleY", + "Segments": [ + 0, + 0, + 1, + 0.189, + 0, + 0.378, + 18, + 0.567, + 18, + 1, + 0.856, + 18, + 1.144, + -9.95, + 1.433, + -9.95, + 1, + 1.522, + -9.95, + 1.611, + -1.589, + 1.7, + -1.589, + 1, + 1.911, + -1.589, + 2.122, + -8.047, + 2.333, + -8.047, + 1, + 2.6, + -8.047, + 2.867, + 30, + 3.133, + 30, + 1, + 3.478, + 30, + 3.822, + 29.529, + 4.167, + 27.847, + 1, + 4.311, + 27.142, + 4.456, + 25.42, + 4.6, + 24.243, + 1, + 4.922, + 21.616, + 5.244, + 20.338, + 5.567, + 20.338, + 1, + 5.789, + 20.338, + 6.011, + 27.397, + 6.233, + 27.397, + 1, + 6.522, + 27.397, + 6.811, + 0, + 7.1, + 0, + 0, + 8.567, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleZ", + "Segments": [ + 0, + 0, + 1, + 0.189, + 0, + 0.378, + 0, + 0.567, + 0, + 1, + 0.8, + 0, + 1.033, + 25, + 1.267, + 25, + 1, + 1.4, + 25, + 1.533, + 25, + 1.667, + 25, + 1, + 1.878, + 25, + 2.089, + 25, + 2.3, + 25, + 1, + 2.578, + 25, + 2.856, + -30, + 3.133, + -30, + 1, + 4, + -30, + 4.867, + -30, + 5.733, + -30, + 1, + 5.8, + -30, + 5.867, + -30, + 5.933, + -30, + 1, + 6.322, + -30, + 6.711, + 0, + 7.1, + 0, + 0, + 8.567, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamCheek", + "Segments": [ + 0, + 0, + 1, + 0.2, + 0, + 0.4, + 0, + 0.6, + 0, + 1, + 2.844, + 0, + 5.089, + 0, + 7.333, + 0, + 0, + 8.567, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeLOpen", + "Segments": [ + 0, + 1, + 1, + 0.278, + 1, + 0.556, + 1, + 0.833, + 1, + 1, + 0.867, + 1, + 0.9, + 0, + 0.933, + 0, + 1, + 1.222, + 0, + 1.511, + 0, + 1.8, + 0, + 1, + 1.889, + 0, + 1.978, + 1, + 2.067, + 1, + 1, + 2.322, + 1, + 2.578, + 1, + 2.833, + 1, + 1, + 2.889, + 1, + 2.944, + 0, + 3, + 0, + 1, + 3.022, + 0, + 3.044, + 0, + 3.067, + 0, + 1, + 3.122, + 0, + 3.178, + 1, + 3.233, + 1, + 1, + 3.5, + 1, + 3.767, + 1, + 4.033, + 1, + 1, + 4.089, + 1, + 4.144, + 0, + 4.2, + 0, + 1, + 4.222, + 0, + 4.244, + 0, + 4.267, + 0, + 1, + 4.322, + 0, + 4.378, + 1, + 4.433, + 1, + 1, + 5.133, + 1, + 5.833, + 1, + 6.533, + 1, + 1, + 6.589, + 1, + 6.644, + 0, + 6.7, + 0, + 1, + 6.722, + 0, + 6.744, + 0, + 6.767, + 0, + 1, + 6.822, + 0, + 6.878, + 1, + 6.933, + 1, + 1, + 7.067, + 1, + 7.2, + 1, + 7.333, + 1, + 0, + 8.567, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeLSmile", + "Segments": [ + 0, + 0, + 1, + 0.278, + 0, + 0.556, + 0.812, + 0.833, + 0.812, + 0, + 8.567, + 0.812 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeROpen", + "Segments": [ + 0, + 1, + 1, + 0.278, + 1, + 0.556, + 1, + 0.833, + 1, + 1, + 0.867, + 1, + 0.9, + 0, + 0.933, + 0, + 1, + 1.222, + 0, + 1.511, + 0, + 1.8, + 0, + 1, + 1.889, + 0, + 1.978, + 1, + 2.067, + 1, + 1, + 2.322, + 1, + 2.578, + 1, + 2.833, + 1, + 1, + 2.889, + 1, + 2.944, + 0, + 3, + 0, + 1, + 3.022, + 0, + 3.044, + 0, + 3.067, + 0, + 1, + 3.122, + 0, + 3.178, + 1, + 3.233, + 1, + 1, + 3.5, + 1, + 3.767, + 1, + 4.033, + 1, + 1, + 4.089, + 1, + 4.144, + 0, + 4.2, + 0, + 1, + 4.222, + 0, + 4.244, + 0, + 4.267, + 0, + 1, + 4.322, + 0, + 4.378, + 1, + 4.433, + 1, + 1, + 5.133, + 1, + 5.833, + 1, + 6.533, + 1, + 1, + 6.589, + 1, + 6.644, + 0, + 6.7, + 0, + 1, + 6.722, + 0, + 6.744, + 0, + 6.767, + 0, + 1, + 6.822, + 0, + 6.878, + 1, + 6.933, + 1, + 1, + 7.067, + 1, + 7.2, + 1, + 7.333, + 1, + 0, + 8.567, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeRSmile", + "Segments": [ + 0, + 0, + 1, + 0.278, + 0, + 0.556, + 0.812, + 0.833, + 0.812, + 1, + 1.967, + 0.812, + 3.1, + 0.8, + 4.233, + 0.8, + 0, + 8.567, + 0.8 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallX", + "Segments": [ + 0, + 0, + 1, + 0.2, + 0, + 0.4, + -0.065, + 0.6, + -0.14, + 1, + 0.811, + -0.219, + 1.022, + -0.24, + 1.233, + -0.24, + 1, + 1.367, + -0.24, + 1.5, + -0.24, + 1.633, + -0.24, + 1, + 1.844, + -0.24, + 2.056, + -0.24, + 2.267, + -0.24, + 1, + 2.556, + -0.24, + 2.844, + 0.661, + 3.133, + 0.68, + 1, + 3.5, + 0.704, + 3.867, + 0.7, + 4.233, + 0.7, + 1, + 4.5, + 0.7, + 4.767, + -0.75, + 5.033, + -0.75, + 1, + 5.589, + -0.75, + 6.144, + 0.68, + 6.7, + 0.68, + 1, + 6.789, + 0.68, + 6.878, + 0, + 6.967, + 0, + 0, + 8.567, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallY", + "Segments": [ + 0, + 0, + 1, + 0.2, + 0, + 0.4, + -0.38, + 0.6, + -0.38, + 1, + 0.811, + -0.38, + 1.022, + 0.21, + 1.233, + 0.21, + 1, + 1.367, + 0.21, + 1.5, + 0.21, + 1.633, + 0.21, + 1, + 1.844, + 0.21, + 2.056, + 0.21, + 2.267, + 0.21, + 1, + 2.556, + 0.21, + 2.844, + -0.33, + 3.133, + -0.33, + 1, + 3.767, + -0.33, + 4.4, + 0.625, + 5.033, + 0.625, + 1, + 5.589, + 0.625, + 6.144, + -0.33, + 6.7, + -0.33, + 1, + 6.789, + -0.33, + 6.878, + 0, + 6.967, + 0, + 0, + 8.567, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLY", + "Segments": [ + 0, + 0, + 1, + 0.2, + 0, + 0.4, + 0, + 0.6, + 0, + 1, + 0.656, + 0, + 0.711, + 0, + 0.767, + 0, + 1, + 0.822, + 0, + 0.878, + 0.667, + 0.933, + 0.667, + 1, + 1.211, + 0.667, + 1.489, + 0.667, + 1.767, + 0.667, + 1, + 2.011, + 0.667, + 2.256, + 0, + 2.5, + 0, + 0, + 8.567, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRY", + "Segments": [ + 0, + 0, + 1, + 0.2, + 0, + 0.4, + 0, + 0.6, + 0, + 1, + 0.656, + 0, + 0.711, + 0, + 0.767, + 0, + 1, + 0.822, + 0, + 0.878, + 0.646, + 0.933, + 0.646, + 1, + 1.211, + 0.646, + 1.489, + 0.646, + 1.767, + 0.646, + 1, + 2.011, + 0.646, + 2.256, + 0, + 2.5, + 0, + 0, + 8.567, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLX", + "Segments": [ + 0, + 0, + 1, + 0.2, + 0, + 0.4, + 0, + 0.6, + 0, + 0, + 8.567, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRX", + "Segments": [ + 0, + 0, + 1, + 0.2, + 0, + 0.4, + 0, + 0.6, + 0, + 0, + 8.567, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLAngle", + "Segments": [ + 0, + 0, + 1, + 0.2, + 0, + 0.4, + 0, + 0.6, + 0, + 0, + 8.567, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRAngle", + "Segments": [ + 0, + 0, + 1, + 0.2, + 0, + 0.4, + 0, + 0.6, + 0, + 0, + 8.567, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLForm", + "Segments": [ + 0, + 0, + 1, + 0.2, + 0, + 0.4, + 0, + 0.6, + 0, + 0, + 8.567, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRForm", + "Segments": [ + 0, + 0, + 1, + 0.2, + 0, + 0.4, + 0, + 0.6, + 0, + 0, + 8.567, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamMouthForm", + "Segments": [ + 0, + 1, + 1, + 0.2, + 1, + 0.4, + 1, + 0.6, + 1, + 1, + 0.889, + 1, + 1.178, + 1, + 1.467, + 1, + 1, + 1.611, + 1, + 1.756, + 1, + 1.9, + 1, + 1, + 2.189, + 1, + 2.478, + 0, + 2.767, + 0, + 1, + 3.989, + 0, + 5.211, + 0, + 6.433, + 0, + 1, + 6.533, + 0, + 6.633, + 1, + 6.733, + 1, + 0, + 8.567, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamMouthOpenY", + "Segments": [ + 0, + 0, + 1, + 0.2, + 0, + 0.4, + 0, + 0.6, + 0, + 1, + 0.667, + 0, + 0.733, + 0, + 0.8, + 0, + 1, + 0.844, + 0, + 0.889, + 1, + 0.933, + 1, + 1, + 1.111, + 1, + 1.289, + 1, + 1.467, + 1, + 1, + 1.611, + 1, + 1.756, + 0, + 1.9, + 0, + 1, + 2.056, + 0, + 2.211, + 0, + 2.367, + 0, + 1, + 2.5, + 0, + 2.633, + 1, + 2.767, + 1, + 1, + 3.989, + 1, + 5.211, + 1, + 6.433, + 1, + 1, + 6.533, + 1, + 6.633, + 0, + 6.733, + 0, + 0, + 8.567, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleX", + "Segments": [ + 0, + 0, + 1, + 0.133, + 0, + 0.267, + 0, + 0.4, + 0, + 1, + 0.5, + 0, + 0.6, + -1.353, + 0.7, + -1.353, + 1, + 0.933, + -1.353, + 1.167, + 10, + 1.4, + 10, + 1, + 1.544, + 10, + 1.689, + 9.799, + 1.833, + 9.799, + 1, + 2.089, + 9.799, + 2.344, + 9.875, + 2.6, + 9.875, + 1, + 2.944, + 9.875, + 3.289, + -9.599, + 3.633, + -9.599, + 1, + 3.844, + -9.599, + 4.056, + -2.657, + 4.267, + -2.657, + 1, + 4.467, + -2.657, + 4.667, + -9.098, + 4.867, + -9.098, + 1, + 5.144, + -9.098, + 5.422, + -4.812, + 5.7, + -4.812, + 1, + 5.967, + -4.812, + 6.233, + -10, + 6.5, + -10, + 1, + 6.778, + -10, + 7.056, + -1.43, + 7.333, + 0, + 1, + 7.533, + 1.03, + 7.733, + 0.752, + 7.933, + 0.752, + 1, + 8.011, + 0.752, + 8.089, + -0.326, + 8.167, + -0.326, + 0, + 8.567, + -0.326 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleY", + "Segments": [ + 0, + 0, + 1, + 0.2, + 0, + 0.4, + 5.421, + 0.6, + 5.421, + 1, + 0.867, + 5.421, + 1.133, + -3.737, + 1.4, + -3.737, + 1, + 1.511, + -3.737, + 1.622, + 0.246, + 1.733, + 0.246, + 1, + 1.933, + 0.246, + 2.133, + 0, + 2.333, + 0, + 1, + 2.389, + 0, + 2.444, + 2.993, + 2.5, + 4, + 1, + 2.711, + 7.827, + 2.922, + 9, + 3.133, + 9, + 1, + 4.256, + 9, + 5.378, + 9, + 6.5, + 9, + 1, + 6.778, + 9, + 7.056, + -5, + 7.333, + -5, + 1, + 7.5, + -5, + 7.667, + 2, + 7.833, + 2, + 1, + 7.9, + 2, + 7.967, + 0, + 8.033, + 0, + 0, + 8.567, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleZ", + "Segments": [ + 0, + 0, + 1, + 0.2, + 0, + 0.4, + 2, + 0.6, + 2, + 1, + 0.867, + 2, + 1.133, + -10, + 1.4, + -10, + 1, + 1.533, + -10, + 1.667, + -10, + 1.8, + -10, + 1, + 2, + -10, + 2.2, + -10.197, + 2.4, + -6.566, + 1, + 2.6, + -2.936, + 2.8, + 10, + 3, + 10, + 1, + 3.433, + 10, + 3.867, + -4.436, + 4.3, + -4.436, + 1, + 4.578, + -4.436, + 4.856, + 10, + 5.133, + 10, + 1, + 5.433, + 10, + 5.733, + 0.695, + 6.033, + -4.261, + 1, + 6.211, + -7.197, + 6.389, + -6.792, + 6.567, + -6.792, + 1, + 6.644, + -6.792, + 6.722, + -6.224, + 6.8, + -4.11, + 1, + 6.989, + 1.023, + 7.178, + 4.236, + 7.367, + 4.236, + 1, + 7.689, + 4.236, + 8.011, + 0.025, + 8.333, + 0.025, + 0, + 8.567, + 0.025 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBreath", + "Segments": [ + 0, + 0, + 1, + 0.122, + 0, + 0.244, + 1, + 0.367, + 1, + 1, + 0.511, + 1, + 0.656, + 0, + 0.8, + 0, + 1, + 1.022, + 0, + 1.244, + 1, + 1.467, + 1, + 1, + 1.689, + 1, + 1.911, + 0, + 2.133, + 0, + 1, + 2.344, + 0, + 2.556, + 1, + 2.767, + 1, + 1, + 2.967, + 1, + 3.167, + 0, + 3.367, + 0, + 1, + 3.578, + 0, + 3.789, + 1, + 4, + 1, + 1, + 4.233, + 1, + 4.467, + 0, + 4.7, + 0, + 1, + 4.9, + 0, + 5.1, + 0, + 5.3, + 0, + 1, + 5.522, + 0, + 5.744, + 1, + 5.967, + 1, + 1, + 6.244, + 1, + 6.522, + 0, + 6.8, + 0, + 1, + 7.022, + 0, + 7.244, + 1, + 7.467, + 1, + 1, + 7.689, + 1, + 7.911, + 0, + 8.133, + 0, + 0, + 8.567, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamShoulder", + "Segments": [ + 0, + 0, + 0, + 8.567, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamLeg", + "Segments": [ + 0, + 1, + 0, + 8.567, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmLA", + "Segments": [ + 0, + -10, + 1, + 0.2, + -10, + 0.4, + -10, + 0.6, + -10, + 1, + 0.833, + -10, + 1.067, + -7.083, + 1.3, + -7.083, + 1, + 1.433, + -7.083, + 1.567, + -7.083, + 1.7, + -7.083, + 1, + 1.911, + -7.083, + 2.122, + -10, + 2.333, + -10, + 1, + 3.467, + -10, + 4.6, + -10, + 5.733, + -10, + 1, + 5.8, + -10, + 5.867, + -10, + 5.933, + -10, + 1, + 6.4, + -10, + 6.867, + -10, + 7.333, + -10, + 0, + 8.567, + -10 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmRA", + "Segments": [ + 0, + -10, + 1, + 0.2, + -10, + 0.4, + -10, + 0.6, + -10, + 1, + 0.833, + -10, + 1.067, + 2.917, + 1.3, + 2.917, + 1, + 1.478, + 2.917, + 1.656, + 3.029, + 1.833, + 2.6, + 1, + 2.033, + 2.117, + 2.233, + -10, + 2.433, + -10, + 1, + 3.533, + -10, + 4.633, + -10, + 5.733, + -10, + 1, + 5.8, + -10, + 5.867, + -10, + 5.933, + -10, + 1, + 6.133, + -10, + 6.333, + -10, + 6.533, + -10, + 1, + 6.8, + -10, + 7.067, + -10, + 7.333, + -10, + 0, + 8.567, + -10 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmRB", + "Segments": [ + 0, + 0.02, + 0, + 8.567, + 0.02 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHairAhoge", + "Segments": [ + 0, + 0, + 1, + 0.178, + 0, + 0.356, + -10, + 0.533, + -10, + 1, + 0.833, + -10, + 1.133, + 10, + 1.433, + 10, + 1, + 1.567, + 10, + 1.7, + 0, + 1.833, + 0, + 1, + 2.311, + 0, + 2.789, + 10, + 3.267, + 10, + 1, + 3.344, + 10, + 3.422, + 10, + 3.5, + 10, + 1, + 3.633, + 10, + 3.767, + -10, + 3.9, + -10, + 1, + 4.267, + -10, + 4.633, + 7.69, + 5, + 9.705, + 1, + 5.122, + 10.376, + 5.244, + 10, + 5.367, + 10, + 1, + 5.756, + 10, + 6.144, + -9.975, + 6.533, + -9.975, + 1, + 6.622, + -9.975, + 6.711, + -10.207, + 6.8, + -9.779, + 1, + 7.033, + -8.654, + 7.267, + 10, + 7.5, + 10, + 1, + 7.7, + 10, + 7.9, + -6.753, + 8.1, + -6.753, + 1, + 8.2, + -6.753, + 8.3, + 0, + 8.4, + 0, + 0, + 8.567, + 0 + ] + }, + { + "Target": "PartOpacity", + "Id": "PartArmA", + "Segments": [ + 0, + 1, + 0, + 8.57, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "PartArmB", + "Segments": [ + 0, + 0, + 0, + 8.57, + 0 + ] + } + ] +} \ No newline at end of file diff --git a/staticfiles/Hiyori/motions/Hiyori_m06.motion3.json b/staticfiles/Hiyori/motions/Hiyori_m06.motion3.json new file mode 100644 index 0000000000000000000000000000000000000000..0bfe6003b85de8d4d0fa6e5ad198aa61f84b8134 --- /dev/null +++ b/staticfiles/Hiyori/motions/Hiyori_m06.motion3.json @@ -0,0 +1,1990 @@ +{ + "Version": 3, + "Meta": { + "Duration": 5.37, + "Fps": 30.0, + "Loop": true, + "AreBeziersRestricted": false, + "CurveCount": 35, + "TotalSegmentCount": 262, + "TotalPointCount": 751, + "UserDataCount": 0, + "TotalUserDataSize": 0 + }, + "Curves": [ + { + "Target": "Parameter", + "Id": "ParamAngleX", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 1, + 0.333, + 1, + 1, + 0.7, + 1, + 1.067, + 0, + 1.433, + 0, + 1, + 1.711, + 0, + 1.989, + 10, + 2.267, + 10, + 1, + 2.522, + 10, + 2.778, + -7, + 3.033, + -7, + 1, + 3.233, + -7, + 3.433, + 13, + 3.633, + 13, + 1, + 3.811, + 13, + 3.989, + 7.017, + 4.167, + 2, + 1, + 4.244, + -0.195, + 4.322, + 0, + 4.4, + 0, + 0, + 5.367, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleY", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 18, + 0.333, + 18, + 1, + 0.522, + 18, + 0.711, + -9.95, + 0.9, + -9.95, + 1, + 0.956, + -9.95, + 1.011, + -1.664, + 1.067, + -1.589, + 1, + 1.911, + -0.462, + 2.756, + 0, + 3.6, + 0, + 1, + 3.789, + 0, + 3.978, + -18, + 4.167, + -18, + 1, + 4.244, + -18, + 4.322, + -10, + 4.4, + -10, + 0, + 5.367, + -10 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleZ", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 1, + 0.489, + 0, + 0.644, + 25, + 0.8, + 25, + 1, + 0.878, + 25, + 0.956, + 25, + 1.033, + 25, + 1, + 1.233, + 25, + 1.433, + 25, + 1.633, + 25, + 1, + 1.867, + 25, + 2.1, + -5, + 2.333, + -5, + 1, + 2.533, + -5, + 2.733, + 23, + 2.933, + 23, + 1, + 3.189, + 23, + 3.444, + -3, + 3.7, + -3, + 0, + 5.367, + -3 + ] + }, + { + "Target": "Parameter", + "Id": "ParamCheek", + "Segments": [ + 0, + 0, + 1, + 0.122, + 0, + 0.244, + 0, + 0.367, + 0, + 0, + 5.367, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeLOpen", + "Segments": [ + 0, + 1, + 1, + 0.178, + 1, + 0.356, + 1, + 0.533, + 1, + 1, + 0.567, + 1, + 0.6, + 0, + 0.633, + 0, + 1, + 0.644, + 0, + 0.656, + 0, + 0.667, + 0, + 1, + 0.7, + 0, + 0.733, + 1, + 0.767, + 1, + 1, + 1.056, + 1, + 1.344, + 1, + 1.633, + 1, + 1, + 1.667, + 1, + 1.7, + 0, + 1.733, + 0, + 1, + 1.744, + 0, + 1.756, + 0, + 1.767, + 0, + 1, + 1.8, + 0, + 1.833, + 1, + 1.867, + 1, + 1, + 2.433, + 1, + 3, + 1, + 3.567, + 1, + 1, + 3.6, + 1, + 3.633, + 0, + 3.667, + 0, + 1, + 3.678, + 0, + 3.689, + 0, + 3.7, + 0, + 1, + 3.733, + 0, + 3.767, + 1, + 3.8, + 1, + 1, + 3.944, + 1, + 4.089, + 1, + 4.233, + 1, + 1, + 4.256, + 1, + 4.278, + 0, + 4.3, + 0, + 0, + 5.367, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeLSmile", + "Segments": [ + 0, + 0, + 1, + 1.378, + 0, + 2.756, + 0, + 4.133, + 0, + 1, + 4.167, + 0, + 4.2, + 0.833, + 4.233, + 0.833, + 0, + 5.367, + 0.833 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeROpen", + "Segments": [ + 0, + 1, + 1, + 0.178, + 1, + 0.356, + 1, + 0.533, + 1, + 1, + 0.567, + 1, + 0.6, + 0, + 0.633, + 0, + 1, + 0.644, + 0, + 0.656, + 0, + 0.667, + 0, + 1, + 0.7, + 0, + 0.733, + 1, + 0.767, + 1, + 1, + 1.056, + 1, + 1.344, + 1, + 1.633, + 1, + 1, + 1.667, + 1, + 1.7, + 0, + 1.733, + 0, + 1, + 1.744, + 0, + 1.756, + 0, + 1.767, + 0, + 1, + 1.8, + 0, + 1.833, + 1, + 1.867, + 1, + 1, + 2.433, + 1, + 3, + 1, + 3.567, + 1, + 1, + 3.6, + 1, + 3.633, + 0, + 3.667, + 0, + 1, + 3.678, + 0, + 3.689, + 0, + 3.7, + 0, + 1, + 3.733, + 0, + 3.767, + 0.998, + 3.8, + 1, + 1, + 3.944, + 1.01, + 4.089, + 1.013, + 4.233, + 1.013, + 1, + 4.256, + 1.013, + 4.278, + 0, + 4.3, + 0, + 0, + 5.367, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeRSmile", + "Segments": [ + 0, + 0, + 1, + 1.378, + 0, + 2.756, + 0, + 4.133, + 0, + 1, + 4.167, + 0, + 4.2, + 0.823, + 4.233, + 0.823, + 0, + 5.367, + 0.823 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallX", + "Segments": [ + 0, + 0, + 1, + 0.122, + 0, + 0.244, + -0.067, + 0.367, + -0.14, + 1, + 0.5, + -0.22, + 0.633, + -0.24, + 0.767, + -0.24, + 1, + 0.856, + -0.24, + 0.944, + -0.24, + 1.033, + -0.24, + 1, + 1.311, + -0.24, + 1.589, + -0.24, + 1.867, + -0.25, + 1, + 2.022, + -0.256, + 2.178, + -0.51, + 2.333, + -0.51, + 1, + 2.578, + -0.51, + 2.822, + 0.22, + 3.067, + 0.22, + 1, + 3.267, + 0.22, + 3.467, + -0.57, + 3.667, + -0.57, + 1, + 3.911, + -0.57, + 4.156, + -0.28, + 4.4, + -0.28, + 0, + 5.367, + -0.28 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallY", + "Segments": [ + 0, + 0, + 1, + 0.122, + 0, + 0.244, + -0.38, + 0.367, + -0.38, + 1, + 0.5, + -0.38, + 0.633, + 0.21, + 0.767, + 0.21, + 1, + 0.856, + 0.21, + 0.944, + 0.21, + 1.033, + 0.21, + 1, + 1.311, + 0.21, + 1.589, + 0.29, + 1.867, + 0.29, + 1, + 2.022, + 0.29, + 2.178, + 0.21, + 2.333, + 0.21, + 1, + 2.578, + 0.21, + 2.822, + 0.29, + 3.067, + 0.29, + 1, + 3.267, + 0.29, + 3.467, + 0.08, + 3.667, + 0.08, + 1, + 3.911, + 0.08, + 4.156, + 0.13, + 4.4, + 0.13, + 0, + 5.367, + 0.13 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLY", + "Segments": [ + 0, + 0, + 1, + 0.078, + 0, + 0.156, + -0.008, + 0.233, + 0.021, + 1, + 0.322, + 0.053, + 0.411, + 0.625, + 0.5, + 0.625, + 1, + 0.567, + 0.625, + 0.633, + 0, + 0.7, + 0, + 1, + 1.144, + 0, + 1.589, + 0, + 2.033, + 0, + 1, + 2.089, + 0, + 2.144, + 0.229, + 2.2, + 0.229, + 1, + 2.278, + 0.229, + 2.356, + 0, + 2.433, + 0, + 1, + 2.544, + 0, + 2.656, + 0, + 2.767, + 0, + 1, + 2.822, + 0, + 2.878, + 0.229, + 2.933, + 0.229, + 1, + 3.011, + 0.229, + 3.089, + 0, + 3.167, + 0, + 1, + 3.456, + 0, + 3.744, + 0, + 4.033, + 0, + 1, + 4.133, + 0, + 4.233, + 0.479, + 4.333, + 0.479, + 0, + 5.367, + 0.479 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRY", + "Segments": [ + 0, + 0, + 1, + 0.078, + 0, + 0.156, + 0, + 0.233, + 0, + 1, + 0.322, + 0, + 0.411, + 0.625, + 0.5, + 0.625, + 1, + 0.567, + 0.625, + 0.633, + 0, + 0.7, + 0, + 1, + 1.144, + 0, + 1.589, + 0.005, + 2.033, + 0.021, + 1, + 2.089, + 0.023, + 2.144, + 0.188, + 2.2, + 0.188, + 1, + 2.278, + 0.188, + 2.356, + 0, + 2.433, + 0, + 1, + 2.544, + 0, + 2.656, + 0.001, + 2.767, + 0.021, + 1, + 2.822, + 0.031, + 2.878, + 0.229, + 2.933, + 0.229, + 1, + 3.011, + 0.229, + 3.089, + 0, + 3.167, + 0, + 1, + 3.456, + 0, + 3.744, + 0, + 4.033, + 0, + 1, + 4.133, + 0, + 4.233, + 0.479, + 4.333, + 0.479, + 0, + 5.367, + 0.479 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLX", + "Segments": [ + 0, + 0, + 1, + 0.167, + 0, + 0.333, + 0, + 0.5, + 0, + 1, + 1.678, + 0, + 2.856, + 0, + 4.033, + 0, + 1, + 4.133, + 0, + 4.233, + -0.479, + 4.333, + -0.479, + 0, + 5.367, + -0.479 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRX", + "Segments": [ + 0, + 0, + 1, + 0.122, + 0, + 0.244, + 0, + 0.367, + 0, + 1, + 1.589, + 0, + 2.811, + 0, + 4.033, + 0, + 1, + 4.133, + 0, + 4.233, + 0.688, + 4.333, + 0.688, + 0, + 5.367, + 0.688 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLAngle", + "Segments": [ + 0, + 0, + 1, + 0.167, + 0, + 0.333, + 0, + 0.5, + 0, + 1, + 1.678, + 0, + 2.856, + 0, + 4.033, + 0, + 1, + 4.133, + 0, + 4.233, + 0, + 4.333, + 0, + 0, + 5.367, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRAngle", + "Segments": [ + 0, + 0, + 1, + 0.122, + 0, + 0.244, + 0, + 0.367, + 0, + 1, + 1.589, + 0, + 2.811, + 0, + 4.033, + 0, + 1, + 4.133, + 0, + 4.233, + 0, + 4.333, + 0, + 0, + 5.367, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLForm", + "Segments": [ + 0, + 0, + 1, + 0.122, + 0, + 0.244, + 0, + 0.367, + 0, + 1, + 1.589, + 0, + 2.811, + 0, + 4.033, + 0, + 1, + 4.133, + 0, + 4.233, + 0, + 4.333, + 0, + 0, + 5.367, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRForm", + "Segments": [ + 0, + 0, + 1, + 0.122, + 0, + 0.244, + 0, + 0.367, + 0, + 1, + 1.589, + 0, + 2.811, + 0, + 4.033, + 0, + 1, + 4.133, + 0, + 4.233, + 0, + 4.333, + 0, + 0, + 5.367, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamMouthForm", + "Segments": [ + 0, + 1, + 1, + 1.367, + 1, + 2.733, + 1, + 4.1, + 1, + 0, + 5.367, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamMouthOpenY", + "Segments": [ + 0, + 0, + 1, + 1.367, + 0, + 2.733, + 0, + 4.1, + 0, + 1, + 4.144, + 0, + 4.189, + 1, + 4.233, + 1, + 0, + 5.367, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleX", + "Segments": [ + 0, + -10, + 1, + 0.078, + -10, + 0.156, + 0, + 0.233, + 0, + 1, + 0.311, + 0, + 0.389, + -1.353, + 0.467, + -1.353, + 1, + 0.6, + -1.353, + 0.733, + 10, + 0.867, + 10, + 1, + 0.956, + 10, + 1.044, + 9.799, + 1.133, + 9.799, + 1, + 1.233, + 9.799, + 1.333, + 10, + 1.433, + 10, + 1, + 1.667, + 10, + 1.9, + -2.975, + 2.133, + -2.975, + 1, + 2.211, + -2.975, + 2.289, + -2.975, + 2.367, + -2.975, + 1, + 2.522, + -2.975, + 2.678, + 9.025, + 2.833, + 9.025, + 1, + 2.978, + 9.025, + 3.122, + 9.025, + 3.267, + 9.025, + 1, + 3.489, + 9.025, + 3.711, + 2.025, + 3.933, + 2.025, + 0, + 5.367, + 2.025 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleY", + "Segments": [ + 0, + 10, + 1, + 0.122, + 10, + 0.244, + 9.141, + 0.367, + 5.421, + 1, + 0.533, + 0.348, + 0.7, + -3.737, + 0.867, + -3.737, + 1, + 0.978, + -3.737, + 1.089, + 2.181, + 1.2, + 2.181, + 1, + 1.3, + 2.181, + 1.4, + 1.948, + 1.5, + 0.298, + 1, + 1.6, + -1.351, + 1.7, + -3.396, + 1.8, + -3.396, + 1, + 1.944, + -3.396, + 2.089, + 4.673, + 2.233, + 4.673, + 1, + 2.378, + 4.673, + 2.522, + -3.858, + 2.667, + -3.858, + 1, + 2.767, + -3.858, + 2.867, + 4.794, + 2.967, + 4.794, + 1, + 3.089, + 4.794, + 3.211, + -3.573, + 3.333, + -3.573, + 1, + 3.533, + -3.573, + 3.733, + 5.27, + 3.933, + 5.27, + 1, + 4.044, + 5.27, + 4.156, + -5.393, + 4.267, + -5.393, + 1, + 4.356, + -5.393, + 4.444, + 0.095, + 4.533, + 0.095, + 0, + 5.367, + 0.095 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleZ", + "Segments": [ + 0, + 0, + 1, + 0.122, + 0, + 0.244, + 2, + 0.367, + 2, + 1, + 0.533, + 2, + 0.7, + -10, + 0.867, + -10, + 1, + 1.078, + -10, + 1.289, + -10.013, + 1.5, + -9.975, + 1, + 1.767, + -9.927, + 2.033, + 2.026, + 2.3, + 2.026, + 1, + 2.522, + 2.026, + 2.744, + -9.975, + 2.967, + -9.975, + 1, + 3.322, + -9.975, + 3.678, + -6.592, + 4.033, + 1.8, + 1, + 4.178, + 5.209, + 4.322, + 8, + 4.467, + 8, + 0, + 5.367, + 8 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBreath", + "Segments": [ + 0, + 0, + 1, + 0.122, + 0, + 0.244, + 1, + 0.367, + 1, + 1, + 0.511, + 1, + 0.656, + 0, + 0.8, + 0, + 1, + 1.022, + 0, + 1.244, + 1, + 1.467, + 1, + 1, + 1.689, + 1, + 1.911, + 0, + 2.133, + 0, + 1, + 2.344, + 0, + 2.556, + 1, + 2.767, + 1, + 1, + 2.967, + 1, + 3.167, + 0, + 3.367, + 0, + 1, + 3.578, + 0, + 3.789, + 1, + 4, + 1, + 1, + 4.233, + 1, + 4.467, + 0, + 4.7, + 0, + 0, + 5.367, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamShoulder", + "Segments": [ + 0, + 0, + 1, + 0.144, + 0, + 0.289, + 1, + 0.433, + 1, + 1, + 0.6, + 1, + 0.767, + 0.049, + 0.933, + -0.1, + 1, + 1.167, + -0.309, + 1.4, + -0.3, + 1.633, + -0.3, + 1, + 1.844, + -0.3, + 2.056, + 0.9, + 2.267, + 0.9, + 1, + 2.411, + 0.9, + 2.556, + -0.22, + 2.7, + -0.22, + 1, + 2.844, + -0.22, + 2.989, + 0.6, + 3.133, + 0.6, + 1, + 3.289, + 0.6, + 3.444, + -0.4, + 3.6, + -0.4, + 1, + 3.7, + -0.4, + 3.8, + 0.5, + 3.9, + 0.5, + 1, + 4.044, + 0.5, + 4.189, + 0.238, + 4.333, + 0, + 1, + 4.444, + -0.183, + 4.556, + -0.2, + 4.667, + -0.2, + 0, + 5.367, + -0.2 + ] + }, + { + "Target": "Parameter", + "Id": "ParamLeg", + "Segments": [ + 0, + 1, + 1, + 1.344, + 1, + 2.689, + 1, + 4.033, + 1, + 1, + 4.144, + 1, + 4.256, + 0, + 4.367, + 0, + 1, + 4.578, + 0, + 4.789, + 0.052, + 5, + 0.052, + 0, + 5.367, + 0.052 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmLB", + "Segments": [ + 0, + 0, + 1, + 0.1, + 0, + 0.2, + 1.3, + 0.3, + 1.3, + 1, + 0.544, + 1.3, + 0.789, + 0, + 1.033, + 0, + 1, + 1.222, + 0, + 1.411, + 0, + 1.6, + 0, + 1, + 1.811, + 0, + 2.022, + -10, + 2.233, + -10, + 1, + 2.811, + -10, + 3.389, + -10, + 3.967, + -10, + 1, + 4.133, + -10, + 4.3, + -6.458, + 4.467, + -6.458, + 0, + 5.367, + -6.458 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmRB", + "Segments": [ + 0, + 0, + 1, + 0.1, + 0, + 0.2, + 1.9, + 0.3, + 1.9, + 1, + 0.544, + 1.9, + 0.789, + 0, + 1.033, + 0, + 1, + 1.222, + 0, + 1.411, + 0, + 1.6, + 0, + 1, + 1.811, + 0, + 2.022, + -10, + 2.233, + -10, + 1, + 2.7, + -10, + 3.167, + -10, + 3.633, + -10, + 1, + 3.744, + -10, + 3.856, + -10, + 3.967, + -10, + 1, + 4.133, + -10, + 4.3, + -5.833, + 4.467, + -5.833, + 0, + 5.367, + -5.833 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandLB", + "Segments": [ + 0, + 0, + 1, + 0.156, + 0, + 0.311, + 0, + 0.467, + 0, + 1, + 0.656, + 0, + 0.844, + 6.25, + 1.033, + 6.25, + 1, + 1.222, + 6.25, + 1.411, + 6.365, + 1.6, + 5.833, + 1, + 1.811, + 5.239, + 2.022, + -4.07, + 2.233, + -4.583, + 1, + 2.367, + -4.907, + 2.5, + -4.792, + 2.633, + -4.792, + 1, + 2.778, + -4.792, + 2.922, + -3.75, + 3.067, + -3.75, + 1, + 3.256, + -3.75, + 3.444, + -6.25, + 3.633, + -6.25, + 1, + 3.756, + -6.25, + 3.878, + -6.419, + 4, + -5.833, + 1, + 4.156, + -5.088, + 4.311, + 9.4, + 4.467, + 9.4, + 1, + 4.533, + 9.4, + 4.6, + 7.1, + 4.667, + 7.1, + 0, + 5.367, + 7.1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandRB", + "Segments": [ + 0, + 0, + 1, + 0.156, + 0, + 0.311, + 0, + 0.467, + 0, + 1, + 0.656, + 0, + 0.844, + 8.064, + 1.033, + 8.333, + 1, + 1.222, + 8.603, + 1.411, + 8.542, + 1.6, + 8.542, + 1, + 1.811, + 8.542, + 2.022, + -5.8, + 2.233, + -7.292, + 1, + 2.367, + -8.234, + 2.5, + -7.917, + 2.633, + -7.917, + 1, + 2.778, + -7.917, + 2.922, + -7.917, + 3.067, + -7.917, + 1, + 3.256, + -7.917, + 3.444, + -8.084, + 3.633, + -8.333, + 1, + 3.756, + -8.494, + 3.878, + -8.542, + 4, + -8.542, + 1, + 4.156, + -8.542, + 4.311, + 10, + 4.467, + 10, + 1, + 4.533, + 10, + 4.6, + 6.8, + 4.667, + 6.8, + 0, + 5.367, + 6.8 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandL", + "Segments": [ + 0, + 0, + 1, + 0.144, + 0, + 0.289, + 0.958, + 0.433, + 0.958, + 1, + 0.611, + 0.958, + 0.789, + -1, + 0.967, + -1, + 1, + 1.222, + -1, + 1.478, + 0.4, + 1.733, + 0.4, + 1, + 1.922, + 0.4, + 2.111, + -1, + 2.3, + -1, + 1, + 2.544, + -1, + 2.789, + 1, + 3.033, + 1, + 1, + 3.344, + 1, + 3.656, + -1, + 3.967, + -1, + 1, + 4.222, + -1, + 4.478, + 0.4, + 4.733, + 0.4, + 0, + 5.367, + 0.4 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandR", + "Segments": [ + 0, + 0, + 1, + 0.144, + 0, + 0.289, + 1, + 0.433, + 1, + 1, + 0.611, + 1, + 0.789, + -1, + 0.967, + -1, + 1, + 1.222, + -1, + 1.478, + 0.4, + 1.733, + 0.4, + 1, + 1.922, + 0.4, + 2.111, + -1, + 2.3, + -1, + 1, + 2.544, + -1, + 2.789, + 1, + 3.033, + 1, + 1, + 3.344, + 1, + 3.656, + -1, + 3.967, + -1, + 1, + 4.222, + -1, + 4.478, + 0.3, + 4.733, + 0.3, + 0, + 5.367, + 0.3 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHairAhoge", + "Segments": [ + 0, + 0, + 1, + 0.022, + 0, + 0.044, + 0, + 0.067, + 0, + 1, + 0.144, + 0, + 0.222, + -10, + 0.3, + -10, + 1, + 0.456, + -10, + 0.611, + 8.967, + 0.767, + 8.967, + 1, + 0.889, + 8.967, + 1.011, + -5.867, + 1.133, + -5.867, + 1, + 1.244, + -5.867, + 1.356, + -3.178, + 1.467, + -0.111, + 1, + 1.522, + 1.423, + 1.578, + 1.562, + 1.633, + 1.562, + 1, + 1.733, + 1.562, + 1.833, + -4.563, + 1.933, + -4.563, + 1, + 2.078, + -4.563, + 2.222, + 10, + 2.367, + 10, + 1, + 2.411, + 10, + 2.456, + 10.159, + 2.5, + 9.828, + 1, + 2.6, + 9.082, + 2.7, + -8.352, + 2.8, + -8.352, + 1, + 2.867, + -8.352, + 2.933, + -8.632, + 3, + -7.761, + 1, + 3.111, + -6.31, + 3.222, + 6.63, + 3.333, + 6.63, + 1, + 3.389, + 6.63, + 3.444, + -4.883, + 3.5, + -4.883, + 1, + 3.544, + -4.883, + 3.589, + -5.066, + 3.633, + -4.785, + 1, + 3.811, + -3.661, + 3.989, + 9.803, + 4.167, + 9.803, + 1, + 4.256, + 9.803, + 4.344, + -9.656, + 4.433, + -9.656, + 1, + 4.567, + -9.656, + 4.7, + 5.375, + 4.833, + 5.375, + 1, + 4.967, + 5.375, + 5.1, + 0, + 5.233, + 0, + 0, + 5.367, + 0 + ] + }, + { + "Target": "PartOpacity", + "Id": "PartArmA", + "Segments": [ + 0, + 0, + 0, + 5.37, + 0 + ] + }, + { + "Target": "PartOpacity", + "Id": "PartArmB", + "Segments": [ + 0, + 1, + 0, + 5.37, + 1 + ] + } + ] +} \ No newline at end of file diff --git a/staticfiles/Hiyori/motions/Hiyori_m07.motion3.json b/staticfiles/Hiyori/motions/Hiyori_m07.motion3.json new file mode 100644 index 0000000000000000000000000000000000000000..b19014889c164696db554af7ae19fef97cffcb22 --- /dev/null +++ b/staticfiles/Hiyori/motions/Hiyori_m07.motion3.json @@ -0,0 +1,991 @@ +{ + "Version": 3, + "Meta": { + "Duration": 1.9, + "Fps": 30.0, + "Loop": true, + "AreBeziersRestricted": false, + "CurveCount": 32, + "TotalSegmentCount": 121, + "TotalPointCount": 331, + "UserDataCount": 0, + "TotalUserDataSize": 0 + }, + "Curves": [ + { + "Target": "Parameter", + "Id": "ParamAngleX", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 0, + 1.9, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleY", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 0, + 1.9, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleZ", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 1, + 0.444, + 0, + 0.556, + 8, + 0.667, + 8, + 0, + 1.9, + 8 + ] + }, + { + "Target": "Parameter", + "Id": "ParamCheek", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 0, + 1.9, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeLOpen", + "Segments": [ + 0, + 1, + 1, + 0.111, + 1, + 0.222, + 1, + 0.333, + 1, + 1, + 0.378, + 1, + 0.422, + 0, + 0.467, + 0, + 1, + 0.522, + 0, + 0.578, + 1.2, + 0.633, + 1.2, + 1, + 0.744, + 1.2, + 0.856, + 1.2, + 0.967, + 1.2, + 1, + 0.989, + 1.2, + 1.011, + 0, + 1.033, + 0, + 1, + 1.067, + 0, + 1.1, + 1.2, + 1.133, + 1.2, + 1, + 1.167, + 1.2, + 1.2, + 1.2, + 1.233, + 1.2, + 1, + 1.267, + 1.2, + 1.3, + 0, + 1.333, + 0, + 1, + 1.356, + 0, + 1.378, + 1.2, + 1.4, + 1.2, + 0, + 1.9, + 1.2 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeLSmile", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 0, + 1.9, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeROpen", + "Segments": [ + 0, + 1, + 1, + 0.111, + 1, + 0.222, + 1, + 0.333, + 1, + 1, + 0.378, + 1, + 0.422, + 0, + 0.467, + 0, + 1, + 0.522, + 0, + 0.578, + 1.2, + 0.633, + 1.2, + 1, + 0.744, + 1.2, + 0.856, + 1.2, + 0.967, + 1.2, + 1, + 0.989, + 1.2, + 1.011, + 0, + 1.033, + 0, + 1, + 1.067, + 0, + 1.1, + 1.2, + 1.133, + 1.2, + 1, + 1.167, + 1.2, + 1.2, + 1.2, + 1.233, + 1.2, + 1, + 1.267, + 1.2, + 1.3, + 0, + 1.333, + 0, + 1, + 1.356, + 0, + 1.378, + 1.2, + 1.4, + 1.2, + 0, + 1.9, + 1.2 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeRSmile", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 1, + 0.356, + 0, + 0.378, + 0, + 0.4, + 0, + 1, + 0.489, + 0, + 0.578, + 0, + 0.667, + 0, + 0, + 1.9, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallX", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 1, + 0.356, + 0, + 0.378, + 0, + 0.4, + 0, + 1, + 0.489, + 0, + 0.578, + 0, + 0.667, + 0, + 0, + 1.9, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallY", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 1, + 0.356, + 0, + 0.378, + 0, + 0.4, + 0, + 1, + 0.489, + 0, + 0.578, + 0, + 0.667, + 0, + 0, + 1.9, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLY", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 1, + 0.356, + 0, + 0.378, + 0, + 0.4, + 0, + 1, + 0.489, + 0, + 0.578, + 0.26, + 0.667, + 0.26, + 0, + 1.9, + 0.26 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRY", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 1, + 0.356, + 0, + 0.378, + 0, + 0.4, + 0, + 1, + 0.489, + 0, + 0.578, + 0.36, + 0.667, + 0.36, + 0, + 1.9, + 0.36 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLX", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 1, + 0.356, + 0, + 0.378, + 0, + 0.4, + 0, + 1, + 0.489, + 0, + 0.578, + 0, + 0.667, + 0, + 0, + 1.9, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRX", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 1, + 0.356, + 0, + 0.378, + 0, + 0.4, + 0, + 1, + 0.489, + 0, + 0.578, + 0.27, + 0.667, + 0.27, + 0, + 1.9, + 0.27 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLAngle", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 1, + 0.356, + 0, + 0.378, + 0, + 0.4, + 0, + 1, + 0.489, + 0, + 0.578, + 0.26, + 0.667, + 0.26, + 0, + 1.9, + 0.26 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRAngle", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 1, + 0.356, + 0, + 0.378, + 0, + 0.4, + 0, + 1, + 0.489, + 0, + 0.578, + -0.03, + 0.667, + -0.03, + 0, + 1.9, + -0.03 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLForm", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 1, + 0.356, + 0, + 0.378, + 0, + 0.4, + 0, + 1, + 0.489, + 0, + 0.578, + 0.33, + 0.667, + 0.33, + 0, + 1.9, + 0.33 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRForm", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 1, + 0.356, + 0, + 0.378, + 0, + 0.4, + 0, + 1, + 0.489, + 0, + 0.578, + 0.21, + 0.667, + 0.21, + 0, + 1.9, + 0.21 + ] + }, + { + "Target": "Parameter", + "Id": "ParamMouthForm", + "Segments": [ + 0, + 1, + 1, + 0.111, + 1, + 0.222, + 1, + 0.333, + 1, + 1, + 0.356, + 1, + 0.378, + 1, + 0.4, + 1, + 1, + 0.489, + 1, + 0.578, + -2, + 0.667, + -2, + 0, + 1.9, + -2 + ] + }, + { + "Target": "Parameter", + "Id": "ParamMouthOpenY", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 1, + 0.356, + 0, + 0.378, + 0, + 0.4, + 0, + 1, + 0.489, + 0, + 0.578, + 0.75, + 0.667, + 0.75, + 0, + 1.9, + 0.75 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleX", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 1, + 0.444, + 0, + 0.556, + -6, + 0.667, + -6, + 0, + 1.9, + -6 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleY", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 1, + 0.422, + 0, + 0.511, + 10, + 0.6, + 10, + 1, + 0.667, + 10, + 0.733, + -6, + 0.8, + -6, + 1, + 0.833, + -6, + 0.867, + 5, + 0.9, + 5, + 1, + 1.011, + 5, + 1.122, + 0, + 1.233, + 0, + 0, + 1.9, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleZ", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 1, + 0.444, + 0, + 0.556, + -3, + 0.667, + -3, + 0, + 1.9, + -3 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBreath", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 0, + 1.9, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamShoulder", + "Segments": [ + 0, + -0.062, + 1, + 0.111, + -0.062, + 0.222, + -0.103, + 0.333, + 0, + 1, + 0.589, + 0.238, + 0.844, + 1, + 1.1, + 1, + 0, + 1.9, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmLA", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 1, + 0.478, + 0, + 0.622, + -10, + 0.767, + -10, + 1, + 0.811, + -10, + 0.856, + -8.2, + 0.9, + -8.2, + 0, + 1.9, + -8.2 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmRA", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 1, + 0.478, + 0, + 0.622, + -10, + 0.767, + -10, + 1, + 0.811, + -10, + 0.856, + -7.2, + 0.9, + -7.2, + 0, + 1.9, + -7.2 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmLB", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 0, + 1.9, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmRB", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 0, + 1.9, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHairAhoge", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 1.9, + 0.333, + 5.2, + 1, + 0.444, + 8.5, + 0.556, + 9.926, + 0.667, + 9.926, + 1, + 0.744, + 9.926, + 0.822, + -10, + 0.9, + -10, + 1, + 0.956, + -10, + 1.011, + 6, + 1.067, + 6, + 1, + 1.144, + 6, + 1.222, + -4, + 1.3, + -4, + 1, + 1.367, + -4, + 1.433, + 0, + 1.5, + 0, + 0, + 1.9, + 0 + ] + }, + { + "Target": "PartOpacity", + "Id": "PartArmA", + "Segments": [ + 0, + 1, + 0, + 1.9, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "PartArmB", + "Segments": [ + 0, + 0, + 0, + 1.9, + 0 + ] + } + ] +} \ No newline at end of file diff --git a/staticfiles/Hiyori/motions/Hiyori_m08.motion3.json b/staticfiles/Hiyori/motions/Hiyori_m08.motion3.json new file mode 100644 index 0000000000000000000000000000000000000000..94b9c88400b352331cc3b1fa52f149d69de29cba --- /dev/null +++ b/staticfiles/Hiyori/motions/Hiyori_m08.motion3.json @@ -0,0 +1,1087 @@ +{ + "Version": 3, + "Meta": { + "Duration": 2.1, + "Fps": 30.0, + "Loop": true, + "AreBeziersRestricted": false, + "CurveCount": 35, + "TotalSegmentCount": 133, + "TotalPointCount": 364, + "UserDataCount": 0, + "TotalUserDataSize": 0 + }, + "Curves": [ + { + "Target": "Parameter", + "Id": "ParamAngleX", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.244, + 0, + 0.289, + 0, + 0.333, + 0, + 1, + 0.378, + 0, + 0.422, + 0, + 0.467, + 0, + 1, + 0.556, + 0, + 0.644, + 0, + 0.733, + 0, + 0, + 2.1, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleY", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.244, + 0, + 0.289, + 0, + 0.333, + 0, + 1, + 0.378, + 0, + 0.422, + -15, + 0.467, + -15, + 1, + 0.556, + -15, + 0.644, + 11, + 0.733, + 11, + 0, + 2.1, + 11 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleZ", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.244, + 0, + 0.289, + 0, + 0.333, + 0, + 1, + 0.444, + 0, + 0.556, + -15, + 0.667, + -15, + 1, + 0.722, + -15, + 0.778, + -9, + 0.833, + -9, + 0, + 2.1, + -9 + ] + }, + { + "Target": "Parameter", + "Id": "ParamCheek", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.278, + 0, + 0.356, + 0, + 0.433, + 0, + 0, + 2.1, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeLOpen", + "Segments": [ + 0, + 1, + 1, + 0.067, + 1, + 0.133, + 1, + 0.2, + 1, + 1, + 0.244, + 1, + 0.289, + 1, + 0.333, + 1, + 1, + 0.456, + 1, + 0.578, + 0, + 0.7, + 0, + 0, + 2.1, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeLSmile", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.244, + 0, + 0.289, + 0, + 0.333, + 0, + 1, + 0.456, + 0, + 0.578, + 1, + 0.7, + 1, + 0, + 2.1, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeROpen", + "Segments": [ + 0, + 1, + 1, + 0.067, + 1, + 0.133, + 1, + 0.2, + 1, + 1, + 0.244, + 1, + 0.289, + 1, + 0.333, + 1, + 1, + 0.456, + 1, + 0.578, + 0, + 0.7, + 0, + 0, + 2.1, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeRSmile", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.244, + 0, + 0.289, + 0, + 0.333, + 0, + 1, + 0.456, + 0, + 0.578, + 1, + 0.7, + 1, + 0, + 2.1, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallX", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.244, + 0, + 0.289, + 0, + 0.333, + 0, + 0, + 2.1, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallY", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.244, + 0, + 0.289, + 0, + 0.333, + 0, + 0, + 2.1, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLY", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.244, + 0, + 0.289, + 0, + 0.333, + 0, + 1, + 0.456, + 0, + 0.578, + -0.14, + 0.7, + -0.14, + 0, + 2.1, + -0.14 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRY", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.244, + 0, + 0.289, + 0, + 0.333, + 0, + 1, + 0.456, + 0, + 0.578, + -0.14, + 0.7, + -0.14, + 0, + 2.1, + -0.14 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLX", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.278, + 0, + 0.356, + 0, + 0.433, + 0, + 1, + 0.522, + 0, + 0.611, + -0.21, + 0.7, + -0.21, + 0, + 2.1, + -0.21 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRX", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.278, + 0, + 0.356, + 0, + 0.433, + 0, + 1, + 0.522, + 0, + 0.611, + 0.2, + 0.7, + 0.2, + 0, + 2.1, + 0.2 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLAngle", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.278, + 0, + 0.356, + 0, + 0.433, + 0, + 1, + 0.522, + 0, + 0.611, + 0.25, + 0.7, + 0.25, + 0, + 2.1, + 0.25 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRAngle", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.278, + 0, + 0.356, + 0, + 0.433, + 0, + 1, + 0.522, + 0, + 0.611, + 0.23, + 0.7, + 0.23, + 0, + 2.1, + 0.23 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLForm", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.278, + 0, + 0.356, + 0, + 0.433, + 0, + 1, + 0.522, + 0, + 0.611, + 0, + 0.7, + 0, + 0, + 2.1, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRForm", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.278, + 0, + 0.356, + 0, + 0.433, + 0, + 1, + 0.522, + 0, + 0.611, + 0, + 0.7, + 0, + 0, + 2.1, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamMouthForm", + "Segments": [ + 0, + 1, + 1, + 0.067, + 1, + 0.133, + 1, + 0.2, + 1, + 1, + 0.278, + 1, + 0.356, + 1, + 0.433, + 1, + 1, + 0.522, + 1, + 0.611, + 1, + 0.7, + 1, + 0, + 2.1, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamMouthOpenY", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.278, + 0, + 0.356, + 0, + 0.433, + 0, + 1, + 0.522, + 0, + 0.611, + 1, + 0.7, + 1, + 0, + 2.1, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleX", + "Segments": [ + 0, + 0, + 0, + 2.1, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleY", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.278, + 0, + 0.356, + 8, + 0.433, + 8, + 1, + 0.5, + 8, + 0.567, + -7, + 0.633, + -7, + 1, + 0.689, + -7, + 0.744, + 3, + 0.8, + 3, + 1, + 0.844, + 3, + 0.889, + 0, + 0.933, + 0, + 0, + 2.1, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleZ", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.278, + 0, + 0.356, + 0, + 0.433, + 0, + 1, + 0.511, + 0, + 0.589, + 4, + 0.667, + 4, + 1, + 0.722, + 4, + 0.778, + 2, + 0.833, + 2, + 0, + 2.1, + 2 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBreath", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.278, + 0, + 0.356, + 0, + 0.433, + 0, + 0, + 2.1, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamShoulder", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.278, + 0, + 0.356, + -1, + 0.433, + -1, + 1, + 0.5, + -1, + 0.567, + 1, + 0.633, + 1, + 1, + 0.689, + 1, + 0.744, + -0.4, + 0.8, + -0.4, + 1, + 0.956, + -0.4, + 1.111, + 0, + 1.267, + 0, + 0, + 2.1, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamLeg", + "Segments": [ + 0, + 1, + 0, + 2.1, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmLA", + "Segments": [ + 0, + 0, + 0, + 2.1, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmRA", + "Segments": [ + 0, + 0, + 0, + 2.1, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmLB", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.244, + 0, + 0.289, + -5.208, + 0.333, + -5.208, + 1, + 0.4, + -5.208, + 0.467, + 9.583, + 0.533, + 9.583, + 0, + 2.1, + 9.583 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmRB", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.244, + 0, + 0.289, + -4.583, + 0.333, + -4.583, + 1, + 0.4, + -4.583, + 0.467, + 4.375, + 0.533, + 4.375, + 0, + 2.1, + 4.375 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandLB", + "Segments": [ + 0, + 10, + 1, + 0.122, + 10, + 0.244, + 8.89, + 0.367, + 4.167, + 1, + 0.411, + 2.449, + 0.456, + -4.583, + 0.5, + -4.583, + 1, + 0.544, + -4.583, + 0.589, + 4.792, + 0.633, + 4.792, + 0, + 2.1, + 4.792 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandRB", + "Segments": [ + 0, + 10, + 1, + 0.122, + 10, + 0.244, + 8.89, + 0.367, + 4.167, + 1, + 0.411, + 2.449, + 0.456, + -4.583, + 0.5, + -4.583, + 1, + 0.544, + -4.583, + 0.589, + 7.292, + 0.633, + 7.292, + 0, + 2.1, + 7.292 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHairAhoge", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.244, + 0, + 0.289, + -0.142, + 0.333, + 0.234, + 1, + 0.411, + 0.89, + 0.489, + 10, + 0.567, + 10, + 1, + 0.611, + 10, + 0.656, + -10, + 0.7, + -10, + 1, + 0.767, + -10, + 0.833, + 9.951, + 0.9, + 9.951, + 1, + 0.978, + 9.951, + 1.056, + -9.508, + 1.133, + -9.508, + 1, + 1.211, + -9.508, + 1.289, + 5.892, + 1.367, + 5.892, + 1, + 1.433, + 5.892, + 1.5, + -2, + 1.567, + -2, + 1, + 1.611, + -2, + 1.656, + 1, + 1.7, + 1, + 1, + 1.756, + 1, + 1.811, + 0, + 1.867, + 0, + 0, + 2.1, + 0 + ] + }, + { + "Target": "PartOpacity", + "Id": "PartArmA", + "Segments": [ + 0, + 0, + 0, + 2.1, + 0 + ] + }, + { + "Target": "PartOpacity", + "Id": "PartArmB", + "Segments": [ + 0, + 1, + 0, + 2.1, + 1 + ] + } + ] +} \ No newline at end of file diff --git a/staticfiles/Hiyori/motions/Hiyori_m09.motion3.json b/staticfiles/Hiyori/motions/Hiyori_m09.motion3.json new file mode 100644 index 0000000000000000000000000000000000000000..47f74bfc9c459530297ea252311bfe6e080734e8 --- /dev/null +++ b/staticfiles/Hiyori/motions/Hiyori_m09.motion3.json @@ -0,0 +1,1198 @@ +{ + "Version": 3, + "Meta": { + "Duration": 1.6, + "Fps": 30.0, + "Loop": true, + "AreBeziersRestricted": false, + "CurveCount": 33, + "TotalSegmentCount": 150, + "TotalPointCount": 417, + "UserDataCount": 0, + "TotalUserDataSize": 0 + }, + "Curves": [ + { + "Target": "Parameter", + "Id": "ParamAngleX", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.333, + 0, + 0.467, + -4, + 0.6, + -4, + 0, + 1.6, + -4 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleY", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.289, + 0, + 0.378, + -20, + 0.467, + -20, + 1, + 0.522, + -20, + 0.578, + 2, + 0.633, + 2, + 1, + 0.667, + 2, + 0.7, + 0, + 0.733, + 0, + 1, + 0.8, + 0, + 0.867, + 0, + 0.933, + 0, + 1, + 1, + 0, + 1.067, + -21, + 1.133, + -21, + 1, + 1.167, + -21, + 1.2, + -17, + 1.233, + -17, + 0, + 1.6, + -17 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleZ", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 0, + 1.6, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamCheek", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.356, + 0, + 0.511, + 0, + 0.667, + 0, + 1, + 0.778, + 0, + 0.889, + 1, + 1, + 1, + 0, + 1.6, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeLOpen", + "Segments": [ + 0, + 1, + 1, + 0.067, + 1, + 0.133, + 1, + 0.2, + 1, + 1, + 0.244, + 1, + 0.289, + 1, + 0.333, + 1, + 1, + 0.378, + 1, + 0.422, + 0, + 0.467, + 0, + 1, + 0.489, + 0, + 0.511, + 0, + 0.533, + 0, + 1, + 0.578, + 0, + 0.622, + 1, + 0.667, + 1, + 1, + 0.8, + 1, + 0.933, + 1, + 1.067, + 1, + 1, + 1.122, + 1, + 1.178, + 0.825, + 1.233, + 0.825, + 0, + 1.6, + 0.825 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeLSmile", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.544, + 0, + 0.889, + 0, + 1.233, + 0, + 0, + 1.6, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeROpen", + "Segments": [ + 0, + 1, + 1, + 0.067, + 1, + 0.133, + 1, + 0.2, + 1, + 1, + 0.244, + 1, + 0.289, + 1, + 0.333, + 1, + 1, + 0.378, + 1, + 0.422, + 0, + 0.467, + 0, + 1, + 0.489, + 0, + 0.511, + 0, + 0.533, + 0, + 1, + 0.578, + 0, + 0.622, + 0.996, + 0.667, + 1, + 1, + 0.8, + 1.011, + 0.933, + 1.013, + 1.067, + 1.013, + 1, + 1.122, + 1.013, + 1.178, + 0.8, + 1.233, + 0.8, + 0, + 1.6, + 0.8 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeRSmile", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.322, + 0, + 0.444, + 0, + 0.567, + 0, + 1, + 0.789, + 0, + 1.011, + 0, + 1.233, + 0, + 0, + 1.6, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallX", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.322, + 0, + 0.444, + 0, + 0.567, + 0, + 1, + 0.789, + 0, + 1.011, + 0, + 1.233, + 0, + 0, + 1.6, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallY", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.322, + 0, + 0.444, + 0, + 0.567, + 0, + 1, + 0.789, + 0, + 1.011, + 0, + 1.233, + 0, + 0, + 1.6, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLY", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.322, + 0, + 0.444, + 1, + 0.567, + 1, + 1, + 0.733, + 1, + 0.9, + 1, + 1.067, + 1, + 1, + 1.122, + 1, + 1.178, + -0.417, + 1.233, + -0.417, + 0, + 1.6, + -0.417 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRY", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.322, + 0, + 0.444, + 1, + 0.567, + 1, + 1, + 0.733, + 1, + 0.9, + 1, + 1.067, + 1, + 1, + 1.122, + 1, + 1.178, + -1, + 1.233, + -1, + 0, + 1.6, + -1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLX", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.322, + 0, + 0.444, + 0, + 0.567, + 0, + 1, + 0.789, + 0, + 1.011, + 0, + 1.233, + 0, + 0, + 1.6, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRX", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.322, + 0, + 0.444, + 0, + 0.567, + 0, + 1, + 0.789, + 0, + 1.011, + 0, + 1.233, + 0, + 0, + 1.6, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLAngle", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.322, + 0, + 0.444, + -1, + 0.567, + -1, + 1, + 0.789, + -1, + 1.011, + -1, + 1.233, + -1, + 0, + 1.6, + -1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRAngle", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.322, + 0, + 0.444, + -1, + 0.567, + -1, + 1, + 0.789, + -1, + 1.011, + -1, + 1.233, + -1, + 0, + 1.6, + -1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLForm", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.322, + 0, + 0.444, + -1, + 0.567, + -1, + 1, + 0.789, + -1, + 1.011, + -1, + 1.233, + -1, + 0, + 1.6, + -1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRForm", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.322, + 0, + 0.444, + -1, + 0.567, + -1, + 1, + 0.789, + -1, + 1.011, + -1, + 1.233, + -1, + 0, + 1.6, + -1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamMouthForm", + "Segments": [ + 0, + 1, + 1, + 0.067, + 1, + 0.133, + 1, + 0.2, + 1, + 1, + 0.322, + 1, + 0.444, + -2, + 0.567, + -2, + 1, + 0.789, + -2, + 1.011, + -2, + 1.233, + -2, + 0, + 1.6, + -2 + ] + }, + { + "Target": "Parameter", + "Id": "ParamMouthOpenY", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.322, + 0, + 0.444, + 1, + 0.567, + 1, + 1, + 0.656, + 1, + 0.744, + 1, + 0.833, + 1, + 1, + 0.889, + 1, + 0.944, + 1, + 1, + 1, + 1, + 1.044, + 1, + 1.089, + 0, + 1.133, + 0, + 1, + 1.244, + 0, + 1.356, + 0, + 1.467, + 0, + 0, + 1.6, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleX", + "Segments": [ + 0, + 0, + 1, + 0.156, + 0, + 0.311, + 0, + 0.467, + 0, + 1, + 0.556, + 0, + 0.644, + -10, + 0.733, + -10, + 1, + 0.833, + -10, + 0.933, + -9, + 1.033, + -9, + 0, + 1.6, + -9 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleY", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.278, + 0, + 0.356, + -4, + 0.433, + -4, + 1, + 0.522, + -4, + 0.611, + 5, + 0.7, + 5, + 1, + 0.789, + 5, + 0.878, + 5, + 0.967, + 5, + 1, + 1.044, + 5, + 1.122, + -7, + 1.2, + -7, + 1, + 1.267, + -7, + 1.333, + 0, + 1.4, + 0, + 0, + 1.6, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleZ", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 0, + 1.6, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBreath", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 0, + 1.6, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamShoulder", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.367, + 0, + 0.533, + 0.479, + 0.7, + 0.479, + 1, + 0.889, + 0.479, + 1.078, + -1, + 1.267, + -1, + 1, + 1.322, + -1, + 1.378, + -1, + 1.433, + -1, + 0, + 1.6, + -1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamLeg", + "Segments": [ + 0, + 1, + 0, + 1.6, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmLA", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.233, + 0, + 0.267, + 0, + 0.3, + 0, + 1, + 0.367, + 0, + 0.433, + -4.5, + 0.5, + -4.5, + 1, + 0.578, + -4.5, + 0.656, + 0.8, + 0.733, + 0.8, + 1, + 0.811, + 0.8, + 0.889, + -0.156, + 0.967, + -0.6, + 1, + 1.011, + -0.854, + 1.056, + -0.72, + 1.1, + -1, + 1, + 1.167, + -1.42, + 1.233, + -3.7, + 1.3, + -3.7, + 1, + 1.356, + -3.7, + 1.411, + -2.4, + 1.467, + -2.4, + 0, + 1.6, + -2.4 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmRA", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.233, + 0, + 0.267, + 0, + 0.3, + 0, + 1, + 0.367, + 0, + 0.433, + -4.5, + 0.5, + -4.5, + 1, + 0.578, + -4.5, + 0.656, + 2.2, + 0.733, + 2.2, + 1, + 0.811, + 2.2, + 0.889, + -0.749, + 0.967, + -0.9, + 1, + 1.011, + -0.987, + 1.056, + -0.921, + 1.1, + -1, + 1, + 1.167, + -1.119, + 1.233, + -3.6, + 1.3, + -3.6, + 1, + 1.356, + -3.6, + 1.411, + -1.8, + 1.467, + -1.8, + 0, + 1.6, + -1.8 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmLB", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 0, + 1.6, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmRB", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.378, + 0, + 0.556, + 0.84, + 0.733, + 0.84, + 1, + 0.744, + 0.84, + 0.756, + 0.65, + 0.767, + 0.65, + 1, + 0.8, + 0.65, + 0.833, + 0.86, + 0.867, + 0.86, + 0, + 1.6, + 0.86 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHairAhoge", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.289, + 0, + 0.378, + 6, + 0.467, + 6, + 1, + 0.5, + 6, + 0.533, + 4, + 0.567, + 0, + 1, + 0.622, + -6.667, + 0.678, + -10, + 0.733, + -10, + 1, + 0.767, + -10, + 0.8, + -6, + 0.833, + -6, + 1, + 0.933, + -6, + 1.033, + -10, + 1.133, + -10, + 1, + 1.178, + -10, + 1.222, + -2, + 1.267, + -2, + 1, + 1.311, + -2, + 1.356, + -9, + 1.4, + -9, + 0, + 1.6, + -9 + ] + }, + { + "Target": "PartOpacity", + "Id": "PartArmA", + "Segments": [ + 0, + 1, + 0, + 1.6, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "PartArmB", + "Segments": [ + 0, + 0, + 0, + 1.6, + 0 + ] + } + ] +} \ No newline at end of file diff --git a/staticfiles/Hiyori/motions/Hiyori_m10.motion3.json b/staticfiles/Hiyori/motions/Hiyori_m10.motion3.json new file mode 100644 index 0000000000000000000000000000000000000000..341f9ec87d040b4f1a36f59dc86ffb6240e6b4b5 --- /dev/null +++ b/staticfiles/Hiyori/motions/Hiyori_m10.motion3.json @@ -0,0 +1,974 @@ +{ + "Version": 3, + "Meta": { + "Duration": 4.17, + "Fps": 30.0, + "Loop": true, + "AreBeziersRestricted": false, + "CurveCount": 33, + "TotalSegmentCount": 118, + "TotalPointCount": 321, + "UserDataCount": 0, + "TotalUserDataSize": 0 + }, + "Curves": [ + { + "Target": "Parameter", + "Id": "ParamAngleX", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.4, + 0, + 0.6, + 0, + 0.8, + 0, + 1, + 1.067, + 0, + 1.333, + 1.041, + 1.6, + 1.041, + 1, + 1.844, + 1.041, + 2.089, + -8, + 2.333, + -8, + 1, + 2.656, + -8, + 2.978, + 6, + 3.3, + 6, + 0, + 4.167, + 6 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleY", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.344, + 0, + 0.489, + -30, + 0.633, + -30, + 0, + 4.167, + -30 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleZ", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 0, + 4.167, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamCheek", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 0, + 4.167, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeLOpen", + "Segments": [ + 0, + 1, + 1, + 0.067, + 1, + 0.133, + 1, + 0.2, + 1, + 1, + 0.311, + 1, + 0.422, + 0.988, + 0.533, + 0.8, + 1, + 0.589, + 0.706, + 0.644, + 0, + 0.7, + 0, + 1, + 0.722, + 0, + 0.744, + 0, + 0.767, + 0, + 1, + 0.822, + 0, + 0.878, + 0.8, + 0.933, + 0.8, + 1, + 1.422, + 0.8, + 1.911, + 0.8, + 2.4, + 0.8, + 1, + 2.456, + 0.8, + 2.511, + 0, + 2.567, + 0, + 1, + 2.589, + 0, + 2.611, + 0, + 2.633, + 0, + 1, + 2.689, + 0, + 2.744, + 0.8, + 2.8, + 0.8, + 0, + 4.167, + 0.8 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeLSmile", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 0, + 4.167, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeROpen", + "Segments": [ + 0, + 1, + 1, + 0.067, + 1, + 0.133, + 1, + 0.2, + 1, + 1, + 0.311, + 1, + 0.422, + 0.988, + 0.533, + 0.8, + 1, + 0.589, + 0.706, + 0.644, + 0, + 0.7, + 0, + 1, + 0.722, + 0, + 0.744, + 0, + 0.767, + 0, + 1, + 0.822, + 0, + 0.878, + 0.8, + 0.933, + 0.8, + 1, + 1.422, + 0.8, + 1.911, + 0.8, + 2.4, + 0.8, + 1, + 2.456, + 0.8, + 2.511, + 0, + 2.567, + 0, + 1, + 2.589, + 0, + 2.611, + 0, + 2.633, + 0, + 1, + 2.689, + 0, + 2.744, + 0.8, + 2.8, + 0.8, + 0, + 4.167, + 0.8 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeRSmile", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.278, + 0, + 0.356, + 0, + 0.433, + 0, + 0, + 4.167, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallX", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.278, + 0, + 0.356, + 0, + 0.433, + 0, + 1, + 0.667, + 0, + 0.9, + 0.004, + 1.133, + -0.01, + 1, + 1.4, + -0.025, + 1.667, + -0.43, + 1.933, + -0.43, + 1, + 2.211, + -0.43, + 2.489, + 0.283, + 2.767, + 0.283, + 0, + 4.167, + 0.283 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallY", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.278, + 0, + 0.356, + -1, + 0.433, + -1, + 0, + 4.167, + -1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLY", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.278, + 0, + 0.356, + 0.19, + 0.433, + 0.19, + 0, + 4.167, + 0.19 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRY", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.278, + 0, + 0.356, + 0.11, + 0.433, + 0.11, + 0, + 4.167, + 0.11 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLX", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.278, + 0, + 0.356, + -0.48, + 0.433, + -0.48, + 0, + 4.167, + -0.48 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRX", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.278, + 0, + 0.356, + 0.29, + 0.433, + 0.29, + 0, + 4.167, + 0.29 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLAngle", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.278, + 0, + 0.356, + 1, + 0.433, + 1, + 0, + 4.167, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRAngle", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.278, + 0, + 0.356, + 0.85, + 0.433, + 0.85, + 0, + 4.167, + 0.85 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLForm", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.278, + 0, + 0.356, + -0.75, + 0.433, + -0.75, + 0, + 4.167, + -0.75 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRForm", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.278, + 0, + 0.356, + -0.87, + 0.433, + -0.87, + 0, + 4.167, + -0.87 + ] + }, + { + "Target": "Parameter", + "Id": "ParamMouthForm", + "Segments": [ + 0, + 1, + 1, + 0.067, + 1, + 0.133, + 1, + 0.2, + 1, + 1, + 0.278, + 1, + 0.356, + -1, + 0.433, + -1, + 0, + 4.167, + -1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamMouthOpenY", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.278, + 0, + 0.356, + 1, + 0.433, + 1, + 0, + 4.167, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleX", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.444, + 0, + 0.689, + 0, + 0.933, + 0, + 1, + 1.211, + 0, + 1.489, + 0, + 1.767, + 0, + 1, + 2.056, + 0, + 2.344, + -6, + 2.633, + -6, + 1, + 3.033, + -6, + 3.433, + 10, + 3.833, + 10, + 0, + 4.167, + 10 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleY", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 0, + 4.167, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleZ", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.8, + 0, + 1.4, + -2, + 2, + -2, + 1, + 2.456, + -2, + 2.911, + 8.125, + 3.367, + 8.125, + 0, + 4.167, + 8.125 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBreath", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 0, + 4.167, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamShoulder", + "Segments": [ + 0, + 0, + 0, + 4.167, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamLeg", + "Segments": [ + 0, + 1, + 1, + 0.667, + 1, + 1.333, + 1, + 2, + 1, + 1, + 2.267, + 1, + 2.533, + 0.948, + 2.8, + 0.948, + 0, + 4.167, + 0.948 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmLA", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.233, + 0, + 0.267, + 0, + 0.3, + 0, + 1, + 0.478, + 0, + 0.656, + -10, + 0.833, + -10, + 1, + 0.922, + -10, + 1.011, + -8.846, + 1.1, + -8.846, + 1, + 1.467, + -8.846, + 1.833, + -8.835, + 2.2, + -9.1, + 1, + 2.622, + -9.405, + 3.044, + -10, + 3.467, + -10, + 0, + 4.167, + -10 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmRA", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.233, + 0, + 0.267, + 0, + 0.3, + 0, + 1, + 0.478, + 0, + 0.656, + -10, + 0.833, + -10, + 1, + 0.922, + -10, + 1.011, + -8.972, + 1.1, + -8.846, + 1, + 1.467, + -8.328, + 1.833, + -8.2, + 2.2, + -8.2, + 1, + 2.622, + -8.2, + 3.044, + -10, + 3.467, + -10, + 0, + 4.167, + -10 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmLB", + "Segments": [ + 0, + 0, + 0, + 4.167, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmRB", + "Segments": [ + 0, + 0, + 0, + 4.167, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHairAhoge", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.233, + 0, + 0.267, + -5, + 0.3, + -5, + 1, + 0.378, + -5, + 0.456, + 10, + 0.533, + 10, + 1, + 0.633, + 10, + 0.733, + 4, + 0.833, + 4, + 0, + 4.167, + 4 + ] + }, + { + "Target": "PartOpacity", + "Id": "PartArmA", + "Segments": [ + 0, + 1, + 0, + 4.17, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "PartArmB", + "Segments": [ + 0, + 0, + 0, + 4.17, + 0 + ] + } + ] +} \ No newline at end of file diff --git a/staticfiles/Live2DSample/Hiyori/Hiyori.2048/texture_00.png b/staticfiles/Live2DSample/Hiyori/Hiyori.2048/texture_00.png new file mode 100644 index 0000000000000000000000000000000000000000..b912c906dda0c386e4399082cafccb3ca380a548 --- /dev/null +++ b/staticfiles/Live2DSample/Hiyori/Hiyori.2048/texture_00.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:560aea0d910dc04950d669640b2ef17c0d817969e9909f477f166bb5cbd8ffbe +size 1814312 diff --git a/staticfiles/Live2DSample/Hiyori/Hiyori.2048/texture_01.png b/staticfiles/Live2DSample/Hiyori/Hiyori.2048/texture_01.png new file mode 100644 index 0000000000000000000000000000000000000000..aea3854a044095268db37603e837139600db978d --- /dev/null +++ b/staticfiles/Live2DSample/Hiyori/Hiyori.2048/texture_01.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:87fe9ab7db81ab3025e0407229e449233581e00fa92c8e911923bc6c7d98ce84 +size 2504416 diff --git a/staticfiles/Live2DSample/Hiyori/Hiyori.cdi3.json b/staticfiles/Live2DSample/Hiyori/Hiyori.cdi3.json new file mode 100644 index 0000000000000000000000000000000000000000..234dff38be1a48966283731b81d68cd142084bc5 --- /dev/null +++ b/staticfiles/Live2DSample/Hiyori/Hiyori.cdi3.json @@ -0,0 +1,523 @@ +{ + "Version": 3, + "Parameters": [ + { + "Id": "ParamAngleX", + "GroupId": "ParamGroupFace", + "Name": "角度 X" + }, + { + "Id": "ParamAngleY", + "GroupId": "ParamGroupFace", + "Name": "角度 Y" + }, + { + "Id": "ParamAngleZ", + "GroupId": "ParamGroupFace", + "Name": "角度 Z" + }, + { + "Id": "ParamCheek", + "GroupId": "ParamGroupFace", + "Name": "照れ" + }, + { + "Id": "ParamEyeLOpen", + "GroupId": "ParamGroupEyes", + "Name": "左目 開閉" + }, + { + "Id": "ParamEyeLSmile", + "GroupId": "ParamGroupEyes", + "Name": "左目 笑顔" + }, + { + "Id": "ParamEyeROpen", + "GroupId": "ParamGroupEyes", + "Name": "右目 開閉" + }, + { + "Id": "ParamEyeRSmile", + "GroupId": "ParamGroupEyes", + "Name": "右目 笑顔" + }, + { + "Id": "ParamEyeBallX", + "GroupId": "ParamGroupEyeballs", + "Name": "目玉 X" + }, + { + "Id": "ParamEyeBallY", + "GroupId": "ParamGroupEyeballs", + "Name": "目玉 Y" + }, + { + "Id": "ParamBrowLY", + "GroupId": "ParamGroupBrows", + "Name": "左眉 上下" + }, + { + "Id": "ParamBrowRY", + "GroupId": "ParamGroupBrows", + "Name": "右眉 上下" + }, + { + "Id": "ParamBrowLX", + "GroupId": "ParamGroupBrows", + "Name": "左眉 左右" + }, + { + "Id": "ParamBrowRX", + "GroupId": "ParamGroupBrows", + "Name": "右眉 左右" + }, + { + "Id": "ParamBrowLAngle", + "GroupId": "ParamGroupBrows", + "Name": "左眉 角度" + }, + { + "Id": "ParamBrowRAngle", + "GroupId": "ParamGroupBrows", + "Name": "右眉 角度" + }, + { + "Id": "ParamBrowLForm", + "GroupId": "ParamGroupBrows", + "Name": "左眉 変形" + }, + { + "Id": "ParamBrowRForm", + "GroupId": "ParamGroupBrows", + "Name": "右眉 変形" + }, + { + "Id": "ParamMouthForm", + "GroupId": "ParamGroupMouth", + "Name": "口 変形" + }, + { + "Id": "ParamMouthOpenY", + "GroupId": "ParamGroupMouth", + "Name": "口 開閉" + }, + { + "Id": "ParamBodyAngleX", + "GroupId": "ParamGroupBody", + "Name": "体の回転 X" + }, + { + "Id": "ParamBodyAngleY", + "GroupId": "ParamGroupBody", + "Name": "体の回転 Y" + }, + { + "Id": "ParamBodyAngleZ", + "GroupId": "ParamGroupBody", + "Name": "体の回転 Z" + }, + { + "Id": "ParamBreath", + "GroupId": "ParamGroupBody", + "Name": "呼吸" + }, + { + "Id": "ParamShoulder", + "GroupId": "ParamGroupBody", + "Name": "肩 すくみ" + }, + { + "Id": "ParamLeg", + "GroupId": "ParamGroupBody", + "Name": "あし" + }, + { + "Id": "ParamArmLA", + "GroupId": "ParamGroupArms", + "Name": "左腕 A" + }, + { + "Id": "ParamArmRA", + "GroupId": "ParamGroupArms", + "Name": "右腕 A" + }, + { + "Id": "ParamArmLB", + "GroupId": "ParamGroupArms", + "Name": "左腕 B" + }, + { + "Id": "ParamArmRB", + "GroupId": "ParamGroupArms", + "Name": "右腕 B" + }, + { + "Id": "ParamHandLB", + "GroupId": "ParamGroupArms", + "Name": "左手B 回転" + }, + { + "Id": "ParamHandRB", + "GroupId": "ParamGroupArms", + "Name": "右手B 回転" + }, + { + "Id": "ParamHandL", + "GroupId": "ParamGroupArms", + "Name": "左手" + }, + { + "Id": "ParamHandR", + "GroupId": "ParamGroupArms", + "Name": "右手" + }, + { + "Id": "ParamBustY", + "GroupId": "ParamGroupSway", + "Name": "胸 揺れ" + }, + { + "Id": "ParamHairAhoge", + "GroupId": "ParamGroupSway", + "Name": "髪揺れ アホ毛" + }, + { + "Id": "ParamHairFront", + "GroupId": "ParamGroupSway", + "Name": "髪揺れ 前" + }, + { + "Id": "ParamHairBack", + "GroupId": "ParamGroupSway", + "Name": "髪揺れ 後" + }, + { + "Id": "ParamSideupRibbon", + "GroupId": "ParamGroupSway", + "Name": "髪飾りの揺れ" + }, + { + "Id": "ParamRibbon", + "GroupId": "ParamGroupSway", + "Name": "胸リボンの揺れ" + }, + { + "Id": "ParamSkirt", + "GroupId": "ParamGroupSway", + "Name": "スカートの揺れ" + }, + { + "Id": "ParamSkirt2", + "GroupId": "ParamGroupSway", + "Name": "スカートめくれ" + }, + { + "Id": "Param_Angle_Rotation_1_ArtMesh62", + "GroupId": "ParamGroup2", + "Name": "[0]サイドアップ左" + }, + { + "Id": "Param_Angle_Rotation_2_ArtMesh62", + "GroupId": "ParamGroup2", + "Name": "[1]サイドアップ左" + }, + { + "Id": "Param_Angle_Rotation_3_ArtMesh62", + "GroupId": "ParamGroup2", + "Name": "[2]サイドアップ左" + }, + { + "Id": "Param_Angle_Rotation_4_ArtMesh62", + "GroupId": "ParamGroup2", + "Name": "[3]サイドアップ左" + }, + { + "Id": "Param_Angle_Rotation_5_ArtMesh62", + "GroupId": "ParamGroup2", + "Name": "[4]サイドアップ左" + }, + { + "Id": "Param_Angle_Rotation_6_ArtMesh62", + "GroupId": "ParamGroup2", + "Name": "[5]サイドアップ左" + }, + { + "Id": "Param_Angle_Rotation_7_ArtMesh62", + "GroupId": "ParamGroup2", + "Name": "[6]サイドアップ左" + }, + { + "Id": "Param_Angle_Rotation_1_ArtMesh61", + "GroupId": "ParamGroup", + "Name": "[0]サイドアップ右" + }, + { + "Id": "Param_Angle_Rotation_2_ArtMesh61", + "GroupId": "ParamGroup", + "Name": "[1]サイドアップ右" + }, + { + "Id": "Param_Angle_Rotation_3_ArtMesh61", + "GroupId": "ParamGroup", + "Name": "[2]サイドアップ右" + }, + { + "Id": "Param_Angle_Rotation_4_ArtMesh61", + "GroupId": "ParamGroup", + "Name": "[3]サイドアップ右" + }, + { + "Id": "Param_Angle_Rotation_5_ArtMesh61", + "GroupId": "ParamGroup", + "Name": "[4]サイドアップ右" + }, + { + "Id": "Param_Angle_Rotation_6_ArtMesh61", + "GroupId": "ParamGroup", + "Name": "[5]サイドアップ右" + }, + { + "Id": "Param_Angle_Rotation_7_ArtMesh61", + "GroupId": "ParamGroup", + "Name": "[6]サイドアップ右" + }, + { + "Id": "Param_Angle_Rotation_1_ArtMesh55", + "GroupId": "ParamGroup4", + "Name": "[0]前髪左" + }, + { + "Id": "Param_Angle_Rotation_2_ArtMesh55", + "GroupId": "ParamGroup4", + "Name": "[1]前髪左" + }, + { + "Id": "Param_Angle_Rotation_3_ArtMesh55", + "GroupId": "ParamGroup4", + "Name": "[2]前髪左" + }, + { + "Id": "Param_Angle_Rotation_4_ArtMesh55", + "GroupId": "ParamGroup4", + "Name": "[3]前髪左" + }, + { + "Id": "Param_Angle_Rotation_5_ArtMesh55", + "GroupId": "ParamGroup4", + "Name": "[4]前髪左" + }, + { + "Id": "Param_Angle_Rotation_6_ArtMesh55", + "GroupId": "ParamGroup4", + "Name": "[5]前髪左" + }, + { + "Id": "Param_Angle_Rotation_7_ArtMesh55", + "GroupId": "ParamGroup4", + "Name": "[6]前髪左" + }, + { + "Id": "Param_Angle_Rotation_1_ArtMesh54", + "GroupId": "ParamGroup3", + "Name": "[0]前髪右" + }, + { + "Id": "Param_Angle_Rotation_2_ArtMesh54", + "GroupId": "ParamGroup3", + "Name": "[1]前髪右" + }, + { + "Id": "Param_Angle_Rotation_3_ArtMesh54", + "GroupId": "ParamGroup3", + "Name": "[2]前髪右" + }, + { + "Id": "Param_Angle_Rotation_4_ArtMesh54", + "GroupId": "ParamGroup3", + "Name": "[3]前髪右" + }, + { + "Id": "Param_Angle_Rotation_5_ArtMesh54", + "GroupId": "ParamGroup3", + "Name": "[4]前髪右" + }, + { + "Id": "Param_Angle_Rotation_6_ArtMesh54", + "GroupId": "ParamGroup3", + "Name": "[5]前髪右" + }, + { + "Id": "Param_Angle_Rotation_7_ArtMesh54", + "GroupId": "ParamGroup3", + "Name": "[6]前髪右" + } + ], + "ParameterGroups": [ + { + "Id": "ParamGroupFace", + "GroupId": "", + "Name": "顔" + }, + { + "Id": "ParamGroupEyes", + "GroupId": "", + "Name": "目" + }, + { + "Id": "ParamGroupEyeballs", + "GroupId": "", + "Name": "目玉" + }, + { + "Id": "ParamGroupBrows", + "GroupId": "", + "Name": "眉" + }, + { + "Id": "ParamGroupMouth", + "GroupId": "", + "Name": "口" + }, + { + "Id": "ParamGroupBody", + "GroupId": "", + "Name": "体" + }, + { + "Id": "ParamGroupArms", + "GroupId": "", + "Name": "腕" + }, + { + "Id": "ParamGroupSway", + "GroupId": "", + "Name": "揺れ" + }, + { + "Id": "ParamGroup2", + "GroupId": "", + "Name": "揺れ サイドアップ左" + }, + { + "Id": "ParamGroup", + "GroupId": "", + "Name": "揺れ サイドアップ右" + }, + { + "Id": "ParamGroup4", + "GroupId": "", + "Name": "揺れ 前髪左" + }, + { + "Id": "ParamGroup3", + "GroupId": "", + "Name": "揺れ 前髪右" + } + ], + "Parts": [ + { + "Id": "PartCore", + "Name": "コア" + }, + { + "Id": "PartCheek", + "Name": "頬" + }, + { + "Id": "PartBrow", + "Name": "まゆ毛" + }, + { + "Id": "PartEye", + "Name": "目" + }, + { + "Id": "PartNose", + "Name": "鼻" + }, + { + "Id": "PartMouth", + "Name": "口" + }, + { + "Id": "PartFace", + "Name": "顔" + }, + { + "Id": "PartEar", + "Name": "耳" + }, + { + "Id": "PartHairSide", + "Name": "横髪" + }, + { + "Id": "PartHairFront", + "Name": "前髪" + }, + { + "Id": "PartHairBack", + "Name": "後ろ髪" + }, + { + "Id": "PartNeck", + "Name": "首" + }, + { + "Id": "PartArmA", + "Name": "腕 A" + }, + { + "Id": "PartArmB", + "Name": "腕 B" + }, + { + "Id": "PartBody", + "Name": "体" + }, + { + "Id": "PartBackground", + "Name": "背景" + }, + { + "Id": "PartSketch", + "Name": "[ 下絵 ]" + }, + { + "Id": "PartEyeBall", + "Name": "目玉" + }, + { + "Id": "ArtMesh55_Skinning", + "Name": "前髪左(スキニング)" + }, + { + "Id": "Part4", + "Name": "前髪左(回転)" + }, + { + "Id": "ArtMesh54_Skinning", + "Name": "前髪右(スキニング)" + }, + { + "Id": "Part3", + "Name": "前髪右(回転)" + }, + { + "Id": "ArtMesh61_Skinning", + "Name": "サイドアップ右(スキニング)" + }, + { + "Id": "Part", + "Name": "サイドアップ右(回転)" + }, + { + "Id": "ArtMesh62_Skinning", + "Name": "サイドアップ左(スキニング)" + }, + { + "Id": "Part2", + "Name": "サイドアップ左(回転)" + } + ] +} \ No newline at end of file diff --git a/staticfiles/Live2DSample/Hiyori/Hiyori.moc3 b/staticfiles/Live2DSample/Hiyori/Hiyori.moc3 new file mode 100644 index 0000000000000000000000000000000000000000..7231288fc2ce85ae000c376a11b3f41bcb9cae03 Binary files /dev/null and b/staticfiles/Live2DSample/Hiyori/Hiyori.moc3 differ diff --git a/staticfiles/Live2DSample/Hiyori/Hiyori.model3.json b/staticfiles/Live2DSample/Hiyori/Hiyori.model3.json new file mode 100644 index 0000000000000000000000000000000000000000..567c846d32d8e768304af1722bcb21c19bccfdd0 --- /dev/null +++ b/staticfiles/Live2DSample/Hiyori/Hiyori.model3.json @@ -0,0 +1,93 @@ +{ + "Version": 3, + "FileReferences": { + "Moc": "Hiyori.moc3", + "Textures": [ + "Hiyori.2048/texture_00.png", + "Hiyori.2048/texture_01.png" + ], + "Physics": "Hiyori.physics3.json", + "Pose": "Hiyori.pose3.json", + "UserData": "Hiyori.userdata3.json", + "DisplayInfo": "Hiyori.cdi3.json", + "Motions": { + "Idle": [ + { + "File": "motions/Hiyori_m01.motion3.json", + "FadeInTime": 0.5, + "FadeOutTime": 0.5 + } + ], + "TapBody": [ + { + "File": "motions/Hiyori_m02.motion3.json", + "FadeInTime": 0.5, + "FadeOutTime": 0.5 + }, + { + "File": "motions/Hiyori_m03.motion3.json", + "FadeInTime": 0.5, + "FadeOutTime": 0.5 + }, + { + "File": "motions/Hiyori_m04.motion3.json", + "FadeInTime": 0.5, + "FadeOutTime": 0.5 + }, + { + "File": "motions/Hiyori_m05.motion3.json", + "FadeInTime": 0.5, + "FadeOutTime": 0.5 + }, + { + "File": "motions/Hiyori_m06.motion3.json", + "FadeInTime": 0.5, + "FadeOutTime": 0.5 + }, + { + "File": "motions/Hiyori_m07.motion3.json", + "FadeInTime": 0.5, + "FadeOutTime": 0.5 + }, + { + "File": "motions/Hiyori_m08.motion3.json", + "FadeInTime": 0.5, + "FadeOutTime": 0.5 + }, + { + "File": "motions/Hiyori_m09.motion3.json", + "FadeInTime": 0.5, + "FadeOutTime": 0.5 + }, + { + "File": "motions/Hiyori_m10.motion3.json", + "FadeInTime": 0.5, + "FadeOutTime": 0.5 + } + ] + } + }, + "Groups": [ + { + "Target": "Parameter", + "Name": "LipSync", + "Ids": [ + "ParamMouthOpenY" + ] + }, + { + "Target": "Parameter", + "Name": "EyeBlink", + "Ids": [ + "ParamEyeLOpen", + "ParamEyeROpen" + ] + } + ], + "HitAreas": [ + { + "Id": "HitArea", + "Name": "Body" + } + ] +} \ No newline at end of file diff --git a/staticfiles/Live2DSample/Hiyori/Hiyori.physics3.json b/staticfiles/Live2DSample/Hiyori/Hiyori.physics3.json new file mode 100644 index 0000000000000000000000000000000000000000..d1f2f96c2df766bd5b8a77e22cd2fe7fa1f181e5 --- /dev/null +++ b/staticfiles/Live2DSample/Hiyori/Hiyori.physics3.json @@ -0,0 +1,1569 @@ +{ + "Version": 3, + "Meta": { + "PhysicsSettingCount": 11, + "TotalInputCount": 34, + "TotalOutputCount": 35, + "VertexCount": 58, + "EffectiveForces": { + "Gravity": { + "X": 0, + "Y": -1 + }, + "Wind": { + "X": 0, + "Y": 0 + } + }, + "PhysicsDictionary": [ + { + "Id": "PhysicsSetting1", + "Name": "前髪" + }, + { + "Id": "PhysicsSetting2", + "Name": "後ろ髪" + }, + { + "Id": "PhysicsSetting3", + "Name": "リボン 髪" + }, + { + "Id": "PhysicsSetting4", + "Name": "スカート 横揺れ" + }, + { + "Id": "PhysicsSetting5", + "Name": "スカート 縦揺れ" + }, + { + "Id": "PhysicsSetting6", + "Name": "リボン 体" + }, + { + "Id": "PhysicsSetting7", + "Name": "胸揺れ" + }, + { + "Id": "PhysicsSetting8", + "Name": "サイドアップ 右" + }, + { + "Id": "PhysicsSetting9", + "Name": "サイドアップ 左" + }, + { + "Id": "PhysicsSetting10", + "Name": "横髪 右" + }, + { + "Id": "PhysicsSetting11", + "Name": "横髪 左" + } + ] + }, + "PhysicsSettings": [ + { + "Id": "PhysicsSetting1", + "Input": [ + { + "Source": { + "Target": "Parameter", + "Id": "ParamAngleX" + }, + "Weight": 60, + "Type": "X", + "Reflect": false + }, + { + "Source": { + "Target": "Parameter", + "Id": "ParamAngleZ" + }, + "Weight": 60, + "Type": "Angle", + "Reflect": false + }, + { + "Source": { + "Target": "Parameter", + "Id": "ParamBodyAngleX" + }, + "Weight": 40, + "Type": "X", + "Reflect": false + }, + { + "Source": { + "Target": "Parameter", + "Id": "ParamBodyAngleZ" + }, + "Weight": 40, + "Type": "Angle", + "Reflect": false + } + ], + "Output": [ + { + "Destination": { + "Target": "Parameter", + "Id": "ParamHairFront" + }, + "VertexIndex": 1, + "Scale": 1.522, + "Weight": 100, + "Type": "Angle", + "Reflect": false + } + ], + "Vertices": [ + { + "Position": { + "X": 0, + "Y": 0 + }, + "Mobility": 1, + "Delay": 1, + "Acceleration": 1, + "Radius": 0 + }, + { + "Position": { + "X": 0, + "Y": 3 + }, + "Mobility": 0.95, + "Delay": 0.9, + "Acceleration": 1.5, + "Radius": 3 + } + ], + "Normalization": { + "Position": { + "Minimum": -10, + "Default": 0, + "Maximum": 10 + }, + "Angle": { + "Minimum": -10, + "Default": 0, + "Maximum": 10 + } + } + }, + { + "Id": "PhysicsSetting2", + "Input": [ + { + "Source": { + "Target": "Parameter", + "Id": "ParamAngleX" + }, + "Weight": 60, + "Type": "X", + "Reflect": false + }, + { + "Source": { + "Target": "Parameter", + "Id": "ParamAngleZ" + }, + "Weight": 60, + "Type": "Angle", + "Reflect": false + }, + { + "Source": { + "Target": "Parameter", + "Id": "ParamBodyAngleX" + }, + "Weight": 40, + "Type": "X", + "Reflect": false + }, + { + "Source": { + "Target": "Parameter", + "Id": "ParamBodyAngleZ" + }, + "Weight": 40, + "Type": "Angle", + "Reflect": false + } + ], + "Output": [ + { + "Destination": { + "Target": "Parameter", + "Id": "ParamHairBack" + }, + "VertexIndex": 1, + "Scale": 2.061, + "Weight": 100, + "Type": "Angle", + "Reflect": false + } + ], + "Vertices": [ + { + "Position": { + "X": 0, + "Y": 0 + }, + "Mobility": 1, + "Delay": 1, + "Acceleration": 1, + "Radius": 0 + }, + { + "Position": { + "X": 0, + "Y": 15 + }, + "Mobility": 0.95, + "Delay": 0.8, + "Acceleration": 1.5, + "Radius": 15 + } + ], + "Normalization": { + "Position": { + "Minimum": -10, + "Default": 0, + "Maximum": 10 + }, + "Angle": { + "Minimum": -30, + "Default": 0, + "Maximum": 30 + } + } + }, + { + "Id": "PhysicsSetting3", + "Input": [ + { + "Source": { + "Target": "Parameter", + "Id": "ParamAngleX" + }, + "Weight": 40, + "Type": "X", + "Reflect": false + }, + { + "Source": { + "Target": "Parameter", + "Id": "ParamAngleZ" + }, + "Weight": 40, + "Type": "Angle", + "Reflect": false + }, + { + "Source": { + "Target": "Parameter", + "Id": "ParamBodyAngleX" + }, + "Weight": 60, + "Type": "X", + "Reflect": false + }, + { + "Source": { + "Target": "Parameter", + "Id": "ParamBodyAngleZ" + }, + "Weight": 60, + "Type": "Angle", + "Reflect": false + } + ], + "Output": [ + { + "Destination": { + "Target": "Parameter", + "Id": "ParamSideupRibbon" + }, + "VertexIndex": 1, + "Scale": 1.775, + "Weight": 100, + "Type": "Angle", + "Reflect": false + } + ], + "Vertices": [ + { + "Position": { + "X": 0, + "Y": 0 + }, + "Mobility": 1, + "Delay": 1, + "Acceleration": 1, + "Radius": 0 + }, + { + "Position": { + "X": 0, + "Y": 10 + }, + "Mobility": 0.9, + "Delay": 0.6, + "Acceleration": 1.5, + "Radius": 10 + } + ], + "Normalization": { + "Position": { + "Minimum": -10, + "Default": 0, + "Maximum": 10 + }, + "Angle": { + "Minimum": -7.8, + "Default": 0, + "Maximum": 8 + } + } + }, + { + "Id": "PhysicsSetting4", + "Input": [ + { + "Source": { + "Target": "Parameter", + "Id": "ParamBodyAngleX" + }, + "Weight": 100, + "Type": "X", + "Reflect": false + }, + { + "Source": { + "Target": "Parameter", + "Id": "ParamBodyAngleZ" + }, + "Weight": 100, + "Type": "Angle", + "Reflect": false + } + ], + "Output": [ + { + "Destination": { + "Target": "Parameter", + "Id": "ParamSkirt" + }, + "VertexIndex": 1, + "Scale": 1.434, + "Weight": 100, + "Type": "Angle", + "Reflect": false + } + ], + "Vertices": [ + { + "Position": { + "X": 0, + "Y": 0 + }, + "Mobility": 1, + "Delay": 1, + "Acceleration": 1, + "Radius": 0 + }, + { + "Position": { + "X": 0, + "Y": 10 + }, + "Mobility": 0.9, + "Delay": 0.6, + "Acceleration": 1.5, + "Radius": 10 + } + ], + "Normalization": { + "Position": { + "Minimum": -10, + "Default": 0, + "Maximum": 10 + }, + "Angle": { + "Minimum": -10, + "Default": 0, + "Maximum": 10 + } + } + }, + { + "Id": "PhysicsSetting5", + "Input": [ + { + "Source": { + "Target": "Parameter", + "Id": "ParamBodyAngleY" + }, + "Weight": 100, + "Type": "X", + "Reflect": false + } + ], + "Output": [ + { + "Destination": { + "Target": "Parameter", + "Id": "ParamSkirt2" + }, + "VertexIndex": 1, + "Scale": 1.306, + "Weight": 100, + "Type": "Angle", + "Reflect": false + } + ], + "Vertices": [ + { + "Position": { + "X": 0, + "Y": 0 + }, + "Mobility": 1, + "Delay": 1, + "Acceleration": 1, + "Radius": 0 + }, + { + "Position": { + "X": 0, + "Y": 10 + }, + "Mobility": 0.8, + "Delay": 0.9, + "Acceleration": 2, + "Radius": 10 + } + ], + "Normalization": { + "Position": { + "Minimum": -10, + "Default": 0, + "Maximum": 10 + }, + "Angle": { + "Minimum": -10, + "Default": 0, + "Maximum": 10 + } + } + }, + { + "Id": "PhysicsSetting6", + "Input": [ + { + "Source": { + "Target": "Parameter", + "Id": "ParamBodyAngleX" + }, + "Weight": 100, + "Type": "X", + "Reflect": false + }, + { + "Source": { + "Target": "Parameter", + "Id": "ParamBodyAngleZ" + }, + "Weight": 100, + "Type": "Angle", + "Reflect": false + } + ], + "Output": [ + { + "Destination": { + "Target": "Parameter", + "Id": "ParamRibbon" + }, + "VertexIndex": 1, + "Scale": 1.402, + "Weight": 100, + "Type": "Angle", + "Reflect": false + } + ], + "Vertices": [ + { + "Position": { + "X": 0, + "Y": 0 + }, + "Mobility": 1, + "Delay": 1, + "Acceleration": 1, + "Radius": 0 + }, + { + "Position": { + "X": 0, + "Y": 10 + }, + "Mobility": 0.9, + "Delay": 0.6, + "Acceleration": 1.5, + "Radius": 10 + } + ], + "Normalization": { + "Position": { + "Minimum": -10, + "Default": 0, + "Maximum": 10 + }, + "Angle": { + "Minimum": -10, + "Default": 0, + "Maximum": 10.6 + } + } + }, + { + "Id": "PhysicsSetting7", + "Input": [ + { + "Source": { + "Target": "Parameter", + "Id": "ParamBodyAngleY" + }, + "Weight": 100, + "Type": "X", + "Reflect": false + } + ], + "Output": [ + { + "Destination": { + "Target": "Parameter", + "Id": "ParamBustY" + }, + "VertexIndex": 1, + "Scale": 1, + "Weight": 100, + "Type": "Angle", + "Reflect": false + } + ], + "Vertices": [ + { + "Position": { + "X": 0, + "Y": 0 + }, + "Mobility": 1, + "Delay": 1, + "Acceleration": 1, + "Radius": 0 + }, + { + "Position": { + "X": 0, + "Y": 3 + }, + "Mobility": 0.8, + "Delay": 0.9, + "Acceleration": 1.5, + "Radius": 3 + } + ], + "Normalization": { + "Position": { + "Minimum": -10, + "Default": 0, + "Maximum": 10 + }, + "Angle": { + "Minimum": -10, + "Default": 0, + "Maximum": 10 + } + } + }, + { + "Id": "PhysicsSetting8", + "Input": [ + { + "Source": { + "Target": "Parameter", + "Id": "ParamAngleX" + }, + "Weight": 60, + "Type": "X", + "Reflect": false + }, + { + "Source": { + "Target": "Parameter", + "Id": "ParamAngleZ" + }, + "Weight": 60, + "Type": "Angle", + "Reflect": false + }, + { + "Source": { + "Target": "Parameter", + "Id": "ParamBodyAngleX" + }, + "Weight": 40, + "Type": "X", + "Reflect": false + }, + { + "Source": { + "Target": "Parameter", + "Id": "ParamBodyAngleZ" + }, + "Weight": 40, + "Type": "Angle", + "Reflect": false + } + ], + "Output": [ + { + "Destination": { + "Target": "Parameter", + "Id": "Param_Angle_Rotation_1_ArtMesh61" + }, + "VertexIndex": 1, + "Scale": 10, + "Weight": 100, + "Type": "Angle", + "Reflect": false + }, + { + "Destination": { + "Target": "Parameter", + "Id": "Param_Angle_Rotation_2_ArtMesh61" + }, + "VertexIndex": 2, + "Scale": 20, + "Weight": 100, + "Type": "Angle", + "Reflect": false + }, + { + "Destination": { + "Target": "Parameter", + "Id": "Param_Angle_Rotation_3_ArtMesh61" + }, + "VertexIndex": 3, + "Scale": 30, + "Weight": 100, + "Type": "Angle", + "Reflect": false + }, + { + "Destination": { + "Target": "Parameter", + "Id": "Param_Angle_Rotation_4_ArtMesh61" + }, + "VertexIndex": 4, + "Scale": 30, + "Weight": 100, + "Type": "Angle", + "Reflect": false + }, + { + "Destination": { + "Target": "Parameter", + "Id": "Param_Angle_Rotation_5_ArtMesh61" + }, + "VertexIndex": 5, + "Scale": 30, + "Weight": 100, + "Type": "Angle", + "Reflect": false + }, + { + "Destination": { + "Target": "Parameter", + "Id": "Param_Angle_Rotation_6_ArtMesh61" + }, + "VertexIndex": 6, + "Scale": 30, + "Weight": 100, + "Type": "Angle", + "Reflect": false + }, + { + "Destination": { + "Target": "Parameter", + "Id": "Param_Angle_Rotation_7_ArtMesh61" + }, + "VertexIndex": 7, + "Scale": 30, + "Weight": 100, + "Type": "Angle", + "Reflect": false + } + ], + "Vertices": [ + { + "Position": { + "X": 0, + "Y": 0 + }, + "Mobility": 1, + "Delay": 1, + "Acceleration": 1, + "Radius": 10 + }, + { + "Position": { + "X": 0, + "Y": 10 + }, + "Mobility": 0.85, + "Delay": 0.85, + "Acceleration": 1.2, + "Radius": 10 + }, + { + "Position": { + "X": 0, + "Y": 20 + }, + "Mobility": 0.85, + "Delay": 0.85, + "Acceleration": 1.2, + "Radius": 10 + }, + { + "Position": { + "X": 0, + "Y": 30 + }, + "Mobility": 0.85, + "Delay": 0.85, + "Acceleration": 1.2, + "Radius": 10 + }, + { + "Position": { + "X": 0, + "Y": 40 + }, + "Mobility": 0.85, + "Delay": 0.85, + "Acceleration": 1.2, + "Radius": 10 + }, + { + "Position": { + "X": 0, + "Y": 50 + }, + "Mobility": 0.85, + "Delay": 0.85, + "Acceleration": 1.2, + "Radius": 10 + }, + { + "Position": { + "X": 0, + "Y": 60 + }, + "Mobility": 0.85, + "Delay": 0.85, + "Acceleration": 1.2, + "Radius": 10 + }, + { + "Position": { + "X": 0, + "Y": 70 + }, + "Mobility": 0.85, + "Delay": 0.85, + "Acceleration": 1.2, + "Radius": 10 + }, + { + "Position": { + "X": 0, + "Y": 80 + }, + "Mobility": 0.85, + "Delay": 0.85, + "Acceleration": 1.2, + "Radius": 10 + }, + { + "Position": { + "X": 0, + "Y": 90 + }, + "Mobility": 0.85, + "Delay": 0.85, + "Acceleration": 1.2, + "Radius": 10 + }, + { + "Position": { + "X": 0, + "Y": 100 + }, + "Mobility": 0.85, + "Delay": 0.85, + "Acceleration": 1.2, + "Radius": 10 + } + ], + "Normalization": { + "Position": { + "Minimum": -10, + "Default": 0, + "Maximum": 10 + }, + "Angle": { + "Minimum": -10, + "Default": 0, + "Maximum": 10 + } + } + }, + { + "Id": "PhysicsSetting9", + "Input": [ + { + "Source": { + "Target": "Parameter", + "Id": "ParamAngleX" + }, + "Weight": 60, + "Type": "X", + "Reflect": false + }, + { + "Source": { + "Target": "Parameter", + "Id": "ParamAngleZ" + }, + "Weight": 60, + "Type": "Angle", + "Reflect": false + }, + { + "Source": { + "Target": "Parameter", + "Id": "ParamBodyAngleX" + }, + "Weight": 40, + "Type": "X", + "Reflect": false + }, + { + "Source": { + "Target": "Parameter", + "Id": "ParamBodyAngleZ" + }, + "Weight": 40, + "Type": "Angle", + "Reflect": false + } + ], + "Output": [ + { + "Destination": { + "Target": "Parameter", + "Id": "Param_Angle_Rotation_1_ArtMesh62" + }, + "VertexIndex": 1, + "Scale": 10, + "Weight": 100, + "Type": "Angle", + "Reflect": false + }, + { + "Destination": { + "Target": "Parameter", + "Id": "Param_Angle_Rotation_2_ArtMesh62" + }, + "VertexIndex": 2, + "Scale": 20, + "Weight": 100, + "Type": "Angle", + "Reflect": false + }, + { + "Destination": { + "Target": "Parameter", + "Id": "Param_Angle_Rotation_3_ArtMesh62" + }, + "VertexIndex": 3, + "Scale": 30, + "Weight": 100, + "Type": "Angle", + "Reflect": false + }, + { + "Destination": { + "Target": "Parameter", + "Id": "Param_Angle_Rotation_4_ArtMesh62" + }, + "VertexIndex": 4, + "Scale": 30, + "Weight": 100, + "Type": "Angle", + "Reflect": false + }, + { + "Destination": { + "Target": "Parameter", + "Id": "Param_Angle_Rotation_5_ArtMesh62" + }, + "VertexIndex": 5, + "Scale": 30, + "Weight": 100, + "Type": "Angle", + "Reflect": false + }, + { + "Destination": { + "Target": "Parameter", + "Id": "Param_Angle_Rotation_6_ArtMesh62" + }, + "VertexIndex": 6, + "Scale": 30, + "Weight": 100, + "Type": "Angle", + "Reflect": false + }, + { + "Destination": { + "Target": "Parameter", + "Id": "Param_Angle_Rotation_7_ArtMesh62" + }, + "VertexIndex": 7, + "Scale": 30, + "Weight": 100, + "Type": "Angle", + "Reflect": false + } + ], + "Vertices": [ + { + "Position": { + "X": 0, + "Y": 0 + }, + "Mobility": 1, + "Delay": 1, + "Acceleration": 1, + "Radius": 10 + }, + { + "Position": { + "X": 0, + "Y": 10 + }, + "Mobility": 0.85, + "Delay": 0.85, + "Acceleration": 1.2, + "Radius": 10 + }, + { + "Position": { + "X": 0, + "Y": 20 + }, + "Mobility": 0.85, + "Delay": 0.85, + "Acceleration": 1.2, + "Radius": 10 + }, + { + "Position": { + "X": 0, + "Y": 30 + }, + "Mobility": 0.85, + "Delay": 0.85, + "Acceleration": 1.2, + "Radius": 10 + }, + { + "Position": { + "X": 0, + "Y": 40 + }, + "Mobility": 0.85, + "Delay": 0.85, + "Acceleration": 1.2, + "Radius": 10 + }, + { + "Position": { + "X": 0, + "Y": 50 + }, + "Mobility": 0.85, + "Delay": 0.85, + "Acceleration": 1.2, + "Radius": 10 + }, + { + "Position": { + "X": 0, + "Y": 60 + }, + "Mobility": 0.85, + "Delay": 0.85, + "Acceleration": 1.2, + "Radius": 10 + }, + { + "Position": { + "X": 0, + "Y": 70 + }, + "Mobility": 0.85, + "Delay": 0.85, + "Acceleration": 1.2, + "Radius": 10 + }, + { + "Position": { + "X": 0, + "Y": 80 + }, + "Mobility": 0.85, + "Delay": 0.85, + "Acceleration": 1.2, + "Radius": 10 + }, + { + "Position": { + "X": 0, + "Y": 90 + }, + "Mobility": 0.85, + "Delay": 0.85, + "Acceleration": 1.2, + "Radius": 10 + }, + { + "Position": { + "X": 0, + "Y": 100 + }, + "Mobility": 0.85, + "Delay": 0.85, + "Acceleration": 1.2, + "Radius": 10 + } + ], + "Normalization": { + "Position": { + "Minimum": -10, + "Default": 0, + "Maximum": 10 + }, + "Angle": { + "Minimum": -10, + "Default": 0, + "Maximum": 10 + } + } + }, + { + "Id": "PhysicsSetting10", + "Input": [ + { + "Source": { + "Target": "Parameter", + "Id": "ParamAngleX" + }, + "Weight": 60, + "Type": "X", + "Reflect": false + }, + { + "Source": { + "Target": "Parameter", + "Id": "ParamAngleZ" + }, + "Weight": 60, + "Type": "Angle", + "Reflect": false + }, + { + "Source": { + "Target": "Parameter", + "Id": "ParamBodyAngleX" + }, + "Weight": 40, + "Type": "X", + "Reflect": false + }, + { + "Source": { + "Target": "Parameter", + "Id": "ParamBodyAngleZ" + }, + "Weight": 40, + "Type": "Angle", + "Reflect": false + } + ], + "Output": [ + { + "Destination": { + "Target": "Parameter", + "Id": "Param_Angle_Rotation_1_ArtMesh54" + }, + "VertexIndex": 1, + "Scale": 5, + "Weight": 100, + "Type": "Angle", + "Reflect": false + }, + { + "Destination": { + "Target": "Parameter", + "Id": "Param_Angle_Rotation_2_ArtMesh54" + }, + "VertexIndex": 2, + "Scale": 5, + "Weight": 100, + "Type": "Angle", + "Reflect": false + }, + { + "Destination": { + "Target": "Parameter", + "Id": "Param_Angle_Rotation_3_ArtMesh54" + }, + "VertexIndex": 3, + "Scale": 10, + "Weight": 100, + "Type": "Angle", + "Reflect": false + }, + { + "Destination": { + "Target": "Parameter", + "Id": "Param_Angle_Rotation_4_ArtMesh54" + }, + "VertexIndex": 4, + "Scale": 20, + "Weight": 100, + "Type": "Angle", + "Reflect": false + }, + { + "Destination": { + "Target": "Parameter", + "Id": "Param_Angle_Rotation_5_ArtMesh54" + }, + "VertexIndex": 5, + "Scale": 20, + "Weight": 100, + "Type": "Angle", + "Reflect": false + }, + { + "Destination": { + "Target": "Parameter", + "Id": "Param_Angle_Rotation_6_ArtMesh54" + }, + "VertexIndex": 6, + "Scale": 25, + "Weight": 100, + "Type": "Angle", + "Reflect": false + }, + { + "Destination": { + "Target": "Parameter", + "Id": "Param_Angle_Rotation_7_ArtMesh54" + }, + "VertexIndex": 7, + "Scale": 30, + "Weight": 100, + "Type": "Angle", + "Reflect": false + } + ], + "Vertices": [ + { + "Position": { + "X": 0, + "Y": 0 + }, + "Mobility": 0.9, + "Delay": 1, + "Acceleration": 1, + "Radius": 15 + }, + { + "Position": { + "X": 0, + "Y": 15 + }, + "Mobility": 0.9, + "Delay": 0.85, + "Acceleration": 1.2, + "Radius": 15 + }, + { + "Position": { + "X": 0, + "Y": 30 + }, + "Mobility": 0.9, + "Delay": 0.85, + "Acceleration": 1.2, + "Radius": 15 + }, + { + "Position": { + "X": 0, + "Y": 45 + }, + "Mobility": 0.9, + "Delay": 0.85, + "Acceleration": 1.2, + "Radius": 15 + }, + { + "Position": { + "X": 0, + "Y": 60 + }, + "Mobility": 0.9, + "Delay": 0.85, + "Acceleration": 1.2, + "Radius": 15 + }, + { + "Position": { + "X": 0, + "Y": 75 + }, + "Mobility": 0.9, + "Delay": 0.85, + "Acceleration": 1.2, + "Radius": 15 + }, + { + "Position": { + "X": 0, + "Y": 90 + }, + "Mobility": 0.9, + "Delay": 0.85, + "Acceleration": 1.2, + "Radius": 15 + }, + { + "Position": { + "X": 0, + "Y": 105 + }, + "Mobility": 0.9, + "Delay": 0.85, + "Acceleration": 1.2, + "Radius": 15 + }, + { + "Position": { + "X": 0, + "Y": 120 + }, + "Mobility": 0.9, + "Delay": 0.85, + "Acceleration": 1.2, + "Radius": 15 + }, + { + "Position": { + "X": 0, + "Y": 135 + }, + "Mobility": 0.9, + "Delay": 0.85, + "Acceleration": 1.2, + "Radius": 15 + }, + { + "Position": { + "X": 0, + "Y": 150 + }, + "Mobility": 0.9, + "Delay": 0.85, + "Acceleration": 1.2, + "Radius": 15 + } + ], + "Normalization": { + "Position": { + "Minimum": -10, + "Default": 0, + "Maximum": 10 + }, + "Angle": { + "Minimum": -10, + "Default": 0, + "Maximum": 10 + } + } + }, + { + "Id": "PhysicsSetting11", + "Input": [ + { + "Source": { + "Target": "Parameter", + "Id": "ParamAngleX" + }, + "Weight": 60, + "Type": "X", + "Reflect": false + }, + { + "Source": { + "Target": "Parameter", + "Id": "ParamAngleZ" + }, + "Weight": 60, + "Type": "Angle", + "Reflect": false + }, + { + "Source": { + "Target": "Parameter", + "Id": "ParamBodyAngleX" + }, + "Weight": 40, + "Type": "X", + "Reflect": false + }, + { + "Source": { + "Target": "Parameter", + "Id": "ParamBodyAngleZ" + }, + "Weight": 40, + "Type": "Angle", + "Reflect": false + } + ], + "Output": [ + { + "Destination": { + "Target": "Parameter", + "Id": "Param_Angle_Rotation_1_ArtMesh55" + }, + "VertexIndex": 1, + "Scale": 5, + "Weight": 100, + "Type": "Angle", + "Reflect": false + }, + { + "Destination": { + "Target": "Parameter", + "Id": "Param_Angle_Rotation_2_ArtMesh55" + }, + "VertexIndex": 2, + "Scale": 5, + "Weight": 100, + "Type": "Angle", + "Reflect": false + }, + { + "Destination": { + "Target": "Parameter", + "Id": "Param_Angle_Rotation_3_ArtMesh55" + }, + "VertexIndex": 3, + "Scale": 10, + "Weight": 100, + "Type": "Angle", + "Reflect": false + }, + { + "Destination": { + "Target": "Parameter", + "Id": "Param_Angle_Rotation_4_ArtMesh55" + }, + "VertexIndex": 4, + "Scale": 20, + "Weight": 100, + "Type": "Angle", + "Reflect": false + }, + { + "Destination": { + "Target": "Parameter", + "Id": "Param_Angle_Rotation_5_ArtMesh55" + }, + "VertexIndex": 5, + "Scale": 20, + "Weight": 100, + "Type": "Angle", + "Reflect": false + }, + { + "Destination": { + "Target": "Parameter", + "Id": "Param_Angle_Rotation_6_ArtMesh55" + }, + "VertexIndex": 6, + "Scale": 25, + "Weight": 100, + "Type": "Angle", + "Reflect": false + }, + { + "Destination": { + "Target": "Parameter", + "Id": "Param_Angle_Rotation_7_ArtMesh55" + }, + "VertexIndex": 7, + "Scale": 30, + "Weight": 100, + "Type": "Angle", + "Reflect": false + } + ], + "Vertices": [ + { + "Position": { + "X": 0, + "Y": 0 + }, + "Mobility": 0.9, + "Delay": 0.7, + "Acceleration": 1, + "Radius": 15 + }, + { + "Position": { + "X": 0, + "Y": 15 + }, + "Mobility": 0.9, + "Delay": 0.85, + "Acceleration": 1.2, + "Radius": 15 + }, + { + "Position": { + "X": 0, + "Y": 30 + }, + "Mobility": 0.9, + "Delay": 0.85, + "Acceleration": 1.2, + "Radius": 15 + }, + { + "Position": { + "X": 0, + "Y": 45 + }, + "Mobility": 0.9, + "Delay": 0.85, + "Acceleration": 1.2, + "Radius": 15 + }, + { + "Position": { + "X": 0, + "Y": 60 + }, + "Mobility": 0.9, + "Delay": 0.85, + "Acceleration": 1.2, + "Radius": 15 + }, + { + "Position": { + "X": 0, + "Y": 75 + }, + "Mobility": 0.9, + "Delay": 0.85, + "Acceleration": 1.2, + "Radius": 15 + }, + { + "Position": { + "X": 0, + "Y": 90 + }, + "Mobility": 0.9, + "Delay": 0.85, + "Acceleration": 1.2, + "Radius": 15 + }, + { + "Position": { + "X": 0, + "Y": 105 + }, + "Mobility": 0.9, + "Delay": 0.85, + "Acceleration": 1.2, + "Radius": 15 + }, + { + "Position": { + "X": 0, + "Y": 120 + }, + "Mobility": 0.9, + "Delay": 0.85, + "Acceleration": 1.2, + "Radius": 15 + }, + { + "Position": { + "X": 0, + "Y": 135 + }, + "Mobility": 0.9, + "Delay": 0.85, + "Acceleration": 1.2, + "Radius": 15 + }, + { + "Position": { + "X": 0, + "Y": 150 + }, + "Mobility": 0.9, + "Delay": 0.85, + "Acceleration": 1.2, + "Radius": 15 + } + ], + "Normalization": { + "Position": { + "Minimum": -10, + "Default": 0, + "Maximum": 10 + }, + "Angle": { + "Minimum": -10, + "Default": 0, + "Maximum": 10 + } + } + } + ] +} \ No newline at end of file diff --git a/staticfiles/Live2DSample/Hiyori/Hiyori.pose3.json b/staticfiles/Live2DSample/Hiyori/Hiyori.pose3.json new file mode 100644 index 0000000000000000000000000000000000000000..297fc782cc3a3c06e6765ae25a590158f47b49d1 --- /dev/null +++ b/staticfiles/Live2DSample/Hiyori/Hiyori.pose3.json @@ -0,0 +1,16 @@ +{ + "Type": "Live2D Pose", + "FadeInTime": 0.5, + "Groups": [ + [ + { + "Id": "PartArmA", + "Link": [] + }, + { + "Id": "PartArmB", + "Link": [] + } + ] + ] +} \ No newline at end of file diff --git a/staticfiles/Live2DSample/Hiyori/Hiyori.userdata3.json b/staticfiles/Live2DSample/Hiyori/Hiyori.userdata3.json new file mode 100644 index 0000000000000000000000000000000000000000..5dd9fdf316db39c2e37f075c365cd66d416aa305 --- /dev/null +++ b/staticfiles/Live2DSample/Hiyori/Hiyori.userdata3.json @@ -0,0 +1,44 @@ +{ + "Version": 3, + "Meta": { + "UserDataCount": 7, + "TotalUserDataSize": 35 + }, + "UserData": [ + { + "Target": "ArtMesh", + "Id": "ArtMesh93", + "Value": "ribon" + }, + { + "Target": "ArtMesh", + "Id": "ArtMesh94", + "Value": "ribon" + }, + { + "Target": "ArtMesh", + "Id": "ArtMesh95", + "Value": "ribon" + }, + { + "Target": "ArtMesh", + "Id": "ArtMesh57", + "Value": "ribon" + }, + { + "Target": "ArtMesh", + "Id": "ArtMesh58", + "Value": "ribon" + }, + { + "Target": "ArtMesh", + "Id": "ArtMesh59", + "Value": "ribon" + }, + { + "Target": "ArtMesh", + "Id": "ArtMesh60", + "Value": "ribon" + } + ] +} \ No newline at end of file diff --git a/staticfiles/Live2DSample/Hiyori/motions/Hiyori_m01.motion3.json b/staticfiles/Live2DSample/Hiyori/motions/Hiyori_m01.motion3.json new file mode 100644 index 0000000000000000000000000000000000000000..5adb2295cfbb60bc94e4b2049b8381ae1a649ea6 --- /dev/null +++ b/staticfiles/Live2DSample/Hiyori/motions/Hiyori_m01.motion3.json @@ -0,0 +1,1085 @@ +{ + "Version": 3, + "Meta": { + "Duration": 4.7, + "Fps": 30.0, + "Loop": true, + "AreBeziersRestricted": false, + "CurveCount": 31, + "TotalSegmentCount": 135, + "TotalPointCount": 374, + "UserDataCount": 0, + "TotalUserDataSize": 0 + }, + "Curves": [ + { + "Target": "Parameter", + "Id": "ParamAngleX", + "Segments": [ + 0, + -8, + 1, + 0.067, + -8, + 0.133, + -8, + 0.2, + -8, + 1, + 0.278, + -8, + 0.356, + -8, + 0.433, + -8, + 1, + 0.556, + -8, + 0.678, + -8, + 0.8, + -8, + 1, + 0.956, + -8, + 1.111, + -8, + 1.267, + -8, + 1, + 1.522, + -8, + 1.778, + 0, + 2.033, + 0, + 1, + 2.122, + 0, + 2.211, + 0, + 2.3, + 0, + 1, + 2.556, + 0, + 2.811, + 9, + 3.067, + 9, + 1, + 3.356, + 9, + 3.644, + 0, + 3.933, + 0, + 1, + 4.067, + 0, + 4.2, + 1, + 4.333, + 1, + 0, + 4.7, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleY", + "Segments": [ + 0, + -5, + 1, + 0.067, + -5, + 0.133, + -5, + 0.2, + -5, + 1, + 0.322, + -5, + 0.444, + 16, + 0.567, + 16, + 1, + 0.711, + 16, + 0.856, + -12, + 1, + -12, + 1, + 1.089, + -12, + 1.178, + 11, + 1.267, + 11, + 1, + 1.356, + 11, + 1.444, + 9.376, + 1.533, + 3, + 1, + 1.611, + -2.579, + 1.689, + -8, + 1.767, + -8, + 1, + 1.856, + -8, + 1.944, + 0, + 2.033, + 0, + 1, + 2.122, + 0, + 2.211, + 0, + 2.3, + 0, + 1, + 2.578, + 0, + 2.856, + -30, + 3.133, + -30, + 1, + 3.278, + -30, + 3.422, + 15, + 3.567, + 15, + 1, + 3.689, + 15, + 3.811, + -9, + 3.933, + -9, + 0, + 4.7, + -9 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleZ", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.278, + 0, + 0.356, + 0, + 0.433, + 0, + 1, + 0.711, + 0, + 0.989, + 0, + 1.267, + 0, + 1, + 1.522, + 0, + 1.778, + 14, + 2.033, + 14, + 1, + 2.178, + 14, + 2.322, + 14, + 2.467, + 14, + 1, + 2.8, + 14, + 3.133, + 16, + 3.467, + 16, + 1, + 3.633, + 16, + 3.8, + -13, + 3.967, + -13, + 1, + 4.111, + -13, + 4.256, + -11.207, + 4.4, + -11.207, + 0, + 4.7, + -11.207 + ] + }, + { + "Target": "Parameter", + "Id": "ParamCheek", + "Segments": [ + 0, + 0, + 0, + 4.7, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeLOpen", + "Segments": [ + 0, + 1, + 1, + 0.556, + 1, + 1.111, + 1, + 1.667, + 1, + 1, + 1.711, + 1, + 1.756, + 0, + 1.8, + 0, + 1, + 1.822, + 0, + 1.844, + 0, + 1.867, + 0, + 1, + 1.911, + 0, + 1.956, + 1, + 2, + 1, + 1, + 2.489, + 1, + 2.978, + 1, + 3.467, + 1, + 1, + 3.511, + 1, + 3.556, + 0, + 3.6, + 0, + 1, + 3.622, + 0, + 3.644, + 0, + 3.667, + 0, + 1, + 3.733, + 0, + 3.8, + 1, + 3.867, + 1, + 0, + 4.7, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeLSmile", + "Segments": [ + 0, + 0, + 0, + 4.7, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeROpen", + "Segments": [ + 0, + 1, + 1, + 0.556, + 1, + 1.111, + 1, + 1.667, + 1, + 1, + 1.711, + 1, + 1.756, + 0, + 1.8, + 0, + 1, + 1.822, + 0, + 1.844, + 0, + 1.867, + 0, + 1, + 1.911, + 0, + 1.956, + 1, + 2, + 1, + 1, + 2.489, + 1, + 2.978, + 1, + 3.467, + 1, + 1, + 3.511, + 1, + 3.556, + 0, + 3.6, + 0, + 1, + 3.622, + 0, + 3.644, + 0, + 3.667, + 0, + 1, + 3.733, + 0, + 3.8, + 1, + 3.867, + 1, + 0, + 4.7, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeRSmile", + "Segments": [ + 0, + 0, + 0, + 4.7, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallX", + "Segments": [ + 0, + 0, + 1, + 0.156, + 0, + 0.311, + -0.02, + 0.467, + -0.02, + 1, + 0.578, + -0.02, + 0.689, + 0, + 0.8, + 0, + 1, + 1.056, + 0, + 1.311, + 0, + 1.567, + 0, + 1, + 1.767, + 0, + 1.967, + -0.131, + 2.167, + -0.15, + 1, + 2.644, + -0.195, + 3.122, + -0.2, + 3.6, + -0.2, + 1, + 3.622, + -0.2, + 3.644, + 0.803, + 3.667, + 0.803, + 0, + 4.7, + 0.803 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallY", + "Segments": [ + 0, + 0, + 1, + 0.156, + 0, + 0.311, + 0.01, + 0.467, + 0.08, + 1, + 0.578, + 0.13, + 0.689, + 0.21, + 0.8, + 0.21, + 1, + 1.056, + 0.21, + 1.311, + 0.21, + 1.567, + 0.21, + 1, + 1.767, + 0.21, + 1.967, + 0.08, + 2.167, + 0.08, + 1, + 2.644, + 0.08, + 3.122, + 0.086, + 3.6, + 0.1, + 1, + 3.622, + 0.101, + 3.644, + 0.794, + 3.667, + 0.794, + 0, + 4.7, + 0.794 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLY", + "Segments": [ + 0, + 0, + 0, + 4.7, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRY", + "Segments": [ + 0, + 0, + 0, + 4.7, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLX", + "Segments": [ + 0, + 0, + 0, + 4.7, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRX", + "Segments": [ + 0, + 0, + 0, + 4.7, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLAngle", + "Segments": [ + 0, + 0, + 0, + 4.7, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRAngle", + "Segments": [ + 0, + 0, + 0, + 4.7, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLForm", + "Segments": [ + 0, + 0, + 0, + 4.7, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRForm", + "Segments": [ + 0, + 0, + 0, + 4.7, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamMouthForm", + "Segments": [ + 0, + 1, + 0, + 4.7, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamMouthOpenY", + "Segments": [ + 0, + 0, + 0, + 4.7, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleX", + "Segments": [ + 0, + 1, + 1, + 0.856, + 1, + 1.711, + 1, + 2.567, + 1, + 1, + 2.789, + 1, + 3.011, + 1.145, + 3.233, + 0, + 1, + 3.467, + -1.202, + 3.7, + -6, + 3.933, + -6, + 0, + 4.7, + -6 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleY", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.278, + 0, + 0.356, + 7, + 0.433, + 7, + 1, + 0.611, + 7, + 0.789, + -4, + 0.967, + -4, + 1, + 1.078, + -4, + 1.189, + 6, + 1.3, + 6, + 1, + 1.433, + 6, + 1.567, + -3, + 1.7, + -3, + 1, + 1.789, + -3, + 1.878, + -1.459, + 1.967, + 0, + 1, + 2.067, + 1.642, + 2.167, + 3.47, + 2.267, + 4, + 1, + 2.367, + 4.53, + 2.467, + 4.312, + 2.567, + 5, + 1, + 2.889, + 7.215, + 3.211, + 10, + 3.533, + 10, + 1, + 3.667, + 10, + 3.8, + 0, + 3.933, + 0, + 1, + 4.067, + 0, + 4.2, + 0, + 4.333, + 0, + 0, + 4.7, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleZ", + "Segments": [ + 0, + 0, + 1, + 0.822, + 0, + 1.644, + 0, + 2.467, + 0, + 1, + 2.722, + 0, + 2.978, + 5, + 3.233, + 5, + 1, + 3.489, + 5, + 3.744, + -5, + 4, + -5, + 1, + 4.156, + -5, + 4.311, + -3.976, + 4.467, + -3.976, + 0, + 4.7, + -3.976 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBreath", + "Segments": [ + 0, + 0, + 0, + 4.7, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamShoulder", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0.2, + 0.333, + 0.2, + 1, + 0.422, + 0.2, + 0.511, + -0.1, + 0.6, + -0.1, + 1, + 1.578, + -0.1, + 2.556, + -0.1, + 3.533, + -0.1, + 1, + 3.611, + -0.1, + 3.689, + 0.2, + 3.767, + 0.2, + 1, + 3.989, + 0.2, + 4.211, + -0.9, + 4.433, + -0.9, + 0, + 4.7, + -0.9 + ] + }, + { + "Target": "Parameter", + "Id": "ParamLeg", + "Segments": [ + 0, + 1, + 0, + 4.7, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmLA", + "Segments": [ + 0, + -10, + 1, + 0.178, + -10, + 0.356, + -7, + 0.533, + -7, + 1, + 0.7, + -7, + 0.867, + -10, + 1.033, + -10, + 1, + 1.2, + -10, + 1.367, + -8, + 1.533, + -8, + 1, + 1.611, + -8, + 1.689, + -8.746, + 1.767, + -9, + 1, + 2.011, + -9.797, + 2.256, + -10, + 2.5, + -10, + 1, + 2.556, + -10, + 2.611, + -10, + 2.667, + -10, + 1, + 2.789, + -10, + 2.911, + -10, + 3.033, + -10, + 0, + 4.7, + -10 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmRA", + "Segments": [ + 0, + -10, + 1, + 0.178, + -10, + 0.356, + -7, + 0.533, + -7, + 1, + 0.7, + -7, + 0.867, + -10, + 1.033, + -10, + 1, + 1.2, + -10, + 1.367, + -6, + 1.533, + -6, + 1, + 1.611, + -6, + 1.689, + -6.903, + 1.767, + -7.5, + 1, + 2.011, + -9.377, + 2.256, + -10, + 2.5, + -10, + 1, + 2.567, + -10, + 2.633, + -8.958, + 2.7, + -8.958, + 1, + 2.811, + -8.958, + 2.922, + -10, + 3.033, + -10, + 0, + 4.7, + -10 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHairAhoge", + "Segments": [ + 0, + 0, + 1, + 0.144, + 0, + 0.289, + 10, + 0.433, + 10, + 1, + 0.578, + 10, + 0.722, + -10, + 0.867, + -10, + 1, + 0.989, + -10, + 1.111, + 4, + 1.233, + 4, + 1, + 1.322, + 4, + 1.411, + 2.767, + 1.5, + 0, + 1, + 1.611, + -3.459, + 1.722, + -5.351, + 1.833, + -5.351, + 1, + 1.922, + -5.351, + 2.011, + 1.661, + 2.1, + 1.661, + 1, + 2.233, + 1.661, + 2.367, + 0, + 2.5, + 0, + 1, + 2.867, + 0, + 3.233, + 10, + 3.6, + 10, + 1, + 3.722, + 10, + 3.844, + -10, + 3.967, + -10, + 1, + 4.078, + -10, + 4.189, + 6, + 4.3, + 6, + 1, + 4.356, + 6, + 4.411, + 0, + 4.467, + 0, + 0, + 4.7, + 0 + ] + }, + { + "Target": "PartOpacity", + "Id": "PartArmA", + "Segments": [ + 0, + 1, + 0, + 4.7, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "PartArmB", + "Segments": [ + 0, + 0, + 0, + 4.7, + 0 + ] + } + ] +} \ No newline at end of file diff --git a/staticfiles/Live2DSample/Hiyori/motions/Hiyori_m02.motion3.json b/staticfiles/Live2DSample/Hiyori/motions/Hiyori_m02.motion3.json new file mode 100644 index 0000000000000000000000000000000000000000..bb652b1c1ef0c0fc06d5e0a1c09ed948ad918373 --- /dev/null +++ b/staticfiles/Live2DSample/Hiyori/motions/Hiyori_m02.motion3.json @@ -0,0 +1,1478 @@ +{ + "Version": 3, + "Meta": { + "Duration": 5.93, + "Fps": 30.0, + "Loop": true, + "AreBeziersRestricted": false, + "CurveCount": 33, + "TotalSegmentCount": 190, + "TotalPointCount": 537, + "UserDataCount": 0, + "TotalUserDataSize": 0 + }, + "Curves": [ + { + "Target": "Parameter", + "Id": "ParamAngleX", + "Segments": [ + 0, + 18, + 1, + 0.211, + 18, + 0.422, + 0, + 0.633, + 0, + 1, + 0.889, + 0, + 1.144, + 22, + 1.4, + 22, + 1, + 1.578, + 22, + 1.756, + 22, + 1.933, + 22, + 1, + 2.1, + 22, + 2.267, + 14.992, + 2.433, + 0, + 1, + 2.6, + -14.992, + 2.767, + -23, + 2.933, + -23, + 1, + 3.244, + -23, + 3.556, + -23, + 3.867, + -23, + 1, + 4.078, + -23, + 4.289, + 0, + 4.5, + 0, + 0, + 5.933, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleY", + "Segments": [ + 0, + -24, + 1, + 0.211, + -24, + 0.422, + 0, + 0.633, + 0, + 1, + 0.889, + 0, + 1.144, + -18, + 1.4, + -18, + 1, + 1.522, + -18, + 1.644, + -11, + 1.767, + -11, + 1, + 1.822, + -11, + 1.878, + -11, + 1.933, + -11, + 1, + 2.1, + -11, + 2.267, + -3, + 2.433, + -3, + 1, + 2.6, + -3, + 2.767, + -30, + 2.933, + -30, + 1, + 3.133, + -30, + 3.333, + -23, + 3.533, + -23, + 1, + 3.644, + -23, + 3.756, + -23, + 3.867, + -23, + 1, + 3.911, + -23, + 3.956, + -23, + 4, + -23, + 1, + 4.167, + -23, + 4.333, + 0, + 4.5, + 0, + 0, + 5.933, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleZ", + "Segments": [ + 0, + 0, + 1, + 0.222, + 0, + 0.444, + 0, + 0.667, + 0, + 1, + 0.756, + 0, + 0.844, + 1.707, + 0.933, + 8, + 1, + 1.122, + 21.373, + 1.311, + 30, + 1.5, + 30, + 1, + 1.656, + 30, + 1.811, + 30, + 1.967, + 30, + 1, + 2.289, + 30, + 2.611, + -30, + 2.933, + -30, + 1, + 3.244, + -30, + 3.556, + -30, + 3.867, + -30, + 1, + 4.078, + -30, + 4.289, + -21.337, + 4.5, + 1, + 1, + 4.578, + 9.23, + 4.656, + 17, + 4.733, + 17, + 0, + 5.933, + 17 + ] + }, + { + "Target": "Parameter", + "Id": "ParamCheek", + "Segments": [ + 0, + 1, + 0, + 5.933, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeLOpen", + "Segments": [ + 0, + 1, + 1, + 0.333, + 1, + 0.667, + 1, + 1, + 1, + 1, + 1.044, + 1, + 1.089, + 0, + 1.133, + 0, + 1, + 1.156, + 0, + 1.178, + 0, + 1.2, + 0, + 1, + 1.256, + 0, + 1.311, + 1, + 1.367, + 1, + 1, + 1.833, + 1, + 2.3, + 1, + 2.767, + 1, + 1, + 2.867, + 1, + 2.967, + 1.2, + 3.067, + 1.2, + 1, + 3.233, + 1.2, + 3.4, + 1, + 3.567, + 1, + 1, + 3.689, + 1, + 3.811, + 1, + 3.933, + 1, + 1, + 3.978, + 1, + 4.022, + 0, + 4.067, + 0, + 1, + 4.089, + 0, + 4.111, + 0, + 4.133, + 0, + 1, + 4.189, + 0, + 4.244, + 1, + 4.3, + 1, + 1, + 4.4, + 1, + 4.5, + 1, + 4.6, + 1, + 1, + 4.633, + 1, + 4.667, + 0, + 4.7, + 0, + 0, + 5.933, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeLSmile", + "Segments": [ + 0, + 0.63, + 1, + 1.433, + 0.63, + 2.867, + 0.6, + 4.3, + 0.6, + 1, + 4.4, + 0.6, + 4.5, + 0.771, + 4.6, + 0.771, + 0, + 5.933, + 0.771 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeROpen", + "Segments": [ + 0, + 1, + 1, + 0.333, + 1, + 0.667, + 1, + 1, + 1, + 1, + 1.044, + 1, + 1.089, + 0, + 1.133, + 0, + 1, + 1.156, + 0, + 1.178, + 0, + 1.2, + 0, + 1, + 1.256, + 0, + 1.311, + 1, + 1.367, + 1, + 1, + 1.833, + 1, + 2.3, + 1, + 2.767, + 1, + 1, + 2.867, + 1, + 2.967, + 1.2, + 3.067, + 1.2, + 1, + 3.233, + 1.2, + 3.4, + 1, + 3.567, + 1, + 1, + 3.689, + 1, + 3.811, + 1, + 3.933, + 1, + 1, + 3.978, + 1, + 4.022, + 0, + 4.067, + 0, + 1, + 4.089, + 0, + 4.111, + 0, + 4.133, + 0, + 1, + 4.189, + 0, + 4.244, + 1, + 4.3, + 1, + 1, + 4.4, + 1, + 4.5, + 1, + 4.6, + 1, + 1, + 4.633, + 1, + 4.667, + 0, + 4.7, + 0, + 0, + 5.933, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeRSmile", + "Segments": [ + 0, + 0.63, + 1, + 1.433, + 0.63, + 2.867, + 0.6, + 4.3, + 0.6, + 1, + 4.4, + 0.6, + 4.5, + 0.76, + 4.6, + 0.76, + 0, + 5.933, + 0.76 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallX", + "Segments": [ + 0, + -0.002, + 1, + 0.211, + -0.002, + 0.422, + 0, + 0.633, + 0, + 1, + 0.889, + 0, + 1.144, + -0.31, + 1.4, + -0.31, + 1, + 1.578, + -0.31, + 1.756, + -0.31, + 1.933, + -0.31, + 1, + 2.233, + -0.31, + 2.533, + 0.67, + 2.833, + 0.67, + 1, + 3.144, + 0.67, + 3.456, + 0.67, + 3.767, + 0.67, + 1, + 4.011, + 0.67, + 4.256, + 0, + 4.5, + 0, + 0, + 5.933, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallY", + "Segments": [ + 0, + 0, + 1, + 0.211, + 0, + 0.422, + 0, + 0.633, + 0, + 1, + 0.889, + 0, + 1.144, + 0.38, + 1.4, + 0.38, + 1, + 1.578, + 0.38, + 1.756, + 0.38, + 1.933, + 0.38, + 1, + 2.233, + 0.38, + 2.533, + 0.46, + 2.833, + 0.46, + 1, + 3.144, + 0.46, + 3.456, + 0.46, + 3.767, + 0.46, + 1, + 4.011, + 0.46, + 4.256, + 0, + 4.5, + 0, + 0, + 5.933, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLY", + "Segments": [ + 0, + 0, + 1, + 0.956, + 0, + 1.911, + 0, + 2.867, + 0, + 1, + 2.933, + 0, + 3, + 0.125, + 3.067, + 0.125, + 1, + 3.133, + 0.125, + 3.2, + 0, + 3.267, + 0, + 1, + 3.711, + 0, + 4.156, + 0, + 4.6, + 0, + 1, + 4.667, + 0, + 4.733, + 0.396, + 4.8, + 0.396, + 0, + 5.933, + 0.396 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRY", + "Segments": [ + 0, + 0, + 1, + 0.956, + 0, + 1.911, + 0, + 2.867, + 0, + 1, + 2.933, + 0, + 3, + 0.125, + 3.067, + 0.125, + 1, + 3.133, + 0.125, + 3.2, + 0, + 3.267, + 0, + 1, + 3.711, + 0, + 4.156, + 0, + 4.6, + 0, + 1, + 4.667, + 0, + 4.733, + 0.417, + 4.8, + 0.417, + 0, + 5.933, + 0.417 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLX", + "Segments": [ + 0, + 0, + 0, + 5.933, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRX", + "Segments": [ + 0, + 0, + 0, + 5.933, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLAngle", + "Segments": [ + 0, + 0.03, + 0, + 5.933, + 0.03 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRAngle", + "Segments": [ + 0, + 0, + 0, + 5.933, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLForm", + "Segments": [ + 0, + 0, + 0, + 5.933, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRForm", + "Segments": [ + 0, + 0, + 0, + 5.933, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamMouthForm", + "Segments": [ + 0, + -1, + 1, + 1.433, + -1, + 2.867, + -1, + 4.3, + -1, + 1, + 4.367, + -1, + 4.433, + 1, + 4.5, + 1, + 0, + 5.933, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamMouthOpenY", + "Segments": [ + 0, + 1, + 1, + 1.433, + 1, + 2.867, + 1, + 4.3, + 1, + 1, + 4.367, + 1, + 4.433, + 0, + 4.5, + 0, + 0, + 5.933, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleX", + "Segments": [ + 0, + 0, + 1, + 0.244, + 0, + 0.489, + 0, + 0.733, + 0, + 1, + 0.778, + 0, + 0.822, + 0.667, + 0.867, + 2, + 1, + 1.044, + 7.333, + 1.222, + 10, + 1.4, + 10, + 1, + 1.533, + 10, + 1.667, + 10, + 1.8, + 10, + 1, + 2.178, + 10, + 2.556, + 6, + 2.933, + 6, + 1, + 3.244, + 6, + 3.556, + 6, + 3.867, + 6, + 1, + 4.189, + 6, + 4.511, + 0, + 4.833, + 0, + 1, + 4.956, + 0, + 5.078, + 1.192, + 5.2, + 1.192, + 1, + 5.322, + 1.192, + 5.444, + 0.013, + 5.567, + 0.013, + 0, + 5.933, + 0.013 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleY", + "Segments": [ + 0, + 0, + 1, + 0.211, + 0, + 0.422, + 0, + 0.633, + 0, + 1, + 0.667, + 0, + 0.7, + 0, + 0.733, + 0, + 1, + 1.133, + 0, + 1.533, + 0, + 1.933, + 0, + 1, + 2.078, + 0, + 2.222, + 4, + 2.367, + 4, + 1, + 2.556, + 4, + 2.744, + -2.18, + 2.933, + -2.18, + 1, + 3.022, + -2.18, + 3.111, + 0, + 3.2, + 0, + 1, + 3.456, + 0, + 3.711, + -1, + 3.967, + -1, + 1, + 4.067, + -1, + 4.167, + -1.018, + 4.267, + 0, + 1, + 4.333, + 0.679, + 4.4, + 10, + 4.467, + 10, + 1, + 4.567, + 10, + 4.667, + -5, + 4.767, + -5, + 1, + 4.889, + -5, + 5.011, + 0, + 5.133, + 0, + 0, + 5.933, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleZ", + "Segments": [ + 0, + 0, + 1, + 0.233, + 0, + 0.467, + 0, + 0.7, + 0, + 1, + 0.733, + 0, + 0.767, + 0, + 0.8, + 0, + 1, + 1.278, + 0, + 1.756, + -4, + 2.233, + -4, + 1, + 2.544, + -4, + 2.856, + 8, + 3.167, + 8, + 1, + 3.4, + 8, + 3.633, + 8.008, + 3.867, + 7.985, + 1, + 4.178, + 7.954, + 4.489, + -3, + 4.8, + -3, + 0, + 5.933, + -3 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBreath", + "Segments": [ + 0, + 0, + 1, + 0.122, + 0, + 0.244, + 1, + 0.367, + 1, + 1, + 0.511, + 1, + 0.656, + 0, + 0.8, + 0, + 1, + 1.022, + 0, + 1.244, + 1, + 1.467, + 1, + 1, + 1.689, + 1, + 1.911, + 0, + 2.133, + 0, + 1, + 2.344, + 0, + 2.556, + 1, + 2.767, + 1, + 1, + 2.967, + 1, + 3.167, + 0, + 3.367, + 0, + 1, + 3.578, + 0, + 3.789, + 1, + 4, + 1, + 1, + 4.233, + 1, + 4.467, + 0, + 4.7, + 0, + 1, + 4.9, + 0, + 5.1, + 0, + 5.3, + 0, + 0, + 5.933, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamShoulder", + "Segments": [ + 0, + 0, + 1, + 0.456, + 0, + 0.911, + 0.4, + 1.367, + 0.4, + 1, + 1.889, + 0.4, + 2.411, + -1, + 2.933, + -1, + 1, + 3.244, + -1, + 3.556, + -1, + 3.867, + -1, + 0, + 5.933, + -1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamLeg", + "Segments": [ + 0, + 1, + 0, + 5.933, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmLA", + "Segments": [ + 0, + -8.7, + 1, + 0.289, + -8.7, + 0.578, + -8.7, + 0.867, + -8.7, + 1, + 1, + -8.7, + 1.133, + -10, + 1.267, + -10, + 1, + 1.578, + -10, + 1.889, + -10, + 2.2, + -10, + 1, + 2.444, + -10, + 2.689, + -6.9, + 2.933, + -6.9, + 1, + 3.244, + -6.9, + 3.556, + -6.9, + 3.867, + -6.9, + 1, + 3.989, + -6.9, + 4.111, + -8.3, + 4.233, + -8.3, + 1, + 4.344, + -8.3, + 4.456, + -3, + 4.567, + -3, + 1, + 4.689, + -3, + 4.811, + -4, + 4.933, + -4, + 1, + 5.1, + -4, + 5.267, + -3, + 5.433, + -3, + 0, + 5.933, + -3 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmRA", + "Segments": [ + 0, + -8.7, + 1, + 0.289, + -8.7, + 0.578, + -8.7, + 0.867, + -8.7, + 1, + 1, + -8.7, + 1.133, + -10, + 1.267, + -10, + 1, + 1.578, + -10, + 1.889, + -10, + 2.2, + -10, + 1, + 2.444, + -10, + 2.689, + -10, + 2.933, + -10, + 1, + 3.244, + -10, + 3.556, + -10, + 3.867, + -10, + 1, + 3.989, + -10, + 4.111, + -9.998, + 4.233, + -7.8, + 1, + 4.344, + -5.802, + 4.456, + 0.03, + 4.567, + 0.03, + 1, + 4.689, + 0.03, + 4.811, + -1, + 4.933, + -1, + 1, + 5.122, + -1, + 5.311, + -0.002, + 5.5, + -0.002, + 0, + 5.933, + -0.002 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandL", + "Segments": [ + 0, + 0, + 1, + 1.067, + 0, + 2.133, + 0, + 3.2, + 0, + 1, + 3.633, + 0, + 4.067, + 1, + 4.5, + 1, + 1, + 4.667, + 1, + 4.833, + -1, + 5, + -1, + 1, + 5.122, + -1, + 5.244, + 0.208, + 5.367, + 0.208, + 0, + 5.933, + 0.208 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandR", + "Segments": [ + 0, + 0, + 1, + 1.067, + 0, + 2.133, + 0, + 3.2, + 0, + 1, + 3.633, + 0, + 4.067, + 1, + 4.5, + 1, + 1, + 4.667, + 1, + 4.833, + -1, + 5, + -1, + 1, + 5.122, + -1, + 5.244, + 0.208, + 5.367, + 0.208, + 0, + 5.933, + 0.208 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHairAhoge", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.133, + 0, + 1.267, + 10, + 1.4, + 10, + 1, + 1.489, + 10, + 1.578, + 2.177, + 1.667, + 2.177, + 1, + 1.789, + 2.177, + 1.911, + 10, + 2.033, + 10, + 1, + 2.289, + 10, + 2.544, + -10, + 2.8, + -10, + 1, + 2.933, + -10, + 3.067, + 7.54, + 3.2, + 7.54, + 1, + 3.344, + 7.54, + 3.489, + 0, + 3.633, + 0, + 1, + 3.911, + 0, + 4.189, + 0, + 4.467, + 0, + 1, + 4.6, + 0, + 4.733, + 10, + 4.867, + 10, + 1, + 4.989, + 10, + 5.111, + -10, + 5.233, + -10, + 1, + 5.322, + -10, + 5.411, + 3.456, + 5.5, + 3.456, + 1, + 5.556, + 3.456, + 5.611, + 0, + 5.667, + 0, + 0, + 5.933, + 0 + ] + }, + { + "Target": "PartOpacity", + "Id": "PartArmA", + "Segments": [ + 0, + 1, + 0, + 5.93, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "PartArmB", + "Segments": [ + 0, + 0, + 0, + 5.93, + 0 + ] + } + ] +} \ No newline at end of file diff --git a/staticfiles/Live2DSample/Hiyori/motions/Hiyori_m03.motion3.json b/staticfiles/Live2DSample/Hiyori/motions/Hiyori_m03.motion3.json new file mode 100644 index 0000000000000000000000000000000000000000..83c5c397143916860e2b9c7fedbd9fc384762c0e --- /dev/null +++ b/staticfiles/Live2DSample/Hiyori/motions/Hiyori_m03.motion3.json @@ -0,0 +1,1331 @@ +{ + "Version": 3, + "Meta": { + "Duration": 4.2, + "Fps": 30.0, + "Loop": true, + "AreBeziersRestricted": false, + "CurveCount": 33, + "TotalSegmentCount": 169, + "TotalPointCount": 474, + "UserDataCount": 0, + "TotalUserDataSize": 0 + }, + "Curves": [ + { + "Target": "Parameter", + "Id": "ParamAngleX", + "Segments": [ + 0, + 0, + 1, + 0.056, + 0, + 0.111, + 0, + 0.167, + 0, + 1, + 0.389, + 0, + 0.611, + 0, + 0.833, + 0, + 1, + 0.933, + 0, + 1.033, + 0, + 1.133, + 0, + 1, + 1.311, + 0, + 1.489, + 0, + 1.667, + 0, + 1, + 1.778, + 0, + 1.889, + -0.268, + 2, + -1, + 1, + 2.089, + -1.585, + 2.178, + -2, + 2.267, + -2, + 0, + 4.2, + -2 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleY", + "Segments": [ + 0, + 0, + 1, + 0.056, + 0, + 0.111, + 0, + 0.167, + 0, + 1, + 0.3, + 0, + 0.433, + -18, + 0.567, + -18, + 1, + 0.656, + -18, + 0.744, + 8, + 0.833, + 8, + 1, + 0.933, + 8, + 1.033, + -8, + 1.133, + -8, + 1, + 1.311, + -8, + 1.489, + 10, + 1.667, + 10, + 1, + 1.778, + 10, + 1.889, + -21, + 2, + -21, + 1, + 2.089, + -21, + 2.178, + -3, + 2.267, + -3, + 0, + 4.2, + -3 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleZ", + "Segments": [ + 0, + 0, + 1, + 0.056, + 0, + 0.111, + 0, + 0.167, + 0, + 1, + 0.289, + 0, + 0.411, + -1, + 0.533, + -1, + 1, + 0.722, + -1, + 0.911, + 17, + 1.1, + 17, + 1, + 1.411, + 17, + 1.722, + -22, + 2.033, + -22, + 1, + 2.244, + -22, + 2.456, + 11, + 2.667, + 11, + 0, + 4.2, + 11 + ] + }, + { + "Target": "Parameter", + "Id": "ParamCheek", + "Segments": [ + 0, + 0, + 1, + 0.056, + 0, + 0.111, + 0, + 0.167, + 0, + 0, + 4.2, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeLOpen", + "Segments": [ + 0, + 1, + 1, + 0.056, + 1, + 0.111, + 1, + 0.167, + 1, + 1, + 0.2, + 1, + 0.233, + 1, + 0.267, + 1, + 1, + 0.322, + 1, + 0.378, + 0, + 0.433, + 0, + 1, + 0.478, + 0, + 0.522, + 0, + 0.567, + 0, + 1, + 0.644, + 0, + 0.722, + 1, + 0.8, + 1, + 1, + 1.056, + 1, + 1.311, + 0.988, + 1.567, + 0.988, + 1, + 1.789, + 0.988, + 2.011, + 1, + 2.233, + 1, + 1, + 2.267, + 1, + 2.3, + 1, + 2.333, + 1, + 1, + 2.367, + 1, + 2.4, + 0, + 2.433, + 0, + 1, + 2.478, + 0, + 2.522, + 0, + 2.567, + 0, + 1, + 2.622, + 0, + 2.678, + 1, + 2.733, + 1, + 0, + 4.2, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeLSmile", + "Segments": [ + 0, + 0, + 1, + 0.056, + 0, + 0.111, + 0, + 0.167, + 0, + 0, + 4.2, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeROpen", + "Segments": [ + 0, + 1, + 1, + 0.056, + 1, + 0.111, + 1, + 0.167, + 1, + 1, + 0.2, + 1, + 0.233, + 1, + 0.267, + 1, + 1, + 0.322, + 1, + 0.378, + 0, + 0.433, + 0, + 1, + 0.478, + 0, + 0.522, + 0, + 0.567, + 0, + 1, + 0.644, + 0, + 0.722, + 1, + 0.8, + 1, + 1, + 1.056, + 1, + 1.311, + 1, + 1.567, + 1, + 1, + 1.789, + 1, + 2.011, + 1, + 2.233, + 1, + 1, + 2.267, + 1, + 2.3, + 1, + 2.333, + 1, + 1, + 2.367, + 1, + 2.4, + 0, + 2.433, + 0, + 1, + 2.478, + 0, + 2.522, + 0, + 2.567, + 0, + 1, + 2.622, + 0, + 2.678, + 1, + 2.733, + 1, + 0, + 4.2, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeRSmile", + "Segments": [ + 0, + 0, + 1, + 0.056, + 0, + 0.111, + 0, + 0.167, + 0, + 0, + 4.2, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallX", + "Segments": [ + 0, + 0, + 1, + 0.056, + 0, + 0.111, + 0, + 0.167, + 0, + 1, + 0.256, + 0, + 0.344, + 0, + 0.433, + 0, + 1, + 0.478, + 0, + 0.522, + -1, + 0.567, + -1, + 1, + 0.8, + -1, + 1.033, + -1, + 1.267, + -1, + 1, + 1.422, + -1, + 1.578, + 0.583, + 1.733, + 0.583, + 1, + 1.967, + 0.583, + 2.2, + 0.583, + 2.433, + 0.583, + 1, + 2.478, + 0.583, + 2.522, + 0, + 2.567, + 0, + 0, + 4.2, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallY", + "Segments": [ + 0, + 0, + 1, + 0.056, + 0, + 0.111, + 0, + 0.167, + 0, + 1, + 0.256, + 0, + 0.344, + 0, + 0.433, + 0, + 1, + 0.478, + 0, + 0.522, + 1, + 0.567, + 1, + 1, + 0.8, + 1, + 1.033, + 1, + 1.267, + 1, + 1, + 1.422, + 1, + 1.578, + 0.75, + 1.733, + 0.75, + 1, + 1.967, + 0.75, + 2.2, + 0.75, + 2.433, + 0.75, + 1, + 2.478, + 0.75, + 2.522, + 0, + 2.567, + 0, + 0, + 4.2, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLY", + "Segments": [ + 0, + 0, + 1, + 0.056, + 0, + 0.111, + 0, + 0.167, + 0, + 0, + 4.2, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRY", + "Segments": [ + 0, + 0, + 1, + 0.056, + 0, + 0.111, + 0, + 0.167, + 0, + 0, + 4.2, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLX", + "Segments": [ + 0, + 0, + 1, + 0.056, + 0, + 0.111, + 0, + 0.167, + 0, + 0, + 4.2, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRX", + "Segments": [ + 0, + 0, + 1, + 0.056, + 0, + 0.111, + 0, + 0.167, + 0, + 0, + 4.2, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLAngle", + "Segments": [ + 0, + 0, + 1, + 0.056, + 0, + 0.111, + 0, + 0.167, + 0, + 0, + 4.2, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRAngle", + "Segments": [ + 0, + 0, + 1, + 0.056, + 0, + 0.111, + 0, + 0.167, + 0, + 0, + 4.2, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLForm", + "Segments": [ + 0, + 0, + 1, + 0.056, + 0, + 0.111, + 0, + 0.167, + 0, + 0, + 4.2, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRForm", + "Segments": [ + 0, + 0, + 1, + 0.056, + 0, + 0.111, + 0, + 0.167, + 0, + 0, + 4.2, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamMouthForm", + "Segments": [ + 0, + 1, + 1, + 0.056, + 1, + 0.111, + 1, + 0.167, + 1, + 0, + 4.2, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamMouthOpenY", + "Segments": [ + 0, + 0, + 1, + 0.056, + 0, + 0.111, + 0, + 0.167, + 0, + 0, + 4.2, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleX", + "Segments": [ + 0, + 0, + 1, + 0.056, + 0, + 0.111, + 0, + 0.167, + 0, + 0, + 4.2, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleY", + "Segments": [ + 0, + 0, + 1, + 0.056, + 0, + 0.111, + 0, + 0.167, + 0, + 1, + 0.244, + 0, + 0.322, + -4, + 0.4, + -4, + 1, + 0.478, + -4, + 0.556, + 10, + 0.633, + 10, + 1, + 0.8, + 10, + 0.967, + -0.386, + 1.133, + -0.386, + 1, + 1.244, + -0.386, + 1.356, + 10, + 1.467, + 10, + 1, + 1.6, + 10, + 1.733, + 0, + 1.867, + 0, + 1, + 2.044, + 0, + 2.222, + 10, + 2.4, + 10, + 1, + 2.444, + 10, + 2.489, + 10.395, + 2.533, + 9.649, + 1, + 2.7, + 6.854, + 2.867, + -3.526, + 3.033, + -3.526, + 1, + 3.267, + -3.526, + 3.5, + 6.807, + 3.733, + 6.807, + 1, + 3.811, + 6.807, + 3.889, + 6, + 3.967, + 6, + 0, + 4.2, + 6 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleZ", + "Segments": [ + 0, + 0, + 1, + 0.056, + 0, + 0.111, + 0, + 0.167, + 0, + 1, + 0.256, + 0, + 0.344, + -1, + 0.433, + -1, + 1, + 0.656, + -1, + 0.878, + 6, + 1.1, + 6, + 1, + 1.333, + 6, + 1.567, + -3, + 1.8, + -3, + 1, + 2.256, + -3, + 2.711, + 8, + 3.167, + 8, + 0, + 4.2, + 8 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBreath", + "Segments": [ + 0, + 0, + 1, + 0.189, + 0, + 0.378, + 1, + 0.567, + 1, + 1, + 0.733, + 1, + 0.9, + 0, + 1.067, + 0, + 1, + 1.3, + 0, + 1.533, + 1, + 1.767, + 1, + 1, + 2.033, + 1, + 2.3, + 0, + 2.567, + 0, + 1, + 2.778, + 0, + 2.989, + 1, + 3.2, + 1, + 1, + 3.4, + 1, + 3.6, + 0, + 3.8, + 0, + 0, + 4.2, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamShoulder", + "Segments": [ + 0, + 0, + 0, + 4.2, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamLeg", + "Segments": [ + 0, + 1, + 1, + 0.8, + 1, + 1.6, + 1, + 2.4, + 1, + 1, + 2.522, + 1, + 2.644, + 0, + 2.767, + 0, + 1, + 3.011, + 0, + 3.256, + 0.062, + 3.5, + 0.062, + 0, + 4.2, + 0.062 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmLA", + "Segments": [ + 0, + -10, + 1, + 0.256, + -10, + 0.511, + 0, + 0.767, + 0, + 1, + 0.889, + 0, + 1.011, + -6.5, + 1.133, + -6.5, + 1, + 1.289, + -6.5, + 1.444, + 0, + 1.6, + 0, + 1, + 1.756, + 0, + 1.911, + -8, + 2.067, + -8, + 1, + 2.344, + -8, + 2.622, + -1.4, + 2.9, + -1.4, + 1, + 2.978, + -1.4, + 3.056, + -1.775, + 3.133, + -2.3, + 1, + 3.211, + -2.825, + 3.289, + -3, + 3.367, + -3, + 1, + 3.433, + -3, + 3.5, + -2.5, + 3.567, + -2.5, + 1, + 3.733, + -2.5, + 3.9, + -3, + 4.067, + -3, + 0, + 4.2, + -3 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmRA", + "Segments": [ + 0, + -10, + 1, + 0.256, + -10, + 0.511, + 0, + 0.767, + 0, + 1, + 0.867, + 0, + 0.967, + -5.2, + 1.067, + -5.2, + 1, + 1.244, + -5.2, + 1.422, + 0, + 1.6, + 0, + 1, + 1.778, + 0, + 1.956, + -6.3, + 2.133, + -6.3, + 1, + 2.422, + -6.3, + 2.711, + 0.029, + 3, + 0.029, + 1, + 3.144, + 0.029, + 3.289, + 0, + 3.433, + 0, + 1, + 3.5, + 0, + 3.567, + 0, + 3.633, + 0, + 1, + 3.722, + 0, + 3.811, + -0.029, + 3.9, + -0.029, + 0, + 4.2, + -0.029 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandL", + "Segments": [ + 0, + 0, + 1, + 0.056, + 0, + 0.111, + 0, + 0.167, + 0, + 1, + 0.256, + 0, + 0.344, + 1, + 0.433, + 1, + 1, + 0.589, + 1, + 0.744, + -1, + 0.9, + -1, + 1, + 1.111, + -1, + 1.322, + 1, + 1.533, + 1, + 1, + 1.733, + 1, + 1.933, + -1, + 2.133, + -1, + 1, + 2.411, + -1, + 2.689, + 1, + 2.967, + 1, + 1, + 3.111, + 1, + 3.256, + -1, + 3.4, + -1, + 1, + 3.5, + -1, + 3.6, + 0.8, + 3.7, + 0.8, + 0, + 4.2, + 0.8 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandR", + "Segments": [ + 0, + 0, + 1, + 0.056, + 0, + 0.111, + 0, + 0.167, + 0, + 1, + 0.256, + 0, + 0.344, + 1, + 0.433, + 1, + 1, + 0.589, + 1, + 0.744, + -1, + 0.9, + -1, + 1, + 1.111, + -1, + 1.322, + 1, + 1.533, + 1, + 1, + 1.733, + 1, + 1.933, + -1, + 2.133, + -1, + 1, + 2.411, + -1, + 2.689, + 1, + 2.967, + 1, + 1, + 3.111, + 1, + 3.256, + -0.6, + 3.4, + -0.6, + 1, + 3.5, + -0.6, + 3.6, + 0.8, + 3.7, + 0.8, + 0, + 4.2, + 0.8 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHairAhoge", + "Segments": [ + 0, + 0, + 1, + 0.122, + 0, + 0.244, + -3.127, + 0.367, + -4, + 1, + 0.511, + -5.032, + 0.656, + -5, + 0.8, + -5, + 1, + 0.9, + -5, + 1, + 10, + 1.1, + 10, + 1, + 1.267, + 10, + 1.433, + 10.072, + 1.6, + 8, + 1, + 1.722, + 6.481, + 1.844, + -10, + 1.967, + -10, + 1, + 2.122, + -10, + 2.278, + -10.146, + 2.433, + -9.434, + 1, + 2.589, + -8.722, + 2.744, + 10, + 2.9, + 10, + 1, + 3.011, + 10, + 3.122, + -5.646, + 3.233, + -5.646, + 1, + 3.367, + -5.646, + 3.5, + 3.825, + 3.633, + 3.825, + 1, + 3.767, + 3.825, + 3.9, + 0, + 4.033, + 0, + 0, + 4.2, + 0 + ] + }, + { + "Target": "PartOpacity", + "Id": "PartArmA", + "Segments": [ + 0, + 1, + 0, + 4.2, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "PartArmB", + "Segments": [ + 0, + 0, + 0, + 4.2, + 0 + ] + } + ] +} \ No newline at end of file diff --git a/staticfiles/Live2DSample/Hiyori/motions/Hiyori_m04.motion3.json b/staticfiles/Live2DSample/Hiyori/motions/Hiyori_m04.motion3.json new file mode 100644 index 0000000000000000000000000000000000000000..aa8aa811b4534f7570b6429ee3f101eba07af38a --- /dev/null +++ b/staticfiles/Live2DSample/Hiyori/motions/Hiyori_m04.motion3.json @@ -0,0 +1,882 @@ +{ + "Version": 3, + "Meta": { + "Duration": 4.43, + "Fps": 30.0, + "Loop": true, + "AreBeziersRestricted": false, + "CurveCount": 31, + "TotalSegmentCount": 106, + "TotalPointCount": 287, + "UserDataCount": 0, + "TotalUserDataSize": 0 + }, + "Curves": [ + { + "Target": "Parameter", + "Id": "ParamAngleX", + "Segments": [ + 0, + 1, + 1, + 0.211, + 1, + 0.422, + 0, + 0.633, + 0, + 1, + 0.911, + 0, + 1.189, + 5, + 1.467, + 5, + 1, + 1.689, + 5, + 1.911, + -16, + 2.133, + -16, + 1, + 2.356, + -16, + 2.578, + 13.871, + 2.8, + 13.871, + 1, + 2.956, + 13.871, + 3.111, + 0, + 3.267, + 0, + 0, + 4.433, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleY", + "Segments": [ + 0, + 0, + 1, + 0.211, + 0, + 0.422, + 0, + 0.633, + 0, + 1, + 0.911, + 0, + 1.189, + -25, + 1.467, + -25, + 1, + 1.689, + -25, + 1.911, + -15.225, + 2.133, + -11, + 1, + 2.356, + -6.775, + 2.578, + -5.127, + 2.8, + -2.5, + 1, + 2.956, + -0.661, + 3.111, + 0, + 3.267, + 0, + 0, + 4.433, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleZ", + "Segments": [ + 0, + 0, + 1, + 0.222, + 0, + 0.444, + 0, + 0.667, + 0, + 1, + 0.756, + 0, + 0.844, + -4, + 0.933, + -4, + 1, + 1.122, + -4, + 1.311, + 18, + 1.5, + 18, + 1, + 1.722, + 18, + 1.944, + -14, + 2.167, + -14, + 1, + 2.567, + -14, + 2.967, + -14, + 3.367, + -14, + 1, + 3.511, + -14, + 3.656, + -12, + 3.8, + -12, + 0, + 4.433, + -12 + ] + }, + { + "Target": "Parameter", + "Id": "ParamCheek", + "Segments": [ + 0, + 1, + 0, + 4.433, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeLOpen", + "Segments": [ + 0, + 1.2, + 1, + 0.389, + 1.2, + 0.778, + 1.148, + 1.167, + 1, + 1, + 1.211, + 0.983, + 1.256, + 0, + 1.3, + 0, + 1, + 1.322, + 0, + 1.344, + 0, + 1.367, + 0, + 1, + 1.422, + 0, + 1.478, + 1, + 1.533, + 1, + 1, + 1.944, + 1, + 2.356, + 1, + 2.767, + 1, + 1, + 2.811, + 1, + 2.856, + 0, + 2.9, + 0, + 1, + 2.922, + 0, + 2.944, + 0, + 2.967, + 0, + 1, + 3.022, + 0, + 3.078, + 1, + 3.133, + 1, + 0, + 4.433, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeLSmile", + "Segments": [ + 0, + 0, + 0, + 4.433, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeROpen", + "Segments": [ + 0, + 1.2, + 1, + 0.389, + 1.2, + 0.778, + 1.148, + 1.167, + 1, + 1, + 1.211, + 0.983, + 1.256, + 0, + 1.3, + 0, + 1, + 1.322, + 0, + 1.344, + 0, + 1.367, + 0, + 1, + 1.422, + 0, + 1.478, + 1, + 1.533, + 1, + 1, + 1.944, + 1, + 2.356, + 1, + 2.767, + 1, + 1, + 2.811, + 1, + 2.856, + 0, + 2.9, + 0, + 1, + 2.922, + 0, + 2.944, + 0, + 2.967, + 0, + 1, + 3.022, + 0, + 3.078, + 1, + 3.133, + 1, + 0, + 4.433, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeRSmile", + "Segments": [ + 0, + 0, + 0, + 4.433, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallX", + "Segments": [ + 0, + 0, + 1, + 0.211, + 0, + 0.422, + 0, + 0.633, + 0, + 1, + 0.911, + 0, + 1.189, + -0.44, + 1.467, + -0.44, + 1, + 1.689, + -0.44, + 1.911, + 0.79, + 2.133, + 0.79, + 1, + 2.511, + 0.79, + 2.889, + 0, + 3.267, + 0, + 0, + 4.433, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallY", + "Segments": [ + 0, + 0, + 1, + 0.211, + 0, + 0.422, + 0, + 0.633, + 0, + 1, + 0.911, + 0, + 1.189, + -1, + 1.467, + -1, + 1, + 1.689, + -1, + 1.911, + -1, + 2.133, + -1, + 1, + 2.511, + -1, + 2.889, + 0, + 3.267, + 0, + 0, + 4.433, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLY", + "Segments": [ + 0, + 1, + 1, + 0.544, + 1, + 1.089, + 1, + 1.633, + 1, + 1, + 1.856, + 1, + 2.078, + 0, + 2.3, + 0, + 1, + 2.5, + 0, + 2.7, + 1, + 2.9, + 1, + 0, + 4.433, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRY", + "Segments": [ + 0, + 1, + 1, + 0.544, + 1, + 1.089, + 1, + 1.633, + 1, + 1, + 1.856, + 1, + 2.078, + 0, + 2.3, + 0, + 1, + 2.5, + 0, + 2.7, + 1, + 2.9, + 1, + 0, + 4.433, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLX", + "Segments": [ + 0, + 0, + 0, + 4.433, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRX", + "Segments": [ + 0, + 0, + 0, + 4.433, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLAngle", + "Segments": [ + 0, + 0, + 0, + 4.433, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRAngle", + "Segments": [ + 0, + 0, + 0, + 4.433, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLForm", + "Segments": [ + 0, + -1, + 0, + 4.433, + -1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRForm", + "Segments": [ + 0, + -1, + 0, + 4.433, + -1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamMouthForm", + "Segments": [ + 0, + -2, + 0, + 4.433, + -2 + ] + }, + { + "Target": "Parameter", + "Id": "ParamMouthOpenY", + "Segments": [ + 0, + 0, + 0, + 4.433, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleX", + "Segments": [ + 0, + 0, + 1, + 0.244, + 0, + 0.489, + 0, + 0.733, + 0, + 1, + 0.933, + 0, + 1.133, + -7, + 1.333, + -7, + 1, + 1.644, + -7, + 1.956, + 0, + 2.267, + 0, + 0, + 4.433, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleY", + "Segments": [ + 0, + 0, + 1, + 0.244, + 0, + 0.489, + 0, + 0.733, + 0, + 0, + 4.433, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleZ", + "Segments": [ + 0, + 2, + 1, + 0.233, + 2, + 0.467, + 0, + 0.7, + 0, + 1, + 0.733, + 0, + 0.767, + 0, + 0.8, + 0, + 1, + 1, + 0, + 1.2, + -4, + 1.4, + -4, + 1, + 1.711, + -4, + 2.022, + 5, + 2.333, + 5, + 1, + 2.567, + 5, + 2.8, + 3.64, + 3.033, + 0, + 1, + 3.133, + -1.56, + 3.233, + -3, + 3.333, + -3, + 1, + 3.467, + -3, + 3.6, + -2, + 3.733, + -2, + 0, + 4.433, + -2 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBreath", + "Segments": [ + 0, + 0, + 1, + 0.189, + 0, + 0.378, + 1, + 0.567, + 1, + 1, + 0.711, + 1, + 0.856, + 0, + 1, + 0, + 1, + 1.222, + 0, + 1.444, + 1, + 1.667, + 1, + 1, + 1.889, + 1, + 2.111, + 0, + 2.333, + 0, + 1, + 2.544, + 0, + 2.756, + 1, + 2.967, + 1, + 1, + 3.167, + 1, + 3.367, + 0, + 3.567, + 0, + 0, + 4.433, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamShoulder", + "Segments": [ + 0, + 0.1, + 1, + 0.467, + 0.1, + 0.933, + 1, + 1.4, + 1, + 1, + 1.844, + 1, + 2.289, + 1, + 2.733, + 1, + 1, + 2.967, + 1, + 3.2, + -1, + 3.433, + -1, + 0, + 4.433, + -1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamLeg", + "Segments": [ + 0, + 1, + 0, + 4.433, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmLA", + "Segments": [ + 0, + -10, + 0, + 4.433, + -10 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmRA", + "Segments": [ + 0, + -10, + 0, + 4.433, + -10 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHairAhoge", + "Segments": [ + 0, + 0, + 1, + 0.3, + 0, + 0.6, + 0, + 0.9, + -0.012, + 1, + 1.067, + -0.019, + 1.233, + -6.827, + 1.4, + -6.827, + 1, + 1.511, + -6.827, + 1.622, + 7.958, + 1.733, + 7.958, + 1, + 1.944, + 7.958, + 2.156, + -7.565, + 2.367, + -7.565, + 1, + 2.5, + -7.565, + 2.633, + 9.434, + 2.767, + 9.434, + 1, + 2.978, + 9.434, + 3.189, + -8.871, + 3.4, + -8.871, + 1, + 3.5, + -8.871, + 3.6, + 7.588, + 3.7, + 7.588, + 1, + 3.789, + 7.588, + 3.878, + -3.904, + 3.967, + -3.904, + 1, + 4.011, + -3.904, + 4.056, + -0.032, + 4.1, + -0.032, + 0, + 4.433, + -0.032 + ] + }, + { + "Target": "PartOpacity", + "Id": "PartArmA", + "Segments": [ + 0, + 1, + 0, + 4.43, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "PartArmB", + "Segments": [ + 0, + 0, + 0, + 4.43, + 0 + ] + } + ] +} \ No newline at end of file diff --git a/staticfiles/Live2DSample/Hiyori/motions/Hiyori_m05.motion3.json b/staticfiles/Live2DSample/Hiyori/motions/Hiyori_m05.motion3.json new file mode 100644 index 0000000000000000000000000000000000000000..509924b71a6fddb142fe578a7adc5933e62e7f0e --- /dev/null +++ b/staticfiles/Live2DSample/Hiyori/motions/Hiyori_m05.motion3.json @@ -0,0 +1,1670 @@ +{ + "Version": 3, + "Meta": { + "Duration": 8.57, + "Fps": 30.0, + "Loop": true, + "AreBeziersRestricted": false, + "CurveCount": 32, + "TotalSegmentCount": 218, + "TotalPointCount": 622, + "UserDataCount": 0, + "TotalUserDataSize": 0 + }, + "Curves": [ + { + "Target": "Parameter", + "Id": "ParamAngleX", + "Segments": [ + 0, + 0, + 1, + 0.189, + 0, + 0.378, + 1, + 0.567, + 1, + 1, + 1.122, + 1, + 1.678, + 1, + 2.233, + 1, + 1, + 2.533, + 1, + 2.833, + -30, + 3.133, + -30, + 1, + 4.067, + -30, + 5, + -30, + 5.933, + -30, + 1, + 6.322, + -30, + 6.711, + 0, + 7.1, + 0, + 0, + 8.567, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleY", + "Segments": [ + 0, + 0, + 1, + 0.189, + 0, + 0.378, + 18, + 0.567, + 18, + 1, + 0.856, + 18, + 1.144, + -9.95, + 1.433, + -9.95, + 1, + 1.522, + -9.95, + 1.611, + -1.589, + 1.7, + -1.589, + 1, + 1.911, + -1.589, + 2.122, + -8.047, + 2.333, + -8.047, + 1, + 2.6, + -8.047, + 2.867, + 30, + 3.133, + 30, + 1, + 3.478, + 30, + 3.822, + 29.529, + 4.167, + 27.847, + 1, + 4.311, + 27.142, + 4.456, + 25.42, + 4.6, + 24.243, + 1, + 4.922, + 21.616, + 5.244, + 20.338, + 5.567, + 20.338, + 1, + 5.789, + 20.338, + 6.011, + 27.397, + 6.233, + 27.397, + 1, + 6.522, + 27.397, + 6.811, + 0, + 7.1, + 0, + 0, + 8.567, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleZ", + "Segments": [ + 0, + 0, + 1, + 0.189, + 0, + 0.378, + 0, + 0.567, + 0, + 1, + 0.8, + 0, + 1.033, + 25, + 1.267, + 25, + 1, + 1.4, + 25, + 1.533, + 25, + 1.667, + 25, + 1, + 1.878, + 25, + 2.089, + 25, + 2.3, + 25, + 1, + 2.578, + 25, + 2.856, + -30, + 3.133, + -30, + 1, + 4, + -30, + 4.867, + -30, + 5.733, + -30, + 1, + 5.8, + -30, + 5.867, + -30, + 5.933, + -30, + 1, + 6.322, + -30, + 6.711, + 0, + 7.1, + 0, + 0, + 8.567, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamCheek", + "Segments": [ + 0, + 0, + 1, + 0.2, + 0, + 0.4, + 0, + 0.6, + 0, + 1, + 2.844, + 0, + 5.089, + 0, + 7.333, + 0, + 0, + 8.567, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeLOpen", + "Segments": [ + 0, + 1, + 1, + 0.278, + 1, + 0.556, + 1, + 0.833, + 1, + 1, + 0.867, + 1, + 0.9, + 0, + 0.933, + 0, + 1, + 1.222, + 0, + 1.511, + 0, + 1.8, + 0, + 1, + 1.889, + 0, + 1.978, + 1, + 2.067, + 1, + 1, + 2.322, + 1, + 2.578, + 1, + 2.833, + 1, + 1, + 2.889, + 1, + 2.944, + 0, + 3, + 0, + 1, + 3.022, + 0, + 3.044, + 0, + 3.067, + 0, + 1, + 3.122, + 0, + 3.178, + 1, + 3.233, + 1, + 1, + 3.5, + 1, + 3.767, + 1, + 4.033, + 1, + 1, + 4.089, + 1, + 4.144, + 0, + 4.2, + 0, + 1, + 4.222, + 0, + 4.244, + 0, + 4.267, + 0, + 1, + 4.322, + 0, + 4.378, + 1, + 4.433, + 1, + 1, + 5.133, + 1, + 5.833, + 1, + 6.533, + 1, + 1, + 6.589, + 1, + 6.644, + 0, + 6.7, + 0, + 1, + 6.722, + 0, + 6.744, + 0, + 6.767, + 0, + 1, + 6.822, + 0, + 6.878, + 1, + 6.933, + 1, + 1, + 7.067, + 1, + 7.2, + 1, + 7.333, + 1, + 0, + 8.567, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeLSmile", + "Segments": [ + 0, + 0, + 1, + 0.278, + 0, + 0.556, + 0.812, + 0.833, + 0.812, + 0, + 8.567, + 0.812 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeROpen", + "Segments": [ + 0, + 1, + 1, + 0.278, + 1, + 0.556, + 1, + 0.833, + 1, + 1, + 0.867, + 1, + 0.9, + 0, + 0.933, + 0, + 1, + 1.222, + 0, + 1.511, + 0, + 1.8, + 0, + 1, + 1.889, + 0, + 1.978, + 1, + 2.067, + 1, + 1, + 2.322, + 1, + 2.578, + 1, + 2.833, + 1, + 1, + 2.889, + 1, + 2.944, + 0, + 3, + 0, + 1, + 3.022, + 0, + 3.044, + 0, + 3.067, + 0, + 1, + 3.122, + 0, + 3.178, + 1, + 3.233, + 1, + 1, + 3.5, + 1, + 3.767, + 1, + 4.033, + 1, + 1, + 4.089, + 1, + 4.144, + 0, + 4.2, + 0, + 1, + 4.222, + 0, + 4.244, + 0, + 4.267, + 0, + 1, + 4.322, + 0, + 4.378, + 1, + 4.433, + 1, + 1, + 5.133, + 1, + 5.833, + 1, + 6.533, + 1, + 1, + 6.589, + 1, + 6.644, + 0, + 6.7, + 0, + 1, + 6.722, + 0, + 6.744, + 0, + 6.767, + 0, + 1, + 6.822, + 0, + 6.878, + 1, + 6.933, + 1, + 1, + 7.067, + 1, + 7.2, + 1, + 7.333, + 1, + 0, + 8.567, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeRSmile", + "Segments": [ + 0, + 0, + 1, + 0.278, + 0, + 0.556, + 0.812, + 0.833, + 0.812, + 1, + 1.967, + 0.812, + 3.1, + 0.8, + 4.233, + 0.8, + 0, + 8.567, + 0.8 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallX", + "Segments": [ + 0, + 0, + 1, + 0.2, + 0, + 0.4, + -0.065, + 0.6, + -0.14, + 1, + 0.811, + -0.219, + 1.022, + -0.24, + 1.233, + -0.24, + 1, + 1.367, + -0.24, + 1.5, + -0.24, + 1.633, + -0.24, + 1, + 1.844, + -0.24, + 2.056, + -0.24, + 2.267, + -0.24, + 1, + 2.556, + -0.24, + 2.844, + 0.661, + 3.133, + 0.68, + 1, + 3.5, + 0.704, + 3.867, + 0.7, + 4.233, + 0.7, + 1, + 4.5, + 0.7, + 4.767, + -0.75, + 5.033, + -0.75, + 1, + 5.589, + -0.75, + 6.144, + 0.68, + 6.7, + 0.68, + 1, + 6.789, + 0.68, + 6.878, + 0, + 6.967, + 0, + 0, + 8.567, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallY", + "Segments": [ + 0, + 0, + 1, + 0.2, + 0, + 0.4, + -0.38, + 0.6, + -0.38, + 1, + 0.811, + -0.38, + 1.022, + 0.21, + 1.233, + 0.21, + 1, + 1.367, + 0.21, + 1.5, + 0.21, + 1.633, + 0.21, + 1, + 1.844, + 0.21, + 2.056, + 0.21, + 2.267, + 0.21, + 1, + 2.556, + 0.21, + 2.844, + -0.33, + 3.133, + -0.33, + 1, + 3.767, + -0.33, + 4.4, + 0.625, + 5.033, + 0.625, + 1, + 5.589, + 0.625, + 6.144, + -0.33, + 6.7, + -0.33, + 1, + 6.789, + -0.33, + 6.878, + 0, + 6.967, + 0, + 0, + 8.567, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLY", + "Segments": [ + 0, + 0, + 1, + 0.2, + 0, + 0.4, + 0, + 0.6, + 0, + 1, + 0.656, + 0, + 0.711, + 0, + 0.767, + 0, + 1, + 0.822, + 0, + 0.878, + 0.667, + 0.933, + 0.667, + 1, + 1.211, + 0.667, + 1.489, + 0.667, + 1.767, + 0.667, + 1, + 2.011, + 0.667, + 2.256, + 0, + 2.5, + 0, + 0, + 8.567, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRY", + "Segments": [ + 0, + 0, + 1, + 0.2, + 0, + 0.4, + 0, + 0.6, + 0, + 1, + 0.656, + 0, + 0.711, + 0, + 0.767, + 0, + 1, + 0.822, + 0, + 0.878, + 0.646, + 0.933, + 0.646, + 1, + 1.211, + 0.646, + 1.489, + 0.646, + 1.767, + 0.646, + 1, + 2.011, + 0.646, + 2.256, + 0, + 2.5, + 0, + 0, + 8.567, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLX", + "Segments": [ + 0, + 0, + 1, + 0.2, + 0, + 0.4, + 0, + 0.6, + 0, + 0, + 8.567, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRX", + "Segments": [ + 0, + 0, + 1, + 0.2, + 0, + 0.4, + 0, + 0.6, + 0, + 0, + 8.567, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLAngle", + "Segments": [ + 0, + 0, + 1, + 0.2, + 0, + 0.4, + 0, + 0.6, + 0, + 0, + 8.567, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRAngle", + "Segments": [ + 0, + 0, + 1, + 0.2, + 0, + 0.4, + 0, + 0.6, + 0, + 0, + 8.567, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLForm", + "Segments": [ + 0, + 0, + 1, + 0.2, + 0, + 0.4, + 0, + 0.6, + 0, + 0, + 8.567, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRForm", + "Segments": [ + 0, + 0, + 1, + 0.2, + 0, + 0.4, + 0, + 0.6, + 0, + 0, + 8.567, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamMouthForm", + "Segments": [ + 0, + 1, + 1, + 0.2, + 1, + 0.4, + 1, + 0.6, + 1, + 1, + 0.889, + 1, + 1.178, + 1, + 1.467, + 1, + 1, + 1.611, + 1, + 1.756, + 1, + 1.9, + 1, + 1, + 2.189, + 1, + 2.478, + 0, + 2.767, + 0, + 1, + 3.989, + 0, + 5.211, + 0, + 6.433, + 0, + 1, + 6.533, + 0, + 6.633, + 1, + 6.733, + 1, + 0, + 8.567, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamMouthOpenY", + "Segments": [ + 0, + 0, + 1, + 0.2, + 0, + 0.4, + 0, + 0.6, + 0, + 1, + 0.667, + 0, + 0.733, + 0, + 0.8, + 0, + 1, + 0.844, + 0, + 0.889, + 1, + 0.933, + 1, + 1, + 1.111, + 1, + 1.289, + 1, + 1.467, + 1, + 1, + 1.611, + 1, + 1.756, + 0, + 1.9, + 0, + 1, + 2.056, + 0, + 2.211, + 0, + 2.367, + 0, + 1, + 2.5, + 0, + 2.633, + 1, + 2.767, + 1, + 1, + 3.989, + 1, + 5.211, + 1, + 6.433, + 1, + 1, + 6.533, + 1, + 6.633, + 0, + 6.733, + 0, + 0, + 8.567, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleX", + "Segments": [ + 0, + 0, + 1, + 0.133, + 0, + 0.267, + 0, + 0.4, + 0, + 1, + 0.5, + 0, + 0.6, + -1.353, + 0.7, + -1.353, + 1, + 0.933, + -1.353, + 1.167, + 10, + 1.4, + 10, + 1, + 1.544, + 10, + 1.689, + 9.799, + 1.833, + 9.799, + 1, + 2.089, + 9.799, + 2.344, + 9.875, + 2.6, + 9.875, + 1, + 2.944, + 9.875, + 3.289, + -9.599, + 3.633, + -9.599, + 1, + 3.844, + -9.599, + 4.056, + -2.657, + 4.267, + -2.657, + 1, + 4.467, + -2.657, + 4.667, + -9.098, + 4.867, + -9.098, + 1, + 5.144, + -9.098, + 5.422, + -4.812, + 5.7, + -4.812, + 1, + 5.967, + -4.812, + 6.233, + -10, + 6.5, + -10, + 1, + 6.778, + -10, + 7.056, + -1.43, + 7.333, + 0, + 1, + 7.533, + 1.03, + 7.733, + 0.752, + 7.933, + 0.752, + 1, + 8.011, + 0.752, + 8.089, + -0.326, + 8.167, + -0.326, + 0, + 8.567, + -0.326 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleY", + "Segments": [ + 0, + 0, + 1, + 0.2, + 0, + 0.4, + 5.421, + 0.6, + 5.421, + 1, + 0.867, + 5.421, + 1.133, + -3.737, + 1.4, + -3.737, + 1, + 1.511, + -3.737, + 1.622, + 0.246, + 1.733, + 0.246, + 1, + 1.933, + 0.246, + 2.133, + 0, + 2.333, + 0, + 1, + 2.389, + 0, + 2.444, + 2.993, + 2.5, + 4, + 1, + 2.711, + 7.827, + 2.922, + 9, + 3.133, + 9, + 1, + 4.256, + 9, + 5.378, + 9, + 6.5, + 9, + 1, + 6.778, + 9, + 7.056, + -5, + 7.333, + -5, + 1, + 7.5, + -5, + 7.667, + 2, + 7.833, + 2, + 1, + 7.9, + 2, + 7.967, + 0, + 8.033, + 0, + 0, + 8.567, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleZ", + "Segments": [ + 0, + 0, + 1, + 0.2, + 0, + 0.4, + 2, + 0.6, + 2, + 1, + 0.867, + 2, + 1.133, + -10, + 1.4, + -10, + 1, + 1.533, + -10, + 1.667, + -10, + 1.8, + -10, + 1, + 2, + -10, + 2.2, + -10.197, + 2.4, + -6.566, + 1, + 2.6, + -2.936, + 2.8, + 10, + 3, + 10, + 1, + 3.433, + 10, + 3.867, + -4.436, + 4.3, + -4.436, + 1, + 4.578, + -4.436, + 4.856, + 10, + 5.133, + 10, + 1, + 5.433, + 10, + 5.733, + 0.695, + 6.033, + -4.261, + 1, + 6.211, + -7.197, + 6.389, + -6.792, + 6.567, + -6.792, + 1, + 6.644, + -6.792, + 6.722, + -6.224, + 6.8, + -4.11, + 1, + 6.989, + 1.023, + 7.178, + 4.236, + 7.367, + 4.236, + 1, + 7.689, + 4.236, + 8.011, + 0.025, + 8.333, + 0.025, + 0, + 8.567, + 0.025 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBreath", + "Segments": [ + 0, + 0, + 1, + 0.122, + 0, + 0.244, + 1, + 0.367, + 1, + 1, + 0.511, + 1, + 0.656, + 0, + 0.8, + 0, + 1, + 1.022, + 0, + 1.244, + 1, + 1.467, + 1, + 1, + 1.689, + 1, + 1.911, + 0, + 2.133, + 0, + 1, + 2.344, + 0, + 2.556, + 1, + 2.767, + 1, + 1, + 2.967, + 1, + 3.167, + 0, + 3.367, + 0, + 1, + 3.578, + 0, + 3.789, + 1, + 4, + 1, + 1, + 4.233, + 1, + 4.467, + 0, + 4.7, + 0, + 1, + 4.9, + 0, + 5.1, + 0, + 5.3, + 0, + 1, + 5.522, + 0, + 5.744, + 1, + 5.967, + 1, + 1, + 6.244, + 1, + 6.522, + 0, + 6.8, + 0, + 1, + 7.022, + 0, + 7.244, + 1, + 7.467, + 1, + 1, + 7.689, + 1, + 7.911, + 0, + 8.133, + 0, + 0, + 8.567, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamShoulder", + "Segments": [ + 0, + 0, + 0, + 8.567, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamLeg", + "Segments": [ + 0, + 1, + 0, + 8.567, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmLA", + "Segments": [ + 0, + -10, + 1, + 0.2, + -10, + 0.4, + -10, + 0.6, + -10, + 1, + 0.833, + -10, + 1.067, + -7.083, + 1.3, + -7.083, + 1, + 1.433, + -7.083, + 1.567, + -7.083, + 1.7, + -7.083, + 1, + 1.911, + -7.083, + 2.122, + -10, + 2.333, + -10, + 1, + 3.467, + -10, + 4.6, + -10, + 5.733, + -10, + 1, + 5.8, + -10, + 5.867, + -10, + 5.933, + -10, + 1, + 6.4, + -10, + 6.867, + -10, + 7.333, + -10, + 0, + 8.567, + -10 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmRA", + "Segments": [ + 0, + -10, + 1, + 0.2, + -10, + 0.4, + -10, + 0.6, + -10, + 1, + 0.833, + -10, + 1.067, + 2.917, + 1.3, + 2.917, + 1, + 1.478, + 2.917, + 1.656, + 3.029, + 1.833, + 2.6, + 1, + 2.033, + 2.117, + 2.233, + -10, + 2.433, + -10, + 1, + 3.533, + -10, + 4.633, + -10, + 5.733, + -10, + 1, + 5.8, + -10, + 5.867, + -10, + 5.933, + -10, + 1, + 6.133, + -10, + 6.333, + -10, + 6.533, + -10, + 1, + 6.8, + -10, + 7.067, + -10, + 7.333, + -10, + 0, + 8.567, + -10 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmRB", + "Segments": [ + 0, + 0.02, + 0, + 8.567, + 0.02 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHairAhoge", + "Segments": [ + 0, + 0, + 1, + 0.178, + 0, + 0.356, + -10, + 0.533, + -10, + 1, + 0.833, + -10, + 1.133, + 10, + 1.433, + 10, + 1, + 1.567, + 10, + 1.7, + 0, + 1.833, + 0, + 1, + 2.311, + 0, + 2.789, + 10, + 3.267, + 10, + 1, + 3.344, + 10, + 3.422, + 10, + 3.5, + 10, + 1, + 3.633, + 10, + 3.767, + -10, + 3.9, + -10, + 1, + 4.267, + -10, + 4.633, + 7.69, + 5, + 9.705, + 1, + 5.122, + 10.376, + 5.244, + 10, + 5.367, + 10, + 1, + 5.756, + 10, + 6.144, + -9.975, + 6.533, + -9.975, + 1, + 6.622, + -9.975, + 6.711, + -10.207, + 6.8, + -9.779, + 1, + 7.033, + -8.654, + 7.267, + 10, + 7.5, + 10, + 1, + 7.7, + 10, + 7.9, + -6.753, + 8.1, + -6.753, + 1, + 8.2, + -6.753, + 8.3, + 0, + 8.4, + 0, + 0, + 8.567, + 0 + ] + }, + { + "Target": "PartOpacity", + "Id": "PartArmA", + "Segments": [ + 0, + 1, + 0, + 8.57, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "PartArmB", + "Segments": [ + 0, + 0, + 0, + 8.57, + 0 + ] + } + ] +} \ No newline at end of file diff --git a/staticfiles/Live2DSample/Hiyori/motions/Hiyori_m06.motion3.json b/staticfiles/Live2DSample/Hiyori/motions/Hiyori_m06.motion3.json new file mode 100644 index 0000000000000000000000000000000000000000..0bfe6003b85de8d4d0fa6e5ad198aa61f84b8134 --- /dev/null +++ b/staticfiles/Live2DSample/Hiyori/motions/Hiyori_m06.motion3.json @@ -0,0 +1,1990 @@ +{ + "Version": 3, + "Meta": { + "Duration": 5.37, + "Fps": 30.0, + "Loop": true, + "AreBeziersRestricted": false, + "CurveCount": 35, + "TotalSegmentCount": 262, + "TotalPointCount": 751, + "UserDataCount": 0, + "TotalUserDataSize": 0 + }, + "Curves": [ + { + "Target": "Parameter", + "Id": "ParamAngleX", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 1, + 0.333, + 1, + 1, + 0.7, + 1, + 1.067, + 0, + 1.433, + 0, + 1, + 1.711, + 0, + 1.989, + 10, + 2.267, + 10, + 1, + 2.522, + 10, + 2.778, + -7, + 3.033, + -7, + 1, + 3.233, + -7, + 3.433, + 13, + 3.633, + 13, + 1, + 3.811, + 13, + 3.989, + 7.017, + 4.167, + 2, + 1, + 4.244, + -0.195, + 4.322, + 0, + 4.4, + 0, + 0, + 5.367, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleY", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 18, + 0.333, + 18, + 1, + 0.522, + 18, + 0.711, + -9.95, + 0.9, + -9.95, + 1, + 0.956, + -9.95, + 1.011, + -1.664, + 1.067, + -1.589, + 1, + 1.911, + -0.462, + 2.756, + 0, + 3.6, + 0, + 1, + 3.789, + 0, + 3.978, + -18, + 4.167, + -18, + 1, + 4.244, + -18, + 4.322, + -10, + 4.4, + -10, + 0, + 5.367, + -10 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleZ", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 1, + 0.489, + 0, + 0.644, + 25, + 0.8, + 25, + 1, + 0.878, + 25, + 0.956, + 25, + 1.033, + 25, + 1, + 1.233, + 25, + 1.433, + 25, + 1.633, + 25, + 1, + 1.867, + 25, + 2.1, + -5, + 2.333, + -5, + 1, + 2.533, + -5, + 2.733, + 23, + 2.933, + 23, + 1, + 3.189, + 23, + 3.444, + -3, + 3.7, + -3, + 0, + 5.367, + -3 + ] + }, + { + "Target": "Parameter", + "Id": "ParamCheek", + "Segments": [ + 0, + 0, + 1, + 0.122, + 0, + 0.244, + 0, + 0.367, + 0, + 0, + 5.367, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeLOpen", + "Segments": [ + 0, + 1, + 1, + 0.178, + 1, + 0.356, + 1, + 0.533, + 1, + 1, + 0.567, + 1, + 0.6, + 0, + 0.633, + 0, + 1, + 0.644, + 0, + 0.656, + 0, + 0.667, + 0, + 1, + 0.7, + 0, + 0.733, + 1, + 0.767, + 1, + 1, + 1.056, + 1, + 1.344, + 1, + 1.633, + 1, + 1, + 1.667, + 1, + 1.7, + 0, + 1.733, + 0, + 1, + 1.744, + 0, + 1.756, + 0, + 1.767, + 0, + 1, + 1.8, + 0, + 1.833, + 1, + 1.867, + 1, + 1, + 2.433, + 1, + 3, + 1, + 3.567, + 1, + 1, + 3.6, + 1, + 3.633, + 0, + 3.667, + 0, + 1, + 3.678, + 0, + 3.689, + 0, + 3.7, + 0, + 1, + 3.733, + 0, + 3.767, + 1, + 3.8, + 1, + 1, + 3.944, + 1, + 4.089, + 1, + 4.233, + 1, + 1, + 4.256, + 1, + 4.278, + 0, + 4.3, + 0, + 0, + 5.367, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeLSmile", + "Segments": [ + 0, + 0, + 1, + 1.378, + 0, + 2.756, + 0, + 4.133, + 0, + 1, + 4.167, + 0, + 4.2, + 0.833, + 4.233, + 0.833, + 0, + 5.367, + 0.833 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeROpen", + "Segments": [ + 0, + 1, + 1, + 0.178, + 1, + 0.356, + 1, + 0.533, + 1, + 1, + 0.567, + 1, + 0.6, + 0, + 0.633, + 0, + 1, + 0.644, + 0, + 0.656, + 0, + 0.667, + 0, + 1, + 0.7, + 0, + 0.733, + 1, + 0.767, + 1, + 1, + 1.056, + 1, + 1.344, + 1, + 1.633, + 1, + 1, + 1.667, + 1, + 1.7, + 0, + 1.733, + 0, + 1, + 1.744, + 0, + 1.756, + 0, + 1.767, + 0, + 1, + 1.8, + 0, + 1.833, + 1, + 1.867, + 1, + 1, + 2.433, + 1, + 3, + 1, + 3.567, + 1, + 1, + 3.6, + 1, + 3.633, + 0, + 3.667, + 0, + 1, + 3.678, + 0, + 3.689, + 0, + 3.7, + 0, + 1, + 3.733, + 0, + 3.767, + 0.998, + 3.8, + 1, + 1, + 3.944, + 1.01, + 4.089, + 1.013, + 4.233, + 1.013, + 1, + 4.256, + 1.013, + 4.278, + 0, + 4.3, + 0, + 0, + 5.367, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeRSmile", + "Segments": [ + 0, + 0, + 1, + 1.378, + 0, + 2.756, + 0, + 4.133, + 0, + 1, + 4.167, + 0, + 4.2, + 0.823, + 4.233, + 0.823, + 0, + 5.367, + 0.823 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallX", + "Segments": [ + 0, + 0, + 1, + 0.122, + 0, + 0.244, + -0.067, + 0.367, + -0.14, + 1, + 0.5, + -0.22, + 0.633, + -0.24, + 0.767, + -0.24, + 1, + 0.856, + -0.24, + 0.944, + -0.24, + 1.033, + -0.24, + 1, + 1.311, + -0.24, + 1.589, + -0.24, + 1.867, + -0.25, + 1, + 2.022, + -0.256, + 2.178, + -0.51, + 2.333, + -0.51, + 1, + 2.578, + -0.51, + 2.822, + 0.22, + 3.067, + 0.22, + 1, + 3.267, + 0.22, + 3.467, + -0.57, + 3.667, + -0.57, + 1, + 3.911, + -0.57, + 4.156, + -0.28, + 4.4, + -0.28, + 0, + 5.367, + -0.28 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallY", + "Segments": [ + 0, + 0, + 1, + 0.122, + 0, + 0.244, + -0.38, + 0.367, + -0.38, + 1, + 0.5, + -0.38, + 0.633, + 0.21, + 0.767, + 0.21, + 1, + 0.856, + 0.21, + 0.944, + 0.21, + 1.033, + 0.21, + 1, + 1.311, + 0.21, + 1.589, + 0.29, + 1.867, + 0.29, + 1, + 2.022, + 0.29, + 2.178, + 0.21, + 2.333, + 0.21, + 1, + 2.578, + 0.21, + 2.822, + 0.29, + 3.067, + 0.29, + 1, + 3.267, + 0.29, + 3.467, + 0.08, + 3.667, + 0.08, + 1, + 3.911, + 0.08, + 4.156, + 0.13, + 4.4, + 0.13, + 0, + 5.367, + 0.13 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLY", + "Segments": [ + 0, + 0, + 1, + 0.078, + 0, + 0.156, + -0.008, + 0.233, + 0.021, + 1, + 0.322, + 0.053, + 0.411, + 0.625, + 0.5, + 0.625, + 1, + 0.567, + 0.625, + 0.633, + 0, + 0.7, + 0, + 1, + 1.144, + 0, + 1.589, + 0, + 2.033, + 0, + 1, + 2.089, + 0, + 2.144, + 0.229, + 2.2, + 0.229, + 1, + 2.278, + 0.229, + 2.356, + 0, + 2.433, + 0, + 1, + 2.544, + 0, + 2.656, + 0, + 2.767, + 0, + 1, + 2.822, + 0, + 2.878, + 0.229, + 2.933, + 0.229, + 1, + 3.011, + 0.229, + 3.089, + 0, + 3.167, + 0, + 1, + 3.456, + 0, + 3.744, + 0, + 4.033, + 0, + 1, + 4.133, + 0, + 4.233, + 0.479, + 4.333, + 0.479, + 0, + 5.367, + 0.479 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRY", + "Segments": [ + 0, + 0, + 1, + 0.078, + 0, + 0.156, + 0, + 0.233, + 0, + 1, + 0.322, + 0, + 0.411, + 0.625, + 0.5, + 0.625, + 1, + 0.567, + 0.625, + 0.633, + 0, + 0.7, + 0, + 1, + 1.144, + 0, + 1.589, + 0.005, + 2.033, + 0.021, + 1, + 2.089, + 0.023, + 2.144, + 0.188, + 2.2, + 0.188, + 1, + 2.278, + 0.188, + 2.356, + 0, + 2.433, + 0, + 1, + 2.544, + 0, + 2.656, + 0.001, + 2.767, + 0.021, + 1, + 2.822, + 0.031, + 2.878, + 0.229, + 2.933, + 0.229, + 1, + 3.011, + 0.229, + 3.089, + 0, + 3.167, + 0, + 1, + 3.456, + 0, + 3.744, + 0, + 4.033, + 0, + 1, + 4.133, + 0, + 4.233, + 0.479, + 4.333, + 0.479, + 0, + 5.367, + 0.479 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLX", + "Segments": [ + 0, + 0, + 1, + 0.167, + 0, + 0.333, + 0, + 0.5, + 0, + 1, + 1.678, + 0, + 2.856, + 0, + 4.033, + 0, + 1, + 4.133, + 0, + 4.233, + -0.479, + 4.333, + -0.479, + 0, + 5.367, + -0.479 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRX", + "Segments": [ + 0, + 0, + 1, + 0.122, + 0, + 0.244, + 0, + 0.367, + 0, + 1, + 1.589, + 0, + 2.811, + 0, + 4.033, + 0, + 1, + 4.133, + 0, + 4.233, + 0.688, + 4.333, + 0.688, + 0, + 5.367, + 0.688 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLAngle", + "Segments": [ + 0, + 0, + 1, + 0.167, + 0, + 0.333, + 0, + 0.5, + 0, + 1, + 1.678, + 0, + 2.856, + 0, + 4.033, + 0, + 1, + 4.133, + 0, + 4.233, + 0, + 4.333, + 0, + 0, + 5.367, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRAngle", + "Segments": [ + 0, + 0, + 1, + 0.122, + 0, + 0.244, + 0, + 0.367, + 0, + 1, + 1.589, + 0, + 2.811, + 0, + 4.033, + 0, + 1, + 4.133, + 0, + 4.233, + 0, + 4.333, + 0, + 0, + 5.367, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLForm", + "Segments": [ + 0, + 0, + 1, + 0.122, + 0, + 0.244, + 0, + 0.367, + 0, + 1, + 1.589, + 0, + 2.811, + 0, + 4.033, + 0, + 1, + 4.133, + 0, + 4.233, + 0, + 4.333, + 0, + 0, + 5.367, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRForm", + "Segments": [ + 0, + 0, + 1, + 0.122, + 0, + 0.244, + 0, + 0.367, + 0, + 1, + 1.589, + 0, + 2.811, + 0, + 4.033, + 0, + 1, + 4.133, + 0, + 4.233, + 0, + 4.333, + 0, + 0, + 5.367, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamMouthForm", + "Segments": [ + 0, + 1, + 1, + 1.367, + 1, + 2.733, + 1, + 4.1, + 1, + 0, + 5.367, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamMouthOpenY", + "Segments": [ + 0, + 0, + 1, + 1.367, + 0, + 2.733, + 0, + 4.1, + 0, + 1, + 4.144, + 0, + 4.189, + 1, + 4.233, + 1, + 0, + 5.367, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleX", + "Segments": [ + 0, + -10, + 1, + 0.078, + -10, + 0.156, + 0, + 0.233, + 0, + 1, + 0.311, + 0, + 0.389, + -1.353, + 0.467, + -1.353, + 1, + 0.6, + -1.353, + 0.733, + 10, + 0.867, + 10, + 1, + 0.956, + 10, + 1.044, + 9.799, + 1.133, + 9.799, + 1, + 1.233, + 9.799, + 1.333, + 10, + 1.433, + 10, + 1, + 1.667, + 10, + 1.9, + -2.975, + 2.133, + -2.975, + 1, + 2.211, + -2.975, + 2.289, + -2.975, + 2.367, + -2.975, + 1, + 2.522, + -2.975, + 2.678, + 9.025, + 2.833, + 9.025, + 1, + 2.978, + 9.025, + 3.122, + 9.025, + 3.267, + 9.025, + 1, + 3.489, + 9.025, + 3.711, + 2.025, + 3.933, + 2.025, + 0, + 5.367, + 2.025 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleY", + "Segments": [ + 0, + 10, + 1, + 0.122, + 10, + 0.244, + 9.141, + 0.367, + 5.421, + 1, + 0.533, + 0.348, + 0.7, + -3.737, + 0.867, + -3.737, + 1, + 0.978, + -3.737, + 1.089, + 2.181, + 1.2, + 2.181, + 1, + 1.3, + 2.181, + 1.4, + 1.948, + 1.5, + 0.298, + 1, + 1.6, + -1.351, + 1.7, + -3.396, + 1.8, + -3.396, + 1, + 1.944, + -3.396, + 2.089, + 4.673, + 2.233, + 4.673, + 1, + 2.378, + 4.673, + 2.522, + -3.858, + 2.667, + -3.858, + 1, + 2.767, + -3.858, + 2.867, + 4.794, + 2.967, + 4.794, + 1, + 3.089, + 4.794, + 3.211, + -3.573, + 3.333, + -3.573, + 1, + 3.533, + -3.573, + 3.733, + 5.27, + 3.933, + 5.27, + 1, + 4.044, + 5.27, + 4.156, + -5.393, + 4.267, + -5.393, + 1, + 4.356, + -5.393, + 4.444, + 0.095, + 4.533, + 0.095, + 0, + 5.367, + 0.095 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleZ", + "Segments": [ + 0, + 0, + 1, + 0.122, + 0, + 0.244, + 2, + 0.367, + 2, + 1, + 0.533, + 2, + 0.7, + -10, + 0.867, + -10, + 1, + 1.078, + -10, + 1.289, + -10.013, + 1.5, + -9.975, + 1, + 1.767, + -9.927, + 2.033, + 2.026, + 2.3, + 2.026, + 1, + 2.522, + 2.026, + 2.744, + -9.975, + 2.967, + -9.975, + 1, + 3.322, + -9.975, + 3.678, + -6.592, + 4.033, + 1.8, + 1, + 4.178, + 5.209, + 4.322, + 8, + 4.467, + 8, + 0, + 5.367, + 8 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBreath", + "Segments": [ + 0, + 0, + 1, + 0.122, + 0, + 0.244, + 1, + 0.367, + 1, + 1, + 0.511, + 1, + 0.656, + 0, + 0.8, + 0, + 1, + 1.022, + 0, + 1.244, + 1, + 1.467, + 1, + 1, + 1.689, + 1, + 1.911, + 0, + 2.133, + 0, + 1, + 2.344, + 0, + 2.556, + 1, + 2.767, + 1, + 1, + 2.967, + 1, + 3.167, + 0, + 3.367, + 0, + 1, + 3.578, + 0, + 3.789, + 1, + 4, + 1, + 1, + 4.233, + 1, + 4.467, + 0, + 4.7, + 0, + 0, + 5.367, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamShoulder", + "Segments": [ + 0, + 0, + 1, + 0.144, + 0, + 0.289, + 1, + 0.433, + 1, + 1, + 0.6, + 1, + 0.767, + 0.049, + 0.933, + -0.1, + 1, + 1.167, + -0.309, + 1.4, + -0.3, + 1.633, + -0.3, + 1, + 1.844, + -0.3, + 2.056, + 0.9, + 2.267, + 0.9, + 1, + 2.411, + 0.9, + 2.556, + -0.22, + 2.7, + -0.22, + 1, + 2.844, + -0.22, + 2.989, + 0.6, + 3.133, + 0.6, + 1, + 3.289, + 0.6, + 3.444, + -0.4, + 3.6, + -0.4, + 1, + 3.7, + -0.4, + 3.8, + 0.5, + 3.9, + 0.5, + 1, + 4.044, + 0.5, + 4.189, + 0.238, + 4.333, + 0, + 1, + 4.444, + -0.183, + 4.556, + -0.2, + 4.667, + -0.2, + 0, + 5.367, + -0.2 + ] + }, + { + "Target": "Parameter", + "Id": "ParamLeg", + "Segments": [ + 0, + 1, + 1, + 1.344, + 1, + 2.689, + 1, + 4.033, + 1, + 1, + 4.144, + 1, + 4.256, + 0, + 4.367, + 0, + 1, + 4.578, + 0, + 4.789, + 0.052, + 5, + 0.052, + 0, + 5.367, + 0.052 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmLB", + "Segments": [ + 0, + 0, + 1, + 0.1, + 0, + 0.2, + 1.3, + 0.3, + 1.3, + 1, + 0.544, + 1.3, + 0.789, + 0, + 1.033, + 0, + 1, + 1.222, + 0, + 1.411, + 0, + 1.6, + 0, + 1, + 1.811, + 0, + 2.022, + -10, + 2.233, + -10, + 1, + 2.811, + -10, + 3.389, + -10, + 3.967, + -10, + 1, + 4.133, + -10, + 4.3, + -6.458, + 4.467, + -6.458, + 0, + 5.367, + -6.458 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmRB", + "Segments": [ + 0, + 0, + 1, + 0.1, + 0, + 0.2, + 1.9, + 0.3, + 1.9, + 1, + 0.544, + 1.9, + 0.789, + 0, + 1.033, + 0, + 1, + 1.222, + 0, + 1.411, + 0, + 1.6, + 0, + 1, + 1.811, + 0, + 2.022, + -10, + 2.233, + -10, + 1, + 2.7, + -10, + 3.167, + -10, + 3.633, + -10, + 1, + 3.744, + -10, + 3.856, + -10, + 3.967, + -10, + 1, + 4.133, + -10, + 4.3, + -5.833, + 4.467, + -5.833, + 0, + 5.367, + -5.833 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandLB", + "Segments": [ + 0, + 0, + 1, + 0.156, + 0, + 0.311, + 0, + 0.467, + 0, + 1, + 0.656, + 0, + 0.844, + 6.25, + 1.033, + 6.25, + 1, + 1.222, + 6.25, + 1.411, + 6.365, + 1.6, + 5.833, + 1, + 1.811, + 5.239, + 2.022, + -4.07, + 2.233, + -4.583, + 1, + 2.367, + -4.907, + 2.5, + -4.792, + 2.633, + -4.792, + 1, + 2.778, + -4.792, + 2.922, + -3.75, + 3.067, + -3.75, + 1, + 3.256, + -3.75, + 3.444, + -6.25, + 3.633, + -6.25, + 1, + 3.756, + -6.25, + 3.878, + -6.419, + 4, + -5.833, + 1, + 4.156, + -5.088, + 4.311, + 9.4, + 4.467, + 9.4, + 1, + 4.533, + 9.4, + 4.6, + 7.1, + 4.667, + 7.1, + 0, + 5.367, + 7.1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandRB", + "Segments": [ + 0, + 0, + 1, + 0.156, + 0, + 0.311, + 0, + 0.467, + 0, + 1, + 0.656, + 0, + 0.844, + 8.064, + 1.033, + 8.333, + 1, + 1.222, + 8.603, + 1.411, + 8.542, + 1.6, + 8.542, + 1, + 1.811, + 8.542, + 2.022, + -5.8, + 2.233, + -7.292, + 1, + 2.367, + -8.234, + 2.5, + -7.917, + 2.633, + -7.917, + 1, + 2.778, + -7.917, + 2.922, + -7.917, + 3.067, + -7.917, + 1, + 3.256, + -7.917, + 3.444, + -8.084, + 3.633, + -8.333, + 1, + 3.756, + -8.494, + 3.878, + -8.542, + 4, + -8.542, + 1, + 4.156, + -8.542, + 4.311, + 10, + 4.467, + 10, + 1, + 4.533, + 10, + 4.6, + 6.8, + 4.667, + 6.8, + 0, + 5.367, + 6.8 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandL", + "Segments": [ + 0, + 0, + 1, + 0.144, + 0, + 0.289, + 0.958, + 0.433, + 0.958, + 1, + 0.611, + 0.958, + 0.789, + -1, + 0.967, + -1, + 1, + 1.222, + -1, + 1.478, + 0.4, + 1.733, + 0.4, + 1, + 1.922, + 0.4, + 2.111, + -1, + 2.3, + -1, + 1, + 2.544, + -1, + 2.789, + 1, + 3.033, + 1, + 1, + 3.344, + 1, + 3.656, + -1, + 3.967, + -1, + 1, + 4.222, + -1, + 4.478, + 0.4, + 4.733, + 0.4, + 0, + 5.367, + 0.4 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandR", + "Segments": [ + 0, + 0, + 1, + 0.144, + 0, + 0.289, + 1, + 0.433, + 1, + 1, + 0.611, + 1, + 0.789, + -1, + 0.967, + -1, + 1, + 1.222, + -1, + 1.478, + 0.4, + 1.733, + 0.4, + 1, + 1.922, + 0.4, + 2.111, + -1, + 2.3, + -1, + 1, + 2.544, + -1, + 2.789, + 1, + 3.033, + 1, + 1, + 3.344, + 1, + 3.656, + -1, + 3.967, + -1, + 1, + 4.222, + -1, + 4.478, + 0.3, + 4.733, + 0.3, + 0, + 5.367, + 0.3 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHairAhoge", + "Segments": [ + 0, + 0, + 1, + 0.022, + 0, + 0.044, + 0, + 0.067, + 0, + 1, + 0.144, + 0, + 0.222, + -10, + 0.3, + -10, + 1, + 0.456, + -10, + 0.611, + 8.967, + 0.767, + 8.967, + 1, + 0.889, + 8.967, + 1.011, + -5.867, + 1.133, + -5.867, + 1, + 1.244, + -5.867, + 1.356, + -3.178, + 1.467, + -0.111, + 1, + 1.522, + 1.423, + 1.578, + 1.562, + 1.633, + 1.562, + 1, + 1.733, + 1.562, + 1.833, + -4.563, + 1.933, + -4.563, + 1, + 2.078, + -4.563, + 2.222, + 10, + 2.367, + 10, + 1, + 2.411, + 10, + 2.456, + 10.159, + 2.5, + 9.828, + 1, + 2.6, + 9.082, + 2.7, + -8.352, + 2.8, + -8.352, + 1, + 2.867, + -8.352, + 2.933, + -8.632, + 3, + -7.761, + 1, + 3.111, + -6.31, + 3.222, + 6.63, + 3.333, + 6.63, + 1, + 3.389, + 6.63, + 3.444, + -4.883, + 3.5, + -4.883, + 1, + 3.544, + -4.883, + 3.589, + -5.066, + 3.633, + -4.785, + 1, + 3.811, + -3.661, + 3.989, + 9.803, + 4.167, + 9.803, + 1, + 4.256, + 9.803, + 4.344, + -9.656, + 4.433, + -9.656, + 1, + 4.567, + -9.656, + 4.7, + 5.375, + 4.833, + 5.375, + 1, + 4.967, + 5.375, + 5.1, + 0, + 5.233, + 0, + 0, + 5.367, + 0 + ] + }, + { + "Target": "PartOpacity", + "Id": "PartArmA", + "Segments": [ + 0, + 0, + 0, + 5.37, + 0 + ] + }, + { + "Target": "PartOpacity", + "Id": "PartArmB", + "Segments": [ + 0, + 1, + 0, + 5.37, + 1 + ] + } + ] +} \ No newline at end of file diff --git a/staticfiles/Live2DSample/Hiyori/motions/Hiyori_m07.motion3.json b/staticfiles/Live2DSample/Hiyori/motions/Hiyori_m07.motion3.json new file mode 100644 index 0000000000000000000000000000000000000000..b19014889c164696db554af7ae19fef97cffcb22 --- /dev/null +++ b/staticfiles/Live2DSample/Hiyori/motions/Hiyori_m07.motion3.json @@ -0,0 +1,991 @@ +{ + "Version": 3, + "Meta": { + "Duration": 1.9, + "Fps": 30.0, + "Loop": true, + "AreBeziersRestricted": false, + "CurveCount": 32, + "TotalSegmentCount": 121, + "TotalPointCount": 331, + "UserDataCount": 0, + "TotalUserDataSize": 0 + }, + "Curves": [ + { + "Target": "Parameter", + "Id": "ParamAngleX", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 0, + 1.9, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleY", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 0, + 1.9, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleZ", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 1, + 0.444, + 0, + 0.556, + 8, + 0.667, + 8, + 0, + 1.9, + 8 + ] + }, + { + "Target": "Parameter", + "Id": "ParamCheek", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 0, + 1.9, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeLOpen", + "Segments": [ + 0, + 1, + 1, + 0.111, + 1, + 0.222, + 1, + 0.333, + 1, + 1, + 0.378, + 1, + 0.422, + 0, + 0.467, + 0, + 1, + 0.522, + 0, + 0.578, + 1.2, + 0.633, + 1.2, + 1, + 0.744, + 1.2, + 0.856, + 1.2, + 0.967, + 1.2, + 1, + 0.989, + 1.2, + 1.011, + 0, + 1.033, + 0, + 1, + 1.067, + 0, + 1.1, + 1.2, + 1.133, + 1.2, + 1, + 1.167, + 1.2, + 1.2, + 1.2, + 1.233, + 1.2, + 1, + 1.267, + 1.2, + 1.3, + 0, + 1.333, + 0, + 1, + 1.356, + 0, + 1.378, + 1.2, + 1.4, + 1.2, + 0, + 1.9, + 1.2 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeLSmile", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 0, + 1.9, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeROpen", + "Segments": [ + 0, + 1, + 1, + 0.111, + 1, + 0.222, + 1, + 0.333, + 1, + 1, + 0.378, + 1, + 0.422, + 0, + 0.467, + 0, + 1, + 0.522, + 0, + 0.578, + 1.2, + 0.633, + 1.2, + 1, + 0.744, + 1.2, + 0.856, + 1.2, + 0.967, + 1.2, + 1, + 0.989, + 1.2, + 1.011, + 0, + 1.033, + 0, + 1, + 1.067, + 0, + 1.1, + 1.2, + 1.133, + 1.2, + 1, + 1.167, + 1.2, + 1.2, + 1.2, + 1.233, + 1.2, + 1, + 1.267, + 1.2, + 1.3, + 0, + 1.333, + 0, + 1, + 1.356, + 0, + 1.378, + 1.2, + 1.4, + 1.2, + 0, + 1.9, + 1.2 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeRSmile", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 1, + 0.356, + 0, + 0.378, + 0, + 0.4, + 0, + 1, + 0.489, + 0, + 0.578, + 0, + 0.667, + 0, + 0, + 1.9, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallX", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 1, + 0.356, + 0, + 0.378, + 0, + 0.4, + 0, + 1, + 0.489, + 0, + 0.578, + 0, + 0.667, + 0, + 0, + 1.9, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallY", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 1, + 0.356, + 0, + 0.378, + 0, + 0.4, + 0, + 1, + 0.489, + 0, + 0.578, + 0, + 0.667, + 0, + 0, + 1.9, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLY", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 1, + 0.356, + 0, + 0.378, + 0, + 0.4, + 0, + 1, + 0.489, + 0, + 0.578, + 0.26, + 0.667, + 0.26, + 0, + 1.9, + 0.26 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRY", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 1, + 0.356, + 0, + 0.378, + 0, + 0.4, + 0, + 1, + 0.489, + 0, + 0.578, + 0.36, + 0.667, + 0.36, + 0, + 1.9, + 0.36 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLX", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 1, + 0.356, + 0, + 0.378, + 0, + 0.4, + 0, + 1, + 0.489, + 0, + 0.578, + 0, + 0.667, + 0, + 0, + 1.9, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRX", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 1, + 0.356, + 0, + 0.378, + 0, + 0.4, + 0, + 1, + 0.489, + 0, + 0.578, + 0.27, + 0.667, + 0.27, + 0, + 1.9, + 0.27 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLAngle", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 1, + 0.356, + 0, + 0.378, + 0, + 0.4, + 0, + 1, + 0.489, + 0, + 0.578, + 0.26, + 0.667, + 0.26, + 0, + 1.9, + 0.26 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRAngle", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 1, + 0.356, + 0, + 0.378, + 0, + 0.4, + 0, + 1, + 0.489, + 0, + 0.578, + -0.03, + 0.667, + -0.03, + 0, + 1.9, + -0.03 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLForm", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 1, + 0.356, + 0, + 0.378, + 0, + 0.4, + 0, + 1, + 0.489, + 0, + 0.578, + 0.33, + 0.667, + 0.33, + 0, + 1.9, + 0.33 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRForm", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 1, + 0.356, + 0, + 0.378, + 0, + 0.4, + 0, + 1, + 0.489, + 0, + 0.578, + 0.21, + 0.667, + 0.21, + 0, + 1.9, + 0.21 + ] + }, + { + "Target": "Parameter", + "Id": "ParamMouthForm", + "Segments": [ + 0, + 1, + 1, + 0.111, + 1, + 0.222, + 1, + 0.333, + 1, + 1, + 0.356, + 1, + 0.378, + 1, + 0.4, + 1, + 1, + 0.489, + 1, + 0.578, + -2, + 0.667, + -2, + 0, + 1.9, + -2 + ] + }, + { + "Target": "Parameter", + "Id": "ParamMouthOpenY", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 1, + 0.356, + 0, + 0.378, + 0, + 0.4, + 0, + 1, + 0.489, + 0, + 0.578, + 0.75, + 0.667, + 0.75, + 0, + 1.9, + 0.75 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleX", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 1, + 0.444, + 0, + 0.556, + -6, + 0.667, + -6, + 0, + 1.9, + -6 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleY", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 1, + 0.422, + 0, + 0.511, + 10, + 0.6, + 10, + 1, + 0.667, + 10, + 0.733, + -6, + 0.8, + -6, + 1, + 0.833, + -6, + 0.867, + 5, + 0.9, + 5, + 1, + 1.011, + 5, + 1.122, + 0, + 1.233, + 0, + 0, + 1.9, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleZ", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 1, + 0.444, + 0, + 0.556, + -3, + 0.667, + -3, + 0, + 1.9, + -3 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBreath", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 0, + 1.9, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamShoulder", + "Segments": [ + 0, + -0.062, + 1, + 0.111, + -0.062, + 0.222, + -0.103, + 0.333, + 0, + 1, + 0.589, + 0.238, + 0.844, + 1, + 1.1, + 1, + 0, + 1.9, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmLA", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 1, + 0.478, + 0, + 0.622, + -10, + 0.767, + -10, + 1, + 0.811, + -10, + 0.856, + -8.2, + 0.9, + -8.2, + 0, + 1.9, + -8.2 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmRA", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 1, + 0.478, + 0, + 0.622, + -10, + 0.767, + -10, + 1, + 0.811, + -10, + 0.856, + -7.2, + 0.9, + -7.2, + 0, + 1.9, + -7.2 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmLB", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 0, + 1.9, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmRB", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 0, + 1.9, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHairAhoge", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 1.9, + 0.333, + 5.2, + 1, + 0.444, + 8.5, + 0.556, + 9.926, + 0.667, + 9.926, + 1, + 0.744, + 9.926, + 0.822, + -10, + 0.9, + -10, + 1, + 0.956, + -10, + 1.011, + 6, + 1.067, + 6, + 1, + 1.144, + 6, + 1.222, + -4, + 1.3, + -4, + 1, + 1.367, + -4, + 1.433, + 0, + 1.5, + 0, + 0, + 1.9, + 0 + ] + }, + { + "Target": "PartOpacity", + "Id": "PartArmA", + "Segments": [ + 0, + 1, + 0, + 1.9, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "PartArmB", + "Segments": [ + 0, + 0, + 0, + 1.9, + 0 + ] + } + ] +} \ No newline at end of file diff --git a/staticfiles/Live2DSample/Hiyori/motions/Hiyori_m08.motion3.json b/staticfiles/Live2DSample/Hiyori/motions/Hiyori_m08.motion3.json new file mode 100644 index 0000000000000000000000000000000000000000..94b9c88400b352331cc3b1fa52f149d69de29cba --- /dev/null +++ b/staticfiles/Live2DSample/Hiyori/motions/Hiyori_m08.motion3.json @@ -0,0 +1,1087 @@ +{ + "Version": 3, + "Meta": { + "Duration": 2.1, + "Fps": 30.0, + "Loop": true, + "AreBeziersRestricted": false, + "CurveCount": 35, + "TotalSegmentCount": 133, + "TotalPointCount": 364, + "UserDataCount": 0, + "TotalUserDataSize": 0 + }, + "Curves": [ + { + "Target": "Parameter", + "Id": "ParamAngleX", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.244, + 0, + 0.289, + 0, + 0.333, + 0, + 1, + 0.378, + 0, + 0.422, + 0, + 0.467, + 0, + 1, + 0.556, + 0, + 0.644, + 0, + 0.733, + 0, + 0, + 2.1, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleY", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.244, + 0, + 0.289, + 0, + 0.333, + 0, + 1, + 0.378, + 0, + 0.422, + -15, + 0.467, + -15, + 1, + 0.556, + -15, + 0.644, + 11, + 0.733, + 11, + 0, + 2.1, + 11 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleZ", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.244, + 0, + 0.289, + 0, + 0.333, + 0, + 1, + 0.444, + 0, + 0.556, + -15, + 0.667, + -15, + 1, + 0.722, + -15, + 0.778, + -9, + 0.833, + -9, + 0, + 2.1, + -9 + ] + }, + { + "Target": "Parameter", + "Id": "ParamCheek", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.278, + 0, + 0.356, + 0, + 0.433, + 0, + 0, + 2.1, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeLOpen", + "Segments": [ + 0, + 1, + 1, + 0.067, + 1, + 0.133, + 1, + 0.2, + 1, + 1, + 0.244, + 1, + 0.289, + 1, + 0.333, + 1, + 1, + 0.456, + 1, + 0.578, + 0, + 0.7, + 0, + 0, + 2.1, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeLSmile", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.244, + 0, + 0.289, + 0, + 0.333, + 0, + 1, + 0.456, + 0, + 0.578, + 1, + 0.7, + 1, + 0, + 2.1, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeROpen", + "Segments": [ + 0, + 1, + 1, + 0.067, + 1, + 0.133, + 1, + 0.2, + 1, + 1, + 0.244, + 1, + 0.289, + 1, + 0.333, + 1, + 1, + 0.456, + 1, + 0.578, + 0, + 0.7, + 0, + 0, + 2.1, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeRSmile", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.244, + 0, + 0.289, + 0, + 0.333, + 0, + 1, + 0.456, + 0, + 0.578, + 1, + 0.7, + 1, + 0, + 2.1, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallX", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.244, + 0, + 0.289, + 0, + 0.333, + 0, + 0, + 2.1, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallY", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.244, + 0, + 0.289, + 0, + 0.333, + 0, + 0, + 2.1, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLY", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.244, + 0, + 0.289, + 0, + 0.333, + 0, + 1, + 0.456, + 0, + 0.578, + -0.14, + 0.7, + -0.14, + 0, + 2.1, + -0.14 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRY", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.244, + 0, + 0.289, + 0, + 0.333, + 0, + 1, + 0.456, + 0, + 0.578, + -0.14, + 0.7, + -0.14, + 0, + 2.1, + -0.14 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLX", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.278, + 0, + 0.356, + 0, + 0.433, + 0, + 1, + 0.522, + 0, + 0.611, + -0.21, + 0.7, + -0.21, + 0, + 2.1, + -0.21 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRX", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.278, + 0, + 0.356, + 0, + 0.433, + 0, + 1, + 0.522, + 0, + 0.611, + 0.2, + 0.7, + 0.2, + 0, + 2.1, + 0.2 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLAngle", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.278, + 0, + 0.356, + 0, + 0.433, + 0, + 1, + 0.522, + 0, + 0.611, + 0.25, + 0.7, + 0.25, + 0, + 2.1, + 0.25 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRAngle", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.278, + 0, + 0.356, + 0, + 0.433, + 0, + 1, + 0.522, + 0, + 0.611, + 0.23, + 0.7, + 0.23, + 0, + 2.1, + 0.23 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLForm", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.278, + 0, + 0.356, + 0, + 0.433, + 0, + 1, + 0.522, + 0, + 0.611, + 0, + 0.7, + 0, + 0, + 2.1, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRForm", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.278, + 0, + 0.356, + 0, + 0.433, + 0, + 1, + 0.522, + 0, + 0.611, + 0, + 0.7, + 0, + 0, + 2.1, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamMouthForm", + "Segments": [ + 0, + 1, + 1, + 0.067, + 1, + 0.133, + 1, + 0.2, + 1, + 1, + 0.278, + 1, + 0.356, + 1, + 0.433, + 1, + 1, + 0.522, + 1, + 0.611, + 1, + 0.7, + 1, + 0, + 2.1, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamMouthOpenY", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.278, + 0, + 0.356, + 0, + 0.433, + 0, + 1, + 0.522, + 0, + 0.611, + 1, + 0.7, + 1, + 0, + 2.1, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleX", + "Segments": [ + 0, + 0, + 0, + 2.1, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleY", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.278, + 0, + 0.356, + 8, + 0.433, + 8, + 1, + 0.5, + 8, + 0.567, + -7, + 0.633, + -7, + 1, + 0.689, + -7, + 0.744, + 3, + 0.8, + 3, + 1, + 0.844, + 3, + 0.889, + 0, + 0.933, + 0, + 0, + 2.1, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleZ", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.278, + 0, + 0.356, + 0, + 0.433, + 0, + 1, + 0.511, + 0, + 0.589, + 4, + 0.667, + 4, + 1, + 0.722, + 4, + 0.778, + 2, + 0.833, + 2, + 0, + 2.1, + 2 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBreath", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.278, + 0, + 0.356, + 0, + 0.433, + 0, + 0, + 2.1, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamShoulder", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.278, + 0, + 0.356, + -1, + 0.433, + -1, + 1, + 0.5, + -1, + 0.567, + 1, + 0.633, + 1, + 1, + 0.689, + 1, + 0.744, + -0.4, + 0.8, + -0.4, + 1, + 0.956, + -0.4, + 1.111, + 0, + 1.267, + 0, + 0, + 2.1, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamLeg", + "Segments": [ + 0, + 1, + 0, + 2.1, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmLA", + "Segments": [ + 0, + 0, + 0, + 2.1, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmRA", + "Segments": [ + 0, + 0, + 0, + 2.1, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmLB", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.244, + 0, + 0.289, + -5.208, + 0.333, + -5.208, + 1, + 0.4, + -5.208, + 0.467, + 9.583, + 0.533, + 9.583, + 0, + 2.1, + 9.583 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmRB", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.244, + 0, + 0.289, + -4.583, + 0.333, + -4.583, + 1, + 0.4, + -4.583, + 0.467, + 4.375, + 0.533, + 4.375, + 0, + 2.1, + 4.375 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandLB", + "Segments": [ + 0, + 10, + 1, + 0.122, + 10, + 0.244, + 8.89, + 0.367, + 4.167, + 1, + 0.411, + 2.449, + 0.456, + -4.583, + 0.5, + -4.583, + 1, + 0.544, + -4.583, + 0.589, + 4.792, + 0.633, + 4.792, + 0, + 2.1, + 4.792 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandRB", + "Segments": [ + 0, + 10, + 1, + 0.122, + 10, + 0.244, + 8.89, + 0.367, + 4.167, + 1, + 0.411, + 2.449, + 0.456, + -4.583, + 0.5, + -4.583, + 1, + 0.544, + -4.583, + 0.589, + 7.292, + 0.633, + 7.292, + 0, + 2.1, + 7.292 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHairAhoge", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.244, + 0, + 0.289, + -0.142, + 0.333, + 0.234, + 1, + 0.411, + 0.89, + 0.489, + 10, + 0.567, + 10, + 1, + 0.611, + 10, + 0.656, + -10, + 0.7, + -10, + 1, + 0.767, + -10, + 0.833, + 9.951, + 0.9, + 9.951, + 1, + 0.978, + 9.951, + 1.056, + -9.508, + 1.133, + -9.508, + 1, + 1.211, + -9.508, + 1.289, + 5.892, + 1.367, + 5.892, + 1, + 1.433, + 5.892, + 1.5, + -2, + 1.567, + -2, + 1, + 1.611, + -2, + 1.656, + 1, + 1.7, + 1, + 1, + 1.756, + 1, + 1.811, + 0, + 1.867, + 0, + 0, + 2.1, + 0 + ] + }, + { + "Target": "PartOpacity", + "Id": "PartArmA", + "Segments": [ + 0, + 0, + 0, + 2.1, + 0 + ] + }, + { + "Target": "PartOpacity", + "Id": "PartArmB", + "Segments": [ + 0, + 1, + 0, + 2.1, + 1 + ] + } + ] +} \ No newline at end of file diff --git a/staticfiles/Live2DSample/Hiyori/motions/Hiyori_m09.motion3.json b/staticfiles/Live2DSample/Hiyori/motions/Hiyori_m09.motion3.json new file mode 100644 index 0000000000000000000000000000000000000000..47f74bfc9c459530297ea252311bfe6e080734e8 --- /dev/null +++ b/staticfiles/Live2DSample/Hiyori/motions/Hiyori_m09.motion3.json @@ -0,0 +1,1198 @@ +{ + "Version": 3, + "Meta": { + "Duration": 1.6, + "Fps": 30.0, + "Loop": true, + "AreBeziersRestricted": false, + "CurveCount": 33, + "TotalSegmentCount": 150, + "TotalPointCount": 417, + "UserDataCount": 0, + "TotalUserDataSize": 0 + }, + "Curves": [ + { + "Target": "Parameter", + "Id": "ParamAngleX", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.333, + 0, + 0.467, + -4, + 0.6, + -4, + 0, + 1.6, + -4 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleY", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.289, + 0, + 0.378, + -20, + 0.467, + -20, + 1, + 0.522, + -20, + 0.578, + 2, + 0.633, + 2, + 1, + 0.667, + 2, + 0.7, + 0, + 0.733, + 0, + 1, + 0.8, + 0, + 0.867, + 0, + 0.933, + 0, + 1, + 1, + 0, + 1.067, + -21, + 1.133, + -21, + 1, + 1.167, + -21, + 1.2, + -17, + 1.233, + -17, + 0, + 1.6, + -17 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleZ", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 0, + 1.6, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamCheek", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.356, + 0, + 0.511, + 0, + 0.667, + 0, + 1, + 0.778, + 0, + 0.889, + 1, + 1, + 1, + 0, + 1.6, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeLOpen", + "Segments": [ + 0, + 1, + 1, + 0.067, + 1, + 0.133, + 1, + 0.2, + 1, + 1, + 0.244, + 1, + 0.289, + 1, + 0.333, + 1, + 1, + 0.378, + 1, + 0.422, + 0, + 0.467, + 0, + 1, + 0.489, + 0, + 0.511, + 0, + 0.533, + 0, + 1, + 0.578, + 0, + 0.622, + 1, + 0.667, + 1, + 1, + 0.8, + 1, + 0.933, + 1, + 1.067, + 1, + 1, + 1.122, + 1, + 1.178, + 0.825, + 1.233, + 0.825, + 0, + 1.6, + 0.825 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeLSmile", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.544, + 0, + 0.889, + 0, + 1.233, + 0, + 0, + 1.6, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeROpen", + "Segments": [ + 0, + 1, + 1, + 0.067, + 1, + 0.133, + 1, + 0.2, + 1, + 1, + 0.244, + 1, + 0.289, + 1, + 0.333, + 1, + 1, + 0.378, + 1, + 0.422, + 0, + 0.467, + 0, + 1, + 0.489, + 0, + 0.511, + 0, + 0.533, + 0, + 1, + 0.578, + 0, + 0.622, + 0.996, + 0.667, + 1, + 1, + 0.8, + 1.011, + 0.933, + 1.013, + 1.067, + 1.013, + 1, + 1.122, + 1.013, + 1.178, + 0.8, + 1.233, + 0.8, + 0, + 1.6, + 0.8 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeRSmile", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.322, + 0, + 0.444, + 0, + 0.567, + 0, + 1, + 0.789, + 0, + 1.011, + 0, + 1.233, + 0, + 0, + 1.6, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallX", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.322, + 0, + 0.444, + 0, + 0.567, + 0, + 1, + 0.789, + 0, + 1.011, + 0, + 1.233, + 0, + 0, + 1.6, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallY", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.322, + 0, + 0.444, + 0, + 0.567, + 0, + 1, + 0.789, + 0, + 1.011, + 0, + 1.233, + 0, + 0, + 1.6, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLY", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.322, + 0, + 0.444, + 1, + 0.567, + 1, + 1, + 0.733, + 1, + 0.9, + 1, + 1.067, + 1, + 1, + 1.122, + 1, + 1.178, + -0.417, + 1.233, + -0.417, + 0, + 1.6, + -0.417 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRY", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.322, + 0, + 0.444, + 1, + 0.567, + 1, + 1, + 0.733, + 1, + 0.9, + 1, + 1.067, + 1, + 1, + 1.122, + 1, + 1.178, + -1, + 1.233, + -1, + 0, + 1.6, + -1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLX", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.322, + 0, + 0.444, + 0, + 0.567, + 0, + 1, + 0.789, + 0, + 1.011, + 0, + 1.233, + 0, + 0, + 1.6, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRX", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.322, + 0, + 0.444, + 0, + 0.567, + 0, + 1, + 0.789, + 0, + 1.011, + 0, + 1.233, + 0, + 0, + 1.6, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLAngle", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.322, + 0, + 0.444, + -1, + 0.567, + -1, + 1, + 0.789, + -1, + 1.011, + -1, + 1.233, + -1, + 0, + 1.6, + -1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRAngle", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.322, + 0, + 0.444, + -1, + 0.567, + -1, + 1, + 0.789, + -1, + 1.011, + -1, + 1.233, + -1, + 0, + 1.6, + -1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLForm", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.322, + 0, + 0.444, + -1, + 0.567, + -1, + 1, + 0.789, + -1, + 1.011, + -1, + 1.233, + -1, + 0, + 1.6, + -1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRForm", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.322, + 0, + 0.444, + -1, + 0.567, + -1, + 1, + 0.789, + -1, + 1.011, + -1, + 1.233, + -1, + 0, + 1.6, + -1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamMouthForm", + "Segments": [ + 0, + 1, + 1, + 0.067, + 1, + 0.133, + 1, + 0.2, + 1, + 1, + 0.322, + 1, + 0.444, + -2, + 0.567, + -2, + 1, + 0.789, + -2, + 1.011, + -2, + 1.233, + -2, + 0, + 1.6, + -2 + ] + }, + { + "Target": "Parameter", + "Id": "ParamMouthOpenY", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.322, + 0, + 0.444, + 1, + 0.567, + 1, + 1, + 0.656, + 1, + 0.744, + 1, + 0.833, + 1, + 1, + 0.889, + 1, + 0.944, + 1, + 1, + 1, + 1, + 1.044, + 1, + 1.089, + 0, + 1.133, + 0, + 1, + 1.244, + 0, + 1.356, + 0, + 1.467, + 0, + 0, + 1.6, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleX", + "Segments": [ + 0, + 0, + 1, + 0.156, + 0, + 0.311, + 0, + 0.467, + 0, + 1, + 0.556, + 0, + 0.644, + -10, + 0.733, + -10, + 1, + 0.833, + -10, + 0.933, + -9, + 1.033, + -9, + 0, + 1.6, + -9 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleY", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.278, + 0, + 0.356, + -4, + 0.433, + -4, + 1, + 0.522, + -4, + 0.611, + 5, + 0.7, + 5, + 1, + 0.789, + 5, + 0.878, + 5, + 0.967, + 5, + 1, + 1.044, + 5, + 1.122, + -7, + 1.2, + -7, + 1, + 1.267, + -7, + 1.333, + 0, + 1.4, + 0, + 0, + 1.6, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleZ", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 0, + 1.6, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBreath", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 0, + 1.6, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamShoulder", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.367, + 0, + 0.533, + 0.479, + 0.7, + 0.479, + 1, + 0.889, + 0.479, + 1.078, + -1, + 1.267, + -1, + 1, + 1.322, + -1, + 1.378, + -1, + 1.433, + -1, + 0, + 1.6, + -1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamLeg", + "Segments": [ + 0, + 1, + 0, + 1.6, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmLA", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.233, + 0, + 0.267, + 0, + 0.3, + 0, + 1, + 0.367, + 0, + 0.433, + -4.5, + 0.5, + -4.5, + 1, + 0.578, + -4.5, + 0.656, + 0.8, + 0.733, + 0.8, + 1, + 0.811, + 0.8, + 0.889, + -0.156, + 0.967, + -0.6, + 1, + 1.011, + -0.854, + 1.056, + -0.72, + 1.1, + -1, + 1, + 1.167, + -1.42, + 1.233, + -3.7, + 1.3, + -3.7, + 1, + 1.356, + -3.7, + 1.411, + -2.4, + 1.467, + -2.4, + 0, + 1.6, + -2.4 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmRA", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.233, + 0, + 0.267, + 0, + 0.3, + 0, + 1, + 0.367, + 0, + 0.433, + -4.5, + 0.5, + -4.5, + 1, + 0.578, + -4.5, + 0.656, + 2.2, + 0.733, + 2.2, + 1, + 0.811, + 2.2, + 0.889, + -0.749, + 0.967, + -0.9, + 1, + 1.011, + -0.987, + 1.056, + -0.921, + 1.1, + -1, + 1, + 1.167, + -1.119, + 1.233, + -3.6, + 1.3, + -3.6, + 1, + 1.356, + -3.6, + 1.411, + -1.8, + 1.467, + -1.8, + 0, + 1.6, + -1.8 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmLB", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 0, + 1.6, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmRB", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.378, + 0, + 0.556, + 0.84, + 0.733, + 0.84, + 1, + 0.744, + 0.84, + 0.756, + 0.65, + 0.767, + 0.65, + 1, + 0.8, + 0.65, + 0.833, + 0.86, + 0.867, + 0.86, + 0, + 1.6, + 0.86 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHairAhoge", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.289, + 0, + 0.378, + 6, + 0.467, + 6, + 1, + 0.5, + 6, + 0.533, + 4, + 0.567, + 0, + 1, + 0.622, + -6.667, + 0.678, + -10, + 0.733, + -10, + 1, + 0.767, + -10, + 0.8, + -6, + 0.833, + -6, + 1, + 0.933, + -6, + 1.033, + -10, + 1.133, + -10, + 1, + 1.178, + -10, + 1.222, + -2, + 1.267, + -2, + 1, + 1.311, + -2, + 1.356, + -9, + 1.4, + -9, + 0, + 1.6, + -9 + ] + }, + { + "Target": "PartOpacity", + "Id": "PartArmA", + "Segments": [ + 0, + 1, + 0, + 1.6, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "PartArmB", + "Segments": [ + 0, + 0, + 0, + 1.6, + 0 + ] + } + ] +} \ No newline at end of file diff --git a/staticfiles/Live2DSample/Hiyori/motions/Hiyori_m10.motion3.json b/staticfiles/Live2DSample/Hiyori/motions/Hiyori_m10.motion3.json new file mode 100644 index 0000000000000000000000000000000000000000..341f9ec87d040b4f1a36f59dc86ffb6240e6b4b5 --- /dev/null +++ b/staticfiles/Live2DSample/Hiyori/motions/Hiyori_m10.motion3.json @@ -0,0 +1,974 @@ +{ + "Version": 3, + "Meta": { + "Duration": 4.17, + "Fps": 30.0, + "Loop": true, + "AreBeziersRestricted": false, + "CurveCount": 33, + "TotalSegmentCount": 118, + "TotalPointCount": 321, + "UserDataCount": 0, + "TotalUserDataSize": 0 + }, + "Curves": [ + { + "Target": "Parameter", + "Id": "ParamAngleX", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.4, + 0, + 0.6, + 0, + 0.8, + 0, + 1, + 1.067, + 0, + 1.333, + 1.041, + 1.6, + 1.041, + 1, + 1.844, + 1.041, + 2.089, + -8, + 2.333, + -8, + 1, + 2.656, + -8, + 2.978, + 6, + 3.3, + 6, + 0, + 4.167, + 6 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleY", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.344, + 0, + 0.489, + -30, + 0.633, + -30, + 0, + 4.167, + -30 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleZ", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 0, + 4.167, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamCheek", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 0, + 4.167, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeLOpen", + "Segments": [ + 0, + 1, + 1, + 0.067, + 1, + 0.133, + 1, + 0.2, + 1, + 1, + 0.311, + 1, + 0.422, + 0.988, + 0.533, + 0.8, + 1, + 0.589, + 0.706, + 0.644, + 0, + 0.7, + 0, + 1, + 0.722, + 0, + 0.744, + 0, + 0.767, + 0, + 1, + 0.822, + 0, + 0.878, + 0.8, + 0.933, + 0.8, + 1, + 1.422, + 0.8, + 1.911, + 0.8, + 2.4, + 0.8, + 1, + 2.456, + 0.8, + 2.511, + 0, + 2.567, + 0, + 1, + 2.589, + 0, + 2.611, + 0, + 2.633, + 0, + 1, + 2.689, + 0, + 2.744, + 0.8, + 2.8, + 0.8, + 0, + 4.167, + 0.8 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeLSmile", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 0, + 4.167, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeROpen", + "Segments": [ + 0, + 1, + 1, + 0.067, + 1, + 0.133, + 1, + 0.2, + 1, + 1, + 0.311, + 1, + 0.422, + 0.988, + 0.533, + 0.8, + 1, + 0.589, + 0.706, + 0.644, + 0, + 0.7, + 0, + 1, + 0.722, + 0, + 0.744, + 0, + 0.767, + 0, + 1, + 0.822, + 0, + 0.878, + 0.8, + 0.933, + 0.8, + 1, + 1.422, + 0.8, + 1.911, + 0.8, + 2.4, + 0.8, + 1, + 2.456, + 0.8, + 2.511, + 0, + 2.567, + 0, + 1, + 2.589, + 0, + 2.611, + 0, + 2.633, + 0, + 1, + 2.689, + 0, + 2.744, + 0.8, + 2.8, + 0.8, + 0, + 4.167, + 0.8 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeRSmile", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.278, + 0, + 0.356, + 0, + 0.433, + 0, + 0, + 4.167, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallX", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.278, + 0, + 0.356, + 0, + 0.433, + 0, + 1, + 0.667, + 0, + 0.9, + 0.004, + 1.133, + -0.01, + 1, + 1.4, + -0.025, + 1.667, + -0.43, + 1.933, + -0.43, + 1, + 2.211, + -0.43, + 2.489, + 0.283, + 2.767, + 0.283, + 0, + 4.167, + 0.283 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallY", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.278, + 0, + 0.356, + -1, + 0.433, + -1, + 0, + 4.167, + -1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLY", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.278, + 0, + 0.356, + 0.19, + 0.433, + 0.19, + 0, + 4.167, + 0.19 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRY", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.278, + 0, + 0.356, + 0.11, + 0.433, + 0.11, + 0, + 4.167, + 0.11 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLX", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.278, + 0, + 0.356, + -0.48, + 0.433, + -0.48, + 0, + 4.167, + -0.48 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRX", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.278, + 0, + 0.356, + 0.29, + 0.433, + 0.29, + 0, + 4.167, + 0.29 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLAngle", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.278, + 0, + 0.356, + 1, + 0.433, + 1, + 0, + 4.167, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRAngle", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.278, + 0, + 0.356, + 0.85, + 0.433, + 0.85, + 0, + 4.167, + 0.85 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLForm", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.278, + 0, + 0.356, + -0.75, + 0.433, + -0.75, + 0, + 4.167, + -0.75 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRForm", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.278, + 0, + 0.356, + -0.87, + 0.433, + -0.87, + 0, + 4.167, + -0.87 + ] + }, + { + "Target": "Parameter", + "Id": "ParamMouthForm", + "Segments": [ + 0, + 1, + 1, + 0.067, + 1, + 0.133, + 1, + 0.2, + 1, + 1, + 0.278, + 1, + 0.356, + -1, + 0.433, + -1, + 0, + 4.167, + -1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamMouthOpenY", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.278, + 0, + 0.356, + 1, + 0.433, + 1, + 0, + 4.167, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleX", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.444, + 0, + 0.689, + 0, + 0.933, + 0, + 1, + 1.211, + 0, + 1.489, + 0, + 1.767, + 0, + 1, + 2.056, + 0, + 2.344, + -6, + 2.633, + -6, + 1, + 3.033, + -6, + 3.433, + 10, + 3.833, + 10, + 0, + 4.167, + 10 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleY", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 0, + 4.167, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleZ", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.8, + 0, + 1.4, + -2, + 2, + -2, + 1, + 2.456, + -2, + 2.911, + 8.125, + 3.367, + 8.125, + 0, + 4.167, + 8.125 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBreath", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 0, + 4.167, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamShoulder", + "Segments": [ + 0, + 0, + 0, + 4.167, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamLeg", + "Segments": [ + 0, + 1, + 1, + 0.667, + 1, + 1.333, + 1, + 2, + 1, + 1, + 2.267, + 1, + 2.533, + 0.948, + 2.8, + 0.948, + 0, + 4.167, + 0.948 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmLA", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.233, + 0, + 0.267, + 0, + 0.3, + 0, + 1, + 0.478, + 0, + 0.656, + -10, + 0.833, + -10, + 1, + 0.922, + -10, + 1.011, + -8.846, + 1.1, + -8.846, + 1, + 1.467, + -8.846, + 1.833, + -8.835, + 2.2, + -9.1, + 1, + 2.622, + -9.405, + 3.044, + -10, + 3.467, + -10, + 0, + 4.167, + -10 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmRA", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.233, + 0, + 0.267, + 0, + 0.3, + 0, + 1, + 0.478, + 0, + 0.656, + -10, + 0.833, + -10, + 1, + 0.922, + -10, + 1.011, + -8.972, + 1.1, + -8.846, + 1, + 1.467, + -8.328, + 1.833, + -8.2, + 2.2, + -8.2, + 1, + 2.622, + -8.2, + 3.044, + -10, + 3.467, + -10, + 0, + 4.167, + -10 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmLB", + "Segments": [ + 0, + 0, + 0, + 4.167, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmRB", + "Segments": [ + 0, + 0, + 0, + 4.167, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHairAhoge", + "Segments": [ + 0, + 0, + 1, + 0.067, + 0, + 0.133, + 0, + 0.2, + 0, + 1, + 0.233, + 0, + 0.267, + -5, + 0.3, + -5, + 1, + 0.378, + -5, + 0.456, + 10, + 0.533, + 10, + 1, + 0.633, + 10, + 0.733, + 4, + 0.833, + 4, + 0, + 4.167, + 4 + ] + }, + { + "Target": "PartOpacity", + "Id": "PartArmA", + "Segments": [ + 0, + 1, + 0, + 4.17, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "PartArmB", + "Segments": [ + 0, + 0, + 0, + 4.17, + 0 + ] + } + ] +} \ No newline at end of file diff --git a/staticfiles/Live2DSample/background.jpg b/staticfiles/Live2DSample/background.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7e17df9812aa3e6237bb8a4b7be3a74b2c86a89d Binary files /dev/null and b/staticfiles/Live2DSample/background.jpg differ diff --git a/staticfiles/Live2DSample/index.html b/staticfiles/Live2DSample/index.html new file mode 100644 index 0000000000000000000000000000000000000000..41467080c780c8e421bc2cc7d753a4c43f583f2b --- /dev/null +++ b/staticfiles/Live2DSample/index.html @@ -0,0 +1,25 @@ + + + + Live2Dサンプル + + + + + + + + + + + + + + + + + + + + + diff --git a/staticfiles/Live2DSample/index.js b/staticfiles/Live2DSample/index.js new file mode 100644 index 0000000000000000000000000000000000000000..72640df52e44ea2e36e6b4c1647bf78334331afe --- /dev/null +++ b/staticfiles/Live2DSample/index.js @@ -0,0 +1,15 @@ +/* +HTMLのボタンで以下function Motionを実行します。そして +live2d.jsの最初のappから階層をたどりstartMotionを起動=>該当アニメーションが再生します。 + +第1引数 +'TapBody'はHiyori/Hiyori.model3.jsonのMotionsのTapBodyです。 +上記MotionsにはIdle,TapBodyがありそれぞれでHiyori/motionsフォルダ内の +アニメーションファイルmotion3.jsonを定義しています。 +デフォルトではIdleの方で定義されたアニメーションからランダムで再生されます。 +第2引数 +numberにてTapBody内から起動するアニメーション種類をインデックスで指定しています。 +*/ +function Motion(number){ + app.stage.children[1].internalModel.motionManager.startMotion('TapBody',number,2); +} \ No newline at end of file diff --git a/staticfiles/Live2DSample/live2d.js b/staticfiles/Live2DSample/live2d.js new file mode 100644 index 0000000000000000000000000000000000000000..43362b5856384c0f706947da5faf80872150408e --- /dev/null +++ b/staticfiles/Live2DSample/live2d.js @@ -0,0 +1,81 @@ +//appをindex.jsで使いたいのでスコープを外しています。 +var app; + +// PixiJS +var { + Application, live2d: { Live2DModel } +} = PIXI; + +// Kalidokit +var { + Face, Vector: { lerp }, Utils: { clamp } +} = Kalidokit; + + +// 1, Live2Dモデルへのパスを指定する +var modelUrl = "./Hiyori/Hiyori.model3.json"; +var currentModel; + +// メインの処理開始 +(async function main() { + // 2, PixiJSを準備する + app = new PIXI.Application({ + view: document.getElementById("my-live2d"), + autoStart: true, + backgroundAlpha: 0, + backgroundColor: 0x0000ff, + resizeTo: window + }); + + // 3, Live2Dモデルをロードする + currentModel = await Live2DModel.from(modelUrl, { autoInteract: false }); + currentModel.scale.set(0.5);//モデルの大きさ★ + currentModel.interactive = true; + currentModel.anchor.set(0.5, 0.5);//モデルのアンカー★ + currentModel.position.set(window.innerWidth/2, window.innerHeight);//モデルの位置★ + + // 4, Live2Dモデルをドラッグ可能にする + currentModel.on("pointerdown", e => { + currentModel.offsetX = e.data.global.x - currentModel.position.x; + currentModel.offsetY = e.data.global.y - currentModel.position.y; + currentModel.dragging = true; + }); + currentModel.on("pointerup", e => { + currentModel.dragging = false; + var updateFn = currentModel.internalModel.motionManager.update; + var coreModel = currentModel.internalModel.coreModel; + //モーション周りのパスcurrentModel.internalModel.motionManager.startMotion('TapBody', 0,2); + + }); + currentModel.on("pointermove", e => { + if (currentModel.dragging) { + currentModel.position.set( + e.data.global.x - currentModel.offsetX, + e.data.global.y - currentModel.offsetY + ); + } + }); + + // 5, Live2Dモデルを拡大/縮小可能に(マウスホイール) #my-live2dはcanvasのidにして下さい + document.querySelector("#my-live2d").addEventListener("wheel", e => { + e.preventDefault(); + currentModel.scale.set( + clamp(currentModel.scale.x + event.deltaY * -0.001, -0.5, 10) + ); + }); + //背景を設定./background.jpgを画像のパスに書きかえて下さい + let background = PIXI.Sprite.fromImage('./background.jpg'); + background.anchor.set(0.5); + background.x = app.screen.width / 2; + background.y = app.screen.height / 2; + background.height = app.screen.height; + background.width = app.screen.width; + app.stage.addChild(background); + + // 6, Live2Dモデルを配置する + app.stage.addChild(currentModel); + +})(); + + + diff --git a/staticfiles/Live2DSample/live2dcubismcore.js b/staticfiles/Live2DSample/live2dcubismcore.js new file mode 100644 index 0000000000000000000000000000000000000000..23ab144ae2406f43d83f0c4e75fd05a8c69dfec5 --- /dev/null +++ b/staticfiles/Live2DSample/live2dcubismcore.js @@ -0,0 +1,573 @@ +/** + * Copyright(c) Live2D Inc. All rights reserved. + * + * Use of this source code is governed by the Live2D Proprietary Software license + * that can be found at https://www.live2d.com/eula/live2d-proprietary-software-license-agreement_en.html. + */ +var Live2DCubismCore; +(function (Live2DCubismCore) { + /** C calls. */ + var _csm = /** @class */ (function () { + function _csm() { + } + _csm.getVersion = function () { + return _em.ccall("csmGetVersion", "number", [], []); + }; + _csm.getLatestMocVersion = function () { + return _em.ccall("csmGetLatestMocVersion", "number", [], []); + }; + _csm.getMocVersion = function (moc) { + return _em.ccall("csmGetMocVersion", "number", ["number"], [moc]); + }; + _csm.getSizeofModel = function (moc) { + return _em.ccall("csmGetSizeofModel", "number", ["number"], [moc]); + }; + _csm.reviveMocInPlace = function (memory, mocSize) { + return _em.ccall("csmReviveMocInPlace", "number", ["number", "number"], [memory, mocSize]); + }; + _csm.initializeModelInPlace = function (moc, memory, modelSize) { + return _em.ccall("csmInitializeModelInPlace", "number", ["number", "number", "number"], [moc, memory, modelSize]); + }; + _csm.getParameterCount = function (model) { + return _em.ccall("csmGetParameterCount", "number", ["number"], [model]); + }; + _csm.getParameterIds = function (model) { + return _em.ccall("csmGetParameterIds", "number", ["number"], [model]); + }; + _csm.getParameterMinimumValues = function (model) { + return _em.ccall("csmGetParameterMinimumValues", "number", ["number"], [model]); + }; + _csm.getParameterMaximumValues = function (model) { + return _em.ccall("csmGetParameterMaximumValues", "number", ["number"], [model]); + }; + _csm.getParameterDefaultValues = function (model) { + return _em.ccall("csmGetParameterDefaultValues", "number", ["number"], [model]); + }; + _csm.getParameterValues = function (model) { + return _em.ccall("csmGetParameterValues", "number", ["number"], [model]); + }; + _csm.getPartCount = function (model) { + return _em.ccall("csmGetPartCount", "number", ["number"], [model]); + }; + _csm.getPartIds = function (model) { + return _em.ccall("csmGetPartIds", "number", ["number"], [model]); + }; + _csm.getPartOpacities = function (model) { + return _em.ccall("csmGetPartOpacities", "number", ["number"], [model]); + }; + _csm.getPartParentPartIndices = function (model) { + return _em.ccall("csmGetPartParentPartIndices", "number", ["number"], [model]); + }; + _csm.getDrawableCount = function (model) { + return _em.ccall("csmGetDrawableCount", "number", ["number"], [model]); + }; + _csm.getDrawableIds = function (model) { + return _em.ccall("csmGetDrawableIds", "number", ["number"], [model]); + }; + _csm.getDrawableConstantFlags = function (model) { + return _em.ccall("csmGetDrawableConstantFlags", "number", ["number"], [model]); + }; + _csm.getDrawableDynamicFlags = function (model) { + return _em.ccall("csmGetDrawableDynamicFlags", "number", ["number"], [model]); + }; + _csm.getDrawableTextureIndices = function (model) { + return _em.ccall("csmGetDrawableTextureIndices", "number", ["number"], [model]); + }; + _csm.getDrawableDrawOrders = function (model) { + return _em.ccall("csmGetDrawableDrawOrders", "number", ["number"], [model]); + }; + _csm.getDrawableRenderOrders = function (model) { + return _em.ccall("csmGetDrawableRenderOrders", "number", ["number"], [model]); + }; + _csm.getDrawableOpacities = function (model) { + return _em.ccall("csmGetDrawableOpacities", "number", ["number"], [model]); + }; + _csm.getDrawableMaskCounts = function (model) { + return _em.ccall("csmGetDrawableMaskCounts", "number", ["number"], [model]); + }; + _csm.getDrawableMasks = function (model) { + return _em.ccall("csmGetDrawableMasks", "number", ["number"], [model]); + }; + _csm.getDrawableVertexCounts = function (model) { + return _em.ccall("csmGetDrawableVertexCounts", "number", ["number"], [model]); + }; + _csm.getDrawableVertexPositions = function (model) { + return _em.ccall("csmGetDrawableVertexPositions", "number", ["number"], [model]); + }; + _csm.getDrawableVertexUvs = function (model) { + return _em.ccall("csmGetDrawableVertexUvs", "number", ["number"], [model]); + }; + _csm.getDrawableIndexCounts = function (model) { + return _em.ccall("csmGetDrawableIndexCounts", "number", ["number"], [model]); + }; + _csm.getDrawableIndices = function (model) { + return _em.ccall("csmGetDrawableIndices", "number", ["number"], [model]); + }; + _csm.mallocMoc = function (mocSize) { + return _em.ccall("csmMallocMoc", "number", ["number"], [mocSize]); + }; + _csm.mallocModelAndInitialize = function (moc) { + return _em.ccall("csmMallocModelAndInitialize", "number", ["number"], [moc]); + }; + _csm.malloc = function (size) { + return _em.ccall("csmMalloc", "number", ["number"], [size]); + }; + _csm.setLogFunction = function (handler) { + _em.ccall("csmSetLogFunction", null, ["number"], [handler]); + }; + _csm.updateModel = function (model) { + _em.ccall("csmUpdateModel", null, ["number"], [model]); + }; + _csm.readCanvasInfo = function (model, outSizeInPixels, outOriginInPixels, outPixelsPerUnit) { + _em.ccall("csmReadCanvasInfo", null, ["number", "number", "number", "number"], [model, outSizeInPixels, outOriginInPixels, outPixelsPerUnit]); + }; + _csm.resetDrawableDynamicFlags = function (model) { + _em.ccall("csmResetDrawableDynamicFlags", null, ["number"], [model]); + }; + _csm.free = function (memory) { + _em.ccall("csmFree", null, ["number"], [memory]); + }; + return _csm; + }()); + ; + /** Cubism version. */ + var Version = /** @class */ (function () { + function Version() { + } + /** + * Queries Core version. + * + * @return Core version. + */ + Version.csmGetVersion = function () { + return _csm.getVersion(); + }; + /** + * Gets Moc file supported latest version. + * + * @return Moc file latest format version. + */ + Version.csmGetLatestMocVersion = function () { + return _csm.getLatestMocVersion(); + }; + /** + * Gets Moc file format version. + * + * @param moc Moc + * + * @return csmMocVersion + */ + Version.csmGetMocVersion = function (moc) { + return _csm.getMocVersion(moc._ptr); + }; + return Version; + }()); + Live2DCubismCore.Version = Version; + /** Cubism logging. */ + var Logging = /** @class */ (function () { + function Logging() { + } + /** + * Sets log handler. + * + * @param handler Handler to use. + */ + Logging.csmSetLogFunction = function (handler) { + // Cache log handler. + Logging.logFunction = handler; + // Wrap function to pointer. + var pointer = _em.addFunction(Logging.wrapLogFunction, 'vi'); + // Sets log handler. + _csm.setLogFunction(pointer); + }; + /** + * Queries log handler. + * + * @return Log handler. + */ + Logging.csmGetLogFunction = function () { + return Logging.logFunction; + }; + /** + * Wrap log function. + * + * @param messagePtr number + * + * @return string + */ + Logging.wrapLogFunction = function (messagePtr) { + // Pointer to string. + var messageStr = _em.UTF8ToString(messagePtr); + // Run log function. + Logging.logFunction(messageStr); + }; + return Logging; + }()); + Live2DCubismCore.Logging = Logging; + /** Cubism moc. */ + var Moc = /** @class */ (function () { + /** + * Initializes instance. + * + * @param mocBytes Moc bytes. + */ + function Moc(mocBytes) { + // Allocate memory. + var memory = _csm.mallocMoc(mocBytes.byteLength); + if (!memory) { + return; + } + // Initialize memory. + var destination = new Uint8Array(_em.HEAPU8.buffer, memory, mocBytes.byteLength); + destination.set(new Uint8Array(mocBytes)); + // Revive moc. + this._ptr = _csm.reviveMocInPlace(memory, mocBytes.byteLength); + if (!this._ptr) { + _csm.free(memory); + } + } + /** Creates [[Moc]] from [[ArrayBuffer]]. + * + * @param buffer Array buffer + * + * @return [[Moc]] on success; [[null]] otherwise. + */ + Moc.fromArrayBuffer = function (buffer) { + if (!buffer) { + return null; + } + var moc = new Moc(buffer); + return (moc._ptr) + ? moc + : null; + }; + /** Releases instance. */ + Moc.prototype._release = function () { + _csm.free(this._ptr); + this._ptr = 0; + }; + return Moc; + }()); + Live2DCubismCore.Moc = Moc; + /** Cubism model. */ + var Model = /** @class */ (function () { + /** + * Initializes instance. + * + * @param moc Moc + */ + function Model(moc) { + this._ptr = _csm.mallocModelAndInitialize(moc._ptr); + if (!this._ptr) { + return; + } + this.parameters = new Parameters(this._ptr); + this.parts = new Parts(this._ptr); + this.drawables = new Drawables(this._ptr); + this.canvasinfo = new CanvasInfo(this._ptr); + } + /** + * Creates [[Model]] from [[Moc]]. + * + * @param moc Moc + * + * @return [[Model]] on success; [[null]] otherwise. + */ + Model.fromMoc = function (moc) { + var model = new Model(moc); + return (model._ptr) + ? model + : null; + }; + /** Updates instance. */ + Model.prototype.update = function () { + _csm.updateModel(this._ptr); + }; + /** Releases instance. */ + Model.prototype.release = function () { + _csm.free(this._ptr); + this._ptr = 0; + }; + return Model; + }()); + Live2DCubismCore.Model = Model; + /** Canvas information interface. */ + var CanvasInfo = /** @class */ (function () { + /** + * Initializes instance. + * + * @param modelPtr Native model pointer. + */ + function CanvasInfo(modelPtr) { + if (!modelPtr) { + return; + } + // Preserve the pointer ant heap for get data throw args. + var _canvasSize_data = new Float32Array(2); + var _canvasSize_nDataBytes = _canvasSize_data.length * _canvasSize_data.BYTES_PER_ELEMENT; + var _canvasSize_dataPtr = _csm.malloc(_canvasSize_nDataBytes); + var _canvasSize_dataHeap = new Uint8Array(_em.HEAPU8.buffer, _canvasSize_dataPtr, _canvasSize_nDataBytes); + _canvasSize_dataHeap.set(new Uint8Array(_canvasSize_data.buffer)); + var _canvasOrigin_data = new Float32Array(2); + var _canvasOrigin_nDataBytes = _canvasOrigin_data.length * _canvasOrigin_data.BYTES_PER_ELEMENT; + var _canvasOrigin_dataPtr = _csm.malloc(_canvasOrigin_nDataBytes); + var _canvasOrigin_dataHeap = new Uint8Array(_em.HEAPU8.buffer, _canvasOrigin_dataPtr, _canvasOrigin_nDataBytes); + _canvasOrigin_dataHeap.set(new Uint8Array(_canvasOrigin_data.buffer)); + var _canvasPPU_data = new Float32Array(1); + var _canvasPPU_nDataBytes = _canvasPPU_data.length * _canvasPPU_data.BYTES_PER_ELEMENT; + var _canvasPPU_dataPtr = _csm.malloc(_canvasPPU_nDataBytes); + var _canvasPPU_dataHeap = new Uint8Array(_em.HEAPU8.buffer, _canvasPPU_dataPtr, _canvasPPU_nDataBytes); + _canvasPPU_dataHeap.set(new Uint8Array(_canvasPPU_data.buffer)); + // Call function and get result + _csm.readCanvasInfo(modelPtr, _canvasSize_dataHeap.byteOffset, _canvasOrigin_dataHeap.byteOffset, _canvasPPU_dataHeap.byteOffset); + _canvasSize_data = new Float32Array(_canvasSize_dataHeap.buffer, _canvasSize_dataHeap.byteOffset, _canvasSize_dataHeap.length); + _canvasOrigin_data = new Float32Array(_canvasOrigin_dataHeap.buffer, _canvasOrigin_dataHeap.byteOffset, _canvasOrigin_dataHeap.length); + _canvasPPU_data = new Float32Array(_canvasPPU_dataHeap.buffer, _canvasPPU_dataHeap.byteOffset, _canvasPPU_dataHeap.length); + this.CanvasWidth = _canvasSize_data[0]; + this.CanvasHeight = _canvasSize_data[1]; + this.CanvasOriginX = _canvasOrigin_data[0]; + this.CanvasOriginY = _canvasOrigin_data[1]; + this.PixelsPerUnit = _canvasPPU_data[0]; + // Free heap memory + _csm.free(_canvasSize_dataHeap.byteOffset); + _csm.free(_canvasOrigin_dataHeap.byteOffset); + _csm.free(_canvasPPU_dataHeap.byteOffset); + } + return CanvasInfo; + }()); + Live2DCubismCore.CanvasInfo = CanvasInfo; + /** Cubism model parameters */ + var Parameters = /** @class */ (function () { + /** + * Initializes instance. + * + * @param modelPtr Native model. + */ + function Parameters(modelPtr) { + var length = 0; + this.count = _csm.getParameterCount(modelPtr); + length = _csm.getParameterCount(modelPtr); + this.ids = new Array(length); + var _ids = new Uint32Array(_em.HEAPU32.buffer, _csm.getParameterIds(modelPtr), length); + for (var i = 0; i < _ids.length; i++) { + this.ids[i] = _em.UTF8ToString(_ids[i]); + } + length = _csm.getParameterCount(modelPtr); + this.minimumValues = new Float32Array(_em.HEAPF32.buffer, _csm.getParameterMinimumValues(modelPtr), length); + length = _csm.getParameterCount(modelPtr); + this.maximumValues = new Float32Array(_em.HEAPF32.buffer, _csm.getParameterMaximumValues(modelPtr), length); + length = _csm.getParameterCount(modelPtr); + this.defaultValues = new Float32Array(_em.HEAPF32.buffer, _csm.getParameterDefaultValues(modelPtr), length); + length = _csm.getParameterCount(modelPtr); + this.values = new Float32Array(_em.HEAPF32.buffer, _csm.getParameterValues(modelPtr), length); + } + return Parameters; + }()); + Live2DCubismCore.Parameters = Parameters; + /** Cubism model parts */ + var Parts = /** @class */ (function () { + /** + * Initializes instance. + * + * @param modelPtr Native model. + */ + function Parts(modelPtr) { + var length = 0; + this.count = _csm.getPartCount(modelPtr); + length = _csm.getPartCount(modelPtr); + this.ids = new Array(length); + var _ids = new Uint32Array(_em.HEAPU32.buffer, _csm.getPartIds(modelPtr), length); + for (var i = 0; i < _ids.length; i++) { + this.ids[i] = _em.UTF8ToString(_ids[i]); + } + length = _csm.getPartCount(modelPtr); + this.opacities = new Float32Array(_em.HEAPF32.buffer, _csm.getPartOpacities(modelPtr), length); + length = _csm.getPartCount(modelPtr); + this.parentIndices = new Int32Array(_em.HEAP32.buffer, _csm.getPartParentPartIndices(modelPtr), length); + } + return Parts; + }()); + Live2DCubismCore.Parts = Parts; + /** Cubism model drawables */ + var Drawables = /** @class */ (function () { + /** + * Initializes instance. + * + * @param modelPtr Native model. + */ + function Drawables(modelPtr) { + this._modelPtr = modelPtr; + var length = 0; + var length2 = null; + this.count = _csm.getDrawableCount(modelPtr); + length = _csm.getDrawableCount(modelPtr); + this.ids = new Array(length); + var _ids = new Uint32Array(_em.HEAPU32.buffer, _csm.getDrawableIds(modelPtr), length); + for (var i = 0; i < _ids.length; i++) { + this.ids[i] = _em.UTF8ToString(_ids[i]); + } + length = _csm.getDrawableCount(modelPtr); + this.constantFlags = new Uint8Array(_em.HEAPU8.buffer, _csm.getDrawableConstantFlags(modelPtr), length); + length = _csm.getDrawableCount(modelPtr); + this.dynamicFlags = new Uint8Array(_em.HEAPU8.buffer, _csm.getDrawableDynamicFlags(modelPtr), length); + length = _csm.getDrawableCount(modelPtr); + this.textureIndices = new Int32Array(_em.HEAP32.buffer, _csm.getDrawableTextureIndices(modelPtr), length); + length = _csm.getDrawableCount(modelPtr); + this.drawOrders = new Int32Array(_em.HEAP32.buffer, _csm.getDrawableDrawOrders(modelPtr), length); + length = _csm.getDrawableCount(modelPtr); + this.renderOrders = new Int32Array(_em.HEAP32.buffer, _csm.getDrawableRenderOrders(modelPtr), length); + length = _csm.getDrawableCount(modelPtr); + this.opacities = new Float32Array(_em.HEAPF32.buffer, _csm.getDrawableOpacities(modelPtr), length); + length = _csm.getDrawableCount(modelPtr); + this.maskCounts = new Int32Array(_em.HEAP32.buffer, _csm.getDrawableMaskCounts(modelPtr), length); + length = _csm.getDrawableCount(modelPtr); + this.vertexCounts = new Int32Array(_em.HEAP32.buffer, _csm.getDrawableVertexCounts(modelPtr), length); + length = _csm.getDrawableCount(modelPtr); + this.indexCounts = new Int32Array(_em.HEAP32.buffer, _csm.getDrawableIndexCounts(modelPtr), length); + length = _csm.getDrawableCount(modelPtr); + length2 = new Int32Array(_em.HEAP32.buffer, _csm.getDrawableMaskCounts(modelPtr), length); + this.masks = new Array(length); + var _masks = new Uint32Array(_em.HEAPU32.buffer, _csm.getDrawableMasks(modelPtr), length); + for (var i = 0; i < _masks.length; i++) { + this.masks[i] = new Int32Array(_em.HEAP32.buffer, _masks[i], length2[i]); + } + length = _csm.getDrawableCount(modelPtr); + length2 = new Int32Array(_em.HEAP32.buffer, _csm.getDrawableVertexCounts(modelPtr), length); + this.vertexPositions = new Array(length); + var _vertexPositions = new Uint32Array(_em.HEAPU32.buffer, _csm.getDrawableVertexPositions(modelPtr), length); + for (var i = 0; i < _vertexPositions.length; i++) { + this.vertexPositions[i] = new Float32Array(_em.HEAPF32.buffer, _vertexPositions[i], length2[i] * 2); + } + length = _csm.getDrawableCount(modelPtr); + length2 = new Int32Array(_em.HEAP32.buffer, _csm.getDrawableVertexCounts(modelPtr), length); + this.vertexUvs = new Array(length); + var _vertexUvs = new Uint32Array(_em.HEAPU32.buffer, _csm.getDrawableVertexUvs(modelPtr), length); + for (var i = 0; i < _vertexUvs.length; i++) { + this.vertexUvs[i] = new Float32Array(_em.HEAPF32.buffer, _vertexUvs[i], length2[i] * 2); + } + length = _csm.getDrawableCount(modelPtr); + length2 = new Int32Array(_em.HEAP32.buffer, _csm.getDrawableIndexCounts(modelPtr), length); + this.indices = new Array(length); + var _indices = new Uint32Array(_em.HEAPU32.buffer, _csm.getDrawableIndices(modelPtr), length); + for (var i = 0; i < _indices.length; i++) { + this.indices[i] = new Uint16Array(_em.HEAPU16.buffer, _indices[i], length2[i]); + } + } + /** Resets all dynamic drawable flags.. */ + Drawables.prototype.resetDynamicFlags = function () { + _csm.resetDrawableDynamicFlags(this._modelPtr); + }; + return Drawables; + }()); + Live2DCubismCore.Drawables = Drawables; + /** Utility functions. */ + var Utils = /** @class */ (function () { + function Utils() { + } + /** + * Checks whether flag is set in bitfield. + * + * @param bitfield Bitfield to query against. + * + * @return [[true]] if bit set; [[false]] otherwise + */ + Utils.hasBlendAdditiveBit = function (bitfield) { + return (bitfield & (1 << 0)) == (1 << 0); + }; + /** + * Checks whether flag is set in bitfield. + * + * @param bitfield Bitfield to query against. + * + * @return [[true]] if bit set; [[false]] otherwise + */ + Utils.hasBlendMultiplicativeBit = function (bitfield) { + return (bitfield & (1 << 1)) == (1 << 1); + }; + /** + * Checks whether flag is set in bitfield. + * + * @param bitfield Bitfield to query against. + * + * @return [[true]] if bit set; [[false]] otherwise + */ + Utils.hasIsDoubleSidedBit = function (bitfield) { + return (bitfield & (1 << 2)) == (1 << 2); + }; + /** + * Checks whether flag is set in bitfield. + * + * @param bitfield Bitfield to query against. + * + * @return [[true]] if bit set; [[false]] otherwise + */ + Utils.hasIsInvertedMaskBit = function (bitfield) { + return (bitfield & (1 << 3)) == (1 << 3); + }; + /** + * Checks whether flag is set in bitfield. + * + * @param bitfield Bitfield to query against. + * + * @return [[true]] if bit set; [[false]] otherwise + */ + Utils.hasIsVisibleBit = function (bitfield) { + return (bitfield & (1 << 0)) == (1 << 0); + }; + /** + * Checks whether flag is set in bitfield. + * + * @param bitfield Bitfield to query against. + * + * @return [[true]] if bit set; [[false]] otherwise + */ + Utils.hasVisibilityDidChangeBit = function (bitfield) { + return (bitfield & (1 << 1)) == (1 << 1); + }; + /** + * Checks whether flag is set in bitfield. + * + * @param bitfield Bitfield to query against. + * + * @return [[true]] if bit set; [[false]] otherwise + */ + Utils.hasOpacityDidChangeBit = function (bitfield) { + return (bitfield & (1 << 2)) == (1 << 2); + }; + /** + * Checks whether flag is set in bitfield. + * + * @param bitfield Bitfield to query against. + * + * @return [[true]] if bit set; [[false]] otherwise + */ + Utils.hasDrawOrderDidChangeBit = function (bitfield) { + return (bitfield & (1 << 3)) == (1 << 3); + }; + /** + * Checks whether flag is set in bitfield. + * + * @param bitfield Bitfield to query against. + * + * @return [[true]] if bit set; [[false]] otherwise + */ + Utils.hasRenderOrderDidChangeBit = function (bitfield) { + return (bitfield & (1 << 4)) == (1 << 4); + }; + /** + * Checks whether flag is set in bitfield. + * + * @param bitfield Bitfield to query against. + * + * @return [[true]] if bit set; [[false]] otherwise + */ + Utils.hasVertexPositionsDidChangeBit = function (bitfield) { + return (bitfield & (1 << 5)) == (1 << 5); + }; + return Utils; + }()); + Live2DCubismCore.Utils = Utils; + /** Emscripten Cubism Core module. */ + var _em_module=function(){var _scriptDir="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0;return"undefined"!=typeof __filename&&(_scriptDir=_scriptDir||__filename),function(_em_module){var b;_em_module=_em_module||{},b=b||(void 0!==_em_module?_em_module:{});var n,l={};for(n in b)b.hasOwnProperty(n)&&(l[n]=b[n]);var t,p=!1,q=!1,r=!1;p="object"==typeof window,q="function"==typeof importScripts,r="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node&&!p&&!q,t=!p&&!r&&!q;var v,w,x,y,u="";r?(u=__dirname+"/",v=function(a,c){var d=z(a);return d?c?d:d.toString():(x=x||require("fs"),a=(y=y||require("path")).normalize(a),x.readFileSync(a,c?null:"utf8"))},w=function(a){return(a=v(a,!0)).buffer||(a=new Uint8Array(a)),assert(a.buffer),a},1>2])+-1|0,Pf=(Hf=q[a>>2])+-1|0,Qf=Lf=(mf=q[a+20>>2])+(Bf<<3)|0,Rf=Mf=((Kf=w(Hf,Cf=Bf+1|0))<<3)+mf|0,Sf=Nf=(Bf+Kf<<3)+mf|0,If=x(0|Hf),Jf=x(0|Bf),_f=q[a+8>>2],a=0;;){lf=u[4+(ef=(Ff=a<<3)+bf|0)>>2],gf=x(lf*If),nf=u[ef>>2],ff=x(nf*Jf),ef=lf>=x(1);a:if(lf=x(1)|nf>2]=x(x(x(ff*x(gf*u[hf>>2]))+x(ff*x(jf*u[hf+8>>2])))+x(kf*x(gf*u[ef>>2])))+x(kf*x(jf*u[ef+8>>2])),ff=x(x(x(ff*x(gf*u[hf+4>>2]))+x(ff*x(jf*u[hf+12>>2])))+x(kf*x(gf*u[ef+4>>2]))),x(kf*x(jf*u[ef+12>>2]))):x(jf+kf)<=x(1)?(ff=x(x(x(1)-jf)-kf),hf=(ef<<3)+mf|0,ef=(ef+Cf<<3)+mf|0,u[cf+Ff>>2]=x(x(ff*u[hf>>2])+x(jf*u[hf+8>>2]))+x(kf*u[ef>>2]),ff=x(x(ff*u[hf+4>>2])+x(jf*u[hf+12>>2])),x(kf*u[ef+4>>2])):(ff=x(x(jf+x(-1))+kf),hf=(ef+Cf<<3)+mf|0,gf=x(x(1)-jf),lf=x(x(1)-kf),ef=(ef<<3)+mf|0,u[cf+Ff>>2]=x(x(ff*u[hf+8>>2])+x(gf*u[hf>>2]))+x(lf*u[ef+8>>2]),ff=x(x(ff*u[hf+12>>2])+x(gf*u[hf+4>>2])),x(lf*u[ef+12>>2]));else{if($f||(sf=u[Sf+4>>2],Tf=u[mf+4>>2],of=x(sf-Tf),Uf=u[Qf+4>>2],Vf=u[Rf+4>>2],pf=x(Uf-Vf),tf=x(x(of-pf)*x(.5)),Wf=u[Nf>>2],Xf=u[mf>>2],qf=x(Wf-Xf),Yf=u[Lf>>2],Zf=u[Mf>>2],rf=x(Yf-Zf),uf=x(x(qf-rf)*x(.5)),pf=x(x(pf+of)*x(.5)),rf=x(x(rf+qf)*x(.5)),$f=1,of=x(x(x(x(x(Tf+Uf)+Vf)+sf)*x(.25))-x(of*x(.5))),qf=x(x(x(x(x(Xf+Yf)+Zf)+Wf)*x(.25))-x(qf*x(.5)))),!(lfx(-2)^1|(nfx(-2)^1))){b:if(nf<=x(0)){if(lf<=x(0)){kf=x(x(lf+x(2))*x(.5)),jf=x(x(nf+x(2))*x(.5)),ff=x(tf+tf),Df=x(of-ff),gf=x(uf+uf),Ef=x(qf-gf),zf=x(of-x(pf+pf)),vf=x(zf-ff),Af=x(qf-x(rf+rf)),wf=x(Af-gf),xf=u[mf+4>>2],yf=u[mf>>2];break b}if(ef){ff=x(tf*x(3)),gf=x(of-x(pf+pf)),zf=x(ff+gf),vf=x(uf*x(3)),wf=x(qf-x(rf+rf)),Af=x(vf+wf),kf=x(x(lf+x(-1))*x(.5)),jf=x(x(nf+x(2))*x(.5)),xf=x(ff+of),yf=x(vf+qf),vf=x(tf+gf),wf=x(uf+wf),Df=u[Rf+4>>2],Ef=u[Mf>>2];break b}ff=x(of-x(pf+pf)),ef=Pf,hf=x(y(gf))>2],Ef=u[ef>>2],ef=(w(hf,Cf)<<3)+mf|0,xf=u[ef+4>>2],yf=u[ef>>2]}else if(nf>=x(1)){if(lf<=x(0)){kf=x(x(lf+x(2))*x(.5)),jf=x(x(nf+x(-1))*x(.5)),ff=x(tf+tf),vf=x(x(pf+of)-ff),gf=x(uf+uf),wf=x(x(rf+qf)-gf),xf=x(x(pf*x(3))+of),Df=x(xf-ff),yf=x(x(rf*x(3))+qf),Ef=x(yf-gf),zf=u[Qf+4>>2],Af=u[Lf>>2];break b}if(ef){ff=x(tf*x(3)),zf=x(ff+x(pf+of)),gf=x(uf*x(3)),Af=x(gf+x(rf+qf)),sf=ff,ff=x(x(pf*x(3))+of),xf=x(sf+ff),sf=gf,gf=x(x(rf*x(3))+qf),yf=x(sf+gf),kf=x(x(lf+x(-1))*x(.5)),jf=x(x(nf+x(-1))*x(.5)),Df=x(tf+ff),Ef=x(uf+gf),vf=u[Sf+4>>2],wf=u[Nf>>2];break b}ff=x(x(pf*x(3))+of),ef=Pf,hf=x(y(gf))>2],wf=u[ef>>2],ef=(w(hf,Cf)+Bf<<3)+mf|0,zf=u[ef+4>>2],Af=u[ef>>2]}else lf<=x(0)?(kf=x(x(lf+x(2))*x(.5)),ef=Of,hf=x(y(gf=ff))>2],Af=u[ef>>2],xf=u[4+(ef=(hf<<3)+mf|0)>>2],yf=u[ef>>2]):ef?(sf=gf=x(tf*x(3)),ef=Of,hf=x(y(ff))>2],wf=u[ef>>2],Df=u[4+(ef=(hf+Kf<<3)+mf|0)>>2],Ef=u[ef>>2]):(v[16+Gf>>3]=lf,q[Gf>>2]=a,v[8+Gf>>3]=nf,Y(4,1104,Gf));if(x(jf+kf)<=x(1)){u[cf+Ff>>2]=x(wf+x(x(Ef-wf)*jf))+x(x(Af-wf)*kf),ff=x(vf+x(x(Df-vf)*jf)),gf=x(x(zf-vf)*kf);break a}ff=x(x(1)-jf),gf=x(x(1)-kf),u[cf+Ff>>2]=x(yf+x(x(Af-yf)*ff))+x(x(Ef-yf)*gf),ff=x(xf+x(x(zf-xf)*ff)),gf=x(x(Df-xf)*gf);break a}u[cf+Ff>>2]=x(lf*uf)+x(x(nf*rf)+qf),ff=x(lf*tf),gf=x(x(nf*pf)+of)}if(u[4+(cf+Ff|0)>>2]=ff+gf,(0|df)==(0|(a=a+1|0)))break}L=32+Gf|0},n[2]=function(a,qe,re){a|=0,qe|=0;var Ge,He,Ie,Fe=0;if(He=q[140+(re|=0)>>2],Ie=q[re+136>>2],Ge=q[a+24>>2],-1==(0|(Fe=q[a+4>>2])))return q[(a=qe<<2)+Ie>>2]=q[Ge+16>>2],void(q[a+He>>2]=1065353216);re=q[re+4>>2]+(Fe<<5)|0,Fe=q[Ge+20>>2],n[q[re+20>>2]](q[re+24>>2],Fe,Fe,q[Ge+12>>2]),qe<<=2,a=q[a+4>>2]<<2,u[qe+Ie>>2]=u[Ge+16>>2]*u[a+Ie>>2],q[qe+He>>2]=q[a+He>>2]},n[3]=function(a,qe,re,Je){a|=0,qe|=0,re|=0,Je|=0;var Se,Ke=x(0),Le=x(0),Me=x(0),Ne=x(0),Oe=0,Pe=x(0),Qe=0,Re=x(0),Te=x(0),Ue=x(0);if(Oe=q[a+28>>2],Le=function(a){var Rb,Pb=x(0),Qb=0,Sb=0,Tb=0;L=Rb=L-16|0,j(a);a:if((Qb=2147483647&(Sb=e(0)))>>>0<=1061752794){if(Pb=x(1),Qb>>>0<964689920)break a;Pb=aa(+a)}else if(Qb>>>0<=1081824209){if(Tb=+a,1075235812<=Qb>>>0){Pb=x(-aa(((0|Sb)<0?3.141592653589793:-3.141592653589793)+Tb));break a}if((0|Sb)<=-1){Pb=$(Tb+1.5707963267948966);break a}Pb=$(1.5707963267948966-Tb)}else if(Qb>>>0<=1088565717){if(1085271520<=Qb>>>0){Pb=aa(+a+((0|Sb)<0?6.283185307179586:-6.283185307179586));break a}if((0|Sb)<=-1){Pb=$(-4.71238898038469-a);break a}Pb=$(a-4.71238898038469)}else if(Pb=x(a-a),!(2139095040<=Qb>>>0))if((Qb=3&la(a,8+Rb|0))>>>0<=2){b:switch(Qb-1|0){default:Pb=aa(v[8+Rb>>3]);break a;case 0:Pb=$(-v[8+Rb>>3]);break a;case 1:}Pb=x(-aa(v[8+Rb>>3]))}else Pb=$(v[8+Rb>>3]);return L=16+Rb|0,a=Pb}(Ke=x(x(x(u[a>>2]+u[a+20>>2])*x(3.1415927410125732))/x(180))),Me=u[a+8>>2],Se=q[a+24>>2],Ke=function(a){var Mb,Fb=0,Nb=0,Ob=0;L=Mb=L-16|0,j(a);a:if((Fb=2147483647&(Ob=e(0)))>>>0<=1061752794){if(Fb>>>0<964689920)break a;a=$(+a)}else if(Fb>>>0<=1081824209){if(Nb=+a,Fb>>>0<=1075235811){if((0|Ob)<=-1){a=x(-aa(Nb+1.5707963267948966));break a}a=aa(Nb+-1.5707963267948966);break a}a=$(-(((0|Ob)<0?3.141592653589793:-3.141592653589793)+Nb))}else if(Fb>>>0<=1088565717){if(Nb=+a,Fb>>>0<=1085271519){if((0|Ob)<=-1){a=aa(Nb+4.71238898038469);break a}a=x(-aa(Nb+-4.71238898038469));break a}a=$(((0|Ob)<0?6.283185307179586:-6.283185307179586)+Nb)}else if(2139095040<=Fb>>>0)a=x(a-a);else if((Fb=3&la(a,8+Mb|0))>>>0<=2){b:switch(Fb-1|0){default:a=$(v[8+Mb>>3]);break a;case 0:a=aa(v[8+Mb>>3]);break a;case 1:}a=$(-v[8+Mb>>3])}else a=x(-aa(v[8+Mb>>3]));return L=16+Mb|0,a}(Ke),0<(0|Je))for(Le=x(Me*Le),Pe=x(Oe?-1:1),Te=x(Le*Pe),Ne=x(Se?-1:1),Ue=x(Ne*x(Me*Ke)),Le=x(Ne*Le),Me=x(x(Me*x(-Ke))*Pe),Ke=u[a+16>>2],Pe=u[a+12>>2];Oe=(a=Qe<<3)+re|0,Ne=u[(a=a+qe|0)>>2],Re=u[a+4>>2],u[Oe+4>>2]=Ke+x(x(Ue*Ne)+x(Te*Re)),u[Oe>>2]=Pe+x(x(Le*Ne)+x(Me*Re)),(0|(Qe=Qe+1|0))!=(0|Je););},n[4]=function(a,qe,re){a|=0,qe|=0,re|=0;var se,te,ze,Ae,Be,ue=0,ve=x(0),we=x(0),xe=0,ye=x(0),Ce=x(0),De=x(0),Ee=x(0);if(L=se=L+-64|0,ze=q[re+140>>2],Ae=q[re+136>>2],te=q[a+24>>2],-1!=(0|(Be=q[a+4>>2]))){ue=q[re+4>>2],xe=q[te+12>>2],q[24+se>>2]=xe,re=q[te+16>>2],q[28+se>>2]=re,q[16+se>>2]=0,Ce=1==q[8+(ue=ue+(Be<<5)|0)>>2]?x(-10):x(-.10000000149011612),u[20+se>>2]=Ce,q[60+se>>2]=re,q[56+se>>2]=xe,n[q[ue+20>>2]](q[ue+24>>2],56+se|0,48+se|0,1),ye=x(1),xe=9;b:{for(;;){if(re=xe,De=x(ye*x(0)),u[32+se>>2]=De+u[56+se>>2],Ee=x(Ce*ye),u[36+se>>2]=Ee+u[60+se>>2],n[q[ue+20>>2]](q[ue+24>>2],32+se|0,40+se|0,1),we=x(u[44+se>>2]-u[52+se>>2]),u[44+se>>2]=we,ve=x(u[40+se>>2]-u[48+se>>2]),u[40+se>>2]=ve,we!=x(0)||ve!=x(0)){re=q[44+se>>2],q[8+se>>2]=q[40+se>>2],q[12+se>>2]=re;break b}if(u[32+se>>2]=u[56+se>>2]-De,u[36+se>>2]=u[60+se>>2]-Ee,n[q[ue+20>>2]](q[ue+24>>2],32+se|0,40+se|0,1),we=x(u[40+se>>2]-u[48+se>>2]),u[40+se>>2]=we,ve=x(u[44+se>>2]-u[52+se>>2]),(u[44+se>>2]=ve)!=x(0)||we!=x(0)){u[12+se>>2]=-ve,u[8+se>>2]=-we;break b}if(xe=re+-1|0,ye=x(ye*x(.10000000149011612)),!re)break}Y(3,1265,0)}ve=function(a,dh){var eh=x(0);if((eh=x(Aa(u[a+4>>2],u[a>>2])-Aa(u[dh+4>>2],u[dh>>2])))x(3.1415927410125732))for(;(eh=x(eh+x(-6.2831854820251465)))>x(3.1415927410125732););return eh}(16+se|0,8+se|0),n[q[ue+20>>2]](q[ue+24>>2],24+se|0,24+se|0,1),q[te+12>>2]=q[24+se>>2],q[te+16>>2]=q[28+se>>2],u[te+20>>2]=u[te+20>>2]+x(x(ve*x(-180))/x(3.1415927410125732)),qe<<=2,a=q[a+4>>2]<<2,u[qe+Ae>>2]=u[te+4>>2]*u[a+Ae>>2],ve=x(u[te+8>>2]*u[a+ze>>2]),u[qe+ze>>2]=ve,u[te+8>>2]=ve}else q[(a=qe<<2)+Ae>>2]=q[te+4>>2],q[a+ze>>2]=q[te+8>>2];L=64+se|0},n[5]=function(a){a|=0;var hg,lg,bf=0,cf=0,df=0,ag=0,bg=0,cg=x(0),dg=0,eg=0,fg=0,gg=0,ig=0,jg=0,kg=0,mg=0,ng=0,og=0,pg=0;if(fg=q[a+248>>2],lg=q[a+204>>2],hg=q[a+200>>2],!((0|(bg=q[a+220>>2]))<1)){for(dg=q[a+236>>2],ag=q[a+216>>2],df=q[a+224>>2];u[(cf=bf<<2)+dg>>2]=u[cf+df>>2]*u[cf+ag>>2],(0|bg)!=(0|(bf=bf+1|0)););if(!((0|bg)<1))for(dg=q[a+240>>2],ag=q[a+216>>2],df=q[a+228>>2],bf=0;u[(cf=bf<<2)+dg>>2]=u[cf+df>>2]*u[cf+ag>>2],(0|bg)!=(0|(bf=bf+1|0)););}if(1<=(0|hg))for(mg=q[a+208>>2],bg=dg=0;;){if(q[fg>>2]){gg=(df=q[(cf=dg<<2)+q[a+212>>2]>>2])+bg|0;c:{if((0|df)<=0)q[cf+q[a+276>>2]>>2]=0;else{for(ag=q[a+236>>2],cg=x(0),bf=bg;cg=x(cg+u[ag+(bf<<2)>>2]),(0|(bf=bf+1|0))<(0|gg););if(u[cf+q[a+276>>2]>>2]=cg,!((0|df)<1)){for(ag=q[a+240>>2],cg=x(0),bf=bg;cg=x(cg+u[ag+(bf<<2)>>2]),(0|(bf=bf+1|0))<(0|gg););break c}}cg=x(0)}if(bf=cf+q[a+268>>2]|0,cg=x(cg+x(.0010000000474974513)),ag=x(y(cg))>2]=ag,ag=(bf=q[12+((dg<<4)+lg|0)>>2])<<1,ig=q[cf+q[a+272>>2]>>2],(bf=(0|bf)<1)||ba(ig,0,(1<(0|ag)?ag:1)<<2),!(bf|(0|df)<1))for(jg=q[a+244>>2],ng=q[a+216>>2],og=q[a+232>>2],cf=bg;;){for(eg=(bf=cf<<2)+ng|0,pg=q[bf+og>>2],df=bf=0;u[jg+(kg=df<<2)>>2]=u[pg+kg>>2]*u[eg>>2],(0|(df=df+1|0))<(0|ag););for(;u[(eg=(df=bf<<2)+ig|0)>>2]=u[df+jg>>2]+u[eg>>2],(0|(bf=bf+1|0))<(0|ag););if(!((0|(cf=cf+1|0))<(0|gg)))break}}if(fg=fg+4|0,bg=q[(dg<<2)+mg>>2]+bg|0,(0|hg)==(0|(dg=dg+1|0)))break}},n[6]=function(a){a|=0;var Lg,Pg,Cg=0,Dg=0,Eg=0,Fg=0,Gg=0,Hg=0,Ig=x(0),Jg=0,Kg=0,Mg=0,Ng=0,Og=0,Qg=0,Rg=0,Sg=0,Tg=0,Ug=0;if(Kg=q[a+172>>2],Lg=q[a- -64>>2],Pg=q[a+68>>2],1<=(0|(Eg=q[a+92>>2])))for(Gg=q[a+104>>2],Hg=q[a+88>>2],Dg=q[a+96>>2];u[(Fg=Cg<<2)+Gg>>2]=u[Dg+Fg>>2]*u[Hg+Fg>>2],(0|Eg)!=(0|(Cg=Cg+1|0)););if(1<=(0|Lg))for(Qg=q[a+80>>2],Fg=Gg=0;;){if(q[Kg>>2]){if(Mg=(Cg=q[q[a+84>>2]+(Gg<<2)>>2])+Fg|0,Eg=(0|Cg)<1)Ig=x(0);else for(Hg=q[a+104>>2],Ig=x(0),Cg=Fg;Ig=x(Ig+u[Hg+(Cg<<2)>>2]),(0|(Cg=Cg+1|0))<(0|Mg););if(Cg=w(Gg,24)+Pg|0,u[Cg+16>>2]=Ig,Hg=(Dg=q[Cg+12>>2])<<1,(Dg=(0|Dg)<1)||ba(q[Cg+20>>2],0,(1<(0|Hg)?Hg:1)<<2),!(Dg|Eg))for(Rg=q[Cg+20>>2],Ng=q[a+108>>2],Sg=q[a+88>>2],Tg=q[a+100>>2],Eg=Fg;;){for(Jg=(Cg=Eg<<2)+Sg|0,Ug=q[Cg+Tg>>2],Dg=Cg=0;u[(Og=Dg<<2)+Ng>>2]=u[Ug+Og>>2]*u[Jg>>2],(0|(Dg=Dg+1|0))<(0|Hg););for(;u[(Jg=(Dg=Cg<<2)+Rg|0)>>2]=u[Dg+Ng>>2]+u[Jg>>2],(0|(Cg=Cg+1|0))<(0|Hg););if(!((0|(Eg=Eg+1|0))<(0|Mg)))break}}if(Kg=Kg+4|0,Fg=q[(Gg<<2)+Qg>>2]+Fg|0,(0|Lg)==(0|(Gg=Gg+1|0)))break}},n[7]=function(a){a|=0;var ch,Vg=0,Wg=x(0),Xg=0,Yg=0,Zg=0,_g=0,$g=0,ah=0,bh=0;if($g=q[a+36>>2],ch=q[a+4>>2],1<=(0|(Yg=q[a+24>>2])))for(ah=q[a+32>>2],bh=q[a+20>>2],Xg=q[a+28>>2];u[(Zg=Vg<<2)+ah>>2]=u[Xg+Zg>>2]*u[Zg+bh>>2],(0|Yg)!=(0|(Vg=Vg+1|0)););if(1<=(0|ch))for(Zg=q[a+12>>2],Xg=0;;){if(q[$g>>2]){if((0|(Vg=q[(Yg=_g<<2)+q[a+16>>2]>>2]))<1)Wg=x(0);else for(ah=Vg+Xg|0,bh=q[a+32>>2],Wg=x(0),Vg=Xg;Wg=x(Wg+u[bh+(Vg<<2)>>2]),(0|(Vg=Vg+1|0))<(0|ah););Vg=Yg+q[a+44>>2]|0,Wg=x(Wg+x(.0010000000474974513)),x(y(Wg))>2]=~~Wg:q[Vg>>2]=-2147483648}if($g=$g+4|0,Xg=q[Zg+(_g<<2)>>2]+Xg|0,(0|ch)==(0|(_g=_g+1|0)))break}},n[8]=function(a){a|=0;var yg,Bg,qg=0,rg=0,sg=x(0),tg=0,ug=0,vg=0,wg=0,xg=0,zg=0,Ag=0;if(Ag=q[a+176>>2],Bg=q[a+72>>2],yg=q[a+76>>2],!((0|(vg=q[a+124>>2]))<1)){for(wg=q[a+148>>2],tg=q[a+120>>2],ug=q[a+128>>2];u[(rg=qg<<2)+wg>>2]=u[rg+ug>>2]*u[rg+tg>>2],(0|vg)!=(0|(qg=qg+1|0)););if(!((0|vg)<1)){for(wg=q[a+152>>2],tg=q[a+120>>2],ug=q[a+132>>2],qg=0;u[(rg=qg<<2)+wg>>2]=u[rg+ug>>2]*u[rg+tg>>2],(0|vg)!=(0|(qg=qg+1|0)););if(!((0|vg)<1)){for(wg=q[a+156>>2],tg=q[a+120>>2],ug=q[a+136>>2],qg=0;u[(rg=qg<<2)+wg>>2]=u[rg+ug>>2]*u[rg+tg>>2],(0|vg)!=(0|(qg=qg+1|0)););if(!((0|vg)<1)){for(wg=q[a+160>>2],tg=q[a+120>>2],ug=q[a+140>>2],qg=0;u[(rg=qg<<2)+wg>>2]=u[rg+ug>>2]*u[rg+tg>>2],(0|vg)!=(0|(qg=qg+1|0)););if(!((0|vg)<1))for(wg=q[a+164>>2],tg=q[a+120>>2],ug=q[a+144>>2],qg=0;u[(rg=qg<<2)+wg>>2]=u[rg+ug>>2]*u[rg+tg>>2],(0|vg)!=(0|(qg=qg+1|0)););}}}}if(1<=(0|Bg))for(wg=q[a+112>>2],ug=0;;){if(q[Ag>>2]){b:{c:{d:{e:{if((0|(rg=q[q[a+116>>2]+(xg<<2)>>2]))<=0)q[4+((xg<<5)+yg|0)>>2]=0;else{for(zg=rg+ug|0,tg=q[a+148>>2],sg=x(0),qg=ug;sg=x(sg+u[tg+(qg<<2)>>2]),(0|(qg=qg+1|0))<(0|zg););if(u[4+(vg=(xg<<5)+yg|0)>>2]=sg,!(rg=(0|rg)<1)){for(tg=q[a+152>>2],sg=x(0),qg=ug;sg=x(sg+u[tg+(qg<<2)>>2]),(0|(qg=qg+1|0))<(0|zg););if(u[vg+20>>2]=sg,rg)break e;for(tg=q[a+156>>2],sg=x(0),qg=ug;sg=x(sg+u[tg+(qg<<2)>>2]),(0|(qg=qg+1|0))<(0|zg););if(u[vg+12>>2]=sg,rg)break d;for(tg=q[a+160>>2],sg=x(0),qg=ug;sg=x(sg+u[tg+(qg<<2)>>2]),(0|(qg=qg+1|0))<(0|zg););if(u[vg+16>>2]=sg,rg)break c;for(tg=q[a+164>>2],sg=x(0),qg=ug;sg=x(sg+u[tg+(qg<<2)>>2]),(0|(qg=qg+1|0))<(0|zg););break b}}q[20+((xg<<5)+yg|0)>>2]=0}q[12+((xg<<5)+yg|0)>>2]=0}q[16+((xg<<5)+yg|0)>>2]=0}sg=x(0)}u[8+((xg<<5)+yg|0)>>2]=sg}if(Ag=Ag+4|0,ug=q[wg+(xg<<2)>>2]+ug|0,(0|Bg)==(0|(xg=xg+1|0)))break}},n[9]=function(a){a|=0;var ae,Ud=0,Vd=0,Wd=0,Xd=0,Yd=0,Zd=x(0),_d=0,$d=0,be=0,ce=0;if(ae=q[a+340>>2],1<=(0|(Wd=q[a+360>>2])))for(_d=q[a+368>>2],$d=q[a+356>>2],Vd=q[a+364>>2];u[(Xd=Ud<<2)+_d>>2]=u[Vd+Xd>>2]*u[Xd+$d>>2],(0|Wd)!=(0|(Ud=Ud+1|0)););if(1<=(0|ae))for(be=q[a+348>>2],ce=q[a+344>>2],Xd=q[a+352>>2],Vd=0;;){if((0|(Ud=q[(Wd=Yd<<2)+Xd>>2]))<1)Zd=x(0);else for(_d=Ud+Vd|0,$d=q[a+368>>2],Zd=x(0),Ud=Vd;Zd=x(Zd+u[$d+(Ud<<2)>>2]),(0|(Ud=Ud+1|0))<(0|_d););if(u[20+(w(Yd,24)+ce|0)>>2]=Zd,Vd=q[Wd+be>>2]+Vd|0,(0|ae)==(0|(Yd=Yd+1|0)))break}},n[10]=function(a){var ud=0,vd=0,wd=0,xd=0,yd=0,zd=0,Ad=0;if(!(q[380+(a|=0)>>2]||(0|(ud=q[a+200>>2]))<1))for(zd=(vd=q[a+204>>2])+(ud<<4)|0,ud=q[a+248>>2],xd=q[a+272>>2];;){if(q[ud>>2]&&(a=1,!((0|(wd=q[vd+12>>2]))<1)))for(wd<<=1,Ad=q[xd>>2];u[(yd=(a<<2)+Ad|0)>>2]=-u[yd>>2],(0|(a=a+2|0))<(0|wd););if(xd=xd+4|0,ud=ud+4|0,!((vd=vd+16|0)>>>0>>0))break}},n[11]=function(a,Fc,nd){Fc|=0,nd|=0;var pd,od=0;return fa(pd=q[20+(a|=0)>>2],Fc,od=nd>>>0<(od=q[a+16>>2]-pd|0)>>>0?nd:od),q[a+20>>2]=od+q[a+20>>2],0|nd},n[12]=function(a){return 0},n[13]=function(a,Fc,gd){Fc|=0,gd|=0;var id,hd=0,jd=0,kd=0,ld=0,md=0;for(L=id=L-32|0,hd=q[28+(a|=0)>>2],q[16+id>>2]=hd,kd=q[a+20>>2],q[28+id>>2]=gd,q[24+id>>2]=Fc,Fc=kd-hd|0,kd=(q[20+id>>2]=Fc)+gd|0,ld=2,Fc=16+id|0;;){a:{if((jd=(hd=0)|K(q[a+60>>2],0|Fc,0|ld,12+id|0))&&(q[1906]=jd,hd=-1),(0|(hd=hd?q[12+id>>2]=-1:q[12+id>>2]))!=(0|kd)){if(-1<(0|hd))break a;q[a+28>>2]=0,q[a+16>>2]=0,q[a+20>>2]=0,q[a>>2]=32|q[a>>2],2!=((a=0)|ld)&&(a=gd-q[Fc+4>>2]|0)}else Fc=q[a+44>>2],q[a+28>>2]=Fc,q[a+20>>2]=Fc,q[a+16>>2]=Fc+q[a+48>>2],a=gd;return L=32+id|0,0|a}jd=hd-((md=(jd=q[Fc+4>>2])>>>0>>0)?jd:0)|0,q[(Fc=md?Fc+8|0:Fc)>>2]=jd+q[Fc>>2],q[Fc+4>>2]=q[Fc+4>>2]-jd,kd=kd-hd|0,ld=ld-md|0}},n[14]=function(a,Fc,gd,hd){return M=0},n[15]=function(a,Ub,Fc,Gc,Hc,Ic){a|=0,Ub=+Ub,Fc|=0,Gc|=0,Hc|=0,Ic|=0;var Nc,Jc=0,Kc=0,Lc=0,Mc=0,Oc=0,Pc=0,Qc=0,Rc=0,Sc=0,Tc=0,Uc=0,Vc=0,Wc=0,Xc=0,Yc=0,Zc=0,_c=0,$c=0,ad=0,dd=0,ed=0;if(q[44+(L=Nc=L-560|0)>>2]=0,h(+Ub),Jc=0|e(1),ad=1,dd=4294967295>>0?0:1,Zc=(((ed=0)|Jc)<-1?ad:(0|Jc)<=-1?dd:ed)?(h(+(Ub=-Ub)),Jc=0|e(1),e(0),Yc=1,3184):2048&Hc?(Yc=1,3187):(Yc=1&Hc)?3190:3185,2146435072!=(2146435072&Jc))if(Ub=function na(a,oa){var qa,ra,pa=0;if(h(+a),pa=0|e(1),qa=0|e(0),2047!=(0|(pa=(ra=pa)>>>20&2047))){if(!pa)return pa=oa,oa=0==a?0:(a=na(0x10000000000000000*a,oa),q[oa>>2]+-64|0),q[pa>>2]=oa,a;q[oa>>2]=pa+-1022,f(0,0|qa),f(1,-2146435073&ra|1071644672),a=+g()}return a}(Ub,44+Nc|0),0!=(Ub+=Ub)&&(q[44+Nc>>2]=q[44+Nc>>2]+-1),Vc=16+Nc|0,97!=(0|(_c=32|Ic))){for(Jc=(0|Gc)<0,0!=Ub?(Mc=q[44+Nc>>2]+-28|0,q[44+Nc>>2]=Mc,Ub*=268435456):Mc=q[44+Nc>>2],Pc=Jc?6:Gc,Lc=Tc=(0|Mc)<0?48+Nc|0:336+Nc|0;Jc=Ub<4294967296&0<=Ub?~~Ub>>>0:0,Lc=(Gc=Lc)+4|0,0!=(Ub=1e9*(Ub-((q[Gc>>2]=Jc)>>>0))););if((0|Mc)<1)Jc=Lc,Kc=Tc;else for(Kc=Tc;;){if(Uc=(0|Mc)<29?Mc:29,!((Jc=Lc+-4|0)>>>0>>0)){for(Gc=Uc,Rc=0;Qc=0,$c=Rc,Rc=q[(Sc=Jc)>>2],Oc=31&Gc,Oc=32<=(63&Gc)>>>0?(Mc=Rc<>>32-Oc,Rc<>>0>>0?Qc+1|0:Qc,$c=Sc,Sc=gc(Rc=hc(Oc=Rc,Qc,1e9),M,1e9),q[$c>>2]=Oc-Sc,Kc>>>0<=(Jc=Jc+-4|0)>>>0;);(Gc=Rc)&&(q[(Kc=Kc+-4|0)>>2]=Gc)}for(;Kc>>>0<(Jc=Lc)>>>0&&!q[(Lc=Jc+-4|0)>>2];);if(Mc=q[44+Nc>>2]-Uc|0,Lc=Jc,!(0<(0|(q[44+Nc>>2]=Mc))))break}if((0|Mc)<=-1)for(Xc=1+((Pc+25|0)/9|0)|0,Uc=102==(0|_c);;){if(Rc=(0|Mc)<-9?9:0-Mc|0,Jc>>>0<=Kc>>>0)Kc=q[Kc>>2]?Kc:Kc+4|0;else{for(Sc=1e9>>>Rc,Oc=-1<>2],q[Lc>>2]=(Gc>>>Rc)+Mc,Mc=w(Sc,Gc&Oc),(Lc=Lc+4|0)>>>0>>0;);Kc=q[Kc>>2]?Kc:Kc+4|0,Mc&&(q[Jc>>2]=Mc,Jc=Jc+4|0)}if(Mc=Rc+q[44+Nc>>2]|0,Jc=(0|Xc)>2?Gc+(Xc<<2)|0:Jc,!((0|(q[44+Nc>>2]=Mc))<0))break}if(!(Jc>>>(Lc=0)<=Kc>>>0||(Lc=w(Tc-Kc>>2,9),Mc=10,(Gc=q[Kc>>2])>>>0<10)))for(;Lc=Lc+1|0,(Mc=w(Mc,10))>>>0<=Gc>>>0;);if((0|(Gc=(Pc-(102==(0|_c)?0:Lc)|0)-(103==(0|_c)&0!=(0|Pc))|0))<(w(Jc-Tc>>2,9)+-9|0)){if(Qc=(Tc+((Oc=(0|(Sc=Gc+9216|0))/9|0)<<2)|0)-4092|0,Gc=10,(0|(Mc=Sc-w(Oc,9)|0))<=7)for(;Gc=w(Gc,10),Oc=(0|Mc)<7,Mc=Mc+1|0,Oc;);if(Xc=Qc+4|0,((Rc=(Uc=q[Qc>>2])-w(Gc,Sc=(Uc>>>0)/(Gc>>>0)|0)|0)||(0|Xc)!=(0|Jc))&&(Wc=Rc>>>0<(Oc=Gc>>>1)>>>0?.5:(0|Jc)==(0|Xc)&&(0|Oc)==(0|Rc)?1:1.5,Ub=1&Sc?9007199254740994:9007199254740992,!Yc|45!=r[0|Zc]||(Wc=-Wc,Ub=-Ub),Oc=Uc-Rc|0,q[Qc>>2]=Oc,Ub+Wc!=Ub)){if(Gc=Gc+Oc|0,1e9<=(q[Qc>>2]=Gc)>>>0)for(;(Qc=Qc+-4|(q[Qc>>2]=0))>>>0>>0&&(q[(Kc=Kc+-4|0)>>2]=0),Gc=q[Qc>>2]+1|0,999999999<(q[Qc>>2]=Gc)>>>0;);if(Lc=w(Tc-Kc>>2,9),Mc=10,!((Gc=q[Kc>>2])>>>0<10))for(;Lc=Lc+1|0,(Mc=w(Mc,10))>>>0<=Gc>>>0;);}Jc=(Gc=Qc+4|0)>>>0>>0?Gc:Jc}j:{for(;;){if((Uc=Jc)>>>(Sc=0)<=Kc>>>0)break j;if(q[(Jc=Uc+-4|0)>>2])break}Sc=1}if(103==(0|_c)){if(Pc=((Gc=(0|Lc)<(0|(Jc=Pc||1))&-5<(0|Lc))?-1^Lc:-1)+Jc|0,Ic=(Gc?-1:-2)+Ic|0,!(Oc=8&Hc)){if(Jc=9,Sc&&(Oc=q[Uc+-4>>2])&&!((Oc>>>(Jc=0))%(Gc=10)))for(;Jc=Jc+1|0,!((Oc>>>0)%((Gc=w(Gc,10))>>>0)););Gc=w(Uc-Tc>>2,9)+-9|0,Pc=102!=(32|Ic)?((Oc=0)|Pc)<(0|(Gc=0<(0|(Gc=(Gc+Lc|0)-Jc|0))?Gc:0))?Pc:Gc:((Oc=0)|Pc)<(0|(Gc=0<(0|(Gc=Gc-Jc|0))?Gc:0))?Pc:Gc}}else Oc=8&Hc;if(Qc=0!=(0|(Mc=Pc|Oc)),Gc=a,$c=Fc,Jc=0<(0|Lc)?Lc:0,102!=(0|(Rc=32|Ic))){if((Vc-(Jc=ea((Jc=Lc>>31)+Lc^Jc,0,Vc))|0)<=1)for(;o[0|(Jc=Jc+-1|0)]=48,(Vc-Jc|0)<2;);o[0|(Xc=Jc+-2|0)]=Ic,o[Jc+-1|0]=(0|Lc)<0?45:43,Jc=Vc-Xc|0}_(Gc,32,$c,Qc=1+(Jc+(Qc+(Pc+Yc|0)|0)|0)|0,Hc),Z(a,Zc,Yc),_(a,48,Fc,Qc,65536^Hc);n:{o:{p:{if(102==(0|Rc)){for(Gc=16+Nc|8,Lc=16+Nc|9,Kc=Ic=Tc>>>0>>0?Tc:Kc;;){Jc=ea(q[Kc>>2],0,Lc);q:if((0|Ic)==(0|Kc))(0|Jc)==(0|Lc)&&(o[24+Nc|0]=48,Jc=Gc);else{if(Jc>>>0<=16+Nc>>>0)break q;for(;o[0|(Jc=Jc+-1|0)]=48,16+Nc>>>0>>0;);}if(Z(a,Jc,Lc-Jc|0),!((Kc=Kc+4|0)>>>0<=Tc>>>0))break}if(Mc&&Z(a,3219,1),(0|Pc)<1|Uc>>>0<=Kc>>>0)break p;for(;;){if(16+Nc>>>0<(Jc=ea(q[Kc>>2],0,Lc))>>>0)for(;o[0|(Jc=Jc+-1|0)]=48,16+Nc>>>0>>0;);if(Z(a,Jc,(0|Pc)<9?Pc:9),Jc=Pc+-9|0,Uc>>>0<=(Kc=Kc+4|0)>>>0)break o;if(Gc=9<(0|Pc),Pc=Jc,!Gc)break}break o}r:if(!((0|Pc)<0))for(Ic=Sc?Uc:Kc+4|0,Gc=16+Nc|8,Tc=16+Nc|9,Lc=Kc;;){(0|Tc)==(0|(Jc=ea(q[Lc>>2],0,Tc)))&&(o[24+Nc|0]=48,Jc=Gc);s:if((0|Kc)==(0|Lc))Z(a,Jc,1),Jc=Jc+1|0,(0|Pc)<1&&!Oc||Z(a,3219,1);else{if(Jc>>>0<=16+Nc>>>0)break s;for(;o[0|(Jc=Jc+-1|0)]=48,16+Nc>>>0>>0;);}if(Z(a,Rc=Jc,(0|(Jc=Tc-Jc|0))<(0|Pc)?Jc:Pc),Pc=Pc-Jc|0,Ic>>>0<=(Lc=Lc+4|0)>>>0)break r;if(!(-1<(0|Pc)))break}_(a,48,Pc+18|0,18,0),Z(a,Xc,Vc-Xc|0);break n}Jc=Pc}_(a,48,Jc+9|0,9,0)}}else{if(Oc=(Tc=32&Ic)?Zc+9|0:Zc,!(11>>0)&&(Jc=12-Gc|0)){for(Wc=8;Wc*=16,Jc=Jc+-1|0;);Ub=45!=r[0|Oc]?Ub+Wc-Wc:-(Wc+(-Ub-Wc))}for((0|Vc)==(0|(Jc=ea((Lc=(Jc=q[44+Nc>>2])>>31)^Jc+Lc,0,Vc)))&&(o[15+Nc|0]=48,Jc=15+Nc|0),Pc=2|Yc,Lc=q[44+Nc>>2],o[0|(Sc=Jc+-2|0)]=Ic+15,o[Jc+-1|0]=(0|Lc)<0?45:43,Jc=8&Hc,Kc=16+Nc|0;Ic=Kc,Rc=Tc,Lc=y(Ub)<2147483648?~~Ub:-2147483648,o[0|Kc]=Rc|r[Lc+3168|0],1!=((Kc=Ic+1|0)-(16+Nc|0)|0)|(0==(Ub=16*(Ub-(0|Lc)))?!(Jc|0<(0|Gc)):0)||(o[Ic+1|0]=46,Kc=Ic+2|0),0!=Ub;);_(a,32,Fc,Qc=(Ic=!Gc|(0|Gc)<=((Kc-Nc|0)-18|0)?((Vc-(16+Nc|0)|0)-Sc|0)+Kc|0:2+((Gc+Vc|0)-Sc|0)|0)+Pc|0,Hc),Z(a,Oc,Pc),_(a,48,Fc,Qc,65536^Hc),Z(a,16+Nc|0,Gc=Kc-(16+Nc|0)|0),_(a,48,Ic-((Jc=Gc)+(Gc=Vc-Sc|0)|0)|0,0,0),Z(a,Sc,Gc)}else _(a,32,Fc,Qc=Yc+3|0,-65537&Hc),Z(a,Zc,Yc),Gc=Ic>>>5&1,Z(a,Ub!=Ub?Gc?3211:3215:Gc?3203:3207,3);return _(a,32,Fc,Qc,8192^Hc),L=560+Nc|0,0|((0|Qc)<(0|Fc)?Fc:Qc)},n[16]=function(a,Ub){var uc,Dc,Ec;a|=0,Ub=q[(uc=Ub|=0)>>2]+15&-16,q[uc>>2]=Ub+16,Dc=a,Ec=Ea(q[Ub>>2],q[Ub+4>>2],q[Ub+8>>2],q[Ub+12>>2]),v[Dc>>3]=Ec},{__wasm_call_ctors:function(){},csmGetVersion:function(){return 67108864},csmGetLatestMocVersion:function(){return 3},csmGetMocVersion:function(a,Ub){return Ub|=0,L=Ub=L-16|0,a=(a|=0)?ma(a)?(Y(4,1533,0),0):r[a+4|0]:(q[Ub+4>>2]=1246,q[Ub>>2]=1671,Y(4,1087,Ub),0),L=Ub+16|0,0|a},csmSetLogFunction:function(a){a|=0,q[1641]=a},csmReviveMocInPlace:function(a,qi){var ri;return qi|=0,L=ri=L-48|0,a=(a|=0)?(a+63&-64)==(0|a)?(qi+63&-64)==(0|qi)&&qi?jb(a):(q[20+ri>>2]=1592,q[16+ri>>2]=1688,Y(4,1087,16+ri|0),0):(q[36+ri>>2]=1441,q[32+ri>>2]=1688,Y(4,1087,32+ri|0),0):(q[4+ri>>2]=1246,q[ri>>2]=1688,Y(4,1087,ri),0),L=48+ri|0,0|a},csmReadCanvasInfo:function(a,_h,$h,ai){var bi;_h|=0,$h|=0,ai|=0,L=bi=L+-64|0,(a|=0)?_h?$h?ai?(a=q[q[a>>2]+708>>2],q[_h>>2]=q[a+12>>2],q[_h+4>>2]=q[a+16>>2],q[$h>>2]=q[a+4>>2],q[$h+4>>2]=q[a+8>>2],q[ai>>2]=q[a>>2]):(q[52+bi>>2]=1782,q[48+bi>>2]=1708,Y(4,1087,48+bi|0)):(q[36+bi>>2]=1753,q[32+bi>>2]=1708,Y(4,1087,32+bi|0)):(q[20+bi>>2]=1726,q[16+bi>>2]=1708,Y(4,1087,16+bi|0)):(q[4+bi>>2]=1651,q[bi>>2]=1708,Y(4,1087,bi)),L=64+bi|0},csmGetSizeofModel:wa,csmInitializeModelInPlace:va,csmUpdateModel:function(a){var Zh;L=Zh=L-16|0,(a|=0)?ta(a):(q[4+Zh>>2]=1651,q[Zh>>2]=1890,Y(4,1087,Zh)),L=16+Zh|0},csmGetParameterCount:function(a){var Yh;return L=Yh=L-16|0,a=(a|=0)?q[a+292>>2]:(q[4+Yh>>2]=1651,q[Yh>>2]=1905,Y(4,1087,Yh),-1),L=16+Yh|0,0|a},csmGetParameterIds:function(a){var Xh;return L=Xh=L-16|0,a=(a|=0)?q[q[a>>2]+900>>2]:(q[4+Xh>>2]=1651,q[Xh>>2]=1926,Y(4,1087,Xh),0),L=16+Xh|0,0|a},csmGetParameterMinimumValues:function(a){var Wh;return L=Wh=L-16|0,a=(a|=0)?q[q[a>>2]+912>>2]:(q[4+Wh>>2]=1651,q[Wh>>2]=1945,Y(4,1087,Wh),0),L=16+Wh|0,0|a},csmGetParameterMaximumValues:function(a){var Vh;return L=Vh=L-16|0,a=(a|=0)?q[q[a>>2]+908>>2]:(q[4+Vh>>2]=1651,q[Vh>>2]=1974,Y(4,1087,Vh),0),L=16+Vh|0,0|a},csmGetParameterDefaultValues:function(a){var Uh;return L=Uh=L-16|0,a=(a|=0)?q[q[a>>2]+916>>2]:(q[4+Uh>>2]=1651,q[Uh>>2]=2003,Y(4,1087,Uh),0),L=16+Uh|0,0|a},csmGetParameterValues:function(a){var Sh;return L=Sh=L-16|0,a=(a|=0)?q[a+300>>2]:(q[4+Sh>>2]=1651,q[Sh>>2]=2032,Y(4,1087,Sh),0),L=16+Sh|0,0|a},csmGetPartCount:function(a){var Rh;return L=Rh=L-16|0,a=(a|=0)?q[a+4>>2]:(q[4+Rh>>2]=1651,q[Rh>>2]=2054,Y(4,1087,Rh),-1),L=16+Rh|0,0|a},csmGetPartIds:function(a){var Qh;return L=Qh=L-16|0,a=(a|=0)?q[q[a>>2]+712>>2]:(q[4+Qh>>2]=1651,q[Qh>>2]=2070,Y(4,1087,Qh),0),L=16+Qh|0,0|a},csmGetPartOpacities:function(a){var Ph;return L=Ph=L-16|0,a=(a|=0)?q[a+52>>2]:(q[4+Ph>>2]=1651,q[Ph>>2]=2084,Y(4,1087,Ph),0),L=16+Ph|0,0|a},csmGetPartParentPartIndices:function(a){var Oh;return L=Oh=L-16|0,a=(a|=0)?q[q[a>>2]+740>>2]:(q[4+Oh>>2]=1651,q[Oh>>2]=2104,Y(4,1087,Oh),0),L=16+Oh|0,0|a},csmGetDrawableCount:function(a){var Nh;return L=Nh=L-16|0,a=(a|=0)?q[a+200>>2]:(q[4+Nh>>2]=1651,q[Nh>>2]=2132,Y(4,1087,Nh),-1),L=16+Nh|0,0|a},csmGetDrawableIds:function(a){var Mh;return L=Mh=L-16|0,a=(a|=0)?q[q[a>>2]+820>>2]:(q[4+Mh>>2]=1651,q[Mh>>2]=2152,Y(4,1087,Mh),0),L=16+Mh|0,0|a},csmGetDrawableConstantFlags:function(a){var Lh;return L=Lh=L-16|0,a=(a|=0)?q[q[a>>2]+872>>2]:(q[4+Lh>>2]=1651,q[Lh>>2]=2170,Y(4,1087,Lh),0),L=16+Lh|0,0|a},csmGetDrawableDynamicFlags:function(a){var Kh;return L=Kh=L-16|0,a=(a|=0)?q[a+260>>2]:(q[4+Kh>>2]=1651,q[Kh>>2]=2198,Y(4,1087,Kh),0),L=16+Kh|0,0|a},csmGetDrawableTextureIndices:function(a){var Jh;return L=Jh=L-16|0,a=(a|=0)?q[q[a>>2]+868>>2]:(q[4+Jh>>2]=1651,q[Jh>>2]=2225,Y(4,1087,Jh),0),L=16+Jh|0,0|a},csmGetDrawableDrawOrders:function(a){var Ih;return L=Ih=L-16|0,a=(a|=0)?q[a+268>>2]:(q[4+Ih>>2]=1651,q[Ih>>2]=2254,Y(4,1087,Ih),0),L=16+Ih|0,0|a},csmGetDrawableRenderOrders:function(a){var Hh;return L=Hh=L-16|0,a=(a|=0)?q[a+264>>2]:(q[4+Hh>>2]=1651,q[Hh>>2]=2279,Y(4,1087,Hh),0),L=16+Hh|0,0|a},csmGetDrawableOpacities:function(a){var Gh;return L=Gh=L-16|0,a=(a|=0)?q[a+276>>2]:(q[4+Gh>>2]=1651,q[Gh>>2]=2306,Y(4,1087,Gh),0),L=16+Gh|0,0|a},csmGetDrawableMaskCounts:function(a){var Fh;return L=Fh=L-16|0,a=(a|=0)?q[q[a>>2]+896>>2]:(q[4+Fh>>2]=1651,q[Fh>>2]=2330,Y(4,1087,Fh),0),L=16+Fh|0,0|a},csmGetDrawableMasks:function(a){var Eh;return L=Eh=L-16|0,a=(a|=0)?q[q[a>>2]+832>>2]:(q[4+Eh>>2]=1651,q[Eh>>2]=2355,Y(4,1087,Eh),0),L=16+Eh|0,0|a},csmGetDrawableVertexCounts:function(a){var Dh;return L=Dh=L-16|0,a=(a|=0)?q[q[a>>2]+876>>2]:(q[4+Dh>>2]=1651,q[Dh>>2]=2375,Y(4,1087,Dh),0),L=16+Dh|0,0|a},csmGetDrawableVertexPositions:function(a){var Ch;return L=Ch=L-16|0,a=(a|=0)?q[a+272>>2]:(q[4+Ch>>2]=1651,q[Ch>>2]=2402,Y(4,1087,Ch),0),L=16+Ch|0,0|a},csmGetDrawableVertexUvs:function(a){var Bh;return L=Bh=L-16|0,a=(a|=0)?q[q[a>>2]+824>>2]:(q[4+Bh>>2]=1651,q[Bh>>2]=2432,Y(4,1087,Bh),0),L=16+Bh|0,0|a},csmGetDrawableIndexCounts:function(a){var gh;return L=gh=L-16|0,a=(a|=0)?q[q[a>>2]+888>>2]:(q[4+gh>>2]=1651,q[gh>>2]=2456,Y(4,1087,gh),0),L=16+gh|0,0|a},csmGetDrawableIndices:function(a){var fh;return L=fh=L-16|0,a=(a|=0)?q[q[a>>2]+828>>2]:(q[4+fh>>2]=1651,q[fh>>2]=2482,Y(4,1087,fh),0),L=16+fh|0,0|a},csmResetDrawableDynamicFlags:function(a){var dh;L=dh=L-16|0,(a|=0)?q[a+256>>2]=1:(q[4+dh>>2]=1651,q[dh>>2]=2504,Y(4,1087,dh)),L=16+dh|0},csmMallocMoc:function(a){var rd;return ya(12+(L=rd=L-16|0)|0,64,a|=0),L=16+rd|0,q[12+rd>>2]},csmMallocModelAndInitialize:function(a){var Fc,nd=0,qd=0;return L=Fc=L-16|0,(a|=0)&&(ya(12+Fc|0,16,qd=wa(a))||(nd=va(a,q[12+Fc>>2],qd))||(za(q[12+Fc>>2]),nd=0)),L=16+Fc|0,0|nd},csmMalloc:function(a){return 0|ja(a|=0)},csmFree:function(a){za(a|=0)},stackSave:function(){return 0|L},stackAlloc:function(a){return 0|(L=a=L-(a|=0)&-16)},stackRestore:function(a){L=a|=0},__growWasmMemory:function(a){return 0|function(pagesToAdd){pagesToAdd|=0;var P=0|N(),Q=P+pagesToAdd|0;if(P>>0<(d=(e=a+b|0)+-1|0)>>>0)for(;f=r[0|a],o[0|a]=r[0|d],o[0|d]=f,(a=a+1|0)>>>0<(d=d+-1|0)>>>0;);if(a=e,!c)break}}function Y(a,b,c){var g;L=g=L-272|0,t[1640]>a>>>0||(a=q[1641])&&(sa(16+g|0,b,q[12+g>>2]=c),n[a](16+g|0)),L=272+g|0}function Z(a,b,c){32&r[0|a]||function(a,Ub,Fc){var Gc=0,Hc=0,Ic=0;a:{if(!(Gc=q[Fc+16>>2])){if(function(a){var Ub=0;if(Ub=r[a+74|0],o[a+74|0]=Ub+-1|Ub,8&(Ub=q[a>>2]))return q[a>>2]=32|Ub,1;return q[a+4>>2]=0,q[a+8>>2]=0,Ub=q[a+44>>2],q[a+28>>2]=Ub,q[a+20>>2]=Ub,q[a+16>>2]=Ub+q[a+48>>2],0}(Fc))break a;Gc=q[Fc+16>>2]}if(Ic=q[Fc+20>>2],Gc-Ic>>>0>>0)return n[q[Fc+36>>2]](Fc,a,Ub);b:if(!(o[Fc+75|0]<0)){for(Gc=Ub;;){if(!(Hc=Gc))break b;if(10==r[(Gc=Hc+-1|0)+a|0])break}if(n[q[Fc+36>>2]](Fc,a,Hc)>>>0>>0)break a;Ub=Ub-Hc|0,a=a+Hc|0,Ic=q[Fc+20>>2]}fa(Ic,a,Ub),q[Fc+20>>2]=q[Fc+20>>2]+Ub}}(b,c,a)}function _(a,b,c,h,i){var j,k=0,l=0;if(L=j=L-256|0,!(73728&i|(0|c)<=(0|h))){if(ba(j,b,(k=(i=c-h|0)>>>0<256)?i:256),b=a,l=j,!k){for(c=c-h|0;Z(a,j,256),255<(i=i+-256|0)>>>0;);i=255&c}Z(b,l,i)}L=256+j|0}function $(a){var b,c;return x((b=a*a)*b*(c=b*a)*(2718311493989822e-21*b-.00019839334836096632)+(c*(.008333329385889463*b-.16666666641626524)+a))}function aa(a){var h;return x(-.499999997251031*(a*=a)+1+.04166662332373906*(h=a*a)+a*h*(2439044879627741e-20*a-.001388676377460993))}function ba(a,i,m){var n=0,p=0,r=0,s=0;if(m&&(o[(n=a+m|0)+-1|0]=i,o[0|a]=i,!(m>>>0<3||(o[n+-2|0]=i,o[a+1|0]=i,o[n+-3|0]=i,o[a+2|0]=i,m>>>0<7||(o[n+-4|0]=i,o[a+3|0]=i,m>>>0<9||(p=(n=0-a&3)+a|0,i=w(255&i,16843009),q[p>>2]=i,q[(n=(m=m-n&-4)+p|0)+-4>>2]=i,m>>>0<9||(q[p+8>>2]=i,q[p+4>>2]=i,q[n+-8>>2]=i,q[n+-12>>2]=i,m>>>0<25||(q[p+24>>2]=i,q[p+20>>2]=i,q[p+16>>2]=i,q[p+12>>2]=i,q[n+-16>>2]=i,q[n+-20>>2]=i,q[n+-24>>2]=i,q[n+-28>>2]=i,(m=m-(s=4&p|24)|0)>>>0<32))))))))for(r=n=i,i=p+s|0;q[i+24>>2]=r,q[i+28>>2]=n,q[i+16>>2]=r,q[i+20>>2]=n,q[i+8>>2]=r,q[i+12>>2]=n,q[i>>2]=r,q[i+4>>2]=n,i=i+32|0,31<(m=m+-32|0)>>>0;);return a}function ca(a,i){var m=0;if(a>>>0<(i=(a+i|0)-1|0)>>>0)for(;m=r[0|a],o[0|a]=r[0|i],o[0|i]=m,(a=a+1|0)>>>0<(i=i+-1|0)>>>0;);}function da(a){var i;return(0|(a=(i=q[2052])+a|0))<=-1?(q[1906]=48,-1):a>>>0<=N()<<16>>>0||J(0|a)?(q[2052]=a,i):(q[1906]=48,-1)}function ea(a,q,t){var u=0,v=0,x=0;if(1==(0|q)&a>>>0<0|q>>>0<1)u=a;else for(;v=gc(u=hc(a,q,10),x=v=M,10),o[0|(t=t+-1|0)]=a-v|48,v=9==(0|q)&4294967295>>0|9>>0,a=u,q=x,v;);if(u)for(;a=(u>>>0)/10|0,o[0|(t=t+-1|0)]=u-w(a,10)|48,q=9>>0,u=a,q;);return t}function fa(a,t,w){var y,z=0;if(8192<=w>>>0)I(0|a,0|t,0|w);else{y=a+w|0;a:if(3&(a^t))if(y>>>0<4)w=a;else if((z=y-4|0)>>>0>>0)w=a;else for(w=a;o[0|w]=r[0|t],o[w+1|0]=r[t+1|0],o[w+2|0]=r[t+2|0],o[w+3|0]=r[t+3|0],t=t+4|0,(w=w+4|0)>>>0<=z>>>0;);else{b:if((0|w)<1)w=a;else if(3&a)for(w=a;;){if(o[0|w]=r[0|t],t=t+1|0,y>>>0<=(w=w+1|0)>>>0)break b;if(!(3&w))break}else w=a;if(!((a=-4&y)>>>0<64||(z=a+-64|0)>>>0>>0))for(;q[w>>2]=q[t>>2],q[w+4>>2]=q[t+4>>2],q[w+8>>2]=q[t+8>>2],q[w+12>>2]=q[t+12>>2],q[w+16>>2]=q[t+16>>2],q[w+20>>2]=q[t+20>>2],q[w+24>>2]=q[t+24>>2],q[w+28>>2]=q[t+28>>2],q[w+32>>2]=q[t+32>>2],q[w+36>>2]=q[t+36>>2],q[w+40>>2]=q[t+40>>2],q[w+44>>2]=q[t+44>>2],q[w+48>>2]=q[t+48>>2],q[w+52>>2]=q[t+52>>2],q[w+56>>2]=q[t+56>>2],q[w+60>>2]=q[t+60>>2],t=t- -64|0,(w=w- -64|0)>>>0<=z>>>0;);if(a>>>0<=w>>>0)break a;for(;q[w>>2]=q[t>>2],t=t+4|0,(w=w+4|0)>>>0>>0;);}if(w>>>0>>0)for(;o[0|w]=r[0|t],t=t+1|0,(0|y)!=(0|(w=w+1|0)););}}function ga(a){return a+-48>>>0<10}function ha(a,o){a:if(1024<=(0|o)){if(a*=898846567431158e293,(0|o)<2047){o=o+-1023|0;break a}a*=898846567431158e293,o=((0|o)<3069?o:3069)+-2046|0}else-1023<(0|o)||(a*=22250738585072014e-324,o=-2045<(0|o)?o+1022|0:(a*=22250738585072014e-324,(-3066<(0|o)?o:-3066)+2044|0));return f(0,0),f(1,o+1023<<20),a*g()}function ia(a,t,A,B,C,D,E){var F,R,U,G=0,H=0,I=0,J=0,K=0,M=0,N=0,O=0,P=0,Q=0,S=0,T=0;q[76+(L=F=L-80|0)>>2]=t,U=55+F|0,R=56+F|0,t=0;a:{b:for(;;){(0|P)<0||(P=(2147483647-P|0)<(0|t)?(q[1906]=61,-1):t+P|0);d:{e:{f:{g:{h:{i:{j:{k:{l:{m:{n:{o:{p:{q:{if(J=q[76+F>>2],I=r[0|(t=J)]){for(;;){r:{s:{t:if(G=255&I){if(37!=(0|G))break s;for(I=t;;){if(37!=r[t+1|0])break t;if(G=t+2|0,q[76+F>>2]=G,I=I+1|0,H=r[t+2|0],t=G,37!=(0|H))break}}else I=t;if(t=I-J|0,a&&Z(a,J,t),t)continue b;Q=-1,I=1,K=!ga(o[q[76+(G=F)>>2]+1|0]),t=q[76+F>>2],K|36!=r[t+2|0]||(Q=o[t+1|0]+-48|0,S=1,I=3),t=I+t|0,q[G+76>>2]=t;u:if(31<(H=(M=o[(I=0)|t])+-32|0)>>>0)G=t;else if(G=t,75913&(H=1<>2]=G,I|=H,31<(H=(M=o[t+1|0])+-32|0)>>>0)break u;if(t=G,!(75913&(H=1<>2]}else{if(K=F,ga(o[G+1|0])&&(t=q[76+F>>2],36==r[t+2|0]))q[((o[t+1|0]<<2)+C|0)-192>>2]=10,N=q[((o[t+1|0]<<3)+B|0)-384>>2],S=1,t=t+3|0;else{if(S)break q;N=S=0,a&&(t=q[A>>2],q[A>>2]=t+4,N=q[t>>2]),t=q[76+F>>2]+1|0}if(q[K+76>>2]=t,-1<(0|N))break v;N=0-N|0,I|=8192}H=-1;y:if(46==r[0|t])if(42!=r[t+1|0])q[76+F>>2]=t+1,H=qa(76+F|0),t=q[76+F>>2];else{if(ga(o[t+2|0])&&(t=q[76+F>>2],36==r[t+3|0])){q[((o[t+2|0]<<2)+C|0)-192>>2]=10,H=q[((o[t+2|0]<<3)+B|0)-384>>2],t=t+4|0,q[76+F>>2]=t;break y}if(S)break q;H=a?(t=q[A>>2],q[A>>2]=t+4,q[t>>2]):0,t=q[76+F>>2]+2|0,q[76+F>>2]=t}for(G=0;;){if(T=G,O=-1,57>>0)break a;if(M=t+1|0,q[76+F>>2]=M,G=o[0|t],t=M,!((G=r[2639+(G+w(T,58)|0)|0])+-1>>>0<8))break}if(!G)break a;A:{B:{C:{if(19==(0|G)){if((0|Q)<=-1)break C;break a}if((0|Q)<0)break B;q[(Q<<2)+C>>2]=G,G=q[(t=(Q<<3)+B|0)+4>>2],q[64+F>>2]=q[t>>2],q[68+F>>2]=G}if(t=0,!a)continue b;break A}if(!a)break d;pa(F+64|0,G,A,E),M=q[76+F>>2]}if(K=-65537&I,I=8192&I?K:I,Q=2684,G=R,t=o[M+-1|(O=0)],(M=(t=T&&3==(15&t)?-33&t:t)+-88|0)>>>0<=32)break r;D:{E:{F:{G:{if(6<(K=t+-65|0)>>>0){if(83!=(0|t))break e;if(!H)break G;G=q[64+F>>2];break E}switch(K-1|0){case 1:break F;case 0:case 2:break e;default:break p}}_(a,32,N,t=0,I);break D}q[12+F>>2]=0,q[8+F>>2]=q[64+F>>2],q[64+F>>2]=8+F,H=-1,G=8+F|0}t=0;H:{for(;;){if(!(J=q[G>>2]))break H;if((K=(0|(J=oa(4+F|0,J)))<0)|H-t>>>0>>0)break;if(G=G+4|0,!((t=t+J|0)>>>0>>0))break H}if(O=-1,K)break a}if(_(a,32,N,t,I),t)for(H=0,G=q[64+F>>2];;){if(!(J=q[G>>2]))break D;if((0|t)<(0|(H=(J=oa(4+F|0,J))+H|0)))break D;if(Z(a,4+F|0,J),G=G+4|0,!(H>>>0>>0))break}else t=0}_(a,32,N,t,8192^I),t=(0|t)<(0|N)?N:t;continue b}G=t+1|0,q[76+F>>2]=G,I=r[t+1|0],t=G;continue}break}switch(M-1|0){case 21:break i;case 23:break k;case 22:break l;case 11:case 16:break m;case 10:break n;case 26:break o;case 8:case 12:case 13:case 14:break p;case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 9:case 15:case 17:case 18:case 19:case 20:case 24:case 25:case 27:case 29:case 30:break e;case 28:break h;default:break j}}if(O=P,a)break a;if(!S)break d;for(t=1;;){if(a=q[(t<<2)+C>>2]){if(pa((t<<3)+B|0,a,A,E),10!=(0|(t=t+(O=1)|0)))continue;break a}break}if(O=1,10<=t>>>0)break a;for(;;){if(q[(t<<2)+C>>2])break q;if(a=8>>0,t=t+1|0,a)break}break a}O=-1;break a}t=0|n[D](a,v[64+F>>3],N,H,I,t);continue}G=(t=Ia(J=(t=q[64+F>>2])||2694,H))||H+J|0,I=K,H=t?t-J|0:H;break e}o[55+F|0]=q[64+F>>2],H=1,J=U,I=K;break e}if(t=K=q[68+F>>2],J=q[64+F>>2],(0|t)<-1||(0|t)<=-1&&!(4294967295>>0)){t=0-(t+(0>>0)|0)|0,J=0-J|0,q[64+F>>2]=J,q[68+F>>2]=t,O=1,Q=2684;break g}if(2048&I){O=1,Q=2685;break g}Q=(O=1&I)?2686:2684;break g}if(J=Oa(q[64+F>>2],q[68+F>>2],R),!(8&I))break f;H=(0|(t=R-J|0))<(0|H)?H:t+1|0;break f}H=8>>0?H:8,I|=8,t=120}if(J=Na(q[64+F>>2],q[68+F>>2],R,32&t),!(8&I)|!(q[64+F>>2]|q[68+F>>2]))break f;Q=2684+(t>>>4)|0,O=2;break f}if(7<(G=255&T)>>>(t=0))continue;I:switch(G-1|0){default:case 0:q[q[64+F>>2]>>2]=P;continue;case 1:G=q[64+F>>2],q[G>>2]=P,q[G+4>>2]=P>>31;continue;case 2:p[q[64+F>>2]>>1]=P;continue;case 3:o[q[64+F>>2]]=P;continue;case 5:q[q[64+F>>2]>>2]=P;continue;case 4:continue;case 6:break I}G=q[64+F>>2],q[G>>2]=P,q[G+4>>2]=P>>31;continue}J=q[64+F>>2],t=q[68+F>>2],Q=2684}J=ea(J,t,R)}I=-1<(0|H)?-65537&I:I,H=!!((K=t=q[68+F>>2])|(M=q[64+F>>2]))|H?(0|(t=!(K|M)+(R-J|0)|0))<(0|H)?H:t:(J=R,0)}_(a,32,t=(0|N)<(0|(G=(H=(0|H)<(0|(K=G-J|0))?K:H)+O|0))?G:N,G,I),Z(a,Q,O),_(a,48,t,G,65536^I),_(a,48,H,K,0),Z(a,J,K),_(a,32,t,G,8192^I);continue}break}O=0}return L=80+F|0,O}function ja(a){var Y,o=0,w=0,A=0,B=0,C=0,D=0,E=0,V=0,W=0,X=0,Z=0,_=0;L=Y=L-16|0;a:{b:{c:{d:{e:{f:{g:{h:{i:{j:{k:{if(a>>>0<=244){if(3&(o=(C=q[1923])>>>(a=(D=a>>>0<11?16:a+11&-8)>>>3))){a=(o=q[(B=(w=a+(1&(-1^o))|0)<<3)+7740>>2])+8|0,(0|(A=q[o+8>>2]))!=(0|(B=B+7732|0))?(q[A+12>>2]=B,q[B+8>>2]=A):(Z=7692,_=jc(w)&C,q[Z>>2]=_),w<<=3,q[o+4>>2]=3|w,q[(o=o+w|0)+4>>2]=1|q[o+4>>2];break a}if(D>>>0<=(V=q[1925])>>>0)break k;if(o){w=o=(a=(0-(a=(0-(w=2<>>12&16,w|=o=(a>>>=o)>>>5&8,w|=o=(a>>>=o)>>>2&4,o=q[(A=(w=((w|=o=(a>>>=o)>>>1&2)|(o=(a>>>=o)>>>1&1))+(a>>>o)|0)<<3)+7740>>2],(0|(a=q[o+8>>2]))!=(0|(A=A+7732|0))?(q[a+12>>2]=A,q[A+8>>2]=a):(C=jc(w)&C,q[1923]=C),a=o+8|0,q[o+4>>2]=3|D,B=(w<<=3)-D|0,q[(E=o+D|0)+4>>2]=1|B,q[o+w>>2]=B,V&&(o=7732+((w=V>>>3)<<3)|0,A=q[1928],w=(w=1<>2]:(q[1923]=w|C,o),q[o+8>>2]=A,q[w+12>>2]=A,q[A+12>>2]=o,q[A+8>>2]=w),q[1928]=E,q[1925]=B;break a}if(!(X=q[1924]))break k;for(w=o=(a=(X&0-X)-1|0)>>>12&16,w|=o=(a>>>=o)>>>5&8,w|=o=(a>>>=o)>>>2&4,o=q[7996+(((w|=o=(a>>>=o)>>>1&2)|(o=(a>>>=o)>>>1&1))+(a>>>o)<<2)>>2],A=(-8&q[o+4>>2])-D|0,w=o;a=(a=q[w+16>>2])||q[w+20>>2];)A=(w=(B=(-8&q[a+4>>2])-D|0)>>>0>>0)?B:A,o=w?a:o,w=a;if(W=q[o+24>>2],(0|(B=q[o+12>>2]))!=(0|o)){a=q[o+8>>2],q[a+12>>2]=B,q[B+8>>2]=a;break b}if(!(a=q[(w=o+20|0)>>2])){if(!(a=q[o+16>>2]))break j;w=o+16|0}for(;E=w,(a=q[(w=(B=a)+20|0)>>2])||(w=B+16|0,a=q[B+16>>2]););q[E>>2]=0;break b}if(D=-1,!(4294967231>>0)&&(D=-8&(o=a+11|0),V=q[1924])){w=0-D|0,C=0,(o>>>=8)&&(C=31,16777215>>0||(C=28+((a=((C=(o<<=A=o+1048320>>>16&8)<<(a=o+520192>>>16&4))<<(o=C+245760>>>16&2)>>>15)-(o|a|A)|0)<<1|D>>>a+21&1)|0));q:{r:{if(A=q[7996+(C<<2)>>2])for(o=D<<(31==(0|C)?0:25-(C>>>1)|0),a=0;;){if(!(w>>>0<=(E=(-8&q[A+4>>2])-D|0)>>>0||(B=A,w=E))){w=0,a=A;break r}if(E=q[A+20>>2],A=q[16+((o>>>29&4)+A|0)>>2],a=E?(0|E)==(0|A)?a:E:a,o<<=0!=(0|A),!A)break}else a=0;if(!(a|B)){if(!(a=(0-(a=2<>>12&16,A|=o=(a>>>=o)>>>5&8,A|=o=(a>>>=o)>>>2&4,a=q[7996+(((A|=o=(a>>>=o)>>>1&2)|(o=(a>>>=o)>>>1&1))+(a>>>o)<<2)>>2]}if(!a)break q}for(;w=(o=(A=(-8&q[a+4>>2])-D|0)>>>0>>0)?A:w,B=o?a:B,a=(o=q[a+16>>2])||q[a+20>>2];);}if(!(!B|w>>>0>=q[1925]-D>>>0)){if(E=q[B+24>>2],(0|B)!=(0|(o=q[B+12>>2]))){a=q[B+8>>2],q[a+12>>2]=o,q[o+8>>2]=a;break c}if(!(a=q[(A=B+20|0)>>2])){if(!(a=q[B+16>>2]))break i;A=B+16|0}for(;C=A,(a=q[(A=(o=a)+20|0)>>2])||(A=o+16|0,a=q[o+16>>2]););q[C>>2]=0;break c}}}if(D>>>0<=(o=q[1925])>>>0){a=q[1928],16<=(w=o-D|0)>>>0?(q[1925]=w,A=a+D|0,q[1928]=A,q[A+4>>2]=1|w,q[a+o>>2]=w,q[a+4>>2]=3|D):(q[1928]=0,q[1925]=0,q[a+4>>2]=3|o,q[(o=a+o|0)+4>>2]=1|q[o+4>>2]),a=a+8|0;break a}if(D>>>0<(A=q[1926])>>>0){o=A-D|0,q[1926]=o,w=(a=q[1929])+D|0,q[1929]=w,q[w+4>>2]=1|o,q[a+4>>2]=3|D,a=a+8|0;break a}if((w=(C=(w=B=D+47|(a=0))+(o=q[2041]?q[2043]:(q[2044]=-1,q[2045]=-1,q[2042]=4096,q[2043]=4096,q[2041]=12+Y&-16^1431655768,q[2046]=0,q[2034]=0,4096))|0)&(E=0-o|0))>>>0<=D>>>0)break a;if((o=q[2033])&&(W=(V=q[2031])+w|0)>>>0<=V>>>0|o>>>0>>0)break a;if(4&r[8136])break f;v:{w:{if(o=q[1929])for(a=8140;;){if((V=q[a>>2])+q[a+4>>2]>>>0>o>>>0&&V>>>0<=o>>>0)break w;if(!(a=q[a+8>>2]))break}if(-1==(0|(o=da(0))))break g;if(C=w,(A=(a=q[2042])+-1|0)&o&&(C=(w-o|0)+(o+A&0-a)|0),C>>>0<=D>>>0|2147483646>>0)break g;if((a=q[2033])&&(E=(A=q[2031])+C|0)>>>0<=A>>>0|a>>>0>>0)break g;if((0|o)!=(0|(a=da(C))))break v;break e}if(2147483646<(C=E&C-A)>>>0)break g;if((0|(o=da(C)))==(q[a>>2]+q[a+4>>2]|0))break h;a=o}if(!(D+48>>>0<=C>>>0|2147483646>>0|-1==(0|(o=a)))){if(2147483646<(a=(a=q[2043])+(B-C|0)&0-a)>>>0)break e;if(-1!=(0|da(a))){C=a+C|0;break e}da(0-C|0);break g}if(-1!=(0|o))break e;break g}B=0;break b}o=0;break c}if(-1!=(0|o))break e}q[2034]=4|q[2034]}if(2147483646>>0)break d;if(o=da(w),(a=da(0))>>>0<=o>>>0|-1==(0|o)|-1==(0|a))break d;if((C=a-o|0)>>>0<=D+40>>>0)break d}a=q[2031]+C|0,(q[2031]=a)>>>0>t[2032]&&(q[2032]=a);x:{y:{z:{if(w=q[1929]){for(a=8140;;){if(((A=q[a>>2])+(B=q[a+4>>2])|0)==(0|o))break z;if(!(a=q[a+8>>2]))break}break y}for((a=q[1927])>>>0<=o>>>0&&a||(q[1927]=o),a=0,q[2036]=C,q[2035]=o,q[1931]=-1,q[1932]=q[2041],q[2038]=0;A=(w=a<<3)+7732|0,q[w+7740>>2]=A,q[w+7744>>2]=A,32!=(0|(a=a+1|0)););A=(a=C+-40|0)-(w=o+8&7?-8-o&7:0)|0,q[1926]=A,w=o+w|0,q[1929]=w,q[w+4>>2]=1|A,q[4+(a+o|0)>>2]=40,q[1930]=q[2045];break x}if(!(8&r[a+12|0]|o>>>0<=w>>>0|w>>>0>>0)){q[a+4>>2]=B+C,o=(a=w+8&7?-8-w&7:0)+w|0,q[1929]=o,a=(A=q[1926]+C|0)-a|0,q[1926]=a,q[o+4>>2]=1|a,q[4+(w+A|0)>>2]=40,q[1930]=q[2045];break x}}o>>>0<(B=q[1927])>>>0&&(q[1927]=o,B=0),A=o+C|0,a=8140;A:{B:{C:{D:{E:{F:{for(;(0|A)!=q[a>>2];)if(!(a=q[a+8>>2]))break F;if(!(8&r[a+12|0]))break E}for(a=8140;;){if((A=q[a>>2])>>>0<=w>>>0&&w>>>0<(B=A+q[a+4>>2]|0)>>>0)break D;a=q[a+8>>2]}}if(q[a>>2]=o,q[a+4>>2]=q[a+4>>2]+C,q[(W=(o+8&7?-8-o&7:0)+o|0)+4>>2]=3|D,a=((o=A+(A+8&7?-8-A&7:0)|0)-W|0)-D|0,E=D+W|0,(0|o)==(0|w)){q[1929]=E,a=q[1926]+a|0,q[1926]=a,q[E+4>>2]=1|a;break B}if(q[1928]==(0|o)){q[1928]=E,a=q[1925]+a|0,q[1925]=a,q[E+4>>2]=1|a,q[a+E>>2]=a;break B}if(1==(3&(w=q[o+4>>2]))){X=-8&w;G:if(w>>>0<=255){if(B=w>>>3,w=q[o+8>>2],(0|(A=q[o+12>>2]))==(0|w)){Z=7692,_=q[1923]&jc(B),q[Z>>2]=_;break G}q[w+12>>2]=A,q[A+8>>2]=w}else{if(V=q[o+24>>2],(0|(C=q[o+12>>2]))==(0|o))if((D=q[(A=o+20|0)>>2])||(D=q[(A=o+16|0)>>2])){for(;w=A,(D=q[(A=(C=D)+20|0)>>2])||(A=C+16|0,D=q[C+16>>2]););q[w>>2]=0}else C=0;else w=q[o+8>>2],q[w+12>>2]=C,q[C+8>>2]=w;if(V){w=q[o+28>>2];J:{if(q[(A=7996+(w<<2)|0)>>2]==(0|o)){if(q[A>>2]=C)break J;Z=7696,_=q[1924]&jc(w),q[Z>>2]=_;break G}if(!(q[V+(q[V+16>>2]==(0|o)?16:20)>>2]=C))break G}q[C+24>>2]=V,(w=q[o+16>>2])&&(q[C+16>>2]=w,q[w+24>>2]=C),(w=q[o+20>>2])&&(q[C+20>>2]=w,q[w+24>>2]=C)}}o=o+X|0,a=a+X|0}if(q[o+4>>2]=-2&q[o+4>>2],q[E+4>>2]=1|a,(q[a+E>>2]=a)>>>0<=255){a=7732+((o=a>>>3)<<3)|0,o=(w=q[1923])&(o=1<>2]:(q[1923]=o|w,a),q[a+8>>2]=E,q[o+12>>2]=E,q[E+12>>2]=a,q[E+8>>2]=o;break B}if(o=0,(A=a>>>8)&&(o=31,16777215>>0||(o=28+((o=((D=(A<<=B=A+1048320>>>16&8)<<(o=A+520192>>>16&4))<<(A=D+245760>>>16&2)>>>15)-(A|o|B)|0)<<1|a>>>o+21&1)|0)),q[(w=E)+28>>2]=o,q[E+16>>2]=0,w=7996+(o<<2)|(q[E+20>>2]=0),(A=q[1924])&(B=1<>>1)|0),o=q[w>>2];;){if((-8&q[(w=o)+4>>2])==(0|a))break C;if(o=A>>>29,A<<=1,!(o=q[(B=(4&o)+w|0)+16>>2]))break}q[B+16>>2]=E}else q[1924]=A|B,q[w>>2]=E;q[E+24>>2]=w,q[E+12>>2]=E,q[E+8>>2]=E;break B}for(E=(a=C+-40|0)-(A=o+8&7?-8-o&7:0)|0,q[1926]=E,A=o+A|0,q[1929]=A,q[A+4>>2]=1|E,q[4+(a+o|0)>>2]=40,q[1930]=q[2045],q[(A=(a=(B+(B+-39&7?39-B&7:0)|0)-47|0)>>>0>>0?w:a)+4>>2]=27,a=q[2038],q[A+16>>2]=q[2037],q[A+20>>2]=a,a=q[2036],q[A+8>>2]=q[2035],q[A+12>>2]=a,q[2037]=A+8,q[2036]=C,q[2035]=o,a=A+24|(q[2038]=0);q[a+4>>2]=7,o=a+8|0,a=a+4|0,o>>>0>>0;);if((0|w)==(0|A))break x;if(q[A+4>>2]=-2&q[A+4>>2],B=A-w|0,q[w+4>>2]=1|B,(q[A>>2]=B)>>>0<=255){a=7732+((o=B>>>3)<<3)|0,o=(A=q[1923])&(o=1<>2]:(q[1923]=o|A,a),q[a+8>>2]=w,q[o+12>>2]=w,q[w+12>>2]=a,q[w+8>>2]=o;break x}if(q[w+16>>2]=0,a=q[w+20>>2]=0,(A=B>>>8)&&(a=31,16777215>>0||(a=28+((a=((E=(A<<=C=A+1048320>>>16&8)<<(a=A+520192>>>16&4))<<(A=E+245760>>>16&2)>>>15)-(A|a|C)|0)<<1|B>>>a+21&1)|0)),o=7996+((q[(o=w)+28>>2]=a)<<2)|0,(A=q[1924])&(C=1<>>1)|0),o=q[o>>2];;){if((0|B)==(-8&q[(A=o)+4>>2]))break A;if(o=a>>>29,a<<=1,!(o=q[(C=A+(4&o)|0)+16>>2]))break}q[C+16>>2]=w,q[w+24>>2]=A}else q[1924]=A|C,q[o>>2]=w,q[w+24>>2]=o;q[w+12>>2]=w,q[w+8>>2]=w;break x}a=q[w+8>>2],q[a+12>>2]=E,q[w+8>>2]=E,q[E+24>>2]=0,q[E+12>>2]=w,q[E+8>>2]=a}a=W+8|0;break a}a=q[A+8>>2],q[a+12>>2]=w,q[A+8>>2]=w,q[w+24>>2]=0,q[w+12>>2]=A,q[w+8>>2]=a}if(!((a=q[1926])>>>0<=D>>>0)){o=a-D|0,q[1926]=o,w=(a=q[1929])+D|0,q[1929]=w,q[w+4>>2]=1|o,q[a+4>>2]=3|D,a=a+8|0;break a}}q[1906]=48,a=0;break a}Q:if(E){a=q[B+28>>2];R:{if(q[(A=7996+(a<<2)|0)>>2]==(0|B)){if(q[A>>2]=o)break R;V=jc(a)&V,q[1924]=V;break Q}if(!(q[E+(q[E+16>>2]==(0|B)?16:20)>>2]=o))break Q}q[o+24>>2]=E,(a=q[B+16>>2])&&(q[o+16>>2]=a,q[a+24>>2]=o),(a=q[B+20>>2])&&(q[o+20>>2]=a,q[a+24>>2]=o)}S:if(w>>>0<=15)a=w+D|0,q[B+4>>2]=3|a,q[(a=a+B|0)+4>>2]=1|q[a+4>>2];else if(q[B+4>>2]=3|D,q[(A=B+D|0)+4>>2]=1|w,(q[w+A>>2]=w)>>>0<=255)a=7732+((o=w>>>3)<<3)|0,o=(w=q[1923])&(o=1<>2]:(q[1923]=o|w,a),q[a+8>>2]=A,q[o+12>>2]=A,q[A+12>>2]=a,q[A+8>>2]=o;else{a=0,(D=w>>>8)&&(a=31,16777215>>0||(a=28+((a=((E=(D<<=C=D+1048320>>>16&8)<<(a=D+520192>>>16&4))<<(D=E+245760>>>16&2)>>>15)-(D|a|C)|0)<<1|w>>>a+21&1)|0)),q[(o=A)+28>>2]=a,q[A+16>>2]=0,o=7996+(a<<2)|(q[A+20>>2]=0);V:{if((D=1<>>1)|0),D=q[o>>2];;){if((-8&q[(o=D)+4>>2])==(0|w))break V;if(D=a>>>29,a<<=1,!(D=q[(C=(4&D)+o|0)+16>>2]))break}q[C+16>>2]=A}else q[1924]=D|V,q[o>>2]=A;q[A+24>>2]=o,q[A+12>>2]=A,q[A+8>>2]=A;break S}a=q[o+8>>2],q[a+12>>2]=A,q[o+8>>2]=A,q[A+24>>2]=0,q[A+12>>2]=o,q[A+8>>2]=a}a=B+8|0;break a}X:if(W){a=q[o+28>>2];Y:{if(q[(w=7996+(a<<2)|0)>>2]==(0|o)){if(q[w>>2]=B)break Y;Z=7696,_=jc(a)&X,q[Z>>2]=_;break X}if(!(q[W+(q[W+16>>2]==(0|o)?16:20)>>2]=B))break X}q[B+24>>2]=W,(a=q[o+16>>2])&&(q[B+16>>2]=a,q[a+24>>2]=B),(a=q[o+20>>2])&&(q[B+20>>2]=a,q[a+24>>2]=B)}A>>>0<=15?(a=A+D|0,q[o+4>>2]=3|a,q[(a=a+o|0)+4>>2]=1|q[a+4>>2]):(q[o+4>>2]=3|D,q[(D=o+D|0)+4>>2]=1|A,q[A+D>>2]=A,V&&(a=7732+((w=V>>>3)<<3)|0,B=q[1928],w=(w=1<>2]:(q[1923]=w|C,a),q[a+8>>2]=B,q[w+12>>2]=B,q[B+12>>2]=a,q[B+8>>2]=w),q[1928]=D,q[1925]=A),a=o+8|0}return L=16+Y|0,a}function ka(a){var q=0,t=x(0),L=0,$=0,aa=x(0),ba=x(0);j(a);a:{if(1283457024<=(q=2147483647&($=e(0)))>>>0){if(2139095040>>0)break a;return x((0|$)<0?-1.570796251296997:1.570796251296997)}b:{if(q>>>0<=1054867455){if(L=-1,964689920<=q>>>0)break b;break a}if(a=x(y(a)),q>>>0<=1066926079){if(q>>>0<=1060110335){a=x(x(x(a+a)+x(-1))/x(a+x(2))),L=0;break b}a=x(x(a+x(-1))/x(a+x(1))),L=1}else L=q>>>0<=1075576831?(a=x(x(a+x(-1.5))/x(x(a*x(1.5))+x(1))),2):(a=x(x(-1)/a),3)}if(q=L,aa=x(a*a),t=x(aa*aa),ba=x(t*x(x(t*x(-.106480173766613))+x(-.19999158382415771))),t=x(aa*x(x(t*x(x(t*x(.06168760731816292))+x(.14253635704517365)))+x(.333333283662796))),(0|q)<=-1)return x(a-x(a*x(ba+t)));a=x(u[(q<<=2)+6080>>2]-x(x(x(a*x(ba+t))-u[q+6096>>2])-a)),a=(0|$)<0?x(-a):a}return a}function la(a,ca){var fa,da=0,ea=0,ga=0,ha=0,ia=0;L=fa=L-16|0,j(a);a:if((da=2147483647&(ga=e(0)))>>>0<=1305022426){if(ea=.6366197723675814*(ha=+a)+6755399441055744-6755399441055744,v[ca>>3]=ha+-1.5707963109016418*ea+-1.5893254773528196e-8*ea,y(ea)<2147483648){da=~~ea;break a}da=-2147483648}else 2139095040<=da>>>0?(v[ca>>3]=x(a-a),da=0):(da=((ia=da)>>>23)-150|0,v[8+fa>>3]=(f(0,ia-(da<<23)|0),k()),da=Da(8+fa|0,fa,da),ea=v[fa>>3],(0|ga)<=-1?(v[ca>>3]=-ea,da=0-da|0):v[ca>>3]=ea);return L=16+fa|0,da}function ma(a){var ca=0,ja=0,ka=0,la=0,ma=0;ka=4,ja=1082;a:if(ca=r[0|a]){for(;!((0|(la=r[0|ja]))!=(0|ca)||!(ka=ka+-1|0)|!la);)if(ja=ja+1|0,ca=r[a+1|0],a=a+1|0,!ca)break a;ma=ca}return(255&ma)-r[0|ja]|0}function oa(a,na){return a?function(a,Ub){a:{if(a){if(Ub>>>0<=127)break a;if(q[q[1625]>>2]){if(Ub>>>0<=2047)return o[a+1|0]=63&Ub|128,o[0|a]=Ub>>>6|192,2;if(!(57344!=(-8192&Ub)&&55296<=Ub>>>0))return o[a+2|0]=63&Ub|128,o[0|a]=Ub>>>12|224,o[a+1|0]=Ub>>>6&63|128,3;if(Ub+-65536>>>0<=1048575)return o[a+3|0]=63&Ub|128,o[0|a]=Ub>>>18|240,o[a+2|0]=Ub>>>6&63|128,o[a+1|0]=Ub>>>12&63|128,4}else if(57216==(-128&Ub))break a;q[1906]=25,a=-1}else a=1;return a}return o[0|a]=Ub,1}(a,na):0}function pa(a,na,oa,sa){a:{if(!(20>>0||9<(na=na+-9|0)>>>0)){c:switch(na-1|0){default:return na=q[oa>>2],q[oa>>2]=na+4,void(q[a>>2]=q[na>>2]);case 0:return na=q[oa>>2],q[oa>>2]=na+4,na=q[na>>2],q[a>>2]=na,void(q[a+4>>2]=na>>31);case 1:return na=q[oa>>2],q[oa>>2]=na+4,q[a>>2]=q[na>>2],void(q[a+4>>2]=0);case 3:return na=q[oa>>2],q[oa>>2]=na+4,na=p[na>>1],q[a>>2]=na,void(q[a+4>>2]=na>>31);case 4:return na=q[oa>>2],q[oa>>2]=na+4,q[a>>2]=s[na>>1],void(q[a+4>>2]=0);case 5:return na=q[oa>>2],q[oa>>2]=na+4,na=o[0|na],q[a>>2]=na,void(q[a+4>>2]=na>>31);case 6:return na=q[oa>>2],q[oa>>2]=na+4,q[a>>2]=r[0|na],void(q[a+4>>2]=0);case 2:case 7:break a;case 8:break c}n[sa](a,oa)}return}na=q[oa>>2]+7&-8,q[oa>>2]=na+8,oa=q[na+4>>2],q[a>>2]=q[na>>2],q[a+4>>2]=oa}function qa(a){var na=0,oa=0,sa=0;if(ga(o[q[a>>2]]))for(;na=q[a>>2],sa=o[0|na],q[a>>2]=na+1,oa=(w(oa,10)+sa|0)-48|0,ga(o[na+1|0]););return oa}function ra(a,ta,ua,va,wa){var xa,ya=0,za=0;q[204+(L=xa=L-208|0)>>2]=ua,ba(160+xa|(ua=0),0,40),q[200+xa>>2]=q[204+xa>>2],(0|ia(0,ta,200+xa|0,80+xa|0,160+xa|0,va,wa))<0||(ua=0<=q[a+76>>2]?1:ua,ya=q[a>>2],o[a+74|0]<=0&&(q[a>>2]=-33&ya),za=32&ya,q[a+48>>2]?ia(a,ta,200+xa|0,80+xa|0,160+xa|0,va,wa):(q[a+48>>2]=80,q[a+16>>2]=80+xa,q[a+28>>2]=xa,q[a+20>>2]=xa,ya=q[a+44>>2],ia(a,ta,200+(q[a+44>>2]=xa)|0,80+xa|0,160+xa|0,va,wa),ya&&(n[q[a+36>>2]](a,0,0),q[a+48>>2]=0,q[a+44>>2]=ya,q[a+28>>2]=0,q[a+16>>2]=0,q[a+20>>2]=0)),q[a>>2]=q[a>>2]|za),L=208+xa|0}function sa(a,ta,ua){var va,wa=0;fa(8+(L=va=L-160|0)|0,2536,144),q[52+va>>2]=a,wa=(wa=-2-(q[28+va>>2]=a)|0)>>>0<256?wa:256,a=a+(q[56+va>>2]=wa)|0,q[36+va>>2]=a,q[24+va>>2]=a,ra(8+va|0,ta,ua,15,16),wa&&(a=q[28+va>>2],o[a-((0|a)==q[24+va>>2])|0]=0),L=160+va|0}function ta(a){var ta=0,ua=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=x(0),Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=x(0),Oa=0,Pa=x(0),Qa=0,Ra=0,Sa=x(0),Ta=x(0),Ua=x(0),Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0;if(q[a+256>>2]&&(ta=q[a+200>>2]<<2,fa(q[a+280>>2],q[a+264>>2],ta),fa(q[a+284>>2],q[a+268>>2],ta),fa(q[a+288>>2],q[a+276>>2],ta)),!((0|(Ca=q[a+292>>2]))<1)){for(Ga=(Ea=q[a+296>>2])+w(Ca,40)|0,Aa=q[a+300>>2],ta=Ea;Ua=u[Aa>>2],(Pa=u[ta+32>>2])==(Fa=(ua=q[ta+12>>2])?(Sa=u[ta>>2],Fa=x(Ua-Sa),Ua=u[ta+8>>2],Na=x(Fa/Ua),Fa=x(C(Na)),Ba=x(y(Fa))>2],Fa=u[ta+4>>2],Ua>2]=0:(u[ta+32>>2]=Fa,q[ta+36>>2]=1),ua||(u[Aa>>2]=Fa),Aa=Aa+4|0,(ta=ta+40|0)>>>0>>0;);if(!((0|Ca)<1))for(Oa=q[a+308>>2],Ma=q[a+376>>2];;){e:if(!((0|(ua=q[Ea+28>>2]))<1))if(Ha=(ta=Oa+w(q[Ea+24>>2],28)|0)+w(ua,28)|0,Ua=u[Ea+20>>2],Ta=u[Ea+16>>2],Pa=u[Ea+32>>2],Ma)for(;;){Sa=x(Ca=0);l:{m:{n:{if((0|(Da=q[ta>>2]))<1)Aa=Ba=0;else if(ua=q[ta+4>>2],Na=u[ua>>2],Fa=x(Na-Ta),1!=(0|Da)){if(Pa>2],!(Pa>2],Pa>2])break m;break l}Aa=Da+-1|0,Ba=1}La=(Da=(Fa=u[ta+12>>2])!=Sa)&(Sa==x(0)|Fa==x(0))|q[ta+8>>2]!=(0|Aa),Ca=Ba}if(q[ta+20>>2]=La,q[ta+24>>2]=Da,u[ta+12>>2]=Sa,q[ta+16>>2]=Ca,q[ta+8>>2]=Aa,!((ta=ta+28|0)>>>0>>0))break}else{if(!q[Ea+36>>2])for(;;)if(q[ta+20>>2]=0,!((ta=ta+28|(q[ta+24>>2]=0))>>>0>>0))break e;for(;;){Sa=x(Ca=0);f:{g:{h:{i:if(!(((Ba=0)|(Aa=q[(ua=ta)>>2]))<1)){if(Ja=q[ta+4>>2],Na=u[Ja>>2],Fa=x(Na-Ta),1!=(0|Aa)){if(!(Pa>2],!(Pa>2],Pa>2]))break f}Ca=Ba,Ja=(Da=(Fa=u[ta+12>>2])!=Sa)&(Sa==x(0)|Fa==x(0))|q[ta+8>>2]!=(0|Aa)}if(q[ua+20>>2]=Ja,q[ta+24>>2]=Da,u[ta+12>>2]=Sa,q[ta+16>>2]=Ca,q[ta+8>>2]=Aa,!((ta=ta+28|0)>>>0>>0))break}}if(!((Ea=Ea+40|0)>>>0>>0))break}}if(1<=(0|(ta=q[a+312>>2])))for(Ja=(Ia=q[a+316>>2])+w(ta,36)|0,Ga=q[a+376>>2];;){Za=(ua=q[Ia+12>>2])+((Ea=q[Ia>>2])<<2)|0,Qa=q[a+308>>2],ta=ua;p:{if(!(Ea=((Da=Ba=Ca=0)|Ea)<1))for(;;){if(Aa=Qa+w(q[ta>>2],28)|0,q[Aa+16>>2]){La=1,Ra=Ya=0;break p}if(Ca=Ca||q[Aa+24>>2],Da=Da||q[Aa+20>>2],Ba=(u[Aa+12>>2]!=x(0))+Ba|0,!((ta=ta+4|0)>>>0>>0))break}if(La=0,(Ra=Ga?1:Da)|(Ya=Ga?1:Ca)&&(Xa=1<>2]=Xa,31!=(0|Ba))){for(Ca=q[Ia+20>>2],Aa=(ta=q[Ia+16>>2])+(Da=Xa<<2)|0,Va=ba(Ka=ta,0,4+((Ha=-1^ta)+((ta=ta+4|0)>>>0>>0?Aa:ta)|0)&-4),Da=Ca+Da|0,ta=Ca;q[ta>>2]=1065353216,(ta=ta+4|0)>>>0>>0;);if(!Ea)if(Da=Ea=1,Ba)for(;;){if(Ka=Qa+w(q[ua>>2],28)|0,Ba=q[Ka+8>>2],Ha=w(Ba,Ea),ta=0,(Fa=u[Ka+12>>2])==x(0))for(;q[(Ba=Va+(ta<<2)|0)>>2]=Ha+q[Ba>>2],(0|Xa)!=(0|(ta=ta+1|0)););else{for(q[Va>>2]=Ha+q[Va>>2],u[Ca>>2]=x(x(1)-Fa)*u[Ca>>2],Oa=w(Ba+(ta=1)|0,Ea);Fa=u[Ka+12>>2],Aa=ta&Da,q[(Ba=(Ma=ta<<2)+Va|0)>>2]=q[Ba>>2]+(Aa?Oa:Ha),u[(Ba=Ca+Ma|0)>>2]=(Aa?Fa:x(x(1)-Fa))*u[Ba>>2],(0|Xa)!=(0|(ta=ta+1|0)););Da<<=1}if(Ea=w(q[Ka>>2],Ea),!((ua=ua+4|0)>>>0>>0))break}else for(;;){if(Aa=Qa+w(q[ua>>2],28)|0,Da=w(q[Aa+8>>2],Ea),ta=0,(Fa=u[Aa+12>>2])==x(0))for(;q[(Ba=Va+(ta<<2)|0)>>2]=Da+q[Ba>>2],(0|Xa)!=(0|(ta=ta+1|0)););else q[Va>>2]=Da+q[Va>>2],u[Ca>>2]=x(x(1)-Fa)*u[Ca>>2];if(Ea=w(q[Aa>>2],Ea),!((ua=ua+4|0)>>>0>>0))break}}}if(q[Ia+32>>2]=La,q[Ia+24>>2]=Ra,q[Ia+28>>2]=Ya,!((Ia=Ia+36|0)>>>0>>0))break}if(!((0|(Ba=q[a+4>>2]))<=0)){for(ua=(ta=q[a+52>>2])+(Ba<<2)|0;Fa=u[ta>>2],u[ta>>2]=Fa>>0>>0;);if(!((0|Ba)<1)){for(Ea=(ta=q[a+8>>2])+(Ba<<3)|0,Ha=q[a+316>>2],Ca=q[a+40>>2],Aa=Da=q[a+36>>2];Ba=0,q[ta+4>>2]&&(ua=q[ta>>2],!q[Da+(ua<<2)>>2]&&-1!=(0|ua)||(Ba=!q[32+(Ha+w(q[Ca>>2],36)|0)>>2])),q[Aa>>2]=Ba,Ca=Ca+4|0,Aa=Aa+4|0,(ta=ta+8|0)>>>0>>0;);if(!((0|(Ga=q[a+4>>2]))<1))for(Ja=q[a>>2],Oa=q[Ja+724>>2],ua=q[a+40>>2],Da=Ea=0;;){if(Ka=Ha+w(q[ua>>2],36)|0,(q[Ka+28>>2]||q[Ka+24>>2])&&(q[(Ca=Ea<<2)+q[a+16>>2]>>2]=q[Ka+8>>2],q[Ka+24>>2]&&!((0|(Ba=q[Ka+8>>2]))<1)))for(Ma=(ta=q[Ka+16>>2])+(Ba<<2)|0,Ca=q[Ca+Oa>>2],Aa=q[a+28>>2]+(Da<<2)|0,Ba=q[Ja+936>>2];q[Aa>>2]=q[Ba+(Ca+q[ta>>2]<<2)>>2],Aa=Aa+4|0,(ta=ta+4|0)>>>0>>0;);if(q[Ka+28>>2]&&!((0|(Ba=q[Ka+8>>2]))<1))for(Ba=(ta=q[Ka+20>>2])+(Ba<<2)|0,Aa=q[a+20>>2]+(Da<<2)|0;q[Aa>>2]=q[ta>>2],Aa=Aa+4|0,(ta=ta+4|0)>>>0>>0;);if(ua=ua+4|0,Da=q[Ka+4>>2]+Da|0,(0|Ga)==(0|(Ea=Ea+1|0)))break}}}if(n[q[1644]](a),_a=q[a+316>>2],1<=(0|(ua=q[a+56>>2]))){for(Ga=(ta=q[a+60>>2])+(ua<<5)|0,Ja=q[a+176>>2],Oa=q[a+172>>2],Ma=q[a+36>>2],Ba=q[a+180>>2],Ca=Aa=q[a+168>>2];;){Da=Ca,ua=0,q[ta+28>>2]&&(-1!=(0|(Ea=q[ta>>2]))&&(ua=0,!q[Ma+(Ea<<2)>>2])||-1!=(0|(Ea=q[ta+4>>2]))&&(ua=0,!q[Aa+(Ea<<2)>>2])||(ua=!q[32+(w(q[Ba>>2],36)+_a|0)>>2])),q[Da>>2]=ua;x:if((Da=q[ta+8>>2])>>>0<=1){if(Da-1){q[Oa+(q[ta+12>>2]<<2)>>2]=ua;break x}q[Ja+(q[ta+12>>2]<<2)>>2]=ua}else Y(4,1473,0);if(Ba=Ba+4|0,Ca=Ca+4|0,!((ta=ta+32|0)>>>0>>0))break}_a=q[a+316>>2]}if(Ea=q[a>>2],1<=(0|(Ga=q[a- -64>>2]))){for(Ja=q[Ea+988>>2],Oa=q[Ea+784>>2],La=q[a+184>>2],Ia=ua=0;;){if(Ha=w(q[La>>2],36)+_a|0,(q[Ha+28>>2]||q[Ha+24>>2])&&(q[(Ca=ua<<2)+q[a+84>>2]>>2]=q[Ha+8>>2],q[Ha+24>>2]&&!((0|(Ba=q[Ha+8>>2]))<1)))for(Ma=(ta=q[Ha+16>>2])+(Ba<<2)|0,Da=q[Ca+Oa>>2],Aa=(Ba=Ia<<2)+q[a+100>>2]|0,Ca=Ba+q[a+96>>2]|0;Ba=Da+q[ta>>2]<<2,q[Aa>>2]=Ja+(q[Ba+q[Ea+944>>2]>>2]<<2),q[Ca>>2]=q[Ba+q[Ea+940>>2]>>2],Ca=Ca+4|0,Aa=Aa+4|0,(ta=ta+4|0)>>>0>>0;);if(q[Ha+28>>2]&&!((0|(Ba=q[Ha+8>>2]))<1))for(Ba=(ta=q[Ha+20>>2])+(Ba<<2)|0,Aa=q[a+88>>2]+(Ia<<2)|0;q[Aa>>2]=q[ta>>2],Aa=Aa+4|0,(ta=ta+4|0)>>>0>>0;);if(La=La+4|0,Ia=q[Ha+4>>2]+Ia|0,(0|Ga)==(0|(ua=ua+1|0)))break}_a=q[a+316>>2],Ea=q[a>>2]}if(1<=(0|(Xa=q[a+72>>2])))for(Za=q[a+76>>2],Qa=q[Ea+808>>2],Ya=q[a+188>>2],Ra=Ia=0;;){if(Wa=w(q[Ya>>2],36)+_a|0,(q[Wa+28>>2]||q[Wa+24>>2])&&(q[(ua=Ia<<2)+q[a+116>>2]>>2]=q[Wa+8>>2],q[Wa+24>>2])){if(ta=q[Wa+16>>2],Va=q[ua+Qa>>2],1<=(0|(ua=q[Wa+8>>2])))for(Ka=ta+(ua<<2)|0,Aa=(ua=Ra<<2)+q[a+132>>2]|0,Ca=ua+q[a+136>>2]|0,Ba=ua+q[a+140>>2]|0,Da=ua+q[a+144>>2]|0,La=ua+q[a+128>>2]|0,Ha=q[Ea+948>>2],Ga=q[Ea+964>>2],Ja=q[Ea+960>>2],Oa=q[Ea+956>>2],Ma=q[Ea+952>>2],ua=ta;$a=Va+q[ua>>2]<<2,q[Aa>>2]=q[$a+Ma>>2],q[Ca>>2]=q[Oa+$a>>2],q[Ba>>2]=q[Ja+$a>>2],q[Da>>2]=q[Ga+$a>>2],q[La>>2]=q[Ha+$a>>2],La=La+4|0,Da=Da+4|0,Ba=Ba+4|0,Ca=Ca+4|0,Aa=Aa+4|0,(ua=ua+4|0)>>>0>>0;);ua=Za+(Ia<<5)|0,ta=Va+q[ta>>2]<<2,q[ua+24>>2]=q[ta+q[Ea+968>>2]>>2],q[ua+28>>2]=q[ta+q[Ea+972>>2]>>2]}if(q[Wa+28>>2]&&!((0|(ua=q[Wa+8>>2]))<1))for(ua=(ta=q[Wa+20>>2])+(ua<<2)|0,Aa=q[a+120>>2]+(Ra<<2)|0;q[Aa>>2]=q[ta>>2],Aa=Aa+4|0,(ta=ta+4|0)>>>0>>0;);if(Ya=Ya+4|0,Ra=q[Wa+4>>2]+Ra|0,(0|Xa)==(0|(Ia=Ia+1|0)))break}if(n[q[1642]](a),n[q[1645]](a),!((0|(ua=q[a+200>>2]))<1)){for(Ma=(ta=q[a+204>>2])+(ua<<4)|0,Ea=q[a+168>>2],Da=q[a+36>>2],Ha=q[a+316>>2],Ca=q[a+252>>2],Aa=q[a+248>>2];Ba=0,q[ta+8>>2]&&(ua=q[ta>>2],!q[Da+(ua<<2)>>2]&&-1!=(0|ua)||(ua=q[ta+4>>2],!q[Ea+(ua<<2)>>2]&&-1!=(0|ua)||(Ba=!q[32+(Ha+w(q[Ca>>2],36)|0)>>2]))),q[Aa>>2]=Ba,Ca=Ca+4|0,Aa=Aa+4|0,(ta=ta+16|0)>>>0>>0;);if(!((0|(Ja=q[a+200>>2]))<1))for(Ka=q[a>>2],Oa=q[Ka+988>>2],Ma=q[Ka+844>>2],ua=q[a+252>>2],La=Ia=0;;){if(Qa=Ha+w(q[ua>>2],36)|0,(q[Qa+28>>2]||q[Qa+24>>2])&&(q[(Ca=Ia<<2)+q[a+212>>2]>>2]=q[Qa+8>>2],q[Qa+24>>2]&&!((0|(Ba=q[Qa+8>>2]))<1)))for(Ea=(ta=q[Qa+16>>2])+(Ba<<2)|0,Da=q[Ca+Ma>>2],Aa=(Ba=La<<2)+q[a+232>>2]|0,Ca=Ba+q[a+224>>2]|0,Ba=Ba+q[a+228>>2]|0;Ga=Da+q[ta>>2]<<2,q[Aa>>2]=Oa+(q[Ga+q[Ka+984>>2]>>2]<<2),q[Ca>>2]=q[Ga+q[Ka+976>>2]>>2],q[Ba>>2]=q[Ga+q[Ka+980>>2]>>2],Ba=Ba+4|0,Ca=Ca+4|0,Aa=Aa+4|0,(ta=ta+4|0)>>>0>>0;);if(q[Qa+28>>2]&&!((0|(Ba=q[Qa+8>>2]))<1))for(Ba=(ta=q[Qa+20>>2])+(Ba<<2)|0,Aa=q[a+216>>2]+(La<<2)|0;q[Aa>>2]=q[ta>>2],Aa=Aa+4|0,(ta=ta+4|0)>>>0>>0;);if(ua=ua+4|0,La=q[Qa+4>>2]+La|0,(0|Ja)==(0|(Ia=Ia+1|0)))break}}if(n[q[1643]](a),function(a){var ke,de=0,ee=0,fe=0,ge=0,he=0,ie=0,je=0,le=0,me=0,ne=0,oe=0,pe=0;if(1<=(0|(ke=q[a+340>>2])))for(me=q[a+316>>2],le=q[a>>2],ne=q[le+1072>>2],he=q[a+372>>2];;){if(fe=w(q[he>>2],36)+me|0,(q[fe+28>>2]||q[fe+24>>2])&&(q[(de=ie<<2)+q[a+352>>2]>>2]=q[fe+8>>2],q[fe+24>>2]&&!((0|(ge=q[fe+8>>2]))<1)))for(ee=q[fe+16>>2],ge=ee+(ge<<2)|0,oe=q[de+ne>>2],de=q[a+364>>2]+(je<<2)|0,pe=q[le+1104>>2];q[de>>2]=q[(q[ee>>2]+oe<<2)+pe>>2],de=de+4|0,(ee=ee+4|0)>>>0>>0;);if(q[fe+28>>2]&&!((0|(de=q[fe+8>>2]))<1))for(ee=q[fe+20>>2],ge=ee+(de<<2)|0,de=q[a+356>>2]+(je<<2)|0;q[de>>2]=q[ee>>2],de=de+4|0,(ee=ee+4|0)>>>0>>0;);if(he=he+4|0,je=q[fe+4>>2]+je|0,(0|ke)==(0|(ie=ie+1|0)))break}}(a),n[q[1646]](a),ua=q[a+48>>2],1<=(0|(ta=q[a+4>>2])))for(Ea=(Ca=q[a+8>>2])+(ta<<3)|0,Ba=q[a+52>>2],Aa=q[a+36>>2],ta=ua;q[Aa>>2]&&(Fa=u[Ba>>2],u[ta>>2]=Fa,-1!=(0|(Da=q[Ca>>2]))&&(u[ta>>2]=Fa*u[(Da<<2)+ua>>2])),ta=ta+4|0,Ba=Ba+4|0,Aa=Aa+4|0,(Ca=Ca+8|0)>>>0>>0;);if(1<=(0|(Ba=q[a+56>>2]))){for(ua=a+56|0,ta=q[a+60>>2],Aa=q[a+168>>2],Ca=0;q[Aa>>2]&&n[q[ta+16>>2]](ta,Ca,ua),Aa=Aa+4|0,ta=ta+32|0,(0|Ba)!=(0|(Ca=Ca+1|0)););ua=q[a+48>>2]}if(1<=(0|(Ba=q[a+200>>2])))for(Ja=(ta=q[a+204>>2])+(Ba<<4)|0,Oa=q[a+192>>2],Ma=q[a+60>>2],Ca=q[a+248>>2],Aa=q[a+276>>2],Ba=q[a+272>>2];q[Ca>>2]&&(-1!=(0|(Da=q[ta>>2]))&&(u[Aa>>2]=u[(Da<<2)+ua>>2]*u[Aa>>2]),-1!=(0|(Da=q[ta+4>>2]))&&(u[Aa>>2]=u[Oa+(Da<<2)>>2]*u[Aa>>2],Ea=Ma+(Da<<5)|0,Da=q[Ba>>2],n[q[Ea+20>>2]](q[Ea+24>>2],Da,Da,q[ta+12>>2]))),Ba=Ba+4|0,Aa=Aa+4|0,Ca=Ca+4|0,(ta=ta+16|0)>>>0>>0;);if(!function(a){var Bd=0,Cd=0,Dd=0,Ed=0,Fd=x(0),Gd=x(0),Hd=x(0),Id=x(0),Jd=x(0),Kd=0,Ld=0,Md=0,Nd=0,Od=0,Pd=x(0),Qd=0,Rd=0,Sd=x(0),Td=0;if(1<=(0|(Dd=q[a+340>>2])))for(Bd=q[a+344>>2],Td=Bd+w(Dd,24)|0,Dd=q[a+272>>2];;){if((a=0)<(0|(Kd=q[Bd+8>>2])))for(Ld=q[Dd+(q[Bd+4>>2]<<2)>>2],Md=q[Dd+(q[Bd>>2]<<2)>>2],Fd=u[Bd+20>>2],Nd=q[Bd+16>>2],Od=q[Bd+12>>2];Pd=u[((Cd=1|a)<<2)+Od>>2],Ed=s[(a<<1)+Nd>>1]<<3&262136,Gd=u[(Qd=(4|Ed)+Md|0)>>2],Cd=s[(Cd<<1)+Nd>>1]<<3&262136,Hd=u[(Rd=(4|Cd)+Ld|0)>>2],Id=u[(Ed=Ed+Md|0)>>2],Sd=u[(a<<2)+Od>>2],Jd=u[(Cd=Cd+Ld|0)>>2],u[Ed>>2]=Id+x(Fd*x(Sd*x(Jd-Id))),u[Qd>>2]=Gd+x(Fd*x(Sd*x(Hd-Gd))),u[Cd>>2]=Jd+x(Fd*x(Pd*x(Id-Jd))),u[Rd>>2]=Hd+x(Fd*x(Pd*x(Gd-Hd))),(0|(a=a+2|0))<(0|Kd););if(!((Bd=Bd+24|0)>>>0>>0))break}}(a),n[q[1647]](a),La=q[a+248>>2],Ia=q[a+268>>2],1<=(0|(Ha=q[a+320>>2]))){for(Ja=(Ba=q[a+324>>2])+w(Ha,28)|0,Oa=q[a+44>>2],Ma=q[a+36>>2],ua=Ba;;){if(1<=(0|(Aa=q[ua+4>>2])))for(Ea=ua+20|0,Da=q[ua+12>>2],ta=0;Ga=q[(Ca=Da+(ta<<4)|0)+4>>2]<<2,Ca=1==q[(Ka=Ca)>>2],q[Ka+12>>2]=q[(q[Ga+(Ca?Ma:La)>>2]?Ga+(Ca?Oa:Ia)|0:Ea)>>2],(0|Aa)!=(0|(ta=ta+1|0)););if(!((ua=ua+28|0)>>>0>>0))break}for(Oa=q[a+264>>2],Ra=0;;){if(Ga=Ba+w(Ra,28)|0,!(q[(Ja=Ga)+24>>2]<1)){for(Ca=q[a+328>>2],ta=0;q[Ca+(ta<<2)>>2]=-1,(0|(ta=ta+1|0))<(0|(ua=q[Ja+24>>2])););if(!((0|ua)<1))for(ua=q[a+336>>2],ta=0;q[ua+(ta<<2)>>2]=-1,(0|(ta=ta+1|0))>2];);}if(!(q[Ga+4>>2]<1)){for(Ma=q[a+332>>2],ta=0;q[Ma+(ta<<2)>>2]=-1,(0|(ta=ta+1|0))<(0|(ua=q[Ga+4>>2])););if(!((0|ua)<1))for(Aa=q[Ga+12>>2],Ea=q[a+336>>2],ta=0;Da=q[12+(Aa+(ta<<4)|0)>>2]-q[Ga+20>>2]<<2,ua=-1!=(0|(ua=q[(Ca=Da+Ea|0)>>2]))?Ma+(ua<<2)|0:Da+q[a+328>>2]|0,q[ua>>2]=ta,(0|(ta=(q[Ca>>2]=ta)+1|0))>2];);}if(1<=(0|(Ca=q[Ja+24>>2])))for(Aa=q[Ga+8>>2],Ma=q[a+328>>2],Ea=0;;){if(-1!=(0|(ta=q[Ma+(Ea<<2)>>2]))){for(Da=q[a+332>>2],Ca=q[Ga+12>>2];Aa=(ua=1!=q[(ua=Ca+(ta<<4)|0)>>2]?(q[Oa+(q[ua+4>>2]<<2)>>2]=Aa,1):(ua=Ba+w(q[ua+8>>2],28)|0,q[ua+8>>2]=Aa,q[ua>>2]))+Aa|0,(0|ta)<(0|(ua=q[Da+(ta<<2)>>2]))&&-1!=(0|(ta=ua)););Ca=q[Ja+24>>2]}if(!((0|(Ea=Ea+1|0))<(0|Ca)))break}if((0|Ha)==(0|(Ra=Ra+1|0)))break}}Da=q[a+200>>2];M:{if(q[a+376>>2]){if(ta=0,((q[a+256>>2]=0)|Da)<1)break M;for(;;){if(Aa=62,Ca=q[a+260>>2]+ta|0,!q[(ua=ta<<2)+La>>2]|u[ua+q[a+276>>2]>>2]==x(0)||(Aa=63),o[0|Ca]=Aa,(0|Da)==(0|(ta=ta+1|0)))break M;La=q[a+248>>2]}}if(!q[a+256>>2]){if((0|Da)<1)break M;for(ta=0;;){if(!q[(ua=ta<<2)+La>>2]|u[ua+q[a+276>>2]>>2]==x(0)?(ua=q[a+260>>2]+ta|0,o[0|ua]=254&r[0|ua]):(ua=q[a+260>>2]+ta|0,o[0|ua]=1|r[0|ua]),(0|Da)==(0|(ta=ta+1|0)))break M;La=q[a+248>>2]}}if(!(((q[a+256>>2]=0)|Da)<1))for(Aa=0;;){if(Fa=u[(Ca=Aa<<2)+q[a+276>>2]>>2],Ba=q[Ca+La>>2],ta=Fa!=x(0)&0!=(0|Ba),ua=q[a+260>>2]+Aa|0,ta=(0|ta)==(1&o[0|ua])?ta:2|ta,ta=Fa!=u[Ca+q[a+288>>2]>>2]?4|ta:ta,ta=q[Ca+Ia>>2]==q[Ca+q[a+284>>2]>>2]?ta:8|ta,ta=q[Ca+q[a+264>>2]>>2]==q[Ca+q[a+280>>2]>>2]?ta:16|ta,o[0|ua]=Ba?32|ta:ta,(0|Da)==(0|(Aa=Aa+1|0)))break M;Ia=q[a+268>>2],La=q[a+248>>2]}}q[a+376>>2]=0}function ua(a,ab,bb){var cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0;if(q[ab>>2]=384,db=q[a>>2],1<=(0|(fb=q[db>>2]))){for(hb=q[a+16>>2],ib=q[a+296>>2];eb=(1<>2]<<2)>>2])+eb|0,(0|fb)!=(0|(cb=cb+1|0)););cb=eb<<2}if(q[ab+4>>2]=fb<<3,q[ab+8>>2]=q[db>>2]<<2,q[ab+12>>2]=q[db>>2]<<2,q[ab+16>>2]=q[db>>2]<<2,q[ab+20>>2]=q[db>>2]<<2,q[ab+24>>2]=q[db>>2]<<2,eb=q[db>>2],q[ab+40>>2]=cb,q[ab+36>>2]=cb,q[ab+32>>2]=cb,q[ab+28>>2]=eb<<2,1<=((eb=cb=0)|(ib=q[db+8>>2]))){for(kb=q[a+296>>2],lb=q[a+88>>2],jb=q[a+76>>2],fb=0;cb=(0|cb)<(0|(hb=q[(mb=eb<<2)+lb>>2]))?hb:cb,gb=(15+(hb<<3)&-16)+gb|0,fb=(1<>2]<<2)>>2])+fb|0,(0|ib)!=(0|(eb=eb+1|0)););eb=cb<<3,cb=fb<<2}if(q[ab+44>>2]=q[db+4>>2]<<5,q[ab+48>>2]=w(q[db+8>>2],24),q[ab+52>>2]=q[db+12>>2]<<5,q[ab+56>>2]=q[db+4>>2]<<2,q[ab+60>>2]=q[db+8>>2]<<2,q[ab+64>>2]=q[db+12>>2]<<2,q[ab+68>>2]=q[db+4>>2]<<2,fb=q[db+4>>2],q[ab+76>>2]=gb,q[ab+72>>2]=fb<<2,q[ab+80>>2]=q[db+8>>2]<<2,fb=q[db+8>>2],q[ab+104>>2]=eb,q[ab+100>>2]=cb,q[ab+96>>2]=cb,q[ab+92>>2]=cb,q[ab+88>>2]=cb,q[ab+84>>2]=fb<<2,1<=((cb=gb=0)|(fb=q[db+12>>2]))){for(hb=q[a+296>>2],ib=q[a+100>>2],eb=0;eb=(1<>2]<<2)>>2])+eb|0,(0|fb)!=(0|(cb=cb+1|0)););cb=eb<<2}if(q[ab+108>>2]=fb<<2,eb=q[db+12>>2],q[ab+156>>2]=cb,q[ab+152>>2]=cb,q[ab+148>>2]=cb,q[ab+144>>2]=cb,q[ab+140>>2]=cb,q[ab+136>>2]=cb,q[ab+132>>2]=cb,q[ab+128>>2]=cb,q[ab+124>>2]=cb,q[ab+120>>2]=cb,q[ab+116>>2]=cb,q[ab+112>>2]=eb<<2,1<=((eb=cb=0)|(hb=q[db+16>>2]))){for(kb=q[a+136>>2],lb=q[a+296>>2],jb=q[a+172>>2],fb=0;cb=(0|cb)<(0|(ib=q[(mb=eb<<2)+jb>>2]))?ib:cb,gb=(15+(ib<<3)&-16)+gb|0,fb=(1<>2]<<2)>>2])+fb|0,(0|hb)!=(0|(eb=eb+1|0)););eb=cb<<3,cb=fb<<2}if(q[ab+160>>2]=hb<<4,q[ab+164>>2]=q[db+16>>2]<<2,q[ab+168>>2]=q[db+16>>2],q[ab+172>>2]=q[db+16>>2]<<2,q[ab+176>>2]=q[db+16>>2]<<2,fb=q[db+16>>2],q[ab+184>>2]=gb,q[ab+180>>2]=fb<<2,q[ab+188>>2]=q[db+16>>2]<<2,q[ab+192>>2]=q[db+16>>2]<<2,q[ab+196>>2]=q[db+16>>2]<<2,q[ab+200>>2]=q[db+16>>2]<<2,q[ab+204>>2]=q[db+16>>2]<<2,fb=q[db+16>>2],q[ab+236>>2]=eb,q[ab+232>>2]=cb,q[ab+228>>2]=cb,q[ab+224>>2]=cb,q[ab+220>>2]=cb,q[ab+216>>2]=cb,q[ab+212>>2]=cb,q[ab+208>>2]=fb<<2,q[ab+240>>2]=w(q[db+20>>2],40),q[ab+244>>2]=q[db+20>>2]<<2,q[ab+248>>2]=w(q[db+52>>2],28),1<=((cb=fb=0)|(gb=q[db+48>>2]))){for(hb=q[a+296>>2],eb=0;eb=(1<>2])+eb|0,(0|gb)!=(0|(cb=cb+1|0)););cb=eb<<2}if(q[ab+260>>2]=cb,q[ab+256>>2]=cb,q[ab+252>>2]=w(gb,36),q[ab+264>>2]=w(q[db+72>>2],28),1<=((cb=0)|(hb=q[db+72>>2]))){for(ib=q[a+340>>2],kb=q[a+336>>2],lb=q[a+328>>2],eb=0;eb=(0|(jb=q[(gb=fb<<2)+kb>>2]-q[gb+ib>>2]|0))<(0|eb)?eb:jb+1|0,cb=(0|cb)<(0|(gb=q[gb+lb>>2]))?gb:cb,(0|hb)!=(0|(fb=fb+1|0)););fb=eb<<2,cb<<=2}if(eb=q[db+76>>2],q[ab+280>>2]=fb,q[ab+276>>2]=cb,q[ab+272>>2]=fb,q[ab+268>>2]=eb<<4,1<=((cb=0)|(fb=q[db+80>>2]))){for(gb=q[a+364>>2],a=q[a+296>>2],eb=0;eb=(1<>2]<<2)>>2])+eb|0,(0|fb)!=(0|(cb=cb+1|0)););cb=eb<<2}for(q[ab+284>>2]=w(fb,24),q[ab+288>>2]=q[db+80>>2]<<2,a=q[db+80>>2],q[ab+304>>2]=cb,q[ab+300>>2]=cb,q[ab+296>>2]=cb,q[ab>>2]=0,q[ab+292>>2]=a<<2,cb=384,eb=1;cb=((db=q[(a=(eb<<2)+ab|0)>>2])+15&-16)+(q[a>>2]=cb)|0,77!=(0|(eb=eb+1|0)););q[bb>>2]=cb}function va(a,ab,bb){ab|=0,bb|=0;var nb;L=nb=L+-64|0;a:{if(a|=0)if(ab)if((ab+15&-16)==(0|ab)){if(ab=function(a,fh,gh){var lh,hh=0,ih=0,jh=0,kh=0,mh=0,nh=0,oh=0,ph=0,qh=0,rh=0,sh=0,th=0,uh=0,vh=0,wh=0,xh=0,yh=0,zh=0,Ah=x(0);if(ba(16+(L=lh=L-336|0)|0,0,308),ua(a+704|0,16+lh|0,12+lh|0),(ih=q[12+lh>>2])>>>0<=gh>>>0){if(jh=ba(fh,gh=0,ih),hh=jh+q[16+lh>>2]|0,q[hh+8>>2]=jh+q[20+lh>>2],q[hh+36>>2]=jh+q[24+lh>>2],q[hh+44>>2]=jh+q[28+lh>>2],q[hh+48>>2]=jh+q[32+lh>>2],q[hh+52>>2]=jh+q[36+lh>>2],q[hh+12>>2]=jh+q[40+lh>>2],q[hh+16>>2]=jh+q[44+lh>>2],q[hh+20>>2]=jh+q[48+lh>>2],q[hh+28>>2]=jh+q[52+lh>>2],q[hh+32>>2]=jh+q[56+lh>>2],fh=q[a+704>>2],q[hh+60>>2]=jh+q[60+lh>>2],kh=jh+q[64+lh>>2]|0,q[hh+68>>2]=kh,q[hh+76>>2]=jh+q[68+lh>>2],q[hh+168>>2]=jh+q[72+lh>>2],q[hh+172>>2]=jh+q[76+lh>>2],q[hh+176>>2]=jh+q[80+lh>>2],q[hh+192>>2]=jh+q[84+lh>>2],q[hh+196>>2]=jh+q[88+lh>>2],1<=(0|(fh=q[fh+8>>2])))for(ih=jh+q[92+lh>>2]|0,mh=q[a+792>>2];q[20+(kh+w(gh,24)|0)>>2]=ih,ih=(15+(q[mh+(gh<<2)>>2]<<3)&-16)+ih|0,(0|fh)!=(0|(gh=gh+1|0)););if(q[hh+80>>2]=jh+q[96+lh>>2],q[hh+84>>2]=jh+q[100+lh>>2],q[hh+88>>2]=jh+q[104+lh>>2],q[hh+96>>2]=jh+q[108+lh>>2],q[hh+100>>2]=jh+q[112+lh>>2],q[hh+104>>2]=jh+q[116+lh>>2],q[hh+108>>2]=jh+q[120+lh>>2],q[hh+112>>2]=jh+q[124+lh>>2],q[hh+116>>2]=jh+q[128+lh>>2],q[hh+120>>2]=jh+q[132+lh>>2],q[hh+128>>2]=jh+q[136+lh>>2],q[hh+132>>2]=jh+q[140+lh>>2],q[hh+136>>2]=jh+q[144+lh>>2],q[hh+140>>2]=jh+q[148+lh>>2],q[hh+144>>2]=jh+q[152+lh>>2],q[hh+148>>2]=jh+q[156+lh>>2],q[hh+152>>2]=jh+q[160+lh>>2],q[hh+156>>2]=jh+q[164+lh>>2],q[hh+160>>2]=jh+q[168+lh>>2],q[hh+164>>2]=jh+q[172+lh>>2],fh=q[a+704>>2],q[hh+204>>2]=jh+q[176+lh>>2],q[hh+248>>2]=jh+q[180+lh>>2],q[hh+260>>2]=jh+q[184+lh>>2],q[hh+264>>2]=jh+q[188+lh>>2],q[hh+268>>2]=jh+q[192+lh>>2],gh=jh+q[196+lh>>2]|0,q[hh+272>>2]=gh,!((0|(fh=q[fh+16>>2]))<1)&&(ih=jh+q[200+lh>>2]|0,q[gh>>2]=ih,(gh=1)!=(0|fh)))for(kh=0;ih=(15+(q[q[a+876>>2]+(kh<<2)>>2]<<3)&-16)+ih|0,q[q[hh+272>>2]+(gh<<2)>>2]=ih,(0|fh)!=(0|(gh=(kh=gh)+1|0)););if(q[hh+276>>2]=jh+q[204+lh>>2],q[hh+280>>2]=jh+q[208+lh>>2],q[hh+284>>2]=jh+q[212+lh>>2],q[hh+288>>2]=jh+q[216+lh>>2],q[hh+208>>2]=jh+q[220+lh>>2],q[hh+212>>2]=jh+q[224+lh>>2],q[hh+216>>2]=jh+q[228+lh>>2],q[hh+224>>2]=jh+q[232+lh>>2],q[hh+228>>2]=jh+q[236+lh>>2],q[hh+232>>2]=jh+q[240+lh>>2],q[hh+236>>2]=jh+q[244+lh>>2],q[hh+240>>2]=jh+q[248+lh>>2],q[hh+244>>2]=jh+q[252+lh>>2],fh=q[256+lh>>2],oh=jh+q[260+lh>>2]|0,q[hh+300>>2]=oh,qh=fh+jh|0,q[hh+296>>2]=qh,rh=jh+q[264+lh>>2]|0,q[hh+308>>2]=rh,fh=q[a+704>>2],gh=q[276+lh>>2],ih=q[272+lh>>2],ph=jh+q[268+lh>>2]|0,q[hh+316>>2]=ph,1<=(0|(kh=q[fh+48>>2])))for(ih=jh+ih|0,fh=gh+jh|0,mh=q[a+1e3>>2],gh=0;nh=ph+w(gh,36)|0,q[nh+20>>2]=fh,q[nh+16>>2]=ih,nh=1<>2]<<2,fh=nh+fh|0,ih=ih+nh|0,(0|kh)!=(0|(gh=gh+1|0)););if(fh=q[a+704>>2],kh=jh+q[280+lh>>2]|0,q[hh+324>>2]=kh,1<=(0|(fh=q[fh+72>>2])))for(ih=jh+q[284+lh>>2]|0,mh=q[a+1032>>2],gh=0;q[12+(kh+w(gh,28)|0)>>2]=ih,ih=(q[mh+(gh<<2)>>2]<<4)+ih|0,(0|fh)!=(0|(gh=gh+1|0)););if(q[hh+328>>2]=jh+q[288+lh>>2],q[hh+332>>2]=jh+q[292+lh>>2],q[hh+336>>2]=jh+q[296+lh>>2],q[hh+344>>2]=jh+q[300+lh>>2],q[hh+348>>2]=jh+q[304+lh>>2],q[hh+352>>2]=jh+q[308+lh>>2],q[hh+356>>2]=jh+q[312+lh>>2],q[hh+364>>2]=jh+q[316+lh>>2],fh=q[320+lh>>2],q[hh+376>>2]=1,q[hh+368>>2]=fh+jh,q[hh+380>>2]=1&o[q[a+708>>2]+20|0],jh=q[a+704>>2],ih=q[jh+20>>2],1<=(0|(q[hh+292>>2]=ih))){for(sh=q[a+932>>2],th=q[a+928>>2],uh=q[a+924>>2],nh=q[a+916>>2],wh=q[a+920>>2],xh=q[a+908>>2],yh=q[a+912>>2],fh=ih;kh=qh+w(gh=fh+-1|0,40)|0,vh=(mh=gh<<2)+yh|0,q[kh>>2]=q[vh>>2],zh=mh+xh|0,q[kh+4>>2]=q[zh>>2],u[kh+8>>2]=u[zh>>2]-u[vh>>2],q[kh+12>>2]=q[mh+wh>>2],q[kh+32>>2]=q[mh+nh>>2],Ah=$b(x(q[mh+uh>>2])),u[kh+16>>2]=Ah,u[kh+20>>2]=Ah*x(1.5),q[kh+24>>2]=q[mh+th>>2],mh=q[mh+sh>>2],q[kh+36>>2]=1,q[kh+28>>2]=mh,kh=1<(0|fh),fh=gh,kh;);for(;q[(gh=(fh=ih+-1|0)<<2)+oh>>2]=q[gh+nh>>2],gh=1<(0|ih),ih=fh,gh;);}if(fh=q[jh+52>>2],1<=(0|(q[hh+304>>2]=fh)))for(kh=q[a+1004>>2],mh=q[a+1012>>2],nh=q[a+1008>>2];ih=rh+w(gh=fh+-1|0,28)|0,oh=gh<<2,q[ih>>2]=q[oh+nh>>2],oh=q[kh+oh>>2],q[ih+20>>2]=1,q[ih+24>>2]=1,q[ih+12>>2]=0,q[ih+4>>2]=mh+(oh<<2),ih=1<(0|fh),fh=gh,ih;);if(fh=q[jh+48>>2],1<=(0|(q[hh+312>>2]=fh)))for(kh=q[a+996>>2],mh=q[a+992>>2],nh=q[a+1e3>>2];ih=ph+w(gh=fh+-1|0,36)|0,qh=q[(oh=gh<<2)+nh>>2],q[ih>>2]=qh,q[ih+4>>2]=1<>2],q[ih+24>>2]=1,q[ih+28>>2]=1,q[ih+12>>2]=mh+(oh<<2),ih=1<(0|fh),fh=gh,ih;);if(fh=q[jh>>2],q[hh+4>>2]=fh,mh=q[a+720>>2],q[hh+40>>2]=mh,(0|fh)<1)gh=0;else{for(nh=q[a+732>>2],oh=q[a+736>>2],qh=q[a+740>>2],rh=q[hh+52>>2],sh=q[hh+8>>2],ih=fh;kh=(gh=ih+-1|0)<<2,q[(th=sh+(gh<<3)|0)>>2]=q[kh+qh>>2],q[th+4>>2]=q[kh+oh>>2],u[kh+rh>>2]=q[kh+nh>>2]?x(1):x(0),kh=1<(0|ih),ih=gh,kh;);for(nh=q[hh+12>>2],gh=0;kh=q[4+(ph+w(q[(oh=(ih=fh+-1|0)<<2)+mh>>2],36)|0)>>2],q[nh+oh>>2]=kh,gh=gh+kh|0,kh=1<(0|fh),fh=ih,kh;);}if(q[hh+24>>2]=gh,ih=q[jh+4>>2],q[hh+56>>2]=ih,q[hh+180>>2]=q[a+752>>2],q[hh+184>>2]=q[a+780>>2],q[hh+188>>2]=q[a+804>>2],1<=(0|ih)){for(;;){ih=(fh=ih)+-1|0,gh=q[hh+60>>2]+(ih<<5)|0,kh=ih<<2,q[gh>>2]=q[kh+q[a+764>>2]>>2],q[gh+4>>2]=q[kh+q[a+768>>2]>>2],jh=q[kh+q[a+772>>2]>>2],q[gh+8>>2]=jh,mh=q[kh+q[a+776>>2]>>2],q[gh+12>>2]=mh,q[gh+28>>2]=q[kh+q[a+760>>2]>>2];c:if(jh>>>0<=1){if(jh-1){q[gh+20>>2]=1,q[gh+16>>2]=2,q[gh+24>>2]=q[hh+68>>2]+w(mh,24);break c}q[gh+20>>2]=3,q[gh+16>>2]=4,q[gh+24>>2]=q[hh+76>>2]+(mh<<5)}else Y(4,1026,0);if(!(1<(0|fh)))break}jh=q[a+704>>2]}fh=q[jh+8>>2];d:if(!((0|(q[hh+64>>2]=fh))<1)){if(gh=fh+-1|0,mh=q[a+792>>2],ph=q[a+800>>2],nh=q[a+796>>2],oh=q[hh+68>>2],r[a+4|0]<2)for(;;)if(ih=oh+w(gh,24)|0,kh=gh<<2,q[ih>>2]=q[kh+nh>>2],q[ih+4>>2]=q[kh+ph>>2],kh=q[kh+mh>>2],q[ih+8>>2]=0,q[ih+12>>2]=kh,ih=0<(0|gh),gh=gh+-1|0,!ih)break d;for(qh=q[a+1108>>2];ih=oh+w(gh,24)|0,kh=gh<<2,q[ih>>2]=q[kh+nh>>2],q[ih+4>>2]=q[kh+ph>>2],q[ih+12>>2]=q[kh+mh>>2],q[ih+8>>2]=q[kh+qh>>2],ih=0<(0|gh),gh=gh+-1|0,ih;);}if(gh=q[jh+12>>2],1<=(0|(q[hh+72>>2]=gh)))for(mh=q[a+816>>2],ph=q[hh+76>>2],ih=gh;q[ph+((kh=ih+-1|0)<<5)>>2]=q[mh+(kh<<2)>>2],nh=1<(0|ih),ih=kh,nh;);if(1<=((kh=ih=0)|fh)){for(ph=q[hh+80>>2],nh=q[hh+184>>2],oh=q[hh+316>>2];mh=q[4+(oh+w(q[(qh=(gh=fh+-1|0)<<2)+nh>>2],36)|0)>>2],q[ph+qh>>2]=mh,kh=kh+mh|0,mh=1<(0|fh),fh=gh,mh;);gh=q[hh+72>>2]}if(q[hh+92>>2]=kh,1<=(0|gh))for(mh=q[hh+112>>2],ph=q[hh+188>>2],nh=q[hh+316>>2];kh=q[4+(nh+w(q[(oh=(fh=gh+-1|0)<<2)+ph>>2],36)|0)>>2],q[mh+oh>>2]=kh,ih=ih+kh|0,kh=1<(0|gh),gh=fh,kh;);if(q[hh+124>>2]=ih,ih=q[jh+16>>2],q[hh+200>>2]=ih,ph=q[a+840>>2],q[hh+252>>2]=ph,(0|ih)<1)gh=0;else{for(nh=q[a+856>>2],oh=q[a+876>>2],qh=q[a+864>>2],rh=q[a+860>>2],sh=q[hh+204>>2],kh=ih;mh=(fh=kh+-1|0)<<2,q[(gh=sh+(fh<<4)|0)>>2]=q[mh+rh>>2],q[gh+4>>2]=q[mh+qh>>2],q[gh+12>>2]=q[mh+oh>>2],q[gh+8>>2]=q[mh+nh>>2],gh=1<(0|kh),kh=fh,gh;);for(mh=q[hh+208>>2],nh=q[hh+316>>2],gh=0;kh=q[4+(nh+w(q[(oh=(fh=ih+-1|0)<<2)+ph>>2],36)|0)>>2],q[mh+oh>>2]=kh,gh=gh+kh|0,kh=1<(0|ih),ih=fh,kh;);}if(q[hh+220>>2]=gh,kh=q[jh+72>>2],1<=(0|(q[hh+320>>2]=kh)))for(nh=q[a+1028>>2],oh=q[a+1044>>2],qh=q[a+1040>>2],rh=q[a+1036>>2],sh=q[a+1032>>2],th=q[hh+324>>2],ih=0;;){if(fh=th+w(ih,28)|0,mh=q[(gh=ih<<2)+sh>>2],q[fh+4>>2]=mh,q[fh>>2]=q[gh+rh>>2],ph=q[gh+qh>>2],q[fh+16>>2]=ph,uh=q[gh+oh>>2],q[fh+20>>2]=uh,q[fh+8>>2]=0,q[fh+24>>2]=1+(ph-uh|0),1<=(0|mh))for(uh=q[gh+nh>>2],wh=q[fh+12>>2],xh=q[a+1056>>2],yh=q[a+1048>>2],vh=q[a+1052>>2],gh=0;ph=gh+uh<<2,q[(fh=wh+(gh<<4)|0)+4>>2]=q[ph+vh>>2],q[fh>>2]=q[ph+yh>>2],ph=q[ph+xh>>2],q[fh+12>>2]=0,q[fh+8>>2]=ph,(0|mh)!=(0|(gh=gh+1|0)););if((0|kh)==(0|(ih=ih+1|0)))break}if(ih=q[jh+80>>2],q[hh+340>>2]=ih,mh=q[a+1068>>2],q[hh+372>>2]=mh,!(((fh=0)|ih)<1)){for(ph=q[a+1100>>2],nh=q[a+1088>>2],oh=q[a+1096>>2],qh=q[a+1092>>2],rh=q[a+1084>>2],sh=q[a+1080>>2],th=q[hh+344>>2];kh=th+w(gh=ih+-1|0,24)|0,jh=gh<<2,q[kh>>2]=q[jh+sh>>2],q[kh+4>>2]=q[jh+rh>>2],q[kh+8>>2]=q[jh+qh>>2],jh=q[jh+nh>>2],q[kh+16>>2]=ph+(jh<<1),q[kh+12>>2]=oh+(jh<<2),kh=1<(0|ih),ih=gh,kh;);if(!((0|(gh=q[hh+340>>2]))<1))for(jh=q[hh+348>>2],ph=q[hh+316>>2];kh=q[4+(ph+w(q[(nh=(ih=gh+-1|0)<<2)+mh>>2],36)|0)>>2],q[jh+nh>>2]=kh,fh=fh+kh|0,kh=1<(0|gh),gh=ih,kh;);}q[hh>>2]=a,q[hh+360>>2]=fh,ta(hh)}return L=336+lh|0,hh}(a,ab,bb))break a;q[36+nb>>2]=1872,q[32+nb>>2]=1846,Y(4,1087,32+nb|0)}else q[52+nb>>2]=1441,q[48+nb>>2]=1846,Y(4,1087,48+nb|0);else q[20+nb>>2]=1246,q[16+nb>>2]=1846,Y(4,1087,16+nb|0);else q[4+nb>>2]=1828,q[nb>>2]=1846,Y(4,1087,nb);ab=0}return L=nb+64|0,0|ab}function wa(a){var ab;return L=ab=L-16|0,a=(a|=0)?function(a){var Th;return ba(16+(L=Th=L-336|0)|0,0,308),ua(a+704|0,16+Th|0,12+Th|0),L=336+Th|0,q[12+Th>>2]}(a):(q[4+ab>>2]=1828,q[ab>>2]=1810,Y(4,1087,ab),0),L=16+ab|0,0|a}function xa(a,bb){var ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0;rb=a+bb|0;a:{b:if(!(1&(ob=q[a+4>>2]))){if(!(3&ob))break a;if(bb=(ob=q[a>>2])+bb|0,(0|(a=a-ob|0))==q[1928]){if(3==(3&(ob=q[rb+4>>2])))return q[1925]=bb,q[rb+4>>2]=-2&ob,q[a+4>>2]=1|bb,void(q[rb>>2]=bb)}else{if(ob>>>0<=255){if(qb=ob>>>3,ob=q[a+8>>2],(0|(pb=q[a+12>>2]))==(0|ob)){ub=7692,vb=q[1923]&jc(qb),q[ub>>2]=vb;break b}q[ob+12>>2]=pb,q[pb+8>>2]=ob;break b}if(tb=q[a+24>>2],(0|(ob=q[a+12>>2]))==(0|a))if((qb=q[(pb=a+20|0)>>2])||(qb=q[(pb=a+16|0)>>2])){for(;sb=pb,(qb=q[(pb=(ob=qb)+20|0)>>2])||(pb=ob+16|0,qb=q[ob+16>>2]););q[sb>>2]=0}else ob=0;else pb=q[a+8>>2],q[pb+12>>2]=ob,q[ob+8>>2]=pb;if(!tb)break b;pb=q[a+28>>2];e:{if(q[(qb=7996+(pb<<2)|0)>>2]==(0|a)){if(q[qb>>2]=ob)break e;ub=7696,vb=q[1924]&jc(pb),q[ub>>2]=vb;break b}if(!(q[tb+(q[tb+16>>2]==(0|a)?16:20)>>2]=ob))break b}if(q[ob+24>>2]=tb,(pb=q[a+16>>2])&&(q[ob+16>>2]=pb,q[pb+24>>2]=ob),!(pb=q[a+20>>2]))break b;q[ob+20>>2]=pb,q[pb+24>>2]=ob}}f:{if(!(2&(ob=q[rb+4>>2]))){if(q[1929]==(0|rb)){if(q[1929]=a,bb=q[1926]+bb|0,q[1926]=bb,q[a+4>>2]=1|bb,q[1928]!=(0|a))break a;return q[1925]=0,void(q[1928]=0)}if(q[1928]==(0|rb))return q[1928]=a,bb=q[1925]+bb|0,q[1925]=bb,q[a+4>>2]=1|bb,void(q[a+bb>>2]=bb);bb=(-8&ob)+bb|0;g:if(ob>>>0<=255){if(qb=ob>>>3,ob=q[rb+8>>2],(0|(pb=q[rb+12>>2]))==(0|ob)){ub=7692,vb=q[1923]&jc(qb),q[ub>>2]=vb;break g}q[ob+12>>2]=pb,q[pb+8>>2]=ob}else{if(tb=q[rb+24>>2],(0|rb)==(0|(ob=q[rb+12>>2])))if((qb=q[(pb=rb+20|0)>>2])||(qb=q[(pb=rb+16|0)>>2])){for(;sb=pb,(qb=q[(pb=(ob=qb)+20|0)>>2])||(pb=ob+16|0,qb=q[ob+16>>2]););q[sb>>2]=0}else ob=0;else pb=q[rb+8>>2],q[pb+12>>2]=ob,q[ob+8>>2]=pb;if(tb){pb=q[rb+28>>2];j:{if(q[(qb=7996+(pb<<2)|0)>>2]==(0|rb)){if(q[qb>>2]=ob)break j;ub=7696,vb=q[1924]&jc(pb),q[ub>>2]=vb;break g}if(!(q[tb+(q[tb+16>>2]==(0|rb)?16:20)>>2]=ob))break g}q[ob+24>>2]=tb,(pb=q[rb+16>>2])&&(q[ob+16>>2]=pb,q[pb+24>>2]=ob),(pb=q[rb+20>>2])&&(q[ob+20>>2]=pb,q[pb+24>>2]=ob)}}if(q[a+4>>2]=1|bb,q[a+bb>>2]=bb,q[1928]!=(0|a))break f;return void(q[1925]=bb)}q[rb+4>>2]=-2&ob,q[a+4>>2]=1|bb,q[a+bb>>2]=bb}if(bb>>>0<=255)return bb=7732+((ob=bb>>>3)<<3)|0,ob=(pb=q[1923])&(ob=1<>2]:(q[1923]=ob|pb,bb),q[bb+8>>2]=a,q[ob+12>>2]=a,q[a+12>>2]=bb,void(q[a+8>>2]=ob);q[a+16>>2]=0,ob=q[a+20>>2]=0,(qb=bb>>>8)&&(ob=31,16777215>>0||(ob=28+((ob=((rb=(qb<<=sb=qb+1048320>>>16&8)<<(ob=qb+520192>>>16&4))<<(qb=rb+245760>>>16&2)>>>15)-(qb|ob|sb)|0)<<1|bb>>>ob+21&1)|0)),qb=7996+((q[(pb=a)+28>>2]=ob)<<2)|0;m:{if((pb=q[1924])&(sb=1<>>1)|0),ob=q[qb>>2];;){if((-8&q[(qb=ob)+4>>2])==(0|bb))break m;if(ob=pb>>>29,pb<<=1,!(ob=q[(sb=qb+(4&ob)|0)+16>>2]))break}q[sb+16>>2]=a}else q[1924]=pb|sb,q[qb>>2]=a;return q[a+24>>2]=qb,q[a+12>>2]=a,void(q[a+8>>2]=a)}bb=q[qb+8>>2],q[bb+12>>2]=a,q[qb+8>>2]=a,q[a+24>>2]=0,q[a+12>>2]=qb,q[a+8>>2]=bb}}function ya(a,bb,wb){var xb=0;a:{if(8!=(0|bb)){if(xb=28,3&bb|1!=(0|function(a){var qi=0,si=0;for(;si=qi,a;)a&=a-1,qi=qi+1|0;return si}(bb>>>2)))break a;if(xb=48,-64-bb>>>0>>0)break a;bb=function(a,_h){var $h=0,ai=0,ci=0,di=0,ei=0;if((ai=a>>>0>($h=16)?a:16)+-1&ai)for(;$h=(a=$h)<<1,a>>>0>>0;);else a=ai;if(-64-a>>>0<=_h>>>0)return q[1906]=48,0;if(!($h=ja(12+((ai=_h>>>0<11?16:_h+11&-8)+a|0)|0)))return 0;_h=$h+-8|0;$h&a+-1?(ei=q[(di=$h+-4|0)>>2],ci=(-8&ei)-($h=(a=15<($h=((a+$h|0)-1&0-a)-8|0)-_h>>>0?$h:a+$h|0)-_h|0)|0,3&ei?(q[a+4>>2]=ci|1&q[a+4>>2]|2,q[(ci=a+ci|0)+4>>2]=1|q[ci+4>>2],q[di>>2]=$h|1&q[di>>2]|2,q[a+4>>2]=1|q[a+4>>2],xa(_h,$h)):(_h=q[_h>>2],q[a+4>>2]=ci,q[a>>2]=_h+$h)):a=_h;3&(_h=q[a+4>>2])&&(($h=-8&_h)>>>0<=ai+16>>>0||(q[a+4>>2]=ai|1&_h|2,_h=a+ai|0,ai=$h-ai|0,q[_h+4>>2]=3|ai,q[($h=a+$h|0)+4>>2]=1|q[$h+4>>2],xa(_h,ai)));return a+8|0}(16>>0?bb:16,wb)}else bb=ja(wb);if(!bb)return 1;q[a>>2]=bb,xb=0}return xb}function za(a){var bb=0,wb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0;a:if(a){Ab=(yb=a+-8|0)+(a=-8&(wb=q[a+-4>>2]))|0;b:if(!(1&wb)){if(!(3&wb))break a;if((yb=yb-(wb=q[yb>>2])|0)>>>0>2])))return q[1925]=a,q[Ab+4>>2]=-2&wb,q[yb+4>>2]=1|a,void(q[a+yb>>2]=a)}else{if(wb>>>0<=255){if(zb=q[yb+8>>2],wb>>>=3,(0|(bb=q[yb+12>>2]))==(0|zb)){Db=7692,Eb=q[1923]&jc(wb),q[Db>>2]=Eb;break b}q[zb+12>>2]=bb,q[bb+8>>2]=zb;break b}if(Cb=q[yb+24>>2],(0|yb)==(0|(wb=q[yb+12>>2])))if((bb=q[(zb=yb+20|0)>>2])||(bb=q[(zb=yb+16|0)>>2])){for(;Bb=zb,(bb=q[(zb=(wb=bb)+20|0)>>2])||(zb=wb+16|0,bb=q[wb+16>>2]););q[Bb>>2]=0}else wb=0;else bb=q[yb+8>>2],q[bb+12>>2]=wb,q[wb+8>>2]=bb;if(!Cb)break b;zb=q[yb+28>>2];e:{if(q[(bb=7996+(zb<<2)|0)>>2]==(0|yb)){if(q[bb>>2]=wb)break e;Db=7696,Eb=q[1924]&jc(zb),q[Db>>2]=Eb;break b}if(!(q[Cb+(q[Cb+16>>2]==(0|yb)?16:20)>>2]=wb))break b}if(q[wb+24>>2]=Cb,(bb=q[yb+16>>2])&&(q[wb+16>>2]=bb,q[bb+24>>2]=wb),!(bb=q[yb+20>>2]))break b;q[wb+20>>2]=bb,q[bb+24>>2]=wb}}if(!(Ab>>>0<=yb>>>0)&&1&(wb=q[Ab+4>>2])){f:{if(!(2&wb)){if(q[1929]==(0|Ab)){if(q[1929]=yb,a=q[1926]+a|0,q[1926]=a,q[yb+4>>2]=1|a,q[1928]!=(0|yb))break a;return q[1925]=0,void(q[1928]=0)}if(q[1928]==(0|Ab))return q[1928]=yb,a=q[1925]+a|0,q[1925]=a,q[yb+4>>2]=1|a,void(q[a+yb>>2]=a);a=(-8&wb)+a|0;g:if(wb>>>0<=255){if(wb>>>=3,(0|(bb=q[Ab+8>>2]))==(0|(zb=q[Ab+12>>2]))){Db=7692,Eb=q[1923]&jc(wb),q[Db>>2]=Eb;break g}q[bb+12>>2]=zb,q[zb+8>>2]=bb}else{if(Cb=q[Ab+24>>2],(0|Ab)==(0|(wb=q[Ab+12>>2])))if((bb=q[(zb=Ab+20|0)>>2])||(bb=q[(zb=Ab+16|0)>>2])){for(;Bb=zb,(bb=q[(zb=(wb=bb)+20|0)>>2])||(zb=wb+16|0,bb=q[wb+16>>2]););q[Bb>>2]=0}else wb=0;else bb=q[Ab+8>>2],q[bb+12>>2]=wb,q[wb+8>>2]=bb;if(Cb){zb=q[Ab+28>>2];j:{if(q[(bb=7996+(zb<<2)|0)>>2]==(0|Ab)){if(q[bb>>2]=wb)break j;Db=7696,Eb=q[1924]&jc(zb),q[Db>>2]=Eb;break g}if(!(q[Cb+(q[Cb+16>>2]==(0|Ab)?16:20)>>2]=wb))break g}q[wb+24>>2]=Cb,(bb=q[Ab+16>>2])&&(q[wb+16>>2]=bb,q[bb+24>>2]=wb),(bb=q[Ab+20>>2])&&(q[wb+20>>2]=bb,q[bb+24>>2]=wb)}}if(q[yb+4>>2]=1|a,q[a+yb>>2]=a,q[1928]!=(0|yb))break f;return void(q[1925]=a)}q[Ab+4>>2]=-2&wb,q[yb+4>>2]=1|a,q[a+yb>>2]=a}if(a>>>0<=255)return wb=7732+((a>>>=3)<<3)|0,a=(bb=q[1923])&(a=1<>2]:(q[1923]=a|bb,wb),q[wb+8>>2]=yb,q[a+12>>2]=yb,q[yb+12>>2]=wb,void(q[yb+8>>2]=a);q[yb+16>>2]=0,bb=q[yb+20>>2]=0,(zb=a>>>8)&&(bb=31,16777215>>0||(bb=zb,bb<<=zb=zb+1048320>>>16&8,bb=28+((bb=((bb<<=Cb=bb+520192>>>16&4)<<(Bb=bb+245760>>>16&2)>>>15)-(Bb|zb|Cb)|0)<<1|a>>>bb+21&1)|0)),Bb=7996+((q[(wb=yb)+28>>2]=bb)<<2)|0;m:if((zb=q[1924])&(wb=1<>>1)|0),wb=q[Bb>>2];n:{for(;;){if((-8&q[(bb=wb)+4>>2])==(0|a))break n;if(wb=zb>>>29,zb<<=1,!(wb=q[(Bb=bb+(4&wb)|0)+16>>2]))break}q[Bb+16>>2]=yb,q[yb+12>>2]=yb,q[yb+24>>2]=bb,q[yb+8>>2]=yb;break m}a=q[bb+8>>2],q[a+12>>2]=yb,q[bb+8>>2]=yb,q[yb+24>>2]=0,q[yb+12>>2]=bb,q[yb+8>>2]=a}else q[1924]=wb|zb,q[Bb>>2]=yb,q[yb+12>>2]=yb,q[yb+24>>2]=Bb,q[yb+8>>2]=yb;if(a=q[1931]+-1|0,!(q[1931]=a)){for(yb=8148;yb=(a=q[yb>>2])+8|0,a;);q[1931]=-1}}}}function Aa(a,Fb){var Lb,Gb=0,Hb=0,Ib=0,Jb=0,Kb=x(0);if(j(Fb),!((Ib=2147483647&(Gb=e(0)))>>>0<=2139095040&&(j(a),(Hb=2147483647&(Jb=e(0)))>>>0<2139095041)))return x(a+Fb);if(1065353216==(0|Gb))return ka(a);Gb=(Lb=Gb>>>30&2)|Jb>>>31;b:{c:{d:{e:{if(!Hb){f:switch(Gb-2|0){case 0:break e;case 1:break f;default:break d}return x(-3.1415927410125732)}if(2139095040!=(0|Ib)){if(!Ib|!(Hb>>>0<=Ib+218103808>>>0&&2139095040!=(0|Hb)))break b;if(Hb+218103808>>>0>>0&&(Kb=x(0),Lb)||(Kb=ka(x(y(x(a/Fb))))),a=Kb,Gb>>>0<=2){h:switch(Gb-1|0){case 0:return x(-a);case 1:break h;default:break d}return x(x(3.1415927410125732)-x(a+x(8.742277657347586e-8)))}return x(x(a+x(8.742277657347586e-8))+x(-3.1415927410125732))}if(2139095040==(0|Hb))break c;return u[6128+(Gb<<2)>>2]}a=x(3.1415927410125732)}return a}return u[6112+(Gb<<2)>>2]}return x((0|Jb)<0?-1.5707963705062866:1.5707963705062866)}function Da(a,Ub,Vb){var Zb,bc,gc,hc,kc,Wb=0,Xb=0,Yb=0,_b=0,$b=0,ac=0,cc=0,dc=0,ec=0,fc=0,ic=0,jc=0;if(L=Zb=L-560|0,cc=(Xb=Vb)+w(gc=0<(0|(Vb=(Vb+-3|0)/24|0))?Vb:0,-24)|0,0<=(0|(bc=q[808])))for(Xb=bc+1|0,Vb=gc;v[(320+Zb|0)+(Yb<<3)>>3]=(0|Vb)<0?0:+q[3248+(Vb<<2)>>2],Vb=Vb+1|0,(0|Xb)!=(0|(Yb=Yb+1|0)););for(ac=cc+-24|0,Xb=0;;){for(Wb=Vb=0;Wb+=v[(Vb<<3)+a>>3]*v[(320+Zb|0)+(Xb-Vb<<3)>>3],1!=(0|(Vb=Vb+1|0)););if(v[(Xb<<3)+Zb>>3]=Wb,Vb=(0|Xb)<(0|bc),Xb=Xb+1|0,!Vb)break}kc=23-ac|0,hc=24-ac|0,Xb=bc;a:{for(;;){if(Wb=v[(Xb<<3)+Zb>>3],!(ec=((Vb=0)|(Yb=Xb))<1))for(;$b=(480+Zb|0)+(Vb<<2)|0,dc=Wb,_b=y(Wb*=5.960464477539063e-8)<2147483648?~~Wb:-2147483648,_b=y(dc+=-16777216*(Wb=+(0|_b)))<2147483648?~~dc:-2147483648,q[$b>>2]=_b,Wb=v[(($b=Yb+-1|0)<<3)+Zb>>3]+Wb,Vb=Vb+1|0,_b=1<(0|Yb),Yb=$b,_b;);Wb=ha(Wb,ac),Wb+=-8*C(.125*Wb),Wb-=0|($b=y(Wb)<2147483648?~~Wb:-2147483648);e:{f:{g:{if(ic=(0|ac)<1){if(ac)break g;_b=q[476+((Xb<<2)+Zb|0)>>2]>>23}else fc=Yb=(Xb<<2)+Zb|0,Yb=(_b=q[Yb+476>>2])-((Vb=_b>>hc)<>2]=Yb)>>kc;if((0|_b)<1)break e;break f}if(_b=2,!(.5<=Wb)){_b=0;break e}}if(Yb=Vb=0,!ec)for(;;){ec=q[(jc=(480+Zb|0)+(Vb<<2)|0)>>2],fc=16777215;i:{j:{if(!Yb){if(!ec)break j;fc=16777216,Yb=1}q[jc>>2]=fc-ec;break i}Yb=0}if((0|Xb)==(0|(Vb=Vb+1|0)))break}ic||1<(Vb=ac+-1|0)>>>0||(q[(Vb=(Xb<<2)+Zb|0)+476>>2]=Vb-1?8388607&q[Vb+476>>2]:4194303&q[Vb+476>>2]),$b=$b+1|0,2==(0|_b)&&(Wb=1-Wb,_b=2,Yb&&(Wb-=ha(1,ac)))}if(0!=Wb)break;if(!(((Yb=0)|(Vb=Xb))<=(0|bc))){for(;Yb=q[(480+Zb|0)+((Vb=Vb+-1|0)<<2)>>2]|Yb,(0|bc)<(0|Vb););if(Yb){for(cc=ac;cc=cc+-24|0,!q[(480+Zb|0)+((Xb=Xb+-1|0)<<2)>>2];);break a}}for(Vb=1;Vb=(Yb=Vb)+1|0,!q[(480+Zb|0)+(bc-Yb<<2)>>2];);for(Yb=Xb+Yb|0;;){for(Xb=$b=Xb+1|0,v[(320+Zb|0)+($b<<3)>>3]=q[3248+(gc+Xb<<2)>>2],Wb=Vb=0;Wb+=v[(Vb<<3)+a>>3]*v[(320+Zb|0)+($b-Vb<<3)>>3],1!=(0|(Vb=Vb+1|0)););if(v[(Xb<<3)+Zb>>3]=Wb,!((0|Xb)<(0|Yb)))break}Xb=Yb}16777216<=(Wb=ha(Wb,0-ac|0))?(a=(480+Zb|0)+(Xb<<2)|0,dc=Wb,Vb=y(Wb*=5.960464477539063e-8)<2147483648?~~Wb:-2147483648,Yb=y(Wb=dc+-16777216*(0|Vb))<2147483648?~~Wb:-2147483648,q[a>>2]=Yb,Xb=Xb+1|0):(Vb=y(Wb)<2147483648?~~Wb:-2147483648,cc=ac),q[(480+Zb|0)+(Xb<<2)>>2]=Vb}if(Wb=ha(1,cc),!((0|Xb)<=-1)){for(Vb=Xb;v[(Vb<<3)+Zb>>3]=Wb*q[(480+Zb|0)+(Vb<<2)>>2],Wb*=5.960464477539063e-8,a=0<(0|Vb),Vb=Vb+-1|0,a;);if(!((0|Xb)<=-1))for(Vb=Xb;;){for(Yb=Xb-(a=Vb)|0,Vb=Wb=0;Wb+=v[6016+(Vb<<3)>>3]*v[(a+Vb<<3)+Zb>>3],!((0|bc)<=(0|Vb))&&(ac=Vb>>>0>>0,Vb=Vb+1|0,ac););if(v[(160+Zb|0)+(Yb<<3)>>3]=Wb,Vb=a+-1|0,!(0<(0|a)))break}}if((Wb=0)<=(0|Xb))for(;Wb+=v[(160+Zb|0)+(Xb<<3)>>3],a=0<(0|Xb),Xb=Xb+-1|0,a;);return v[Ub>>3]=_b?-Wb:Wb,L=560+Zb|0,7&$b}function Ea(a,Ub,Vb,lc){var oc,qc,rc,mc=0,nc=0,pc=0;L=oc=L-32|0,mc=(qc=mc=2147483647&lc)+-1006698496|0,(nc=pc=Vb)>>>0<0&&(mc=mc+1|0),rc=nc,nc=mc,mc=qc+-1140785152|0,pc>>>0<0&&(mc=mc+1|0);a:if((0|mc)==(0|nc)&rc>>>0>>0|nc>>>0>>0){if(mc=lc<<4|Vb>>>28,Vb=Vb<<4|Ub>>>28,134217728==(0|(pc=Ub&=268435455))&1<=a>>>0|134217728>>0){mc=mc+1073741824|0,(a=Vb+1|0)>>>0<1&&(mc=mc+1|0),nc=a;break a}if(mc=mc-(((nc=Vb)>>>0<0)+-1073741824|0)|0,a|134217728^pc)break a;(a=nc+(1&nc)|0)>>>0>>0&&(mc=mc+1|0),nc=a}else(!pc&2147418112==(0|qc)?!(a|Ub):2147418112==(0|qc)&pc>>>0<0|qc>>>0<2147418112)?(mc=2146435072,1140785151==((nc=0)|qc)&4294967295>>0|1140785151>>0||(pc=qc>>>16)>>>(mc=0)<15249||(function(a,Ub,Vb,lc,tc,uc){var zc=0,Ac=0,Bc=0,Cc=0;a:if(64&uc)Ub=31&(Vb=uc+-64|0),Ub=32<=(63&Vb)>>>0?(Vb=0,tc>>>Ub):(Vb=tc>>>Ub,((1<>>Ub),tc=lc=0;else{if(!uc)break a;Ac=tc,Bc=lc,zc=31&(Cc=64-uc|0),Cc=32<=(63&Cc)>>>0?(Ac=Bc<>>32-zc|Ac<>>0?(zc=0,Vb>>>Ub):(zc=Vb>>>Ub,((1<>>Ub),Ub|=Cc,Vb=zc|Ac,zc=lc,lc=31&uc,lc=32<=(63&uc)>>>0?(Ac=0,tc>>>lc):(Ac=tc>>>lc,((1<>>lc),tc=Ac}q[a>>2]=Ub,q[a+4>>2]=Vb,q[a+8>>2]=lc,q[a+12>>2]=tc}(oc,a,Ub,Vb,mc=65535&lc|65536,15361-pc|0),function(a,Ub,Vb,lc,tc,uc){var vc=0,wc=0,xc=0,yc=0;64&uc?(lc=Ub,Ub=31&(tc=uc+-64|0),32<=(63&tc)>>>0?(tc=lc<>>32-Ub|Vb<>>0?(wc=vc<>>32-lc|tc<>>0?(uc=0,lc>>>=tc):(uc=lc>>>tc,lc=((1<>>tc),lc|=yc,tc=uc|wc,uc=Ub,Ub=31&xc,Ub=32<=(63&xc)>>>0?(wc=uc<>>32-Ub|Vb<>2]=Ub,q[a+4>>2]=Vb,q[a+8>>2]=lc,q[a+12>>2]=tc}(16+oc|0,a,Ub,Vb,mc,pc+-15233|0),Vb=q[4+oc>>2],a=q[8+oc>>2],mc=q[12+oc>>2]<<4|a>>>28,nc=a<<4|Vb>>>28,134217728==(0|(Vb=a=268435455&Vb))&1<=(Ub=q[oc>>2]|(0!=(q[16+oc>>2]|q[24+oc>>2])|0!=(q[20+oc>>2]|q[28+oc>>2])))>>>0|134217728>>0?((a=nc+1|0)>>>0<1&&(mc=mc+1|0),nc=a):Ub|134217728^Vb||((a=nc+(1&nc)|0)>>>0>>0&&(mc=mc+1|0),nc=a))):(nc=Vb<<4|Ub>>>28,mc=524287&(mc=lc<<4|Vb>>>28)|2146959360);return L=32+oc|0,f(0,0|nc),f(1,-2147483648&lc|mc),+g()}function Ia(a,Ub){var Vb=0,lc=0,tc=0;Vb=0!=(0|Ub);a:{b:{c:{d:if(!(!Ub|!(3&a)))for(;;){if(!r[0|a])break c;if(a=a+1|0,Vb=0!=(0|(Ub=Ub+-1|0)),!Ub)break d;if(!(3&a))break}if(!Vb)break b}if(!r[0|a])break a;e:{if(4<=Ub>>>0){for(Vb=(Vb=Ub+-4|0)-(lc=-4&Vb)|0,lc=4+(a+lc|0)|0;;){if((-1^(tc=q[a>>2]))&tc+-16843009&-2139062144)break e;if(a=a+4|0,!(3<(Ub=Ub+-4|0)>>>0))break}Ub=Vb,a=lc}if(!Ub)break b}for(;;){if(!r[0|a])break a;if(a=a+1|0,!(Ub=Ub+-1|0))break}}return 0}return a}function Na(a,Ub,Fc,Gc){if(a|Ub)for(;o[0|(Fc=Fc+-1|0)]=r[3168+(15&a)|0]|Gc,(a=(15&Ub)<<28|a>>>4)|(Ub>>>=4););return Fc}function Oa(a,Ub,Fc){if(a|Ub)for(;o[0|(Fc=Fc+-1|0)]=7&a|48,(a=(7&Ub)<<29|a>>>3)|(Ub>>>=3););return Fc}function ab(a){var sd;q[(L=sd=L-16|0)>>2]=a,function(a,Fc){var gd;ra(a,1176,q[12+(L=gd=L-16|0)>>2]=Fc,0,0),L=16+gd|0}(q[670],sd),L=16+sd|0}function jb(a){var Ve,qe=0,re=0,Je=0,We=0,Xe=0,Ye=0,Ze=0,_e=0,$e=0,af=0;if(q[24+(L=Ve=L-32|0)>>2]=0,q[16+Ve>>2]=4,function(a){var td;sa(16+(L=td=L-272|0)|0,1611,q[12+td>>2]=a),ab(16+td|0),L=272+td|0}(16+Ve|(q[20+Ve>>2]=0)),ma(a))Y(4,1183,0),a=0;else if(4<=(re=r[a+4|0])>>>0)q[4+Ve>>2]=re,q[Ve>>2]=3,Y(4,1332,Ve),a=0;else{for(1!=(0|(We=!r[a+5|0]))&&(ca(a+4|0,1),X(a- -64|0,4,160),o[a+5|0]=0),qe=a- -64|0,Je=102,re=a+704|0;q[re>>2]=q[qe>>2]+a,re=re+4|0,qe=qe+4|0,Je=Je+-1|0;);if(1!=(0|We)&&(re=r[a+4|0],X(q[a+704>>2],4,32),ca(q[a+708>>2],4),ca(q[a+708>>2]+4|0,4),ca(q[a+708>>2]+8|0,4),ca(q[a+708>>2]+12|0,4),ca(q[a+708>>2]+16|0,4),ca(q[a+708>>2]+20|0,1),X(q[a+720>>2],4,q[q[a+704>>2]>>2]),X(q[a+724>>2],4,q[q[a+704>>2]>>2]),X(q[a+728>>2],4,q[q[a+704>>2]>>2]),X(q[a+732>>2],4,q[q[a+704>>2]>>2]),X(q[a+736>>2],4,q[q[a+704>>2]>>2]),X(q[a+740>>2],4,q[q[a+704>>2]>>2]),X(q[a+752>>2],4,q[q[a+704>>2]+4>>2]),X(q[a+756>>2],4,q[q[a+704>>2]+4>>2]),X(q[a+760>>2],4,q[q[a+704>>2]+4>>2]),X(q[a+764>>2],4,q[q[a+704>>2]+4>>2]),X(q[a+768>>2],4,q[q[a+704>>2]+4>>2]),X(q[a+772>>2],4,q[q[a+704>>2]+4>>2]),X(q[a+776>>2],4,q[q[a+704>>2]+4>>2]),X(q[a+780>>2],4,q[q[a+704>>2]+8>>2]),X(q[a+784>>2],4,q[q[a+704>>2]+8>>2]),X(q[a+788>>2],4,q[q[a+704>>2]+8>>2]),X(q[a+792>>2],4,q[q[a+704>>2]+8>>2]),X(q[a+796>>2],4,q[q[a+704>>2]+8>>2]),X(q[a+800>>2],4,q[q[a+704>>2]+8>>2]),X(q[a+804>>2],4,q[q[a+704>>2]+12>>2]),X(q[a+808>>2],4,q[q[a+704>>2]+12>>2]),X(q[a+812>>2],4,q[q[a+704>>2]+12>>2]),X(q[a+816>>2],4,q[q[a+704>>2]+12>>2]),X(q[a+840>>2],4,q[q[a+704>>2]+16>>2]),X(q[a+844>>2],4,q[q[a+704>>2]+16>>2]),X(q[a+848>>2],4,q[q[a+704>>2]+16>>2]),X(q[a+852>>2],4,q[q[a+704>>2]+16>>2]),X(q[a+856>>2],4,q[q[a+704>>2]+16>>2]),X(q[a+860>>2],4,q[q[a+704>>2]+16>>2]),X(q[a+864>>2],4,q[q[a+704>>2]+16>>2]),X(q[a+868>>2],4,q[q[a+704>>2]+16>>2]),X(q[a+872>>2],1,q[q[a+704>>2]+16>>2]),X(q[a+876>>2],4,q[q[a+704>>2]+16>>2]),X(q[a+880>>2],4,q[q[a+704>>2]+16>>2]),X(q[a+884>>2],4,q[q[a+704>>2]+16>>2]),X(q[a+888>>2],4,q[q[a+704>>2]+16>>2]),X(q[a+892>>2],4,q[q[a+704>>2]+16>>2]),X(q[a+896>>2],4,q[q[a+704>>2]+16>>2]),X(q[a+908>>2],4,q[q[a+704>>2]+20>>2]),X(q[a+912>>2],4,q[q[a+704>>2]+20>>2]),X(q[a+916>>2],4,q[q[a+704>>2]+20>>2]),X(q[a+920>>2],4,q[q[a+704>>2]+20>>2]),X(q[a+924>>2],4,q[q[a+704>>2]+20>>2]),X(q[a+928>>2],4,q[q[a+704>>2]+20>>2]),X(q[a+932>>2],4,q[q[a+704>>2]+20>>2]),X(q[a+936>>2],4,q[q[a+704>>2]+24>>2]),X(q[a+940>>2],4,q[q[a+704>>2]+28>>2]),X(q[a+944>>2],4,q[q[a+704>>2]+28>>2]),X(q[a+948>>2],4,q[q[a+704>>2]+32>>2]),X(q[a+952>>2],4,q[q[a+704>>2]+32>>2]),X(q[a+956>>2],4,q[q[a+704>>2]+32>>2]),X(q[a+960>>2],4,q[q[a+704>>2]+32>>2]),X(q[a+964>>2],4,q[q[a+704>>2]+32>>2]),X(q[a+968>>2],4,q[q[a+704>>2]+32>>2]),X(q[a+972>>2],4,q[q[a+704>>2]+32>>2]),X(q[a+976>>2],4,q[q[a+704>>2]+36>>2]),X(q[a+980>>2],4,q[q[a+704>>2]+36>>2]),X(q[a+984>>2],4,q[q[a+704>>2]+36>>2]),X(q[a+988>>2],4,q[q[a+704>>2]+40>>2]),X(q[a+992>>2],4,q[q[a+704>>2]+44>>2]),X(q[a+996>>2],4,q[q[a+704>>2]+48>>2]),X(q[a+1e3>>2],4,q[q[a+704>>2]+48>>2]),X(q[a+1004>>2],4,q[q[a+704>>2]+52>>2]),X(q[a+1008>>2],4,q[q[a+704>>2]+52>>2]),X(q[a+1012>>2],4,q[q[a+704>>2]+56>>2]),X(q[a+1016>>2],4,q[q[a+704>>2]+60>>2]),X(q[a+1020>>2],2,q[q[a+704>>2]+64>>2]),X(q[a+1024>>2],4,q[q[a+704>>2]+68>>2]),X(q[a+1028>>2],4,q[q[a+704>>2]+72>>2]),X(q[a+1032>>2],4,q[q[a+704>>2]+72>>2]),X(q[a+1036>>2],4,q[q[a+704>>2]+72>>2]),X(q[a+1040>>2],4,q[q[a+704>>2]+72>>2]),X(q[a+1044>>2],4,q[q[a+704>>2]+72>>2]),X(q[a+1048>>2],4,q[q[a+704>>2]+76>>2]),X(q[a+1052>>2],4,q[q[a+704>>2]+76>>2]),X(q[a+1056>>2],4,q[q[a+704>>2]+76>>2]),X(q[a+1068>>2],4,q[q[a+704>>2]+80>>2]),X(q[a+1072>>2],4,q[q[a+704>>2]+80>>2]),X(q[a+1076>>2],4,q[q[a+704>>2]+80>>2]),X(q[a+1080>>2],4,q[q[a+704>>2]+80>>2]),X(q[a+1084>>2],4,q[q[a+704>>2]+80>>2]),X(q[a+1088>>2],4,q[q[a+704>>2]+80>>2]),X(q[a+1092>>2],4,q[q[a+704>>2]+80>>2]),X(q[a+1096>>2],4,q[q[a+704>>2]+84>>2]),X(q[a+1100>>2],2,q[q[a+704>>2]+84>>2]),X(q[a+1104>>2],4,q[q[a+704>>2]+88>>2]),re>>>0<2||X(q[a+1108>>2],4,q[q[a+704>>2]+8>>2])),q[1643]=5,q[1642]=6,q[1644]=7,q[1645]=8,q[1646]=9,q[1647]=10,qe=q[a+704>>2],1<=q[qe>>2])for(re=0;q[q[a+712>>2]+(re<<2)>>2]=q[a+716>>2]+(re<<6),re=re+1|0,qe=q[a+704>>2],(0|re)>2];);if(1<=q[qe+4>>2])for(re=0;q[q[a+744>>2]+(re<<2)>>2]=q[a+748>>2]+(re<<6),re=re+1|0,qe=q[a+704>>2],(0|re)>2];);if(1<=q[qe+16>>2])for(re=0;q[(qe=re<<2)+q[a+820>>2]>>2]=q[a+836>>2]+(re<<6),q[qe+q[a+824>>2]>>2]=q[a+1016>>2]+(q[qe+q[a+880>>2]>>2]<<2),q[qe+q[a+828>>2]>>2]=q[a+1020>>2]+(q[qe+q[a+884>>2]>>2]<<1),q[qe+q[a+832>>2]>>2]=q[a+1024>>2]+(q[qe+q[a+892>>2]>>2]<<2),re=re+1|0,qe=q[a+704>>2],(0|re)>2];);if(1<=q[qe+20>>2])for(re=0;q[q[a+900>>2]+(re<<2)>>2]=q[a+904>>2]+(re<<6),re=re+1|0,qe=q[a+704>>2],(0|re)>2];);if(1<=q[qe+80>>2])for(re=0;q[q[a+1060>>2]+(re<<2)>>2]=q[a+1064>>2]+(re<<6),re=re+1|0,qe=q[a+704>>2],(0|re)>2];);if(!(1&o[q[a+708>>2]+20|0]||(0|(We=q[qe+16>>2]))<1)){for(Ye=q[a+888>>2],Ze=q[a+884>>2],Xe=q[a+1020>>2],re=0;;){if(1<(0|(Je=q[(qe=re<<2)+Ye>>2])))for(_e=Je+-1|0,$e=Xe+(q[qe+Ze>>2]<<1)|0,qe=0;af=s[(Je=(qe<<1)+$e|0)>>1],p[Je>>1]=s[Je+4>>1],p[Je+4>>1]=af,(0|(qe=qe+3|0))<(0|_e););if((0|We)==(0|(re=re+1|0)))break}for(re=q[a+876>>2],Ye=q[a+880>>2],Ze=q[a+1016>>2],Je=0;;){if(1<=(0|(Xe=q[(qe=Je<<2)+re>>2])))for(Xe=(qe=Ze+(q[qe+Ye>>2]<<2)|0)+(Xe<<3)|0,qe=qe+4|0;u[qe>>2]=x(1)-u[qe>>2],(qe=qe+8|0)>>>0>>0;);if((0|We)==(0|(Je=Je+1|0)))break}}}return L=32+Ve|0,a}function $b(a){var _h=x(0),fi=x(0),gi=0,hi=0,ii=x(0),ji=x(0),ki=x(0),li=x(0),mi=0,ni=x(0),oi=x(0),pi=0;a:{b:{if(j(a),hi=2147483647&(gi=e(0))){if(!(hi>>>0<2139095041))return x(x(.10000000149011612)+a);if(1065353216==(0|hi))return x(-1<(0|gi)?.10000000149011612:10);if(2139095040==(0|hi))return x(-1<(0|gi)?0:-a);if(1073741824==(0|gi))return x(.010000000707805157);if(1056964608==(0|gi))return x(.3162277638912201);if(1291845633<=hi>>>0)return x((0|gi)<0?H:0);if(ii=u[1537],ji=x(x(1.600000023841858)-ii),ki=x(x(1)/x(ii+x(1.600000023841858))),f(0,-4096&(j(fi=x(ji*ki)),e(0))),_h=k(),li=x(_h*_h),oi=u[1541],ii=x(ki*x(x(ji-x((ni=_h)*x(3.099609375)))-x(_h*x(x(1.600000023841858)-x(x(3.099609375)-ii))))),ki=x(x(fi+_h)*ii),_h=x(fi*fi),ji=x(ki+x(x(_h*_h)*x(x(_h*x(x(_h*x(x(_h*x(x(_h*x(x(_h*x(.20697501301765442))+x(.23066075146198273)))+x(.2727281153202057)))+x(.3333333432674408)))+x(.4285714328289032)))+x(.6000000238418579)))),f(0,-4096&(j(x(x(li+x(3))+ji)),e(0))),_h=k(),ki=x(ni*_h),fi=x(x(ii*_h)+x(fi*x(ji-x(x(_h+x(-3))-li)))),f(0,-4096&(j(x(ki+fi)),e(0))),_h=k(),ii=x(_h*x(.9619140625)),li=x(u[1539]+x(x(x(fi-x(_h-ki))*x(.9617967009544373))+x(_h*x(-.00011736857413779944)))),f(0,-4096&(j(x(x(oi+x(ii+li))+x(-4))),e(0))),fi=k(),f(0,-4096&gi),ji=k(),_h=x(fi*ji),a=x(x(x(li-x(x(x(fi-x(-4))-oi)-ii))*a)+x(x(a-ji)*fi)),j(fi=x(_h+a)),1124073473<=(0|(gi=e(0))))break b;d:{e:{if((hi=1124073472)==(0|gi)){if(!(x(a+x(4.299566569443414e-8))>x(fi-_h)))break e;break b}if(hi=2147483647&gi,!(a<=x(fi-_h)^1|-1021968384!=(0|gi))|1125515265<=hi>>>0)break a;if(hi>>>0<1056964609)break d}mi=(8388607&(hi=(8388608>>>(hi>>>23)-126)+gi|0)|8388608)>>>150-(pi=hi>>>23&255),mi=(0|gi)<0?0-mi|0:mi,_h=x(_h-(f(0,hi&-8388608>>pi+-127),k())),j(x(a+_h)),gi=e(0)}f(0,-32768&gi),fi=k(),ii=x(fi*x(.693145751953125)),fi=x(x(fi*x(14286065379565116e-22))+x(x(a-x(fi-_h))*x(.6931471824645996))),a=x(ii+fi),_h=x(a*a),_h=x(a-x(_h*x(x(_h*x(x(_h*x(x(_h*x(x(_h*x(4.138136944220605e-8))+x(-16533901998627698e-22)))+x(661375597701408e-19)))+x(-.0027777778450399637)))+x(.1666666716337204)))),ni=x(x(a*_h)/x(_h+x(-2))),_h=x(fi-x(a-ii)),a=(0|(gi=0|(j(a=x(x(a-x(ni-x(_h+x(a*_h))))+x(1))),e(0)+(mi<<23))))<=8388607?function(a,qi){a:if(128<=(0|qi)){if(a=x(a*x(17014118346046923e22)),(0|qi)<255){qi=qi+-127|0;break a}a=x(a*x(17014118346046923e22)),qi=((0|qi)<381?qi:381)+-254|0}else-127<(0|qi)||(a=x(a*x(11754943508222875e-54)),qi=-253<(0|qi)?qi+126|0:(a=x(a*x(11754943508222875e-54)),(-378<(0|qi)?qi:-378)+252|0));return x(a*(f(0,1065353216+(qi<<23)|0),k()))}(a,mi):(f(0,gi),k()),a=x(x(1)*a)}else a=x(1);return a}return x(H)}return x(0)}function dc(a,qi){var low,high;low=0|a,high=0|qi,b[0]=low,b[1]=high}function gc(a,qi,si){return function(a,qi,si){var ui,vi,wi,xi,ti=0;return xi=w(ui=si>>>16,ti=a>>>16),a=(65535&(ti=((wi=w(vi=65535&si,a&=65535))>>>16)+w(ti,vi)|0))+w(a,ui)|0,M=((xi+w(qi,si)|0)+(ti>>>16)|0)+(a>>>16)|0,65535&wi|a<<16}(a,qi,si)}function hc(a,qi,si){return function(a,qi,si){var yi=0,zi=0,Ai=0,Bi=0,Ci=0,Di=0,Ei=0,Fi=0,Gi=0;a:{b:{c:{d:{e:{f:{g:{h:{i:{if(zi=qi){if(!(yi=si))break i;break h}return dc((qi=a)-w(a=(a>>>0)/(si>>>0)|0,si)|0,0),M=0,a}if(!a)break g;break f}if(!((Bi=yi+-1|0)&yi))break e;Ci=0-(Bi=(z(yi)+33|0)-z(zi)|0)|0;break c}return dc(0,zi-w(a=(zi>>>0)/0|0,0)|0),M=0,a}if((yi=32-z(zi)|0)>>>0<31)break d;break b}if(dc(a&Bi,0),1==(0|yi))break a;return si=31&(yi=yi?31-z(yi+-1^yi)|0:32),a=32<=(63&yi)>>>0?(zi=0,qi>>>si):(zi=qi>>>si,((1<>>si),M=zi,a}Bi=yi+1|0,Ci=63-yi|0}if(yi=qi,Ai=31&(zi=63&Bi),Ai=32<=zi>>>0?(zi=0,yi>>>Ai):(zi=yi>>>Ai,((1<>>Ai),yi=31&(Ci&=63),32<=Ci>>>0?(qi=a<>>32-yi|qi<>>0<4294967295&&(yi=0);Ai=(Ei=Di=Ai<<1|qi>>>31)-(Fi=si&(Di=yi-((zi=zi<<1|Ai>>>31)+(Ci>>>0>>0)|0)>>31))|0,zi=zi-(Ei>>>0>>0)|0,qi=qi<<1|a>>>31,a=Gi|a<<1,Gi=Di&=1,Bi=Bi+-1|0;);return dc(Ai,zi),M=qi<<1|a>>>31,Di|a<<1}dc(a,qi),qi=a=0}return M=qi,a}(a,qi,si)}function jc(a){var Hi;return(-1>>>(Hi=31&a)&-2)<>>a}function N(){return buffer.byteLength/65536|0}}(H,I,J)}}l=null,b.wasmBinary&&(F=b.wasmBinary);var fa=Error,WebAssembly={};F=[],"object"!=typeof WebAssembly&&E("no native wasm support detected");var I,J=new function(a){var c=Array(17);return c.grow=function(){18<=c.length&&B("Unable to grow wasm table. Use a higher value for RESERVED_FUNCTION_POINTERS or set ALLOW_TABLE_GROWTH."),c.push(null)},c.set=function(a,e){c[a]=e},c.get=function(a){return c[a]},c}({initial:17,maximum:18,element:"anyfunc"}),K=!1;function assert(a,c){a||B("Assertion failed: "+c)}var buffer,M,L,N,ia="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function ja(a,c,d){var e=c+d;for(d=c;a[d]&&!(e<=d);)++d;if(16>10,56320|1023&f))}}else e+=String.fromCharCode(f)}return e}function ka(a,c){return a?ja(L,a,c):""}function la(a){return 0>>16)*e+d*(c>>>16)<<16)|0}),!Math.fround){var sa=new Float32Array(1);Math.fround=function(a){return sa[0]=a,sa[0]}}Math.clz32||(Math.clz32=function(a){var c=32,d=a>>16;return d&&(c-=16,a=d),(d=a>>8)&&(c-=8,a=d),(d=a>>4)&&(c-=4,a=d),(d=a>>2)&&(c-=2,a=d),a>>1?c-2:c-a}),Math.trunc||(Math.trunc=function(a){return a<0?Math.ceil(a):Math.floor(a)});var P=0,Q=null,U=null;function B(a){throw b.onAbort&&b.onAbort(a),D(a),E(a),K=!0,new fa("abort("+a+"). Build with -s ASSERTIONS=1 for more info.")}b.preloadedImages={},b.preloadedAudios={};var V="data:application/octet-stream;base64,";function W(a){return String.prototype.startsWith?a.startsWith(V):0===a.indexOf(V)}var X="_em_module.wasm";if(!W(X)){var ta=X;X=b.locateFile?b.locateFile(ta,u):u+ta}function ua(){try{if(F)return new Uint8Array(F);var a=z(X);if(a)return a;if(w)return w(X);throw"both async and sync fetching of the wasm failed"}catch(c){B(c)}}oa.push({b:function(){wa()}});var xa=[null,[],[]],ya=!1;function C(a){for(var c=[],d=0;d>4,f=(15&f)<<4|g>>2;var h=(3&g)<<6|m;c+=String.fromCharCode(e),64!==g&&(c+=String.fromCharCode(f)),64!==m&&(c+=String.fromCharCode(h))}while(d>16),ma(I.buffer);var d=1;break a}catch(e){}d=void 0}return!!d},fd_write:function(a,c,d,e){try{for(var f=0,g=0;g>2],h=N[c+(8*g+4)>>2],A=0;A>2]=f,0}catch(T){return"undefined"!=typeof FS&&T instanceof FS.c||B(T),T.f}},memory:I,table:J},Aa=function(){function a(a){b.asm=a.exports,P--,b.monitorRunDependencies&&b.monitorRunDependencies(P),0==P&&(null!==Q&&(clearInterval(Q),Q=null),U&&(a=U,U=null,a()))}function c(c){a(c.instance)}function d(a){return(F||!p&&!q||"function"!=typeof fetch?new Promise(function(a){a(ua())}):fetch(X,{credentials:"same-origin"}).then(function(a){if(!a.ok)throw"failed to load wasm binary file at '"+X+"'";return a.arrayBuffer()}).catch(function(){return ua()})).then(function(){return{then:function(a){a({instance:new da})}}}).then(a,function(a){E("failed to asynchronously prepare wasm: "+a),B(a)})}var e={env:H,wasi_snapshot_preview1:H};if(P++,b.monitorRunDependencies&&b.monitorRunDependencies(P),b.instantiateWasm)try{return b.instantiateWasm(e,a)}catch(f){return E("Module.instantiateWasm callback failed with error: "+f),!1}return function(){if(F||"function"!=typeof WebAssembly.instantiateStreaming||W(X)||"function"!=typeof fetch)return d(c);fetch(X,{credentials:"same-origin"}).then(function(a){return WebAssembly.instantiateStreaming(a,e).then(c,function(a){E("wasm streaming compile failed: "+a),E("falling back to ArrayBuffer instantiation"),d(c)})})}(),{}}();b.asm=Aa;var wa=b.___wasm_call_ctors=function(){return b.asm.__wasm_call_ctors.apply(null,arguments)};b._csmGetVersion=function(){return b.asm.csmGetVersion.apply(null,arguments)},b._csmGetLatestMocVersion=function(){return b.asm.csmGetLatestMocVersion.apply(null,arguments)},b._csmGetMocVersion=function(){return b.asm.csmGetMocVersion.apply(null,arguments)},b._csmSetLogFunction=function(){return b.asm.csmSetLogFunction.apply(null,arguments)},b._csmReviveMocInPlace=function(){return b.asm.csmReviveMocInPlace.apply(null,arguments)},b._csmReadCanvasInfo=function(){return b.asm.csmReadCanvasInfo.apply(null,arguments)},b._csmGetSizeofModel=function(){return b.asm.csmGetSizeofModel.apply(null,arguments)},b._csmInitializeModelInPlace=function(){return b.asm.csmInitializeModelInPlace.apply(null,arguments)},b._csmUpdateModel=function(){return b.asm.csmUpdateModel.apply(null,arguments)},b._csmGetParameterCount=function(){return b.asm.csmGetParameterCount.apply(null,arguments)},b._csmGetParameterIds=function(){return b.asm.csmGetParameterIds.apply(null,arguments)},b._csmGetParameterMinimumValues=function(){return b.asm.csmGetParameterMinimumValues.apply(null,arguments)},b._csmGetParameterMaximumValues=function(){return b.asm.csmGetParameterMaximumValues.apply(null,arguments)},b._csmGetParameterDefaultValues=function(){return b.asm.csmGetParameterDefaultValues.apply(null,arguments)},b._csmGetParameterValues=function(){return b.asm.csmGetParameterValues.apply(null,arguments)},b._csmGetPartCount=function(){return b.asm.csmGetPartCount.apply(null,arguments)},b._csmGetPartIds=function(){return b.asm.csmGetPartIds.apply(null,arguments)},b._csmGetPartOpacities=function(){return b.asm.csmGetPartOpacities.apply(null,arguments)},b._csmGetPartParentPartIndices=function(){return b.asm.csmGetPartParentPartIndices.apply(null,arguments)},b._csmGetDrawableCount=function(){return b.asm.csmGetDrawableCount.apply(null,arguments)},b._csmGetDrawableIds=function(){return b.asm.csmGetDrawableIds.apply(null,arguments)},b._csmGetDrawableConstantFlags=function(){return b.asm.csmGetDrawableConstantFlags.apply(null,arguments)},b._csmGetDrawableDynamicFlags=function(){return b.asm.csmGetDrawableDynamicFlags.apply(null,arguments)},b._csmGetDrawableTextureIndices=function(){return b.asm.csmGetDrawableTextureIndices.apply(null,arguments)},b._csmGetDrawableDrawOrders=function(){return b.asm.csmGetDrawableDrawOrders.apply(null,arguments)},b._csmGetDrawableRenderOrders=function(){return b.asm.csmGetDrawableRenderOrders.apply(null,arguments)},b._csmGetDrawableOpacities=function(){return b.asm.csmGetDrawableOpacities.apply(null,arguments)},b._csmGetDrawableMaskCounts=function(){return b.asm.csmGetDrawableMaskCounts.apply(null,arguments)},b._csmGetDrawableMasks=function(){return b.asm.csmGetDrawableMasks.apply(null,arguments)},b._csmGetDrawableVertexCounts=function(){return b.asm.csmGetDrawableVertexCounts.apply(null,arguments)},b._csmGetDrawableVertexPositions=function(){return b.asm.csmGetDrawableVertexPositions.apply(null,arguments)},b._csmGetDrawableVertexUvs=function(){return b.asm.csmGetDrawableVertexUvs.apply(null,arguments)},b._csmGetDrawableIndexCounts=function(){return b.asm.csmGetDrawableIndexCounts.apply(null,arguments)},b._csmGetDrawableIndices=function(){return b.asm.csmGetDrawableIndices.apply(null,arguments)},b._csmResetDrawableDynamicFlags=function(){return b.asm.csmResetDrawableDynamicFlags.apply(null,arguments)},b._csmMallocMoc=function(){return b.asm.csmMallocMoc.apply(null,arguments)},b._csmMallocModelAndInitialize=function(){return b.asm.csmMallocModelAndInitialize.apply(null,arguments)},b._csmMalloc=function(){return b.asm.csmMalloc.apply(null,arguments)},b._csmFree=function(){return b.asm.csmFree.apply(null,arguments)};var Y,Ba=b.stackSave=function(){return b.asm.stackSave.apply(null,arguments)},Ca=b.stackAlloc=function(){return b.asm.stackAlloc.apply(null,arguments)},Da=b.stackRestore=function(){return b.asm.stackRestore.apply(null,arguments)},ca=b.__growWasmMemory=function(){return b.asm.__growWasmMemory.apply(null,arguments)};function Z(){function a(){if(!Y&&(Y=!0,!K)){if(O(oa),O(pa),b.onRuntimeInitialized&&b.onRuntimeInitialized(),b.postRun)for("function"==typeof b.postRun&&(b.postRun=[b.postRun]);b.postRun.length;){var a=b.postRun.shift();qa.unshift(a)}O(qa)}}if(!(0>6}else{if(k<=65535){if(d<=e+2)break;f[e++]=224|k>>12}else{if(d<=e+3)break;f[e++]=240|k>>18,f[e++]=128|k>>12&63}f[e++]=128|k>>6&63}f[e++]=128|63&k}}f[e]=0}}return c},array:function(a){var c=Ca(a.length);return M.set(a,c),c}},g=function(a){var c=b["_"+a];return assert(c,"Cannot call unknown function "+a+", make sure it is exported"),c}(a),m=[];if(a=0,e)for(var h=0;h { blink(); } -const img = ["chara.png", "chara_blinking.png"]; +const img = ["charas.png", "chara_blinkings.png"]; var isBlinking = false; function blink() { if (isBlinking) { isBlinking = false; - document.getElementById("charaImg").src = img[1]; + document.getElementById("charaImg").src = "img[1]"; setTimeout(blink, 100); } else { isBlinking = true; diff --git a/staticfiles/audio_20240707054625.wav b/staticfiles/audio_20240707054625.wav deleted file mode 100644 index 71b2e6c2281e54df2e830dfa1c0ae92b4fd3ea5b..0000000000000000000000000000000000000000 Binary files a/staticfiles/audio_20240707054625.wav and /dev/null differ diff --git a/staticfiles/audio_20240707055152.wav b/staticfiles/audio_20240707055152.wav deleted file mode 100644 index 71b2e6c2281e54df2e830dfa1c0ae92b4fd3ea5b..0000000000000000000000000000000000000000 Binary files a/staticfiles/audio_20240707055152.wav and /dev/null differ diff --git a/staticfiles/audio_20240707055236.wav b/staticfiles/audio_20240707055236.wav deleted file mode 100644 index 71b2e6c2281e54df2e830dfa1c0ae92b4fd3ea5b..0000000000000000000000000000000000000000 Binary files a/staticfiles/audio_20240707055236.wav and /dev/null differ diff --git a/staticfiles/audio_20240707055500.wav b/staticfiles/audio_20240707055500.wav deleted file mode 100644 index 71b2e6c2281e54df2e830dfa1c0ae92b4fd3ea5b..0000000000000000000000000000000000000000 Binary files a/staticfiles/audio_20240707055500.wav and /dev/null differ diff --git a/staticfiles/audio_20240707055614.wav b/staticfiles/audio_20240707055614.wav deleted file mode 100644 index 12110d89223637306b43e858bc4ea95c2ecb790a..0000000000000000000000000000000000000000 Binary files a/staticfiles/audio_20240707055614.wav and /dev/null differ diff --git a/staticfiles/audio_20240707063750.wav b/staticfiles/audio_20240707063750.wav deleted file mode 100644 index 0aaccf11cc09342f65dd525c88d11a994d2b55cf..0000000000000000000000000000000000000000 Binary files a/staticfiles/audio_20240707063750.wav and /dev/null differ diff --git a/staticfiles/audio_20240707064224.wav b/staticfiles/audio_20240707064224.wav deleted file mode 100644 index 0aaccf11cc09342f65dd525c88d11a994d2b55cf..0000000000000000000000000000000000000000 Binary files a/staticfiles/audio_20240707064224.wav and /dev/null differ diff --git a/staticfiles/audio_20240707064601.wav b/staticfiles/audio_20240707064601.wav deleted file mode 100644 index 0aaccf11cc09342f65dd525c88d11a994d2b55cf..0000000000000000000000000000000000000000 Binary files a/staticfiles/audio_20240707064601.wav and /dev/null differ diff --git a/staticfiles/audio_20240707064950.wav b/staticfiles/audio_20240707064950.wav deleted file mode 100644 index 0aaccf11cc09342f65dd525c88d11a994d2b55cf..0000000000000000000000000000000000000000 Binary files a/staticfiles/audio_20240707064950.wav and /dev/null differ diff --git a/staticfiles/audio_20240707065309.wav b/staticfiles/audio_20240707065309.wav deleted file mode 100644 index 0ca95c8bedabe1a5c8bef5e858dea918776d3c39..0000000000000000000000000000000000000000 Binary files a/staticfiles/audio_20240707065309.wav and /dev/null differ diff --git a/staticfiles/audio_20240707065346.wav b/staticfiles/audio_20240707065346.wav deleted file mode 100644 index b7e7b9656c83db112454459f11de7b6d6d81e52f..0000000000000000000000000000000000000000 Binary files a/staticfiles/audio_20240707065346.wav and /dev/null differ diff --git a/staticfiles/audio_20240707065415.wav b/staticfiles/audio_20240707065415.wav deleted file mode 100644 index 2865eeb2990273e5070e03d412c6500352e0ee34..0000000000000000000000000000000000000000 Binary files a/staticfiles/audio_20240707065415.wav and /dev/null differ diff --git a/staticfiles/audio_20240707065710.wav b/staticfiles/audio_20240707065710.wav deleted file mode 100644 index 9bae34bfe3deaca953b994dced7178595dd0c4e3..0000000000000000000000000000000000000000 Binary files a/staticfiles/audio_20240707065710.wav and /dev/null differ diff --git a/staticfiles/audio_20240707070845.wav b/staticfiles/audio_20240707070845.wav deleted file mode 100644 index fd0b1130e1aa6a6b85507a48cb367a642d7033e7..0000000000000000000000000000000000000000 Binary files a/staticfiles/audio_20240707070845.wav and /dev/null differ diff --git a/staticfiles/audio_20240707091915.wav b/staticfiles/audio_20240707091915.wav deleted file mode 100644 index 0d7245af43d1e52dd5d5ac1934b1f7be83fc4ede..0000000000000000000000000000000000000000 Binary files a/staticfiles/audio_20240707091915.wav and /dev/null differ diff --git a/staticfiles/audio_20240707091936.wav b/staticfiles/audio_20240707091936.wav deleted file mode 100644 index 39b726e30c534af4e6828d5817788460f9ef3080..0000000000000000000000000000000000000000 Binary files a/staticfiles/audio_20240707091936.wav and /dev/null differ diff --git a/staticfiles/audio_20240710135503.wav b/staticfiles/audio_20240710135503.wav deleted file mode 100644 index da0905daa868dff1cd095a9809e54b64bb2786e2..0000000000000000000000000000000000000000 Binary files a/staticfiles/audio_20240710135503.wav and /dev/null differ diff --git a/staticfiles/audio_20240711150046.wav b/staticfiles/audio_20240711150046.wav deleted file mode 100644 index e48d380d447a3c422ea77d9cdcdc74f035c1aad4..0000000000000000000000000000000000000000 Binary files a/staticfiles/audio_20240711150046.wav and /dev/null differ diff --git a/staticfiles/audio_20240714150518.wav b/staticfiles/audio_20240714150518.wav deleted file mode 100644 index 4c8594cc17b2c0c83fb82c9f406009d10d6686fc..0000000000000000000000000000000000000000 Binary files a/staticfiles/audio_20240714150518.wav and /dev/null differ diff --git a/staticfiles/audio_20240714152144.wav b/staticfiles/audio_20240714152144.wav deleted file mode 100644 index 4c8594cc17b2c0c83fb82c9f406009d10d6686fc..0000000000000000000000000000000000000000 Binary files a/staticfiles/audio_20240714152144.wav and /dev/null differ diff --git a/staticfiles/audio_20240714152254.wav b/staticfiles/audio_20240714152254.wav deleted file mode 100644 index ae194a02cd4066d43e5cfdf4be3681311ab43f1d..0000000000000000000000000000000000000000 Binary files a/staticfiles/audio_20240714152254.wav and /dev/null differ diff --git a/staticfiles/audio_20240718021444.wav b/staticfiles/audio_20240718021444.wav deleted file mode 100644 index e22edb21b07747fbccca82278a00b82a3c372457..0000000000000000000000000000000000000000 Binary files a/staticfiles/audio_20240718021444.wav and /dev/null differ diff --git a/staticfiles/audio_20240718022629.wav b/staticfiles/audio_20240718022629.wav deleted file mode 100644 index 9695e807bd068a158cfb4c4db5fe177acba1223b..0000000000000000000000000000000000000000 Binary files a/staticfiles/audio_20240718022629.wav and /dev/null differ diff --git a/staticfiles/audio_20240718024326.wav b/staticfiles/audio_20240718024326.wav deleted file mode 100644 index bd94c626f72b1d3fc0a7621c497fece49c1dbba1..0000000000000000000000000000000000000000 Binary files a/staticfiles/audio_20240718024326.wav and /dev/null differ diff --git a/staticfiles/audio_20240718024503.wav b/staticfiles/audio_20240718024503.wav deleted file mode 100644 index 0d7245af43d1e52dd5d5ac1934b1f7be83fc4ede..0000000000000000000000000000000000000000 Binary files a/staticfiles/audio_20240718024503.wav and /dev/null differ diff --git a/staticfiles/audio_20240718025442.wav b/staticfiles/audio_20240718025442.wav deleted file mode 100644 index 5c4bf464571fd0f34e0c526a065e11ae69a4fe93..0000000000000000000000000000000000000000 Binary files a/staticfiles/audio_20240718025442.wav and /dev/null differ diff --git a/staticfiles/audio_20240718025545.wav b/staticfiles/audio_20240718025545.wav deleted file mode 100644 index bae924fea0444bceac5163a50d9ebbe8284098f5..0000000000000000000000000000000000000000 Binary files a/staticfiles/audio_20240718025545.wav and /dev/null differ diff --git a/staticfiles/audio_20240719071627.wav b/staticfiles/audio_20240719071627.wav deleted file mode 100644 index 5b68ed80904327670c87aff539b6a8b356c355d5..0000000000000000000000000000000000000000 Binary files a/staticfiles/audio_20240719071627.wav and /dev/null differ diff --git a/staticfiles/audio_20240719071722.wav b/staticfiles/audio_20240719071722.wav deleted file mode 100644 index 0d7245af43d1e52dd5d5ac1934b1f7be83fc4ede..0000000000000000000000000000000000000000 Binary files a/staticfiles/audio_20240719071722.wav and /dev/null differ diff --git a/staticfiles/audio_20240719071913.wav b/staticfiles/audio_20240719071913.wav deleted file mode 100644 index 0d7245af43d1e52dd5d5ac1934b1f7be83fc4ede..0000000000000000000000000000000000000000 Binary files a/staticfiles/audio_20240719071913.wav and /dev/null differ diff --git a/staticfiles/audio_20240719072116.wav b/staticfiles/audio_20240719072116.wav deleted file mode 100644 index f46c748c429ea57d82793d80d59f6b238017abc7..0000000000000000000000000000000000000000 Binary files a/staticfiles/audio_20240719072116.wav and /dev/null differ diff --git a/staticfiles/audio_20240719073127.wav b/staticfiles/audio_20240719073127.wav deleted file mode 100644 index 766c9a0149f96ce9d55985a9c10c16091780b3a6..0000000000000000000000000000000000000000 Binary files a/staticfiles/audio_20240719073127.wav and /dev/null differ diff --git a/staticfiles/audio_20240719073234.wav b/staticfiles/audio_20240719073234.wav deleted file mode 100644 index bb583b324cd435f69425d8c002c591f1268fbb4c..0000000000000000000000000000000000000000 Binary files a/staticfiles/audio_20240719073234.wav and /dev/null differ diff --git a/staticfiles/audio_20240719073516.wav b/staticfiles/audio_20240719073516.wav deleted file mode 100644 index bd92ea43a00ee0312d1ad141858c90fbbb6217fe..0000000000000000000000000000000000000000 Binary files a/staticfiles/audio_20240719073516.wav and /dev/null differ diff --git a/staticfiles/audio_20240719074011.wav b/staticfiles/audio_20240719074011.wav deleted file mode 100644 index 1135f3e827f942ae48db2c6a0c86d3bfa6553ea8..0000000000000000000000000000000000000000 Binary files a/staticfiles/audio_20240719074011.wav and /dev/null differ diff --git a/staticfiles/audio_20240719074457.wav b/staticfiles/audio_20240719074457.wav deleted file mode 100644 index 0d7245af43d1e52dd5d5ac1934b1f7be83fc4ede..0000000000000000000000000000000000000000 Binary files a/staticfiles/audio_20240719074457.wav and /dev/null differ diff --git a/staticfiles/audio_20240707054402.wav b/staticfiles/audio_20240721101450.wav similarity index 100% rename from staticfiles/audio_20240707054402.wav rename to staticfiles/audio_20240721101450.wav diff --git a/staticfiles/audio_20240721101510.wav b/staticfiles/audio_20240721101510.wav new file mode 100644 index 0000000000000000000000000000000000000000..198bf0bc5a533f2a56f73657bbe9e64a84fe5410 Binary files /dev/null and b/staticfiles/audio_20240721101510.wav differ diff --git a/staticfiles/audio_20240707065327.wav b/staticfiles/audio_20240721101526.wav similarity index 100% rename from staticfiles/audio_20240707065327.wav rename to staticfiles/audio_20240721101526.wav diff --git a/staticfiles/audio_20240707070432.wav b/staticfiles/audio_20240721101543.wav similarity index 100% rename from staticfiles/audio_20240707070432.wav rename to staticfiles/audio_20240721101543.wav diff --git a/staticfiles/audio_20240707065433.wav b/staticfiles/audio_20240721101602.wav similarity index 100% rename from staticfiles/audio_20240707065433.wav rename to staticfiles/audio_20240721101602.wav diff --git a/staticfiles/audio_20240707134620.wav b/staticfiles/audio_20240721101851.wav similarity index 100% rename from staticfiles/audio_20240707134620.wav rename to staticfiles/audio_20240721101851.wav diff --git a/staticfiles/audio_20240721121506.wav b/staticfiles/audio_20240721121506.wav new file mode 100644 index 0000000000000000000000000000000000000000..877920425aa484a005a5913061a59f033aa0d451 Binary files /dev/null and b/staticfiles/audio_20240721121506.wav differ diff --git a/staticfiles/audio_20240721142038.wav b/staticfiles/audio_20240721142038.wav new file mode 100644 index 0000000000000000000000000000000000000000..b94ce4339208dfb38101a0e6871413a2496e16d8 Binary files /dev/null and b/staticfiles/audio_20240721142038.wav differ diff --git a/staticfiles/audio_20240721143118.wav b/staticfiles/audio_20240721143118.wav new file mode 100644 index 0000000000000000000000000000000000000000..d0df8854158d04b354faa14391cf1074b06c1d48 Binary files /dev/null and b/staticfiles/audio_20240721143118.wav differ diff --git a/staticfiles/audio_20240721143143.wav b/staticfiles/audio_20240721143143.wav new file mode 100644 index 0000000000000000000000000000000000000000..dbc7ea0707d8a026bd79c876b81429a8ce6f53d2 Binary files /dev/null and b/staticfiles/audio_20240721143143.wav differ diff --git a/staticfiles/audio_20240721153026.wav b/staticfiles/audio_20240721153026.wav new file mode 100644 index 0000000000000000000000000000000000000000..29e11ae3fec235bb2fbcc0ae2f7a889835ccc8b3 Binary files /dev/null and b/staticfiles/audio_20240721153026.wav differ diff --git a/staticfiles/audio_20240707085529.wav b/staticfiles/audio_20240721155418.wav similarity index 100% rename from staticfiles/audio_20240707085529.wav rename to staticfiles/audio_20240721155418.wav diff --git a/staticfiles/audio_20240707085417.wav b/staticfiles/audio_20240730080854.wav similarity index 100% rename from staticfiles/audio_20240707085417.wav rename to staticfiles/audio_20240730080854.wav diff --git a/staticfiles/audio_20240730080946.wav b/staticfiles/audio_20240730080946.wav new file mode 100644 index 0000000000000000000000000000000000000000..4438d4668882d1cdead4a90293229527b91595d7 Binary files /dev/null and b/staticfiles/audio_20240730080946.wav differ diff --git a/staticfiles/audio_20240730081055.wav b/staticfiles/audio_20240730081055.wav new file mode 100644 index 0000000000000000000000000000000000000000..778aa1d3185ae4c1d7be55e8ca89150d67e0343f Binary files /dev/null and b/staticfiles/audio_20240730081055.wav differ diff --git a/staticfiles/audio_20240730081116.wav b/staticfiles/audio_20240730081116.wav new file mode 100644 index 0000000000000000000000000000000000000000..778aa1d3185ae4c1d7be55e8ca89150d67e0343f Binary files /dev/null and b/staticfiles/audio_20240730081116.wav differ diff --git a/staticfiles/audio_20240710134819.wav b/staticfiles/audio_20240730081137.wav similarity index 100% rename from staticfiles/audio_20240710134819.wav rename to staticfiles/audio_20240730081137.wav diff --git a/staticfiles/audio_20240730081158.wav b/staticfiles/audio_20240730081158.wav new file mode 100644 index 0000000000000000000000000000000000000000..4438d4668882d1cdead4a90293229527b91595d7 Binary files /dev/null and b/staticfiles/audio_20240730081158.wav differ diff --git a/staticfiles/audio_20240730081218.wav b/staticfiles/audio_20240730081218.wav new file mode 100644 index 0000000000000000000000000000000000000000..4438d4668882d1cdead4a90293229527b91595d7 Binary files /dev/null and b/staticfiles/audio_20240730081218.wav differ diff --git a/staticfiles/audio_20240730081239.wav b/staticfiles/audio_20240730081239.wav new file mode 100644 index 0000000000000000000000000000000000000000..4438d4668882d1cdead4a90293229527b91595d7 Binary files /dev/null and b/staticfiles/audio_20240730081239.wav differ diff --git a/staticfiles/audio_20240730081300.wav b/staticfiles/audio_20240730081300.wav new file mode 100644 index 0000000000000000000000000000000000000000..4438d4668882d1cdead4a90293229527b91595d7 Binary files /dev/null and b/staticfiles/audio_20240730081300.wav differ diff --git a/staticfiles/audio_20240707085845.wav b/staticfiles/audio_20240730081319.wav similarity index 100% rename from staticfiles/audio_20240707085845.wav rename to staticfiles/audio_20240730081319.wav diff --git a/staticfiles/audio_20240730084023.wav b/staticfiles/audio_20240730084023.wav new file mode 100644 index 0000000000000000000000000000000000000000..774a401929dc1438ed97dfd1cef9b5261f1f03e0 Binary files /dev/null and b/staticfiles/audio_20240730084023.wav differ diff --git a/staticfiles/audio_20240730084327.wav b/staticfiles/audio_20240730084327.wav new file mode 100644 index 0000000000000000000000000000000000000000..29e11ae3fec235bb2fbcc0ae2f7a889835ccc8b3 Binary files /dev/null and b/staticfiles/audio_20240730084327.wav differ diff --git a/staticfiles/audio_20240730085023.wav b/staticfiles/audio_20240730085023.wav new file mode 100644 index 0000000000000000000000000000000000000000..96548a6d550316e3890ebaef1bd5c648f83de0e3 Binary files /dev/null and b/staticfiles/audio_20240730085023.wav differ diff --git a/staticfiles/audio_20240730085650.wav b/staticfiles/audio_20240730085650.wav new file mode 100644 index 0000000000000000000000000000000000000000..4794043f4de9229fe330e1a6647321acc57620bc Binary files /dev/null and b/staticfiles/audio_20240730085650.wav differ diff --git a/staticfiles/audio_20240707090100.wav b/staticfiles/audio_20240730085913.wav similarity index 100% rename from staticfiles/audio_20240707090100.wav rename to staticfiles/audio_20240730085913.wav diff --git a/staticfiles/audio_20240730090522.wav b/staticfiles/audio_20240730090522.wav new file mode 100644 index 0000000000000000000000000000000000000000..f4db25436ae666f9217ac04d68781e5eebc5737d Binary files /dev/null and b/staticfiles/audio_20240730090522.wav differ diff --git a/staticfiles/audio_20240730090548.wav b/staticfiles/audio_20240730090548.wav new file mode 100644 index 0000000000000000000000000000000000000000..c7cbef01a916b36d6d31cbeba40a6de6fc3a05cf Binary files /dev/null and b/staticfiles/audio_20240730090548.wav differ diff --git a/staticfiles/audio_20240730090608.wav b/staticfiles/audio_20240730090608.wav new file mode 100644 index 0000000000000000000000000000000000000000..90329f99efc6e10b851dc4fed7921cb503c3887a Binary files /dev/null and b/staticfiles/audio_20240730090608.wav differ diff --git a/staticfiles/audio_20240730090626.wav b/staticfiles/audio_20240730090626.wav new file mode 100644 index 0000000000000000000000000000000000000000..c91b1e818f0593959b9f66900242e564c3f307c5 Binary files /dev/null and b/staticfiles/audio_20240730090626.wav differ diff --git a/staticfiles/audio_20240707065059.wav b/staticfiles/audio_20240730091305.wav similarity index 100% rename from staticfiles/audio_20240707065059.wav rename to staticfiles/audio_20240730091305.wav diff --git a/staticfiles/audio_20240807114356.wav b/staticfiles/audio_20240807114356.wav new file mode 100644 index 0000000000000000000000000000000000000000..0b488849e354c0177de99e2b64f83c5d9071bbd4 Binary files /dev/null and b/staticfiles/audio_20240807114356.wav differ diff --git a/staticfiles/audio_20240707090530.wav b/staticfiles/audio_20240807114753.wav similarity index 100% rename from staticfiles/audio_20240707090530.wav rename to staticfiles/audio_20240807114753.wav diff --git a/staticfiles/audio_20240807114812.wav b/staticfiles/audio_20240807114812.wav new file mode 100644 index 0000000000000000000000000000000000000000..25d93d0823b50031f12602756ed677c1adfb9157 Binary files /dev/null and b/staticfiles/audio_20240807114812.wav differ diff --git a/staticfiles/audio_20240718025031.wav b/staticfiles/audio_20240807115410.wav similarity index 100% rename from staticfiles/audio_20240718025031.wav rename to staticfiles/audio_20240807115410.wav diff --git a/staticfiles/background.png b/staticfiles/background.png index 2734d94e7f7cb3309120eb5ac00d082812d029da..e800e147573945272cff4ad99ff2e216c20731d6 100644 --- a/staticfiles/background.png +++ b/staticfiles/background.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a99ae2c27f181649e7a48739210d11646b8d9008603d6803a70a131732bd4e4c -size 1500965 +oid sha256:f8fef239bbfcb28ee82a77d7fc3e4407b2db6af08547eb7e7cff2b52274142ba +size 119605 diff --git a/staticfiles/backgrounds.png b/staticfiles/backgrounds.png new file mode 100644 index 0000000000000000000000000000000000000000..2734d94e7f7cb3309120eb5ac00d082812d029da --- /dev/null +++ b/staticfiles/backgrounds.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a99ae2c27f181649e7a48739210d11646b8d9008603d6803a70a131732bd4e4c +size 1500965 diff --git a/staticfiles/chara.png b/staticfiles/chara.png index 2734d94e7f7cb3309120eb5ac00d082812d029da..e800e147573945272cff4ad99ff2e216c20731d6 100644 --- a/staticfiles/chara.png +++ b/staticfiles/chara.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a99ae2c27f181649e7a48739210d11646b8d9008603d6803a70a131732bd4e4c -size 1500965 +oid sha256:f8fef239bbfcb28ee82a77d7fc3e4407b2db6af08547eb7e7cff2b52274142ba +size 119605 diff --git a/staticfiles/charas.png b/staticfiles/charas.png new file mode 100644 index 0000000000000000000000000000000000000000..2734d94e7f7cb3309120eb5ac00d082812d029da --- /dev/null +++ b/staticfiles/charas.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a99ae2c27f181649e7a48739210d11646b8d9008603d6803a70a131732bd4e4c +size 1500965 diff --git a/staticfiles/haru_greeter_pro_jp/ReadMe.txt b/staticfiles/haru_greeter_pro_jp/ReadMe.txt new file mode 100644 index 0000000000000000000000000000000000000000..643a911f113cbeadb43d5161966990e29f6d78cc --- /dev/null +++ b/staticfiles/haru_greeter_pro_jp/ReadMe.txt @@ -0,0 +1,97 @@ + +============================================================ + +サンプルモデル ハル(受付バージョン) PRO版 + +============================================================ + + +Live2D社・受付担当のハルさんです。 + +挨拶をはじめ、様々な場面で使用出来るモデルです。 +デジタルサイネージとして、受付やガイドなどにぜひご利用ください。 + + +------------------------------ +ライセンスについて +------------------------------ + + 一般ユーザーおよび小規模事業者は規約同意により商用利用可能です。 + 中・大規模事業者は非公開テスト用途でのみ利用可能です。 + ご利用に際しては以下の『無償提供マテリアルの使用許諾契約書』 + (ライセンスタイプ ・Live2Dオリジナルキャラクター)および利用条件への同意が必要です。 + + ライセンスの詳細については、下記ページをご覧ください。 + https://www.live2d.com/download/sample-data/ + + +------------------------------ +クリエイター +------------------------------ + +イラスト:Live2D +モデリング:Live2D + + +------------------------------ +サンプルデータ構成 +------------------------------ + +モデルデータ(cmo3) ※物理演算設定を含む +基本モーション(can3) +組込用ファイル一式(runtimeフォルダ) +・モデルデータ(moc3) +・モーションデータ(motion3.json) +・モデル設定ファイル(model3.json) +・物理演算設定ファイル(physics3.json) +・ポーズ設定ファイル(pose3.json) +・表示補助ファイル(cdi3.json + + +------------------------------ +リリースノート +------------------------------ + +【cmo3】 + +haru_greeter_t05 +2023年06月22日 キーフォームを一部修正しました。 + +haru_greeter_t04 +2020年9月17日 ファイルパスを修正しました。 + +haru_greeter_t03 +2019年2月20日 Cubism3.3.00で保存しターゲットバージョンを確定しました。 + +haru_greeter_t02 +2017年12月08日 キーフォームを一部修正しました。 + +haru_greeter +2017年11月08日 公開 + + +【can3】 + +haru_greeter_t03 +2023年06月22日 cmo3の修正に伴い素材を差し替えました。 + +haru_greeter_t02 +2017年12月08日 プレイリストを追加しました。 +全体不透明度の不整合データを修正しました。 + +haru_greeter +2017年11月08日 公開 + + +【PSD】 + +haru_受付スーツ_素材分け_t07 +2017年12月12日 公開 + +haru_受付スーツ_インポート_t07 +2017年12月12日 公開 + + +【その他】 +2023年6月22日 cmo3の修正を追加した組み込み用ファイルを書き出しました。 +2017年12月12日 moc3を含む組込用ファイル一式を書き出しました。 \ No newline at end of file diff --git a/staticfiles/haru_greeter_pro_jp/haru_greeter_t03.can3 b/staticfiles/haru_greeter_pro_jp/haru_greeter_t03.can3 new file mode 100644 index 0000000000000000000000000000000000000000..8c727969e2a390f0829348ba657fa059089ad027 Binary files /dev/null and b/staticfiles/haru_greeter_pro_jp/haru_greeter_t03.can3 differ diff --git a/staticfiles/haru_greeter_pro_jp/haru_greeter_t05.cmo3 b/staticfiles/haru_greeter_pro_jp/haru_greeter_t05.cmo3 new file mode 100644 index 0000000000000000000000000000000000000000..a00318c09f365dcb9bd5eb032a8660f1bf216614 --- /dev/null +++ b/staticfiles/haru_greeter_pro_jp/haru_greeter_t05.cmo3 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:20a8cc5a1bb417da77c079714013f0e7468dcd889e68a1f7ae28df0fd4dfeecd +size 11820163 diff --git "a/staticfiles/haru_greeter_pro_jp/haru_\345\217\227\344\273\230\343\202\271\343\203\274\343\203\204_\343\202\244\343\203\263\343\203\235\343\203\274\343\203\210_t07.psd" "b/staticfiles/haru_greeter_pro_jp/haru_\345\217\227\344\273\230\343\202\271\343\203\274\343\203\204_\343\202\244\343\203\263\343\203\235\343\203\274\343\203\210_t07.psd" new file mode 100644 index 0000000000000000000000000000000000000000..0726e9ebd453db03c355c94e287efa603a8e4c80 --- /dev/null +++ "b/staticfiles/haru_greeter_pro_jp/haru_\345\217\227\344\273\230\343\202\271\343\203\274\343\203\204_\343\202\244\343\203\263\343\203\235\343\203\274\343\203\210_t07.psd" @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cce6cb57d1281a6164415954fc37f58fe69d2a04e37e1fca4a186801bbc62cf3 +size 11617922 diff --git "a/staticfiles/haru_greeter_pro_jp/haru_\345\217\227\344\273\230\343\202\271\343\203\274\343\203\204_\347\264\240\346\235\220\345\210\206\343\201\221_t07.psd" "b/staticfiles/haru_greeter_pro_jp/haru_\345\217\227\344\273\230\343\202\271\343\203\274\343\203\204_\347\264\240\346\235\220\345\210\206\343\201\221_t07.psd" new file mode 100644 index 0000000000000000000000000000000000000000..cc0022cd920389fa2841da7d971a364c755a10f5 --- /dev/null +++ "b/staticfiles/haru_greeter_pro_jp/haru_\345\217\227\344\273\230\343\202\271\343\203\274\343\203\204_\347\264\240\346\235\220\345\210\206\343\201\221_t07.psd" @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ed0a498d5b09ee2164ad06382c45901bd13661f9b8ae047721854c2c4c50bc04 +size 43947184 diff --git a/staticfiles/haru_greeter_pro_jp/runtime/haru_greeter_t05.2048/texture_00.png b/staticfiles/haru_greeter_pro_jp/runtime/haru_greeter_t05.2048/texture_00.png new file mode 100644 index 0000000000000000000000000000000000000000..a24d8aad9c0fb59295563acfaa5f8d08405c2ea6 --- /dev/null +++ b/staticfiles/haru_greeter_pro_jp/runtime/haru_greeter_t05.2048/texture_00.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:30fce81e6b2d69fb99e8d1b5f391a6e0240f671095e491e9bbe24ddd7c7f434d +size 1526786 diff --git a/staticfiles/haru_greeter_pro_jp/runtime/haru_greeter_t05.2048/texture_01.png b/staticfiles/haru_greeter_pro_jp/runtime/haru_greeter_t05.2048/texture_01.png new file mode 100644 index 0000000000000000000000000000000000000000..26ca59945c7207ad3adb67df94f85025212e64d6 --- /dev/null +++ b/staticfiles/haru_greeter_pro_jp/runtime/haru_greeter_t05.2048/texture_01.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e1e977447ee7e6e347f1b96b9103ae269e6f4e4a8cf38068d161537415cc51c8 +size 1188664 diff --git a/staticfiles/haru_greeter_pro_jp/runtime/haru_greeter_t05.cdi3.json b/staticfiles/haru_greeter_pro_jp/runtime/haru_greeter_t05.cdi3.json new file mode 100644 index 0000000000000000000000000000000000000000..f252a17d8751a8d63195f3ff0bef85bbc0387574 --- /dev/null +++ b/staticfiles/haru_greeter_pro_jp/runtime/haru_greeter_t05.cdi3.json @@ -0,0 +1,348 @@ +{ + "Version": 3, + "Parameters": [ + { + "Id": "ParamAngleX", + "GroupId": "ParamGroupFace", + "Name": "角度 X" + }, + { + "Id": "ParamAngleY", + "GroupId": "ParamGroupFace", + "Name": "角度 Y" + }, + { + "Id": "ParamAngleZ", + "GroupId": "ParamGroupFace", + "Name": "角度 Z" + }, + { + "Id": "ParamTere", + "GroupId": "ParamGroupFace", + "Name": "照れ" + }, + { + "Id": "ParamFaceForm", + "GroupId": "ParamGroupFace", + "Name": "顔の拡縮" + }, + { + "Id": "ParamEyeLOpen", + "GroupId": "ParamGroupEyes", + "Name": "左目 開閉" + }, + { + "Id": "ParamEyeLSmile", + "GroupId": "ParamGroupEyes", + "Name": "左目 笑顔" + }, + { + "Id": "ParamEyeROpen", + "GroupId": "ParamGroupEyes", + "Name": "右目 開閉" + }, + { + "Id": "ParamEyeRSmile", + "GroupId": "ParamGroupEyes", + "Name": "右目 笑顔" + }, + { + "Id": "ParamEyeForm", + "GroupId": "ParamGroupEyes", + "Name": "眼 変形" + }, + { + "Id": "ParamEyeBallForm", + "GroupId": "ParamGroupEyes", + "Name": "目玉 収縮" + }, + { + "Id": "ParamTear", + "GroupId": "ParamGroupEyes", + "Name": "涙" + }, + { + "Id": "ParamEyeBallX", + "GroupId": "ParamGroupEyes", + "Name": "目玉 X" + }, + { + "Id": "ParamEyeBallY", + "GroupId": "ParamGroupEyes", + "Name": "目玉 Y" + }, + { + "Id": "ParamBrowLY", + "GroupId": "ParamGroup", + "Name": "左眉 上下" + }, + { + "Id": "ParamBrowRY", + "GroupId": "ParamGroup", + "Name": "右眉 上下" + }, + { + "Id": "ParamBrowLX", + "GroupId": "ParamGroup", + "Name": "左眉 左右" + }, + { + "Id": "ParamBrowRX", + "GroupId": "ParamGroup", + "Name": "右眉 左右" + }, + { + "Id": "ParamBrowLAngle", + "GroupId": "ParamGroup", + "Name": "左眉 角度" + }, + { + "Id": "ParamBrowRAngle", + "GroupId": "ParamGroup", + "Name": "右眉 角度" + }, + { + "Id": "ParamBrowLForm", + "GroupId": "ParamGroup", + "Name": "左眉 変形" + }, + { + "Id": "ParamBrowRForm", + "GroupId": "ParamGroup", + "Name": "右眉 変形" + }, + { + "Id": "ParamMouthForm", + "GroupId": "ParamGroupMouth", + "Name": "口 変形" + }, + { + "Id": "ParamMouthOpenY", + "GroupId": "ParamGroupMouth", + "Name": "口 開閉" + }, + { + "Id": "ParamScarf", + "GroupId": "ParamGroup2", + "Name": "スカーフ揺れ" + }, + { + "Id": "ParamBodyAngleX", + "GroupId": "ParamGroup2", + "Name": "体の回転 X" + }, + { + "Id": "ParamBodyAngleY", + "GroupId": "ParamGroup2", + "Name": "体の回転 Y" + }, + { + "Id": "ParamBodyAngleZ", + "GroupId": "ParamGroup2", + "Name": "体の回転 Z" + }, + { + "Id": "ParamBodyUpper", + "GroupId": "ParamGroup2", + "Name": "上体" + }, + { + "Id": "ParamBreath", + "GroupId": "ParamGroup2", + "Name": "呼吸" + }, + { + "Id": "ParamBustY", + "GroupId": "ParamGroup2", + "Name": "胸 揺れ" + }, + { + "Id": "ParamArmLA", + "GroupId": "ParamGroupArms", + "Name": "左腕 A" + }, + { + "Id": "ParamArmRA", + "GroupId": "ParamGroupArms", + "Name": "右腕 A" + }, + { + "Id": "ParamArmLB", + "GroupId": "ParamGroupArms", + "Name": "右腕 B" + }, + { + "Id": "ParamArmRB", + "GroupId": "ParamGroupArms", + "Name": "左腕 B" + }, + { + "Id": "ParamHandChangeR", + "GroupId": "ParamGroupArms", + "Name": "右手切替" + }, + { + "Id": "ParamHandAngleR", + "GroupId": "ParamGroupArms", + "Name": "右手首角度" + }, + { + "Id": "ParamHandDhangeL", + "GroupId": "ParamGroupArms", + "Name": "左手切替" + }, + { + "Id": "ParamHandAngleL", + "GroupId": "ParamGroupArms", + "Name": "左手首角度" + }, + { + "Id": "ParamHairFront", + "GroupId": "ParamGroup3", + "Name": "髪揺れ 前" + }, + { + "Id": "ParamHairSide", + "GroupId": "ParamGroup3", + "Name": "髪揺れ 横" + }, + { + "Id": "ParamHairBack", + "GroupId": "ParamGroup3", + "Name": "髪揺れ 後" + } + ], + "ParameterGroups": [ + { + "Id": "ParamGroupFace", + "GroupId": "", + "Name": "顔" + }, + { + "Id": "ParamGroupEyes", + "GroupId": "", + "Name": "目" + }, + { + "Id": "ParamGroup", + "GroupId": "", + "Name": "眉毛" + }, + { + "Id": "ParamGroupMouth", + "GroupId": "", + "Name": "口" + }, + { + "Id": "ParamGroup2", + "GroupId": "", + "Name": "胴体" + }, + { + "Id": "ParamGroupArms", + "GroupId": "", + "Name": "腕" + }, + { + "Id": "ParamGroup3", + "GroupId": "", + "Name": "髪揺れ" + } + ], + "Parts": [ + { + "Id": "Part01Core", + "Name": "コアパーツ" + }, + { + "Id": "Part01Hoho001", + "Name": "頬" + }, + { + "Id": "Part01Brow001", + "Name": "まゆ毛" + }, + { + "Id": "Part01Tear", + "Name": "涙" + }, + { + "Id": "Part01EyeBall001", + "Name": "目玉" + }, + { + "Id": "Part01Eye001", + "Name": "目" + }, + { + "Id": "Part01Nose001", + "Name": "鼻" + }, + { + "Id": "Part01Mouth001", + "Name": "口" + }, + { + "Id": "Part01Face001", + "Name": "顔" + }, + { + "Id": "Part01Ear001", + "Name": "耳" + }, + { + "Id": "Part01Neck001", + "Name": "首" + }, + { + "Id": "Part01HairFront001", + "Name": "前髪" + }, + { + "Id": "Part01HairSide001", + "Name": "横髪" + }, + { + "Id": "Part01HairBack001", + "Name": "後ろ髪" + }, + { + "Id": "Part01ArmRB001", + "Name": "左腕 B" + }, + { + "Id": "Part01ArmLB001", + "Name": "右腕 B" + }, + { + "Id": "Part01ArmRA001", + "Name": "右腕 A" + }, + { + "Id": "Part01ArmLA001", + "Name": "左腕 A" + }, + { + "Id": "Part01Body001", + "Name": "制服" + }, + { + "Id": "Part01Sketch", + "Name": "[ 下絵 ]" + } + ], + "CombinedParameters": [ + [ + "ParamAngleX", + "ParamAngleY" + ], + [ + "ParamEyeBallX", + "ParamEyeBallY" + ], + [ + "ParamMouthForm", + "ParamMouthOpenY" + ] + ] +} \ No newline at end of file diff --git a/staticfiles/haru_greeter_pro_jp/runtime/haru_greeter_t05.moc3 b/staticfiles/haru_greeter_pro_jp/runtime/haru_greeter_t05.moc3 new file mode 100644 index 0000000000000000000000000000000000000000..0dc7d4b5968e581715350dacde036fe53beb5c46 Binary files /dev/null and b/staticfiles/haru_greeter_pro_jp/runtime/haru_greeter_t05.moc3 differ diff --git a/staticfiles/haru_greeter_pro_jp/runtime/haru_greeter_t05.model3.json b/staticfiles/haru_greeter_pro_jp/runtime/haru_greeter_t05.model3.json new file mode 100644 index 0000000000000000000000000000000000000000..5948a9a175361d4efe618430a63d5ce7cf717d2b --- /dev/null +++ b/staticfiles/haru_greeter_pro_jp/runtime/haru_greeter_t05.model3.json @@ -0,0 +1,125 @@ +{ + "Version": 3, + "FileReferences": { + "Moc": "haru_greeter_t05.moc3", + "Textures": [ + "haru_greeter_t05.2048/texture_00.png", + "haru_greeter_t05.2048/texture_01.png" + ], + "Physics": "haru_greeter_t05.physics3.json", + "Pose": "haru_greeter_t05.pose3.json", + "DisplayInfo": "haru_greeter_t05.cdi3.json", + "Motions": { + "": [ + { + "File": "motion/haru_g_idle.motion3.json" + }, + { + "File": "motion/haru_g_m01.motion3.json" + }, + { + "File": "motion/haru_g_m02.motion3.json" + }, + { + "File": "motion/haru_g_m03.motion3.json" + }, + { + "File": "motion/haru_g_m04.motion3.json" + }, + { + "File": "motion/haru_g_m05.motion3.json" + }, + { + "File": "motion/haru_g_m06.motion3.json" + }, + { + "File": "motion/haru_g_m07.motion3.json" + }, + { + "File": "motion/haru_g_m08.motion3.json" + }, + { + "File": "motion/haru_g_m09.motion3.json" + }, + { + "File": "motion/haru_g_m10.motion3.json" + }, + { + "File": "motion/haru_g_m11.motion3.json" + }, + { + "File": "motion/haru_g_m12.motion3.json" + }, + { + "File": "motion/haru_g_m13.motion3.json" + }, + { + "File": "motion/haru_g_m14.motion3.json" + }, + { + "File": "motion/haru_g_m15.motion3.json" + }, + { + "File": "motion/haru_g_m16.motion3.json" + }, + { + "File": "motion/haru_g_m17.motion3.json" + }, + { + "File": "motion/haru_g_m18.motion3.json" + }, + { + "File": "motion/haru_g_m19.motion3.json" + }, + { + "File": "motion/haru_g_m20.motion3.json" + }, + { + "File": "motion/haru_g_m21.motion3.json" + }, + { + "File": "motion/haru_g_m22.motion3.json" + }, + { + "File": "motion/haru_g_m23.motion3.json" + }, + { + "File": "motion/haru_g_m24.motion3.json" + }, + { + "File": "motion/haru_g_m25.motion3.json" + }, + { + "File": "motion/haru_g_m26.motion3.json" + } + ] + } + }, + "Groups": [ + { + "Target": "Parameter", + "Name": "EyeBlink", + "Ids": [ + "ParamEyeLOpen", + "ParamEyeROpen" + ] + }, + { + "Target": "Parameter", + "Name": "LipSync", + "Ids": [ + "ParamMouthOpenY" + ] + } + ], + "HitAreas": [ + { + "Id": "HitArea", + "Name": "" + }, + { + "Id": "HitArea2", + "Name": "" + } + ] +} \ No newline at end of file diff --git a/staticfiles/haru_greeter_pro_jp/runtime/haru_greeter_t05.physics3.json b/staticfiles/haru_greeter_pro_jp/runtime/haru_greeter_t05.physics3.json new file mode 100644 index 0000000000000000000000000000000000000000..3f147977ae5191b2e9570f3aeed9fe9fc8541a34 --- /dev/null +++ b/staticfiles/haru_greeter_pro_jp/runtime/haru_greeter_t05.physics3.json @@ -0,0 +1,373 @@ +{ + "Version": 3, + "Meta": { + "PhysicsSettingCount": 4, + "TotalInputCount": 14, + "TotalOutputCount": 4, + "VertexCount": 8, + "EffectiveForces": { + "Gravity": { + "X": 0, + "Y": -1 + }, + "Wind": { + "X": 0, + "Y": 0 + } + }, + "PhysicsDictionary": [ + { + "Id": "PhysicsSetting1", + "Name": "前髪" + }, + { + "Id": "PhysicsSetting2", + "Name": "横髪" + }, + { + "Id": "PhysicsSetting3", + "Name": "後ろ髪" + }, + { + "Id": "PhysicsSetting4", + "Name": "スカーフ" + } + ] + }, + "PhysicsSettings": [ + { + "Id": "PhysicsSetting1", + "Input": [ + { + "Source": { + "Target": "Parameter", + "Id": "ParamAngleX" + }, + "Weight": 60, + "Type": "X", + "Reflect": false + }, + { + "Source": { + "Target": "Parameter", + "Id": "ParamAngleZ" + }, + "Weight": 60, + "Type": "Angle", + "Reflect": false + }, + { + "Source": { + "Target": "Parameter", + "Id": "ParamBodyAngleX" + }, + "Weight": 40, + "Type": "X", + "Reflect": false + }, + { + "Source": { + "Target": "Parameter", + "Id": "ParamBodyAngleZ" + }, + "Weight": 40, + "Type": "Angle", + "Reflect": false + } + ], + "Output": [ + { + "Destination": { + "Target": "Parameter", + "Id": "ParamHairFront" + }, + "VertexIndex": 1, + "Scale": 1.821, + "Weight": 100, + "Type": "Angle", + "Reflect": false + } + ], + "Vertices": [ + { + "Position": { + "X": 0, + "Y": 0 + }, + "Mobility": 1, + "Delay": 1, + "Acceleration": 1, + "Radius": 0 + }, + { + "Position": { + "X": 0, + "Y": 8 + }, + "Mobility": 0.95, + "Delay": 0.8, + "Acceleration": 1.5, + "Radius": 8 + } + ], + "Normalization": { + "Position": { + "Minimum": -10, + "Default": 0, + "Maximum": 10 + }, + "Angle": { + "Minimum": -10, + "Default": 0, + "Maximum": 10 + } + } + }, + { + "Id": "PhysicsSetting2", + "Input": [ + { + "Source": { + "Target": "Parameter", + "Id": "ParamAngleX" + }, + "Weight": 60, + "Type": "X", + "Reflect": false + }, + { + "Source": { + "Target": "Parameter", + "Id": "ParamAngleZ" + }, + "Weight": 60, + "Type": "Angle", + "Reflect": false + }, + { + "Source": { + "Target": "Parameter", + "Id": "ParamBodyAngleX" + }, + "Weight": 40, + "Type": "X", + "Reflect": false + }, + { + "Source": { + "Target": "Parameter", + "Id": "ParamBodyAngleZ" + }, + "Weight": 40, + "Type": "Angle", + "Reflect": false + } + ], + "Output": [ + { + "Destination": { + "Target": "Parameter", + "Id": "ParamHairSide" + }, + "VertexIndex": 1, + "Scale": 1.593, + "Weight": 100, + "Type": "Angle", + "Reflect": false + } + ], + "Vertices": [ + { + "Position": { + "X": 0, + "Y": 0 + }, + "Mobility": 1, + "Delay": 1, + "Acceleration": 1, + "Radius": 0 + }, + { + "Position": { + "X": 0, + "Y": 8 + }, + "Mobility": 0.95, + "Delay": 0.8, + "Acceleration": 1, + "Radius": 8 + } + ], + "Normalization": { + "Position": { + "Minimum": -10, + "Default": 0, + "Maximum": 10 + }, + "Angle": { + "Minimum": -10, + "Default": 0, + "Maximum": 10 + } + } + }, + { + "Id": "PhysicsSetting3", + "Input": [ + { + "Source": { + "Target": "Parameter", + "Id": "ParamAngleX" + }, + "Weight": 60, + "Type": "X", + "Reflect": false + }, + { + "Source": { + "Target": "Parameter", + "Id": "ParamAngleZ" + }, + "Weight": 60, + "Type": "Angle", + "Reflect": false + }, + { + "Source": { + "Target": "Parameter", + "Id": "ParamBodyAngleX" + }, + "Weight": 40, + "Type": "X", + "Reflect": false + }, + { + "Source": { + "Target": "Parameter", + "Id": "ParamBodyAngleZ" + }, + "Weight": 40, + "Type": "Angle", + "Reflect": false + } + ], + "Output": [ + { + "Destination": { + "Target": "Parameter", + "Id": "ParamHairBack" + }, + "VertexIndex": 1, + "Scale": 1.943, + "Weight": 100, + "Type": "Angle", + "Reflect": false + } + ], + "Vertices": [ + { + "Position": { + "X": 0, + "Y": 0 + }, + "Mobility": 1, + "Delay": 1, + "Acceleration": 1, + "Radius": 0 + }, + { + "Position": { + "X": 0, + "Y": 8 + }, + "Mobility": 0.95, + "Delay": 0.8, + "Acceleration": 1.5, + "Radius": 8 + } + ], + "Normalization": { + "Position": { + "Minimum": -10, + "Default": 0, + "Maximum": 10 + }, + "Angle": { + "Minimum": -10, + "Default": 0, + "Maximum": 10 + } + } + }, + { + "Id": "PhysicsSetting4", + "Input": [ + { + "Source": { + "Target": "Parameter", + "Id": "ParamBodyAngleX" + }, + "Weight": 100, + "Type": "X", + "Reflect": false + }, + { + "Source": { + "Target": "Parameter", + "Id": "ParamBodyAngleZ" + }, + "Weight": 100, + "Type": "Angle", + "Reflect": false + } + ], + "Output": [ + { + "Destination": { + "Target": "Parameter", + "Id": "ParamScarf" + }, + "VertexIndex": 1, + "Scale": 0.873, + "Weight": 100, + "Type": "Angle", + "Reflect": false + } + ], + "Vertices": [ + { + "Position": { + "X": 0, + "Y": 0 + }, + "Mobility": 1, + "Delay": 1, + "Acceleration": 1, + "Radius": 0 + }, + { + "Position": { + "X": 0, + "Y": 10 + }, + "Mobility": 0.9, + "Delay": 0.6, + "Acceleration": 1.5, + "Radius": 10 + } + ], + "Normalization": { + "Position": { + "Minimum": -10, + "Default": 0, + "Maximum": 10 + }, + "Angle": { + "Minimum": -10, + "Default": 0, + "Maximum": 10 + } + } + } + ] +} \ No newline at end of file diff --git a/staticfiles/haru_greeter_pro_jp/runtime/haru_greeter_t05.pose3.json b/staticfiles/haru_greeter_pro_jp/runtime/haru_greeter_t05.pose3.json new file mode 100644 index 0000000000000000000000000000000000000000..06bda9e342bdb83ccc3a19619b506c9baffff47a --- /dev/null +++ b/staticfiles/haru_greeter_pro_jp/runtime/haru_greeter_t05.pose3.json @@ -0,0 +1,25 @@ +{ + "Type": "Live2D Pose", + "Groups": [ + [ + { + "Id": "Part01ArmRB001", + "Link": [] + }, + { + "Id": "Part01ArmRA001", + "Link": [] + } + ], + [ + { + "Id": "Part01ArmLB001", + "Link": [] + }, + { + "Id": "Part01ArmLA001", + "Link": [] + } + ] + ] +} \ No newline at end of file diff --git a/staticfiles/haru_greeter_pro_jp/runtime/motion/haru_g_idle.motion3.json b/staticfiles/haru_greeter_pro_jp/runtime/motion/haru_g_idle.motion3.json new file mode 100644 index 0000000000000000000000000000000000000000..f28938b1d0a1c4c8ac8a4539893df9c7ad835ff1 --- /dev/null +++ b/staticfiles/haru_greeter_pro_jp/runtime/motion/haru_g_idle.motion3.json @@ -0,0 +1,2260 @@ +{ + "Version": 3, + "Meta": { + "Duration": 10, + "Fps": 30.0, + "Loop": true, + "AreBeziersRestricted": true, + "CurveCount": 63, + "TotalSegmentCount": 296, + "TotalPointCount": 785, + "UserDataCount": 0, + "TotalUserDataSize": 0 + }, + "Curves": [ + { + "Target": "Model", + "Id": "Opacity", + "Segments": [ + 0, + 1, + 1, + 3.32, + 1, + 6.64, + 1, + 9.97, + 1, + 0, + 10, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleX", + "Segments": [ + 0, + 0, + 1, + 0.178, + 0, + 0.356, + -4, + 0.533, + -4, + 1, + 0.989, + -4, + 1.444, + -4, + 1.9, + -4, + 1, + 2.378, + -4, + 2.856, + 0, + 3.333, + 0, + 1, + 3.444, + 0, + 3.556, + 0, + 3.667, + 0, + 1, + 4.411, + 0, + 5.156, + 0, + 5.9, + 0, + 1, + 6.433, + 0, + 6.967, + 14, + 7.5, + 14, + 1, + 7.833, + 14, + 8.167, + 14, + 8.5, + 14, + 1, + 8.989, + 14, + 9.478, + 0, + 9.967, + 0, + 0, + 10, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleY", + "Segments": [ + 0, + 0, + 1, + 0.178, + 0, + 0.356, + -6, + 0.533, + -6, + 1, + 0.989, + -6, + 1.444, + -6, + 1.9, + -6, + 1, + 2.378, + -6, + 2.856, + 0, + 3.333, + 0, + 1, + 3.444, + 0, + 3.556, + 0, + 3.667, + 0, + 1, + 4.411, + 0, + 5.156, + 0, + 5.9, + 0, + 1, + 6.211, + 0, + 6.522, + 5, + 6.833, + 5, + 1, + 7.056, + 5, + 7.278, + -6, + 7.5, + -6, + 1, + 7.833, + -6, + 8.167, + -6, + 8.5, + -6, + 1, + 8.989, + -6, + 9.478, + 0, + 9.967, + 0, + 0, + 10, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleZ", + "Segments": [ + 0, + 0, + 1, + 0.178, + 0, + 0.356, + -6, + 0.533, + -6, + 1, + 0.733, + -6, + 0.933, + 1.432, + 1.133, + 5, + 1, + 1.389, + 9.559, + 1.644, + 10, + 1.9, + 10, + 1, + 2.378, + 10, + 2.856, + -6, + 3.333, + -6, + 1, + 3.444, + -6, + 3.556, + -6, + 3.667, + -6, + 1, + 4.156, + -6, + 4.644, + 6, + 5.133, + 6, + 1, + 5.389, + 6, + 5.644, + 6, + 5.9, + 6, + 1, + 6.211, + 6, + 6.522, + 12, + 6.833, + 12, + 1, + 7.389, + 12, + 7.944, + -6, + 8.5, + -6, + 1, + 8.989, + -6, + 9.478, + 0, + 9.967, + 0, + 0, + 10, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamTere", + "Segments": [ + 0, + 0, + 1, + 0.633, + 0, + 1.267, + 0, + 1.9, + 0, + 1, + 2.489, + 0, + 3.078, + 0, + 3.667, + 0, + 1, + 4.411, + 0, + 5.156, + 0, + 5.9, + 0, + 1, + 6.767, + 0, + 7.633, + 0, + 8.5, + 0, + 1, + 8.989, + 0, + 9.478, + 0, + 9.967, + 0, + 0, + 10, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamFaceForm", + "Segments": [ + 0, + 0, + 1, + 3.322, + 0, + 6.644, + 0, + 9.967, + 0, + 0, + 10, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeLOpen", + "Segments": [ + 0, + 1, + 1, + 0.633, + 1, + 1.267, + 1, + 1.9, + 1, + 1, + 2, + 1, + 2.1, + 1, + 2.2, + 1, + 1, + 2.244, + 1, + 2.289, + 0, + 2.333, + 0, + 1, + 2.356, + 0, + 2.378, + 0, + 2.4, + 0, + 1, + 2.456, + 0, + 2.511, + 1, + 2.567, + 1, + 1, + 2.933, + 1, + 3.3, + 1, + 3.667, + 1, + 1, + 3.711, + 1, + 3.756, + 0, + 3.8, + 0, + 1, + 3.822, + 0, + 3.844, + 0, + 3.867, + 0, + 1, + 3.922, + 0, + 3.978, + 1, + 4.033, + 1, + 1, + 4.656, + 1, + 5.278, + 1, + 5.9, + 1, + 1, + 6.433, + 1, + 6.967, + 1, + 7.5, + 1, + 1, + 7.544, + 1, + 7.589, + 0, + 7.633, + 0, + 1, + 7.656, + 0, + 7.678, + 0, + 7.7, + 0, + 1, + 7.756, + 0, + 7.811, + 1, + 7.867, + 1, + 1, + 8.078, + 1, + 8.289, + 1, + 8.5, + 1, + 1, + 8.989, + 1, + 9.478, + 1, + 9.967, + 1, + 0, + 10, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeLSmile", + "Segments": [ + 0, + 0, + 1, + 0.633, + 0, + 1.267, + 0, + 1.9, + 0, + 1, + 2.489, + 0, + 3.078, + 0, + 3.667, + 0, + 1, + 4.411, + 0, + 5.156, + 0, + 5.9, + 0, + 1, + 6.767, + 0, + 7.633, + 0, + 8.5, + 0, + 1, + 8.989, + 0, + 9.478, + 0, + 9.967, + 0, + 0, + 10, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeROpen", + "Segments": [ + 0, + 1, + 1, + 0.633, + 1, + 1.267, + 1, + 1.9, + 1, + 1, + 2, + 1, + 2.1, + 1, + 2.2, + 1, + 1, + 2.244, + 1, + 2.289, + 0, + 2.333, + 0, + 1, + 2.356, + 0, + 2.378, + 0, + 2.4, + 0, + 1, + 2.456, + 0, + 2.511, + 1, + 2.567, + 1, + 1, + 2.933, + 1, + 3.3, + 1, + 3.667, + 1, + 1, + 3.711, + 1, + 3.756, + 0, + 3.8, + 0, + 1, + 3.822, + 0, + 3.844, + 0, + 3.867, + 0, + 1, + 3.922, + 0, + 3.978, + 1, + 4.033, + 1, + 1, + 4.656, + 1, + 5.278, + 1, + 5.9, + 1, + 1, + 6.433, + 1, + 6.967, + 1, + 7.5, + 1, + 1, + 7.544, + 1, + 7.589, + 0, + 7.633, + 0, + 1, + 7.656, + 0, + 7.678, + 0, + 7.7, + 0, + 1, + 7.756, + 0, + 7.811, + 1, + 7.867, + 1, + 1, + 8.078, + 1, + 8.289, + 1, + 8.5, + 1, + 1, + 8.989, + 1, + 9.478, + 1, + 9.967, + 1, + 0, + 10, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeRSmile", + "Segments": [ + 0, + 0, + 1, + 0.633, + 0, + 1.267, + 0, + 1.9, + 0, + 1, + 2.489, + 0, + 3.078, + 0, + 3.667, + 0, + 1, + 4.411, + 0, + 5.156, + 0, + 5.9, + 0, + 1, + 6.767, + 0, + 7.633, + 0, + 8.5, + 0, + 1, + 8.989, + 0, + 9.478, + 0, + 9.967, + 0, + 0, + 10, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeForm", + "Segments": [ + 0, + 0, + 1, + 0.633, + 0, + 1.267, + 0, + 1.9, + 0, + 1, + 2.489, + 0, + 3.078, + 0, + 3.667, + 0, + 1, + 4.411, + 0, + 5.156, + 0, + 5.9, + 0, + 1, + 6.767, + 0, + 7.633, + 0, + 8.5, + 0, + 1, + 8.989, + 0, + 9.478, + 0, + 9.967, + 0, + 0, + 10, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallForm", + "Segments": [ + 0, + 0, + 1, + 0.633, + 0, + 1.267, + 0, + 1.9, + 0, + 1, + 2.489, + 0, + 3.078, + 0, + 3.667, + 0, + 1, + 4.411, + 0, + 5.156, + 0, + 5.9, + 0, + 1, + 6.767, + 0, + 7.633, + 0, + 8.5, + 0, + 1, + 8.989, + 0, + 9.478, + 0, + 9.967, + 0, + 0, + 10, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamTear", + "Segments": [ + 0, + 0, + 1, + 3.322, + 0, + 6.644, + 0, + 9.967, + 0, + 0, + 10, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallX", + "Segments": [ + 0, + 0, + 1, + 0.178, + 0, + 0.356, + 0.23, + 0.533, + 0.23, + 1, + 0.989, + 0.23, + 1.444, + 0.23, + 1.9, + 0.23, + 1, + 2.611, + 0.23, + 3.322, + 0, + 4.033, + 0, + 1, + 4.656, + 0, + 5.278, + 0, + 5.9, + 0, + 1, + 6.211, + 0, + 6.522, + -0.198, + 6.833, + -0.3, + 1, + 7.056, + -0.373, + 7.278, + -0.398, + 7.5, + -0.43, + 1, + 7.833, + -0.477, + 8.167, + -0.49, + 8.5, + -0.49, + 1, + 8.989, + -0.49, + 9.478, + 0, + 9.967, + 0, + 0, + 10, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallY", + "Segments": [ + 0, + 0, + 1, + 0.178, + 0, + 0.356, + 0.25, + 0.533, + 0.25, + 1, + 0.989, + 0.25, + 1.444, + 0.25, + 1.9, + 0.25, + 1, + 2.611, + 0.25, + 3.322, + 0, + 4.033, + 0, + 1, + 4.656, + 0, + 5.278, + 0, + 5.9, + 0, + 1, + 6.211, + 0, + 6.522, + -0.17, + 6.833, + -0.17, + 1, + 7.056, + -0.17, + 7.278, + 0.29, + 7.5, + 0.29, + 1, + 7.833, + 0.29, + 8.167, + 0.282, + 8.5, + 0.21, + 1, + 8.989, + 0.104, + 9.478, + 0, + 9.967, + 0, + 0, + 10, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLY", + "Segments": [ + 0, + 0, + 1, + 0.633, + 0, + 1.267, + 0, + 1.9, + 0, + 1, + 2.489, + 0, + 3.078, + 0, + 3.667, + 0, + 1, + 4.411, + 0, + 5.156, + 0, + 5.9, + 0, + 1, + 6.767, + 0, + 7.633, + 0, + 8.5, + 0, + 1, + 8.989, + 0, + 9.478, + 0, + 9.967, + 0, + 0, + 10, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRY", + "Segments": [ + 0, + 0, + 1, + 0.633, + 0, + 1.267, + 0, + 1.9, + 0, + 1, + 2.489, + 0, + 3.078, + 0, + 3.667, + 0, + 1, + 4.411, + 0, + 5.156, + 0, + 5.9, + 0, + 1, + 6.767, + 0, + 7.633, + 0, + 8.5, + 0, + 1, + 8.989, + 0, + 9.478, + 0, + 9.967, + 0, + 0, + 10, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLX", + "Segments": [ + 0, + 0, + 1, + 0.633, + 0, + 1.267, + 0, + 1.9, + 0, + 1, + 2.489, + 0, + 3.078, + 0, + 3.667, + 0, + 1, + 4.411, + 0, + 5.156, + 0, + 5.9, + 0, + 1, + 6.767, + 0, + 7.633, + 0, + 8.5, + 0, + 1, + 8.989, + 0, + 9.478, + 0, + 9.967, + 0, + 0, + 10, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRX", + "Segments": [ + 0, + 0, + 1, + 0.633, + 0, + 1.267, + 0, + 1.9, + 0, + 1, + 2.489, + 0, + 3.078, + 0, + 3.667, + 0, + 1, + 4.411, + 0, + 5.156, + 0, + 5.9, + 0, + 1, + 6.767, + 0, + 7.633, + 0, + 8.5, + 0, + 1, + 8.989, + 0, + 9.478, + 0, + 9.967, + 0, + 0, + 10, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLAngle", + "Segments": [ + 0, + 0, + 1, + 0.633, + 0, + 1.267, + 0, + 1.9, + 0, + 1, + 2.489, + 0, + 3.078, + 0, + 3.667, + 0, + 1, + 4.411, + 0, + 5.156, + 0, + 5.9, + 0, + 1, + 6.767, + 0, + 7.633, + 0, + 8.5, + 0, + 1, + 8.989, + 0, + 9.478, + 0, + 9.967, + 0, + 0, + 10, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRAngle", + "Segments": [ + 0, + 0, + 1, + 0.633, + 0, + 1.267, + 0, + 1.9, + 0, + 1, + 2.489, + 0, + 3.078, + 0, + 3.667, + 0, + 1, + 4.411, + 0, + 5.156, + 0, + 5.9, + 0, + 1, + 6.767, + 0, + 7.633, + 0, + 8.5, + 0, + 1, + 8.989, + 0, + 9.478, + 0, + 9.967, + 0, + 0, + 10, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLForm", + "Segments": [ + 0, + 0, + 1, + 0.633, + 0, + 1.267, + 0, + 1.9, + 0, + 1, + 2.489, + 0, + 3.078, + 0, + 3.667, + 0, + 1, + 4.411, + 0, + 5.156, + 0, + 5.9, + 0, + 1, + 6.767, + 0, + 7.633, + 0, + 8.5, + 0, + 1, + 8.989, + 0, + 9.478, + 0, + 9.967, + 0, + 0, + 10, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRForm", + "Segments": [ + 0, + 0, + 1, + 0.633, + 0, + 1.267, + 0, + 1.9, + 0, + 1, + 2.489, + 0, + 3.078, + 0, + 3.667, + 0, + 1, + 4.411, + 0, + 5.156, + 0, + 5.9, + 0, + 1, + 6.767, + 0, + 7.633, + 0, + 8.5, + 0, + 1, + 8.989, + 0, + 9.478, + 0, + 9.967, + 0, + 0, + 10, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamMouthForm", + "Segments": [ + 0, + 1, + 1, + 3.322, + 1, + 6.644, + 1, + 9.967, + 1, + 0, + 10, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamMouthOpenY", + "Segments": [ + 0, + 0, + 1, + 3.322, + 0, + 6.644, + 0, + 9.967, + 0, + 0, + 10, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamScarf", + "Segments": [ + 0, + 0, + 1, + 3.322, + 0, + 6.644, + 0, + 9.967, + 0, + 0, + 10, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleX", + "Segments": [ + 0, + 0, + 1, + 0.178, + 0, + 0.356, + -3, + 0.533, + -3, + 1, + 0.989, + -3, + 1.444, + -3, + 1.9, + -3, + 1, + 1.989, + -3, + 2.078, + -3, + 2.167, + -3, + 1, + 2.556, + -3, + 2.944, + 0, + 3.333, + 0, + 1, + 3.444, + 0, + 3.556, + 0, + 3.667, + 0, + 1, + 3.722, + 0, + 3.778, + 0, + 3.833, + 0, + 1, + 4.267, + 0, + 4.7, + 4, + 5.133, + 4, + 1, + 5.389, + 4, + 5.644, + 4, + 5.9, + 4, + 1, + 6, + 4, + 6.1, + 4, + 6.2, + 4, + 1, + 6.411, + 4, + 6.622, + 4.702, + 6.833, + 6, + 1, + 7.056, + 7.367, + 7.278, + 8, + 7.5, + 8, + 1, + 7.833, + 8, + 8.167, + 8, + 8.5, + 8, + 1, + 8.6, + 8, + 8.7, + 8, + 8.8, + 8, + 1, + 9.189, + 8, + 9.578, + 0, + 9.967, + 0, + 0, + 10, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleY", + "Segments": [ + 0, + 0, + 1, + 0.633, + 0, + 1.267, + 0, + 1.9, + 0, + 1, + 1.989, + 0, + 2.078, + 0, + 2.167, + 0, + 1, + 2.667, + 0, + 3.167, + 0, + 3.667, + 0, + 1, + 3.722, + 0, + 3.778, + 0, + 3.833, + 0, + 1, + 4.522, + 0, + 5.211, + 0, + 5.9, + 0, + 1, + 6, + 0, + 6.1, + 0, + 6.2, + 0, + 1, + 6.967, + 0, + 7.733, + 0, + 8.5, + 0, + 1, + 8.6, + 0, + 8.7, + 0, + 8.8, + 0, + 1, + 9.189, + 0, + 9.578, + 0, + 9.967, + 0, + 0, + 10, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleZ", + "Segments": [ + 0, + 0, + 1, + 0.244, + 0, + 0.489, + 3.788, + 0.733, + 4.987, + 1, + 0.956, + 6.077, + 1.178, + 5.954, + 1.4, + 5.954, + 1, + 1.778, + 5.954, + 2.156, + 5.242, + 2.533, + 2.985, + 1, + 2.8, + 1.393, + 3.067, + 0, + 3.333, + 0, + 1, + 3.444, + 0, + 3.556, + 0, + 3.667, + 0, + 1, + 3.722, + 0, + 3.778, + 0, + 3.833, + 0, + 1, + 4.267, + 0, + 4.7, + -2, + 5.133, + -2, + 1, + 5.389, + -2, + 5.644, + -2, + 5.9, + -2, + 1, + 6, + -2, + 6.1, + -2, + 6.2, + -2, + 1, + 6.411, + -2, + 6.622, + -4, + 6.833, + -4, + 1, + 7.056, + -4, + 7.278, + -2, + 7.5, + -2, + 1, + 7.833, + -2, + 8.167, + -5, + 8.5, + -5, + 1, + 8.6, + -5, + 8.7, + -5, + 8.8, + -5, + 1, + 9.189, + -5, + 9.578, + 0, + 9.967, + 0, + 0, + 10, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyUpper", + "Segments": [ + 0, + 0, + 1, + 3.322, + 0, + 6.644, + 0, + 9.967, + 0, + 0, + 10, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBreath", + "Segments": [ + 0, + 0, + 1, + 0.633, + 0, + 1.267, + 0, + 1.9, + 0, + 1, + 2.489, + 0, + 3.078, + 0, + 3.667, + 0, + 1, + 4.411, + 0, + 5.156, + 0, + 5.9, + 0, + 1, + 6.767, + 0, + 7.633, + 0, + 8.5, + 0, + 1, + 8.989, + 0, + 9.478, + 0, + 9.967, + 0, + 0, + 10, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBustY", + "Segments": [ + 0, + 0, + 1, + 0.633, + 0, + 1.267, + 0, + 1.9, + 0, + 1, + 2.489, + 0, + 3.078, + 0, + 3.667, + 0, + 1, + 4.411, + 0, + 5.156, + 0, + 5.9, + 0, + 1, + 6.767, + 0, + 7.633, + 0, + 8.5, + 0, + 1, + 8.989, + 0, + 9.478, + 0, + 9.967, + 0, + 0, + 10, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmLA", + "Segments": [ + 0, + 1, + 1, + 3.322, + 1, + 6.644, + 1, + 9.967, + 1, + 0, + 10, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmRA", + "Segments": [ + 0, + 1, + 1, + 3.322, + 1, + 6.644, + 1, + 9.967, + 1, + 0, + 10, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmLB", + "Segments": [ + 0, + 0, + 1, + 3.322, + 0, + 6.644, + 0, + 9.967, + 0, + 0, + 10, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmRB", + "Segments": [ + 0, + 0, + 1, + 3.322, + 0, + 6.644, + 0, + 9.967, + 0, + 0, + 10, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandChangeR", + "Segments": [ + 0, + 0, + 1, + 3.322, + 0, + 6.644, + 0, + 9.967, + 0, + 0, + 10, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandAngleR", + "Segments": [ + 0, + -0.1, + 1, + 3.322, + -0.1, + 6.644, + -0.1, + 9.967, + -0.1, + 0, + 10, + -0.1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandDhangeL", + "Segments": [ + 0, + 0, + 1, + 3.322, + 0, + 6.644, + 0, + 9.967, + 0, + 0, + 10, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandAngleL", + "Segments": [ + 0, + 0.1, + 1, + 3.322, + 0.1, + 6.644, + 0.1, + 9.967, + 0.1, + 0, + 10, + 0.1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHairFront", + "Segments": [ + 0, + 0, + 1, + 0.633, + 0, + 1.267, + 0, + 1.9, + 0, + 1, + 2.489, + 0, + 3.078, + 0, + 3.667, + 0, + 1, + 4.411, + 0, + 5.156, + 0, + 5.9, + 0, + 1, + 6.767, + 0, + 7.633, + 0, + 8.5, + 0, + 1, + 8.989, + 0, + 9.478, + 0, + 9.967, + 0, + 0, + 10, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHairSide", + "Segments": [ + 0, + 0, + 1, + 3.322, + 0, + 6.644, + 0, + 9.967, + 0, + 0, + 10, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHairBack", + "Segments": [ + 0, + 0, + 1, + 0.633, + 0, + 1.267, + 0, + 1.9, + 0, + 1, + 2.489, + 0, + 3.078, + 0, + 3.667, + 0, + 1, + 4.411, + 0, + 5.156, + 0, + 5.9, + 0, + 1, + 6.767, + 0, + 7.633, + 0, + 8.5, + 0, + 1, + 8.989, + 0, + 9.478, + 0, + 9.967, + 0, + 0, + 10, + 0 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Core", + "Segments": [ + 0, + 1, + 2, + 9.97, + 1, + 0, + 10, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Hoho001", + "Segments": [ + 0, + 1, + 2, + 9.97, + 1, + 0, + 10, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Brow001", + "Segments": [ + 0, + 1, + 2, + 9.97, + 1, + 0, + 10, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Tear", + "Segments": [ + 0, + 1, + 2, + 9.97, + 1, + 0, + 10, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01EyeBall001", + "Segments": [ + 0, + 1, + 2, + 9.97, + 1, + 0, + 10, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Eye001", + "Segments": [ + 0, + 1, + 2, + 9.97, + 1, + 0, + 10, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Nose001", + "Segments": [ + 0, + 1, + 2, + 9.97, + 1, + 0, + 10, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Mouth001", + "Segments": [ + 0, + 1, + 2, + 9.97, + 1, + 0, + 10, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Face001", + "Segments": [ + 0, + 1, + 2, + 9.97, + 1, + 0, + 10, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Ear001", + "Segments": [ + 0, + 1, + 2, + 9.97, + 1, + 0, + 10, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Neck001", + "Segments": [ + 0, + 1, + 2, + 9.97, + 1, + 0, + 10, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01HairFront001", + "Segments": [ + 0, + 1, + 2, + 9.97, + 1, + 0, + 10, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01HairSide001", + "Segments": [ + 0, + 1, + 2, + 9.97, + 1, + 0, + 10, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01HairBack001", + "Segments": [ + 0, + 1, + 2, + 9.97, + 1, + 0, + 10, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01ArmRB001", + "Segments": [ + 0, + 0, + 2, + 9.97, + 0, + 0, + 10, + 0 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01ArmLB001", + "Segments": [ + 0, + 0, + 2, + 9.97, + 0, + 0, + 10, + 0 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01ArmRA001", + "Segments": [ + 0, + 1, + 2, + 9.97, + 1, + 0, + 10, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01ArmLA001", + "Segments": [ + 0, + 1, + 2, + 9.97, + 1, + 0, + 10, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Body001", + "Segments": [ + 0, + 1, + 2, + 9.97, + 1, + 0, + 10, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Sketch", + "Segments": [ + 0, + 0, + 2, + 9.97, + 0, + 0, + 10, + 0 + ] + } + ] +} \ No newline at end of file diff --git a/staticfiles/haru_greeter_pro_jp/runtime/motion/haru_g_m01.motion3.json b/staticfiles/haru_greeter_pro_jp/runtime/motion/haru_g_m01.motion3.json new file mode 100644 index 0000000000000000000000000000000000000000..115419eb6a663b484438f8ba1302693e59af5867 --- /dev/null +++ b/staticfiles/haru_greeter_pro_jp/runtime/motion/haru_g_m01.motion3.json @@ -0,0 +1,1189 @@ +{ + "Version": 3, + "Meta": { + "Duration": 2.9, + "Fps": 30.0, + "Loop": true, + "AreBeziersRestricted": true, + "CurveCount": 63, + "TotalSegmentCount": 143, + "TotalPointCount": 326, + "UserDataCount": 0, + "TotalUserDataSize": 0 + }, + "Curves": [ + { + "Target": "Model", + "Id": "Opacity", + "Segments": [ + 0, + 1, + 1, + 0.96, + 1, + 1.91, + 1, + 2.87, + 1, + 0, + 2.9, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleX", + "Segments": [ + 0, + 0, + 1, + 0.956, + 0, + 1.911, + 0, + 2.867, + 0, + 0, + 2.9, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleY", + "Segments": [ + 0, + 0, + 1, + 0.367, + 0, + 0.733, + 0, + 1.1, + 0, + 1, + 1.2, + 0, + 1.3, + -8, + 1.4, + -8, + 1, + 1.456, + -8, + 1.511, + -5.237, + 1.567, + 0, + 1, + 1.667, + 9.427, + 1.767, + 14, + 1.867, + 14, + 1, + 1.989, + 14, + 2.111, + -16, + 2.233, + -16, + 1, + 2.389, + -16, + 2.544, + 0, + 2.7, + 0, + 1, + 2.756, + 0, + 2.811, + 0, + 2.867, + 0, + 0, + 2.9, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleZ", + "Segments": [ + 0, + 0, + 1, + 0.956, + 0, + 1.911, + 0, + 2.867, + 0, + 0, + 2.9, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamTere", + "Segments": [ + 0, + 0, + 1, + 0.956, + 0, + 1.911, + 0, + 2.867, + 0, + 0, + 2.9, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamFaceForm", + "Segments": [ + 0, + 0, + 1, + 0.956, + 0, + 1.911, + 0, + 2.867, + 0, + 0, + 2.9, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeLOpen", + "Segments": [ + 0, + 1, + 1, + 0.667, + 1, + 1.333, + 1, + 2, + 1, + 1, + 2.044, + 1, + 2.089, + 0, + 2.133, + 0, + 1, + 2.2, + 0, + 2.267, + 0, + 2.333, + 0, + 1, + 2.389, + 0, + 2.444, + 1, + 2.5, + 1, + 1, + 2.622, + 1, + 2.744, + 1, + 2.867, + 1, + 0, + 2.9, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeLSmile", + "Segments": [ + 0, + 0, + 1, + 0.956, + 0, + 1.911, + 0, + 2.867, + 0, + 0, + 2.9, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeROpen", + "Segments": [ + 0, + 1, + 1, + 0.667, + 1, + 1.333, + 1, + 2, + 1, + 1, + 2.044, + 1, + 2.089, + 0, + 2.133, + 0, + 1, + 2.2, + 0, + 2.267, + 0, + 2.333, + 0, + 1, + 2.389, + 0, + 2.444, + 1, + 2.5, + 1, + 1, + 2.622, + 1, + 2.744, + 1, + 2.867, + 1, + 0, + 2.9, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeRSmile", + "Segments": [ + 0, + 0, + 1, + 0.956, + 0, + 1.911, + 0, + 2.867, + 0, + 0, + 2.9, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeForm", + "Segments": [ + 0, + 0, + 1, + 0.956, + 0, + 1.911, + 0, + 2.867, + 0, + 0, + 2.9, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallForm", + "Segments": [ + 0, + 0, + 1, + 0.956, + 0, + 1.911, + 0, + 2.867, + 0, + 0, + 2.9, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamTear", + "Segments": [ + 0, + 0, + 1, + 0.956, + 0, + 1.911, + 0, + 2.867, + 0, + 0, + 2.9, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallX", + "Segments": [ + 0, + 0, + 1, + 0.956, + 0, + 1.911, + 0, + 2.867, + 0, + 0, + 2.9, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallY", + "Segments": [ + 0, + 0, + 1, + 0.956, + 0, + 1.911, + 0, + 2.867, + 0, + 0, + 2.9, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLY", + "Segments": [ + 0, + 0, + 1, + 0.956, + 0, + 1.911, + 0, + 2.867, + 0, + 0, + 2.9, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRY", + "Segments": [ + 0, + 0, + 1, + 0.956, + 0, + 1.911, + 0, + 2.867, + 0, + 0, + 2.9, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLX", + "Segments": [ + 0, + 0, + 1, + 0.956, + 0, + 1.911, + 0, + 2.867, + 0, + 0, + 2.9, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRX", + "Segments": [ + 0, + 0, + 1, + 0.956, + 0, + 1.911, + 0, + 2.867, + 0, + 0, + 2.9, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLAngle", + "Segments": [ + 0, + 0, + 1, + 0.956, + 0, + 1.911, + 0, + 2.867, + 0, + 0, + 2.9, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRAngle", + "Segments": [ + 0, + 0, + 1, + 0.956, + 0, + 1.911, + 0, + 2.867, + 0, + 0, + 2.9, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLForm", + "Segments": [ + 0, + 0, + 1, + 0.956, + 0, + 1.911, + 0, + 2.867, + 0, + 0, + 2.9, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRForm", + "Segments": [ + 0, + 0, + 1, + 0.956, + 0, + 1.911, + 0, + 2.867, + 0, + 0, + 2.9, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamMouthForm", + "Segments": [ + 0, + 1, + 1, + 0.956, + 1, + 1.911, + 1, + 2.867, + 1, + 0, + 2.9, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamMouthOpenY", + "Segments": [ + 0, + 0, + 1, + 0.956, + 0, + 1.911, + 0, + 2.867, + 0, + 0, + 2.9, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamScarf", + "Segments": [ + 0, + 0, + 1, + 0.956, + 0, + 1.911, + 0, + 2.867, + 0, + 0, + 2.9, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleX", + "Segments": [ + 0, + 0, + 1, + 0.956, + 0, + 1.911, + 0, + 2.867, + 0, + 0, + 2.9, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleY", + "Segments": [ + 0, + 0, + 1, + 0.489, + 0, + 0.978, + 0, + 1.467, + 0, + 1, + 1.622, + 0, + 1.778, + 2, + 1.933, + 2, + 1, + 2.056, + 2, + 2.178, + 0, + 2.3, + 0, + 1, + 2.489, + 0, + 2.678, + 0, + 2.867, + 0, + 0, + 2.9, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleZ", + "Segments": [ + 0, + 0, + 1, + 0.956, + 0, + 1.911, + 0, + 2.867, + 0, + 0, + 2.9, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyUpper", + "Segments": [ + 0, + 0, + 1, + 0.956, + 0, + 1.911, + 0, + 2.867, + 0, + 0, + 2.9, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBreath", + "Segments": [ + 0, + 0, + 1, + 0.956, + 0, + 1.911, + 0, + 2.867, + 0, + 0, + 2.9, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBustY", + "Segments": [ + 0, + 0, + 1, + 0.956, + 0, + 1.911, + 0, + 2.867, + 0, + 0, + 2.9, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmLA", + "Segments": [ + 0, + 1, + 1, + 0.956, + 1, + 1.911, + 1, + 2.867, + 1, + 0, + 2.9, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmRA", + "Segments": [ + 0, + 1, + 1, + 0.956, + 1, + 1.911, + 1, + 2.867, + 1, + 0, + 2.9, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmLB", + "Segments": [ + 0, + 5, + 1, + 0.956, + 5, + 1.911, + 5, + 2.867, + 5, + 0, + 2.9, + 5 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmRB", + "Segments": [ + 0, + 0, + 1, + 0.956, + 0, + 1.911, + 0, + 2.867, + 0, + 0, + 2.9, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandChangeR", + "Segments": [ + 0, + 0, + 1, + 0.956, + 0, + 1.911, + 0, + 2.867, + 0, + 0, + 2.9, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandAngleR", + "Segments": [ + 0, + 0.19, + 1, + 0.956, + 0.19, + 1.911, + 0.19, + 2.867, + 0.19, + 0, + 2.9, + 0.19 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandDhangeL", + "Segments": [ + 0, + 0, + 1, + 0.956, + 0, + 1.911, + 0, + 2.867, + 0, + 0, + 2.9, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandAngleL", + "Segments": [ + 0, + -0.17, + 1, + 0.956, + -0.17, + 1.911, + -0.17, + 2.867, + -0.17, + 0, + 2.9, + -0.17 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHairFront", + "Segments": [ + 0, + 0, + 1, + 0.956, + 0, + 1.911, + 0, + 2.867, + 0, + 0, + 2.9, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHairSide", + "Segments": [ + 0, + 0, + 1, + 0.956, + 0, + 1.911, + 0, + 2.867, + 0, + 0, + 2.9, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHairBack", + "Segments": [ + 0, + 0, + 1, + 0.956, + 0, + 1.911, + 0, + 2.867, + 0, + 0, + 2.9, + 0 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Core", + "Segments": [ + 0, + 1, + 2, + 2.87, + 1, + 0, + 2.9, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Hoho001", + "Segments": [ + 0, + 1, + 2, + 2.87, + 1, + 0, + 2.9, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Brow001", + "Segments": [ + 0, + 1, + 2, + 2.87, + 1, + 0, + 2.9, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Tear", + "Segments": [ + 0, + 1, + 2, + 2.87, + 1, + 0, + 2.9, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01EyeBall001", + "Segments": [ + 0, + 1, + 2, + 2.87, + 1, + 0, + 2.9, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Eye001", + "Segments": [ + 0, + 1, + 2, + 2.87, + 1, + 0, + 2.9, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Nose001", + "Segments": [ + 0, + 1, + 2, + 2.87, + 1, + 0, + 2.9, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Mouth001", + "Segments": [ + 0, + 1, + 2, + 2.87, + 1, + 0, + 2.9, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Face001", + "Segments": [ + 0, + 1, + 2, + 2.87, + 1, + 0, + 2.9, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Ear001", + "Segments": [ + 0, + 1, + 2, + 2.87, + 1, + 0, + 2.9, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Neck001", + "Segments": [ + 0, + 1, + 2, + 2.87, + 1, + 0, + 2.9, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01HairFront001", + "Segments": [ + 0, + 1, + 2, + 2.87, + 1, + 0, + 2.9, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01HairSide001", + "Segments": [ + 0, + 1, + 2, + 2.87, + 1, + 0, + 2.9, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01HairBack001", + "Segments": [ + 0, + 1, + 2, + 2.87, + 1, + 0, + 2.9, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01ArmRB001", + "Segments": [ + 0, + 0, + 2, + 2.87, + 0, + 0, + 2.9, + 0 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01ArmLB001", + "Segments": [ + 0, + 0, + 2, + 2.87, + 0, + 0, + 2.9, + 0 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01ArmRA001", + "Segments": [ + 0, + 1, + 2, + 2.87, + 1, + 0, + 2.9, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01ArmLA001", + "Segments": [ + 0, + 1, + 2, + 2.87, + 1, + 0, + 2.9, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Body001", + "Segments": [ + 0, + 1, + 2, + 2.87, + 1, + 0, + 2.9, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Sketch", + "Segments": [ + 0, + 0, + 2, + 2.87, + 0, + 0, + 2.9, + 0 + ] + } + ] +} \ No newline at end of file diff --git a/staticfiles/haru_greeter_pro_jp/runtime/motion/haru_g_m02.motion3.json b/staticfiles/haru_greeter_pro_jp/runtime/motion/haru_g_m02.motion3.json new file mode 100644 index 0000000000000000000000000000000000000000..d0dd0f2b905cf1515998d1038d5e6c2943184631 --- /dev/null +++ b/staticfiles/haru_greeter_pro_jp/runtime/motion/haru_g_m02.motion3.json @@ -0,0 +1,1214 @@ +{ + "Version": 3, + "Meta": { + "Duration": 2.03, + "Fps": 30.0, + "Loop": true, + "AreBeziersRestricted": true, + "CurveCount": 63, + "TotalSegmentCount": 146, + "TotalPointCount": 337, + "UserDataCount": 0, + "TotalUserDataSize": 0 + }, + "Curves": [ + { + "Target": "Model", + "Id": "Opacity", + "Segments": [ + 0, + 1, + 1, + 0.67, + 1, + 1.33, + 1, + 2, + 1, + 1, + 2.01, + 1, + 2.02, + 1, + 2.03, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleX", + "Segments": [ + 0, + 0, + 1, + 0.078, + 0, + 0.156, + 0, + 0.233, + 0, + 1, + 0.411, + 0, + 0.589, + 0, + 0.767, + 0, + 1, + 1.178, + 0, + 1.589, + 0, + 2, + 0, + 0, + 2.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleY", + "Segments": [ + 0, + 0, + 1, + 0.078, + 0, + 0.156, + 0, + 0.233, + 0, + 1, + 0.411, + 0, + 0.589, + 14, + 0.767, + 14, + 1, + 0.889, + 14, + 1.011, + -11, + 1.133, + -11, + 1, + 1.3, + -11, + 1.467, + 0, + 1.633, + 0, + 1, + 1.756, + 0, + 1.878, + 0, + 2, + 0, + 0, + 2.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleZ", + "Segments": [ + 0, + 0, + 1, + 0.667, + 0, + 1.333, + 0, + 2, + 0, + 0, + 2.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamTere", + "Segments": [ + 0, + 0, + 1, + 0.667, + 0, + 1.333, + 0, + 2, + 0, + 0, + 2.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamFaceForm", + "Segments": [ + 0, + 0, + 1, + 0.667, + 0, + 1.333, + 0, + 2, + 0, + 0, + 2.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeLOpen", + "Segments": [ + 0, + 1, + 1, + 0.511, + 1, + 1.022, + 1, + 1.533, + 1, + 1, + 1.689, + 1, + 1.844, + 1, + 2, + 1, + 0, + 2.033, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeLSmile", + "Segments": [ + 0, + 0, + 1, + 0.667, + 0, + 1.333, + 0, + 2, + 0, + 0, + 2.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeROpen", + "Segments": [ + 0, + 1, + 1, + 0.511, + 1, + 1.022, + 1, + 1.533, + 1, + 1, + 1.689, + 1, + 1.844, + 1, + 2, + 1, + 0, + 2.033, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeRSmile", + "Segments": [ + 0, + 0, + 1, + 0.667, + 0, + 1.333, + 0, + 2, + 0, + 0, + 2.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeForm", + "Segments": [ + 0, + 0, + 1, + 0.667, + 0, + 1.333, + 0, + 2, + 0, + 0, + 2.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallForm", + "Segments": [ + 0, + 0, + 1, + 0.511, + 0, + 1.022, + 0, + 1.533, + 0, + 1, + 1.689, + 0, + 1.844, + 0, + 2, + 0, + 0, + 2.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamTear", + "Segments": [ + 0, + 0, + 1, + 0.667, + 0, + 1.333, + 0, + 2, + 0, + 0, + 2.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallX", + "Segments": [ + 0, + 0, + 1, + 0.667, + 0, + 1.333, + 0, + 2, + 0, + 0, + 2.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallY", + "Segments": [ + 0, + 0, + 1, + 0.667, + 0, + 1.333, + 0, + 2, + 0, + 0, + 2.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLY", + "Segments": [ + 0, + 0, + 1, + 0.511, + 0, + 1.022, + 0, + 1.533, + 0, + 1, + 1.689, + 0, + 1.844, + 0, + 2, + 0, + 0, + 2.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRY", + "Segments": [ + 0, + 0, + 1, + 0.511, + 0, + 1.022, + 0, + 1.533, + 0, + 1, + 1.689, + 0, + 1.844, + 0, + 2, + 0, + 0, + 2.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLX", + "Segments": [ + 0, + 0, + 1, + 0.667, + 0, + 1.333, + 0, + 2, + 0, + 0, + 2.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRX", + "Segments": [ + 0, + 0, + 1, + 0.667, + 0, + 1.333, + 0, + 2, + 0, + 0, + 2.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLAngle", + "Segments": [ + 0, + 0, + 1, + 0.667, + 0, + 1.333, + 0, + 2, + 0, + 0, + 2.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRAngle", + "Segments": [ + 0, + 0, + 1, + 0.667, + 0, + 1.333, + 0, + 2, + 0, + 0, + 2.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLForm", + "Segments": [ + 0, + 0, + 1, + 0.667, + 0, + 1.333, + 0, + 2, + 0, + 0, + 2.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRForm", + "Segments": [ + 0, + 0, + 1, + 0.667, + 0, + 1.333, + 0, + 2, + 0, + 0, + 2.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamMouthForm", + "Segments": [ + 0, + 1, + 1, + 0.667, + 1, + 1.333, + 1, + 2, + 1, + 0, + 2.033, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamMouthOpenY", + "Segments": [ + 0, + 0, + 1, + 0.667, + 0, + 1.333, + 0, + 2, + 0, + 0, + 2.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamScarf", + "Segments": [ + 0, + 0, + 1, + 0.667, + 0, + 1.333, + 0, + 2, + 0, + 0, + 2.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleX", + "Segments": [ + 0, + 0, + 1, + 0.667, + 0, + 1.333, + 0, + 2, + 0, + 0, + 2.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleY", + "Segments": [ + 0, + 0, + 1, + 0.089, + 0, + 0.178, + 0, + 0.267, + 0, + 1, + 0.456, + 0, + 0.644, + 5, + 0.833, + 5, + 1, + 0.956, + 5, + 1.078, + 0, + 1.2, + 0, + 1, + 1.467, + 0, + 1.733, + 0, + 2, + 0, + 0, + 2.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleZ", + "Segments": [ + 0, + 0, + 1, + 0.667, + 0, + 1.333, + 0, + 2, + 0, + 0, + 2.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyUpper", + "Segments": [ + 0, + 6, + 1, + 0.667, + 6, + 1.333, + 6, + 2, + 6, + 0, + 2.033, + 6 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBreath", + "Segments": [ + 0, + 0, + 1, + 0.667, + 0, + 1.333, + 0, + 2, + 0, + 0, + 2.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBustY", + "Segments": [ + 0, + 0, + 1, + 0.667, + 0, + 1.333, + 0, + 2, + 0, + 0, + 2.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmLA", + "Segments": [ + 0, + -1, + 1, + 0.156, + -1, + 0.311, + -1, + 0.467, + -1, + 1, + 0.611, + -1, + 0.756, + -0.89, + 0.9, + -0.89, + 1, + 1.022, + -0.89, + 1.144, + -1, + 1.267, + -1, + 1, + 1.511, + -1, + 1.756, + -1, + 2, + -1, + 0, + 2.033, + -1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmRA", + "Segments": [ + 0, + -1, + 1, + 0.156, + -1, + 0.311, + -1, + 0.467, + -1, + 1, + 0.611, + -1, + 0.756, + -0.89, + 0.9, + -0.89, + 1, + 1.022, + -0.89, + 1.144, + -1, + 1.267, + -1, + 1, + 1.511, + -1, + 1.756, + -1, + 2, + -1, + 0, + 2.033, + -1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmLB", + "Segments": [ + 0, + 0, + 1, + 0.667, + 0, + 1.333, + 0, + 2, + 0, + 0, + 2.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmRB", + "Segments": [ + 0, + 0, + 1, + 0.667, + 0, + 1.333, + 0, + 2, + 0, + 0, + 2.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandChangeR", + "Segments": [ + 0, + 0, + 1, + 0.667, + 0, + 1.333, + 0, + 2, + 0, + 0, + 2.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandAngleR", + "Segments": [ + 0, + 0, + 1, + 0.667, + 0, + 1.333, + 0, + 2, + 0, + 0, + 2.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandDhangeL", + "Segments": [ + 0, + 0, + 1, + 0.667, + 0, + 1.333, + 0, + 2, + 0, + 0, + 2.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandAngleL", + "Segments": [ + 0, + 0, + 1, + 0.667, + 0, + 1.333, + 0, + 2, + 0, + 0, + 2.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHairFront", + "Segments": [ + 0, + 0, + 1, + 0.667, + 0, + 1.333, + 0, + 2, + 0, + 0, + 2.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHairSide", + "Segments": [ + 0, + 0, + 1, + 0.667, + 0, + 1.333, + 0, + 2, + 0, + 0, + 2.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHairBack", + "Segments": [ + 0, + 0, + 1, + 0.667, + 0, + 1.333, + 0, + 2, + 0, + 0, + 2.033, + 0 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Core", + "Segments": [ + 0, + 1, + 2, + 2, + 1, + 2, + 2.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Hoho001", + "Segments": [ + 0, + 1, + 2, + 2, + 1, + 2, + 2.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Brow001", + "Segments": [ + 0, + 1, + 2, + 2, + 1, + 2, + 2.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Tear", + "Segments": [ + 0, + 1, + 2, + 2, + 1, + 2, + 2.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01EyeBall001", + "Segments": [ + 0, + 1, + 2, + 2, + 1, + 2, + 2.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Eye001", + "Segments": [ + 0, + 1, + 2, + 2, + 1, + 2, + 2.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Nose001", + "Segments": [ + 0, + 1, + 2, + 2, + 1, + 2, + 2.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Mouth001", + "Segments": [ + 0, + 1, + 2, + 2, + 1, + 2, + 2.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Face001", + "Segments": [ + 0, + 1, + 2, + 2, + 1, + 2, + 2.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Ear001", + "Segments": [ + 0, + 1, + 2, + 2, + 1, + 2, + 2.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Neck001", + "Segments": [ + 0, + 1, + 2, + 2, + 1, + 2, + 2.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01HairFront001", + "Segments": [ + 0, + 1, + 2, + 2, + 1, + 2, + 2.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01HairSide001", + "Segments": [ + 0, + 1, + 2, + 2, + 1, + 2, + 2.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01HairBack001", + "Segments": [ + 0, + 1, + 2, + 2, + 1, + 2, + 2.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01ArmRB001", + "Segments": [ + 0, + 0, + 2, + 2, + 0, + 2, + 2.03, + 0 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01ArmLB001", + "Segments": [ + 0, + 0, + 2, + 2, + 0, + 2, + 2.03, + 0 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01ArmRA001", + "Segments": [ + 0, + 1, + 2, + 2, + 1, + 2, + 2.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01ArmLA001", + "Segments": [ + 0, + 1, + 2, + 2, + 1, + 2, + 2.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Body001", + "Segments": [ + 0, + 1, + 2, + 2, + 1, + 2, + 2.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Sketch", + "Segments": [ + 0, + 0, + 2, + 2, + 0, + 2, + 2.03, + 0 + ] + } + ] +} \ No newline at end of file diff --git a/staticfiles/haru_greeter_pro_jp/runtime/motion/haru_g_m03.motion3.json b/staticfiles/haru_greeter_pro_jp/runtime/motion/haru_g_m03.motion3.json new file mode 100644 index 0000000000000000000000000000000000000000..5c5775a0fe083968084997a3ba9abc125a8369be --- /dev/null +++ b/staticfiles/haru_greeter_pro_jp/runtime/motion/haru_g_m03.motion3.json @@ -0,0 +1,1735 @@ +{ + "Version": 3, + "Meta": { + "Duration": 4.63, + "Fps": 30.0, + "Loop": true, + "AreBeziersRestricted": true, + "CurveCount": 63, + "TotalSegmentCount": 221, + "TotalPointCount": 560, + "UserDataCount": 0, + "TotalUserDataSize": 0 + }, + "Curves": [ + { + "Target": "Model", + "Id": "Opacity", + "Segments": [ + 0, + 1, + 1, + 1.53, + 1, + 3.07, + 1, + 4.6, + 1, + 0, + 4.63, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleX", + "Segments": [ + 0, + 0, + 1, + 0.344, + 0, + 0.689, + 0, + 1.033, + 0, + 1, + 1.089, + 0, + 1.144, + 0, + 1.2, + 0, + 1, + 1.622, + 0, + 2.044, + 0, + 2.467, + 0, + 1, + 2.578, + 0, + 2.689, + 0, + 2.8, + 0, + 1, + 2.911, + 0, + 3.022, + 0, + 3.133, + 0, + 1, + 3.233, + 0, + 3.333, + 0, + 3.433, + 0, + 1, + 3.544, + 0, + 3.656, + 0, + 3.767, + 0, + 1, + 3.856, + 0, + 3.944, + 0, + 4.033, + 0, + 1, + 4.222, + 0, + 4.411, + 0, + 4.6, + 0, + 0, + 4.633, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleY", + "Segments": [ + 0, + 0, + 1, + 0.344, + 0, + 0.689, + 0, + 1.033, + 0, + 1, + 1.089, + 0, + 1.144, + 0, + 1.2, + 0, + 1, + 1.622, + 0, + 2.044, + 0, + 2.467, + 0, + 1, + 2.578, + 0, + 2.689, + 13, + 2.8, + 13, + 1, + 2.911, + 13, + 3.022, + -13, + 3.133, + -13, + 1, + 3.233, + -13, + 3.333, + 0, + 3.433, + 0, + 1, + 3.544, + 0, + 3.656, + -13, + 3.767, + -13, + 1, + 3.856, + -13, + 3.944, + 0, + 4.033, + 0, + 1, + 4.222, + 0, + 4.411, + 0, + 4.6, + 0, + 0, + 4.633, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleZ", + "Segments": [ + 0, + 0, + 1, + 1.533, + 0, + 3.067, + 0, + 4.6, + 0, + 0, + 4.633, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamTere", + "Segments": [ + 0, + 0, + 1, + 1.533, + 0, + 3.067, + 0, + 4.6, + 0, + 0, + 4.633, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamFaceForm", + "Segments": [ + 0, + 0, + 1, + 1.533, + 0, + 3.067, + 0, + 4.6, + 0, + 0, + 4.633, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeLOpen", + "Segments": [ + 0, + 0.8, + 1, + 0.133, + 0.8, + 0.267, + 0.8, + 0.4, + 0.8, + 1, + 0.578, + 0.8, + 0.756, + 0.9, + 0.933, + 0.9, + 1, + 1.067, + 0.9, + 1.2, + 0.8, + 1.333, + 0.8, + 1, + 1.422, + 0.8, + 1.511, + 0.8, + 1.6, + 0.8, + 1, + 1.678, + 0.8, + 1.756, + 1, + 1.833, + 1, + 1, + 1.889, + 1, + 1.944, + 0, + 2, + 0, + 1, + 2.056, + 0, + 2.111, + 0, + 2.167, + 0, + 1, + 2.256, + 0, + 2.344, + 1, + 2.433, + 1, + 1, + 2.589, + 1, + 2.744, + 1, + 2.9, + 1, + 1, + 2.956, + 1, + 3.011, + 0, + 3.067, + 0, + 1, + 3.4, + 0, + 3.733, + 0, + 4.067, + 0, + 1, + 4.2, + 0, + 4.333, + 0.8, + 4.467, + 0.8, + 1, + 4.511, + 0.8, + 4.556, + 0.8, + 4.6, + 0.8, + 0, + 4.633, + 0.8 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeLSmile", + "Segments": [ + 0, + 0, + 1, + 1.533, + 0, + 3.067, + 0, + 4.6, + 0, + 0, + 4.633, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeROpen", + "Segments": [ + 0, + 0.8, + 1, + 0.133, + 0.8, + 0.267, + 0.8, + 0.4, + 0.8, + 1, + 0.567, + 0.8, + 0.733, + 0.9, + 0.9, + 0.9, + 1, + 1.044, + 0.9, + 1.189, + 0.8, + 1.333, + 0.8, + 1, + 1.422, + 0.8, + 1.511, + 0.8, + 1.6, + 0.8, + 1, + 1.678, + 0.8, + 1.756, + 1, + 1.833, + 1, + 1, + 1.889, + 1, + 1.944, + 0, + 2, + 0, + 1, + 2.056, + 0, + 2.111, + 0, + 2.167, + 0, + 1, + 2.256, + 0, + 2.344, + 1, + 2.433, + 1, + 1, + 2.589, + 1, + 2.744, + 1, + 2.9, + 1, + 1, + 2.956, + 1, + 3.011, + 0, + 3.067, + 0, + 1, + 3.4, + 0, + 3.733, + 0, + 4.067, + 0, + 1, + 4.2, + 0, + 4.333, + 0.8, + 4.467, + 0.8, + 1, + 4.511, + 0.8, + 4.556, + 0.8, + 4.6, + 0.8, + 0, + 4.633, + 0.8 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeRSmile", + "Segments": [ + 0, + 0, + 1, + 1.533, + 0, + 3.067, + 0, + 4.6, + 0, + 0, + 4.633, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeForm", + "Segments": [ + 0, + 0, + 1, + 1.533, + 0, + 3.067, + 0, + 4.6, + 0, + 0, + 4.633, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallForm", + "Segments": [ + 0, + 0, + 1, + 1.533, + 0, + 3.067, + 0, + 4.6, + 0, + 0, + 4.633, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamTear", + "Segments": [ + 0, + 0, + 1, + 1.533, + 0, + 3.067, + 0, + 4.6, + 0, + 0, + 4.633, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallX", + "Segments": [ + 0, + 0, + 1, + 0.467, + 0, + 0.933, + 0, + 1.4, + 0, + 1, + 1.522, + 0, + 1.644, + -0.1, + 1.767, + -0.1, + 1, + 1.889, + -0.1, + 2.011, + 0, + 2.133, + 0, + 1, + 2.956, + 0, + 3.778, + 0, + 4.6, + 0, + 0, + 4.633, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallY", + "Segments": [ + 0, + 0, + 1, + 0.467, + 0, + 0.933, + 0, + 1.4, + 0, + 1, + 1.522, + 0, + 1.644, + -0.38, + 1.767, + -0.38, + 1, + 1.889, + -0.38, + 2.011, + 0, + 2.133, + 0, + 1, + 2.956, + 0, + 3.778, + 0, + 4.6, + 0, + 0, + 4.633, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLY", + "Segments": [ + 0, + 0, + 1, + 0.3, + 0, + 0.6, + 0, + 0.9, + 0, + 1, + 2.133, + 0, + 3.367, + 0, + 4.6, + 0, + 0, + 4.633, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRY", + "Segments": [ + 0, + 0, + 1, + 0.3, + 0, + 0.6, + 0, + 0.9, + 0, + 1, + 2.133, + 0, + 3.367, + 0, + 4.6, + 0, + 0, + 4.633, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLX", + "Segments": [ + 0, + 0, + 1, + 0.3, + 0, + 0.6, + 0, + 0.9, + 0, + 1, + 2.133, + 0, + 3.367, + 0, + 4.6, + 0, + 0, + 4.633, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRX", + "Segments": [ + 0, + 0, + 1, + 0.3, + 0, + 0.6, + 0, + 0.9, + 0, + 1, + 2.133, + 0, + 3.367, + 0, + 4.6, + 0, + 0, + 4.633, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLAngle", + "Segments": [ + 0, + 0, + 1, + 0.3, + 0, + 0.6, + 0, + 0.9, + 0, + 1, + 1.044, + 0, + 1.189, + 0.01, + 1.333, + 0.01, + 1, + 2.211, + 0.01, + 3.089, + 0.01, + 3.967, + 0.01, + 1, + 4.178, + 0.01, + 4.389, + 0.01, + 4.6, + 0.01, + 0, + 4.633, + 0.01 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRAngle", + "Segments": [ + 0, + 0, + 1, + 0.3, + 0, + 0.6, + 0, + 0.9, + 0, + 1, + 1.044, + 0, + 1.189, + 0, + 1.333, + 0, + 1, + 2.211, + 0, + 3.089, + 0, + 3.967, + 0, + 1, + 4.178, + 0, + 4.389, + 0, + 4.6, + 0, + 0, + 4.633, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLForm", + "Segments": [ + 0, + -0.35, + 1, + 0.3, + -0.35, + 0.6, + -0.35, + 0.9, + -0.35, + 1, + 1.044, + -0.35, + 1.189, + -0.66, + 1.333, + -0.66, + 1, + 2.211, + -0.66, + 3.089, + -0.66, + 3.967, + -0.66, + 1, + 4.178, + -0.66, + 4.389, + -0.39, + 4.6, + -0.39, + 0, + 4.633, + -0.39 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRForm", + "Segments": [ + 0, + -0.35, + 1, + 0.3, + -0.35, + 0.6, + -0.35, + 0.9, + -0.35, + 1, + 1.044, + -0.35, + 1.189, + -0.65, + 1.333, + -0.65, + 1, + 2.211, + -0.65, + 3.089, + -0.65, + 3.967, + -0.65, + 1, + 4.178, + -0.65, + 4.389, + -0.39, + 4.6, + -0.39, + 0, + 4.633, + -0.39 + ] + }, + { + "Target": "Parameter", + "Id": "ParamMouthForm", + "Segments": [ + 0, + 0, + 1, + 0.3, + 0, + 0.6, + 0, + 0.9, + 0, + 1, + 1.044, + 0, + 1.189, + -1, + 1.333, + -1, + 1, + 1.756, + -1, + 2.178, + -1, + 2.6, + -1, + 1, + 3.267, + -1, + 3.933, + 0, + 4.6, + 0, + 0, + 4.633, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamMouthOpenY", + "Segments": [ + 0, + 0, + 1, + 1.533, + 0, + 3.067, + 0, + 4.6, + 0, + 0, + 4.633, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamScarf", + "Segments": [ + 0, + 0, + 1, + 1.533, + 0, + 3.067, + 0, + 4.6, + 0, + 0, + 4.633, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleX", + "Segments": [ + 0, + 0, + 1, + 0.356, + 0, + 0.711, + 0, + 1.067, + 0, + 1, + 1.3, + 0, + 1.533, + 2, + 1.767, + 2, + 1, + 1.933, + 2, + 2.1, + 0, + 2.267, + 0, + 1, + 2.578, + 0, + 2.889, + 0, + 3.2, + 0, + 1, + 3.667, + 0, + 4.133, + 0, + 4.6, + 0, + 0, + 4.633, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleY", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.233, + 0, + 1.467, + 3, + 1.7, + 3, + 1, + 1.867, + 3, + 2.033, + 0, + 2.2, + 0, + 1, + 2.311, + 0, + 2.422, + 0, + 2.533, + 0, + 1, + 2.644, + 0, + 2.756, + 4, + 2.867, + 4, + 1, + 2.944, + 4, + 3.022, + -1, + 3.1, + -1, + 1, + 3.244, + -1, + 3.389, + 0, + 3.533, + 0, + 1, + 3.889, + 0, + 4.244, + 0, + 4.6, + 0, + 0, + 4.633, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleZ", + "Segments": [ + 0, + 0, + 1, + 0.3, + 0, + 0.6, + -5, + 0.9, + -5, + 1, + 1.133, + -5, + 1.367, + 0, + 1.6, + 0, + 1, + 2.389, + 0, + 3.178, + 0, + 3.967, + 0, + 1, + 4.178, + 0, + 4.389, + 0, + 4.6, + 0, + 0, + 4.633, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyUpper", + "Segments": [ + 0, + 0, + 1, + 1.533, + 0, + 3.067, + 0, + 4.6, + 0, + 0, + 4.633, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBreath", + "Segments": [ + 0, + 0, + 1, + 1.533, + 0, + 3.067, + 0, + 4.6, + 0, + 0, + 4.633, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBustY", + "Segments": [ + 0, + 0, + 1, + 1.533, + 0, + 3.067, + 0, + 4.6, + 0, + 0, + 4.633, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmLA", + "Segments": [ + 0, + 0.5, + 1, + 0.156, + 0.5, + 0.311, + 0.749, + 0.467, + 0.76, + 1, + 1.778, + 0.856, + 3.089, + 0.89, + 4.4, + 0.89, + 1, + 4.467, + 0.89, + 4.533, + 0.5, + 4.6, + 0.5, + 0, + 4.633, + 0.5 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmRA", + "Segments": [ + 0, + 0.5, + 1, + 0.156, + 0.5, + 0.311, + 0.743, + 0.467, + 0.76, + 1, + 1.778, + 0.9, + 3.089, + 0.95, + 4.4, + 0.95, + 1, + 4.467, + 0.95, + 4.533, + 0.5, + 4.6, + 0.5, + 0, + 4.633, + 0.5 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmLB", + "Segments": [ + 0, + 0.3, + 1, + 0.311, + 0.3, + 0.622, + 0.3, + 0.933, + 0.3, + 1, + 1.178, + 0.3, + 1.422, + 0.5, + 1.667, + 0.5, + 1, + 1.844, + 0.5, + 2.022, + 0.3, + 2.2, + 0.3, + 1, + 3, + 0.3, + 3.8, + 0.3, + 4.6, + 0.3, + 0, + 4.633, + 0.3 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmRB", + "Segments": [ + 0, + 0.3, + 1, + 0.289, + 0.3, + 0.578, + 0.3, + 0.867, + 0.3, + 1, + 1.111, + 0.3, + 1.356, + 0.5, + 1.6, + 0.5, + 1, + 1.778, + 0.5, + 1.956, + 0.3, + 2.133, + 0.3, + 1, + 2.956, + 0.3, + 3.778, + 0.3, + 4.6, + 0.3, + 0, + 4.633, + 0.3 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandChangeR", + "Segments": [ + 0, + 0, + 1, + 1.533, + 0, + 3.067, + 0, + 4.6, + 0, + 0, + 4.633, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandAngleR", + "Segments": [ + 0, + 0.66, + 1, + 0.356, + 0.66, + 0.711, + 0.662, + 1.067, + 0.64, + 1, + 1.322, + 0.624, + 1.578, + 0.12, + 1.833, + 0.12, + 1, + 1.978, + 0.12, + 2.122, + 0.66, + 2.267, + 0.66, + 1, + 3.044, + 0.66, + 3.822, + 0.66, + 4.6, + 0.66, + 0, + 4.633, + 0.66 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandDhangeL", + "Segments": [ + 0, + 0, + 1, + 1.533, + 0, + 3.067, + 0, + 4.6, + 0, + 0, + 4.633, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandAngleL", + "Segments": [ + 0, + -1, + 1, + 0.322, + -1, + 0.644, + -1, + 0.967, + -1, + 1, + 1.233, + -1, + 1.5, + -0.68, + 1.767, + -0.68, + 1, + 1.933, + -0.68, + 2.1, + -1, + 2.267, + -1, + 1, + 3.044, + -1, + 3.822, + -1, + 4.6, + -1, + 0, + 4.633, + -1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHairFront", + "Segments": [ + 0, + 0, + 1, + 1.533, + 0, + 3.067, + 0, + 4.6, + 0, + 0, + 4.633, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHairSide", + "Segments": [ + 0, + 0, + 1, + 1.533, + 0, + 3.067, + 0, + 4.6, + 0, + 0, + 4.633, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHairBack", + "Segments": [ + 0, + 0, + 1, + 1.533, + 0, + 3.067, + 0, + 4.6, + 0, + 0, + 4.633, + 0 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Core", + "Segments": [ + 0, + 1, + 2, + 4.6, + 1, + 0, + 4.63, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Hoho001", + "Segments": [ + 0, + 1, + 2, + 4.6, + 1, + 0, + 4.63, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Brow001", + "Segments": [ + 0, + 1, + 2, + 4.6, + 1, + 0, + 4.63, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Tear", + "Segments": [ + 0, + 1, + 2, + 4.6, + 1, + 0, + 4.63, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01EyeBall001", + "Segments": [ + 0, + 1, + 2, + 4.6, + 1, + 0, + 4.63, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Eye001", + "Segments": [ + 0, + 1, + 2, + 4.6, + 1, + 0, + 4.63, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Nose001", + "Segments": [ + 0, + 1, + 2, + 4.6, + 1, + 0, + 4.63, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Mouth001", + "Segments": [ + 0, + 1, + 2, + 4.6, + 1, + 0, + 4.63, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Face001", + "Segments": [ + 0, + 1, + 2, + 4.6, + 1, + 0, + 4.63, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Ear001", + "Segments": [ + 0, + 1, + 2, + 4.6, + 1, + 0, + 4.63, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Neck001", + "Segments": [ + 0, + 1, + 2, + 4.6, + 1, + 0, + 4.63, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01HairFront001", + "Segments": [ + 0, + 1, + 2, + 4.6, + 1, + 0, + 4.63, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01HairSide001", + "Segments": [ + 0, + 1, + 2, + 4.6, + 1, + 0, + 4.63, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01HairBack001", + "Segments": [ + 0, + 1, + 2, + 4.6, + 1, + 0, + 4.63, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01ArmRB001", + "Segments": [ + 0, + 1, + 2, + 4.6, + 1, + 0, + 4.63, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01ArmLB001", + "Segments": [ + 0, + 1, + 2, + 4.6, + 1, + 0, + 4.63, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01ArmRA001", + "Segments": [ + 0, + 0, + 2, + 4.6, + 0, + 0, + 4.63, + 0 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01ArmLA001", + "Segments": [ + 0, + 0, + 2, + 4.6, + 0, + 0, + 4.63, + 0 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Body001", + "Segments": [ + 0, + 1, + 2, + 4.6, + 1, + 0, + 4.63, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Sketch", + "Segments": [ + 0, + 0, + 2, + 4.6, + 0, + 0, + 4.63, + 0 + ] + } + ] +} \ No newline at end of file diff --git a/staticfiles/haru_greeter_pro_jp/runtime/motion/haru_g_m04.motion3.json b/staticfiles/haru_greeter_pro_jp/runtime/motion/haru_g_m04.motion3.json new file mode 100644 index 0000000000000000000000000000000000000000..b5556013e54e71268f10dbcf4dbbe6b7457f51c7 --- /dev/null +++ b/staticfiles/haru_greeter_pro_jp/runtime/motion/haru_g_m04.motion3.json @@ -0,0 +1,2484 @@ +{ + "Version": 3, + "Meta": { + "Duration": 5.3, + "Fps": 30.0, + "Loop": true, + "AreBeziersRestricted": true, + "CurveCount": 63, + "TotalSegmentCount": 328, + "TotalPointCount": 881, + "UserDataCount": 0, + "TotalUserDataSize": 0 + }, + "Curves": [ + { + "Target": "Model", + "Id": "Opacity", + "Segments": [ + 0, + 1, + 1, + 1.76, + 1, + 3.51, + 1, + 5.27, + 1, + 0, + 5.3, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleX", + "Segments": [ + 0, + 0, + 1, + 0.1, + 0, + 0.2, + 0, + 0.3, + 0, + 1, + 0.611, + 0, + 0.922, + 0, + 1.233, + 0, + 1, + 1.289, + 0, + 1.344, + 0, + 1.4, + 0, + 1, + 1.8, + 0, + 2.2, + 0, + 2.6, + 0, + 1, + 2.711, + 0, + 2.822, + 0, + 2.933, + 0, + 1, + 3.044, + 0, + 3.156, + 0, + 3.267, + 0, + 1, + 3.367, + 0, + 3.467, + 0, + 3.567, + 0, + 1, + 3.633, + 0, + 3.7, + 0, + 3.767, + 0, + 1, + 3.889, + 0, + 4.011, + 0, + 4.133, + 0, + 1, + 4.322, + 0, + 4.511, + 0, + 4.7, + 0, + 1, + 4.889, + 0, + 5.078, + 0, + 5.267, + 0, + 0, + 5.3, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleY", + "Segments": [ + 0, + 0, + 1, + 0.1, + 0, + 0.2, + 0, + 0.3, + 0, + 1, + 0.611, + 0, + 0.922, + 0, + 1.233, + 0, + 1, + 1.289, + 0, + 1.344, + 0, + 1.4, + 0, + 1, + 1.822, + 0, + 2.244, + 0, + 2.667, + 0, + 1, + 2.778, + 0, + 2.889, + 13, + 3, + 13, + 1, + 3.111, + 13, + 3.222, + -9.823, + 3.333, + -9.823, + 1, + 3.411, + -9.823, + 3.489, + 8.938, + 3.567, + 8.938, + 1, + 3.678, + 8.938, + 3.789, + -5.187, + 3.9, + -5.187, + 1, + 4.044, + -5.187, + 4.189, + 3, + 4.333, + 3, + 1, + 4.556, + 3, + 4.778, + 0, + 5, + 0, + 1, + 5.089, + 0, + 5.178, + 0, + 5.267, + 0, + 0, + 5.3, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleZ", + "Segments": [ + 0, + 0, + 1, + 0.1, + 0, + 0.2, + 0, + 0.3, + 0, + 1, + 1.956, + 0, + 3.611, + 0, + 5.267, + 0, + 0, + 5.3, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamTere", + "Segments": [ + 0, + 0, + 1, + 0.1, + 0, + 0.2, + 0, + 0.3, + 0, + 1, + 1.811, + 0, + 3.322, + 0, + 4.833, + 0, + 1, + 4.978, + 0, + 5.122, + 0, + 5.267, + 0, + 0, + 5.3, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamFaceForm", + "Segments": [ + 0, + 0, + 1, + 0.1, + 0, + 0.2, + 0, + 0.3, + 0, + 1, + 1.789, + 0, + 3.278, + 0, + 4.767, + 0, + 1, + 4.933, + 0, + 5.1, + 0, + 5.267, + 0, + 0, + 5.3, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeLOpen", + "Segments": [ + 0, + 1, + 1, + 0.1, + 1, + 0.2, + 1, + 0.3, + 1, + 1, + 0.367, + 1, + 0.433, + 1, + 0.5, + 1, + 1, + 0.544, + 1, + 0.589, + 0, + 0.633, + 0, + 1, + 0.667, + 0, + 0.7, + 0, + 0.733, + 0, + 1, + 0.789, + 0, + 0.844, + 1.1, + 0.9, + 1.1, + 1, + 0.967, + 1.1, + 1.033, + 1, + 1.1, + 1, + 1, + 1.333, + 1, + 1.567, + 1, + 1.8, + 1, + 1, + 1.878, + 1, + 1.956, + 1.2, + 2.033, + 1.2, + 1, + 2.089, + 1.2, + 2.144, + 0, + 2.2, + 0, + 1, + 2.256, + 0, + 2.311, + 0, + 2.367, + 0, + 1, + 2.456, + 0, + 2.544, + 1, + 2.633, + 1, + 1, + 2.789, + 1, + 2.944, + 1, + 3.1, + 1, + 1, + 3.156, + 1, + 3.211, + 0, + 3.267, + 0, + 1, + 3.589, + 0, + 3.911, + 0, + 4.233, + 0, + 1, + 4.344, + 0, + 4.456, + 1, + 4.567, + 1, + 1, + 4.633, + 1, + 4.7, + 1, + 4.767, + 1, + 1, + 4.933, + 1, + 5.1, + 1, + 5.267, + 1, + 0, + 5.3, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeLSmile", + "Segments": [ + 0, + 0, + 1, + 0.1, + 0, + 0.2, + 0, + 0.3, + 0, + 1, + 1.789, + 0, + 3.278, + 0, + 4.767, + 0, + 1, + 4.933, + 0, + 5.1, + 0, + 5.267, + 0, + 0, + 5.3, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeROpen", + "Segments": [ + 0, + 1, + 1, + 0.1, + 1, + 0.2, + 1, + 0.3, + 1, + 1, + 0.367, + 1, + 0.433, + 1, + 0.5, + 1, + 1, + 0.544, + 1, + 0.589, + 0, + 0.633, + 0, + 1, + 0.667, + 0, + 0.7, + 0, + 0.733, + 0, + 1, + 0.789, + 0, + 0.844, + 1.1, + 0.9, + 1.1, + 1, + 0.967, + 1.1, + 1.033, + 1, + 1.1, + 1, + 1, + 1.333, + 1, + 1.567, + 1, + 1.8, + 1, + 1, + 1.878, + 1, + 1.956, + 1.2, + 2.033, + 1.2, + 1, + 2.089, + 1.2, + 2.144, + 0, + 2.2, + 0, + 1, + 2.256, + 0, + 2.311, + 0, + 2.367, + 0, + 1, + 2.456, + 0, + 2.544, + 1, + 2.633, + 1, + 1, + 2.789, + 1, + 2.944, + 1, + 3.1, + 1, + 1, + 3.156, + 1, + 3.211, + 0, + 3.267, + 0, + 1, + 3.589, + 0, + 3.911, + 0, + 4.233, + 0, + 1, + 4.344, + 0, + 4.456, + 1, + 4.567, + 1, + 1, + 4.633, + 1, + 4.7, + 1, + 4.767, + 1, + 1, + 4.933, + 1, + 5.1, + 1, + 5.267, + 1, + 0, + 5.3, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeRSmile", + "Segments": [ + 0, + 0, + 1, + 0.1, + 0, + 0.2, + 0, + 0.3, + 0, + 1, + 1.789, + 0, + 3.278, + 0, + 4.767, + 0, + 1, + 4.933, + 0, + 5.1, + 0, + 5.267, + 0, + 0, + 5.3, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeForm", + "Segments": [ + 0, + 0, + 1, + 0.1, + 0, + 0.2, + 0, + 0.3, + 0, + 1, + 1.811, + 0, + 3.322, + 0, + 4.833, + 0, + 1, + 4.978, + 0, + 5.122, + 0, + 5.267, + 0, + 0, + 5.3, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallForm", + "Segments": [ + 0, + 0, + 1, + 0.1, + 0, + 0.2, + 0, + 0.3, + 0, + 1, + 1.811, + 0, + 3.322, + 0, + 4.833, + 0, + 1, + 4.978, + 0, + 5.122, + 0, + 5.267, + 0, + 0, + 5.3, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamTear", + "Segments": [ + 0, + 0, + 1, + 0.1, + 0, + 0.2, + 0, + 0.3, + 0, + 1, + 1.811, + 0, + 3.322, + 0, + 4.833, + 0, + 1, + 4.978, + 0, + 5.122, + 0, + 5.267, + 0, + 0, + 5.3, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallX", + "Segments": [ + 0, + 0, + 1, + 0.1, + 0, + 0.2, + 0, + 0.3, + 0, + 1, + 0.5, + 0, + 0.7, + 0, + 0.9, + 0, + 1, + 1.133, + 0, + 1.367, + 0, + 1.6, + 0, + 1, + 1.744, + 0, + 1.889, + -0.1, + 2.033, + -0.1, + 1, + 2.144, + -0.1, + 2.256, + 0, + 2.367, + 0, + 1, + 2.456, + 0, + 2.544, + 0, + 2.633, + 0, + 1, + 3.344, + 0, + 4.056, + 0, + 4.767, + 0, + 1, + 4.933, + 0, + 5.1, + 0, + 5.267, + 0, + 0, + 5.3, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallY", + "Segments": [ + 0, + 0, + 1, + 0.1, + 0, + 0.2, + 0, + 0.3, + 0, + 1, + 0.5, + 0, + 0.7, + 0, + 0.9, + 0, + 1, + 1.133, + 0, + 1.367, + 0, + 1.6, + 0, + 1, + 1.667, + 0, + 1.733, + -0.085, + 1.8, + -0.2, + 1, + 1.878, + -0.334, + 1.956, + -0.38, + 2.033, + -0.38, + 1, + 2.089, + -0.38, + 2.144, + -0.384, + 2.2, + -0.3, + 1, + 2.256, + -0.216, + 2.311, + 0, + 2.367, + 0, + 1, + 2.456, + 0, + 2.544, + 0, + 2.633, + 0, + 1, + 3.167, + 0, + 3.7, + -0.1, + 4.233, + -0.1, + 1, + 4.344, + -0.1, + 4.456, + 0, + 4.567, + 0, + 1, + 4.633, + 0, + 4.7, + 0, + 4.767, + 0, + 1, + 4.933, + 0, + 5.1, + 0, + 5.267, + 0, + 0, + 5.3, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLY", + "Segments": [ + 0, + 0, + 1, + 0.1, + 0, + 0.2, + 0, + 0.3, + 0, + 1, + 0.367, + 0, + 0.433, + 0, + 0.5, + 0, + 1, + 0.556, + 0, + 0.611, + -0.1, + 0.667, + -0.1, + 1, + 0.689, + -0.1, + 0.711, + -0.1, + 0.733, + -0.1, + 1, + 0.789, + -0.1, + 0.844, + 0.1, + 0.9, + 0.1, + 1, + 0.967, + 0.1, + 1.033, + 0, + 1.1, + 0, + 1, + 1.411, + 0, + 1.722, + 0.5, + 2.033, + 0.5, + 1, + 2.089, + 0.5, + 2.144, + -0.3, + 2.2, + -0.3, + 1, + 2.256, + -0.3, + 2.311, + -0.3, + 2.367, + -0.3, + 1, + 2.456, + -0.3, + 2.544, + -0.215, + 2.633, + -0.2, + 1, + 3.511, + -0.056, + 4.389, + 0, + 5.267, + 0, + 0, + 5.3, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRY", + "Segments": [ + 0, + 0, + 1, + 0.1, + 0, + 0.2, + 0, + 0.3, + 0, + 1, + 0.367, + 0, + 0.433, + 0, + 0.5, + 0, + 1, + 0.556, + 0, + 0.611, + -0.1, + 0.667, + -0.1, + 1, + 0.689, + -0.1, + 0.711, + -0.1, + 0.733, + -0.1, + 1, + 0.789, + -0.1, + 0.844, + 0.1, + 0.9, + 0.1, + 1, + 0.967, + 0.1, + 1.033, + 0, + 1.1, + 0, + 1, + 1.411, + 0, + 1.722, + 0.5, + 2.033, + 0.5, + 1, + 2.089, + 0.5, + 2.144, + -0.3, + 2.2, + -0.3, + 1, + 2.256, + -0.3, + 2.311, + -0.3, + 2.367, + -0.3, + 1, + 2.456, + -0.3, + 2.544, + -0.215, + 2.633, + -0.2, + 1, + 3.511, + -0.056, + 4.389, + 0, + 5.267, + 0, + 0, + 5.3, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLX", + "Segments": [ + 0, + 0, + 1, + 0.1, + 0, + 0.2, + 0, + 0.3, + 0, + 1, + 0.567, + 0, + 0.833, + 0, + 1.1, + 0, + 1, + 1.411, + 0, + 1.722, + 0.2, + 2.033, + 0.2, + 1, + 2.233, + 0.2, + 2.433, + -0.3, + 2.633, + -0.3, + 1, + 3.511, + -0.3, + 4.389, + 0, + 5.267, + 0, + 0, + 5.3, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRX", + "Segments": [ + 0, + 0, + 1, + 0.1, + 0, + 0.2, + 0, + 0.3, + 0, + 1, + 0.567, + 0, + 0.833, + 0, + 1.1, + 0, + 1, + 1.411, + 0, + 1.722, + 0.2, + 2.033, + 0.2, + 1, + 2.233, + 0.2, + 2.433, + -0.3, + 2.633, + -0.3, + 1, + 3.511, + -0.3, + 4.389, + 0, + 5.267, + 0, + 0, + 5.3, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLAngle", + "Segments": [ + 0, + 0, + 1, + 0.1, + 0, + 0.2, + 0, + 0.3, + 0, + 1, + 0.567, + 0, + 0.833, + -0.4, + 1.1, + -0.4, + 1, + 1.411, + -0.4, + 1.722, + 0.1, + 2.033, + 0.1, + 1, + 2.233, + 0.1, + 2.433, + -0.4, + 2.633, + -0.4, + 1, + 3.511, + -0.4, + 4.389, + 0, + 5.267, + 0, + 0, + 5.3, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRAngle", + "Segments": [ + 0, + 0, + 1, + 0.1, + 0, + 0.2, + 0, + 0.3, + 0, + 1, + 0.567, + 0, + 0.833, + -0.4, + 1.1, + -0.4, + 1, + 1.411, + -0.4, + 1.722, + 0.1, + 2.033, + 0.1, + 1, + 2.233, + 0.1, + 2.433, + -0.4, + 2.633, + -0.4, + 1, + 3.511, + -0.4, + 4.389, + 0, + 5.267, + 0, + 0, + 5.3, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLForm", + "Segments": [ + 0, + 0, + 1, + 0.1, + 0, + 0.2, + 0, + 0.3, + 0, + 1, + 0.567, + 0, + 0.833, + -0.35, + 1.1, + -0.35, + 1, + 1.411, + -0.35, + 1.722, + 0, + 2.033, + 0, + 1, + 2.233, + 0, + 2.433, + -0.4, + 2.633, + -0.4, + 1, + 3.511, + -0.4, + 4.389, + 0, + 5.267, + 0, + 0, + 5.3, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRForm", + "Segments": [ + 0, + 0, + 1, + 0.1, + 0, + 0.2, + 0, + 0.3, + 0, + 1, + 0.567, + 0, + 0.833, + -0.35, + 1.1, + -0.35, + 1, + 1.411, + -0.35, + 1.722, + 0, + 2.033, + 0, + 1, + 2.233, + 0, + 2.433, + -0.4, + 2.633, + -0.4, + 1, + 3.511, + -0.4, + 4.389, + 0, + 5.267, + 0, + 0, + 5.3, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamMouthForm", + "Segments": [ + 0, + 0, + 1, + 0.156, + 0, + 0.311, + 0, + 0.467, + 0, + 1, + 0.522, + 0, + 0.578, + -1, + 0.633, + -1, + 1, + 0.933, + -1, + 1.233, + -1, + 1.533, + -1, + 1, + 2.422, + -1, + 3.311, + -1, + 4.2, + -1, + 1, + 4.411, + -1, + 4.622, + -1, + 4.833, + -1, + 1, + 4.978, + -1, + 5.122, + 0, + 5.267, + 0, + 0, + 5.3, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamMouthOpenY", + "Segments": [ + 0, + 0, + 1, + 0.156, + 0, + 0.311, + 0, + 0.467, + 0, + 1, + 0.767, + 0, + 1.067, + 0, + 1.367, + 0, + 1, + 1.5, + 0, + 1.633, + 0.6, + 1.767, + 0.6, + 1, + 1.844, + 0.6, + 1.922, + 0.608, + 2, + 0.5, + 1, + 2.067, + 0.408, + 2.133, + 0, + 2.2, + 0, + 1, + 2.344, + 0, + 2.489, + 0, + 2.633, + 0, + 1, + 3.367, + 0, + 4.1, + 0, + 4.833, + 0, + 1, + 4.978, + 0, + 5.122, + 0, + 5.267, + 0, + 0, + 5.3, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamScarf", + "Segments": [ + 0, + 0, + 1, + 0.1, + 0, + 0.2, + 0, + 0.3, + 0, + 1, + 1.811, + 0, + 3.322, + 0, + 4.833, + 0, + 1, + 4.978, + 0, + 5.122, + 0, + 5.267, + 0, + 0, + 5.3, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleX", + "Segments": [ + 0, + 0, + 1, + 0.1, + 0, + 0.2, + 0, + 0.3, + 0, + 1, + 0.622, + 0, + 0.944, + 0, + 1.267, + 0, + 1, + 1.5, + 0, + 1.733, + 2, + 1.967, + 2, + 1, + 2.133, + 2, + 2.3, + 0, + 2.467, + 0, + 1, + 2.778, + 0, + 3.089, + 0, + 3.4, + 0, + 1, + 3.878, + 0, + 4.356, + 0, + 4.833, + 0, + 1, + 4.978, + 0, + 5.122, + 0, + 5.267, + 0, + 0, + 5.3, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleY", + "Segments": [ + 0, + 0, + 1, + 0.1, + 0, + 0.2, + 0, + 0.3, + 0, + 1, + 0.6, + 0, + 0.9, + 0, + 1.2, + 0, + 1, + 1.433, + 0, + 1.667, + 3, + 1.9, + 3, + 1, + 2.067, + 3, + 2.233, + 0, + 2.4, + 0, + 1, + 2.511, + 0, + 2.622, + 0, + 2.733, + 0, + 1, + 2.844, + 0, + 2.956, + 4, + 3.067, + 4, + 1, + 3.156, + 4, + 3.244, + -1, + 3.333, + -1, + 1, + 3.422, + -1, + 3.511, + 0.817, + 3.6, + 0.817, + 1, + 3.7, + 0.817, + 3.8, + 0, + 3.9, + 0, + 1, + 4.211, + 0, + 4.522, + 0, + 4.833, + 0, + 1, + 4.978, + 0, + 5.122, + 0, + 5.267, + 0, + 0, + 5.3, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleZ", + "Segments": [ + 0, + 0, + 1, + 0.1, + 0, + 0.2, + 0, + 0.3, + 0, + 1, + 0.567, + 0, + 0.833, + -5, + 1.1, + -5, + 1, + 1.333, + -5, + 1.567, + 0, + 1.8, + 0, + 1, + 2.011, + 0, + 2.222, + 0, + 2.433, + 0, + 1, + 3.233, + 0, + 4.033, + 0, + 4.833, + 0, + 1, + 4.978, + 0, + 5.122, + 0, + 5.267, + 0, + 0, + 5.3, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyUpper", + "Segments": [ + 0, + 0, + 1, + 0.1, + 0, + 0.2, + 0, + 0.3, + 0, + 1, + 1.956, + 0, + 3.611, + 0, + 5.267, + 0, + 0, + 5.3, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBreath", + "Segments": [ + 0, + 0, + 1, + 0.1, + 0, + 0.2, + 0, + 0.3, + 0, + 1, + 1.811, + 0, + 3.322, + 0, + 4.833, + 0, + 1, + 4.978, + 0, + 5.122, + 0, + 5.267, + 0, + 0, + 5.3, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBustY", + "Segments": [ + 0, + 0, + 1, + 0.1, + 0, + 0.2, + 0, + 0.3, + 0, + 1, + 1.811, + 0, + 3.322, + 0, + 4.833, + 0, + 1, + 4.978, + 0, + 5.122, + 0, + 5.267, + 0, + 0, + 5.3, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmLA", + "Segments": [ + 0, + 0.5, + 1, + 0.1, + 0.5, + 0.2, + 0.5, + 0.3, + 0.5, + 1, + 0.422, + 0.5, + 0.544, + 0.752, + 0.667, + 0.76, + 1, + 2.056, + 0.854, + 3.444, + 0.89, + 4.833, + 0.89, + 1, + 4.978, + 0.89, + 5.122, + 0.5, + 5.267, + 0.5, + 0, + 5.3, + 0.5 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmRA", + "Segments": [ + 0, + 0.5, + 1, + 0.1, + 0.5, + 0.2, + 0.5, + 0.3, + 0.5, + 1, + 0.422, + 0.5, + 0.544, + 0.748, + 0.667, + 0.76, + 1, + 2.056, + 0.897, + 3.444, + 0.95, + 4.833, + 0.95, + 1, + 4.978, + 0.95, + 5.122, + 0.5, + 5.267, + 0.5, + 0, + 5.3, + 0.5 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmLB", + "Segments": [ + 0, + 0.2, + 1, + 0.1, + 0.2, + 0.2, + 0.2, + 0.3, + 0.2, + 1, + 0.578, + 0.2, + 0.856, + 0.21, + 1.133, + 0.3, + 1, + 1.378, + 0.38, + 1.622, + 0.5, + 1.867, + 0.5, + 1, + 2.122, + 0.5, + 2.378, + 0.2, + 2.633, + 0.2, + 1, + 3.511, + 0.2, + 4.389, + 0.2, + 5.267, + 0.2, + 0, + 5.3, + 0.2 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmRB", + "Segments": [ + 0, + 0.2, + 1, + 0.1, + 0.2, + 0.2, + 0.2, + 0.3, + 0.2, + 1, + 0.556, + 0.2, + 0.811, + 0.211, + 1.067, + 0.3, + 1, + 1.311, + 0.386, + 1.556, + 0.5, + 1.8, + 0.5, + 1, + 2.056, + 0.5, + 2.311, + 0.2, + 2.567, + 0.2, + 1, + 3.467, + 0.2, + 4.367, + 0.2, + 5.267, + 0.2, + 0, + 5.3, + 0.2 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandChangeR", + "Segments": [ + 0, + 0, + 1, + 0.1, + 0, + 0.2, + 0, + 0.3, + 0, + 1, + 1.811, + 0, + 3.322, + 0, + 4.833, + 0, + 1, + 4.978, + 0, + 5.122, + 0, + 5.267, + 0, + 0, + 5.3, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandAngleR", + "Segments": [ + 0, + 0.66, + 1, + 0.1, + 0.66, + 0.2, + 0.66, + 0.3, + 0.66, + 1, + 0.622, + 0.66, + 0.944, + 0.663, + 1.267, + 0.64, + 1, + 1.522, + 0.621, + 1.778, + 0.12, + 2.033, + 0.12, + 1, + 2.178, + 0.12, + 2.322, + 0.66, + 2.467, + 0.66, + 1, + 3.256, + 0.66, + 4.044, + 0.66, + 4.833, + 0.66, + 1, + 4.978, + 0.66, + 5.122, + 0.66, + 5.267, + 0.66, + 0, + 5.3, + 0.66 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandDhangeL", + "Segments": [ + 0, + 0, + 1, + 1.611, + 0, + 3.222, + 0, + 4.833, + 0, + 1, + 4.978, + 0, + 5.122, + 0, + 5.267, + 0, + 0, + 5.3, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandAngleL", + "Segments": [ + 0, + -1, + 1, + 0.1, + -1, + 0.2, + -1, + 0.3, + -1, + 1, + 0.589, + -1, + 0.878, + -1, + 1.167, + -1, + 1, + 1.433, + -1, + 1.7, + -0.68, + 1.967, + -0.68, + 1, + 2.133, + -0.68, + 2.3, + -1, + 2.467, + -1, + 1, + 3.256, + -1, + 4.044, + -1, + 4.833, + -1, + 1, + 4.978, + -1, + 5.122, + -1, + 5.267, + -1, + 0, + 5.3, + -1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHairFront", + "Segments": [ + 0, + 0, + 1, + 0.1, + 0, + 0.2, + 0, + 0.3, + 0, + 1, + 1.811, + 0, + 3.322, + 0, + 4.833, + 0, + 1, + 4.978, + 0, + 5.122, + 0, + 5.267, + 0, + 0, + 5.3, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHairSide", + "Segments": [ + 0, + 0, + 1, + 0.1, + 0, + 0.2, + 0, + 0.3, + 0, + 1, + 1.811, + 0, + 3.322, + 0, + 4.833, + 0, + 1, + 4.978, + 0, + 5.122, + 0, + 5.267, + 0, + 0, + 5.3, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHairBack", + "Segments": [ + 0, + 0, + 1, + 0.1, + 0, + 0.2, + 0, + 0.3, + 0, + 1, + 1.811, + 0, + 3.322, + 0, + 4.833, + 0, + 1, + 4.978, + 0, + 5.122, + 0, + 5.267, + 0, + 0, + 5.3, + 0 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Core", + "Segments": [ + 0, + 1, + 2, + 5.27, + 1, + 0, + 5.3, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Hoho001", + "Segments": [ + 0, + 1, + 2, + 5.27, + 1, + 0, + 5.3, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Brow001", + "Segments": [ + 0, + 1, + 2, + 5.27, + 1, + 0, + 5.3, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Tear", + "Segments": [ + 0, + 1, + 2, + 5.27, + 1, + 0, + 5.3, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01EyeBall001", + "Segments": [ + 0, + 1, + 2, + 5.27, + 1, + 0, + 5.3, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Eye001", + "Segments": [ + 0, + 1, + 2, + 5.27, + 1, + 0, + 5.3, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Nose001", + "Segments": [ + 0, + 1, + 2, + 5.27, + 1, + 0, + 5.3, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Mouth001", + "Segments": [ + 0, + 1, + 2, + 5.27, + 1, + 0, + 5.3, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Face001", + "Segments": [ + 0, + 1, + 2, + 5.27, + 1, + 0, + 5.3, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Ear001", + "Segments": [ + 0, + 1, + 2, + 5.27, + 1, + 0, + 5.3, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Neck001", + "Segments": [ + 0, + 1, + 2, + 5.27, + 1, + 0, + 5.3, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01HairFront001", + "Segments": [ + 0, + 1, + 2, + 5.27, + 1, + 0, + 5.3, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01HairSide001", + "Segments": [ + 0, + 1, + 2, + 5.27, + 1, + 0, + 5.3, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01HairBack001", + "Segments": [ + 0, + 1, + 2, + 5.27, + 1, + 0, + 5.3, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01ArmRB001", + "Segments": [ + 0, + 1, + 2, + 5.27, + 1, + 0, + 5.3, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01ArmLB001", + "Segments": [ + 0, + 1, + 2, + 5.27, + 1, + 0, + 5.3, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01ArmRA001", + "Segments": [ + 0, + 0, + 2, + 5.27, + 0, + 0, + 5.3, + 0 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01ArmLA001", + "Segments": [ + 0, + 0, + 2, + 5.27, + 0, + 0, + 5.3, + 0 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Body001", + "Segments": [ + 0, + 1, + 2, + 5.27, + 1, + 0, + 5.3, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Sketch", + "Segments": [ + 0, + 0, + 2, + 5.27, + 0, + 0, + 5.3, + 0 + ] + } + ] +} \ No newline at end of file diff --git a/staticfiles/haru_greeter_pro_jp/runtime/motion/haru_g_m05.motion3.json b/staticfiles/haru_greeter_pro_jp/runtime/motion/haru_g_m05.motion3.json new file mode 100644 index 0000000000000000000000000000000000000000..fffb9fc1eca46b1755330ebcde96fb706d448ab8 --- /dev/null +++ b/staticfiles/haru_greeter_pro_jp/runtime/motion/haru_g_m05.motion3.json @@ -0,0 +1,1441 @@ +{ + "Version": 3, + "Meta": { + "Duration": 2.03, + "Fps": 30.0, + "Loop": true, + "AreBeziersRestricted": true, + "CurveCount": 63, + "TotalSegmentCount": 179, + "TotalPointCount": 434, + "UserDataCount": 0, + "TotalUserDataSize": 0 + }, + "Curves": [ + { + "Target": "Model", + "Id": "Opacity", + "Segments": [ + 0, + 1, + 1, + 0.67, + 1, + 1.33, + 1, + 2, + 1, + 0, + 2.03, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleX", + "Segments": [ + 0, + 0, + 1, + 0.122, + 0, + 0.244, + 0, + 0.367, + 0, + 1, + 0.489, + 0, + 0.611, + 0, + 0.733, + 0, + 1, + 0.833, + 0, + 0.933, + 0, + 1.033, + 0, + 1, + 1.222, + 0, + 1.411, + 0, + 1.6, + 0, + 1, + 1.733, + 0, + 1.867, + 0, + 2, + 0, + 0, + 2.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleY", + "Segments": [ + 0, + 0, + 1, + 0.1, + 0, + 0.2, + -5.165, + 0.3, + -9, + 1, + 0.333, + -10.278, + 0.367, + -10, + 0.4, + -10, + 1, + 0.489, + -10, + 0.578, + 13, + 0.667, + 13, + 1, + 0.767, + 13, + 0.867, + -9, + 0.967, + -9, + 1, + 1.156, + -9, + 1.344, + 0, + 1.533, + 0, + 1, + 1.689, + 0, + 1.844, + 0, + 2, + 0, + 0, + 2.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleZ", + "Segments": [ + 0, + 0, + 1, + 0.667, + 0, + 1.333, + 0, + 2, + 0, + 0, + 2.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamTere", + "Segments": [ + 0, + 0, + 1, + 0.667, + 0, + 1.333, + 0, + 2, + 0, + 0, + 2.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamFaceForm", + "Segments": [ + 0, + 0, + 1, + 0.667, + 0, + 1.333, + 0, + 2, + 0, + 0, + 2.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeLOpen", + "Segments": [ + 0, + 2, + 1, + 0.233, + 2, + 0.467, + 2, + 0.7, + 2, + 1, + 0.756, + 2, + 0.811, + 0, + 0.867, + 0, + 1, + 0.967, + 0, + 1.067, + 0, + 1.167, + 0, + 1, + 1.244, + 0, + 1.322, + 2, + 1.4, + 2, + 1, + 1.6, + 2, + 1.8, + 2, + 2, + 2, + 0, + 2.033, + 2 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeLSmile", + "Segments": [ + 0, + 0, + 1, + 0.667, + 0, + 1.333, + 0, + 2, + 0, + 0, + 2.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeROpen", + "Segments": [ + 0, + 2, + 1, + 0.233, + 2, + 0.467, + 2, + 0.7, + 2, + 1, + 0.756, + 2, + 0.811, + 0, + 0.867, + 0, + 1, + 0.967, + 0, + 1.067, + 0, + 1.167, + 0, + 1, + 1.244, + 0, + 1.322, + 2, + 1.4, + 2, + 1, + 1.6, + 2, + 1.8, + 2, + 2, + 2, + 0, + 2.033, + 2 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeRSmile", + "Segments": [ + 0, + 0, + 1, + 0.667, + 0, + 1.333, + 0, + 2, + 0, + 0, + 2.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeForm", + "Segments": [ + 0, + 0, + 1, + 0.667, + 0, + 1.333, + 0, + 2, + 0, + 0, + 2.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallForm", + "Segments": [ + 0, + 0, + 1, + 0.667, + 0, + 1.333, + 0, + 2, + 0, + 0, + 2.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamTear", + "Segments": [ + 0, + 0, + 1, + 0.667, + 0, + 1.333, + 0, + 2, + 0, + 0, + 2.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallX", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 1, + 0.422, + 0, + 0.511, + 0, + 0.6, + 0, + 1, + 0.633, + 0, + 0.667, + 0, + 0.7, + 0, + 1, + 1.133, + 0, + 1.567, + 0, + 2, + 0, + 0, + 2.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallY", + "Segments": [ + 0, + 0.3, + 1, + 0.111, + 0.3, + 0.222, + 0.3, + 0.333, + 0.3, + 1, + 0.422, + 0.3, + 0.511, + 0.3, + 0.6, + 0.3, + 1, + 0.633, + 0.3, + 0.667, + 0.3, + 0.7, + 0.3, + 1, + 0.756, + 0.3, + 0.811, + -0.2, + 0.867, + -0.2, + 1, + 0.967, + -0.2, + 1.067, + -0.2, + 1.167, + -0.2, + 1, + 1.244, + -0.2, + 1.322, + 0.3, + 1.4, + 0.3, + 1, + 1.6, + 0.3, + 1.8, + 0.3, + 2, + 0.3, + 0, + 2.033, + 0.3 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLY", + "Segments": [ + 0, + 1, + 1, + 0.233, + 1, + 0.467, + 1, + 0.7, + 1, + 1, + 0.756, + 1, + 0.811, + 0.7, + 0.867, + 0.7, + 1, + 0.967, + 0.7, + 1.067, + 0.7, + 1.167, + 0.7, + 1, + 1.244, + 0.7, + 1.322, + 1, + 1.4, + 1, + 1, + 1.6, + 1, + 1.8, + 1, + 2, + 1, + 0, + 2.033, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRY", + "Segments": [ + 0, + 1, + 1, + 0.233, + 1, + 0.467, + 1, + 0.7, + 1, + 1, + 0.756, + 1, + 0.811, + 0.7, + 0.867, + 0.7, + 1, + 0.967, + 0.7, + 1.067, + 0.7, + 1.167, + 0.7, + 1, + 1.244, + 0.7, + 1.322, + 1, + 1.4, + 1, + 1, + 1.6, + 1, + 1.8, + 1, + 2, + 1, + 0, + 2.033, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLX", + "Segments": [ + 0, + 0, + 1, + 0.667, + 0, + 1.333, + 0, + 2, + 0, + 0, + 2.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRX", + "Segments": [ + 0, + 0, + 1, + 0.667, + 0, + 1.333, + 0, + 2, + 0, + 0, + 2.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLAngle", + "Segments": [ + 0, + 0, + 1, + 0.667, + 0, + 1.333, + 0, + 2, + 0, + 0, + 2.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRAngle", + "Segments": [ + 0, + 0, + 1, + 0.667, + 0, + 1.333, + 0, + 2, + 0, + 0, + 2.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLForm", + "Segments": [ + 0, + 0, + 1, + 0.667, + 0, + 1.333, + 0, + 2, + 0, + 0, + 2.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRForm", + "Segments": [ + 0, + 0, + 1, + 0.667, + 0, + 1.333, + 0, + 2, + 0, + 0, + 2.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamMouthForm", + "Segments": [ + 0, + -0.84, + 1, + 0.667, + -0.84, + 1.333, + -0.84, + 2, + -0.84, + 0, + 2.033, + -0.84 + ] + }, + { + "Target": "Parameter", + "Id": "ParamMouthOpenY", + "Segments": [ + 0, + 0, + 1, + 0.667, + 0, + 1.333, + 0, + 2, + 0, + 0, + 2.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamScarf", + "Segments": [ + 0, + 0, + 1, + 0.667, + 0, + 1.333, + 0, + 2, + 0, + 0, + 2.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleX", + "Segments": [ + 0, + 0, + 1, + 0.667, + 0, + 1.333, + 0, + 2, + 0, + 0, + 2.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleY", + "Segments": [ + 0, + 0, + 1, + 0.133, + 0, + 0.267, + -2, + 0.4, + -2, + 1, + 0.533, + -2, + 0.667, + 2, + 0.8, + 2, + 1, + 0.911, + 2, + 1.022, + 0, + 1.133, + 0, + 1, + 1.422, + 0, + 1.711, + 0, + 2, + 0, + 0, + 2.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleZ", + "Segments": [ + 0, + 0, + 1, + 0.667, + 0, + 1.333, + 0, + 2, + 0, + 0, + 2.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyUpper", + "Segments": [ + 0, + 0, + 1, + 0.667, + 0, + 1.333, + 0, + 2, + 0, + 0, + 2.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBreath", + "Segments": [ + 0, + 0, + 1, + 0.667, + 0, + 1.333, + 0, + 2, + 0, + 0, + 2.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBustY", + "Segments": [ + 0, + 0, + 1, + 0.667, + 0, + 1.333, + 0, + 2, + 0, + 0, + 2.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmLA", + "Segments": [ + 0, + -0.16, + 1, + 0.189, + -0.16, + 0.378, + -0.16, + 0.567, + -0.16, + 1, + 0.678, + -0.16, + 0.789, + -0.026, + 0.9, + -0.026, + 1, + 1, + -0.026, + 1.1, + -0.182, + 1.2, + -0.182, + 1, + 1.322, + -0.182, + 1.444, + -0.16, + 1.567, + -0.16, + 1, + 1.711, + -0.16, + 1.856, + -0.16, + 2, + -0.16, + 0, + 2.033, + -0.16 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmRA", + "Segments": [ + 0, + -0.15, + 1, + 0.189, + -0.15, + 0.378, + -0.15, + 0.567, + -0.15, + 1, + 0.678, + -0.15, + 0.789, + -0.025, + 0.9, + -0.025, + 1, + 1, + -0.025, + 1.1, + -0.181, + 1.2, + -0.181, + 1, + 1.322, + -0.181, + 1.444, + -0.15, + 1.567, + -0.15, + 1, + 1.711, + -0.15, + 1.856, + -0.15, + 2, + -0.15, + 0, + 2.033, + -0.15 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmLB", + "Segments": [ + 0, + 0, + 1, + 0.667, + 0, + 1.333, + 0, + 2, + 0, + 0, + 2.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmRB", + "Segments": [ + 0, + 0, + 1, + 0.667, + 0, + 1.333, + 0, + 2, + 0, + 0, + 2.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandChangeR", + "Segments": [ + 0, + 0, + 1, + 0.667, + 0, + 1.333, + 0, + 2, + 0, + 0, + 2.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandAngleR", + "Segments": [ + 0, + 0, + 1, + 0.189, + 0, + 0.378, + 0, + 0.567, + 0, + 1, + 0.644, + 0, + 0.722, + 0.614, + 0.8, + 0.614, + 1, + 0.889, + 0.614, + 0.978, + -0.1, + 1.067, + -0.1, + 1, + 1.178, + -0.1, + 1.289, + 0, + 1.4, + 0, + 1, + 1.6, + 0, + 1.8, + 0, + 2, + 0, + 0, + 2.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandDhangeL", + "Segments": [ + 0, + 0, + 1, + 0.667, + 0, + 1.333, + 0, + 2, + 0, + 0, + 2.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandAngleL", + "Segments": [ + 0, + 0, + 1, + 0.189, + 0, + 0.378, + 0, + 0.567, + 0, + 1, + 0.644, + 0, + 0.722, + -0.6, + 0.8, + -0.6, + 1, + 0.889, + -0.6, + 0.978, + 0.1, + 1.067, + 0.1, + 1, + 1.178, + 0.1, + 1.289, + 0, + 1.4, + 0, + 1, + 1.6, + 0, + 1.8, + 0, + 2, + 0, + 0, + 2.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHairFront", + "Segments": [ + 0, + 0, + 1, + 0.667, + 0, + 1.333, + 0, + 2, + 0, + 0, + 2.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHairSide", + "Segments": [ + 0, + 0, + 1, + 0.667, + 0, + 1.333, + 0, + 2, + 0, + 0, + 2.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHairBack", + "Segments": [ + 0, + 0, + 1, + 0.667, + 0, + 1.333, + 0, + 2, + 0, + 0, + 2.033, + 0 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Core", + "Segments": [ + 0, + 1, + 2, + 2, + 1, + 0, + 2.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Hoho001", + "Segments": [ + 0, + 1, + 2, + 2, + 1, + 0, + 2.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Brow001", + "Segments": [ + 0, + 1, + 2, + 2, + 1, + 0, + 2.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Tear", + "Segments": [ + 0, + 1, + 2, + 2, + 1, + 0, + 2.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01EyeBall001", + "Segments": [ + 0, + 1, + 2, + 2, + 1, + 0, + 2.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Eye001", + "Segments": [ + 0, + 1, + 2, + 2, + 1, + 0, + 2.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Nose001", + "Segments": [ + 0, + 1, + 2, + 2, + 1, + 0, + 2.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Mouth001", + "Segments": [ + 0, + 1, + 2, + 2, + 1, + 0, + 2.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Face001", + "Segments": [ + 0, + 1, + 2, + 2, + 1, + 0, + 2.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Ear001", + "Segments": [ + 0, + 1, + 2, + 2, + 1, + 0, + 2.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Neck001", + "Segments": [ + 0, + 1, + 2, + 2, + 1, + 0, + 2.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01HairFront001", + "Segments": [ + 0, + 1, + 2, + 2, + 1, + 0, + 2.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01HairSide001", + "Segments": [ + 0, + 1, + 2, + 2, + 1, + 0, + 2.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01HairBack001", + "Segments": [ + 0, + 1, + 2, + 2, + 1, + 0, + 2.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01ArmRB001", + "Segments": [ + 0, + 0, + 2, + 2, + 0, + 0, + 2.03, + 0 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01ArmLB001", + "Segments": [ + 0, + 0, + 2, + 2, + 0, + 0, + 2.03, + 0 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01ArmRA001", + "Segments": [ + 0, + 1, + 2, + 2, + 1, + 0, + 2.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01ArmLA001", + "Segments": [ + 0, + 1, + 2, + 2, + 1, + 0, + 2.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Body001", + "Segments": [ + 0, + 1, + 2, + 2, + 1, + 0, + 2.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Sketch", + "Segments": [ + 0, + 0, + 2, + 2, + 0, + 0, + 2.03, + 0 + ] + } + ] +} \ No newline at end of file diff --git a/staticfiles/haru_greeter_pro_jp/runtime/motion/haru_g_m06.motion3.json b/staticfiles/haru_greeter_pro_jp/runtime/motion/haru_g_m06.motion3.json new file mode 100644 index 0000000000000000000000000000000000000000..b03be909a778b2fc8f976ab0f197b9cad6eff078 --- /dev/null +++ b/staticfiles/haru_greeter_pro_jp/runtime/motion/haru_g_m06.motion3.json @@ -0,0 +1,1539 @@ +{ + "Version": 3, + "Meta": { + "Duration": 4.53, + "Fps": 30.0, + "Loop": true, + "AreBeziersRestricted": true, + "CurveCount": 63, + "TotalSegmentCount": 193, + "TotalPointCount": 476, + "UserDataCount": 0, + "TotalUserDataSize": 0 + }, + "Curves": [ + { + "Target": "Model", + "Id": "Opacity", + "Segments": [ + 0, + 1, + 1, + 1.5, + 1, + 3, + 1, + 4.5, + 1, + 0, + 4.53, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleX", + "Segments": [ + 0, + 0, + 1, + 0.467, + 0, + 0.933, + -14, + 1.4, + -14, + 1, + 1.567, + -14, + 1.733, + -14, + 1.9, + -14, + 1, + 2.367, + -14, + 2.833, + 0, + 3.3, + 0, + 1, + 3.7, + 0, + 4.1, + 0, + 4.5, + 0, + 0, + 4.533, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleY", + "Segments": [ + 0, + 0, + 1, + 0.244, + 0, + 0.489, + 0, + 0.733, + 0, + 1, + 0.9, + 0, + 1.067, + -13, + 1.233, + -13, + 1, + 1.422, + -13, + 1.611, + 5, + 1.8, + 5, + 1, + 2.267, + 5, + 2.733, + 0, + 3.2, + 0, + 1, + 3.633, + 0, + 4.067, + 0, + 4.5, + 0, + 0, + 4.533, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleZ", + "Segments": [ + 0, + 0, + 1, + 0.367, + 0, + 0.733, + -18, + 1.1, + -18, + 1, + 1.4, + -18, + 1.7, + -18, + 2, + -18, + 1, + 2.3, + -18, + 2.6, + 18, + 2.9, + 18, + 1, + 3.133, + 18, + 3.367, + -30, + 3.6, + -30, + 1, + 3.9, + -30, + 4.2, + -21, + 4.5, + -21, + 0, + 4.533, + -21 + ] + }, + { + "Target": "Parameter", + "Id": "ParamTere", + "Segments": [ + 0, + 0, + 1, + 1.5, + 0, + 3, + 0, + 4.5, + 0, + 0, + 4.533, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamFaceForm", + "Segments": [ + 0, + 0, + 1, + 1.311, + 0, + 2.622, + 0, + 3.933, + 0, + 1, + 4.122, + 0, + 4.311, + 0, + 4.5, + 0, + 0, + 4.533, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeLOpen", + "Segments": [ + 0, + 1, + 1, + 0.344, + 1, + 0.689, + 1, + 1.033, + 1, + 1, + 1.078, + 1, + 1.122, + 0, + 1.167, + 0, + 1, + 1.222, + 0, + 1.278, + 0, + 1.333, + 0, + 1, + 1.411, + 0, + 1.489, + 1, + 1.567, + 1, + 1, + 2.544, + 1, + 3.522, + 1, + 4.5, + 1, + 0, + 4.533, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeLSmile", + "Segments": [ + 0, + 0, + 1, + 1.5, + 0, + 3, + 0, + 4.5, + 0, + 0, + 4.533, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeROpen", + "Segments": [ + 0, + 1, + 1, + 0.344, + 1, + 0.689, + 1, + 1.033, + 1, + 1, + 1.078, + 1, + 1.122, + 0, + 1.167, + 0, + 1, + 1.222, + 0, + 1.278, + 0, + 1.333, + 0, + 1, + 1.411, + 0, + 1.489, + 1, + 1.567, + 1, + 1, + 2.544, + 1, + 3.522, + 1, + 4.5, + 1, + 0, + 4.533, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeRSmile", + "Segments": [ + 0, + 0, + 1, + 1.5, + 0, + 3, + 0, + 4.5, + 0, + 0, + 4.533, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeForm", + "Segments": [ + 0, + 0, + 1, + 1.5, + 0, + 3, + 0, + 4.5, + 0, + 0, + 4.533, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallForm", + "Segments": [ + 0, + 0, + 1, + 1.5, + 0, + 3, + 0, + 4.5, + 0, + 0, + 4.533, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamTear", + "Segments": [ + 0, + 0, + 1, + 1.5, + 0, + 3, + 0, + 4.5, + 0, + 0, + 4.533, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallX", + "Segments": [ + 0, + 0, + 1, + 0.3, + 0, + 0.6, + 0.29, + 0.9, + 0.29, + 1, + 0.989, + 0.29, + 1.078, + 0.29, + 1.167, + 0.29, + 1, + 1.2, + 0.29, + 1.233, + -0.39, + 1.267, + -0.39, + 1, + 1.378, + -0.39, + 1.489, + -0.39, + 1.6, + -0.39, + 1, + 2, + -0.39, + 2.4, + 0, + 2.8, + 0, + 1, + 3.367, + 0, + 3.933, + 0, + 4.5, + 0, + 0, + 4.533, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallY", + "Segments": [ + 0, + 0, + 1, + 0.3, + 0, + 0.6, + 0.5, + 0.9, + 0.5, + 1, + 0.989, + 0.5, + 1.078, + 0.5, + 1.167, + 0.5, + 1, + 1.2, + 0.5, + 1.233, + 0.33, + 1.267, + 0.33, + 1, + 1.378, + 0.33, + 1.489, + 0.33, + 1.6, + 0.33, + 1, + 2, + 0.33, + 2.4, + 0, + 2.8, + 0, + 1, + 3.367, + 0, + 3.933, + 0, + 4.5, + 0, + 0, + 4.533, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLY", + "Segments": [ + 0, + 0, + 1, + 1.5, + 0, + 3, + 0, + 4.5, + 0, + 0, + 4.533, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRY", + "Segments": [ + 0, + 0, + 1, + 1.5, + 0, + 3, + 0, + 4.5, + 0, + 0, + 4.533, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLX", + "Segments": [ + 0, + 0, + 1, + 1.5, + 0, + 3, + 0, + 4.5, + 0, + 0, + 4.533, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRX", + "Segments": [ + 0, + 0, + 1, + 1.5, + 0, + 3, + 0, + 4.5, + 0, + 0, + 4.533, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLAngle", + "Segments": [ + 0, + 0, + 1, + 1.5, + 0, + 3, + 0, + 4.5, + 0, + 0, + 4.533, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRAngle", + "Segments": [ + 0, + 0, + 1, + 1.5, + 0, + 3, + 0, + 4.5, + 0, + 0, + 4.533, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLForm", + "Segments": [ + 0, + 0, + 1, + 1.5, + 0, + 3, + 0, + 4.5, + 0, + 0, + 4.533, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRForm", + "Segments": [ + 0, + 0, + 1, + 1.5, + 0, + 3, + 0, + 4.5, + 0, + 0, + 4.533, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamMouthForm", + "Segments": [ + 0, + 1, + 1, + 1.5, + 1, + 3, + 1, + 4.5, + 1, + 0, + 4.533, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamMouthOpenY", + "Segments": [ + 0, + 0, + 1, + 1.5, + 0, + 3, + 0, + 4.5, + 0, + 0, + 4.533, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamScarf", + "Segments": [ + 0, + 0, + 1, + 1.5, + 0, + 3, + 0, + 4.5, + 0, + 0, + 4.533, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleX", + "Segments": [ + 0, + 0, + 1, + 0.533, + 0, + 1.067, + 7, + 1.6, + 7, + 1, + 2.056, + 7, + 2.511, + -7, + 2.967, + -7, + 1, + 3.478, + -7, + 3.989, + 0, + 4.5, + 0, + 0, + 4.533, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleY", + "Segments": [ + 0, + 0, + 1, + 1.5, + 0, + 3, + 0, + 4.5, + 0, + 0, + 4.533, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleZ", + "Segments": [ + 0, + 0, + 1, + 0.578, + 0, + 1.156, + -7, + 1.733, + -7, + 1, + 2.1, + -7, + 2.467, + 7, + 2.833, + 7, + 1, + 3.389, + 7, + 3.944, + 0, + 4.5, + 0, + 0, + 4.533, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyUpper", + "Segments": [ + 0, + 0, + 1, + 1.5, + 0, + 3, + 0, + 4.5, + 0, + 0, + 4.533, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBreath", + "Segments": [ + 0, + 0, + 1, + 1.5, + 0, + 3, + 0, + 4.5, + 0, + 0, + 4.533, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBustY", + "Segments": [ + 0, + 0, + 1, + 1.5, + 0, + 3, + 0, + 4.5, + 0, + 0, + 4.533, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmLA", + "Segments": [ + 0, + 0.5, + 1, + 0.156, + 0.5, + 0.311, + 0.746, + 0.467, + 0.76, + 1, + 1.556, + 0.858, + 2.644, + 0.89, + 3.733, + 0.89, + 1, + 3.8, + 0.89, + 3.867, + 0.637, + 3.933, + 0.5, + 1, + 4.122, + 0.111, + 4.311, + 0, + 4.5, + 0, + 0, + 4.533, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmRA", + "Segments": [ + 0, + 0.5, + 1, + 0.156, + 0.5, + 0.311, + 0.74, + 0.467, + 0.76, + 1, + 1.556, + 0.903, + 2.644, + 0.95, + 3.733, + 0.95, + 1, + 3.8, + 0.95, + 3.867, + 0.64, + 3.933, + 0.5, + 1, + 4.122, + 0.104, + 4.311, + 0, + 4.5, + 0, + 0, + 4.533, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmLB", + "Segments": [ + 0, + 3.5, + 1, + 0.133, + 3.5, + 0.267, + 3.2, + 0.4, + 3.2, + 1, + 0.733, + 3.2, + 1.067, + 4.098, + 1.4, + 4.8, + 1, + 1.522, + 5.057, + 1.644, + 5, + 1.767, + 5, + 1, + 2.278, + 5, + 2.789, + 4.1, + 3.3, + 4.1, + 1, + 3.433, + 4.1, + 3.567, + 4.3, + 3.7, + 4.3, + 1, + 3.967, + 4.3, + 4.233, + 4.3, + 4.5, + 4.3, + 0, + 4.533, + 4.3 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmRB", + "Segments": [ + 0, + 2.5, + 1, + 0.133, + 2.5, + 0.267, + 2.3, + 0.4, + 2.3, + 1, + 0.567, + 2.3, + 0.733, + 2.48, + 0.9, + 2.9, + 1, + 1.156, + 3.545, + 1.411, + 3.9, + 1.667, + 3.9, + 1, + 1.933, + 3.9, + 2.2, + 3.807, + 2.467, + 3.5, + 1, + 2.767, + 3.154, + 3.067, + 2.9, + 3.367, + 2.9, + 1, + 3.489, + 2.9, + 3.611, + 3, + 3.733, + 3, + 1, + 3.989, + 3, + 4.244, + 3, + 4.5, + 3, + 0, + 4.533, + 3 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandChangeR", + "Segments": [ + 0, + 0, + 1, + 0.3, + 0, + 0.6, + 0, + 0.9, + 0, + 1, + 0.978, + 0, + 1.056, + 0.5, + 1.133, + 0.5, + 1, + 2.256, + 0.5, + 3.378, + 0.5, + 4.5, + 0.5, + 0, + 4.533, + 0.5 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandAngleR", + "Segments": [ + 0, + 0, + 1, + 0.167, + 0, + 0.333, + 0.8, + 0.5, + 0.8, + 1, + 0.956, + 0.8, + 1.411, + -1, + 1.867, + -1, + 1, + 2.111, + -1, + 2.356, + -1, + 2.6, + -1, + 1, + 2.8, + -1, + 3, + -0.52, + 3.2, + -0.52, + 1, + 3.411, + -0.52, + 3.622, + -1, + 3.833, + -1, + 1, + 4.056, + -1, + 4.278, + -1, + 4.5, + -1, + 0, + 4.533, + -1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandDhangeL", + "Segments": [ + 0, + 0.5, + 1, + 1.5, + 0.5, + 3, + 0.5, + 4.5, + 0.5, + 0, + 4.533, + 0.5 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandAngleL", + "Segments": [ + 0, + 0, + 1, + 0.089, + 0, + 0.178, + 0.41, + 0.267, + 0.41, + 1, + 0.344, + 0.41, + 0.422, + -0.174, + 0.5, + -0.33, + 1, + 0.656, + -0.643, + 0.811, + -0.68, + 0.967, + -0.68, + 1, + 1.222, + -0.68, + 1.478, + 0.36, + 1.733, + 0.36, + 1, + 1.933, + 0.36, + 2.133, + 0.36, + 2.333, + 0.36, + 1, + 2.422, + 0.36, + 2.511, + -0.26, + 2.6, + -0.26, + 1, + 2.767, + -0.26, + 2.933, + -0.26, + 3.1, + -0.26, + 1, + 3.233, + -0.26, + 3.367, + -0.46, + 3.5, + -0.46, + 1, + 3.633, + -0.46, + 3.767, + -0.31, + 3.9, + -0.31, + 1, + 4.1, + -0.31, + 4.3, + -0.31, + 4.5, + -0.31, + 0, + 4.533, + -0.31 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHairFront", + "Segments": [ + 0, + 0, + 1, + 1.5, + 0, + 3, + 0, + 4.5, + 0, + 0, + 4.533, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHairSide", + "Segments": [ + 0, + 0, + 1, + 1.5, + 0, + 3, + 0, + 4.5, + 0, + 0, + 4.533, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHairBack", + "Segments": [ + 0, + 0, + 1, + 1.5, + 0, + 3, + 0, + 4.5, + 0, + 0, + 4.533, + 0 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Core", + "Segments": [ + 0, + 1, + 2, + 4.5, + 1, + 0, + 4.53, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Hoho001", + "Segments": [ + 0, + 1, + 2, + 4.5, + 1, + 0, + 4.53, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Brow001", + "Segments": [ + 0, + 1, + 2, + 4.5, + 1, + 0, + 4.53, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Tear", + "Segments": [ + 0, + 1, + 2, + 4.5, + 1, + 0, + 4.53, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01EyeBall001", + "Segments": [ + 0, + 1, + 2, + 4.5, + 1, + 0, + 4.53, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Eye001", + "Segments": [ + 0, + 1, + 2, + 4.5, + 1, + 0, + 4.53, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Nose001", + "Segments": [ + 0, + 1, + 2, + 4.5, + 1, + 0, + 4.53, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Mouth001", + "Segments": [ + 0, + 1, + 2, + 4.5, + 1, + 0, + 4.53, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Face001", + "Segments": [ + 0, + 1, + 2, + 4.5, + 1, + 0, + 4.53, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Ear001", + "Segments": [ + 0, + 1, + 2, + 4.5, + 1, + 0, + 4.53, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Neck001", + "Segments": [ + 0, + 1, + 2, + 4.5, + 1, + 0, + 4.53, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01HairFront001", + "Segments": [ + 0, + 1, + 2, + 4.5, + 1, + 0, + 4.53, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01HairSide001", + "Segments": [ + 0, + 1, + 2, + 4.5, + 1, + 0, + 4.53, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01HairBack001", + "Segments": [ + 0, + 1, + 2, + 4.5, + 1, + 0, + 4.53, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01ArmRB001", + "Segments": [ + 0, + 1, + 2, + 4.5, + 1, + 0, + 4.53, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01ArmLB001", + "Segments": [ + 0, + 1, + 2, + 4.5, + 1, + 0, + 4.53, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01ArmRA001", + "Segments": [ + 0, + 0, + 2, + 4.5, + 0, + 0, + 4.53, + 0 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01ArmLA001", + "Segments": [ + 0, + 0, + 2, + 4.5, + 0, + 0, + 4.53, + 0 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Body001", + "Segments": [ + 0, + 1, + 2, + 4.5, + 1, + 0, + 4.53, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Sketch", + "Segments": [ + 0, + 0, + 2, + 4.5, + 0, + 0, + 4.53, + 0 + ] + } + ] +} \ No newline at end of file diff --git a/staticfiles/haru_greeter_pro_jp/runtime/motion/haru_g_m07.motion3.json b/staticfiles/haru_greeter_pro_jp/runtime/motion/haru_g_m07.motion3.json new file mode 100644 index 0000000000000000000000000000000000000000..a7d6d86944825e308ff636a0c6c01b1021e72346 --- /dev/null +++ b/staticfiles/haru_greeter_pro_jp/runtime/motion/haru_g_m07.motion3.json @@ -0,0 +1,1497 @@ +{ + "Version": 3, + "Meta": { + "Duration": 3.93, + "Fps": 30.0, + "Loop": true, + "AreBeziersRestricted": true, + "CurveCount": 63, + "TotalSegmentCount": 187, + "TotalPointCount": 458, + "UserDataCount": 0, + "TotalUserDataSize": 0 + }, + "Curves": [ + { + "Target": "Model", + "Id": "Opacity", + "Segments": [ + 0, + 1, + 1, + 1.3, + 1, + 2.6, + 1, + 3.9, + 1, + 0, + 3.93, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleX", + "Segments": [ + 0, + 0, + 1, + 0.467, + 0, + 0.933, + 9.534, + 1.4, + 14, + 1, + 1.567, + 15.595, + 1.733, + 15, + 1.9, + 15, + 1, + 2.289, + 15, + 2.678, + 0, + 3.067, + 0, + 1, + 3.344, + 0, + 3.622, + 0, + 3.9, + 0, + 0, + 3.933, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleY", + "Segments": [ + 0, + 0, + 1, + 0.244, + 0, + 0.489, + 0.061, + 0.733, + -1, + 1, + 0.9, + -1.723, + 1.067, + -13, + 1.233, + -13, + 1, + 1.422, + -13, + 1.611, + 5, + 1.8, + 5, + 1, + 2.189, + 5, + 2.578, + 0, + 2.967, + 0, + 1, + 3.278, + 0, + 3.589, + 0, + 3.9, + 0, + 0, + 3.933, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleZ", + "Segments": [ + 0, + 0, + 1, + 0.367, + 0, + 0.733, + -18, + 1.1, + -18, + 1, + 1.4, + -18, + 1.7, + -18, + 2, + -18, + 1, + 2.3, + -18, + 2.6, + 18, + 2.9, + 18, + 1, + 3.233, + 18, + 3.567, + 18, + 3.9, + 18, + 0, + 3.933, + 18 + ] + }, + { + "Target": "Parameter", + "Id": "ParamTere", + "Segments": [ + 0, + 0, + 1, + 1.3, + 0, + 2.6, + 0, + 3.9, + 0, + 0, + 3.933, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamFaceForm", + "Segments": [ + 0, + 0, + 1, + 1.3, + 0, + 2.6, + 0, + 3.9, + 0, + 0, + 3.933, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeLOpen", + "Segments": [ + 0, + 1, + 1, + 0.344, + 1, + 0.689, + 1, + 1.033, + 1, + 1, + 1.078, + 1, + 1.122, + 0, + 1.167, + 0, + 1, + 1.222, + 0, + 1.278, + 0, + 1.333, + 0, + 1, + 1.411, + 0, + 1.489, + 1, + 1.567, + 1, + 1, + 2.344, + 1, + 3.122, + 1, + 3.9, + 1, + 0, + 3.933, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeLSmile", + "Segments": [ + 0, + 0, + 1, + 1.3, + 0, + 2.6, + 0, + 3.9, + 0, + 0, + 3.933, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeROpen", + "Segments": [ + 0, + 1, + 1, + 0.344, + 1, + 0.689, + 1, + 1.033, + 1, + 1, + 1.078, + 1, + 1.122, + 0, + 1.167, + 0, + 1, + 1.222, + 0, + 1.278, + 0, + 1.333, + 0, + 1, + 1.411, + 0, + 1.489, + 1, + 1.567, + 1, + 1, + 2.344, + 1, + 3.122, + 1, + 3.9, + 1, + 0, + 3.933, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeRSmile", + "Segments": [ + 0, + 0, + 1, + 1.3, + 0, + 2.6, + 0, + 3.9, + 0, + 0, + 3.933, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeForm", + "Segments": [ + 0, + 0, + 1, + 1.3, + 0, + 2.6, + 0, + 3.9, + 0, + 0, + 3.933, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallForm", + "Segments": [ + 0, + 0, + 1, + 1.3, + 0, + 2.6, + 0, + 3.9, + 0, + 0, + 3.933, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamTear", + "Segments": [ + 0, + 0, + 1, + 1.3, + 0, + 2.6, + 0, + 3.9, + 0, + 0, + 3.933, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallX", + "Segments": [ + 0, + 0, + 1, + 0.3, + 0, + 0.6, + -0.27, + 0.9, + -0.27, + 1, + 0.989, + -0.27, + 1.078, + -0.27, + 1.167, + -0.27, + 1, + 1.2, + -0.27, + 1.233, + 0.37, + 1.267, + 0.37, + 1, + 1.378, + 0.37, + 1.489, + 0.37, + 1.6, + 0.37, + 1, + 1.944, + 0.37, + 2.289, + 0, + 2.633, + 0, + 1, + 3.056, + 0, + 3.478, + 0, + 3.9, + 0, + 0, + 3.933, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallY", + "Segments": [ + 0, + 0, + 1, + 0.3, + 0, + 0.6, + 0.58, + 0.9, + 0.58, + 1, + 0.989, + 0.58, + 1.078, + 0.58, + 1.167, + 0.58, + 1, + 1.2, + 0.58, + 1.233, + 0.29, + 1.267, + 0.29, + 1, + 1.378, + 0.29, + 1.489, + 0.29, + 1.6, + 0.29, + 1, + 1.944, + 0.29, + 2.289, + 0, + 2.633, + 0, + 1, + 3.056, + 0, + 3.478, + 0, + 3.9, + 0, + 0, + 3.933, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLY", + "Segments": [ + 0, + 0, + 1, + 1.3, + 0, + 2.6, + 0, + 3.9, + 0, + 0, + 3.933, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRY", + "Segments": [ + 0, + 0, + 1, + 1.3, + 0, + 2.6, + 0, + 3.9, + 0, + 0, + 3.933, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLX", + "Segments": [ + 0, + 0, + 1, + 1.3, + 0, + 2.6, + 0, + 3.9, + 0, + 0, + 3.933, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRX", + "Segments": [ + 0, + 0, + 1, + 1.3, + 0, + 2.6, + 0, + 3.9, + 0, + 0, + 3.933, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLAngle", + "Segments": [ + 0, + 0, + 1, + 1.3, + 0, + 2.6, + 0, + 3.9, + 0, + 0, + 3.933, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRAngle", + "Segments": [ + 0, + 0, + 1, + 1.3, + 0, + 2.6, + 0, + 3.9, + 0, + 0, + 3.933, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLForm", + "Segments": [ + 0, + 0, + 1, + 1.3, + 0, + 2.6, + 0, + 3.9, + 0, + 0, + 3.933, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRForm", + "Segments": [ + 0, + 0, + 1, + 1.3, + 0, + 2.6, + 0, + 3.9, + 0, + 0, + 3.933, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamMouthForm", + "Segments": [ + 0, + 1, + 1, + 1.3, + 1, + 2.6, + 1, + 3.9, + 1, + 0, + 3.933, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamMouthOpenY", + "Segments": [ + 0, + 0, + 1, + 1.3, + 0, + 2.6, + 0, + 3.9, + 0, + 0, + 3.933, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamScarf", + "Segments": [ + 0, + 0, + 1, + 1.3, + 0, + 2.6, + 0, + 3.9, + 0, + 0, + 3.933, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleX", + "Segments": [ + 0, + 0, + 1, + 0.533, + 0, + 1.067, + -7, + 1.6, + -7, + 1, + 2.056, + -7, + 2.511, + 4, + 2.967, + 4, + 1, + 3.278, + 4, + 3.589, + 0, + 3.9, + 0, + 0, + 3.933, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleY", + "Segments": [ + 0, + 0, + 1, + 1.3, + 0, + 2.6, + 0, + 3.9, + 0, + 0, + 3.933, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleZ", + "Segments": [ + 0, + 0, + 1, + 0.578, + 0, + 1.156, + -10, + 1.733, + -10, + 1, + 2.1, + -10, + 2.467, + -7.702, + 2.833, + -4, + 1, + 3.122, + -1.083, + 3.411, + 0, + 3.7, + 0, + 1, + 3.767, + 0, + 3.833, + 0, + 3.9, + 0, + 0, + 3.933, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyUpper", + "Segments": [ + 0, + 0, + 1, + 1.3, + 0, + 2.6, + 0, + 3.9, + 0, + 0, + 3.933, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBreath", + "Segments": [ + 0, + 0, + 1, + 1.3, + 0, + 2.6, + 0, + 3.9, + 0, + 0, + 3.933, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBustY", + "Segments": [ + 0, + 0, + 1, + 1.3, + 0, + 2.6, + 0, + 3.9, + 0, + 0, + 3.933, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmLA", + "Segments": [ + 0, + 0.5, + 1, + 0.156, + 0.5, + 0.311, + 0.734, + 0.467, + 0.76, + 1, + 1.533, + 0.94, + 2.6, + 1, + 3.667, + 1, + 1, + 3.744, + 1, + 3.822, + 0.5, + 3.9, + 0.5, + 0, + 3.933, + 0.5 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmRA", + "Segments": [ + 0, + 0.5, + 1, + 0.156, + 0.5, + 0.311, + 0.734, + 0.467, + 0.76, + 1, + 1.533, + 0.94, + 2.6, + 1, + 3.667, + 1, + 1, + 3.744, + 1, + 3.822, + 0.5, + 3.9, + 0.5, + 0, + 3.933, + 0.5 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmLB", + "Segments": [ + 0, + 2.5, + 1, + 0.133, + 2.5, + 0.267, + 2.3, + 0.4, + 2.3, + 1, + 0.567, + 2.3, + 0.733, + 2.42, + 0.9, + 2.9, + 1, + 1.067, + 3.38, + 1.233, + 3.8, + 1.4, + 3.8, + 1, + 1.556, + 3.8, + 1.711, + 3.857, + 1.867, + 3.7, + 1, + 2.356, + 3.207, + 2.844, + 2.4, + 3.333, + 2.4, + 1, + 3.522, + 2.4, + 3.711, + 2.5, + 3.9, + 2.5, + 0, + 3.933, + 2.5 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmRB", + "Segments": [ + 0, + 3.5, + 1, + 0.133, + 3.5, + 0.267, + 3.1, + 0.4, + 3.1, + 1, + 0.733, + 3.1, + 1.067, + 5, + 1.4, + 5, + 1, + 1.522, + 5, + 1.644, + 5, + 1.767, + 5, + 1, + 2, + 5, + 2.233, + 4.5, + 2.467, + 4.5, + 1, + 2.944, + 4.5, + 3.422, + 4.5, + 3.9, + 4.5, + 0, + 3.933, + 4.5 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandChangeR", + "Segments": [ + 0, + 0, + 1, + 1.3, + 0, + 2.6, + 0, + 3.9, + 0, + 0, + 3.933, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandAngleR", + "Segments": [ + 0, + 0, + 1, + 0.089, + 0, + 0.178, + -0.42, + 0.267, + -0.42, + 1, + 0.344, + -0.42, + 0.422, + 0.35, + 0.5, + 0.35, + 1, + 0.833, + 0.35, + 1.167, + 0, + 1.5, + 0, + 1, + 1.622, + 0, + 1.744, + 0.36, + 1.867, + 0.36, + 1, + 2.111, + 0.36, + 2.356, + -1, + 2.6, + -1, + 1, + 2.867, + -1, + 3.133, + -0.92, + 3.4, + -0.92, + 1, + 3.567, + -0.92, + 3.733, + -0.92, + 3.9, + -0.92, + 0, + 3.933, + -0.92 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandDhangeL", + "Segments": [ + 0, + 0.5, + 1, + 0.278, + 0.5, + 0.556, + 0.5, + 0.833, + 0.5, + 1, + 0.9, + 0.5, + 0.967, + 0, + 1.033, + 0, + 1, + 1.989, + 0, + 2.944, + 0, + 3.9, + 0, + 0, + 3.933, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandAngleL", + "Segments": [ + 0, + 0, + 1, + 0.089, + 0, + 0.178, + -0.39, + 0.267, + -0.39, + 1, + 0.344, + -0.39, + 0.422, + -0.33, + 0.5, + -0.33, + 1, + 0.656, + -0.33, + 0.811, + -0.68, + 0.967, + -0.68, + 1, + 1.222, + -0.68, + 1.478, + 0.36, + 1.733, + 0.36, + 1, + 1.933, + 0.36, + 2.133, + 0.36, + 2.333, + 0.36, + 1, + 2.422, + 0.36, + 2.511, + -0.26, + 2.6, + -0.26, + 1, + 2.767, + -0.26, + 2.933, + -0.26, + 3.1, + -0.26, + 1, + 3.367, + -0.26, + 3.633, + -0.26, + 3.9, + -0.26, + 0, + 3.933, + -0.26 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHairFront", + "Segments": [ + 0, + 0, + 1, + 1.3, + 0, + 2.6, + 0, + 3.9, + 0, + 0, + 3.933, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHairSide", + "Segments": [ + 0, + 0, + 1, + 1.3, + 0, + 2.6, + 0, + 3.9, + 0, + 0, + 3.933, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHairBack", + "Segments": [ + 0, + 0, + 1, + 1.3, + 0, + 2.6, + 0, + 3.9, + 0, + 0, + 3.933, + 0 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Core", + "Segments": [ + 0, + 1, + 2, + 3.9, + 1, + 0, + 3.93, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Hoho001", + "Segments": [ + 0, + 1, + 2, + 3.9, + 1, + 0, + 3.93, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Brow001", + "Segments": [ + 0, + 1, + 2, + 3.9, + 1, + 0, + 3.93, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Tear", + "Segments": [ + 0, + 1, + 2, + 3.9, + 1, + 0, + 3.93, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01EyeBall001", + "Segments": [ + 0, + 1, + 2, + 3.9, + 1, + 0, + 3.93, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Eye001", + "Segments": [ + 0, + 1, + 2, + 3.9, + 1, + 0, + 3.93, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Nose001", + "Segments": [ + 0, + 1, + 2, + 3.9, + 1, + 0, + 3.93, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Mouth001", + "Segments": [ + 0, + 1, + 2, + 3.9, + 1, + 0, + 3.93, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Face001", + "Segments": [ + 0, + 1, + 2, + 3.9, + 1, + 0, + 3.93, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Ear001", + "Segments": [ + 0, + 1, + 2, + 3.9, + 1, + 0, + 3.93, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Neck001", + "Segments": [ + 0, + 1, + 2, + 3.9, + 1, + 0, + 3.93, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01HairFront001", + "Segments": [ + 0, + 1, + 2, + 3.9, + 1, + 0, + 3.93, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01HairSide001", + "Segments": [ + 0, + 1, + 2, + 3.9, + 1, + 0, + 3.93, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01HairBack001", + "Segments": [ + 0, + 1, + 2, + 3.9, + 1, + 0, + 3.93, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01ArmRB001", + "Segments": [ + 0, + 1, + 2, + 3.9, + 1, + 0, + 3.93, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01ArmLB001", + "Segments": [ + 0, + 1, + 2, + 3.9, + 1, + 0, + 3.93, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01ArmRA001", + "Segments": [ + 0, + 0, + 2, + 3.9, + 0, + 0, + 3.93, + 0 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01ArmLA001", + "Segments": [ + 0, + 0, + 2, + 3.9, + 0, + 0, + 3.93, + 0 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Body001", + "Segments": [ + 0, + 1, + 2, + 3.9, + 1, + 0, + 3.93, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Sketch", + "Segments": [ + 0, + 0, + 2, + 3.9, + 0, + 0, + 3.93, + 0 + ] + } + ] +} \ No newline at end of file diff --git a/staticfiles/haru_greeter_pro_jp/runtime/motion/haru_g_m08.motion3.json b/staticfiles/haru_greeter_pro_jp/runtime/motion/haru_g_m08.motion3.json new file mode 100644 index 0000000000000000000000000000000000000000..d24f5ee19d36e5b4ce43571772a113728608f9d2 --- /dev/null +++ b/staticfiles/haru_greeter_pro_jp/runtime/motion/haru_g_m08.motion3.json @@ -0,0 +1,1581 @@ +{ + "Version": 3, + "Meta": { + "Duration": 4.6, + "Fps": 30.0, + "Loop": true, + "AreBeziersRestricted": true, + "CurveCount": 63, + "TotalSegmentCount": 199, + "TotalPointCount": 494, + "UserDataCount": 0, + "TotalUserDataSize": 0 + }, + "Curves": [ + { + "Target": "Model", + "Id": "Opacity", + "Segments": [ + 0, + 1, + 1, + 1.52, + 1, + 3.04, + 1, + 4.57, + 1, + 0, + 4.6, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleX", + "Segments": [ + 0, + 0, + 1, + 0.167, + 0, + 0.333, + 0, + 0.5, + 0, + 1, + 0.556, + 0, + 0.611, + 0, + 0.667, + 0, + 1, + 0.756, + 0, + 0.844, + 0, + 0.933, + 0, + 1, + 1.022, + 0, + 1.111, + 0, + 1.2, + 0, + 1, + 1.322, + 0, + 1.444, + 0, + 1.567, + 0, + 1, + 1.733, + 0, + 1.9, + 0, + 2.067, + 0, + 1, + 2.156, + 0, + 2.244, + 0, + 2.333, + 0, + 1, + 2.7, + 0, + 3.067, + 3, + 3.433, + 3, + 1, + 3.589, + 3, + 3.744, + 0, + 3.9, + 0, + 1, + 4.122, + 0, + 4.344, + 0, + 4.567, + 0, + 0, + 4.6, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleY", + "Segments": [ + 0, + 0, + 1, + 0.167, + 0, + 0.333, + 0, + 0.5, + 0, + 1, + 0.556, + 0, + 0.611, + 10, + 0.667, + 10, + 1, + 0.756, + 10, + 0.844, + -19.633, + 0.933, + -25, + 1, + 1.022, + -30.367, + 1.111, + -30, + 1.2, + -30, + 1, + 1.322, + -30, + 1.444, + -30, + 1.567, + -30, + 1, + 1.733, + -30, + 1.9, + 5, + 2.067, + 5, + 1, + 2.156, + 5, + 2.244, + 0.198, + 2.333, + 0, + 1, + 2.7, + -0.815, + 3.067, + -1, + 3.433, + -1, + 1, + 3.589, + -1, + 3.744, + 0, + 3.9, + 0, + 1, + 4.122, + 0, + 4.344, + 0, + 4.567, + 0, + 0, + 4.6, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleZ", + "Segments": [ + 0, + 0, + 1, + 0.933, + 0, + 1.867, + 0, + 2.8, + 0, + 1, + 2.978, + 0, + 3.156, + 30, + 3.333, + 30, + 1, + 3.5, + 30, + 3.667, + -1, + 3.833, + -1, + 1, + 3.922, + -1, + 4.011, + 0, + 4.1, + 0, + 1, + 4.256, + 0, + 4.411, + 0, + 4.567, + 0, + 0, + 4.6, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamTere", + "Segments": [ + 0, + 0, + 1, + 1.522, + 0, + 3.044, + 0, + 4.567, + 0, + 0, + 4.6, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamFaceForm", + "Segments": [ + 0, + 0, + 1, + 1.522, + 0, + 3.044, + 0, + 4.567, + 0, + 0, + 4.6, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeLOpen", + "Segments": [ + 0, + 1, + 1, + 0.222, + 1, + 0.444, + 1, + 0.667, + 1, + 1, + 0.756, + 1, + 0.844, + 1, + 0.933, + 1, + 1, + 0.978, + 1, + 1.022, + 0, + 1.067, + 0, + 1, + 1.233, + 0, + 1.4, + 0, + 1.567, + 0, + 1, + 1.744, + 0, + 1.922, + 1, + 2.1, + 1, + 1, + 2.333, + 1, + 2.567, + 1, + 2.8, + 1, + 1, + 2.978, + 1, + 3.156, + 0.87, + 3.333, + 0.87, + 1, + 3.456, + 0.87, + 3.578, + 1, + 3.7, + 1, + 1, + 3.989, + 1, + 4.278, + 1, + 4.567, + 1, + 0, + 4.6, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeLSmile", + "Segments": [ + 0, + 0, + 1, + 1.522, + 0, + 3.044, + 0, + 4.567, + 0, + 0, + 4.6, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeROpen", + "Segments": [ + 0, + 1, + 1, + 0.222, + 1, + 0.444, + 1, + 0.667, + 1, + 1, + 0.756, + 1, + 0.844, + 1, + 0.933, + 1, + 1, + 0.978, + 1, + 1.022, + 0, + 1.067, + 0, + 1, + 1.233, + 0, + 1.4, + 0, + 1.567, + 0, + 1, + 1.744, + 0, + 1.922, + 1, + 2.1, + 1, + 1, + 2.333, + 1, + 2.567, + 1, + 2.8, + 1, + 1, + 2.978, + 1, + 3.156, + 0.87, + 3.333, + 0.87, + 1, + 3.456, + 0.87, + 3.578, + 1, + 3.7, + 1, + 1, + 3.989, + 1, + 4.278, + 1, + 4.567, + 1, + 0, + 4.6, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeRSmile", + "Segments": [ + 0, + 0, + 1, + 1.522, + 0, + 3.044, + 0, + 4.567, + 0, + 0, + 4.6, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeForm", + "Segments": [ + 0, + 0, + 1, + 1.522, + 0, + 3.044, + 0, + 4.567, + 0, + 0, + 4.6, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallForm", + "Segments": [ + 0, + 0, + 1, + 1.522, + 0, + 3.044, + 0, + 4.567, + 0, + 0, + 4.6, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamTear", + "Segments": [ + 0, + 0, + 1, + 1.522, + 0, + 3.044, + 0, + 4.567, + 0, + 0, + 4.6, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallX", + "Segments": [ + 0, + 0, + 1, + 1.522, + 0, + 3.044, + 0, + 4.567, + 0, + 0, + 4.6, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallY", + "Segments": [ + 0, + 0, + 1, + 1.522, + 0, + 3.044, + 0, + 4.567, + 0, + 0, + 4.6, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLY", + "Segments": [ + 0, + 0, + 1, + 0.311, + 0, + 0.622, + 0, + 0.933, + 0, + 1, + 0.978, + 0, + 1.022, + -1, + 1.067, + -1, + 1, + 1.233, + -1, + 1.4, + -1, + 1.567, + -1, + 1, + 1.744, + -1, + 1.922, + 0, + 2.1, + 0, + 1, + 2.333, + 0, + 2.567, + 0, + 2.8, + 0, + 1, + 2.978, + 0, + 3.156, + -0.35, + 3.333, + -0.35, + 1, + 3.5, + -0.35, + 3.667, + 0, + 3.833, + 0, + 1, + 4.078, + 0, + 4.322, + 0, + 4.567, + 0, + 0, + 4.6, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRY", + "Segments": [ + 0, + 0, + 1, + 0.311, + 0, + 0.622, + 0, + 0.933, + 0, + 1, + 0.978, + 0, + 1.022, + -1, + 1.067, + -1, + 1, + 1.233, + -1, + 1.4, + -1, + 1.567, + -1, + 1, + 1.744, + -1, + 1.922, + 0, + 2.1, + 0, + 1, + 2.333, + 0, + 2.567, + 0, + 2.8, + 0, + 1, + 2.978, + 0, + 3.156, + -0.35, + 3.333, + -0.35, + 1, + 3.5, + -0.35, + 3.667, + 0, + 3.833, + 0, + 1, + 4.078, + 0, + 4.322, + 0, + 4.567, + 0, + 0, + 4.6, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLX", + "Segments": [ + 0, + 0, + 1, + 1.522, + 0, + 3.044, + 0, + 4.567, + 0, + 0, + 4.6, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRX", + "Segments": [ + 0, + 0, + 1, + 1.522, + 0, + 3.044, + 0, + 4.567, + 0, + 0, + 4.6, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLAngle", + "Segments": [ + 0, + 0, + 1, + 1.522, + 0, + 3.044, + 0, + 4.567, + 0, + 0, + 4.6, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRAngle", + "Segments": [ + 0, + 0, + 1, + 1.522, + 0, + 3.044, + 0, + 4.567, + 0, + 0, + 4.6, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLForm", + "Segments": [ + 0, + 0, + 1, + 1.522, + 0, + 3.044, + 0, + 4.567, + 0, + 0, + 4.6, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRForm", + "Segments": [ + 0, + 0, + 1, + 1.522, + 0, + 3.044, + 0, + 4.567, + 0, + 0, + 4.6, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamMouthForm", + "Segments": [ + 0, + 1, + 1, + 1.522, + 1, + 3.044, + 1, + 4.567, + 1, + 0, + 4.6, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamMouthOpenY", + "Segments": [ + 0, + 0, + 1, + 1.522, + 0, + 3.044, + 0, + 4.567, + 0, + 0, + 4.6, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamScarf", + "Segments": [ + 0, + 0, + 1, + 1.522, + 0, + 3.044, + 0, + 4.567, + 0, + 0, + 4.6, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleX", + "Segments": [ + 0, + 0, + 1, + 1.522, + 0, + 3.044, + 0, + 4.567, + 0, + 0, + 4.6, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleY", + "Segments": [ + 0, + 0, + 1, + 0.178, + 0, + 0.356, + 0, + 0.533, + 0, + 1, + 0.689, + 0, + 0.844, + -10, + 1, + -10, + 1, + 1.189, + -10, + 1.378, + -10, + 1.567, + -10, + 1, + 1.7, + -10, + 1.833, + 0, + 1.967, + 0, + 1, + 2.133, + 0, + 2.3, + 0, + 2.467, + 0, + 1, + 3.167, + 0, + 3.867, + 0, + 4.567, + 0, + 0, + 4.6, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleZ", + "Segments": [ + 0, + 0, + 1, + 1.522, + 0, + 3.044, + 0, + 4.567, + 0, + 0, + 4.6, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyUpper", + "Segments": [ + 0, + 0, + 1, + 0.178, + 0, + 0.356, + 0, + 0.533, + 0, + 1, + 0.689, + 0, + 0.844, + 8.088, + 1, + 9, + 1, + 1.189, + 10.108, + 1.378, + 10, + 1.567, + 10, + 1, + 1.7, + 10, + 1.833, + 0, + 1.967, + 0, + 1, + 2.133, + 0, + 2.3, + 2, + 2.467, + 2, + 1, + 2.611, + 2, + 2.756, + 0, + 2.9, + 0, + 1, + 3.456, + 0, + 4.011, + 0, + 4.567, + 0, + 0, + 4.6, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBreath", + "Segments": [ + 0, + 0.91, + 1, + 0.678, + 0.91, + 1.356, + 0, + 2.033, + 0, + 1, + 2.422, + 0, + 2.811, + 1, + 3.2, + 1, + 1, + 3.656, + 1, + 4.111, + 1, + 4.567, + 1, + 0, + 4.6, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBustY", + "Segments": [ + 0, + 0, + 1, + 1.522, + 0, + 3.044, + 0, + 4.567, + 0, + 0, + 4.6, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmLA", + "Segments": [ + 0, + 0.5, + 1, + 0.178, + 0.5, + 0.356, + 0.5, + 0.533, + 0.5, + 1, + 0.733, + 0.5, + 0.933, + 1, + 1.133, + 1, + 1, + 2.278, + 1, + 3.422, + 1, + 4.567, + 1, + 0, + 4.6, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmRA", + "Segments": [ + 0, + 0.5, + 1, + 0.178, + 0.5, + 0.356, + 0.5, + 0.533, + 0.5, + 1, + 0.733, + 0.5, + 0.933, + 1, + 1.133, + 1, + 1, + 2.278, + 1, + 3.422, + 1, + 4.567, + 1, + 0, + 4.6, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmLB", + "Segments": [ + 0, + 0, + 1, + 1.522, + 0, + 3.044, + 0, + 4.567, + 0, + 0, + 4.6, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmRB", + "Segments": [ + 0, + 0, + 1, + 1.522, + 0, + 3.044, + 0, + 4.567, + 0, + 0, + 4.6, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandChangeR", + "Segments": [ + 0, + 0, + 1, + 1.522, + 0, + 3.044, + 0, + 4.567, + 0, + 0, + 4.6, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandAngleR", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.078, + 0, + 1.156, + 0.19, + 1.233, + 0.19, + 1, + 2.344, + 0.19, + 3.456, + 0.19, + 4.567, + 0.19, + 0, + 4.6, + 0.19 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandDhangeL", + "Segments": [ + 0, + 0, + 1, + 1.522, + 0, + 3.044, + 0, + 4.567, + 0, + 0, + 4.6, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandAngleL", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.078, + 0, + 1.156, + -0.17, + 1.233, + -0.17, + 1, + 2.344, + -0.17, + 3.456, + -0.17, + 4.567, + -0.17, + 0, + 4.6, + -0.17 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHairFront", + "Segments": [ + 0, + 0, + 1, + 1.522, + 0, + 3.044, + 0, + 4.567, + 0, + 0, + 4.6, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHairSide", + "Segments": [ + 0, + 0, + 1, + 1.522, + 0, + 3.044, + 0, + 4.567, + 0, + 0, + 4.6, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHairBack", + "Segments": [ + 0, + 0, + 1, + 1.522, + 0, + 3.044, + 0, + 4.567, + 0, + 0, + 4.6, + 0 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Core", + "Segments": [ + 0, + 1, + 2, + 4.57, + 1, + 0, + 4.6, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Hoho001", + "Segments": [ + 0, + 1, + 2, + 4.57, + 1, + 0, + 4.6, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Brow001", + "Segments": [ + 0, + 1, + 2, + 4.57, + 1, + 0, + 4.6, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Tear", + "Segments": [ + 0, + 1, + 2, + 4.57, + 1, + 0, + 4.6, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01EyeBall001", + "Segments": [ + 0, + 1, + 2, + 4.57, + 1, + 0, + 4.6, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Eye001", + "Segments": [ + 0, + 1, + 2, + 4.57, + 1, + 0, + 4.6, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Nose001", + "Segments": [ + 0, + 1, + 2, + 4.57, + 1, + 0, + 4.6, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Mouth001", + "Segments": [ + 0, + 1, + 2, + 4.57, + 1, + 0, + 4.6, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Face001", + "Segments": [ + 0, + 1, + 2, + 4.57, + 1, + 0, + 4.6, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Ear001", + "Segments": [ + 0, + 1, + 2, + 4.57, + 1, + 0, + 4.6, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Neck001", + "Segments": [ + 0, + 1, + 2, + 4.57, + 1, + 0, + 4.6, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01HairFront001", + "Segments": [ + 0, + 1, + 2, + 4.57, + 1, + 0, + 4.6, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01HairSide001", + "Segments": [ + 0, + 1, + 2, + 4.57, + 1, + 0, + 4.6, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01HairBack001", + "Segments": [ + 0, + 1, + 2, + 4.57, + 1, + 0, + 4.6, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01ArmRB001", + "Segments": [ + 0, + 0, + 2, + 4.57, + 0, + 0, + 4.6, + 0 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01ArmLB001", + "Segments": [ + 0, + 0, + 2, + 4.57, + 0, + 0, + 4.6, + 0 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01ArmRA001", + "Segments": [ + 0, + 1, + 2, + 4.57, + 1, + 0, + 4.6, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01ArmLA001", + "Segments": [ + 0, + 1, + 2, + 4.57, + 1, + 0, + 4.6, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Body001", + "Segments": [ + 0, + 1, + 2, + 4.57, + 1, + 0, + 4.6, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Sketch", + "Segments": [ + 0, + 0, + 2, + 4.57, + 0, + 0, + 4.6, + 0 + ] + } + ] +} \ No newline at end of file diff --git a/staticfiles/haru_greeter_pro_jp/runtime/motion/haru_g_m09.motion3.json b/staticfiles/haru_greeter_pro_jp/runtime/motion/haru_g_m09.motion3.json new file mode 100644 index 0000000000000000000000000000000000000000..55583e37b4f9c309b9a0868cb1f5dffa7ed67426 --- /dev/null +++ b/staticfiles/haru_greeter_pro_jp/runtime/motion/haru_g_m09.motion3.json @@ -0,0 +1,2691 @@ +{ + "Version": 3, + "Meta": { + "Duration": 4.03, + "Fps": 30.0, + "Loop": true, + "AreBeziersRestricted": true, + "CurveCount": 63, + "TotalSegmentCount": 369, + "TotalPointCount": 964, + "UserDataCount": 0, + "TotalUserDataSize": 0 + }, + "Curves": [ + { + "Target": "Model", + "Id": "Opacity", + "Segments": [ + 0, + 1, + 1, + 0.96, + 1, + 1.91, + 1, + 2.87, + 1, + 1, + 3.24, + 1, + 3.62, + 1, + 4, + 1, + 0, + 4.03, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleX", + "Segments": [ + 0, + 0, + 1, + 0.222, + 0, + 0.444, + 0, + 0.667, + 0, + 1, + 0.822, + 0, + 0.978, + 1, + 1.133, + 1, + 1, + 1.311, + 1, + 1.489, + -0.44, + 1.667, + -0.984, + 1, + 1.833, + -1.291, + 2, + -1.455, + 2.167, + -1.455, + 1, + 2.344, + -1.455, + 2.522, + 0.37, + 2.7, + 0.37, + 1, + 2.944, + 0.37, + 3.189, + 0, + 3.433, + 0, + 1, + 3.622, + 0, + 3.811, + 0, + 4, + 0, + 0, + 4.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleY", + "Segments": [ + 0, + 0, + 1, + 0.267, + 0, + 0.533, + 0, + 0.8, + 0, + 1, + 0.956, + 0, + 1.111, + 17, + 1.267, + 17, + 1, + 1.444, + 17, + 1.622, + -16, + 1.8, + -16, + 1, + 1.978, + -16, + 2.156, + -16, + 2.333, + -16, + 1, + 2.411, + -16, + 2.489, + -16.369, + 2.567, + -15.184, + 1, + 2.7, + -13.151, + 2.833, + 1, + 2.967, + 1, + 1, + 3.233, + 1, + 3.5, + 0, + 3.767, + 0, + 1, + 3.844, + 0, + 3.922, + 0, + 4, + 0, + 0, + 4.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleZ", + "Segments": [ + 0, + 0, + 1, + 0.222, + 0, + 0.444, + 0, + 0.667, + 0, + 1, + 0.822, + 0, + 0.978, + 3, + 1.133, + 3, + 1, + 1.311, + 3, + 1.489, + 0.06, + 1.667, + -1, + 1, + 1.844, + -2.06, + 2.022, + -2, + 2.2, + -2, + 1, + 2.378, + -2, + 2.556, + 0, + 2.733, + 0, + 1, + 3.156, + 0, + 3.578, + 0, + 4, + 0, + 0, + 4.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamTere", + "Segments": [ + 0, + 0, + 1, + 0.222, + 0, + 0.444, + 0, + 0.667, + 0, + 1, + 0.822, + 0, + 0.978, + 0, + 1.133, + 0, + 1, + 1.311, + 0, + 1.489, + 0, + 1.667, + 0, + 1, + 1.844, + 0, + 2.022, + 0, + 2.2, + 0, + 1, + 2.378, + 0, + 2.556, + 0, + 2.733, + 0, + 1, + 3.156, + 0, + 3.578, + 0, + 4, + 0, + 0, + 4.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamFaceForm", + "Segments": [ + 0, + 0, + 1, + 0.222, + 0, + 0.444, + 0, + 0.667, + 0, + 1, + 0.822, + 0, + 0.978, + 0, + 1.133, + 0, + 1, + 1.311, + 0, + 1.489, + 0, + 1.667, + 0, + 1, + 1.844, + 0, + 2.022, + 0, + 2.2, + 0, + 1, + 2.378, + 0, + 2.556, + 0, + 2.733, + 0, + 1, + 3.156, + 0, + 3.578, + 0, + 4, + 0, + 0, + 4.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeLOpen", + "Segments": [ + 0, + 1, + 1, + 0.222, + 1, + 0.444, + 1, + 0.667, + 1, + 1, + 0.822, + 1, + 0.978, + 1.1, + 1.133, + 1.1, + 1, + 1.311, + 1.1, + 1.489, + 0, + 1.667, + 0, + 1, + 1.844, + 0, + 2.022, + 0, + 2.2, + 0, + 1, + 2.3, + 0, + 2.4, + -0.009, + 2.5, + 0.2, + 1, + 2.578, + 0.362, + 2.656, + 1.1, + 2.733, + 1.1, + 1, + 2.933, + 1.1, + 3.133, + 1, + 3.333, + 1, + 1, + 3.556, + 1, + 3.778, + 1, + 4, + 1, + 0, + 4.033, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeLSmile", + "Segments": [ + 0, + 0, + 1, + 0.222, + 0, + 0.444, + 0, + 0.667, + 0, + 1, + 0.822, + 0, + 0.978, + 0, + 1.133, + 0, + 1, + 1.311, + 0, + 1.489, + 0, + 1.667, + 0, + 1, + 1.844, + 0, + 2.022, + 0, + 2.2, + 0, + 1, + 2.378, + 0, + 2.556, + 0, + 2.733, + 0, + 1, + 3.156, + 0, + 3.578, + 0, + 4, + 0, + 0, + 4.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeROpen", + "Segments": [ + 0, + 1, + 1, + 0.222, + 1, + 0.444, + 1, + 0.667, + 1, + 1, + 0.822, + 1, + 0.978, + 1.1, + 1.133, + 1.1, + 1, + 1.311, + 1.1, + 1.489, + 0, + 1.667, + 0, + 1, + 1.844, + 0, + 2.022, + 0, + 2.2, + 0, + 1, + 2.3, + 0, + 2.4, + -0.009, + 2.5, + 0.2, + 1, + 2.578, + 0.362, + 2.656, + 1.1, + 2.733, + 1.1, + 1, + 2.933, + 1.1, + 3.133, + 1, + 3.333, + 1, + 1, + 3.556, + 1, + 3.778, + 1, + 4, + 1, + 0, + 4.033, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeRSmile", + "Segments": [ + 0, + 0, + 1, + 0.222, + 0, + 0.444, + 0, + 0.667, + 0, + 1, + 0.822, + 0, + 0.978, + 0, + 1.133, + 0, + 1, + 1.311, + 0, + 1.489, + 0, + 1.667, + 0, + 1, + 1.844, + 0, + 2.022, + 0, + 2.2, + 0, + 1, + 2.378, + 0, + 2.556, + 0, + 2.733, + 0, + 1, + 3.156, + 0, + 3.578, + 0, + 4, + 0, + 0, + 4.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeForm", + "Segments": [ + 0, + 0, + 1, + 0.222, + 0, + 0.444, + 0, + 0.667, + 0, + 1, + 0.822, + 0, + 0.978, + 0, + 1.133, + 0, + 1, + 1.311, + 0, + 1.489, + 0, + 1.667, + 0, + 1, + 1.844, + 0, + 2.022, + 0, + 2.2, + 0, + 1, + 2.378, + 0, + 2.556, + 0, + 2.733, + 0, + 1, + 3.156, + 0, + 3.578, + 0, + 4, + 0, + 0, + 4.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallForm", + "Segments": [ + 0, + 0, + 1, + 0.222, + 0, + 0.444, + 0, + 0.667, + 0, + 1, + 0.822, + 0, + 0.978, + 0, + 1.133, + 0, + 1, + 1.311, + 0, + 1.489, + 0, + 1.667, + 0, + 1, + 1.844, + 0, + 2.022, + 0, + 2.2, + 0, + 1, + 2.378, + 0, + 2.556, + 0, + 2.733, + 0, + 1, + 3.156, + 0, + 3.578, + 0, + 4, + 0, + 0, + 4.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamTear", + "Segments": [ + 0, + 0, + 1, + 0.222, + 0, + 0.444, + 0, + 0.667, + 0, + 1, + 0.822, + 0, + 0.978, + 0, + 1.133, + 0, + 1, + 1.311, + 0, + 1.489, + 0, + 1.667, + 0, + 1, + 1.844, + 0, + 2.022, + 0, + 2.2, + 0, + 1, + 2.378, + 0, + 2.556, + 0, + 2.733, + 0, + 1, + 3.156, + 0, + 3.578, + 0, + 4, + 0, + 0, + 4.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallX", + "Segments": [ + 0, + 0, + 1, + 0.222, + 0, + 0.444, + 0, + 0.667, + 0, + 1, + 0.822, + 0, + 0.978, + 0, + 1.133, + 0, + 1, + 1.311, + 0, + 1.489, + 0, + 1.667, + 0, + 1, + 1.844, + 0, + 2.022, + 0, + 2.2, + 0, + 1, + 2.378, + 0, + 2.556, + 0, + 2.733, + 0, + 1, + 3.156, + 0, + 3.578, + 0, + 4, + 0, + 0, + 4.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallY", + "Segments": [ + 0, + 0, + 1, + 0.222, + 0, + 0.444, + 0, + 0.667, + 0, + 1, + 0.822, + 0, + 0.978, + 0, + 1.133, + 0, + 1, + 1.311, + 0, + 1.489, + 0, + 1.667, + 0, + 1, + 1.844, + 0, + 2.022, + 0, + 2.2, + 0, + 1, + 2.378, + 0, + 2.556, + 0, + 2.733, + 0, + 1, + 3.156, + 0, + 3.578, + 0, + 4, + 0, + 0, + 4.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLY", + "Segments": [ + 0, + 0, + 1, + 0.222, + 0, + 0.444, + 0, + 0.667, + 0, + 1, + 0.822, + 0, + 0.978, + 0.1, + 1.133, + 0.1, + 1, + 1.311, + 0.1, + 1.489, + -0.3, + 1.667, + -0.3, + 1, + 1.844, + -0.3, + 2.022, + -0.3, + 2.2, + -0.3, + 1, + 2.378, + -0.3, + 2.556, + 0.1, + 2.733, + 0.1, + 1, + 2.933, + 0.1, + 3.133, + 0, + 3.333, + 0, + 1, + 3.556, + 0, + 3.778, + 0, + 4, + 0, + 0, + 4.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRY", + "Segments": [ + 0, + 0, + 1, + 0.222, + 0, + 0.444, + 0, + 0.667, + 0, + 1, + 0.822, + 0, + 0.978, + 0.1, + 1.133, + 0.1, + 1, + 1.311, + 0.1, + 1.489, + -0.3, + 1.667, + -0.3, + 1, + 1.844, + -0.3, + 2.022, + -0.3, + 2.2, + -0.3, + 1, + 2.378, + -0.3, + 2.556, + 0.1, + 2.733, + 0.1, + 1, + 2.933, + 0.1, + 3.133, + 0, + 3.333, + 0, + 1, + 3.556, + 0, + 3.778, + 0, + 4, + 0, + 0, + 4.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLX", + "Segments": [ + 0, + 0, + 1, + 0.222, + 0, + 0.444, + 0, + 0.667, + 0, + 1, + 0.822, + 0, + 0.978, + 0.1, + 1.133, + 0.1, + 1, + 1.311, + 0.1, + 1.489, + 0, + 1.667, + 0, + 1, + 1.844, + 0, + 2.022, + 0, + 2.2, + 0, + 1, + 2.378, + 0, + 2.556, + 0, + 2.733, + 0, + 1, + 3.156, + 0, + 3.578, + 0, + 4, + 0, + 0, + 4.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRX", + "Segments": [ + 0, + 0, + 1, + 0.222, + 0, + 0.444, + 0, + 0.667, + 0, + 1, + 0.822, + 0, + 0.978, + 0.1, + 1.133, + 0.1, + 1, + 1.311, + 0.1, + 1.489, + 0, + 1.667, + 0, + 1, + 1.844, + 0, + 2.022, + 0, + 2.2, + 0, + 1, + 2.378, + 0, + 2.556, + 0, + 2.733, + 0, + 1, + 3.156, + 0, + 3.578, + 0, + 4, + 0, + 0, + 4.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLAngle", + "Segments": [ + 0, + 0, + 1, + 0.222, + 0, + 0.444, + 0, + 0.667, + 0, + 1, + 0.822, + 0, + 0.978, + 0.1, + 1.133, + 0.1, + 1, + 1.311, + 0.1, + 1.489, + 0, + 1.667, + 0, + 1, + 1.844, + 0, + 2.022, + 0, + 2.2, + 0, + 1, + 2.378, + 0, + 2.556, + 0, + 2.733, + 0, + 1, + 3.156, + 0, + 3.578, + 0, + 4, + 0, + 0, + 4.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRAngle", + "Segments": [ + 0, + 0, + 1, + 0.222, + 0, + 0.444, + 0, + 0.667, + 0, + 1, + 0.822, + 0, + 0.978, + 0.1, + 1.133, + 0.1, + 1, + 1.311, + 0.1, + 1.489, + 0, + 1.667, + 0, + 1, + 1.844, + 0, + 2.022, + 0, + 2.2, + 0, + 1, + 2.378, + 0, + 2.556, + 0, + 2.733, + 0, + 1, + 3.156, + 0, + 3.578, + 0, + 4, + 0, + 0, + 4.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLForm", + "Segments": [ + 0, + 0, + 1, + 0.222, + 0, + 0.444, + 0, + 0.667, + 0, + 1, + 0.822, + 0, + 0.978, + 0, + 1.133, + 0, + 1, + 1.311, + 0, + 1.489, + 0, + 1.667, + 0, + 1, + 1.844, + 0, + 2.022, + 0, + 2.2, + 0, + 1, + 2.378, + 0, + 2.556, + 0, + 2.733, + 0, + 1, + 3.156, + 0, + 3.578, + 0, + 4, + 0, + 0, + 4.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRForm", + "Segments": [ + 0, + 0, + 1, + 0.222, + 0, + 0.444, + 0, + 0.667, + 0, + 1, + 0.822, + 0, + 0.978, + 0, + 1.133, + 0, + 1, + 1.311, + 0, + 1.489, + 0, + 1.667, + 0, + 1, + 1.844, + 0, + 2.022, + 0, + 2.2, + 0, + 1, + 2.378, + 0, + 2.556, + 0, + 2.733, + 0, + 1, + 3.156, + 0, + 3.578, + 0, + 4, + 0, + 0, + 4.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamMouthForm", + "Segments": [ + 0, + 1, + 1, + 0.222, + 1, + 0.444, + 1, + 0.667, + 1, + 1, + 0.822, + 1, + 0.978, + 1, + 1.133, + 1, + 1, + 1.311, + 1, + 1.489, + 1, + 1.667, + 1, + 1, + 1.844, + 1, + 2.022, + 1, + 2.2, + 1, + 1, + 2.378, + 1, + 2.556, + 1, + 2.733, + 1, + 1, + 3.156, + 1, + 3.578, + 1, + 4, + 1, + 0, + 4.033, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamMouthOpenY", + "Segments": [ + 0, + 0, + 1, + 0.222, + 0, + 0.444, + 0, + 0.667, + 0, + 1, + 0.822, + 0, + 0.978, + 0, + 1.133, + 0, + 1, + 1.311, + 0, + 1.489, + 0, + 1.667, + 0, + 1, + 1.844, + 0, + 2.022, + 0, + 2.2, + 0, + 1, + 2.378, + 0, + 2.556, + 0, + 2.733, + 0, + 1, + 3.156, + 0, + 3.578, + 0, + 4, + 0, + 0, + 4.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamScarf", + "Segments": [ + 0, + 0, + 1, + 0.222, + 0, + 0.444, + 0, + 0.667, + 0, + 1, + 0.822, + 0, + 0.978, + 0, + 1.133, + 0, + 1, + 1.311, + 0, + 1.489, + 0, + 1.667, + 0, + 1, + 1.844, + 0, + 2.022, + 0, + 2.2, + 0, + 1, + 2.378, + 0, + 2.556, + 0, + 2.733, + 0, + 1, + 3.156, + 0, + 3.578, + 0, + 4, + 0, + 0, + 4.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleX", + "Segments": [ + 0, + 0, + 1, + 0.222, + 0, + 0.444, + 0, + 0.667, + 0, + 1, + 0.822, + 0, + 0.978, + -1, + 1.133, + -1, + 1, + 1.311, + -1, + 1.489, + -0.667, + 1.667, + 0, + 1, + 1.844, + 0.667, + 2.022, + 1, + 2.2, + 1, + 1, + 2.378, + 1, + 2.556, + -1, + 2.733, + -1, + 1, + 2.978, + -1, + 3.222, + 0, + 3.467, + 0, + 1, + 3.644, + 0, + 3.822, + 0, + 4, + 0, + 0, + 4.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleY", + "Segments": [ + 0, + 0, + 1, + 0.222, + 0, + 0.444, + 0, + 0.667, + 0, + 1, + 0.822, + 0, + 0.978, + 2, + 1.133, + 2, + 1, + 1.311, + 2, + 1.489, + -2.258, + 1.667, + -2.668, + 1, + 1.844, + -3.079, + 2.022, + -3, + 2.2, + -3, + 1, + 2.378, + -3, + 2.556, + 1, + 2.733, + 1, + 1, + 2.978, + 1, + 3.222, + 0, + 3.467, + 0, + 1, + 3.644, + 0, + 3.822, + 0, + 4, + 0, + 0, + 4.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleZ", + "Segments": [ + 0, + 0, + 1, + 0.222, + 0, + 0.444, + 0, + 0.667, + 0, + 1, + 0.822, + 0, + 0.978, + 1, + 1.133, + 1, + 1, + 1.311, + 1, + 1.489, + -0.112, + 1.667, + -1, + 1, + 1.844, + -1.888, + 2.022, + -2, + 2.2, + -2, + 1, + 2.378, + -2, + 2.556, + 1, + 2.733, + 1, + 1, + 2.978, + 1, + 3.222, + 0, + 3.467, + 0, + 1, + 3.644, + 0, + 3.822, + 0, + 4, + 0, + 0, + 4.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyUpper", + "Segments": [ + 0, + 0, + 1, + 0.222, + 0, + 0.444, + 0, + 0.667, + 0, + 1, + 0.822, + 0, + 0.978, + -1, + 1.133, + -1, + 1, + 1.311, + -1, + 1.489, + 1.94, + 1.667, + 3, + 1, + 1.844, + 4.06, + 2.022, + 4, + 2.2, + 4, + 1, + 2.378, + 4, + 2.556, + 0, + 2.733, + 0, + 1, + 3.156, + 0, + 3.578, + 0, + 4, + 0, + 0, + 4.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBreath", + "Segments": [ + 0, + 0, + 1, + 0.222, + 0, + 0.444, + 0, + 0.667, + 0, + 1, + 0.822, + 0, + 0.978, + 0, + 1.133, + 0, + 1, + 1.311, + 0, + 1.489, + 0, + 1.667, + 0, + 1, + 1.844, + 0, + 2.022, + 0, + 2.2, + 0, + 1, + 2.378, + 0, + 2.556, + 0, + 2.733, + 0, + 1, + 3.156, + 0, + 3.578, + 0, + 4, + 0, + 0, + 4.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBustY", + "Segments": [ + 0, + 0, + 1, + 0.222, + 0, + 0.444, + 0, + 0.667, + 0, + 1, + 0.822, + 0, + 0.978, + 0, + 1.133, + 0, + 1, + 1.311, + 0, + 1.489, + 0, + 1.667, + 0, + 1, + 1.844, + 0, + 2.022, + 0, + 2.2, + 0, + 1, + 2.378, + 0, + 2.556, + 0, + 2.733, + 0, + 1, + 3.156, + 0, + 3.578, + 0, + 4, + 0, + 0, + 4.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmLA", + "Segments": [ + 0, + 1, + 1, + 0.222, + 1, + 0.444, + 1, + 0.667, + 1, + 1, + 0.822, + 1, + 0.978, + 1, + 1.133, + 1, + 1, + 1.311, + 1, + 1.489, + 1, + 1.667, + 1, + 1, + 1.844, + 1, + 2.022, + 1, + 2.2, + 1, + 1, + 2.378, + 1, + 2.556, + 1, + 2.733, + 1, + 1, + 3.156, + 1, + 3.578, + 1, + 4, + 1, + 0, + 4.033, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmRA", + "Segments": [ + 0, + 1, + 1, + 0.222, + 1, + 0.444, + 1, + 0.667, + 1, + 1, + 0.822, + 1, + 0.978, + 1, + 1.133, + 1, + 1, + 1.311, + 1, + 1.489, + 1, + 1.667, + 1, + 1, + 1.844, + 1, + 2.022, + 1, + 2.2, + 1, + 1, + 2.378, + 1, + 2.556, + 1, + 2.733, + 1, + 1, + 3.156, + 1, + 3.578, + 1, + 4, + 1, + 0, + 4.033, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmLB", + "Segments": [ + 0, + 5, + 1, + 0.222, + 5, + 0.444, + 5, + 0.667, + 5, + 1, + 0.822, + 5, + 0.978, + 5, + 1.133, + 5, + 1, + 1.311, + 5, + 1.489, + 5, + 1.667, + 5, + 1, + 1.844, + 5, + 2.022, + 5, + 2.2, + 5, + 1, + 2.378, + 5, + 2.556, + 5, + 2.733, + 5, + 1, + 3.156, + 5, + 3.578, + 5, + 4, + 5, + 0, + 4.033, + 5 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmRB", + "Segments": [ + 0, + 0, + 1, + 0.222, + 0, + 0.444, + 0, + 0.667, + 0, + 1, + 0.822, + 0, + 0.978, + 0, + 1.133, + 0, + 1, + 1.311, + 0, + 1.489, + 0, + 1.667, + 0, + 1, + 1.844, + 0, + 2.022, + 0, + 2.2, + 0, + 1, + 2.378, + 0, + 2.556, + 0, + 2.733, + 0, + 1, + 3.156, + 0, + 3.578, + 0, + 4, + 0, + 0, + 4.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandChangeR", + "Segments": [ + 0, + 0, + 1, + 0.222, + 0, + 0.444, + 0, + 0.667, + 0, + 1, + 0.822, + 0, + 0.978, + 0, + 1.133, + 0, + 1, + 1.311, + 0, + 1.489, + 0, + 1.667, + 0, + 1, + 1.844, + 0, + 2.022, + 0, + 2.2, + 0, + 1, + 2.378, + 0, + 2.556, + 0, + 2.733, + 0, + 1, + 3.156, + 0, + 3.578, + 0, + 4, + 0, + 0, + 4.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandAngleR", + "Segments": [ + 0, + -0.1, + 1, + 0.222, + -0.1, + 0.444, + -0.1, + 0.667, + -0.1, + 1, + 0.822, + -0.1, + 0.978, + -0.1, + 1.133, + -0.1, + 1, + 1.311, + -0.1, + 1.489, + 0, + 1.667, + 0, + 1, + 1.844, + 0, + 2.022, + 0, + 2.2, + 0, + 1, + 2.378, + 0, + 2.556, + -0.1, + 2.733, + -0.1, + 1, + 3.156, + -0.1, + 3.578, + -0.1, + 4, + -0.1, + 0, + 4.033, + -0.1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandDhangeL", + "Segments": [ + 0, + 0, + 1, + 0.222, + 0, + 0.444, + 0, + 0.667, + 0, + 1, + 0.822, + 0, + 0.978, + 0, + 1.133, + 0, + 1, + 1.311, + 0, + 1.489, + 0, + 1.667, + 0, + 1, + 1.844, + 0, + 2.022, + 0, + 2.2, + 0, + 1, + 2.378, + 0, + 2.556, + 0, + 2.733, + 0, + 1, + 3.156, + 0, + 3.578, + 0, + 4, + 0, + 0, + 4.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandAngleL", + "Segments": [ + 0, + 0.1, + 1, + 0.222, + 0.1, + 0.444, + 0.1, + 0.667, + 0.1, + 1, + 0.822, + 0.1, + 0.978, + 0.1, + 1.133, + 0.1, + 1, + 1.311, + 0.1, + 1.489, + 0, + 1.667, + 0, + 1, + 1.844, + 0, + 2.022, + 0, + 2.2, + 0, + 1, + 2.378, + 0, + 2.556, + 0.1, + 2.733, + 0.1, + 1, + 3.156, + 0.1, + 3.578, + 0.1, + 4, + 0.1, + 0, + 4.033, + 0.1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHairFront", + "Segments": [ + 0, + 0, + 1, + 0.222, + 0, + 0.444, + 0, + 0.667, + 0, + 1, + 0.822, + 0, + 0.978, + 0, + 1.133, + 0, + 1, + 1.311, + 0, + 1.489, + 0, + 1.667, + 0, + 1, + 1.844, + 0, + 2.022, + 0, + 2.2, + 0, + 1, + 2.378, + 0, + 2.556, + 0, + 2.733, + 0, + 1, + 3.156, + 0, + 3.578, + 0, + 4, + 0, + 0, + 4.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHairSide", + "Segments": [ + 0, + 0, + 1, + 0.222, + 0, + 0.444, + 0, + 0.667, + 0, + 1, + 0.822, + 0, + 0.978, + 0, + 1.133, + 0, + 1, + 1.311, + 0, + 1.489, + 0, + 1.667, + 0, + 1, + 1.844, + 0, + 2.022, + 0, + 2.2, + 0, + 1, + 2.378, + 0, + 2.556, + 0, + 2.733, + 0, + 1, + 3.156, + 0, + 3.578, + 0, + 4, + 0, + 0, + 4.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHairBack", + "Segments": [ + 0, + 0, + 1, + 0.222, + 0, + 0.444, + 0, + 0.667, + 0, + 1, + 0.822, + 0, + 0.978, + 0, + 1.133, + 0, + 1, + 1.311, + 0, + 1.489, + 0, + 1.667, + 0, + 1, + 1.844, + 0, + 2.022, + 0, + 2.2, + 0, + 1, + 2.378, + 0, + 2.556, + 0, + 2.733, + 0, + 1, + 3.156, + 0, + 3.578, + 0, + 4, + 0, + 0, + 4.033, + 0 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Core", + "Segments": [ + 0, + 1, + 2, + 2.87, + 1, + 2, + 4, + 1, + 0, + 4.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Hoho001", + "Segments": [ + 0, + 1, + 2, + 2.87, + 1, + 2, + 4, + 1, + 0, + 4.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Brow001", + "Segments": [ + 0, + 1, + 2, + 2.87, + 1, + 2, + 4, + 1, + 0, + 4.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Tear", + "Segments": [ + 0, + 1, + 2, + 2.87, + 1, + 2, + 4, + 1, + 0, + 4.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01EyeBall001", + "Segments": [ + 0, + 1, + 2, + 2.87, + 1, + 2, + 4, + 1, + 0, + 4.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Eye001", + "Segments": [ + 0, + 1, + 2, + 2.87, + 1, + 2, + 4, + 1, + 0, + 4.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Nose001", + "Segments": [ + 0, + 1, + 2, + 2.87, + 1, + 2, + 4, + 1, + 0, + 4.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Mouth001", + "Segments": [ + 0, + 1, + 2, + 2.87, + 1, + 2, + 4, + 1, + 0, + 4.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Face001", + "Segments": [ + 0, + 1, + 2, + 2.87, + 1, + 2, + 4, + 1, + 0, + 4.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Ear001", + "Segments": [ + 0, + 1, + 2, + 2.87, + 1, + 2, + 4, + 1, + 0, + 4.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Neck001", + "Segments": [ + 0, + 1, + 2, + 2.87, + 1, + 2, + 4, + 1, + 0, + 4.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01HairFront001", + "Segments": [ + 0, + 1, + 2, + 2.87, + 1, + 2, + 4, + 1, + 0, + 4.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01HairSide001", + "Segments": [ + 0, + 1, + 2, + 2.87, + 1, + 2, + 4, + 1, + 0, + 4.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01HairBack001", + "Segments": [ + 0, + 1, + 2, + 2.87, + 1, + 2, + 4, + 1, + 0, + 4.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01ArmRB001", + "Segments": [ + 0, + 0, + 2, + 2.87, + 0, + 2, + 4, + 0, + 0, + 4.03, + 0 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01ArmLB001", + "Segments": [ + 0, + 0, + 2, + 2.87, + 0, + 2, + 4, + 0, + 0, + 4.03, + 0 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01ArmRA001", + "Segments": [ + 0, + 1, + 2, + 2.87, + 1, + 2, + 4, + 1, + 0, + 4.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01ArmLA001", + "Segments": [ + 0, + 1, + 2, + 2.87, + 1, + 2, + 4, + 1, + 0, + 4.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Body001", + "Segments": [ + 0, + 1, + 2, + 2.87, + 1, + 2, + 4, + 1, + 0, + 4.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Sketch", + "Segments": [ + 0, + 0, + 2, + 2.87, + 0, + 2, + 4, + 0, + 0, + 4.03, + 0 + ] + } + ] +} \ No newline at end of file diff --git a/staticfiles/haru_greeter_pro_jp/runtime/motion/haru_g_m10.motion3.json b/staticfiles/haru_greeter_pro_jp/runtime/motion/haru_g_m10.motion3.json new file mode 100644 index 0000000000000000000000000000000000000000..e8d4acf4abee0335a7a681c5658d595b6c8bd996 --- /dev/null +++ b/staticfiles/haru_greeter_pro_jp/runtime/motion/haru_g_m10.motion3.json @@ -0,0 +1,3706 @@ +{ + "Version": 3, + "Meta": { + "Duration": 5.53, + "Fps": 30.0, + "Loop": true, + "AreBeziersRestricted": true, + "CurveCount": 63, + "TotalSegmentCount": 514, + "TotalPointCount": 1399, + "UserDataCount": 0, + "TotalUserDataSize": 0 + }, + "Curves": [ + { + "Target": "Model", + "Id": "Opacity", + "Segments": [ + 0, + 1, + 1, + 1.13, + 1, + 2.27, + 1, + 3.4, + 1, + 1, + 4.1, + 1, + 4.8, + 1, + 5.5, + 1, + 0, + 5.53, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleX", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 1, + 0.456, + 0, + 0.578, + 0.15, + 0.7, + 2, + 1, + 0.844, + 4.186, + 0.989, + 7, + 1.133, + 7, + 1, + 1.211, + 7, + 1.289, + 7.283, + 1.367, + 6.75, + 1, + 1.622, + 4.997, + 1.878, + -2, + 2.133, + -2, + 1, + 2.611, + -2, + 3.089, + -2, + 3.567, + -2, + 1, + 3.667, + -2, + 3.767, + 2, + 3.867, + 2, + 1, + 4.178, + 2, + 4.489, + 0, + 4.8, + 0, + 0, + 5.533, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleY", + "Segments": [ + 0, + 0, + 1, + 0.133, + 0, + 0.267, + 0, + 0.4, + 0, + 1, + 0.467, + 0, + 0.533, + 27, + 0.6, + 27, + 1, + 0.656, + 27, + 0.711, + -11.41, + 0.767, + -15, + 1, + 0.911, + -24.333, + 1.056, + -26, + 1.2, + -26, + 1, + 1.344, + -26, + 1.489, + -25.361, + 1.633, + -25.361, + 1, + 1.756, + -25.361, + 1.878, + -30, + 2, + -30, + 1, + 2.111, + -30, + 2.222, + -3, + 2.333, + -3, + 1, + 2.744, + -3, + 3.156, + -3, + 3.567, + -3, + 1, + 3.689, + -3, + 3.811, + -22, + 3.933, + -22, + 1, + 4.089, + -22, + 4.244, + 12, + 4.4, + 12, + 1, + 4.556, + 12, + 4.711, + 0, + 4.867, + 0, + 0, + 5.533, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleZ", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 1, + 0.456, + 0, + 0.578, + 1, + 0.7, + 1, + 1, + 0.844, + 1, + 0.989, + -5, + 1.133, + -5, + 1, + 1.211, + -5, + 1.289, + -5.066, + 1.367, + -4.944, + 1, + 1.622, + -4.546, + 1.878, + -3, + 2.133, + -3, + 1, + 2.611, + -3, + 3.089, + -3, + 3.567, + -3, + 1, + 3.667, + -3, + 3.767, + -9, + 3.867, + -9, + 1, + 4.022, + -9, + 4.178, + 7, + 4.333, + 7, + 1, + 4.489, + 7, + 4.644, + -2, + 4.8, + -2, + 1, + 4.989, + -2, + 5.178, + 0, + 5.367, + 0, + 0, + 5.533, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamTere", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 1, + 0.456, + 0, + 0.578, + 0.5, + 0.7, + 0.5, + 1, + 0.844, + 0.5, + 0.989, + 0.5, + 1.133, + 0.5, + 1, + 1.211, + 0.5, + 1.289, + 0.5, + 1.367, + 0.5, + 1, + 1.622, + 0.5, + 1.878, + 0.5, + 2.133, + 0.5, + 1, + 2.611, + 0.5, + 3.089, + 0.5, + 3.567, + 0.5, + 1, + 3.978, + 0.5, + 4.389, + 0, + 4.8, + 0, + 0, + 5.533, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamFaceForm", + "Segments": [ + 0, + 0, + 0, + 5.533, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeLOpen", + "Segments": [ + 0, + 1, + 1, + 0.111, + 1, + 0.222, + 1, + 0.333, + 1, + 1, + 0.4, + 1, + 0.467, + 2, + 0.533, + 2, + 1, + 0.589, + 2, + 0.644, + 0, + 0.7, + 0, + 1, + 0.844, + 0, + 0.989, + 0, + 1.133, + 0, + 1, + 1.3, + 0, + 1.467, + 0, + 1.633, + 0, + 1, + 1.756, + 0, + 1.878, + 0, + 2, + 0, + 1, + 2.044, + 0, + 2.089, + 1.5, + 2.133, + 1.5, + 1, + 2.2, + 1.5, + 2.267, + 1.5, + 2.333, + 1.5, + 1, + 2.389, + 1.5, + 2.444, + 0, + 2.5, + 0, + 1, + 2.533, + 0, + 2.567, + 0, + 2.6, + 0, + 1, + 2.644, + 0, + 2.689, + 0.788, + 2.733, + 1.4, + 1, + 2.744, + 1.553, + 2.756, + 1.5, + 2.767, + 1.5, + 1, + 2.822, + 1.5, + 2.878, + 0, + 2.933, + 0, + 1, + 2.944, + 0, + 2.956, + 0, + 2.967, + 0, + 1, + 3.011, + 0, + 3.056, + 1.4, + 3.1, + 1.4, + 1, + 3.256, + 1.4, + 3.411, + 1.4, + 3.567, + 1.4, + 1, + 3.667, + 1.4, + 3.767, + 0, + 3.867, + 0, + 1, + 4.022, + 0, + 4.178, + 0, + 4.333, + 0, + 1, + 4.489, + 0, + 4.644, + 1, + 4.8, + 1, + 0, + 5.533, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeLSmile", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 1, + 0.4, + 0, + 0.467, + 1, + 0.533, + 1, + 1, + 0.589, + 1, + 0.644, + 1, + 0.7, + 1, + 1, + 0.844, + 1, + 0.989, + 1, + 1.133, + 1, + 1, + 1.3, + 1, + 1.467, + 1.009, + 1.633, + 0.913, + 1, + 1.756, + 0.843, + 1.878, + 0, + 2, + 0, + 1, + 2.044, + 0, + 2.089, + 0, + 2.133, + 0, + 1, + 2.611, + 0, + 3.089, + 0, + 3.567, + 0, + 1, + 3.978, + 0, + 4.389, + 0, + 4.8, + 0, + 0, + 5.533, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeROpen", + "Segments": [ + 0, + 1, + 1, + 0.111, + 1, + 0.222, + 1, + 0.333, + 1, + 1, + 0.4, + 1, + 0.467, + 2, + 0.533, + 2, + 1, + 0.589, + 2, + 0.644, + 0, + 0.7, + 0, + 1, + 0.844, + 0, + 0.989, + 0, + 1.133, + 0, + 1, + 1.3, + 0, + 1.467, + 0, + 1.633, + 0, + 1, + 1.756, + 0, + 1.878, + 0, + 2, + 0, + 1, + 2.044, + 0, + 2.089, + 1.5, + 2.133, + 1.5, + 1, + 2.2, + 1.5, + 2.267, + 1.5, + 2.333, + 1.5, + 1, + 2.389, + 1.5, + 2.444, + 0, + 2.5, + 0, + 1, + 2.533, + 0, + 2.567, + 0, + 2.6, + 0, + 1, + 2.644, + 0, + 2.689, + 0.788, + 2.733, + 1.4, + 1, + 2.744, + 1.553, + 2.756, + 1.5, + 2.767, + 1.5, + 1, + 2.822, + 1.5, + 2.878, + 0, + 2.933, + 0, + 1, + 2.944, + 0, + 2.956, + 0, + 2.967, + 0, + 1, + 3.011, + 0, + 3.056, + 1.4, + 3.1, + 1.4, + 1, + 3.256, + 1.4, + 3.411, + 1.4, + 3.567, + 1.4, + 1, + 3.667, + 1.4, + 3.767, + 0, + 3.867, + 0, + 1, + 4.022, + 0, + 4.178, + 0, + 4.333, + 0, + 1, + 4.489, + 0, + 4.644, + 1, + 4.8, + 1, + 0, + 5.533, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeRSmile", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 1, + 0.4, + 0, + 0.467, + 1, + 0.533, + 1, + 1, + 0.589, + 1, + 0.644, + 1, + 0.7, + 1, + 1, + 0.844, + 1, + 0.989, + 1, + 1.133, + 1, + 1, + 1.3, + 1, + 1.467, + 1.009, + 1.633, + 0.913, + 1, + 1.756, + 0.843, + 1.878, + 0, + 2, + 0, + 1, + 2.044, + 0, + 2.089, + 0, + 2.133, + 0, + 1, + 2.611, + 0, + 3.089, + 0, + 3.567, + 0, + 1, + 3.978, + 0, + 4.389, + 0, + 4.8, + 0, + 0, + 5.533, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeForm", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 1, + 0.456, + 0, + 0.578, + 0, + 0.7, + 0, + 1, + 0.844, + 0, + 0.989, + 0, + 1.133, + 0, + 1, + 1.211, + 0, + 1.289, + 0, + 1.367, + 0, + 1, + 1.622, + 0, + 1.878, + 0, + 2.133, + 0, + 1, + 2.611, + 0, + 3.089, + 0, + 3.567, + 0, + 1, + 3.978, + 0, + 4.389, + 0, + 4.8, + 0, + 0, + 5.533, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallForm", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 1, + 0.4, + 0, + 0.467, + -0.6, + 0.533, + -0.6, + 1, + 0.589, + -0.6, + 0.644, + 0, + 0.7, + 0, + 1, + 0.844, + 0, + 0.989, + 0, + 1.133, + 0, + 1, + 1.211, + 0, + 1.289, + 0, + 1.367, + 0, + 1, + 1.622, + 0, + 1.878, + 0, + 2.133, + 0, + 1, + 2.611, + 0, + 3.089, + 0, + 3.567, + 0, + 1, + 3.978, + 0, + 4.389, + 0, + 4.8, + 0, + 0, + 5.533, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamTear", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 1, + 0.456, + 0, + 0.578, + 0, + 0.7, + 0, + 1, + 0.844, + 0, + 0.989, + 0, + 1.133, + 0, + 1, + 1.211, + 0, + 1.289, + 0, + 1.367, + 0, + 1, + 1.622, + 0, + 1.878, + 0, + 2.133, + 0, + 1, + 2.611, + 0, + 3.089, + 0, + 3.567, + 0, + 1, + 3.978, + 0, + 4.389, + 0, + 4.8, + 0, + 0, + 5.533, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallX", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 1, + 0.4, + 0, + 0.467, + 0.1, + 0.533, + 0.1, + 1, + 0.589, + 0.1, + 0.644, + 0, + 0.7, + 0, + 1, + 0.844, + 0, + 0.989, + 0, + 1.133, + 0, + 1, + 1.3, + 0, + 1.467, + 0, + 1.633, + 0, + 1, + 1.756, + 0, + 1.878, + 0, + 2, + 0, + 1, + 2.044, + 0, + 2.089, + 0, + 2.133, + 0, + 1, + 2.2, + 0, + 2.267, + 0, + 2.333, + 0, + 1, + 2.389, + 0, + 2.444, + -0.1, + 2.5, + -0.1, + 1, + 2.533, + -0.1, + 2.567, + -0.1, + 2.6, + -0.1, + 1, + 2.644, + -0.1, + 2.689, + 0, + 2.733, + 0, + 1, + 2.744, + 0, + 2.756, + 0, + 2.767, + 0, + 1, + 2.822, + 0, + 2.878, + -0.1, + 2.933, + -0.1, + 1, + 2.944, + -0.1, + 2.956, + -0.1, + 2.967, + -0.1, + 1, + 3.011, + -0.1, + 3.056, + 0, + 3.1, + 0, + 1, + 3.256, + 0, + 3.411, + 0, + 3.567, + 0, + 1, + 3.667, + 0, + 3.767, + -0.2, + 3.867, + -0.2, + 1, + 4.022, + -0.2, + 4.178, + -0.2, + 4.333, + -0.2, + 1, + 4.489, + -0.2, + 4.644, + 0, + 4.8, + 0, + 0, + 5.533, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallY", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 1, + 0.4, + 0, + 0.467, + 0.2, + 0.533, + 0.2, + 1, + 0.589, + 0.2, + 0.644, + 0, + 0.7, + 0, + 1, + 0.844, + 0, + 0.989, + 0, + 1.133, + 0, + 1, + 1.3, + 0, + 1.467, + 0, + 1.633, + 0, + 1, + 1.756, + 0, + 1.878, + 0, + 2, + 0, + 1, + 2.044, + 0, + 2.089, + 0, + 2.133, + 0, + 1, + 2.2, + 0, + 2.267, + 0, + 2.333, + 0, + 1, + 2.389, + 0, + 2.444, + -0.1, + 2.5, + -0.1, + 1, + 2.533, + -0.1, + 2.567, + -0.1, + 2.6, + -0.1, + 1, + 2.644, + -0.1, + 2.689, + 0, + 2.733, + 0, + 1, + 2.744, + 0, + 2.756, + 0, + 2.767, + 0, + 1, + 2.822, + 0, + 2.878, + -0.1, + 2.933, + -0.1, + 1, + 2.944, + -0.1, + 2.956, + -0.1, + 2.967, + -0.1, + 1, + 3.011, + -0.1, + 3.056, + 0, + 3.1, + 0, + 1, + 3.256, + 0, + 3.411, + 0, + 3.567, + 0, + 1, + 3.667, + 0, + 3.767, + -0.2, + 3.867, + -0.2, + 1, + 4.022, + -0.2, + 4.178, + -0.2, + 4.333, + -0.2, + 1, + 4.489, + -0.2, + 4.644, + 0, + 4.8, + 0, + 0, + 5.533, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLY", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 1, + 0.4, + 0, + 0.467, + 0.7, + 0.533, + 0.7, + 1, + 0.589, + 0.7, + 0.644, + -0.6, + 0.7, + -0.6, + 1, + 0.844, + -0.6, + 0.989, + -0.6, + 1.133, + -0.6, + 1, + 1.3, + -0.6, + 1.467, + -0.564, + 1.633, + -0.564, + 1, + 1.756, + -0.564, + 1.878, + -0.7, + 2, + -0.7, + 1, + 2.044, + -0.7, + 2.089, + 0.7, + 2.133, + 0.7, + 1, + 2.2, + 0.7, + 2.267, + 0.7, + 2.333, + 0.7, + 1, + 2.389, + 0.7, + 2.444, + 0.6, + 2.5, + 0.6, + 1, + 2.533, + 0.6, + 2.567, + 0.6, + 2.6, + 0.6, + 1, + 2.644, + 0.6, + 2.689, + 0.7, + 2.733, + 0.7, + 1, + 2.744, + 0.7, + 2.756, + 0.7, + 2.767, + 0.7, + 1, + 2.811, + 0.7, + 2.856, + 0.6, + 2.9, + 0.6, + 1, + 2.922, + 0.6, + 2.944, + 0.6, + 2.967, + 0.6, + 1, + 3.011, + 0.6, + 3.056, + 0.7, + 3.1, + 0.7, + 1, + 3.256, + 0.7, + 3.411, + 0.7, + 3.567, + 0.7, + 1, + 3.667, + 0.7, + 3.767, + -0.5, + 3.867, + -0.5, + 1, + 4.178, + -0.5, + 4.489, + 0, + 4.8, + 0, + 0, + 5.533, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRY", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 1, + 0.4, + 0, + 0.467, + 0.7, + 0.533, + 0.7, + 1, + 0.589, + 0.7, + 0.644, + -0.6, + 0.7, + -0.6, + 1, + 0.844, + -0.6, + 0.989, + -0.6, + 1.133, + -0.6, + 1, + 1.3, + -0.6, + 1.467, + -0.564, + 1.633, + -0.564, + 1, + 1.756, + -0.564, + 1.878, + -0.7, + 2, + -0.7, + 1, + 2.044, + -0.7, + 2.089, + 0.7, + 2.133, + 0.7, + 1, + 2.2, + 0.7, + 2.267, + 0.7, + 2.333, + 0.7, + 1, + 2.389, + 0.7, + 2.444, + 0.6, + 2.5, + 0.6, + 1, + 2.533, + 0.6, + 2.567, + 0.6, + 2.6, + 0.6, + 1, + 2.644, + 0.6, + 2.689, + 0.7, + 2.733, + 0.7, + 1, + 2.744, + 0.7, + 2.756, + 0.7, + 2.767, + 0.7, + 1, + 2.811, + 0.7, + 2.856, + 0.6, + 2.9, + 0.6, + 1, + 2.922, + 0.6, + 2.944, + 0.6, + 2.967, + 0.6, + 1, + 3.011, + 0.6, + 3.056, + 0.7, + 3.1, + 0.7, + 1, + 3.256, + 0.7, + 3.411, + 0.7, + 3.567, + 0.7, + 1, + 3.667, + 0.7, + 3.767, + -0.5, + 3.867, + -0.5, + 1, + 4.178, + -0.5, + 4.489, + 0, + 4.8, + 0, + 0, + 5.533, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLX", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 1, + 0.4, + 0, + 0.467, + 0.4, + 0.533, + 0.4, + 1, + 0.589, + 0.4, + 0.644, + -0.4, + 0.7, + -0.4, + 1, + 0.844, + -0.4, + 0.989, + -0.4, + 1.133, + -0.4, + 1, + 1.3, + -0.4, + 1.467, + -0.378, + 1.633, + -0.378, + 1, + 1.756, + -0.378, + 1.878, + -0.378, + 2, + -0.378, + 1, + 2.044, + -0.378, + 2.089, + 0.4, + 2.133, + 0.4, + 1, + 2.611, + 0.4, + 3.089, + 0.4, + 3.567, + 0.4, + 1, + 3.667, + 0.4, + 3.767, + -0.4, + 3.867, + -0.4, + 1, + 4.178, + -0.4, + 4.489, + 0, + 4.8, + 0, + 0, + 5.533, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRX", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 1, + 0.4, + 0, + 0.467, + 0.4, + 0.533, + 0.4, + 1, + 0.589, + 0.4, + 0.644, + -0.4, + 0.7, + -0.4, + 1, + 0.844, + -0.4, + 0.989, + -0.4, + 1.133, + -0.4, + 1, + 1.3, + -0.4, + 1.467, + -0.378, + 1.633, + -0.378, + 1, + 1.756, + -0.378, + 1.878, + -0.378, + 2, + -0.378, + 1, + 2.044, + -0.378, + 2.089, + 0.4, + 2.133, + 0.4, + 1, + 2.611, + 0.4, + 3.089, + 0.4, + 3.567, + 0.4, + 1, + 3.978, + 0.4, + 4.389, + 0, + 4.8, + 0, + 0, + 5.533, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLAngle", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 1, + 0.4, + 0, + 0.467, + 0.5, + 0.533, + 0.5, + 1, + 0.589, + 0.5, + 0.644, + -0.4, + 0.7, + -0.4, + 1, + 0.844, + -0.4, + 0.989, + -0.4, + 1.133, + -0.4, + 1, + 1.3, + -0.4, + 1.467, + -0.378, + 1.633, + -0.378, + 1, + 1.756, + -0.378, + 1.878, + -0.378, + 2, + -0.378, + 1, + 2.044, + -0.378, + 2.089, + 0.4, + 2.133, + 0.4, + 1, + 2.611, + 0.4, + 3.089, + 0.4, + 3.567, + 0.4, + 1, + 3.667, + 0.4, + 3.767, + 0, + 3.867, + 0, + 1, + 4.178, + 0, + 4.489, + 0, + 4.8, + 0, + 0, + 5.533, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRAngle", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 1, + 0.4, + 0, + 0.467, + 0.5, + 0.533, + 0.5, + 1, + 0.589, + 0.5, + 0.644, + -0.4, + 0.7, + -0.4, + 1, + 0.844, + -0.4, + 0.989, + -0.4, + 1.133, + -0.4, + 1, + 1.3, + -0.4, + 1.467, + -0.378, + 1.633, + -0.378, + 1, + 1.756, + -0.378, + 1.878, + -0.378, + 2, + -0.378, + 1, + 2.044, + -0.378, + 2.089, + 0.4, + 2.133, + 0.4, + 1, + 2.611, + 0.4, + 3.089, + 0.4, + 3.567, + 0.4, + 1, + 3.667, + 0.4, + 3.767, + 0, + 3.867, + 0, + 1, + 4.178, + 0, + 4.489, + 0, + 4.8, + 0, + 0, + 5.533, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLForm", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 1, + 0.4, + 0, + 0.467, + 0.4, + 0.533, + 0.4, + 1, + 0.589, + 0.4, + 0.644, + -0.8, + 0.7, + -0.8, + 1, + 0.844, + -0.8, + 0.989, + -0.8, + 1.133, + -0.8, + 1, + 1.3, + -0.8, + 1.467, + -0.767, + 1.633, + -0.767, + 1, + 1.756, + -0.767, + 1.878, + -0.767, + 2, + -0.767, + 1, + 2.044, + -0.767, + 2.089, + 0.4, + 2.133, + 0.4, + 1, + 2.611, + 0.4, + 3.089, + 0.4, + 3.567, + 0.4, + 1, + 3.667, + 0.4, + 3.767, + -0.3, + 3.867, + -0.3, + 1, + 4.178, + -0.3, + 4.489, + 0, + 4.8, + 0, + 0, + 5.533, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRForm", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 1, + 0.4, + 0, + 0.467, + 0.4, + 0.533, + 0.4, + 1, + 0.589, + 0.4, + 0.644, + -0.8, + 0.7, + -0.8, + 1, + 0.844, + -0.8, + 0.989, + -0.8, + 1.133, + -0.8, + 1, + 1.3, + -0.8, + 1.467, + -0.767, + 1.633, + -0.767, + 1, + 1.756, + -0.767, + 1.878, + -0.767, + 2, + -0.767, + 1, + 2.044, + -0.767, + 2.089, + 0.4, + 2.133, + 0.4, + 1, + 2.611, + 0.4, + 3.089, + 0.4, + 3.567, + 0.4, + 1, + 3.667, + 0.4, + 3.767, + -0.3, + 3.867, + -0.3, + 1, + 4.178, + -0.3, + 4.489, + 0, + 4.8, + 0, + 0, + 5.533, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamMouthForm", + "Segments": [ + 0, + 1, + 1, + 0.111, + 1, + 0.222, + 1, + 0.333, + 1, + 1, + 0.456, + 1, + 0.578, + -0.6, + 0.7, + -0.6, + 1, + 0.844, + -0.6, + 0.989, + -0.6, + 1.133, + -0.6, + 1, + 1.3, + -0.6, + 1.467, + -0.6, + 1.633, + -0.6, + 1, + 1.756, + -0.6, + 1.878, + -0.6, + 2, + -0.6, + 1, + 2.044, + -0.6, + 2.089, + -0.6, + 2.133, + -0.6, + 1, + 2.611, + -0.6, + 3.089, + -0.6, + 3.567, + -0.6, + 1, + 3.667, + -0.6, + 3.767, + -0.005, + 3.867, + 0.2, + 1, + 4.178, + 0.839, + 4.489, + 1, + 4.8, + 1, + 0, + 5.533, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamMouthOpenY", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 1, + 0.4, + 0, + 0.467, + 0.3, + 0.533, + 0.3, + 1, + 0.589, + 0.3, + 0.644, + 0, + 0.7, + 0, + 1, + 0.844, + 0, + 0.989, + 0, + 1.133, + 0, + 1, + 1.3, + 0, + 1.467, + 0.006, + 1.633, + 0.006, + 1, + 1.756, + 0.006, + 1.878, + 0.006, + 2, + 0.006, + 1, + 2.044, + 0.006, + 2.089, + 0.2, + 2.133, + 0.2, + 1, + 2.611, + 0.2, + 3.089, + 0.2, + 3.567, + 0.2, + 1, + 3.667, + 0.2, + 3.767, + 0, + 3.867, + 0, + 1, + 4.178, + 0, + 4.489, + 0, + 4.8, + 0, + 0, + 5.533, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamScarf", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 1, + 0.456, + 0, + 0.578, + 0, + 0.7, + 0, + 1, + 0.844, + 0, + 0.989, + 0, + 1.133, + 0, + 1, + 1.211, + 0, + 1.289, + 0, + 1.367, + 0, + 1, + 1.622, + 0, + 1.878, + 0, + 2.133, + 0, + 1, + 2.611, + 0, + 3.089, + 0, + 3.567, + 0, + 1, + 3.978, + 0, + 4.389, + 0, + 4.8, + 0, + 0, + 5.533, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleX", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 1, + 0.456, + 0, + 0.578, + 7, + 0.7, + 7, + 1, + 0.844, + 7, + 0.989, + 7, + 1.133, + 7, + 1, + 1.211, + 7, + 1.289, + 7.224, + 1.367, + 6.805, + 1, + 1.622, + 5.431, + 1.878, + 0, + 2.133, + 0, + 1, + 2.611, + 0, + 3.089, + 0, + 3.567, + 0, + 1, + 3.978, + 0, + 4.389, + 0, + 4.8, + 0, + 0, + 5.533, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleY", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 1, + 0.4, + 0, + 0.467, + 5, + 0.533, + 5, + 1, + 0.589, + 5, + 0.644, + -6, + 0.7, + -6, + 1, + 0.844, + -6, + 0.989, + -5.999, + 1.133, + -5.953, + 1, + 1.211, + -5.928, + 1.289, + -5.922, + 1.367, + -5.445, + 1, + 1.622, + -3.877, + 1.878, + 0, + 2.133, + 0, + 1, + 2.611, + 0, + 3.089, + 0, + 3.567, + 0, + 1, + 3.667, + 0, + 3.767, + -4, + 3.867, + -4, + 1, + 4.022, + -4, + 4.178, + 4, + 4.333, + 4, + 1, + 4.489, + 4, + 4.644, + 0, + 4.8, + 0, + 0, + 5.533, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleZ", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 1, + 0.456, + 0, + 0.578, + -4, + 0.7, + -4, + 1, + 0.844, + -4, + 0.989, + -4, + 1.133, + -4, + 1, + 1.211, + -4, + 1.289, + -4.13, + 1.367, + -3.889, + 1, + 1.622, + -3.096, + 1.878, + 0, + 2.133, + 0, + 1, + 2.611, + 0, + 3.089, + 0, + 3.567, + 0, + 1, + 3.978, + 0, + 4.389, + 0, + 4.8, + 0, + 0, + 5.533, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyUpper", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 1, + 0.456, + 0, + 0.578, + 8.063, + 0.7, + 9, + 1, + 0.844, + 10.107, + 0.989, + 10, + 1.133, + 10, + 1, + 1.367, + 10, + 1.6, + 10.026, + 1.833, + 9.364, + 1, + 1.978, + 8.954, + 2.122, + 0, + 2.267, + 0, + 1, + 2.7, + 0, + 3.133, + 0, + 3.567, + 0, + 1, + 3.667, + 0, + 3.767, + 1.903, + 3.867, + 3, + 1, + 4.022, + 4.706, + 4.178, + 5, + 4.333, + 5, + 1, + 4.489, + 5, + 4.644, + 0, + 4.8, + 0, + 0, + 5.533, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBreath", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 1, + 0.456, + 0, + 0.578, + 0, + 0.7, + 0, + 1, + 0.844, + 0, + 0.989, + 0, + 1.133, + 0, + 1, + 1.211, + 0, + 1.289, + 0, + 1.367, + 0, + 1, + 1.622, + 0, + 1.878, + 0, + 2.133, + 0, + 1, + 2.611, + 0, + 3.089, + 0, + 3.567, + 0, + 1, + 3.978, + 0, + 4.389, + 0, + 4.8, + 0, + 0, + 5.533, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBustY", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 1, + 0.456, + 0, + 0.578, + 0, + 0.7, + 0, + 1, + 0.844, + 0, + 0.989, + 0, + 1.133, + 0, + 1, + 1.211, + 0, + 1.289, + 0, + 1.367, + 0, + 1, + 1.622, + 0, + 1.878, + 0, + 2.133, + 0, + 1, + 2.611, + 0, + 3.089, + 0, + 3.567, + 0, + 1, + 3.978, + 0, + 4.389, + 0, + 4.8, + 0, + 0, + 5.533, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmLA", + "Segments": [ + 0, + 1, + 1, + 0.111, + 1, + 0.222, + 1, + 0.333, + 1, + 1, + 0.4, + 1, + 0.467, + 0.281, + 0.533, + 0.2, + 1, + 0.589, + 0.133, + 0.644, + 0.124, + 0.7, + 0.1, + 1, + 0.867, + 0.027, + 1.033, + 0, + 1.2, + 0, + 1, + 1.322, + 0, + 1.444, + -0.006, + 1.567, + 0.008, + 1, + 1.8, + 0.036, + 2.033, + 0.3, + 2.267, + 0.3, + 1, + 2.4, + 0.3, + 2.533, + 0.264, + 2.667, + 0.264, + 1, + 2.967, + 0.264, + 3.267, + 0.27, + 3.567, + 0.3, + 1, + 3.667, + 0.31, + 3.767, + 0.4, + 3.867, + 0.4, + 1, + 4.022, + 0.4, + 4.178, + 0.4, + 4.333, + 0.4, + 1, + 4.489, + 0.4, + 4.644, + 1, + 4.8, + 1, + 0, + 5.533, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmRA", + "Segments": [ + 0, + 1, + 1, + 0.111, + 1, + 0.222, + 1, + 0.333, + 1, + 1, + 0.4, + 1, + 0.467, + 0.281, + 0.533, + 0.2, + 1, + 0.589, + 0.133, + 0.644, + 0.124, + 0.7, + 0.1, + 1, + 0.867, + 0.027, + 1.033, + 0, + 1.2, + 0, + 1, + 1.322, + 0, + 1.444, + -0.006, + 1.567, + 0.008, + 1, + 1.8, + 0.036, + 2.033, + 0.3, + 2.267, + 0.3, + 1, + 2.4, + 0.3, + 2.533, + 0.263, + 2.667, + 0.263, + 1, + 2.967, + 0.263, + 3.267, + 0.268, + 3.567, + 0.3, + 1, + 3.667, + 0.311, + 3.767, + 0.4, + 3.867, + 0.4, + 1, + 4.022, + 0.4, + 4.178, + 0.4, + 4.333, + 0.4, + 1, + 4.489, + 0.4, + 4.644, + 1, + 4.8, + 1, + 0, + 5.533, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmLB", + "Segments": [ + 0, + 5, + 1, + 0.111, + 5, + 0.222, + 5, + 0.333, + 5, + 1, + 0.456, + 5, + 0.578, + 0, + 0.7, + 0, + 1, + 0.867, + 0, + 1.033, + 0, + 1.2, + 0, + 1, + 1.322, + 0, + 1.444, + 0, + 1.567, + 0, + 1, + 1.8, + 0, + 2.033, + 0, + 2.267, + 0, + 1, + 2.7, + 0, + 3.133, + 0, + 3.567, + 0, + 1, + 3.978, + 0, + 4.389, + 5, + 4.8, + 5, + 0, + 5.533, + 5 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmRB", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 1, + 0.456, + 0, + 0.578, + 0, + 0.7, + 0, + 1, + 0.867, + 0, + 1.033, + 0, + 1.2, + 0, + 1, + 1.322, + 0, + 1.444, + 0, + 1.567, + 0, + 1, + 1.8, + 0, + 2.033, + 0, + 2.267, + 0, + 1, + 2.7, + 0, + 3.133, + 0, + 3.567, + 0, + 1, + 3.978, + 0, + 4.389, + 0, + 4.8, + 0, + 0, + 5.533, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandChangeR", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 1, + 0.456, + 0, + 0.578, + 0, + 0.7, + 0, + 1, + 0.889, + 0, + 1.078, + 0, + 1.267, + 0, + 1, + 1.4, + 0, + 1.533, + 0, + 1.667, + 0, + 1, + 1.9, + 0, + 2.133, + 0, + 2.367, + 0, + 1, + 2.767, + 0, + 3.167, + 0, + 3.567, + 0, + 1, + 3.978, + 0, + 4.389, + 0, + 4.8, + 0, + 0, + 5.533, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandAngleR", + "Segments": [ + 0, + -0.1, + 1, + 0.111, + -0.1, + 0.222, + -0.1, + 0.333, + -0.1, + 1, + 0.456, + -0.1, + 0.578, + 0, + 0.7, + 0, + 1, + 0.889, + 0, + 1.078, + 0, + 1.267, + 0, + 1, + 1.4, + 0, + 1.533, + 0, + 1.667, + 0, + 1, + 1.9, + 0, + 2.133, + 0.4, + 2.367, + 0.4, + 1, + 2.767, + 0.4, + 3.167, + 0.4, + 3.567, + 0.4, + 1, + 3.667, + 0.4, + 3.767, + -0.8, + 3.867, + -0.8, + 1, + 4.022, + -0.8, + 4.178, + -0.629, + 4.333, + -0.4, + 1, + 4.489, + -0.171, + 4.644, + -0.1, + 4.8, + -0.1, + 0, + 5.533, + -0.1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandDhangeL", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 1, + 0.456, + 0, + 0.578, + 0, + 0.7, + 0, + 1, + 0.889, + 0, + 1.078, + 0, + 1.267, + 0, + 1, + 1.4, + 0, + 1.533, + 0, + 1.667, + 0, + 1, + 1.9, + 0, + 2.133, + 0, + 2.367, + 0, + 1, + 2.767, + 0, + 3.167, + 0, + 3.567, + 0, + 1, + 3.978, + 0, + 4.389, + 0, + 4.8, + 0, + 0, + 5.533, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandAngleL", + "Segments": [ + 0, + 0.1, + 1, + 0.111, + 0.1, + 0.222, + 0.1, + 0.333, + 0.1, + 1, + 0.456, + 0.1, + 0.578, + 0, + 0.7, + 0, + 1, + 0.889, + 0, + 1.078, + 0, + 1.267, + 0, + 1, + 1.4, + 0, + 1.533, + 0, + 1.667, + 0, + 1, + 1.9, + 0, + 2.133, + -0.4, + 2.367, + -0.4, + 1, + 2.767, + -0.4, + 3.167, + -0.4, + 3.567, + -0.4, + 1, + 3.667, + -0.4, + 3.767, + 1, + 3.867, + 1, + 1, + 4.022, + 1, + 4.178, + 0.967, + 4.333, + 0.7, + 1, + 4.489, + 0.433, + 4.644, + 0.1, + 4.8, + 0.1, + 0, + 5.533, + 0.1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHairFront", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 1, + 0.456, + 0, + 0.578, + 0, + 0.7, + 0, + 1, + 0.844, + 0, + 0.989, + 0, + 1.133, + 0, + 1, + 1.211, + 0, + 1.289, + 0, + 1.367, + 0, + 1, + 1.622, + 0, + 1.878, + 0, + 2.133, + 0, + 1, + 2.611, + 0, + 3.089, + 0, + 3.567, + 0, + 1, + 3.978, + 0, + 4.389, + 0, + 4.8, + 0, + 0, + 5.533, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHairSide", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 1, + 0.456, + 0, + 0.578, + 0, + 0.7, + 0, + 1, + 0.844, + 0, + 0.989, + 0, + 1.133, + 0, + 1, + 1.211, + 0, + 1.289, + 0, + 1.367, + 0, + 1, + 1.622, + 0, + 1.878, + 0, + 2.133, + 0, + 1, + 2.611, + 0, + 3.089, + 0, + 3.567, + 0, + 1, + 3.978, + 0, + 4.389, + 0, + 4.8, + 0, + 0, + 5.533, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHairBack", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 1, + 0.456, + 0, + 0.578, + 0, + 0.7, + 0, + 1, + 0.844, + 0, + 0.989, + 0, + 1.133, + 0, + 1, + 1.211, + 0, + 1.289, + 0, + 1.367, + 0, + 1, + 1.622, + 0, + 1.878, + 0, + 2.133, + 0, + 1, + 2.611, + 0, + 3.089, + 0, + 3.567, + 0, + 1, + 3.978, + 0, + 4.389, + 0, + 4.8, + 0, + 0, + 5.533, + 0 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Core", + "Segments": [ + 0, + 1, + 2, + 3.4, + 1, + 2, + 5.5, + 1, + 0, + 5.53, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Hoho001", + "Segments": [ + 0, + 1, + 2, + 3.4, + 1, + 2, + 5.5, + 1, + 0, + 5.53, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Brow001", + "Segments": [ + 0, + 1, + 2, + 3.4, + 1, + 2, + 5.5, + 1, + 0, + 5.53, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Tear", + "Segments": [ + 0, + 1, + 2, + 3.4, + 1, + 2, + 5.5, + 1, + 0, + 5.53, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01EyeBall001", + "Segments": [ + 0, + 1, + 2, + 3.4, + 1, + 2, + 5.5, + 1, + 0, + 5.53, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Eye001", + "Segments": [ + 0, + 1, + 2, + 3.4, + 1, + 2, + 5.5, + 1, + 0, + 5.53, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Nose001", + "Segments": [ + 0, + 1, + 2, + 3.4, + 1, + 2, + 5.5, + 1, + 0, + 5.53, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Mouth001", + "Segments": [ + 0, + 1, + 2, + 3.4, + 1, + 2, + 5.5, + 1, + 0, + 5.53, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Face001", + "Segments": [ + 0, + 1, + 2, + 3.4, + 1, + 2, + 5.5, + 1, + 0, + 5.53, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Ear001", + "Segments": [ + 0, + 1, + 2, + 3.4, + 1, + 2, + 5.5, + 1, + 0, + 5.53, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Neck001", + "Segments": [ + 0, + 1, + 2, + 3.4, + 1, + 2, + 5.5, + 1, + 0, + 5.53, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01HairFront001", + "Segments": [ + 0, + 1, + 2, + 3.4, + 1, + 2, + 5.5, + 1, + 0, + 5.53, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01HairSide001", + "Segments": [ + 0, + 1, + 2, + 3.4, + 1, + 2, + 5.5, + 1, + 0, + 5.53, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01HairBack001", + "Segments": [ + 0, + 1, + 2, + 3.4, + 1, + 2, + 5.5, + 1, + 0, + 5.53, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01ArmRB001", + "Segments": [ + 0, + 0, + 2, + 3.4, + 0, + 2, + 5.5, + 0, + 0, + 5.53, + 0 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01ArmLB001", + "Segments": [ + 0, + 0, + 2, + 3.4, + 0, + 2, + 5.5, + 0, + 0, + 5.53, + 0 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01ArmRA001", + "Segments": [ + 0, + 1, + 2, + 3.4, + 1, + 2, + 5.5, + 1, + 0, + 5.53, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01ArmLA001", + "Segments": [ + 0, + 1, + 2, + 3.4, + 1, + 2, + 5.5, + 1, + 0, + 5.53, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Body001", + "Segments": [ + 0, + 1, + 2, + 3.4, + 1, + 2, + 5.5, + 1, + 0, + 5.53, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Sketch", + "Segments": [ + 0, + 0, + 2, + 3.4, + 0, + 2, + 5.5, + 0, + 0, + 5.53, + 0 + ] + } + ] +} \ No newline at end of file diff --git a/staticfiles/haru_greeter_pro_jp/runtime/motion/haru_g_m11.motion3.json b/staticfiles/haru_greeter_pro_jp/runtime/motion/haru_g_m11.motion3.json new file mode 100644 index 0000000000000000000000000000000000000000..e18f08ad4aa116174510db75e088dfd35a11f955 --- /dev/null +++ b/staticfiles/haru_greeter_pro_jp/runtime/motion/haru_g_m11.motion3.json @@ -0,0 +1,1455 @@ +{ + "Version": 3, + "Meta": { + "Duration": 3.43, + "Fps": 30.0, + "Loop": true, + "AreBeziersRestricted": true, + "CurveCount": 63, + "TotalSegmentCount": 181, + "TotalPointCount": 440, + "UserDataCount": 0, + "TotalUserDataSize": 0 + }, + "Curves": [ + { + "Target": "Model", + "Id": "Opacity", + "Segments": [ + 0, + 1, + 1, + 1.13, + 1, + 2.27, + 1, + 3.4, + 1, + 0, + 3.43, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleX", + "Segments": [ + 0, + 0, + 1, + 0.344, + 0, + 0.689, + 0, + 1.033, + 0, + 1, + 1.089, + 0, + 1.144, + 0, + 1.2, + 0, + 1, + 1.333, + 0, + 1.467, + 2, + 1.6, + 2, + 1, + 1.744, + 2, + 1.889, + -8, + 2.033, + -8, + 1, + 2.156, + -8, + 2.278, + 8, + 2.4, + 8, + 1, + 2.533, + 8, + 2.667, + 0, + 2.8, + 0, + 1, + 2.911, + 0, + 3.022, + 0, + 3.133, + 0, + 1, + 3.222, + 0, + 3.311, + 0, + 3.4, + 0, + 0, + 3.433, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleY", + "Segments": [ + 0, + 0, + 1, + 0.344, + 0, + 0.689, + 0, + 1.033, + 0, + 1, + 1.089, + 0, + 1.144, + 0, + 1.2, + 0, + 1, + 1.333, + 0, + 1.467, + 16, + 1.6, + 16, + 1, + 1.722, + 16, + 1.844, + -21, + 1.967, + -21, + 1, + 2.111, + -21, + 2.256, + -19.167, + 2.4, + -18, + 1, + 2.522, + -17.012, + 2.644, + -17.151, + 2.767, + -16, + 1, + 2.878, + -14.954, + 2.989, + 0, + 3.1, + 0, + 1, + 3.2, + 0, + 3.3, + 0, + 3.4, + 0, + 0, + 3.433, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleZ", + "Segments": [ + 0, + 0, + 1, + 1.133, + 0, + 2.267, + 0, + 3.4, + 0, + 0, + 3.433, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamTere", + "Segments": [ + 0, + 0, + 1, + 1.133, + 0, + 2.267, + 0, + 3.4, + 0, + 0, + 3.433, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamFaceForm", + "Segments": [ + 0, + 0, + 1, + 1.133, + 0, + 2.267, + 0, + 3.4, + 0, + 0, + 3.433, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeLOpen", + "Segments": [ + 0, + 2, + 1, + 0.533, + 2, + 1.067, + 2, + 1.6, + 2, + 1, + 1.656, + 2, + 1.711, + 0, + 1.767, + 0, + 1, + 2.067, + 0, + 2.367, + 0, + 2.667, + 0, + 1, + 2.756, + 0, + 2.844, + 2, + 2.933, + 2, + 1, + 3.089, + 2, + 3.244, + 2, + 3.4, + 2, + 0, + 3.433, + 2 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeLSmile", + "Segments": [ + 0, + 0, + 1, + 1.133, + 0, + 2.267, + 0, + 3.4, + 0, + 0, + 3.433, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeROpen", + "Segments": [ + 0, + 2, + 1, + 0.533, + 2, + 1.067, + 2, + 1.6, + 2, + 1, + 1.656, + 2, + 1.711, + 0, + 1.767, + 0, + 1, + 2.067, + 0, + 2.367, + 0, + 2.667, + 0, + 1, + 2.756, + 0, + 2.844, + 2, + 2.933, + 2, + 1, + 3.089, + 2, + 3.244, + 2, + 3.4, + 2, + 0, + 3.433, + 2 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeRSmile", + "Segments": [ + 0, + 0, + 1, + 1.133, + 0, + 2.267, + 0, + 3.4, + 0, + 0, + 3.433, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeForm", + "Segments": [ + 0, + 0, + 1, + 1.133, + 0, + 2.267, + 0, + 3.4, + 0, + 0, + 3.433, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallForm", + "Segments": [ + 0, + 0, + 1, + 1.133, + 0, + 2.267, + 0, + 3.4, + 0, + 0, + 3.433, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamTear", + "Segments": [ + 0, + 0, + 1, + 1.133, + 0, + 2.267, + 0, + 3.4, + 0, + 0, + 3.433, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallX", + "Segments": [ + 0, + 0, + 1, + 0.389, + 0, + 0.778, + 0, + 1.167, + 0, + 1, + 1.289, + 0, + 1.411, + -0.1, + 1.533, + -0.1, + 1, + 1.9, + -0.1, + 2.267, + 0, + 2.633, + 0, + 1, + 2.889, + 0, + 3.144, + 0, + 3.4, + 0, + 0, + 3.433, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallY", + "Segments": [ + 0, + 0, + 1, + 0.389, + 0, + 0.778, + 0, + 1.167, + 0, + 1, + 1.289, + 0, + 1.411, + -0.38, + 1.533, + -0.38, + 1, + 1.9, + -0.38, + 2.267, + 0, + 2.633, + 0, + 1, + 2.889, + 0, + 3.144, + 0, + 3.4, + 0, + 0, + 3.433, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLY", + "Segments": [ + 0, + 0.61, + 1, + 1.133, + 0.61, + 2.267, + 0.61, + 3.4, + 0.61, + 0, + 3.433, + 0.61 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRY", + "Segments": [ + 0, + 0.61, + 1, + 1.133, + 0.61, + 2.267, + 0.61, + 3.4, + 0.61, + 0, + 3.433, + 0.61 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLX", + "Segments": [ + 0, + 0, + 1, + 1.133, + 0, + 2.267, + 0, + 3.4, + 0, + 0, + 3.433, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRX", + "Segments": [ + 0, + 0, + 1, + 1.133, + 0, + 2.267, + 0, + 3.4, + 0, + 0, + 3.433, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLAngle", + "Segments": [ + 0, + 0, + 1, + 1.133, + 0, + 2.267, + 0, + 3.4, + 0, + 0, + 3.433, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRAngle", + "Segments": [ + 0, + 0, + 1, + 1.133, + 0, + 2.267, + 0, + 3.4, + 0, + 0, + 3.433, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLForm", + "Segments": [ + 0, + 0, + 1, + 1.133, + 0, + 2.267, + 0, + 3.4, + 0, + 0, + 3.433, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRForm", + "Segments": [ + 0, + 0, + 1, + 1.133, + 0, + 2.267, + 0, + 3.4, + 0, + 0, + 3.433, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamMouthForm", + "Segments": [ + 0, + -0.64, + 1, + 1.133, + -0.64, + 2.267, + -0.64, + 3.4, + -0.64, + 0, + 3.433, + -0.64 + ] + }, + { + "Target": "Parameter", + "Id": "ParamMouthOpenY", + "Segments": [ + 0, + 0, + 1, + 1.133, + 0, + 2.267, + 0, + 3.4, + 0, + 0, + 3.433, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamScarf", + "Segments": [ + 0, + 0, + 1, + 1.133, + 0, + 2.267, + 0, + 3.4, + 0, + 0, + 3.433, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleX", + "Segments": [ + 0, + 0, + 1, + 0.344, + 0, + 0.689, + 0, + 1.033, + 0, + 1, + 1.244, + 0, + 1.456, + 2, + 1.667, + 2, + 1, + 1.822, + 2, + 1.978, + -3, + 2.133, + -3, + 1, + 2.256, + -3, + 2.378, + 2, + 2.5, + 2, + 1, + 2.622, + 2, + 2.744, + -2, + 2.867, + -2, + 1, + 2.978, + -2, + 3.089, + 0, + 3.2, + 0, + 1, + 3.267, + 0, + 3.333, + 0, + 3.4, + 0, + 0, + 3.433, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleY", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.211, + 0, + 1.422, + 3, + 1.633, + 3, + 1, + 1.778, + 3, + 1.922, + 0, + 2.067, + 0, + 1, + 2.511, + 0, + 2.956, + 0, + 3.4, + 0, + 0, + 3.433, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleZ", + "Segments": [ + 0, + 0, + 1, + 0.3, + 0, + 0.6, + -5, + 0.9, + -5, + 1, + 1.167, + -5, + 1.433, + 0, + 1.7, + 0, + 1, + 2.267, + 0, + 2.833, + 0, + 3.4, + 0, + 0, + 3.433, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyUpper", + "Segments": [ + 0, + 0, + 1, + 1.133, + 0, + 2.267, + 0, + 3.4, + 0, + 0, + 3.433, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBreath", + "Segments": [ + 0, + 0, + 1, + 1.133, + 0, + 2.267, + 0, + 3.4, + 0, + 0, + 3.433, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBustY", + "Segments": [ + 0, + 0, + 1, + 1.133, + 0, + 2.267, + 0, + 3.4, + 0, + 0, + 3.433, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmLA", + "Segments": [ + 0, + 0.5, + 1, + 0.156, + 0.5, + 0.311, + 0.743, + 0.467, + 0.76, + 1, + 1.378, + 0.86, + 2.289, + 0.89, + 3.2, + 0.89, + 1, + 3.267, + 0.89, + 3.333, + 0.5, + 3.4, + 0.5, + 0, + 3.433, + 0.5 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmRA", + "Segments": [ + 0, + 0.5, + 1, + 0.156, + 0.5, + 0.311, + 0.735, + 0.467, + 0.76, + 1, + 1.378, + 0.905, + 2.289, + 0.95, + 3.2, + 0.95, + 1, + 3.267, + 0.95, + 3.333, + 0.5, + 3.4, + 0.5, + 0, + 3.433, + 0.5 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmLB", + "Segments": [ + 0, + 0.3, + 1, + 0.311, + 0.3, + 0.622, + 0.3, + 0.933, + 0.3, + 1, + 1.156, + 0.3, + 1.378, + 0.5, + 1.6, + 0.5, + 1, + 1.756, + 0.5, + 1.911, + 0.3, + 2.067, + 0.3, + 1, + 2.511, + 0.3, + 2.956, + 0.3, + 3.4, + 0.3, + 0, + 3.433, + 0.3 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmRB", + "Segments": [ + 0, + 0.3, + 1, + 0.289, + 0.3, + 0.578, + 0.3, + 0.867, + 0.3, + 1, + 1.089, + 0.3, + 1.311, + 0.5, + 1.533, + 0.5, + 1, + 1.689, + 0.5, + 1.844, + 0.3, + 2, + 0.3, + 1, + 2.467, + 0.3, + 2.933, + 0.3, + 3.4, + 0.3, + 0, + 3.433, + 0.3 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandChangeR", + "Segments": [ + 0, + 0, + 1, + 1.133, + 0, + 2.267, + 0, + 3.4, + 0, + 0, + 3.433, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandAngleR", + "Segments": [ + 0, + 0.66, + 1, + 0.344, + 0.66, + 0.689, + 0.662, + 1.033, + 0.64, + 1, + 1.267, + 0.625, + 1.5, + 0.12, + 1.733, + 0.12, + 1, + 1.867, + 0.12, + 2, + 0.66, + 2.133, + 0.66, + 1, + 2.556, + 0.66, + 2.978, + 0.66, + 3.4, + 0.66, + 0, + 3.433, + 0.66 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandDhangeL", + "Segments": [ + 0, + 0, + 1, + 1.133, + 0, + 2.267, + 0, + 3.4, + 0, + 0, + 3.433, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandAngleL", + "Segments": [ + 0, + -1, + 1, + 0.322, + -1, + 0.644, + -1, + 0.967, + -1, + 1, + 1.2, + -1, + 1.433, + -0.68, + 1.667, + -0.68, + 1, + 1.822, + -0.68, + 1.978, + -1, + 2.133, + -1, + 1, + 2.556, + -1, + 2.978, + -1, + 3.4, + -1, + 0, + 3.433, + -1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHairFront", + "Segments": [ + 0, + 0, + 1, + 1.133, + 0, + 2.267, + 0, + 3.4, + 0, + 0, + 3.433, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHairSide", + "Segments": [ + 0, + 0, + 1, + 1.133, + 0, + 2.267, + 0, + 3.4, + 0, + 0, + 3.433, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHairBack", + "Segments": [ + 0, + 0, + 1, + 1.133, + 0, + 2.267, + 0, + 3.4, + 0, + 0, + 3.433, + 0 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Core", + "Segments": [ + 0, + 1, + 2, + 3.4, + 1, + 0, + 3.43, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Hoho001", + "Segments": [ + 0, + 1, + 2, + 3.4, + 1, + 0, + 3.43, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Brow001", + "Segments": [ + 0, + 1, + 2, + 3.4, + 1, + 0, + 3.43, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Tear", + "Segments": [ + 0, + 1, + 2, + 3.4, + 1, + 0, + 3.43, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01EyeBall001", + "Segments": [ + 0, + 1, + 2, + 3.4, + 1, + 0, + 3.43, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Eye001", + "Segments": [ + 0, + 1, + 2, + 3.4, + 1, + 0, + 3.43, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Nose001", + "Segments": [ + 0, + 1, + 2, + 3.4, + 1, + 0, + 3.43, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Mouth001", + "Segments": [ + 0, + 1, + 2, + 3.4, + 1, + 0, + 3.43, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Face001", + "Segments": [ + 0, + 1, + 2, + 3.4, + 1, + 0, + 3.43, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Ear001", + "Segments": [ + 0, + 1, + 2, + 3.4, + 1, + 0, + 3.43, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Neck001", + "Segments": [ + 0, + 1, + 2, + 3.4, + 1, + 0, + 3.43, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01HairFront001", + "Segments": [ + 0, + 1, + 2, + 3.4, + 1, + 0, + 3.43, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01HairSide001", + "Segments": [ + 0, + 1, + 2, + 3.4, + 1, + 0, + 3.43, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01HairBack001", + "Segments": [ + 0, + 1, + 2, + 3.4, + 1, + 0, + 3.43, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01ArmRB001", + "Segments": [ + 0, + 1, + 2, + 3.4, + 1, + 0, + 3.43, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01ArmLB001", + "Segments": [ + 0, + 1, + 2, + 3.4, + 1, + 0, + 3.43, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01ArmRA001", + "Segments": [ + 0, + 0, + 2, + 3.4, + 0, + 0, + 3.43, + 0 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01ArmLA001", + "Segments": [ + 0, + 0, + 2, + 3.4, + 0, + 0, + 3.43, + 0 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Body001", + "Segments": [ + 0, + 1, + 2, + 3.4, + 1, + 0, + 3.43, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Sketch", + "Segments": [ + 0, + 0, + 2, + 3.4, + 0, + 0, + 3.43, + 0 + ] + } + ] +} \ No newline at end of file diff --git a/staticfiles/haru_greeter_pro_jp/runtime/motion/haru_g_m12.motion3.json b/staticfiles/haru_greeter_pro_jp/runtime/motion/haru_g_m12.motion3.json new file mode 100644 index 0000000000000000000000000000000000000000..7df27408572d0546b6ad0d4523dbba1e5e42758f --- /dev/null +++ b/staticfiles/haru_greeter_pro_jp/runtime/motion/haru_g_m12.motion3.json @@ -0,0 +1,2352 @@ +{ + "Version": 3, + "Meta": { + "Duration": 4.93, + "Fps": 30.0, + "Loop": true, + "AreBeziersRestricted": true, + "CurveCount": 63, + "TotalSegmentCount": 328, + "TotalPointCount": 815, + "UserDataCount": 0, + "TotalUserDataSize": 0 + }, + "Curves": [ + { + "Target": "Model", + "Id": "Opacity", + "Segments": [ + 0, + 1, + 1, + 1.63, + 1, + 3.27, + 1, + 4.9, + 1, + 0, + 4.93, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleX", + "Segments": [ + 0, + 0, + 1, + 0.1, + 0, + 0.2, + 0, + 0.3, + 0, + 1, + 0.411, + 0, + 0.522, + -18, + 0.633, + -18, + 1, + 0.744, + -18, + 0.856, + 19, + 0.967, + 19, + 1, + 1.078, + 19, + 1.189, + -11, + 1.3, + -11, + 1, + 1.411, + -11, + 1.522, + 5, + 1.633, + 5, + 1, + 1.722, + 5, + 1.811, + 0, + 1.9, + 0, + 1, + 2.089, + 0, + 2.278, + 0, + 2.467, + 0, + 1, + 2.956, + 0, + 3.444, + 0, + 3.933, + 0, + 0, + 4.933, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleY", + "Segments": [ + 0, + 0, + 1, + 0.1, + 0, + 0.2, + 0, + 0.3, + 0, + 1, + 0.411, + 0, + 0.522, + 0, + 0.633, + 0, + 1, + 1.244, + 0, + 1.856, + 0, + 2.467, + 0, + 1, + 2.567, + 0, + 2.667, + 4, + 2.767, + 4, + 1, + 2.9, + 4, + 3.033, + -13, + 3.167, + -13, + 1, + 3.422, + -13, + 3.678, + 0, + 3.933, + 0, + 0, + 4.933, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleZ", + "Segments": [ + 0, + -11, + 1, + 0.1, + -11, + 0.2, + -11, + 0.3, + -11, + 1, + 0.411, + -11, + 0.522, + -11, + 0.633, + -11, + 1, + 1.244, + -11, + 1.856, + -11, + 2.467, + -11, + 1, + 2.956, + -11, + 3.444, + -6.965, + 3.933, + -2, + 1, + 4.122, + -0.082, + 4.311, + 0, + 4.5, + 0, + 0, + 4.933, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamTere", + "Segments": [ + 0, + 0, + 1, + 0.1, + 0, + 0.2, + 0, + 0.3, + 0, + 1, + 0.411, + 0, + 0.522, + 0, + 0.633, + 0, + 1, + 1.244, + 0, + 1.856, + 0, + 2.467, + 0, + 1, + 2.956, + 0, + 3.444, + 0, + 3.933, + 0, + 0, + 4.933, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamFaceForm", + "Segments": [ + 0, + 0, + 0, + 4.933, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeLOpen", + "Segments": [ + 0, + 2, + 1, + 0.1, + 2, + 0.2, + 2, + 0.3, + 2, + 1, + 0.411, + 2, + 0.522, + 1, + 0.633, + 1, + 1, + 1.233, + 1, + 1.833, + 1, + 2.433, + 1, + 1, + 2.678, + 1, + 2.922, + 0, + 3.167, + 0, + 1, + 3.422, + 0, + 3.678, + 1, + 3.933, + 1, + 0, + 4.933, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeLSmile", + "Segments": [ + 0, + 0, + 1, + 0.1, + 0, + 0.2, + 0, + 0.3, + 0, + 1, + 0.411, + 0, + 0.522, + 0, + 0.633, + 0, + 1, + 1.244, + 0, + 1.856, + 0, + 2.467, + 0, + 1, + 2.956, + 0, + 3.444, + 0, + 3.933, + 0, + 0, + 4.933, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeROpen", + "Segments": [ + 0, + 2, + 1, + 0.1, + 2, + 0.2, + 2, + 0.3, + 2, + 1, + 0.411, + 2, + 0.522, + 1, + 0.633, + 1, + 1, + 1.244, + 1, + 1.856, + 1, + 2.467, + 1, + 1, + 2.7, + 1, + 2.933, + 0, + 3.167, + 0, + 1, + 3.422, + 0, + 3.678, + 1, + 3.933, + 1, + 0, + 4.933, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeRSmile", + "Segments": [ + 0, + 0, + 1, + 0.1, + 0, + 0.2, + 0, + 0.3, + 0, + 1, + 0.411, + 0, + 0.522, + 0, + 0.633, + 0, + 1, + 1.244, + 0, + 1.856, + 0, + 2.467, + 0, + 1, + 2.956, + 0, + 3.444, + 0, + 3.933, + 0, + 0, + 4.933, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeForm", + "Segments": [ + 0, + 0, + 1, + 0.1, + 0, + 0.2, + 0, + 0.3, + 0, + 1, + 0.411, + 0, + 0.522, + 0, + 0.633, + 0, + 1, + 1.244, + 0, + 1.856, + 0, + 2.467, + 0, + 1, + 2.956, + 0, + 3.444, + 0, + 3.933, + 0, + 0, + 4.933, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallForm", + "Segments": [ + 0, + 0, + 1, + 0.1, + 0, + 0.2, + 0, + 0.3, + 0, + 1, + 0.411, + 0, + 0.522, + 0, + 0.633, + 0, + 1, + 1.244, + 0, + 1.856, + 0, + 2.467, + 0, + 1, + 2.956, + 0, + 3.444, + 0, + 3.933, + 0, + 0, + 4.933, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamTear", + "Segments": [ + 0, + 0, + 1, + 0.1, + 0, + 0.2, + 0, + 0.3, + 0, + 1, + 0.411, + 0, + 0.522, + 0, + 0.633, + 0, + 1, + 1.244, + 0, + 1.856, + 0, + 2.467, + 0, + 1, + 2.956, + 0, + 3.444, + 0, + 3.933, + 0, + 0, + 4.933, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallX", + "Segments": [ + 0, + 0, + 1, + 0.1, + 0, + 0.2, + 0, + 0.3, + 0, + 1, + 0.411, + 0, + 0.522, + 0.6, + 0.633, + 0.6, + 1, + 0.744, + 0.6, + 0.856, + -0.5, + 0.967, + -0.5, + 1, + 1.078, + -0.5, + 1.189, + 0.3, + 1.3, + 0.3, + 1, + 1.411, + 0.3, + 1.522, + -0.2, + 1.633, + -0.2, + 1, + 1.722, + -0.2, + 1.811, + 0.1, + 1.9, + 0.1, + 1, + 2.089, + 0.1, + 2.278, + 0.1, + 2.467, + 0.1, + 1, + 2.956, + 0.1, + 3.444, + 0, + 3.933, + 0, + 0, + 4.933, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallY", + "Segments": [ + 0, + 0, + 1, + 0.1, + 0, + 0.2, + 0, + 0.3, + 0, + 1, + 0.411, + 0, + 0.522, + 0.293, + 0.633, + 0.4, + 1, + 0.744, + 0.507, + 0.856, + 0.5, + 0.967, + 0.5, + 1, + 1.078, + 0.5, + 1.189, + 0.5, + 1.3, + 0.5, + 1, + 1.411, + 0.5, + 1.522, + 0.473, + 1.633, + 0.4, + 1, + 1.722, + 0.341, + 1.811, + 0.3, + 1.9, + 0.3, + 1, + 2.089, + 0.3, + 2.278, + 0.3, + 2.467, + 0.3, + 1, + 2.956, + 0.3, + 3.444, + 0, + 3.933, + 0, + 0, + 4.933, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLY", + "Segments": [ + 0, + 0.9, + 1, + 0.1, + 0.9, + 0.2, + 0.9, + 0.3, + 0.9, + 1, + 0.411, + 0.9, + 0.522, + -0.3, + 0.633, + -0.3, + 1, + 1.244, + -0.3, + 1.856, + -0.3, + 2.467, + -0.3, + 1, + 2.7, + -0.3, + 2.933, + 0.3, + 3.167, + 0.3, + 1, + 3.422, + 0.3, + 3.678, + 0, + 3.933, + 0, + 0, + 4.933, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRY", + "Segments": [ + 0, + 0.9, + 1, + 0.1, + 0.9, + 0.2, + 0.9, + 0.3, + 0.9, + 1, + 0.411, + 0.9, + 0.522, + -0.3, + 0.633, + -0.3, + 1, + 1.244, + -0.3, + 1.856, + -0.3, + 2.467, + -0.3, + 1, + 2.7, + -0.3, + 2.933, + 0.3, + 3.167, + 0.3, + 1, + 3.422, + 0.3, + 3.678, + 0, + 3.933, + 0, + 0, + 4.933, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLX", + "Segments": [ + 0, + 0.8, + 1, + 0.1, + 0.8, + 0.2, + 0.8, + 0.3, + 0.8, + 1, + 0.411, + 0.8, + 0.522, + -0.3, + 0.633, + -0.3, + 1, + 1.244, + -0.3, + 1.856, + -0.3, + 2.467, + -0.3, + 1, + 2.7, + -0.3, + 2.933, + 0.3, + 3.167, + 0.3, + 1, + 3.422, + 0.3, + 3.678, + 0, + 3.933, + 0, + 0, + 4.933, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRX", + "Segments": [ + 0, + 0.8, + 1, + 0.1, + 0.8, + 0.2, + 0.8, + 0.3, + 0.8, + 1, + 0.411, + 0.8, + 0.522, + -0.3, + 0.633, + -0.3, + 1, + 1.244, + -0.3, + 1.856, + -0.3, + 2.467, + -0.3, + 1, + 2.7, + -0.3, + 2.933, + 0.3, + 3.167, + 0.3, + 1, + 3.422, + 0.3, + 3.678, + 0, + 3.933, + 0, + 0, + 4.933, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLAngle", + "Segments": [ + 0, + 0.7, + 1, + 0.1, + 0.7, + 0.2, + 0.7, + 0.3, + 0.7, + 1, + 0.411, + 0.7, + 0.522, + 0.4, + 0.633, + 0.4, + 1, + 1.244, + 0.4, + 1.856, + 0.4, + 2.467, + 0.4, + 1, + 2.956, + 0.4, + 3.444, + 0, + 3.933, + 0, + 0, + 4.933, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRAngle", + "Segments": [ + 0, + 0.7, + 1, + 0.1, + 0.7, + 0.2, + 0.7, + 0.3, + 0.7, + 1, + 0.411, + 0.7, + 0.522, + 0.4, + 0.633, + 0.4, + 1, + 1.244, + 0.4, + 1.856, + 0.4, + 2.467, + 0.4, + 1, + 2.956, + 0.4, + 3.444, + 0, + 3.933, + 0, + 0, + 4.933, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLForm", + "Segments": [ + 0, + 0.6, + 1, + 0.1, + 0.6, + 0.2, + 0.6, + 0.3, + 0.6, + 1, + 0.411, + 0.6, + 0.522, + -0.5, + 0.633, + -0.5, + 1, + 1.244, + -0.5, + 1.856, + -0.5, + 2.467, + -0.5, + 1, + 2.7, + -0.5, + 2.933, + 0.2, + 3.167, + 0.2, + 1, + 3.422, + 0.2, + 3.678, + 0, + 3.933, + 0, + 0, + 4.933, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRForm", + "Segments": [ + 0, + 0.6, + 1, + 0.1, + 0.6, + 0.2, + 0.6, + 0.3, + 0.6, + 1, + 0.411, + 0.6, + 0.522, + -0.5, + 0.633, + -0.5, + 1, + 1.244, + -0.5, + 1.856, + -0.5, + 2.467, + -0.5, + 1, + 2.7, + -0.5, + 2.933, + 0.2, + 3.167, + 0.2, + 1, + 3.422, + 0.2, + 3.678, + 0, + 3.933, + 0, + 0, + 4.933, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamMouthForm", + "Segments": [ + 0, + -0.5, + 1, + 0.1, + -0.5, + 0.2, + -0.5, + 0.3, + -0.5, + 1, + 0.411, + -0.5, + 0.522, + -0.6, + 0.633, + -0.6, + 1, + 1.244, + -0.6, + 1.856, + -0.6, + 2.467, + -0.6, + 1, + 2.7, + -0.6, + 2.933, + 1, + 3.167, + 1, + 1, + 3.422, + 1, + 3.678, + 1, + 3.933, + 1, + 0, + 4.933, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamMouthOpenY", + "Segments": [ + 0, + 0, + 1, + 0.1, + 0, + 0.2, + 0, + 0.3, + 0, + 1, + 0.411, + 0, + 0.522, + 0.5, + 0.633, + 0.5, + 1, + 1.244, + 0.5, + 1.856, + 0.5, + 2.467, + 0.5, + 1, + 2.7, + 0.5, + 2.933, + 0, + 3.167, + 0, + 1, + 3.422, + 0, + 3.678, + 0, + 3.933, + 0, + 0, + 4.933, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamScarf", + "Segments": [ + 0, + 0, + 1, + 0.1, + 0, + 0.2, + 0, + 0.3, + 0, + 1, + 0.411, + 0, + 0.522, + 0, + 0.633, + 0, + 1, + 1.244, + 0, + 1.856, + 0, + 2.467, + 0, + 1, + 2.956, + 0, + 3.444, + 0, + 3.933, + 0, + 0, + 4.933, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleX", + "Segments": [ + 0, + -1, + 1, + 0.1, + -1, + 0.2, + -1, + 0.3, + -1, + 1, + 0.411, + -1, + 0.522, + -1, + 0.633, + -1, + 1, + 1.244, + -1, + 1.856, + -1, + 2.467, + -1, + 1, + 2.956, + -1, + 3.444, + 0, + 3.933, + 0, + 0, + 4.933, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleY", + "Segments": [ + 0, + 5, + 1, + 0.1, + 5, + 0.2, + 5.234, + 0.3, + 3.279, + 1, + 0.411, + 1.107, + 0.522, + -10, + 0.633, + -10, + 1, + 1.244, + -10, + 1.856, + -10, + 2.467, + -10, + 1, + 2.7, + -10, + 2.933, + 8, + 3.167, + 8, + 1, + 3.422, + 8, + 3.678, + 0, + 3.933, + 0, + 0, + 4.933, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleZ", + "Segments": [ + 0, + 3, + 1, + 0.1, + 3, + 0.2, + 3, + 0.3, + 3, + 1, + 0.411, + 3, + 0.522, + 3, + 0.633, + 3, + 1, + 1.244, + 3, + 1.856, + 3, + 2.467, + 3, + 1, + 2.956, + 3, + 3.444, + 0, + 3.933, + 0, + 0, + 4.933, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyUpper", + "Segments": [ + 0, + -7, + 1, + 0.1, + -7, + 0.2, + -7.215, + 0.3, + -5.509, + 1, + 0.411, + -3.613, + 0.522, + 6, + 0.633, + 6, + 1, + 1.244, + 6, + 1.856, + 6, + 2.467, + 6, + 1, + 2.956, + 6, + 3.444, + 0, + 3.933, + 0, + 0, + 4.933, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBreath", + "Segments": [ + 0, + 0, + 1, + 0.1, + 0, + 0.2, + 0, + 0.3, + 0, + 1, + 0.411, + 0, + 0.522, + 0, + 0.633, + 0, + 1, + 1.244, + 0, + 1.856, + 0, + 2.467, + 0, + 1, + 2.956, + 0, + 3.444, + 0, + 3.933, + 0, + 0, + 4.933, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBustY", + "Segments": [ + 0, + 0, + 1, + 0.1, + 0, + 0.2, + 0, + 0.3, + 0, + 1, + 0.411, + 0, + 0.522, + 0, + 0.633, + 0, + 1, + 1.244, + 0, + 1.856, + 0, + 2.467, + 0, + 1, + 2.956, + 0, + 3.444, + 0, + 3.933, + 0, + 0, + 4.933, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmLA", + "Segments": [ + 0, + 0.7, + 1, + 0.1, + 0.7, + 0.2, + 1, + 0.3, + 1, + 1, + 0.411, + 1, + 0.522, + 1, + 0.633, + 1, + 1, + 1.244, + 1, + 1.856, + 0, + 2.467, + 0, + 1, + 2.611, + 0, + 2.756, + 0.331, + 2.9, + 0.5, + 1, + 3.244, + 0.902, + 3.589, + 1, + 3.933, + 1, + 0, + 4.933, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmRA", + "Segments": [ + 0, + 0.7, + 1, + 0.1, + 0.7, + 0.2, + 1, + 0.3, + 1, + 1, + 0.411, + 1, + 0.522, + 1, + 0.633, + 1, + 1, + 1.244, + 1, + 1.856, + 0, + 2.467, + 0, + 1, + 2.611, + 0, + 2.756, + 0.331, + 2.9, + 0.5, + 1, + 3.244, + 0.902, + 3.589, + 1, + 3.933, + 1, + 0, + 4.933, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmLB", + "Segments": [ + 0, + 4.7, + 1, + 0.1, + 4.7, + 0.2, + 4.7, + 0.3, + 4.7, + 1, + 0.411, + 4.7, + 0.522, + 4.7, + 0.633, + 4.7, + 1, + 0.767, + 4.7, + 0.9, + 4.2, + 1.033, + 4.2, + 1, + 1.178, + 4.2, + 1.322, + 4.656, + 1.467, + 4.656, + 1, + 1.611, + 4.656, + 1.756, + 4.555, + 1.9, + 4.555, + 1, + 2.089, + 4.555, + 2.278, + 4.55, + 2.467, + 4.6, + 1, + 2.611, + 4.638, + 2.756, + 5, + 2.9, + 5, + 1, + 3.244, + 5, + 3.589, + 5, + 3.933, + 5, + 0, + 4.933, + 5 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmRB", + "Segments": [ + 0, + 4.7, + 1, + 0.1, + 4.7, + 0.2, + 4.7, + 0.3, + 4.7, + 1, + 0.411, + 4.7, + 0.522, + 4.7, + 0.633, + 4.7, + 1, + 0.767, + 4.7, + 0.9, + 4.2, + 1.033, + 4.2, + 1, + 1.178, + 4.2, + 1.322, + 4.65, + 1.467, + 4.65, + 1, + 1.611, + 4.65, + 1.756, + 4.529, + 1.9, + 4.529, + 1, + 2.089, + 4.529, + 2.278, + 4.525, + 2.467, + 4.6, + 1, + 2.611, + 4.658, + 2.756, + 5, + 2.9, + 5, + 1, + 3.244, + 5, + 3.589, + 5, + 3.933, + 5, + 0, + 4.933, + 5 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandChangeR", + "Segments": [ + 0, + 1, + 1, + 0.1, + 1, + 0.2, + 1, + 0.3, + 1, + 1, + 0.411, + 1, + 0.522, + 1, + 0.633, + 1, + 1, + 1.244, + 1, + 1.856, + 1, + 2.467, + 1, + 1, + 2.956, + 1, + 3.444, + 1, + 3.933, + 1, + 0, + 4.933, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandAngleR", + "Segments": [ + 0, + 0.1, + 1, + 0.1, + 0.1, + 0.2, + 0.1, + 0.3, + 0.1, + 1, + 0.411, + 0.1, + 0.522, + -0.9, + 0.633, + -0.9, + 1, + 0.844, + -0.9, + 1.056, + 0.2, + 1.267, + 0.2, + 1, + 1.422, + 0.2, + 1.578, + -0.6, + 1.733, + -0.6, + 1, + 1.978, + -0.6, + 2.222, + -0.6, + 2.467, + -0.6, + 1, + 2.956, + -0.6, + 3.444, + -0.1, + 3.933, + -0.1, + 0, + 4.933, + -0.1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandDhangeL", + "Segments": [ + 0, + 1, + 1, + 0.1, + 1, + 0.2, + 1, + 0.3, + 1, + 1, + 0.411, + 1, + 0.522, + 1, + 0.633, + 1, + 1, + 1.244, + 1, + 1.856, + 1, + 2.467, + 1, + 1, + 2.956, + 1, + 3.444, + 1, + 3.933, + 1, + 0, + 4.933, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandAngleL", + "Segments": [ + 0, + -0.1, + 1, + 0.1, + -0.1, + 0.2, + -0.1, + 0.3, + -0.1, + 1, + 0.411, + -0.1, + 0.522, + 1, + 0.633, + 1, + 1, + 0.844, + 1, + 1.056, + -0.2, + 1.267, + -0.2, + 1, + 1.422, + -0.2, + 1.578, + 0.6, + 1.733, + 0.6, + 1, + 1.978, + 0.6, + 2.222, + 0.6, + 2.467, + 0.6, + 1, + 2.956, + 0.6, + 3.444, + 0.1, + 3.933, + 0.1, + 0, + 4.933, + 0.1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHairFront", + "Segments": [ + 0, + 0, + 1, + 0.1, + 0, + 0.2, + 0, + 0.3, + 0, + 1, + 0.411, + 0, + 0.522, + 0, + 0.633, + 0, + 1, + 1.244, + 0, + 1.856, + 0, + 2.467, + 0, + 1, + 2.956, + 0, + 3.444, + 0, + 3.933, + 0, + 0, + 4.933, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHairSide", + "Segments": [ + 0, + 0, + 1, + 0.1, + 0, + 0.2, + 0, + 0.3, + 0, + 1, + 0.411, + 0, + 0.522, + 0, + 0.633, + 0, + 1, + 1.244, + 0, + 1.856, + 0, + 2.467, + 0, + 1, + 2.956, + 0, + 3.444, + 0, + 3.933, + 0, + 0, + 4.933, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHairBack", + "Segments": [ + 0, + 0, + 1, + 0.1, + 0, + 0.2, + 0, + 0.3, + 0, + 1, + 0.411, + 0, + 0.522, + 0, + 0.633, + 0, + 1, + 1.244, + 0, + 1.856, + 0, + 2.467, + 0, + 1, + 2.956, + 0, + 3.444, + 0, + 3.933, + 0, + 0, + 4.933, + 0 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Core", + "Segments": [ + 0, + 1, + 2, + 2.63, + 1, + 2, + 2.9, + 1, + 2, + 4.9, + 1, + 0, + 4.93, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Hoho001", + "Segments": [ + 0, + 1, + 2, + 2.63, + 1, + 2, + 2.9, + 1, + 2, + 4.9, + 1, + 0, + 4.93, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Brow001", + "Segments": [ + 0, + 1, + 2, + 2.63, + 1, + 2, + 2.9, + 1, + 2, + 4.9, + 1, + 0, + 4.93, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Tear", + "Segments": [ + 0, + 1, + 2, + 2.63, + 1, + 2, + 2.9, + 1, + 2, + 4.9, + 1, + 0, + 4.93, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01EyeBall001", + "Segments": [ + 0, + 1, + 2, + 2.63, + 1, + 2, + 2.9, + 1, + 2, + 4.9, + 1, + 0, + 4.93, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Eye001", + "Segments": [ + 0, + 1, + 2, + 2.63, + 1, + 2, + 2.9, + 1, + 2, + 4.9, + 1, + 0, + 4.93, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Nose001", + "Segments": [ + 0, + 1, + 2, + 2.63, + 1, + 2, + 2.9, + 1, + 2, + 4.9, + 1, + 0, + 4.93, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Mouth001", + "Segments": [ + 0, + 1, + 2, + 2.63, + 1, + 2, + 2.9, + 1, + 2, + 4.9, + 1, + 0, + 4.93, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Face001", + "Segments": [ + 0, + 1, + 2, + 2.63, + 1, + 2, + 2.9, + 1, + 2, + 4.9, + 1, + 0, + 4.93, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Ear001", + "Segments": [ + 0, + 1, + 2, + 2.63, + 1, + 2, + 2.9, + 1, + 2, + 4.9, + 1, + 0, + 4.93, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Neck001", + "Segments": [ + 0, + 1, + 2, + 2.63, + 1, + 2, + 2.9, + 1, + 2, + 4.9, + 1, + 0, + 4.93, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01HairFront001", + "Segments": [ + 0, + 1, + 2, + 2.63, + 1, + 2, + 2.9, + 1, + 2, + 4.9, + 1, + 0, + 4.93, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01HairSide001", + "Segments": [ + 0, + 1, + 2, + 2.63, + 1, + 2, + 2.9, + 1, + 2, + 4.9, + 1, + 0, + 4.93, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01HairBack001", + "Segments": [ + 0, + 1, + 2, + 2.63, + 1, + 2, + 2.9, + 1, + 2, + 4.9, + 1, + 0, + 4.93, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01ArmRB001", + "Segments": [ + 0, + 1, + 2, + 2.63, + 1, + 1, + 2.72, + 1, + 2.81, + 0, + 2.9, + 0, + 2, + 4.9, + 0, + 0, + 4.93, + 0 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01ArmLB001", + "Segments": [ + 0, + 1, + 1, + 0.88, + 1, + 1.76, + 1, + 2.63, + 1, + 1, + 2.72, + 1, + 2.81, + 0, + 2.9, + 0, + 2, + 4.9, + 0, + 0, + 4.93, + 0 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01ArmRA001", + "Segments": [ + 0, + 0, + 1, + 0.88, + 0, + 1.76, + 0, + 2.63, + 0, + 1, + 2.72, + 0, + 2.81, + 1, + 2.9, + 1, + 2, + 4.9, + 1, + 0, + 4.93, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01ArmLA001", + "Segments": [ + 0, + 0, + 1, + 0.88, + 0, + 1.76, + 0, + 2.63, + 0, + 1, + 2.72, + 0, + 2.81, + 1, + 2.9, + 1, + 2, + 4.9, + 1, + 0, + 4.93, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Body001", + "Segments": [ + 0, + 1, + 2, + 2.63, + 1, + 2, + 2.9, + 1, + 2, + 4.9, + 1, + 0, + 4.93, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Sketch", + "Segments": [ + 0, + 0, + 2, + 2.63, + 0, + 2, + 2.9, + 0, + 2, + 4.9, + 0, + 0, + 4.93, + 0 + ] + } + ] +} \ No newline at end of file diff --git a/staticfiles/haru_greeter_pro_jp/runtime/motion/haru_g_m13.motion3.json b/staticfiles/haru_greeter_pro_jp/runtime/motion/haru_g_m13.motion3.json new file mode 100644 index 0000000000000000000000000000000000000000..045dfe2a08b275f168e9f3dc7378c29721205655 --- /dev/null +++ b/staticfiles/haru_greeter_pro_jp/runtime/motion/haru_g_m13.motion3.json @@ -0,0 +1,1133 @@ +{ + "Version": 3, + "Meta": { + "Duration": 2.53, + "Fps": 30.0, + "Loop": true, + "AreBeziersRestricted": true, + "CurveCount": 63, + "TotalSegmentCount": 135, + "TotalPointCount": 302, + "UserDataCount": 0, + "TotalUserDataSize": 0 + }, + "Curves": [ + { + "Target": "Model", + "Id": "Opacity", + "Segments": [ + 0, + 1, + 1, + 0.83, + 1, + 1.67, + 1, + 2.5, + 1, + 0, + 2.53, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleX", + "Segments": [ + 0, + 0, + 1, + 0.156, + 0, + 0.311, + 0, + 0.467, + 0, + 1, + 0.533, + 0, + 0.6, + 0, + 0.667, + 0, + 1, + 0.878, + 0, + 1.089, + 0, + 1.3, + 0, + 1, + 1.378, + 0, + 1.456, + 0, + 1.533, + 0, + 0, + 2.533, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleY", + "Segments": [ + 0, + 0, + 1, + 0.156, + 0, + 0.311, + 0, + 0.467, + 0, + 1, + 0.5, + 0, + 0.533, + -1, + 0.567, + -1, + 1, + 0.689, + -1, + 0.811, + 11, + 0.933, + 11, + 1, + 1.056, + 11, + 1.178, + -11, + 1.3, + -11, + 1, + 1.378, + -11, + 1.456, + 1, + 1.533, + 1, + 1, + 1.656, + 1, + 1.778, + 0, + 1.9, + 0, + 0, + 2.533, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleZ", + "Segments": [ + 0, + 0, + 1, + 0.189, + 0, + 0.378, + 0, + 0.567, + 0, + 1, + 0.678, + 0, + 0.789, + -6, + 0.9, + -6, + 1, + 1.011, + -6, + 1.122, + 19, + 1.233, + 19, + 1, + 1.4, + 19, + 1.567, + 17, + 1.733, + 17, + 0, + 2.533, + 17 + ] + }, + { + "Target": "Parameter", + "Id": "ParamTere", + "Segments": [ + 0, + 0, + 0, + 2.533, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamFaceForm", + "Segments": [ + 0, + 0, + 0, + 2.533, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeLOpen", + "Segments": [ + 0, + 2, + 1, + 0.544, + 2, + 1.089, + 2, + 1.633, + 2, + 1, + 1.667, + 2, + 1.7, + 0, + 1.733, + 0, + 1, + 1.756, + 0, + 1.778, + 0, + 1.8, + 0, + 1, + 1.822, + 0, + 1.844, + 2, + 1.867, + 2, + 1, + 1.9, + 2, + 1.933, + 0, + 1.967, + 0, + 1, + 2.011, + 0, + 2.056, + 0, + 2.1, + 0, + 1, + 2.144, + 0, + 2.189, + 2, + 2.233, + 2, + 0, + 2.533, + 2 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeLSmile", + "Segments": [ + 0, + 0, + 0, + 2.533, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeROpen", + "Segments": [ + 0, + 2, + 1, + 0.544, + 2, + 1.089, + 2, + 1.633, + 2, + 1, + 1.667, + 2, + 1.7, + 0, + 1.733, + 0, + 1, + 1.756, + 0, + 1.778, + 0, + 1.8, + 0, + 1, + 1.822, + 0, + 1.844, + 2, + 1.867, + 2, + 1, + 1.9, + 2, + 1.933, + 0, + 1.967, + 0, + 1, + 2.011, + 0, + 2.056, + 0, + 2.1, + 0, + 1, + 2.144, + 0, + 2.189, + 2, + 2.233, + 2, + 0, + 2.533, + 2 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeRSmile", + "Segments": [ + 0, + 0, + 0, + 2.533, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeForm", + "Segments": [ + 0, + 0, + 0, + 2.533, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallForm", + "Segments": [ + 0, + 0, + 0, + 2.533, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamTear", + "Segments": [ + 0, + 0, + 0, + 2.533, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallX", + "Segments": [ + 0, + 0, + 1, + 0.411, + 0, + 0.822, + 0.1, + 1.233, + 0.1, + 0, + 2.533, + 0.1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallY", + "Segments": [ + 0, + 0, + 1, + 0.411, + 0, + 0.822, + 0.4, + 1.233, + 0.4, + 0, + 2.533, + 0.4 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLY", + "Segments": [ + 0, + 1, + 0, + 2.533, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRY", + "Segments": [ + 0, + 1, + 0, + 2.533, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLX", + "Segments": [ + 0, + 0, + 0, + 2.533, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRX", + "Segments": [ + 0, + 0, + 0, + 2.533, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLAngle", + "Segments": [ + 0, + 0, + 0, + 2.533, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRAngle", + "Segments": [ + 0, + 0, + 0, + 2.533, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLForm", + "Segments": [ + 0, + 0, + 0, + 2.533, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRForm", + "Segments": [ + 0, + 0, + 0, + 2.533, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamMouthForm", + "Segments": [ + 0, + -0.84, + 0, + 2.533, + -0.84 + ] + }, + { + "Target": "Parameter", + "Id": "ParamMouthOpenY", + "Segments": [ + 0, + 0, + 0, + 2.533, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamScarf", + "Segments": [ + 0, + 0, + 0, + 2.533, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleX", + "Segments": [ + 0, + 0, + 0, + 2.533, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleY", + "Segments": [ + 0, + 0, + 1, + 0.189, + 0, + 0.378, + 0, + 0.567, + 0, + 1, + 0.678, + 0, + 0.789, + 5, + 0.9, + 5, + 1, + 1.011, + 5, + 1.122, + 0, + 1.233, + 0, + 0, + 2.533, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleZ", + "Segments": [ + 0, + 0, + 1, + 0.189, + 0, + 0.378, + 0, + 0.567, + 0, + 1, + 0.678, + 0, + 0.789, + -1, + 0.9, + -1, + 1, + 1.011, + -1, + 1.122, + 6, + 1.233, + 6, + 0, + 2.533, + 6 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyUpper", + "Segments": [ + 0, + 0, + 1, + 0.189, + 0, + 0.378, + 0, + 0.567, + 0, + 1, + 0.678, + 0, + 0.789, + -2, + 0.9, + -2, + 1, + 1.011, + -2, + 1.122, + 9, + 1.233, + 9, + 0, + 2.533, + 9 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBreath", + "Segments": [ + 0, + 0, + 0, + 2.533, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBustY", + "Segments": [ + 0, + 0, + 0, + 2.533, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmLA", + "Segments": [ + 0, + -0.16, + 1, + 0.211, + -0.16, + 0.422, + -0.16, + 0.633, + -0.16, + 1, + 0.789, + -0.16, + 0.944, + 0, + 1.1, + 0, + 1, + 1.189, + 0, + 1.278, + -0.16, + 1.367, + -0.16, + 0, + 2.533, + -0.16 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmRA", + "Segments": [ + 0, + -0.15, + 1, + 0.211, + -0.15, + 0.422, + -0.15, + 0.633, + -0.15, + 1, + 0.789, + -0.15, + 0.944, + 0, + 1.1, + 0, + 1, + 1.189, + 0, + 1.278, + -0.15, + 1.367, + -0.15, + 0, + 2.533, + -0.15 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmLB", + "Segments": [ + 0, + 0, + 0, + 2.533, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmRB", + "Segments": [ + 0, + 0, + 0, + 2.533, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandChangeR", + "Segments": [ + 0, + 0, + 0, + 2.533, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandAngleR", + "Segments": [ + 0, + 0, + 1, + 0.267, + 0, + 0.533, + 0, + 0.8, + 0, + 1, + 0.911, + 0, + 1.022, + -0.53, + 1.133, + -0.53, + 1, + 1.233, + -0.53, + 1.333, + 0, + 1.433, + 0, + 0, + 2.533, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandDhangeL", + "Segments": [ + 0, + 0, + 0, + 2.533, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandAngleL", + "Segments": [ + 0, + 0, + 1, + 0.267, + 0, + 0.533, + 0, + 0.8, + 0, + 1, + 0.911, + 0, + 1.022, + 0.54, + 1.133, + 0.54, + 1, + 1.233, + 0.54, + 1.333, + 0, + 1.433, + 0, + 0, + 2.533, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHairFront", + "Segments": [ + 0, + 0, + 0, + 2.533, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHairSide", + "Segments": [ + 0, + 0, + 0, + 2.533, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHairBack", + "Segments": [ + 0, + 0, + 0, + 2.533, + 0 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Core", + "Segments": [ + 0, + 1, + 2, + 2.5, + 1, + 0, + 2.53, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Hoho001", + "Segments": [ + 0, + 1, + 2, + 2.5, + 1, + 0, + 2.53, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Brow001", + "Segments": [ + 0, + 1, + 2, + 2.5, + 1, + 0, + 2.53, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Tear", + "Segments": [ + 0, + 1, + 2, + 2.5, + 1, + 0, + 2.53, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01EyeBall001", + "Segments": [ + 0, + 1, + 2, + 2.5, + 1, + 0, + 2.53, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Eye001", + "Segments": [ + 0, + 1, + 2, + 2.5, + 1, + 0, + 2.53, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Nose001", + "Segments": [ + 0, + 1, + 2, + 2.5, + 1, + 0, + 2.53, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Mouth001", + "Segments": [ + 0, + 1, + 2, + 2.5, + 1, + 0, + 2.53, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Face001", + "Segments": [ + 0, + 1, + 2, + 2.5, + 1, + 0, + 2.53, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Ear001", + "Segments": [ + 0, + 1, + 2, + 2.5, + 1, + 0, + 2.53, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Neck001", + "Segments": [ + 0, + 1, + 2, + 2.5, + 1, + 0, + 2.53, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01HairFront001", + "Segments": [ + 0, + 1, + 2, + 2.5, + 1, + 0, + 2.53, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01HairSide001", + "Segments": [ + 0, + 1, + 2, + 2.5, + 1, + 0, + 2.53, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01HairBack001", + "Segments": [ + 0, + 1, + 2, + 2.5, + 1, + 0, + 2.53, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01ArmRB001", + "Segments": [ + 0, + 0, + 2, + 2.5, + 0, + 0, + 2.53, + 0 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01ArmLB001", + "Segments": [ + 0, + 0, + 2, + 2.5, + 0, + 0, + 2.53, + 0 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01ArmRA001", + "Segments": [ + 0, + 1, + 2, + 2.5, + 1, + 0, + 2.53, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01ArmLA001", + "Segments": [ + 0, + 1, + 2, + 2.5, + 1, + 0, + 2.53, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Body001", + "Segments": [ + 0, + 1, + 2, + 2.5, + 1, + 0, + 2.53, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Sketch", + "Segments": [ + 0, + 0, + 2, + 2.5, + 0, + 0, + 2.53, + 0 + ] + } + ] +} \ No newline at end of file diff --git a/staticfiles/haru_greeter_pro_jp/runtime/motion/haru_g_m14.motion3.json b/staticfiles/haru_greeter_pro_jp/runtime/motion/haru_g_m14.motion3.json new file mode 100644 index 0000000000000000000000000000000000000000..a0c55c04d2fb207e06cb05aeb640b54db3bd9582 --- /dev/null +++ b/staticfiles/haru_greeter_pro_jp/runtime/motion/haru_g_m14.motion3.json @@ -0,0 +1,2176 @@ +{ + "Version": 3, + "Meta": { + "Duration": 3.03, + "Fps": 30.0, + "Loop": true, + "AreBeziersRestricted": true, + "CurveCount": 63, + "TotalSegmentCount": 284, + "TotalPointCount": 749, + "UserDataCount": 0, + "TotalUserDataSize": 0 + }, + "Curves": [ + { + "Target": "Model", + "Id": "Opacity", + "Segments": [ + 0, + 1, + 1, + 1, + 1, + 2, + 1, + 3, + 1, + 0, + 3.03, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleX", + "Segments": [ + 0, + 0, + 1, + 0.167, + 0, + 0.333, + 0, + 0.5, + 0, + 1, + 0.589, + 0, + 0.678, + 1, + 0.767, + 1, + 1, + 0.889, + 1, + 1.011, + 1.06, + 1.133, + 0.632, + 1, + 1.256, + 0.204, + 1.378, + -2, + 1.5, + -2, + 1, + 2, + -2, + 2.5, + -2, + 3, + -2, + 0, + 3.033, + -2 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleY", + "Segments": [ + 0, + 0, + 1, + 0.122, + 0, + 0.244, + 0, + 0.367, + 0, + 1, + 0.433, + 0, + 0.5, + -1, + 0.567, + -1, + 1, + 0.689, + -1, + 0.811, + 16, + 0.933, + 16, + 1, + 1.067, + 16, + 1.2, + 16.106, + 1.333, + 13.915, + 1, + 1.444, + 12.09, + 1.556, + -1, + 1.667, + -1, + 1, + 2.111, + -1, + 2.556, + -1, + 3, + -1, + 0, + 3.033, + -1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleZ", + "Segments": [ + 0, + 0, + 1, + 0.211, + 0, + 0.422, + 0, + 0.633, + 0, + 1, + 0.767, + 0, + 0.9, + -9, + 1.033, + -9, + 1, + 1.1, + -9, + 1.167, + -9.696, + 1.233, + -5.567, + 1, + 1.356, + 2.004, + 1.478, + 15.49, + 1.6, + 19, + 1, + 1.778, + 19.291, + 1.956, + 18, + 2.133, + 18, + 1, + 2.422, + 18, + 2.711, + 18, + 3, + 18, + 0, + 3.033, + 18 + ] + }, + { + "Target": "Parameter", + "Id": "ParamTere", + "Segments": [ + 0, + 0, + 1, + 0.167, + 0, + 0.333, + 0, + 0.5, + 0, + 1, + 0.711, + 0, + 0.922, + 0, + 1.133, + 0, + 1, + 1.256, + 0, + 1.378, + 0, + 1.5, + 0, + 1, + 2, + 0, + 2.5, + 0, + 3, + 0, + 0, + 3.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamFaceForm", + "Segments": [ + 0, + 0, + 1, + 1, + 0, + 2, + 0, + 3, + 0, + 0, + 3.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeLOpen", + "Segments": [ + 0, + 1, + 1, + 0.167, + 1, + 0.333, + 1, + 0.5, + 1, + 1, + 0.589, + 1, + 0.678, + 0, + 0.767, + 0, + 1, + 0.8, + 0, + 0.833, + 0, + 0.867, + 0, + 1, + 0.956, + 0, + 1.044, + 1.332, + 1.133, + 1.616, + 1, + 1.256, + 2.007, + 1.378, + 2, + 1.5, + 2, + 1, + 1.667, + 2, + 1.833, + 2, + 2, + 2, + 1, + 2.044, + 2, + 2.089, + 0, + 2.133, + 0, + 1, + 2.167, + 0, + 2.2, + 0, + 2.233, + 0, + 1, + 2.311, + 0, + 2.389, + 2, + 2.467, + 2, + 1, + 2.644, + 2, + 2.822, + 2, + 3, + 2, + 0, + 3.033, + 2 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeLSmile", + "Segments": [ + 0, + 0, + 1, + 0.167, + 0, + 0.333, + 0, + 0.5, + 0, + 1, + 0.711, + 0, + 0.922, + 0, + 1.133, + 0, + 1, + 1.256, + 0, + 1.378, + 0, + 1.5, + 0, + 1, + 2, + 0, + 2.5, + 0, + 3, + 0, + 0, + 3.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeROpen", + "Segments": [ + 0, + 1, + 1, + 0.167, + 1, + 0.333, + 1, + 0.5, + 1, + 1, + 0.589, + 1, + 0.678, + 0, + 0.767, + 0, + 1, + 0.8, + 0, + 0.833, + 0, + 0.867, + 0, + 1, + 0.956, + 0, + 1.044, + 1.332, + 1.133, + 1.616, + 1, + 1.256, + 2.007, + 1.378, + 2, + 1.5, + 2, + 1, + 1.667, + 2, + 1.833, + 2, + 2, + 2, + 1, + 2.044, + 2, + 2.089, + 0, + 2.133, + 0, + 1, + 2.167, + 0, + 2.2, + 0, + 2.233, + 0, + 1, + 2.311, + 0, + 2.389, + 2, + 2.467, + 2, + 1, + 2.644, + 2, + 2.822, + 2, + 3, + 2, + 0, + 3.033, + 2 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeRSmile", + "Segments": [ + 0, + 0, + 1, + 0.167, + 0, + 0.333, + 0, + 0.5, + 0, + 1, + 0.711, + 0, + 0.922, + 0, + 1.133, + 0, + 1, + 1.256, + 0, + 1.378, + 0, + 1.5, + 0, + 1, + 2, + 0, + 2.5, + 0, + 3, + 0, + 0, + 3.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeForm", + "Segments": [ + 0, + 0, + 1, + 0.167, + 0, + 0.333, + 0, + 0.5, + 0, + 1, + 0.711, + 0, + 0.922, + 0, + 1.133, + 0, + 1, + 1.256, + 0, + 1.378, + 0.3, + 1.5, + 0.3, + 1, + 2, + 0.3, + 2.5, + 0.3, + 3, + 0.3, + 0, + 3.033, + 0.3 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallForm", + "Segments": [ + 0, + 0, + 1, + 0.167, + 0, + 0.333, + 0, + 0.5, + 0, + 1, + 0.711, + 0, + 0.922, + 0, + 1.133, + 0, + 1, + 1.256, + 0, + 1.378, + 0, + 1.5, + 0, + 1, + 2, + 0, + 2.5, + 0, + 3, + 0, + 0, + 3.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamTear", + "Segments": [ + 0, + 0, + 1, + 0.167, + 0, + 0.333, + 0, + 0.5, + 0, + 1, + 0.711, + 0, + 0.922, + 0, + 1.133, + 0, + 1, + 1.256, + 0, + 1.378, + 0, + 1.5, + 0, + 1, + 2, + 0, + 2.5, + 0, + 3, + 0, + 0, + 3.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallX", + "Segments": [ + 0, + 0, + 1, + 0.167, + 0, + 0.333, + 0, + 0.5, + 0, + 1, + 0.711, + 0, + 0.922, + 0, + 1.133, + 0, + 1, + 1.256, + 0, + 1.378, + 0, + 1.5, + 0, + 1, + 2, + 0, + 2.5, + 0, + 3, + 0, + 0, + 3.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallY", + "Segments": [ + 0, + 0, + 1, + 0.167, + 0, + 0.333, + 0, + 0.5, + 0, + 1, + 0.711, + 0, + 0.922, + 0.039, + 1.133, + 0.123, + 1, + 1.256, + 0.172, + 1.378, + 0.2, + 1.5, + 0.2, + 1, + 1.667, + 0.2, + 1.833, + 0.2, + 2, + 0.2, + 1, + 2.044, + 0.2, + 2.089, + -0.2, + 2.133, + -0.2, + 1, + 2.167, + -0.2, + 2.2, + -0.2, + 2.233, + -0.2, + 1, + 2.311, + -0.2, + 2.389, + 0.2, + 2.467, + 0.2, + 1, + 2.644, + 0.2, + 2.822, + 0.2, + 3, + 0.2, + 0, + 3.033, + 0.2 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLY", + "Segments": [ + 0, + 0, + 1, + 0.167, + 0, + 0.333, + 0, + 0.5, + 0, + 1, + 0.589, + 0, + 0.678, + -0.1, + 0.767, + -0.1, + 1, + 0.8, + -0.1, + 0.833, + -0.1, + 0.867, + -0.1, + 1, + 0.956, + -0.1, + 1.044, + 0.291, + 1.133, + 0.493, + 1, + 1.256, + 0.77, + 1.378, + 0.8, + 1.5, + 0.8, + 1, + 2, + 0.8, + 2.5, + 0.8, + 3, + 0.8, + 0, + 3.033, + 0.8 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRY", + "Segments": [ + 0, + 0, + 1, + 0.167, + 0, + 0.333, + 0, + 0.5, + 0, + 1, + 0.589, + 0, + 0.678, + -0.1, + 0.767, + -0.1, + 1, + 0.8, + -0.1, + 0.833, + -0.1, + 0.867, + -0.1, + 1, + 0.956, + -0.1, + 1.044, + 0.291, + 1.133, + 0.493, + 1, + 1.256, + 0.77, + 1.378, + 0.8, + 1.5, + 0.8, + 1, + 2, + 0.8, + 2.5, + 0.8, + 3, + 0.8, + 0, + 3.033, + 0.8 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLX", + "Segments": [ + 0, + 0, + 1, + 0.167, + 0, + 0.333, + 0, + 0.5, + 0, + 1, + 0.711, + 0, + 0.922, + 0.039, + 1.133, + 0.123, + 1, + 1.256, + 0.172, + 1.378, + 0.2, + 1.5, + 0.2, + 1, + 2, + 0.2, + 2.5, + 0.2, + 3, + 0.2, + 0, + 3.033, + 0.2 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRX", + "Segments": [ + 0, + 0, + 1, + 0.167, + 0, + 0.333, + 0, + 0.5, + 0, + 1, + 0.711, + 0, + 0.922, + 0.039, + 1.133, + 0.123, + 1, + 1.256, + 0.172, + 1.378, + 0.2, + 1.5, + 0.2, + 1, + 2, + 0.2, + 2.5, + 0.2, + 3, + 0.2, + 0, + 3.033, + 0.2 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLAngle", + "Segments": [ + 0, + 0, + 1, + 0.167, + 0, + 0.333, + 0, + 0.5, + 0, + 1, + 0.711, + 0, + 0.922, + 0.039, + 1.133, + 0.123, + 1, + 1.256, + 0.172, + 1.378, + 0.2, + 1.5, + 0.2, + 1, + 2, + 0.2, + 2.5, + 0.2, + 3, + 0.2, + 0, + 3.033, + 0.2 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRAngle", + "Segments": [ + 0, + 0, + 1, + 0.167, + 0, + 0.333, + 0, + 0.5, + 0, + 1, + 0.711, + 0, + 0.922, + 0.039, + 1.133, + 0.123, + 1, + 1.256, + 0.172, + 1.378, + 0.2, + 1.5, + 0.2, + 1, + 2, + 0.2, + 2.5, + 0.2, + 3, + 0.2, + 0, + 3.033, + 0.2 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLForm", + "Segments": [ + 0, + 0, + 1, + 0.167, + 0, + 0.333, + 0, + 0.5, + 0, + 1, + 0.711, + 0, + 0.922, + 0.078, + 1.133, + 0.246, + 1, + 1.256, + 0.344, + 1.378, + 0.4, + 1.5, + 0.4, + 1, + 2, + 0.4, + 2.5, + 0.4, + 3, + 0.4, + 0, + 3.033, + 0.4 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRForm", + "Segments": [ + 0, + 0, + 1, + 0.167, + 0, + 0.333, + 0, + 0.5, + 0, + 1, + 0.711, + 0, + 0.922, + 0.078, + 1.133, + 0.246, + 1, + 1.256, + 0.344, + 1.378, + 0.4, + 1.5, + 0.4, + 1, + 2, + 0.4, + 2.5, + 0.4, + 3, + 0.4, + 0, + 3.033, + 0.4 + ] + }, + { + "Target": "Parameter", + "Id": "ParamMouthForm", + "Segments": [ + 0, + 1, + 1, + 0.167, + 1, + 0.333, + 1, + 0.5, + 1, + 1, + 0.589, + 1, + 0.678, + -0.5, + 0.767, + -0.5, + 1, + 0.889, + -0.5, + 1.011, + -0.232, + 1.133, + -0.232, + 1, + 1.256, + -0.232, + 1.378, + -1, + 1.5, + -1, + 1, + 2, + -1, + 2.5, + -1, + 3, + -1, + 0, + 3.033, + -1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamMouthOpenY", + "Segments": [ + 0, + 0, + 1, + 0.167, + 0, + 0.333, + 0, + 0.5, + 0, + 1, + 0.711, + 0, + 0.922, + 0, + 1.133, + 0, + 1, + 1.256, + 0, + 1.378, + 0, + 1.5, + 0, + 1, + 2, + 0, + 2.5, + 0, + 3, + 0, + 0, + 3.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamScarf", + "Segments": [ + 0, + 0, + 1, + 0.167, + 0, + 0.333, + 0, + 0.5, + 0, + 1, + 0.711, + 0, + 0.922, + 0, + 1.133, + 0, + 1, + 1.256, + 0, + 1.378, + 0, + 1.5, + 0, + 1, + 2, + 0, + 2.5, + 0, + 3, + 0, + 0, + 3.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleX", + "Segments": [ + 0, + 0, + 1, + 0.167, + 0, + 0.333, + 0, + 0.5, + 0, + 1, + 0.589, + 0, + 0.678, + 3, + 0.767, + 3, + 1, + 0.889, + 3, + 1.011, + 1.294, + 1.133, + -0.616, + 1, + 1.256, + -2.526, + 1.378, + -3, + 1.5, + -3, + 1, + 2, + -3, + 2.5, + -3, + 3, + -3, + 0, + 3.033, + -3 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleY", + "Segments": [ + 0, + 0, + 1, + 0.167, + 0, + 0.333, + 0, + 0.5, + 0, + 1, + 0.711, + 0, + 0.922, + 7, + 1.133, + 7, + 1, + 1.256, + 7, + 1.378, + -9, + 1.5, + -9, + 1, + 2, + -9, + 2.5, + -9, + 3, + -9, + 0, + 3.033, + -9 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleZ", + "Segments": [ + 0, + 0, + 1, + 0.167, + 0, + 0.333, + 0, + 0.5, + 0, + 1, + 0.589, + 0, + 0.678, + -4.509, + 0.767, + -4.728, + 1, + 0.889, + -5.029, + 1.011, + -5, + 1.133, + -5, + 1, + 1.256, + -5, + 1.378, + 7, + 1.5, + 7, + 1, + 2, + 7, + 2.5, + 7, + 3, + 7, + 0, + 3.033, + 7 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyUpper", + "Segments": [ + 0, + 0, + 1, + 0.167, + 0, + 0.333, + 0, + 0.5, + 0, + 1, + 0.589, + 0, + 0.678, + -1.507, + 0.767, + -1.507, + 1, + 0.889, + -1.507, + 1.011, + -1.675, + 1.133, + -0.529, + 1, + 1.256, + 0.618, + 1.378, + 10, + 1.5, + 10, + 1, + 2, + 10, + 2.5, + 10, + 3, + 10, + 0, + 3.033, + 10 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBreath", + "Segments": [ + 0, + 0, + 1, + 0.167, + 0, + 0.333, + 0, + 0.5, + 0, + 1, + 0.711, + 0, + 0.922, + 0, + 1.133, + 0, + 1, + 1.256, + 0, + 1.378, + 0, + 1.5, + 0, + 1, + 2, + 0, + 2.5, + 0, + 3, + 0, + 0, + 3.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBustY", + "Segments": [ + 0, + 0, + 1, + 0.167, + 0, + 0.333, + 0, + 0.5, + 0, + 1, + 0.711, + 0, + 0.922, + 0, + 1.133, + 0, + 1, + 1.256, + 0, + 1.378, + 0, + 1.5, + 0, + 1, + 2, + 0, + 2.5, + 0, + 3, + 0, + 0, + 3.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmLA", + "Segments": [ + 0, + 1, + 1, + 0.167, + 1, + 0.333, + 1, + 0.5, + 1, + 1, + 0.711, + 1, + 0.922, + 0.3, + 1.133, + 0.3, + 1, + 1.256, + 0.3, + 1.378, + 0.327, + 1.5, + 0.4, + 1, + 1.6, + 0.459, + 1.7, + 0.5, + 1.8, + 0.5, + 1, + 2.2, + 0.5, + 2.6, + 0.5, + 3, + 0.5, + 0, + 3.033, + 0.5 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmRA", + "Segments": [ + 0, + 1, + 1, + 0.167, + 1, + 0.333, + 1, + 0.5, + 1, + 1, + 0.711, + 1, + 0.922, + 0.3, + 1.133, + 0.3, + 1, + 1.256, + 0.3, + 1.378, + 0.327, + 1.5, + 0.4, + 1, + 1.6, + 0.459, + 1.7, + 0.5, + 1.8, + 0.5, + 1, + 2.2, + 0.5, + 2.6, + 0.5, + 3, + 0.5, + 0, + 3.033, + 0.5 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmLB", + "Segments": [ + 0, + 0, + 1, + 0.167, + 0, + 0.333, + 0, + 0.5, + 0, + 1, + 0.711, + 0, + 0.922, + 0, + 1.133, + 0, + 1, + 1.256, + 0, + 1.378, + 0, + 1.5, + 0, + 1, + 2, + 0, + 2.5, + 0, + 3, + 0, + 0, + 3.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmRB", + "Segments": [ + 0, + 0, + 1, + 0.167, + 0, + 0.333, + 0, + 0.5, + 0, + 1, + 0.711, + 0, + 0.922, + 0, + 1.133, + 0, + 1, + 1.256, + 0, + 1.378, + 0, + 1.5, + 0, + 1, + 2, + 0, + 2.5, + 0, + 3, + 0, + 0, + 3.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandChangeR", + "Segments": [ + 0, + 0, + 1, + 0.167, + 0, + 0.333, + 0, + 0.5, + 0, + 1, + 0.744, + 0, + 0.989, + 0, + 1.233, + 0, + 1, + 1.467, + 0, + 1.7, + 0, + 1.933, + 0, + 1, + 2.289, + 0, + 2.644, + 0, + 3, + 0, + 0, + 3.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandAngleR", + "Segments": [ + 0, + 0, + 1, + 0.167, + 0, + 0.333, + 0, + 0.5, + 0, + 1, + 0.589, + 0, + 0.678, + 0.9, + 0.767, + 0.9, + 1, + 0.922, + 0.9, + 1.078, + 0.681, + 1.233, + 0, + 1, + 1.344, + -0.486, + 1.456, + -0.9, + 1.567, + -0.9, + 1, + 1.689, + -0.9, + 1.811, + -0.6, + 1.933, + -0.6, + 1, + 2.289, + -0.6, + 2.644, + -0.6, + 3, + -0.6, + 0, + 3.033, + -0.6 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandDhangeL", + "Segments": [ + 0, + 0, + 1, + 0.167, + 0, + 0.333, + 0, + 0.5, + 0, + 1, + 0.744, + 0, + 0.989, + 0, + 1.233, + 0, + 1, + 1.467, + 0, + 1.7, + 0, + 1.933, + 0, + 1, + 2.289, + 0, + 2.644, + 0, + 3, + 0, + 0, + 3.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandAngleL", + "Segments": [ + 0, + 0, + 1, + 0.167, + 0, + 0.333, + 0, + 0.5, + 0, + 1, + 0.589, + 0, + 0.678, + -0.9, + 0.767, + -0.9, + 1, + 0.922, + -0.9, + 1.078, + -0.681, + 1.233, + 0, + 1, + 1.344, + 0.486, + 1.456, + 0.9, + 1.567, + 0.9, + 1, + 1.689, + 0.9, + 1.811, + 0.6, + 1.933, + 0.6, + 1, + 2.289, + 0.6, + 2.644, + 0.6, + 3, + 0.6, + 0, + 3.033, + 0.6 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHairFront", + "Segments": [ + 0, + 0, + 1, + 0.167, + 0, + 0.333, + 0, + 0.5, + 0, + 1, + 0.711, + 0, + 0.922, + 0, + 1.133, + 0, + 1, + 1.256, + 0, + 1.378, + 0, + 1.5, + 0, + 1, + 2, + 0, + 2.5, + 0, + 3, + 0, + 0, + 3.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHairSide", + "Segments": [ + 0, + 0, + 1, + 0.167, + 0, + 0.333, + 0, + 0.5, + 0, + 1, + 0.711, + 0, + 0.922, + 0, + 1.133, + 0, + 1, + 1.256, + 0, + 1.378, + 0, + 1.5, + 0, + 1, + 2, + 0, + 2.5, + 0, + 3, + 0, + 0, + 3.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHairBack", + "Segments": [ + 0, + 0, + 1, + 0.167, + 0, + 0.333, + 0, + 0.5, + 0, + 1, + 0.711, + 0, + 0.922, + 0, + 1.133, + 0, + 1, + 1.256, + 0, + 1.378, + 0, + 1.5, + 0, + 1, + 2, + 0, + 2.5, + 0, + 3, + 0, + 0, + 3.033, + 0 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Core", + "Segments": [ + 0, + 1, + 2, + 3, + 1, + 0, + 3.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Hoho001", + "Segments": [ + 0, + 1, + 2, + 3, + 1, + 0, + 3.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Brow001", + "Segments": [ + 0, + 1, + 2, + 3, + 1, + 0, + 3.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Tear", + "Segments": [ + 0, + 1, + 2, + 3, + 1, + 0, + 3.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01EyeBall001", + "Segments": [ + 0, + 1, + 2, + 3, + 1, + 0, + 3.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Eye001", + "Segments": [ + 0, + 1, + 2, + 3, + 1, + 0, + 3.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Nose001", + "Segments": [ + 0, + 1, + 2, + 3, + 1, + 0, + 3.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Mouth001", + "Segments": [ + 0, + 1, + 2, + 3, + 1, + 0, + 3.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Face001", + "Segments": [ + 0, + 1, + 2, + 3, + 1, + 0, + 3.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Ear001", + "Segments": [ + 0, + 1, + 2, + 3, + 1, + 0, + 3.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Neck001", + "Segments": [ + 0, + 1, + 2, + 3, + 1, + 0, + 3.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01HairFront001", + "Segments": [ + 0, + 1, + 2, + 3, + 1, + 0, + 3.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01HairSide001", + "Segments": [ + 0, + 1, + 2, + 3, + 1, + 0, + 3.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01HairBack001", + "Segments": [ + 0, + 1, + 2, + 3, + 1, + 0, + 3.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01ArmRB001", + "Segments": [ + 0, + 0, + 2, + 3, + 0, + 0, + 3.03, + 0 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01ArmLB001", + "Segments": [ + 0, + 0, + 2, + 3, + 0, + 0, + 3.03, + 0 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01ArmRA001", + "Segments": [ + 0, + 1, + 2, + 3, + 1, + 0, + 3.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01ArmLA001", + "Segments": [ + 0, + 1, + 2, + 3, + 1, + 0, + 3.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Body001", + "Segments": [ + 0, + 1, + 2, + 3, + 1, + 0, + 3.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Sketch", + "Segments": [ + 0, + 0, + 2, + 3, + 0, + 0, + 3.03, + 0 + ] + } + ] +} \ No newline at end of file diff --git a/staticfiles/haru_greeter_pro_jp/runtime/motion/haru_g_m15.motion3.json b/staticfiles/haru_greeter_pro_jp/runtime/motion/haru_g_m15.motion3.json new file mode 100644 index 0000000000000000000000000000000000000000..c774ddf9c650022c5abf899b3ddec2daba4ab968 --- /dev/null +++ b/staticfiles/haru_greeter_pro_jp/runtime/motion/haru_g_m15.motion3.json @@ -0,0 +1,1357 @@ +{ + "Version": 3, + "Meta": { + "Duration": 5.33, + "Fps": 30.0, + "Loop": true, + "AreBeziersRestricted": true, + "CurveCount": 63, + "TotalSegmentCount": 167, + "TotalPointCount": 398, + "UserDataCount": 0, + "TotalUserDataSize": 0 + }, + "Curves": [ + { + "Target": "Model", + "Id": "Opacity", + "Segments": [ + 0, + 1, + 1, + 1.77, + 1, + 3.53, + 1, + 5.3, + 1, + 0, + 5.33, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleX", + "Segments": [ + 0, + 0, + 1, + 0.2, + 0, + 0.4, + -3, + 0.6, + -3, + 1, + 1.333, + -3, + 2.067, + -3, + 2.8, + -3, + 1, + 3.056, + -3, + 3.311, + 1, + 3.567, + 1, + 1, + 3.833, + 1, + 4.1, + 0, + 4.367, + 0, + 1, + 4.678, + 0, + 4.989, + 0, + 5.3, + 0, + 0, + 5.333, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleY", + "Segments": [ + 0, + 0, + 1, + 0.2, + 0, + 0.4, + -10, + 0.6, + -10, + 1, + 1.333, + -10, + 2.067, + -10, + 2.8, + -10, + 1, + 3.056, + -10, + 3.311, + 11, + 3.567, + 11, + 1, + 3.833, + 11, + 4.1, + 0, + 4.367, + 0, + 1, + 4.678, + 0, + 4.989, + 0, + 5.3, + 0, + 0, + 5.333, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleZ", + "Segments": [ + 0, + 0, + 1, + 0.211, + 0, + 0.422, + -30, + 0.633, + -30, + 1, + 0.689, + -30, + 0.744, + -30, + 0.8, + -30, + 1, + 1.1, + -30, + 1.4, + 30, + 1.7, + 30, + 1, + 1.744, + 30, + 1.789, + 30, + 1.833, + 30, + 1, + 2.167, + 30, + 2.5, + -30, + 2.833, + -30, + 1, + 2.878, + -30, + 2.922, + -30, + 2.967, + -30, + 1, + 3.222, + -30, + 3.478, + 0, + 3.733, + 0, + 1, + 4.256, + 0, + 4.778, + 0, + 5.3, + 0, + 0, + 5.333, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamTere", + "Segments": [ + 0, + 0, + 1, + 1.767, + 0, + 3.533, + 0, + 5.3, + 0, + 0, + 5.333, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamFaceForm", + "Segments": [ + 0, + 0, + 1, + 1.767, + 0, + 3.533, + 0, + 5.3, + 0, + 0, + 5.333, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeLOpen", + "Segments": [ + 0, + 1, + 1, + 1.767, + 1, + 3.533, + 1, + 5.3, + 1, + 0, + 5.333, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeLSmile", + "Segments": [ + 0, + 0, + 1, + 1.767, + 0, + 3.533, + 0, + 5.3, + 0, + 0, + 5.333, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeROpen", + "Segments": [ + 0, + 1, + 1, + 1.767, + 1, + 3.533, + 1, + 5.3, + 1, + 0, + 5.333, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeRSmile", + "Segments": [ + 0, + 0, + 1, + 1.767, + 0, + 3.533, + 0, + 5.3, + 0, + 0, + 5.333, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeForm", + "Segments": [ + 0, + 0, + 1, + 1.767, + 0, + 3.533, + 0, + 5.3, + 0, + 0, + 5.333, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallForm", + "Segments": [ + 0, + 0, + 1, + 1.767, + 0, + 3.533, + 0, + 5.3, + 0, + 0, + 5.333, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamTear", + "Segments": [ + 0, + 0, + 1, + 1.767, + 0, + 3.533, + 0, + 5.3, + 0, + 0, + 5.333, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallX", + "Segments": [ + 0, + 0, + 1, + 0.2, + 0, + 0.4, + 0.03, + 0.6, + 0.03, + 1, + 0.989, + 0.03, + 1.378, + 0.03, + 1.767, + 0.03, + 1, + 2.144, + 0.03, + 2.522, + 0.03, + 2.9, + 0.03, + 1, + 3.1, + 0.03, + 3.3, + -0.1, + 3.5, + -0.1, + 1, + 3.767, + -0.1, + 4.033, + 0, + 4.3, + 0, + 1, + 4.633, + 0, + 4.967, + 0, + 5.3, + 0, + 0, + 5.333, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallY", + "Segments": [ + 0, + 0, + 1, + 0.2, + 0, + 0.4, + 0.67, + 0.6, + 0.67, + 1, + 0.989, + 0.67, + 1.378, + 0.67, + 1.767, + 0.67, + 1, + 2.144, + 0.67, + 2.522, + 0.67, + 2.9, + 0.67, + 1, + 3.1, + 0.67, + 3.3, + -0.21, + 3.5, + -0.21, + 1, + 3.767, + -0.21, + 4.033, + 0, + 4.3, + 0, + 1, + 4.633, + 0, + 4.967, + 0, + 5.3, + 0, + 0, + 5.333, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLY", + "Segments": [ + 0, + 0, + 1, + 1.767, + 0, + 3.533, + 0, + 5.3, + 0, + 0, + 5.333, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRY", + "Segments": [ + 0, + 0, + 1, + 1.767, + 0, + 3.533, + 0, + 5.3, + 0, + 0, + 5.333, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLX", + "Segments": [ + 0, + 0, + 1, + 1.767, + 0, + 3.533, + 0, + 5.3, + 0, + 0, + 5.333, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRX", + "Segments": [ + 0, + 0, + 1, + 1.767, + 0, + 3.533, + 0, + 5.3, + 0, + 0, + 5.333, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLAngle", + "Segments": [ + 0, + 0, + 1, + 1.767, + 0, + 3.533, + 0, + 5.3, + 0, + 0, + 5.333, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRAngle", + "Segments": [ + 0, + 0, + 1, + 1.767, + 0, + 3.533, + 0, + 5.3, + 0, + 0, + 5.333, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLForm", + "Segments": [ + 0, + 0, + 1, + 1.767, + 0, + 3.533, + 0, + 5.3, + 0, + 0, + 5.333, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRForm", + "Segments": [ + 0, + 0, + 1, + 1.767, + 0, + 3.533, + 0, + 5.3, + 0, + 0, + 5.333, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamMouthForm", + "Segments": [ + 0, + 1, + 1, + 1.767, + 1, + 3.533, + 1, + 5.3, + 1, + 0, + 5.333, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamMouthOpenY", + "Segments": [ + 0, + 0, + 1, + 1.767, + 0, + 3.533, + 0, + 5.3, + 0, + 0, + 5.333, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamScarf", + "Segments": [ + 0, + 0, + 1, + 1.767, + 0, + 3.533, + 0, + 5.3, + 0, + 0, + 5.333, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleX", + "Segments": [ + 0, + 0, + 1, + 0.322, + 0, + 0.644, + 6, + 0.967, + 6, + 1, + 1.322, + 6, + 1.678, + -2, + 2.033, + -2, + 1, + 2.344, + -2, + 2.656, + 0, + 2.967, + 0, + 1, + 3.178, + 0, + 3.389, + -3, + 3.6, + -3, + 1, + 3.833, + -3, + 4.067, + 0, + 4.3, + 0, + 1, + 4.633, + 0, + 4.967, + 0, + 5.3, + 0, + 0, + 5.333, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleY", + "Segments": [ + 0, + 0, + 1, + 0.967, + 0, + 1.933, + 0, + 2.9, + 0, + 1, + 3.111, + 0, + 3.322, + 2, + 3.533, + 2, + 1, + 3.767, + 2, + 4, + 0, + 4.233, + 0, + 1, + 4.589, + 0, + 4.944, + 0, + 5.3, + 0, + 0, + 5.333, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleZ", + "Segments": [ + 0, + 0, + 1, + 1.767, + 0, + 3.533, + 0, + 5.3, + 0, + 0, + 5.333, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyUpper", + "Segments": [ + 0, + 0, + 1, + 1.767, + 0, + 3.533, + 0, + 5.3, + 0, + 0, + 5.333, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBreath", + "Segments": [ + 0, + 0, + 1, + 1.767, + 0, + 3.533, + 0, + 5.3, + 0, + 0, + 5.333, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBustY", + "Segments": [ + 0, + 0, + 1, + 1.767, + 0, + 3.533, + 0, + 5.3, + 0, + 0, + 5.333, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmLA", + "Segments": [ + 0, + 0.5, + 1, + 0.156, + 0.5, + 0.311, + 0.75, + 0.467, + 0.76, + 1, + 1.978, + 0.855, + 3.489, + 0.89, + 5, + 0.89, + 1, + 5.1, + 0.89, + 5.2, + 0.5, + 5.3, + 0.5, + 0, + 5.333, + 0.5 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmRA", + "Segments": [ + 0, + 0.5, + 1, + 0.156, + 0.5, + 0.311, + 0.746, + 0.467, + 0.76, + 1, + 1.978, + 0.899, + 3.489, + 0.95, + 5, + 0.95, + 1, + 5.1, + 0.95, + 5.2, + 0.5, + 5.3, + 0.5, + 0, + 5.333, + 0.5 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmLB", + "Segments": [ + 0, + 0, + 1, + 1.767, + 0, + 3.533, + 0, + 5.3, + 0, + 0, + 5.333, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmRB", + "Segments": [ + 0, + 0, + 1, + 1.767, + 0, + 3.533, + 0, + 5.3, + 0, + 0, + 5.333, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandChangeR", + "Segments": [ + 0, + 0, + 1, + 1.767, + 0, + 3.533, + 0, + 5.3, + 0, + 0, + 5.333, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandAngleR", + "Segments": [ + 0, + 0.24, + 1, + 0.356, + 0.24, + 0.711, + 0, + 1.067, + 0, + 1, + 1.389, + 0, + 1.711, + 0.24, + 2.033, + 0.24, + 1, + 3.122, + 0.24, + 4.211, + 0.24, + 5.3, + 0.24, + 0, + 5.333, + 0.24 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandDhangeL", + "Segments": [ + 0, + 0, + 1, + 1.767, + 0, + 3.533, + 0, + 5.3, + 0, + 0, + 5.333, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandAngleL", + "Segments": [ + 0, + -0.24, + 1, + 0.356, + -0.24, + 0.711, + 0, + 1.067, + 0, + 1, + 1.389, + 0, + 1.711, + -0.24, + 2.033, + -0.24, + 1, + 3.122, + -0.24, + 4.211, + -0.24, + 5.3, + -0.24, + 0, + 5.333, + -0.24 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHairFront", + "Segments": [ + 0, + 0, + 1, + 1.767, + 0, + 3.533, + 0, + 5.3, + 0, + 0, + 5.333, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHairSide", + "Segments": [ + 0, + 0, + 1, + 1.767, + 0, + 3.533, + 0, + 5.3, + 0, + 0, + 5.333, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHairBack", + "Segments": [ + 0, + 0, + 1, + 1.767, + 0, + 3.533, + 0, + 5.3, + 0, + 0, + 5.333, + 0 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Core", + "Segments": [ + 0, + 1, + 2, + 5.3, + 1, + 0, + 5.33, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Hoho001", + "Segments": [ + 0, + 1, + 2, + 5.3, + 1, + 0, + 5.33, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Brow001", + "Segments": [ + 0, + 1, + 2, + 5.3, + 1, + 0, + 5.33, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Tear", + "Segments": [ + 0, + 1, + 2, + 5.3, + 1, + 0, + 5.33, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01EyeBall001", + "Segments": [ + 0, + 1, + 2, + 5.3, + 1, + 0, + 5.33, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Eye001", + "Segments": [ + 0, + 1, + 2, + 5.3, + 1, + 0, + 5.33, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Nose001", + "Segments": [ + 0, + 1, + 2, + 5.3, + 1, + 0, + 5.33, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Mouth001", + "Segments": [ + 0, + 1, + 2, + 5.3, + 1, + 0, + 5.33, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Face001", + "Segments": [ + 0, + 1, + 2, + 5.3, + 1, + 0, + 5.33, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Ear001", + "Segments": [ + 0, + 1, + 2, + 5.3, + 1, + 0, + 5.33, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Neck001", + "Segments": [ + 0, + 1, + 2, + 5.3, + 1, + 0, + 5.33, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01HairFront001", + "Segments": [ + 0, + 1, + 2, + 5.3, + 1, + 0, + 5.33, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01HairSide001", + "Segments": [ + 0, + 1, + 2, + 5.3, + 1, + 0, + 5.33, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01HairBack001", + "Segments": [ + 0, + 1, + 2, + 5.3, + 1, + 0, + 5.33, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01ArmRB001", + "Segments": [ + 0, + 1, + 2, + 5.3, + 1, + 0, + 5.33, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01ArmLB001", + "Segments": [ + 0, + 1, + 2, + 5.3, + 1, + 0, + 5.33, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01ArmRA001", + "Segments": [ + 0, + 0, + 2, + 5.3, + 0, + 0, + 5.33, + 0 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01ArmLA001", + "Segments": [ + 0, + 0, + 2, + 5.3, + 0, + 0, + 5.33, + 0 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Body001", + "Segments": [ + 0, + 1, + 2, + 5.3, + 1, + 0, + 5.33, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Sketch", + "Segments": [ + 0, + 0, + 2, + 5.3, + 0, + 0, + 5.33, + 0 + ] + } + ] +} \ No newline at end of file diff --git a/staticfiles/haru_greeter_pro_jp/runtime/motion/haru_g_m16.motion3.json b/staticfiles/haru_greeter_pro_jp/runtime/motion/haru_g_m16.motion3.json new file mode 100644 index 0000000000000000000000000000000000000000..aa0e8348105fe2697bee22ea724c27e3062a7415 --- /dev/null +++ b/staticfiles/haru_greeter_pro_jp/runtime/motion/haru_g_m16.motion3.json @@ -0,0 +1,1917 @@ +{ + "Version": 3, + "Meta": { + "Duration": 4, + "Fps": 30.0, + "Loop": true, + "AreBeziersRestricted": true, + "CurveCount": 63, + "TotalSegmentCount": 247, + "TotalPointCount": 638, + "UserDataCount": 0, + "TotalUserDataSize": 0 + }, + "Curves": [ + { + "Target": "Model", + "Id": "Opacity", + "Segments": [ + 0, + 1, + 1, + 1.32, + 1, + 2.64, + 1, + 3.97, + 1, + 0, + 4, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleX", + "Segments": [ + 0, + 2, + 1, + 0.333, + 2, + 0.667, + 2, + 1, + 2, + 1, + 1.133, + 2, + 1.267, + 2, + 1.4, + 2, + 1, + 1.511, + 2, + 1.622, + 2.132, + 1.733, + 1.634, + 1, + 1.878, + 0.986, + 2.022, + -4, + 2.167, + -4, + 1, + 2.367, + -4, + 2.567, + 0, + 2.767, + 0, + 0, + 4, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleY", + "Segments": [ + 0, + 3, + 1, + 0.267, + 3, + 0.533, + 3, + 0.8, + 3, + 1, + 0.878, + 3, + 0.956, + -4, + 1.033, + -4, + 1, + 1.189, + -4, + 1.344, + 2.269, + 1.5, + 11, + 1, + 1.611, + 17.237, + 1.722, + 19, + 1.833, + 19, + 1, + 1.978, + 19, + 2.122, + -28, + 2.267, + -28, + 1, + 2.467, + -28, + 2.667, + -23, + 2.867, + -23, + 0, + 4, + -23 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleZ", + "Segments": [ + 0, + -7, + 1, + 0.4, + -7, + 0.8, + -7, + 1.2, + -7, + 1, + 1.333, + -7, + 1.467, + 19, + 1.6, + 19, + 1, + 1.711, + 19, + 1.822, + 19.636, + 1.933, + 16.192, + 1, + 2.078, + 11.714, + 2.222, + -27, + 2.367, + -27, + 1, + 2.567, + -27, + 2.767, + -23, + 2.967, + -23, + 0, + 4, + -23 + ] + }, + { + "Target": "Parameter", + "Id": "ParamTere", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.133, + 0, + 1.267, + 0.5, + 1.4, + 0.5, + 1, + 1.511, + 0.5, + 1.622, + 0.5, + 1.733, + 0.5, + 1, + 1.878, + 0.5, + 2.022, + 0.5, + 2.167, + 0.5, + 0, + 4, + 0.5 + ] + }, + { + "Target": "Parameter", + "Id": "ParamFaceForm", + "Segments": [ + 0, + 0, + 0, + 4, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeLOpen", + "Segments": [ + 0, + 1, + 1, + 0.333, + 1, + 0.667, + 1, + 1, + 1, + 1, + 1.133, + 1, + 1.267, + 1.6, + 1.4, + 1.6, + 1, + 1.511, + 1.6, + 1.622, + 1.502, + 1.733, + 1.502, + 1, + 1.767, + 1.502, + 1.8, + 1.8, + 1.833, + 1.8, + 1, + 1.944, + 1.8, + 2.056, + 0, + 2.167, + 0, + 0, + 4, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeLSmile", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.133, + 0, + 1.267, + 0, + 1.4, + 0, + 1, + 1.511, + 0, + 1.622, + 0, + 1.733, + 0, + 1, + 1.878, + 0, + 2.022, + 0, + 2.167, + 0, + 0, + 4, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeROpen", + "Segments": [ + 0, + 1, + 1, + 0.333, + 1, + 0.667, + 1, + 1, + 1, + 1, + 1.133, + 1, + 1.267, + 1.6, + 1.4, + 1.6, + 1, + 1.511, + 1.6, + 1.622, + 1.502, + 1.733, + 1.502, + 1, + 1.767, + 1.502, + 1.8, + 1.8, + 1.833, + 1.8, + 1, + 1.944, + 1.8, + 2.056, + 0, + 2.167, + 0, + 0, + 4, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeRSmile", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.133, + 0, + 1.267, + 0, + 1.4, + 0, + 1, + 1.511, + 0, + 1.622, + 0, + 1.733, + 0, + 1, + 1.878, + 0, + 2.022, + 0, + 2.167, + 0, + 0, + 4, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeForm", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.244, + 0, + 1.489, + 0.015, + 1.733, + 0.186, + 1, + 1.878, + 0.286, + 2.022, + 0.6, + 2.167, + 0.6, + 0, + 4, + 0.6 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallForm", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.244, + 0, + 1.489, + 0, + 1.733, + 0, + 1, + 1.878, + 0, + 2.022, + 0, + 2.167, + 0, + 0, + 4, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamTear", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.133, + 0, + 1.267, + 0, + 1.4, + 0, + 1, + 1.511, + 0, + 1.622, + -0.023, + 1.733, + 0.061, + 1, + 1.878, + 0.171, + 2.022, + 1, + 2.167, + 1, + 0, + 4, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallX", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.133, + 0, + 1.267, + 0, + 1.4, + 0, + 1, + 1.511, + 0, + 1.622, + 0.031, + 1.733, + 0.031, + 1, + 1.878, + 0.031, + 2.022, + 0, + 2.167, + 0, + 0, + 4, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallY", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.133, + 0, + 1.267, + -0.2, + 1.4, + -0.2, + 1, + 1.511, + -0.2, + 1.622, + -0.157, + 1.733, + -0.157, + 1, + 1.878, + -0.157, + 2.022, + -0.4, + 2.167, + -0.4, + 0, + 4, + -0.4 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLY", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.133, + 0, + 1.267, + 0.7, + 1.4, + 0.7, + 1, + 1.511, + 0.7, + 1.622, + 0.735, + 1.733, + 0.608, + 1, + 1.878, + 0.444, + 2.022, + -0.8, + 2.167, + -0.8, + 0, + 4, + -0.8 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRY", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.133, + 0, + 1.267, + 0.7, + 1.4, + 0.7, + 1, + 1.511, + 0.7, + 1.622, + 0.735, + 1.733, + 0.608, + 1, + 1.878, + 0.444, + 2.022, + -0.8, + 2.167, + -0.8, + 0, + 4, + -0.8 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLX", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.133, + 0, + 1.267, + 0.1, + 1.4, + 0.1, + 1, + 1.511, + 0.1, + 1.622, + 0.112, + 1.733, + 0.069, + 1, + 1.878, + 0.015, + 2.022, + -0.4, + 2.167, + -0.4, + 0, + 4, + -0.4 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRX", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.133, + 0, + 1.267, + 0.1, + 1.4, + 0.1, + 1, + 1.511, + 0.1, + 1.622, + 0.112, + 1.733, + 0.069, + 1, + 1.878, + 0.015, + 2.022, + -0.4, + 2.167, + -0.4, + 0, + 4, + -0.4 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLAngle", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.133, + 0, + 1.267, + 0.7, + 1.4, + 0.7, + 1, + 1.511, + 0.7, + 1.622, + 0.4, + 1.733, + 0.4, + 1, + 1.878, + 0.4, + 2.022, + 0.8, + 2.167, + 0.8, + 0, + 4, + 0.8 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRAngle", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.133, + 0, + 1.267, + 0.7, + 1.4, + 0.7, + 1, + 1.511, + 0.7, + 1.622, + 0.4, + 1.733, + 0.4, + 1, + 1.878, + 0.4, + 2.022, + 0.8, + 2.167, + 0.8, + 0, + 4, + 0.8 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLForm", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.133, + 0, + 1.267, + -0.451, + 1.4, + -0.7, + 1, + 1.511, + -0.908, + 1.622, + -0.9, + 1.733, + -0.9, + 1, + 1.878, + -0.9, + 2.022, + -0.8, + 2.167, + -0.8, + 0, + 4, + -0.8 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRForm", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.133, + 0, + 1.267, + -0.451, + 1.4, + -0.7, + 1, + 1.511, + -0.908, + 1.622, + -0.9, + 1.733, + -0.9, + 1, + 1.878, + -0.9, + 2.022, + -0.8, + 2.167, + -0.8, + 0, + 4, + -0.8 + ] + }, + { + "Target": "Parameter", + "Id": "ParamMouthForm", + "Segments": [ + 0, + 1, + 1, + 0.333, + 1, + 0.667, + 1, + 1, + 1, + 1, + 1.133, + 1, + 1.267, + -0.37, + 1.4, + -0.4, + 1, + 1.511, + -0.425, + 1.622, + -0.417, + 1.733, + -0.435, + 1, + 1.878, + -0.459, + 2.022, + -0.5, + 2.167, + -0.5, + 0, + 4, + -0.5 + ] + }, + { + "Target": "Parameter", + "Id": "ParamMouthOpenY", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.133, + 0, + 1.267, + 0.4, + 1.4, + 0.4, + 1, + 1.511, + 0.4, + 1.622, + 0.409, + 1.733, + 0.376, + 1, + 1.878, + 0.332, + 2.022, + 0, + 2.167, + 0, + 0, + 4, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamScarf", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.244, + 0, + 1.489, + 0, + 1.733, + 0, + 1, + 1.878, + 0, + 2.022, + 0, + 2.167, + 0, + 0, + 4, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleX", + "Segments": [ + 0, + 0, + 1, + 0.322, + 0, + 0.644, + 0, + 0.967, + 0, + 1, + 1.1, + 0, + 1.233, + 5, + 1.367, + 5, + 1, + 1.478, + 5, + 1.589, + 5.238, + 1.7, + 4.267, + 1, + 1.844, + 3.005, + 1.989, + -7, + 2.133, + -7, + 1, + 2.333, + -7, + 2.533, + -6, + 2.733, + -6, + 0, + 4, + -6 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleY", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.133, + 0, + 1.267, + 3, + 1.4, + 3, + 1, + 1.511, + 3, + 1.622, + 3.254, + 1.733, + 2.206, + 1, + 1.878, + 0.845, + 2.022, + -10, + 2.167, + -10, + 1, + 2.367, + -10, + 2.567, + -9, + 2.767, + -9, + 0, + 4, + -9 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleZ", + "Segments": [ + 0, + 0, + 1, + 0.389, + 0, + 0.778, + 0, + 1.167, + 0, + 1, + 1.3, + 0, + 1.433, + 2, + 1.567, + 2, + 1, + 1.678, + 2, + 1.789, + 2.188, + 1.9, + 1.451, + 1, + 2.044, + 0.491, + 2.189, + -7, + 2.333, + -7, + 1, + 2.533, + -7, + 2.733, + -6, + 2.933, + -6, + 0, + 4, + -6 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyUpper", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.133, + 0, + 1.267, + -3, + 1.4, + -3, + 1, + 1.511, + -3, + 1.622, + -3.069, + 1.733, + -2.817, + 1, + 1.878, + -2.489, + 2.022, + 0, + 2.167, + 0, + 0, + 4, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBreath", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.244, + 0, + 1.489, + 0, + 1.733, + 0, + 1, + 1.878, + 0, + 2.022, + 0, + 2.167, + 0, + 0, + 4, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBustY", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.244, + 0, + 1.489, + 0, + 1.733, + 0, + 1, + 1.878, + 0, + 2.022, + 0, + 2.167, + 0, + 0, + 4, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmLA", + "Segments": [ + 0, + 1, + 1, + 0.333, + 1, + 0.667, + 1, + 1, + 1, + 1, + 1.244, + 1, + 1.489, + 1, + 1.733, + 1, + 1, + 1.878, + 1, + 2.022, + 1, + 2.167, + 1, + 0, + 4, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmRA", + "Segments": [ + 0, + 1, + 1, + 0.333, + 1, + 0.667, + 1, + 1, + 1, + 1, + 1.244, + 1, + 1.489, + 1, + 1.733, + 1, + 1, + 1.878, + 1, + 2.022, + 1, + 2.167, + 1, + 0, + 4, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmLB", + "Segments": [ + 0, + 2.7, + 1, + 0.333, + 2.7, + 0.667, + 2.7, + 1, + 2.7, + 1, + 1.133, + 2.7, + 1.267, + 4.3, + 1.4, + 4.3, + 1, + 1.511, + 4.3, + 1.622, + 4.356, + 1.733, + 4.19, + 1, + 1.922, + 3.907, + 2.111, + 2.5, + 2.3, + 2.5, + 0, + 4, + 2.5 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmRB", + "Segments": [ + 0, + 2.7, + 1, + 0.333, + 2.7, + 0.667, + 2.7, + 1, + 2.7, + 1, + 1.133, + 2.7, + 1.267, + 4.3, + 1.4, + 4.3, + 1, + 1.511, + 4.3, + 1.622, + 4.356, + 1.733, + 4.19, + 1, + 1.922, + 3.907, + 2.111, + 2.5, + 2.3, + 2.5, + 0, + 4, + 2.5 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandChangeR", + "Segments": [ + 0, + 0.5, + 1, + 0.333, + 0.5, + 0.667, + 0.5, + 1, + 0.5, + 1, + 1.311, + 0.5, + 1.622, + 0.5, + 1.933, + 0.5, + 1, + 2.178, + 0.5, + 2.422, + 0.5, + 2.667, + 0.5, + 0, + 4, + 0.5 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandAngleR", + "Segments": [ + 0, + 0.3, + 1, + 0.333, + 0.3, + 0.667, + 0.3, + 1, + 0.3, + 1, + 1.078, + 0.3, + 1.156, + 1, + 1.233, + 1, + 1, + 1.356, + 1, + 1.478, + 0.4, + 1.6, + 0.4, + 1, + 1.711, + 0.4, + 1.822, + 0.387, + 1.933, + 0.327, + 1, + 2.178, + 0.255, + 2.422, + 0.2, + 2.667, + 0.2, + 0, + 4, + 0.2 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandDhangeL", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.311, + 0, + 1.622, + 0, + 1.933, + 0, + 1, + 2.178, + 0, + 2.422, + 0, + 2.667, + 0, + 0, + 4, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandAngleL", + "Segments": [ + 0, + -0.17, + 1, + 0.333, + -0.17, + 0.667, + -0.17, + 1, + -0.17, + 1, + 1.078, + -0.17, + 1.156, + -1, + 1.233, + -1, + 1, + 1.356, + -1, + 1.478, + -0.4, + 1.6, + -0.4, + 1, + 1.711, + -0.4, + 1.822, + -0.379, + 1.933, + -0.333, + 1, + 2.178, + -0.262, + 2.422, + -0.2, + 2.667, + -0.2, + 0, + 4, + -0.2 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHairFront", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.244, + 0, + 1.489, + 0, + 1.733, + 0, + 1, + 1.878, + 0, + 2.022, + 0, + 2.167, + 0, + 0, + 4, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHairSide", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.244, + 0, + 1.489, + 0, + 1.733, + 0, + 1, + 1.878, + 0, + 2.022, + 0, + 2.167, + 0, + 0, + 4, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHairBack", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.244, + 0, + 1.489, + 0, + 1.733, + 0, + 1, + 1.878, + 0, + 2.022, + 0, + 2.167, + 0, + 0, + 4, + 0 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Core", + "Segments": [ + 0, + 1, + 2, + 3.97, + 1, + 0, + 4, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Hoho001", + "Segments": [ + 0, + 1, + 2, + 3.97, + 1, + 0, + 4, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Brow001", + "Segments": [ + 0, + 1, + 2, + 3.97, + 1, + 0, + 4, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Tear", + "Segments": [ + 0, + 1, + 2, + 3.97, + 1, + 0, + 4, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01EyeBall001", + "Segments": [ + 0, + 1, + 2, + 3.97, + 1, + 0, + 4, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Eye001", + "Segments": [ + 0, + 1, + 2, + 3.97, + 1, + 0, + 4, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Nose001", + "Segments": [ + 0, + 1, + 2, + 3.97, + 1, + 0, + 4, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Mouth001", + "Segments": [ + 0, + 1, + 2, + 3.97, + 1, + 0, + 4, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Face001", + "Segments": [ + 0, + 1, + 2, + 3.97, + 1, + 0, + 4, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Ear001", + "Segments": [ + 0, + 1, + 2, + 3.97, + 1, + 0, + 4, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Neck001", + "Segments": [ + 0, + 1, + 2, + 3.97, + 1, + 0, + 4, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01HairFront001", + "Segments": [ + 0, + 1, + 2, + 3.97, + 1, + 0, + 4, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01HairSide001", + "Segments": [ + 0, + 1, + 2, + 3.97, + 1, + 0, + 4, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01HairBack001", + "Segments": [ + 0, + 1, + 2, + 3.97, + 1, + 0, + 4, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01ArmRB001", + "Segments": [ + 0, + 1, + 2, + 3.97, + 1, + 0, + 4, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01ArmLB001", + "Segments": [ + 0, + 1, + 2, + 3.97, + 1, + 0, + 4, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01ArmRA001", + "Segments": [ + 0, + 0, + 2, + 3.97, + 0, + 0, + 4, + 0 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01ArmLA001", + "Segments": [ + 0, + 0, + 2, + 3.97, + 0, + 0, + 4, + 0 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Body001", + "Segments": [ + 0, + 1, + 2, + 3.97, + 1, + 0, + 4, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Sketch", + "Segments": [ + 0, + 0, + 2, + 3.97, + 0, + 0, + 4, + 0 + ] + } + ] +} \ No newline at end of file diff --git a/staticfiles/haru_greeter_pro_jp/runtime/motion/haru_g_m17.motion3.json b/staticfiles/haru_greeter_pro_jp/runtime/motion/haru_g_m17.motion3.json new file mode 100644 index 0000000000000000000000000000000000000000..3057b7a725eea82954dfbc77a977e6ce3d69c332 --- /dev/null +++ b/staticfiles/haru_greeter_pro_jp/runtime/motion/haru_g_m17.motion3.json @@ -0,0 +1,1637 @@ +{ + "Version": 3, + "Meta": { + "Duration": 4.5, + "Fps": 30.0, + "Loop": true, + "AreBeziersRestricted": true, + "CurveCount": 63, + "TotalSegmentCount": 207, + "TotalPointCount": 518, + "UserDataCount": 0, + "TotalUserDataSize": 0 + }, + "Curves": [ + { + "Target": "Model", + "Id": "Opacity", + "Segments": [ + 0, + 1, + 1, + 1.49, + 1, + 2.98, + 1, + 4.47, + 1, + 0, + 4.5, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleX", + "Segments": [ + 0, + 0, + 1, + 0.367, + 0, + 0.733, + 0, + 1.1, + 0, + 1, + 1.4, + 0, + 1.7, + -5, + 2, + -5, + 1, + 2.244, + -5, + 2.489, + 17, + 2.733, + 17, + 1, + 3.311, + 17, + 3.889, + 17, + 4.467, + 17, + 0, + 4.5, + 17 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleY", + "Segments": [ + 0, + 0, + 1, + 0.367, + 0, + 0.733, + 0, + 1.1, + 0, + 1, + 1.4, + 0, + 1.7, + 6.189, + 2, + 8, + 1, + 2.211, + 9.275, + 2.422, + 9, + 2.633, + 9, + 1, + 2.9, + 9, + 3.167, + -8, + 3.433, + -8, + 1, + 3.778, + -8, + 4.122, + -8, + 4.467, + -8, + 0, + 4.5, + -8 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleZ", + "Segments": [ + 0, + 0, + 1, + 0.367, + 0, + 0.733, + 0, + 1.1, + 0, + 1, + 1.922, + 0, + 2.744, + -10, + 3.567, + -10, + 1, + 3.867, + -10, + 4.167, + -10, + 4.467, + -10, + 0, + 4.5, + -10 + ] + }, + { + "Target": "Parameter", + "Id": "ParamTere", + "Segments": [ + 0, + 0.5, + 1, + 0.744, + 0.5, + 1.489, + 0.5, + 2.233, + 0.5, + 1, + 2.389, + 0.5, + 2.544, + 1, + 2.7, + 1, + 1, + 3.289, + 1, + 3.878, + 1, + 4.467, + 1, + 0, + 4.5, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamFaceForm", + "Segments": [ + 0, + 0, + 1, + 0.367, + 0, + 0.733, + 0, + 1.1, + 0, + 1, + 2.222, + 0, + 3.344, + 0, + 4.467, + 0, + 0, + 4.5, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeLOpen", + "Segments": [ + 0, + 0.91, + 1, + 0.367, + 0.91, + 0.733, + 0.91, + 1.1, + 0.91, + 1, + 1.689, + 0.91, + 2.278, + 0.91, + 2.867, + 0.91, + 1, + 2.922, + 0.91, + 2.978, + 0, + 3.033, + 0, + 1, + 3.1, + 0, + 3.167, + 0, + 3.233, + 0, + 1, + 3.311, + 0, + 3.389, + 0.91, + 3.467, + 0.91, + 1, + 3.8, + 0.91, + 4.133, + 0.91, + 4.467, + 0.91, + 0, + 4.5, + 0.91 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeLSmile", + "Segments": [ + 0, + 0, + 1, + 0.367, + 0, + 0.733, + 0, + 1.1, + 0, + 1, + 2.222, + 0, + 3.344, + 0, + 4.467, + 0, + 0, + 4.5, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeROpen", + "Segments": [ + 0, + 0.9, + 1, + 0.367, + 0.9, + 0.733, + 0.9, + 1.1, + 0.9, + 1, + 1.689, + 0.9, + 2.278, + 0.9, + 2.867, + 0.9, + 1, + 2.922, + 0.9, + 2.978, + 0, + 3.033, + 0, + 1, + 3.1, + 0, + 3.167, + 0, + 3.233, + 0, + 1, + 3.311, + 0, + 3.389, + 0.9, + 3.467, + 0.9, + 1, + 3.8, + 0.9, + 4.133, + 0.9, + 4.467, + 0.9, + 0, + 4.5, + 0.9 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeRSmile", + "Segments": [ + 0, + 0, + 1, + 0.367, + 0, + 0.733, + 0, + 1.1, + 0, + 1, + 2.222, + 0, + 3.344, + 0, + 4.467, + 0, + 0, + 4.5, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeForm", + "Segments": [ + 0, + 0, + 1, + 0.367, + 0, + 0.733, + 0, + 1.1, + 0, + 1, + 2.222, + 0, + 3.344, + 0, + 4.467, + 0, + 0, + 4.5, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallForm", + "Segments": [ + 0, + 0, + 1, + 0.367, + 0, + 0.733, + 0, + 1.1, + 0, + 1, + 2.222, + 0, + 3.344, + 0, + 4.467, + 0, + 0, + 4.5, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamTear", + "Segments": [ + 0, + 0, + 1, + 0.367, + 0, + 0.733, + 0, + 1.1, + 0, + 1, + 2.222, + 0, + 3.344, + 0, + 4.467, + 0, + 0, + 4.5, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallX", + "Segments": [ + 0, + 0, + 1, + 0.367, + 0, + 0.733, + 0, + 1.1, + 0, + 1, + 1.378, + 0, + 1.656, + 0.06, + 1.933, + 0.06, + 1, + 2.411, + 0.06, + 2.889, + -0.58, + 3.367, + -0.58, + 1, + 3.733, + -0.58, + 4.1, + -0.58, + 4.467, + -0.58, + 0, + 4.5, + -0.58 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallY", + "Segments": [ + 0, + 0, + 1, + 0.367, + 0, + 0.733, + 0, + 1.1, + 0, + 1, + 1.378, + 0, + 1.656, + -0.08, + 1.933, + -0.08, + 1, + 2.411, + -0.08, + 2.889, + 0.83, + 3.367, + 0.83, + 1, + 3.733, + 0.83, + 4.1, + 0.83, + 4.467, + 0.83, + 0, + 4.5, + 0.83 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLY", + "Segments": [ + 0, + -0.37, + 1, + 0.7, + -0.37, + 1.4, + -0.37, + 2.1, + -0.37, + 1, + 2.267, + -0.37, + 2.433, + -0.37, + 2.6, + -0.37, + 1, + 3.222, + -0.37, + 3.844, + -0.37, + 4.467, + -0.37, + 0, + 4.5, + -0.37 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRY", + "Segments": [ + 0, + -0.37, + 1, + 0.7, + -0.37, + 1.4, + -0.37, + 2.1, + -0.37, + 1, + 2.267, + -0.37, + 2.433, + -0.37, + 2.6, + -0.37, + 1, + 3.222, + -0.37, + 3.844, + -0.37, + 4.467, + -0.37, + 0, + 4.5, + -0.37 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLX", + "Segments": [ + 0, + 0, + 1, + 0.7, + 0, + 1.4, + 0, + 2.1, + 0, + 1, + 2.267, + 0, + 2.433, + 0, + 2.6, + 0, + 1, + 3.222, + 0, + 3.844, + 0, + 4.467, + 0, + 0, + 4.5, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRX", + "Segments": [ + 0, + 0, + 1, + 0.7, + 0, + 1.4, + 0, + 2.1, + 0, + 1, + 2.267, + 0, + 2.433, + 0, + 2.6, + 0, + 1, + 3.222, + 0, + 3.844, + 0, + 4.467, + 0, + 0, + 4.5, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLAngle", + "Segments": [ + 0, + 0.18, + 1, + 0.7, + 0.18, + 1.4, + 0.18, + 2.1, + 0.18, + 1, + 2.267, + 0.18, + 2.433, + 0.18, + 2.6, + 0.18, + 1, + 3.222, + 0.18, + 3.844, + 0.18, + 4.467, + 0.18, + 0, + 4.5, + 0.18 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRAngle", + "Segments": [ + 0, + 0.28, + 1, + 0.7, + 0.28, + 1.4, + 0.28, + 2.1, + 0.28, + 1, + 2.267, + 0.28, + 2.433, + 0.28, + 2.6, + 0.28, + 1, + 3.222, + 0.28, + 3.844, + 0.28, + 4.467, + 0.28, + 0, + 4.5, + 0.28 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLForm", + "Segments": [ + 0, + 0, + 1, + 0.7, + 0, + 1.4, + 0, + 2.1, + 0, + 1, + 2.267, + 0, + 2.433, + -0.64, + 2.6, + -0.64, + 1, + 3.222, + -0.64, + 3.844, + -0.64, + 4.467, + -0.64, + 0, + 4.5, + -0.64 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRForm", + "Segments": [ + 0, + 0, + 1, + 0.7, + 0, + 1.4, + 0, + 2.1, + 0, + 1, + 2.267, + 0, + 2.433, + -0.51, + 2.6, + -0.51, + 1, + 3.222, + -0.51, + 3.844, + -0.51, + 4.467, + -0.51, + 0, + 4.5, + -0.51 + ] + }, + { + "Target": "Parameter", + "Id": "ParamMouthForm", + "Segments": [ + 0, + 1, + 1, + 0.367, + 1, + 0.733, + 1, + 1.1, + 1, + 1, + 2.222, + 1, + 3.344, + 1, + 4.467, + 1, + 0, + 4.5, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamMouthOpenY", + "Segments": [ + 0, + 0, + 1, + 0.367, + 0, + 0.733, + 0, + 1.1, + 0, + 1, + 2.222, + 0, + 3.344, + 0, + 4.467, + 0, + 0, + 4.5, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamScarf", + "Segments": [ + 0, + 0, + 1, + 0.367, + 0, + 0.733, + 0, + 1.1, + 0, + 1, + 2.222, + 0, + 3.344, + 0, + 4.467, + 0, + 0, + 4.5, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleX", + "Segments": [ + 0, + 0, + 1, + 0.367, + 0, + 0.733, + 0, + 1.1, + 0, + 1, + 1.278, + 0, + 1.456, + -6, + 1.633, + -6, + 1, + 2.2, + -6, + 2.767, + 10, + 3.333, + 10, + 1, + 3.711, + 10, + 4.089, + 10, + 4.467, + 10, + 0, + 4.5, + 10 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleY", + "Segments": [ + 0, + 0, + 1, + 0.367, + 0, + 0.733, + 0, + 1.1, + 0, + 1, + 1.311, + 0, + 1.522, + 3, + 1.733, + 3, + 1, + 2.211, + 3, + 2.689, + -10, + 3.167, + -10, + 1, + 3.6, + -10, + 4.033, + -10, + 4.467, + -10, + 0, + 4.5, + -10 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleZ", + "Segments": [ + 0, + 0, + 1, + 0.367, + 0, + 0.733, + 0, + 1.1, + 0, + 1, + 1.356, + 0, + 1.611, + -1.366, + 1.867, + -2, + 1, + 2.233, + -2.91, + 2.6, + -3, + 2.967, + -3, + 1, + 3.467, + -3, + 3.967, + -3, + 4.467, + -3, + 0, + 4.5, + -3 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyUpper", + "Segments": [ + 0, + 0, + 1, + 0.367, + 0, + 0.733, + 0, + 1.1, + 0, + 1, + 1.389, + 0, + 1.678, + -4, + 1.967, + -4, + 1, + 2.244, + -4, + 2.522, + 7, + 2.8, + 7, + 1, + 3.356, + 7, + 3.911, + 7, + 4.467, + 7, + 0, + 4.5, + 7 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBreath", + "Segments": [ + 0, + 0, + 1, + 0.367, + 0, + 0.733, + 0, + 1.1, + 0, + 1, + 2.222, + 0, + 3.344, + 0, + 4.467, + 0, + 0, + 4.5, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBustY", + "Segments": [ + 0, + 0, + 1, + 0.367, + 0, + 0.733, + 0, + 1.1, + 0, + 1, + 2.222, + 0, + 3.344, + 0, + 4.467, + 0, + 0, + 4.5, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmLA", + "Segments": [ + 0, + -1, + 1, + 0.367, + -1, + 0.733, + -1, + 1.1, + -1, + 1, + 1.411, + -1, + 1.722, + -0.9, + 2.033, + -0.9, + 1, + 2.522, + -0.9, + 3.011, + -1, + 3.5, + -1, + 1, + 3.822, + -1, + 4.144, + -1, + 4.467, + -1, + 0, + 4.5, + -1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmRA", + "Segments": [ + 0, + -1, + 1, + 0.367, + -1, + 0.733, + -1, + 1.1, + -1, + 1, + 1.411, + -1, + 1.722, + -0.91, + 2.033, + -0.91, + 1, + 2.522, + -0.91, + 3.011, + -1, + 3.5, + -1, + 1, + 3.822, + -1, + 4.144, + -1, + 4.467, + -1, + 0, + 4.5, + -1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmLB", + "Segments": [ + 0, + 0, + 1, + 0.367, + 0, + 0.733, + 0, + 1.1, + 0, + 1, + 2.222, + 0, + 3.344, + 0, + 4.467, + 0, + 0, + 4.5, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmRB", + "Segments": [ + 0, + 0, + 1, + 0.367, + 0, + 0.733, + 0, + 1.1, + 0, + 1, + 2.222, + 0, + 3.344, + 0, + 4.467, + 0, + 0, + 4.5, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandChangeR", + "Segments": [ + 0, + 0, + 1, + 0.367, + 0, + 0.733, + 0, + 1.1, + 0, + 1, + 2.222, + 0, + 3.344, + 0, + 4.467, + 0, + 0, + 4.5, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandAngleR", + "Segments": [ + 0, + 0, + 1, + 0.367, + 0, + 0.733, + 0, + 1.1, + 0, + 1, + 2.222, + 0, + 3.344, + 0, + 4.467, + 0, + 0, + 4.5, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandDhangeL", + "Segments": [ + 0, + 0, + 1, + 0.367, + 0, + 0.733, + 0, + 1.1, + 0, + 1, + 2.222, + 0, + 3.344, + 0, + 4.467, + 0, + 0, + 4.5, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandAngleL", + "Segments": [ + 0, + 0, + 1, + 0.367, + 0, + 0.733, + 0, + 1.1, + 0, + 1, + 2.222, + 0, + 3.344, + 0, + 4.467, + 0, + 0, + 4.5, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHairFront", + "Segments": [ + 0, + 0, + 1, + 0.367, + 0, + 0.733, + 0, + 1.1, + 0, + 1, + 2.222, + 0, + 3.344, + 0, + 4.467, + 0, + 0, + 4.5, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHairSide", + "Segments": [ + 0, + 0, + 1, + 0.367, + 0, + 0.733, + 0, + 1.1, + 0, + 1, + 2.222, + 0, + 3.344, + 0, + 4.467, + 0, + 0, + 4.5, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHairBack", + "Segments": [ + 0, + 0, + 1, + 0.367, + 0, + 0.733, + 0, + 1.1, + 0, + 1, + 2.222, + 0, + 3.344, + 0, + 4.467, + 0, + 0, + 4.5, + 0 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Core", + "Segments": [ + 0, + 1, + 2, + 4.47, + 1, + 0, + 4.5, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Hoho001", + "Segments": [ + 0, + 1, + 2, + 4.47, + 1, + 0, + 4.5, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Brow001", + "Segments": [ + 0, + 1, + 2, + 4.47, + 1, + 0, + 4.5, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Tear", + "Segments": [ + 0, + 1, + 2, + 4.47, + 1, + 0, + 4.5, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01EyeBall001", + "Segments": [ + 0, + 1, + 2, + 4.47, + 1, + 0, + 4.5, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Eye001", + "Segments": [ + 0, + 1, + 2, + 4.47, + 1, + 0, + 4.5, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Nose001", + "Segments": [ + 0, + 1, + 2, + 4.47, + 1, + 0, + 4.5, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Mouth001", + "Segments": [ + 0, + 1, + 2, + 4.47, + 1, + 0, + 4.5, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Face001", + "Segments": [ + 0, + 1, + 2, + 4.47, + 1, + 0, + 4.5, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Ear001", + "Segments": [ + 0, + 1, + 2, + 4.47, + 1, + 0, + 4.5, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Neck001", + "Segments": [ + 0, + 1, + 2, + 4.47, + 1, + 0, + 4.5, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01HairFront001", + "Segments": [ + 0, + 1, + 2, + 4.47, + 1, + 0, + 4.5, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01HairSide001", + "Segments": [ + 0, + 1, + 2, + 4.47, + 1, + 0, + 4.5, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01HairBack001", + "Segments": [ + 0, + 1, + 2, + 4.47, + 1, + 0, + 4.5, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01ArmRB001", + "Segments": [ + 0, + 0, + 2, + 4.47, + 0, + 0, + 4.5, + 0 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01ArmLB001", + "Segments": [ + 0, + 0, + 2, + 4.47, + 0, + 0, + 4.5, + 0 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01ArmRA001", + "Segments": [ + 0, + 1, + 2, + 4.47, + 1, + 0, + 4.5, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01ArmLA001", + "Segments": [ + 0, + 1, + 2, + 4.47, + 1, + 0, + 4.5, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Body001", + "Segments": [ + 0, + 1, + 2, + 4.47, + 1, + 0, + 4.5, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Sketch", + "Segments": [ + 0, + 0, + 2, + 4.47, + 0, + 0, + 4.5, + 0 + ] + } + ] +} \ No newline at end of file diff --git a/staticfiles/haru_greeter_pro_jp/runtime/motion/haru_g_m18.motion3.json b/staticfiles/haru_greeter_pro_jp/runtime/motion/haru_g_m18.motion3.json new file mode 100644 index 0000000000000000000000000000000000000000..192a3a1285fdfc2694a7102ef4c624336e6d0fa0 --- /dev/null +++ b/staticfiles/haru_greeter_pro_jp/runtime/motion/haru_g_m18.motion3.json @@ -0,0 +1,1343 @@ +{ + "Version": 3, + "Meta": { + "Duration": 3.2, + "Fps": 30.0, + "Loop": true, + "AreBeziersRestricted": true, + "CurveCount": 63, + "TotalSegmentCount": 165, + "TotalPointCount": 392, + "UserDataCount": 0, + "TotalUserDataSize": 0 + }, + "Curves": [ + { + "Target": "Model", + "Id": "Opacity", + "Segments": [ + 0, + 1, + 1, + 1.06, + 1, + 2.11, + 1, + 3.17, + 1, + 0, + 3.2, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleX", + "Segments": [ + 0, + 0, + 1, + 1.056, + 0, + 2.111, + 0, + 3.167, + 0, + 0, + 3.2, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleY", + "Segments": [ + 0, + 0, + 1, + 1.056, + 0, + 2.111, + 0, + 3.167, + 0, + 0, + 3.2, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleZ", + "Segments": [ + 0, + 0, + 1, + 0.189, + 0, + 0.378, + -30, + 0.567, + -30, + 1, + 0.733, + -30, + 0.9, + -30.83, + 1.067, + -25, + 1, + 1.267, + -18.004, + 1.467, + 30, + 1.667, + 30, + 1, + 1.944, + 30, + 2.222, + 0, + 2.5, + 0, + 1, + 2.722, + 0, + 2.944, + 0, + 3.167, + 0, + 0, + 3.2, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamTere", + "Segments": [ + 0, + 1, + 1, + 1.056, + 1, + 2.111, + 1, + 3.167, + 1, + 0, + 3.2, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamFaceForm", + "Segments": [ + 0, + 0, + 1, + 1.056, + 0, + 2.111, + 0, + 3.167, + 0, + 0, + 3.2, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeLOpen", + "Segments": [ + 0, + 0, + 1, + 0.4, + 0, + 0.8, + 0, + 1.2, + 0, + 1, + 1.333, + 0, + 1.467, + 1.17, + 1.6, + 1.17, + 1, + 1.711, + 1.17, + 1.822, + 1, + 1.933, + 1, + 1, + 2.122, + 1, + 2.311, + 1, + 2.5, + 1, + 1, + 2.722, + 1, + 2.944, + 1, + 3.167, + 1, + 0, + 3.2, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeLSmile", + "Segments": [ + 0, + 1, + 1, + 1.056, + 1, + 2.111, + 1, + 3.167, + 1, + 0, + 3.2, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeROpen", + "Segments": [ + 0, + 0, + 1, + 0.4, + 0, + 0.8, + 0, + 1.2, + 0, + 1, + 1.333, + 0, + 1.467, + 1.17, + 1.6, + 1.17, + 1, + 1.711, + 1.17, + 1.822, + 1, + 1.933, + 1, + 1, + 2.122, + 1, + 2.311, + 1, + 2.5, + 1, + 1, + 2.722, + 1, + 2.944, + 1, + 3.167, + 1, + 0, + 3.2, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeRSmile", + "Segments": [ + 0, + 1, + 1, + 1.056, + 1, + 2.111, + 1, + 3.167, + 1, + 0, + 3.2, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeForm", + "Segments": [ + 0, + 0, + 1, + 1.056, + 0, + 2.111, + 0, + 3.167, + 0, + 0, + 3.2, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallForm", + "Segments": [ + 0, + 0, + 1, + 1.056, + 0, + 2.111, + 0, + 3.167, + 0, + 0, + 3.2, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamTear", + "Segments": [ + 0, + 0, + 1, + 1.056, + 0, + 2.111, + 0, + 3.167, + 0, + 0, + 3.2, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallX", + "Segments": [ + 0, + 0, + 1, + 1.056, + 0, + 2.111, + 0, + 3.167, + 0, + 0, + 3.2, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallY", + "Segments": [ + 0, + 0, + 1, + 1.056, + 0, + 2.111, + 0, + 3.167, + 0, + 0, + 3.2, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLY", + "Segments": [ + 0, + -1, + 1, + 0.311, + -1, + 0.622, + -1, + 0.933, + -1, + 1, + 1.022, + -1, + 1.111, + -1, + 1.2, + -1, + 1, + 1.333, + -1, + 1.467, + 0.21, + 1.6, + 0.21, + 1, + 2.122, + 0.21, + 2.644, + 0.21, + 3.167, + 0.21, + 0, + 3.2, + 0.21 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRY", + "Segments": [ + 0, + -1, + 1, + 0.311, + -1, + 0.622, + -1, + 0.933, + -1, + 1, + 1.022, + -1, + 1.111, + -1, + 1.2, + -1, + 1, + 1.333, + -1, + 1.467, + 0.2, + 1.6, + 0.2, + 1, + 2.122, + 0.2, + 2.644, + 0.2, + 3.167, + 0.2, + 0, + 3.2, + 0.2 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLX", + "Segments": [ + 0, + 0, + 0, + 3.2, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRX", + "Segments": [ + 0, + 0, + 0, + 3.2, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLAngle", + "Segments": [ + 0, + 0.61, + 1, + 0.311, + 0.61, + 0.622, + 0.61, + 0.933, + 0.61, + 1, + 1.156, + 0.61, + 1.378, + 0.39, + 1.6, + 0.39, + 1, + 2.122, + 0.39, + 2.644, + 0.39, + 3.167, + 0.39, + 0, + 3.2, + 0.39 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRAngle", + "Segments": [ + 0, + 0.61, + 1, + 0.311, + 0.61, + 0.622, + 0.61, + 0.933, + 0.61, + 1, + 1.156, + 0.61, + 1.378, + 0.39, + 1.6, + 0.39, + 1, + 2.122, + 0.39, + 2.644, + 0.39, + 3.167, + 0.39, + 0, + 3.2, + 0.39 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLForm", + "Segments": [ + 0, + -1, + 1, + 0.311, + -1, + 0.622, + -1, + 0.933, + -1, + 1, + 1.156, + -1, + 1.378, + 0, + 1.6, + 0, + 1, + 2.122, + 0, + 2.644, + 0, + 3.167, + 0, + 0, + 3.2, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRForm", + "Segments": [ + 0, + -1, + 1, + 0.311, + -1, + 0.622, + -1, + 0.933, + -1, + 1, + 1.156, + -1, + 1.378, + 0, + 1.6, + 0, + 1, + 2.122, + 0, + 2.644, + 0, + 3.167, + 0, + 0, + 3.2, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamMouthForm", + "Segments": [ + 0, + 1, + 1, + 1.056, + 1, + 2.111, + 1, + 3.167, + 1, + 0, + 3.2, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamMouthOpenY", + "Segments": [ + 0, + 0, + 1, + 1.056, + 0, + 2.111, + 0, + 3.167, + 0, + 0, + 3.2, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamScarf", + "Segments": [ + 0, + 0, + 1, + 1.056, + 0, + 2.111, + 0, + 3.167, + 0, + 0, + 3.2, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleX", + "Segments": [ + 0, + 0, + 1, + 0.189, + 0, + 0.378, + -3.302, + 0.567, + -3.302, + 1, + 0.789, + -3.302, + 1.011, + -2.342, + 1.233, + -1, + 1, + 1.367, + -0.195, + 1.5, + 0, + 1.633, + 0, + 1, + 1.922, + 0, + 2.211, + 0, + 2.5, + 0, + 1, + 2.722, + 0, + 2.944, + 0, + 3.167, + 0, + 0, + 3.2, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleY", + "Segments": [ + 0, + 0, + 1, + 1.056, + 0, + 2.111, + 0, + 3.167, + 0, + 0, + 3.2, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleZ", + "Segments": [ + 0, + 0, + 1, + 0.189, + 0, + 0.378, + -4.918, + 0.567, + -4.918, + 1, + 0.789, + -4.918, + 1.011, + -4.041, + 1.233, + -2, + 1, + 1.367, + -0.776, + 1.5, + 0, + 1.633, + 0, + 1, + 1.922, + 0, + 2.211, + 0, + 2.5, + 0, + 1, + 2.722, + 0, + 2.944, + 0, + 3.167, + 0, + 0, + 3.2, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyUpper", + "Segments": [ + 0, + 0, + 1, + 1.056, + 0, + 2.111, + 0, + 3.167, + 0, + 0, + 3.2, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBreath", + "Segments": [ + 0, + 0, + 1, + 0.489, + 0, + 0.978, + 1, + 1.467, + 1, + 1, + 2.033, + 1, + 2.6, + 0.006, + 3.167, + 0.006, + 0, + 3.2, + 0.006 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBustY", + "Segments": [ + 0, + 0, + 1, + 1.056, + 0, + 2.111, + 0, + 3.167, + 0, + 0, + 3.2, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmLA", + "Segments": [ + 0, + -1, + 1, + 0.267, + -1, + 0.533, + -1, + 0.8, + -1, + 1, + 1.067, + -1, + 1.333, + 1, + 1.6, + 1, + 1, + 1.9, + 1, + 2.2, + 1, + 2.5, + 1, + 1, + 2.722, + 1, + 2.944, + 1, + 3.167, + 1, + 0, + 3.2, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmRA", + "Segments": [ + 0, + -1, + 1, + 0.267, + -1, + 0.533, + -1, + 0.8, + -1, + 1, + 1.067, + -1, + 1.333, + 1, + 1.6, + 1, + 1, + 1.9, + 1, + 2.2, + 1, + 2.5, + 1, + 1, + 2.722, + 1, + 2.944, + 1, + 3.167, + 1, + 0, + 3.2, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmLB", + "Segments": [ + 0, + 0, + 1, + 1.056, + 0, + 2.111, + 0, + 3.167, + 0, + 0, + 3.2, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmRB", + "Segments": [ + 0, + 0, + 1, + 1.056, + 0, + 2.111, + 0, + 3.167, + 0, + 0, + 3.2, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandChangeR", + "Segments": [ + 0, + 0, + 1, + 1.056, + 0, + 2.111, + 0, + 3.167, + 0, + 0, + 3.2, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandAngleR", + "Segments": [ + 0, + 0, + 1, + 1.056, + 0, + 2.111, + 0, + 3.167, + 0, + 0, + 3.2, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandDhangeL", + "Segments": [ + 0, + 0, + 1, + 1.056, + 0, + 2.111, + 0, + 3.167, + 0, + 0, + 3.2, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandAngleL", + "Segments": [ + 0, + 0, + 1, + 1.056, + 0, + 2.111, + 0, + 3.167, + 0, + 0, + 3.2, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHairFront", + "Segments": [ + 0, + 0, + 1, + 1.056, + 0, + 2.111, + 0, + 3.167, + 0, + 0, + 3.2, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHairSide", + "Segments": [ + 0, + 0, + 1, + 1.056, + 0, + 2.111, + 0, + 3.167, + 0, + 0, + 3.2, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHairBack", + "Segments": [ + 0, + 0, + 1, + 1.056, + 0, + 2.111, + 0, + 3.167, + 0, + 0, + 3.2, + 0 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Core", + "Segments": [ + 0, + 1, + 2, + 3.17, + 1, + 0, + 3.2, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Hoho001", + "Segments": [ + 0, + 1, + 2, + 3.17, + 1, + 0, + 3.2, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Brow001", + "Segments": [ + 0, + 1, + 2, + 3.17, + 1, + 0, + 3.2, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Tear", + "Segments": [ + 0, + 1, + 2, + 3.17, + 1, + 0, + 3.2, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01EyeBall001", + "Segments": [ + 0, + 1, + 2, + 3.17, + 1, + 0, + 3.2, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Eye001", + "Segments": [ + 0, + 1, + 2, + 3.17, + 1, + 0, + 3.2, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Nose001", + "Segments": [ + 0, + 1, + 2, + 3.17, + 1, + 0, + 3.2, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Mouth001", + "Segments": [ + 0, + 1, + 2, + 3.17, + 1, + 0, + 3.2, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Face001", + "Segments": [ + 0, + 1, + 2, + 3.17, + 1, + 0, + 3.2, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Ear001", + "Segments": [ + 0, + 1, + 2, + 3.17, + 1, + 0, + 3.2, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Neck001", + "Segments": [ + 0, + 1, + 2, + 3.17, + 1, + 0, + 3.2, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01HairFront001", + "Segments": [ + 0, + 1, + 2, + 3.17, + 1, + 0, + 3.2, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01HairSide001", + "Segments": [ + 0, + 1, + 2, + 3.17, + 1, + 0, + 3.2, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01HairBack001", + "Segments": [ + 0, + 1, + 2, + 3.17, + 1, + 0, + 3.2, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01ArmRB001", + "Segments": [ + 0, + 0, + 2, + 3.17, + 0, + 0, + 3.2, + 0 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01ArmLB001", + "Segments": [ + 0, + 0, + 2, + 3.17, + 0, + 0, + 3.2, + 0 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01ArmRA001", + "Segments": [ + 0, + 1, + 2, + 3.17, + 1, + 0, + 3.2, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01ArmLA001", + "Segments": [ + 0, + 1, + 2, + 3.17, + 1, + 0, + 3.2, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Body001", + "Segments": [ + 0, + 1, + 2, + 3.17, + 1, + 0, + 3.2, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Sketch", + "Segments": [ + 0, + 0, + 2, + 3.17, + 0, + 0, + 3.2, + 0 + ] + } + ] +} \ No newline at end of file diff --git a/staticfiles/haru_greeter_pro_jp/runtime/motion/haru_g_m19.motion3.json b/staticfiles/haru_greeter_pro_jp/runtime/motion/haru_g_m19.motion3.json new file mode 100644 index 0000000000000000000000000000000000000000..674bc3f4499a0a2c8958af3aa08d9fff8d962183 --- /dev/null +++ b/staticfiles/haru_greeter_pro_jp/runtime/motion/haru_g_m19.motion3.json @@ -0,0 +1,1105 @@ +{ + "Version": 3, + "Meta": { + "Duration": 8, + "Fps": 30.0, + "Loop": true, + "AreBeziersRestricted": true, + "CurveCount": 63, + "TotalSegmentCount": 131, + "TotalPointCount": 290, + "UserDataCount": 0, + "TotalUserDataSize": 0 + }, + "Curves": [ + { + "Target": "Model", + "Id": "Opacity", + "Segments": [ + 0, + 1, + 1, + 2.66, + 1, + 5.31, + 1, + 7.97, + 1, + 0, + 8, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleX", + "Segments": [ + 0, + -8, + 1, + 2.656, + -8, + 5.311, + -8, + 7.967, + -8, + 0, + 8, + -8 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleY", + "Segments": [ + 0, + -30, + 1, + 2.656, + -30, + 5.311, + -30, + 7.967, + -30, + 0, + 8, + -30 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleZ", + "Segments": [ + 0, + -30, + 1, + 2.656, + -30, + 5.311, + -30, + 7.967, + -30, + 0, + 8, + -30 + ] + }, + { + "Target": "Parameter", + "Id": "ParamTere", + "Segments": [ + 0, + 1, + 1, + 2.656, + 1, + 5.311, + 1, + 7.967, + 1, + 0, + 8, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamFaceForm", + "Segments": [ + 0, + 0, + 1, + 2.656, + 0, + 5.311, + 0, + 7.967, + 0, + 0, + 8, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeLOpen", + "Segments": [ + 0, + 0, + 1, + 2.656, + 0, + 5.311, + 0, + 7.967, + 0, + 0, + 8, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeLSmile", + "Segments": [ + 0, + 0, + 1, + 2.656, + 0, + 5.311, + 0, + 7.967, + 0, + 0, + 8, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeROpen", + "Segments": [ + 0, + 0, + 1, + 2.656, + 0, + 5.311, + 0, + 7.967, + 0, + 0, + 8, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeRSmile", + "Segments": [ + 0, + 0, + 1, + 2.656, + 0, + 5.311, + 0, + 7.967, + 0, + 0, + 8, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeForm", + "Segments": [ + 0, + 0, + 1, + 2.656, + 0, + 5.311, + 0, + 7.967, + 0, + 0, + 8, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallForm", + "Segments": [ + 0, + -1, + 1, + 2.656, + -1, + 5.311, + -1, + 7.967, + -1, + 0, + 8, + -1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamTear", + "Segments": [ + 0, + 0, + 1, + 2.656, + 0, + 5.311, + 0, + 7.967, + 0, + 0, + 8, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallX", + "Segments": [ + 0, + 0.11, + 1, + 2.656, + 0.11, + 5.311, + 0.11, + 7.967, + 0.11, + 0, + 8, + 0.11 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallY", + "Segments": [ + 0, + 0.46, + 1, + 2.656, + 0.46, + 5.311, + 0.46, + 7.967, + 0.46, + 0, + 8, + 0.46 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLY", + "Segments": [ + 0, + -1, + 1, + 2.656, + -1, + 5.311, + -1, + 7.967, + -1, + 0, + 8, + -1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRY", + "Segments": [ + 0, + -1, + 1, + 2.656, + -1, + 5.311, + -1, + 7.967, + -1, + 0, + 8, + -1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLX", + "Segments": [ + 0, + 0, + 1, + 2.656, + 0, + 5.311, + 0, + 7.967, + 0, + 0, + 8, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRX", + "Segments": [ + 0, + 0, + 1, + 2.656, + 0, + 5.311, + 0, + 7.967, + 0, + 0, + 8, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLAngle", + "Segments": [ + 0, + 0, + 1, + 2.656, + 0, + 5.311, + 0, + 7.967, + 0, + 0, + 8, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRAngle", + "Segments": [ + 0, + 0, + 1, + 2.656, + 0, + 5.311, + 0, + 7.967, + 0, + 0, + 8, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLForm", + "Segments": [ + 0, + -0.69, + 1, + 2.656, + -0.69, + 5.311, + -0.69, + 7.967, + -0.69, + 0, + 8, + -0.69 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRForm", + "Segments": [ + 0, + -0.67, + 1, + 2.656, + -0.67, + 5.311, + -0.67, + 7.967, + -0.67, + 0, + 8, + -0.67 + ] + }, + { + "Target": "Parameter", + "Id": "ParamMouthForm", + "Segments": [ + 0, + 1, + 1, + 2.656, + 1, + 5.311, + 1, + 7.967, + 1, + 0, + 8, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamMouthOpenY", + "Segments": [ + 0, + 0, + 1, + 2.656, + 0, + 5.311, + 0, + 7.967, + 0, + 0, + 8, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamScarf", + "Segments": [ + 0, + 0, + 0, + 8, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleX", + "Segments": [ + 0, + -4.909, + 1, + 0.211, + -4.909, + 0.422, + -5.158, + 0.633, + -4.278, + 1, + 0.922, + -3.075, + 1.211, + 5.81, + 1.5, + 5.81, + 1, + 1.844, + 5.81, + 2.189, + -4.909, + 2.533, + -4.909, + 1, + 2.811, + -4.909, + 3.089, + 2.657, + 3.367, + 2.657, + 1, + 3.644, + 2.657, + 3.922, + -4.278, + 4.2, + -4.278, + 1, + 4.433, + -4.278, + 4.667, + 3.918, + 4.9, + 3.918, + 1, + 5.2, + 3.918, + 5.5, + -3.017, + 5.8, + -3.017, + 1, + 6.178, + -3.017, + 6.556, + 3.288, + 6.933, + 3.288, + 1, + 7.278, + 3.288, + 7.622, + -4.909, + 7.967, + -4.909, + 0, + 8, + -4.909 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleY", + "Segments": [ + 0, + -10, + 1, + 2.656, + -10, + 5.311, + -10, + 7.967, + -10, + 0, + 8, + -10 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleZ", + "Segments": [ + 0, + -2, + 1, + 2.656, + -2, + 5.311, + -2, + 7.967, + -2, + 0, + 8, + -2 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyUpper", + "Segments": [ + 0, + 10, + 1, + 2.656, + 10, + 5.311, + 10, + 7.967, + 10, + 0, + 8, + 10 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBreath", + "Segments": [ + 0, + 0, + 1, + 0.656, + 0, + 1.311, + 1, + 1.967, + 1, + 1, + 2.633, + 1, + 3.3, + 0, + 3.967, + 0, + 1, + 4.656, + 0, + 5.344, + 1, + 6.033, + 1, + 1, + 6.678, + 1, + 7.322, + 0, + 7.967, + 0, + 0, + 8, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBustY", + "Segments": [ + 0, + 0, + 1, + 2.656, + 0, + 5.311, + 0, + 7.967, + 0, + 0, + 8, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmLA", + "Segments": [ + 0, + 1, + 1, + 2.656, + 1, + 5.311, + 1, + 7.967, + 1, + 0, + 8, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmRA", + "Segments": [ + 0, + 1, + 1, + 2.656, + 1, + 5.311, + 1, + 7.967, + 1, + 0, + 8, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmLB", + "Segments": [ + 0, + 0, + 1, + 2.656, + 0, + 5.311, + 0, + 7.967, + 0, + 0, + 8, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmRB", + "Segments": [ + 0, + 0, + 1, + 2.656, + 0, + 5.311, + 0, + 7.967, + 0, + 0, + 8, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandChangeR", + "Segments": [ + 0, + 0, + 0, + 8, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandAngleR", + "Segments": [ + 0, + 0, + 0, + 8, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandDhangeL", + "Segments": [ + 0, + 0, + 0, + 8, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandAngleL", + "Segments": [ + 0, + 0, + 0, + 8, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHairFront", + "Segments": [ + 0, + 0, + 1, + 2.656, + 0, + 5.311, + 0, + 7.967, + 0, + 0, + 8, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHairSide", + "Segments": [ + 0, + 0, + 0, + 8, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHairBack", + "Segments": [ + 0, + 0, + 1, + 2.656, + 0, + 5.311, + 0, + 7.967, + 0, + 0, + 8, + 0 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Core", + "Segments": [ + 0, + 1, + 2, + 7.97, + 1, + 0, + 8, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Hoho001", + "Segments": [ + 0, + 1, + 2, + 7.97, + 1, + 0, + 8, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Brow001", + "Segments": [ + 0, + 1, + 2, + 7.97, + 1, + 0, + 8, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Tear", + "Segments": [ + 0, + 1, + 2, + 7.97, + 1, + 0, + 8, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01EyeBall001", + "Segments": [ + 0, + 1, + 2, + 7.97, + 1, + 0, + 8, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Eye001", + "Segments": [ + 0, + 1, + 2, + 7.97, + 1, + 0, + 8, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Nose001", + "Segments": [ + 0, + 1, + 2, + 7.97, + 1, + 0, + 8, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Mouth001", + "Segments": [ + 0, + 1, + 2, + 7.97, + 1, + 0, + 8, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Face001", + "Segments": [ + 0, + 1, + 2, + 7.97, + 1, + 0, + 8, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Ear001", + "Segments": [ + 0, + 1, + 2, + 7.97, + 1, + 0, + 8, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Neck001", + "Segments": [ + 0, + 1, + 2, + 7.97, + 1, + 0, + 8, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01HairFront001", + "Segments": [ + 0, + 1, + 2, + 7.97, + 1, + 0, + 8, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01HairSide001", + "Segments": [ + 0, + 1, + 2, + 7.97, + 1, + 0, + 8, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01HairBack001", + "Segments": [ + 0, + 1, + 2, + 7.97, + 1, + 0, + 8, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01ArmRB001", + "Segments": [ + 0, + 0, + 2, + 7.97, + 0, + 0, + 8, + 0 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01ArmLB001", + "Segments": [ + 0, + 0, + 2, + 7.97, + 0, + 0, + 8, + 0 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01ArmRA001", + "Segments": [ + 0, + 1, + 2, + 7.97, + 1, + 0, + 8, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01ArmLA001", + "Segments": [ + 0, + 1, + 2, + 7.97, + 1, + 0, + 8, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Body001", + "Segments": [ + 0, + 1, + 2, + 7.97, + 1, + 0, + 8, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Sketch", + "Segments": [ + 0, + 0, + 2, + 7.97, + 0, + 0, + 8, + 0 + ] + } + ] +} \ No newline at end of file diff --git a/staticfiles/haru_greeter_pro_jp/runtime/motion/haru_g_m20.motion3.json b/staticfiles/haru_greeter_pro_jp/runtime/motion/haru_g_m20.motion3.json new file mode 100644 index 0000000000000000000000000000000000000000..6820adcf148ceda2ca79653f05934a93396dcb27 --- /dev/null +++ b/staticfiles/haru_greeter_pro_jp/runtime/motion/haru_g_m20.motion3.json @@ -0,0 +1,2477 @@ +{ + "Version": 3, + "Meta": { + "Duration": 6.03, + "Fps": 30.0, + "Loop": true, + "AreBeziersRestricted": true, + "CurveCount": 63, + "TotalSegmentCount": 327, + "TotalPointCount": 878, + "UserDataCount": 0, + "TotalUserDataSize": 0 + }, + "Curves": [ + { + "Target": "Model", + "Id": "Opacity", + "Segments": [ + 0, + 1, + 1, + 2, + 1, + 4, + 1, + 6, + 1, + 0, + 6.03, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleX", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 1, + 0.733, + 0, + 1.133, + -21, + 1.533, + -21, + 1, + 1.611, + -21, + 1.689, + -21, + 1.767, + -21, + 1, + 1.944, + -21, + 2.122, + -20.074, + 2.3, + -17.479, + 1, + 2.5, + -12.897, + 2.7, + 19, + 2.9, + 19, + 1, + 3.078, + 19, + 3.256, + 19, + 3.433, + 19, + 1, + 3.689, + 19, + 3.944, + 19, + 4.2, + 19, + 1, + 4.8, + 19, + 5.4, + 19, + 6, + 19, + 0, + 6.033, + 19 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleY", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 1, + 0.544, + 0, + 0.756, + -13, + 0.967, + -13, + 1, + 1.122, + -13, + 1.278, + 7.633, + 1.433, + 8.986, + 1, + 1.578, + 10.242, + 1.722, + 9.689, + 1.867, + 11, + 1, + 2.044, + 12.613, + 2.222, + 28, + 2.4, + 28, + 1, + 2.6, + 28, + 2.8, + -9.978, + 3, + -11.975, + 1, + 3.144, + -13.418, + 3.289, + -13, + 3.433, + -13, + 1, + 3.689, + -13, + 3.944, + -13, + 4.2, + -13, + 1, + 4.311, + -13, + 4.422, + -6, + 4.533, + -6, + 1, + 4.644, + -6, + 4.756, + -13, + 4.867, + -13, + 1, + 5.244, + -13, + 5.622, + -13, + 6, + -13, + 0, + 6.033, + -13 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleZ", + "Segments": [ + 0, + -6, + 1, + 0.111, + -6, + 0.222, + -6, + 0.333, + -6, + 1, + 0.811, + -6, + 1.289, + -17, + 1.767, + -17, + 1, + 1.844, + -17, + 1.922, + -16.739, + 2, + -16, + 1, + 2.3, + -7.838, + 2.6, + 30, + 2.9, + 30, + 1, + 3.078, + 30, + 3.256, + 30, + 3.433, + 30, + 1, + 3.722, + 30, + 4.011, + 30, + 4.3, + 30, + 1, + 4.411, + 30, + 4.522, + 20, + 4.633, + 20, + 1, + 4.744, + 20, + 4.856, + 30, + 4.967, + 30, + 1, + 5.311, + 30, + 5.656, + 30, + 6, + 30, + 0, + 6.033, + 30 + ] + }, + { + "Target": "Parameter", + "Id": "ParamTere", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 1, + 0.767, + 0, + 1.2, + 0, + 1.633, + 0, + 1, + 1.767, + 0, + 1.9, + 0, + 2.033, + 0, + 1, + 3.356, + 0, + 4.678, + 0, + 6, + 0, + 0, + 6.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamFaceForm", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 1, + 2.222, + 0, + 4.111, + 0, + 6, + 0, + 0, + 6.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeLOpen", + "Segments": [ + 0, + 1, + 1, + 0.111, + 1, + 0.222, + 1, + 0.333, + 1, + 1, + 0.467, + 1, + 0.6, + 1, + 0.733, + 1, + 1, + 0.789, + 1, + 0.844, + 0, + 0.9, + 0, + 1, + 0.967, + 0, + 1.033, + 1, + 1.1, + 1, + 1, + 1.278, + 1, + 1.456, + 1, + 1.633, + 1, + 1, + 1.767, + 1, + 1.9, + 1, + 2.033, + 1, + 1, + 2.1, + 1, + 2.167, + 0, + 2.233, + 0, + 1, + 2.267, + 0, + 2.3, + 0, + 2.333, + 0, + 1, + 2.411, + 0, + 2.489, + 0.9, + 2.567, + 0.9, + 1, + 2.678, + 0.9, + 2.789, + 0.8, + 2.9, + 0.8, + 1, + 3.244, + 0.8, + 3.589, + 0.8, + 3.933, + 0.8, + 1, + 3.978, + 0.8, + 4.022, + 0, + 4.067, + 0, + 1, + 4.178, + 0, + 4.289, + 0, + 4.4, + 0, + 1, + 4.478, + 0, + 4.556, + 0.8, + 4.633, + 0.8, + 1, + 5.089, + 0.8, + 5.544, + 0.8, + 6, + 0.8, + 0, + 6.033, + 0.8 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeLSmile", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 1, + 0.767, + 0, + 1.2, + 0, + 1.633, + 0, + 1, + 1.767, + 0, + 1.9, + 0, + 2.033, + 0, + 1, + 3.356, + 0, + 4.678, + 0, + 6, + 0, + 0, + 6.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeROpen", + "Segments": [ + 0, + 1, + 1, + 0.111, + 1, + 0.222, + 1, + 0.333, + 1, + 1, + 0.467, + 1, + 0.6, + 1, + 0.733, + 1, + 1, + 0.789, + 1, + 0.844, + 0, + 0.9, + 0, + 1, + 0.967, + 0, + 1.033, + 1, + 1.1, + 1, + 1, + 1.278, + 1, + 1.456, + 1, + 1.633, + 1, + 1, + 1.767, + 1, + 1.9, + 1, + 2.033, + 1, + 1, + 2.1, + 1, + 2.167, + 0, + 2.233, + 0, + 1, + 2.267, + 0, + 2.3, + 0, + 2.333, + 0, + 1, + 2.411, + 0, + 2.489, + 0.9, + 2.567, + 0.9, + 1, + 2.678, + 0.9, + 2.789, + 0.8, + 2.9, + 0.8, + 1, + 3.244, + 0.8, + 3.589, + 0.8, + 3.933, + 0.8, + 1, + 3.978, + 0.8, + 4.022, + 0, + 4.067, + 0, + 1, + 4.178, + 0, + 4.289, + 0, + 4.4, + 0, + 1, + 4.478, + 0, + 4.556, + 0.8, + 4.633, + 0.8, + 1, + 5.089, + 0.8, + 5.544, + 0.8, + 6, + 0.8, + 0, + 6.033, + 0.8 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeRSmile", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 1, + 0.767, + 0, + 1.2, + 0, + 1.633, + 0, + 1, + 1.767, + 0, + 1.9, + 0, + 2.033, + 0, + 1, + 3.356, + 0, + 4.678, + 0, + 6, + 0, + 0, + 6.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeForm", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 1, + 0.767, + 0, + 1.2, + 0, + 1.633, + 0, + 1, + 1.767, + 0, + 1.9, + 0, + 2.033, + 0, + 1, + 3.356, + 0, + 4.678, + 0, + 6, + 0, + 0, + 6.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallForm", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 1, + 0.767, + 0, + 1.2, + 0, + 1.633, + 0, + 1, + 1.767, + 0, + 1.9, + 0, + 2.033, + 0, + 1, + 3.356, + 0, + 4.678, + 0, + 6, + 0, + 0, + 6.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamTear", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 0, + 6.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallX", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 1, + 0.467, + 0, + 0.6, + 0, + 0.733, + 0, + 1, + 0.856, + 0, + 0.978, + -0.82, + 1.1, + -0.82, + 1, + 1.411, + -0.82, + 1.722, + -0.82, + 2.033, + -0.82, + 1, + 2.667, + -0.82, + 3.3, + -0.82, + 3.933, + -0.82, + 1, + 4.167, + -0.82, + 4.4, + 1, + 4.633, + 1, + 1, + 5.089, + 1, + 5.544, + 1, + 6, + 1, + 0, + 6.033, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallY", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 1, + 0.467, + 0, + 0.6, + 0, + 0.733, + 0, + 1, + 0.789, + 0, + 0.844, + -0.4, + 0.9, + -0.4, + 1, + 0.967, + -0.4, + 1.033, + 0.33, + 1.1, + 0.33, + 1, + 1.411, + 0.33, + 1.722, + 0.33, + 2.033, + 0.33, + 1, + 2.211, + 0.33, + 2.389, + -0.6, + 2.567, + -0.6, + 1, + 3.022, + -0.6, + 3.478, + 0.33, + 3.933, + 0.33, + 1, + 3.978, + 0.33, + 4.022, + -0.5, + 4.067, + -0.5, + 1, + 4.178, + -0.5, + 4.289, + -0.5, + 4.4, + -0.5, + 1, + 4.478, + -0.5, + 4.556, + -1, + 4.633, + -1, + 1, + 5.089, + -1, + 5.544, + -1, + 6, + -1, + 0, + 6.033, + -1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLY", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 1, + 0.9, + 0, + 1.467, + 0, + 2.033, + 0, + 1, + 2.211, + 0, + 2.389, + 0, + 2.567, + 0, + 1, + 3.111, + 0, + 3.656, + -0.73, + 4.2, + -0.73, + 1, + 4.8, + -0.73, + 5.4, + -0.73, + 6, + -0.73, + 0, + 6.033, + -0.73 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRY", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 1, + 0.9, + 0, + 1.467, + 0, + 2.033, + 0, + 1, + 2.211, + 0, + 2.389, + 0, + 2.567, + 0, + 1, + 3.111, + 0, + 3.656, + -0.73, + 4.2, + -0.73, + 1, + 4.8, + -0.73, + 5.4, + -0.73, + 6, + -0.73, + 0, + 6.033, + -0.73 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLX", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 1, + 0.9, + 0, + 1.467, + 0, + 2.033, + 0, + 1, + 2.211, + 0, + 2.389, + 0, + 2.567, + 0, + 1, + 3.111, + 0, + 3.656, + -0.4, + 4.2, + -0.4, + 1, + 4.8, + -0.4, + 5.4, + -0.4, + 6, + -0.4, + 0, + 6.033, + -0.4 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRX", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 1, + 0.9, + 0, + 1.467, + 0, + 2.033, + 0, + 1, + 2.211, + 0, + 2.389, + 0, + 2.567, + 0, + 1, + 3.111, + 0, + 3.656, + -0.34, + 4.2, + -0.34, + 1, + 4.8, + -0.34, + 5.4, + -0.34, + 6, + -0.34, + 0, + 6.033, + -0.34 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLAngle", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 1, + 0.9, + 0, + 1.467, + 0, + 2.033, + 0, + 1, + 2.211, + 0, + 2.389, + 0, + 2.567, + 0, + 1, + 3.111, + 0, + 3.656, + 0.47, + 4.2, + 0.47, + 1, + 4.8, + 0.47, + 5.4, + 0.47, + 6, + 0.47, + 0, + 6.033, + 0.47 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRAngle", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 1, + 0.9, + 0, + 1.467, + 0, + 2.033, + 0, + 1, + 2.211, + 0, + 2.389, + 0, + 2.567, + 0, + 1, + 3.111, + 0, + 3.656, + 0.46, + 4.2, + 0.46, + 1, + 4.8, + 0.46, + 5.4, + 0.46, + 6, + 0.46, + 0, + 6.033, + 0.46 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLForm", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 1, + 0.9, + 0, + 1.467, + 0, + 2.033, + 0, + 1, + 2.211, + 0, + 2.389, + -1, + 2.567, + -1, + 1, + 3.111, + -1, + 3.656, + -1, + 4.2, + -1, + 1, + 4.8, + -1, + 5.4, + -1, + 6, + -1, + 0, + 6.033, + -1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRForm", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 1, + 0.9, + 0, + 1.467, + 0, + 2.033, + 0, + 1, + 2.211, + 0, + 2.389, + -1, + 2.567, + -1, + 1, + 3.111, + -1, + 3.656, + -1, + 4.2, + -1, + 1, + 4.8, + -1, + 5.4, + -1, + 6, + -1, + 0, + 6.033, + -1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamMouthForm", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 1, + 0.9, + 0, + 1.467, + 0, + 2.033, + 0, + 1, + 2.211, + 0, + 2.389, + 0, + 2.567, + 0, + 1, + 3.111, + 0, + 3.656, + -1, + 4.2, + -1, + 1, + 4.8, + -1, + 5.4, + -1, + 6, + -1, + 0, + 6.033, + -1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamMouthOpenY", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 1, + 0.767, + 0, + 1.2, + 0, + 1.633, + 0, + 1, + 3.089, + 0, + 4.544, + 0, + 6, + 0, + 0, + 6.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamScarf", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 1, + 2.222, + 0, + 4.111, + 0, + 6, + 0, + 0, + 6.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleX", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 1, + 0.456, + 0, + 0.578, + 1, + 0.7, + 1, + 1, + 1.056, + 1, + 1.411, + -10, + 1.767, + -10, + 1, + 1.911, + -10, + 2.056, + -10.237, + 2.2, + -9, + 1, + 2.389, + -7.382, + 2.578, + 6.715, + 2.767, + 6.783, + 1, + 3.011, + 6.871, + 3.256, + 6.898, + 3.5, + 6.933, + 1, + 3.711, + 6.963, + 3.922, + 6.965, + 4.133, + 7, + 1, + 4.256, + 7.02, + 4.378, + 10, + 4.5, + 10, + 1, + 4.622, + 10, + 4.744, + 7, + 4.867, + 7, + 1, + 5.244, + 7, + 5.622, + 7, + 6, + 7, + 0, + 6.033, + 7 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleY", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 1, + 0.456, + 0, + 0.578, + -1, + 0.7, + -1, + 1, + 1.056, + -1, + 1.411, + -0.804, + 1.767, + 0, + 1, + 1.911, + 0.327, + 2.056, + 1, + 2.2, + 1, + 1, + 2.389, + 1, + 2.578, + -2.307, + 2.767, + -2.494, + 1, + 3.011, + -2.735, + 3.256, + -2.828, + 3.5, + -2.918, + 1, + 3.711, + -2.996, + 3.922, + -3, + 4.133, + -3, + 1, + 4.256, + -3, + 4.378, + -2, + 4.5, + -2, + 1, + 4.622, + -2, + 4.744, + -3, + 4.867, + -3, + 1, + 5.244, + -3, + 5.622, + -3, + 6, + -3, + 0, + 6.033, + -3 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleZ", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 1, + 0.456, + 0, + 0.578, + -1, + 0.7, + -1, + 1, + 1.056, + -1, + 1.411, + 5, + 1.767, + 5, + 1, + 1.911, + 5, + 2.056, + 0, + 2.2, + 0, + 1, + 2.389, + 0, + 2.578, + 3.604, + 2.767, + 3.716, + 1, + 3.011, + 3.86, + 3.256, + 3.923, + 3.5, + 3.965, + 1, + 3.711, + 4.002, + 3.922, + 4, + 4.133, + 4, + 1, + 4.256, + 4, + 4.378, + 3, + 4.5, + 3, + 1, + 4.622, + 3, + 4.744, + 4, + 4.867, + 4, + 1, + 5.244, + 4, + 5.622, + 4, + 6, + 4, + 0, + 6.033, + 4 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyUpper", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 1, + 0.811, + 0, + 1.289, + 0, + 1.767, + 0, + 1, + 1.911, + 0, + 2.056, + -1, + 2.2, + -1, + 1, + 2.389, + -1, + 2.578, + 0, + 2.767, + 0, + 1, + 3.222, + 0, + 3.678, + 0, + 4.133, + 0, + 1, + 4.256, + 0, + 4.378, + -1, + 4.5, + -1, + 1, + 4.622, + -1, + 4.744, + 0, + 4.867, + 0, + 1, + 5.244, + 0, + 5.622, + 0, + 6, + 0, + 0, + 6.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBreath", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 1, + 0.678, + 0, + 1.022, + 0, + 1.367, + 0, + 1, + 1.5, + 0, + 1.633, + 0, + 1.767, + 0, + 1, + 3.178, + 0, + 4.589, + 0, + 6, + 0, + 0, + 6.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBustY", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 1, + 0.678, + 0, + 1.022, + 0, + 1.367, + 0, + 1, + 1.5, + 0, + 1.633, + 0, + 1.767, + 0, + 1, + 3.178, + 0, + 4.589, + 0, + 6, + 0, + 0, + 6.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmLA", + "Segments": [ + 0, + 0.5, + 1, + 0.111, + 0.5, + 0.222, + 0.5, + 0.333, + 0.5, + 1, + 0.678, + 0.5, + 1.022, + 0.5, + 1.367, + 0.5, + 1, + 1.5, + 0.5, + 1.633, + 0.5, + 1.767, + 0.5, + 1, + 3.178, + 0.5, + 4.589, + 0.5, + 6, + 0.5, + 0, + 6.033, + 0.5 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmRA", + "Segments": [ + 0, + 0.5, + 1, + 0.111, + 0.5, + 0.222, + 0.5, + 0.333, + 0.5, + 1, + 0.678, + 0.5, + 1.022, + 0.5, + 1.367, + 0.5, + 1, + 1.5, + 0.5, + 1.633, + 0.5, + 1.767, + 0.5, + 1, + 3.178, + 0.5, + 4.589, + 0.5, + 6, + 0.5, + 0, + 6.033, + 0.5 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmLB", + "Segments": [ + 0, + -0.2, + 1, + 0.111, + -0.2, + 0.222, + -0.2, + 0.333, + -0.2, + 1, + 0.489, + -0.2, + 0.644, + -0.2, + 0.8, + -0.2, + 1, + 0.989, + -0.2, + 1.178, + -1, + 1.367, + -1, + 1, + 1.5, + -1, + 1.633, + -1, + 1.767, + -1, + 1, + 3.178, + -1, + 4.589, + -1, + 6, + -1, + 0, + 6.033, + -1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmRB", + "Segments": [ + 0, + 0.3, + 1, + 0.111, + 0.3, + 0.222, + 0.3, + 0.333, + 0.3, + 1, + 0.489, + 0.3, + 0.644, + 0.336, + 0.8, + 0.41, + 1, + 0.978, + 0.57, + 1.156, + 1.867, + 1.333, + 2.688, + 1, + 1.478, + 3.355, + 1.622, + 3.8, + 1.767, + 3.8, + 1, + 2.1, + 3.8, + 2.433, + 3.11, + 2.767, + 2.9, + 1, + 3.111, + 2.683, + 3.456, + 2.7, + 3.8, + 2.7, + 1, + 3.933, + 2.7, + 4.067, + 3.2, + 4.2, + 3.2, + 1, + 4.5, + 3.2, + 4.8, + 2.7, + 5.1, + 2.7, + 1, + 5.4, + 2.7, + 5.7, + 2.7, + 6, + 2.7, + 0, + 6.033, + 2.7 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandChangeR", + "Segments": [ + 0, + 0, + 1, + 0.189, + 0, + 0.378, + 0, + 0.567, + 0, + 1, + 2.378, + 0, + 4.189, + 0, + 6, + 0, + 0, + 6.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandAngleR", + "Segments": [ + 0, + 0, + 1, + 0.189, + 0, + 0.378, + 0, + 0.567, + 0, + 1, + 2.378, + 0, + 4.189, + 0, + 6, + 0, + 0, + 6.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandDhangeL", + "Segments": [ + 0, + 0, + 1, + 0.189, + 0, + 0.378, + 0, + 0.567, + 0, + 1, + 2.378, + 0, + 4.189, + 0, + 6, + 0, + 0, + 6.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandAngleL", + "Segments": [ + 0, + -0.3, + 1, + 0.189, + -0.3, + 0.378, + -0.3, + 0.567, + -0.3, + 1, + 0.756, + -0.3, + 0.944, + -0.621, + 1.133, + -0.621, + 1, + 1.289, + -0.621, + 1.444, + -0.632, + 1.6, + -0.573, + 1, + 1.767, + -0.509, + 1.933, + -0.064, + 2.1, + 0.312, + 1, + 2.233, + 0.613, + 2.367, + 1, + 2.5, + 1, + 1, + 2.722, + 1, + 2.944, + -0.55, + 3.167, + -0.55, + 1, + 3.456, + -0.55, + 3.744, + -0.55, + 4.033, + -0.55, + 1, + 4.156, + -0.55, + 4.278, + 0.35, + 4.4, + 0.35, + 1, + 4.711, + 0.35, + 5.022, + -0.55, + 5.333, + -0.55, + 1, + 5.556, + -0.55, + 5.778, + -0.55, + 6, + -0.55, + 0, + 6.033, + -0.55 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHairFront", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 1, + 0.678, + 0, + 1.022, + 0, + 1.367, + 0, + 1, + 1.5, + 0, + 1.633, + 0, + 1.767, + 0, + 1, + 3.178, + 0, + 4.589, + 0, + 6, + 0, + 0, + 6.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHairSide", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 1, + 2.222, + 0, + 4.111, + 0, + 6, + 0, + 0, + 6.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHairBack", + "Segments": [ + 0, + 0, + 1, + 0.111, + 0, + 0.222, + 0, + 0.333, + 0, + 1, + 0.678, + 0, + 1.022, + 0, + 1.367, + 0, + 1, + 1.5, + 0, + 1.633, + 0, + 1.767, + 0, + 1, + 3.178, + 0, + 4.589, + 0, + 6, + 0, + 0, + 6.033, + 0 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Core", + "Segments": [ + 0, + 1, + 2, + 6, + 1, + 0, + 6.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Hoho001", + "Segments": [ + 0, + 1, + 2, + 6, + 1, + 0, + 6.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Brow001", + "Segments": [ + 0, + 1, + 2, + 6, + 1, + 0, + 6.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Tear", + "Segments": [ + 0, + 1, + 2, + 6, + 1, + 0, + 6.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01EyeBall001", + "Segments": [ + 0, + 1, + 2, + 6, + 1, + 0, + 6.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Eye001", + "Segments": [ + 0, + 1, + 2, + 6, + 1, + 0, + 6.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Nose001", + "Segments": [ + 0, + 1, + 2, + 6, + 1, + 0, + 6.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Mouth001", + "Segments": [ + 0, + 1, + 2, + 6, + 1, + 0, + 6.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Face001", + "Segments": [ + 0, + 1, + 2, + 6, + 1, + 0, + 6.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Ear001", + "Segments": [ + 0, + 1, + 2, + 6, + 1, + 0, + 6.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Neck001", + "Segments": [ + 0, + 1, + 2, + 6, + 1, + 0, + 6.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01HairFront001", + "Segments": [ + 0, + 1, + 2, + 6, + 1, + 0, + 6.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01HairSide001", + "Segments": [ + 0, + 1, + 2, + 6, + 1, + 0, + 6.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01HairBack001", + "Segments": [ + 0, + 1, + 2, + 6, + 1, + 0, + 6.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01ArmRB001", + "Segments": [ + 0, + 1, + 2, + 6, + 1, + 0, + 6.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01ArmLB001", + "Segments": [ + 0, + 1, + 2, + 6, + 1, + 0, + 6.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01ArmRA001", + "Segments": [ + 0, + 0, + 2, + 6, + 0, + 0, + 6.03, + 0 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01ArmLA001", + "Segments": [ + 0, + 0, + 2, + 6, + 0, + 0, + 6.03, + 0 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Body001", + "Segments": [ + 0, + 1, + 2, + 6, + 1, + 0, + 6.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Sketch", + "Segments": [ + 0, + 0, + 2, + 6, + 0, + 0, + 6.03, + 0 + ] + } + ] +} \ No newline at end of file diff --git a/staticfiles/haru_greeter_pro_jp/runtime/motion/haru_g_m21.motion3.json b/staticfiles/haru_greeter_pro_jp/runtime/motion/haru_g_m21.motion3.json new file mode 100644 index 0000000000000000000000000000000000000000..3d43542ad4a1c0f535c66cf3fbfb3aca0797c5cf --- /dev/null +++ b/staticfiles/haru_greeter_pro_jp/runtime/motion/haru_g_m21.motion3.json @@ -0,0 +1,2568 @@ +{ + "Version": 3, + "Meta": { + "Duration": 5, + "Fps": 30.0, + "Loop": true, + "AreBeziersRestricted": true, + "CurveCount": 63, + "TotalSegmentCount": 352, + "TotalPointCount": 911, + "UserDataCount": 0, + "TotalUserDataSize": 0 + }, + "Curves": [ + { + "Target": "Model", + "Id": "Opacity", + "Segments": [ + 0, + 1, + 1, + 0.89, + 1, + 1.78, + 1, + 2.67, + 1, + 1, + 3.43, + 1, + 4.2, + 1, + 4.97, + 1, + 0, + 5, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleX", + "Segments": [ + 0, + 0, + 1, + 0.056, + 0, + 0.111, + 0, + 0.167, + 0, + 1, + 0.378, + 0, + 0.589, + 0, + 0.8, + 0, + 1, + 1, + 0, + 1.2, + 0, + 1.4, + 0, + 1, + 1.6, + 0, + 1.8, + 0, + 2, + 0, + 1, + 2.189, + 0, + 2.378, + 0, + 2.567, + 0, + 1, + 2.722, + 0, + 2.878, + 2, + 3.033, + 2, + 1, + 3.344, + 2, + 3.656, + 0, + 3.967, + 0, + 0, + 5, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleY", + "Segments": [ + 0, + 0, + 1, + 0.033, + 0, + 0.067, + 0, + 0.1, + 0, + 1, + 0.156, + 0, + 0.211, + 6, + 0.267, + 6, + 1, + 0.344, + 6, + 0.422, + -11.207, + 0.5, + -11.207, + 1, + 0.6, + -11.207, + 0.7, + 0, + 0.8, + 0, + 1, + 0.967, + 0, + 1.133, + -16.67, + 1.3, + -16.67, + 1, + 1.356, + -16.67, + 1.411, + -16.299, + 1.467, + -8.31, + 1, + 1.578, + 7.668, + 1.689, + 22.901, + 1.8, + 22.901, + 1, + 1.9, + 22.901, + 2, + -0.099, + 2.1, + -0.099, + 1, + 2.3, + -0.099, + 2.5, + 0, + 2.7, + 0, + 1, + 2.833, + 0, + 2.967, + -22, + 3.1, + -22, + 1, + 3.256, + -22, + 3.411, + 12, + 3.567, + 12, + 1, + 3.722, + 12, + 3.878, + -5, + 4.033, + -5, + 1, + 4.222, + -5, + 4.411, + 0, + 4.6, + 0, + 0, + 5, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleZ", + "Segments": [ + 0, + 0, + 1, + 0.056, + 0, + 0.111, + 0, + 0.167, + 0, + 1, + 0.289, + 0, + 0.411, + 0, + 0.533, + 0, + 1, + 0.622, + 0, + 0.711, + 30, + 0.8, + 30, + 1, + 1, + 30, + 1.2, + -30, + 1.4, + -30, + 1, + 1.6, + -30, + 1.8, + 30, + 2, + 30, + 1, + 2.167, + 30, + 2.333, + 30.456, + 2.5, + 27, + 1, + 2.678, + 23.313, + 2.856, + -9, + 3.033, + -9, + 1, + 3.189, + -9, + 3.344, + 7, + 3.5, + 7, + 1, + 3.656, + 7, + 3.811, + -2, + 3.967, + -2, + 1, + 4.156, + -2, + 4.344, + 0, + 4.533, + 0, + 0, + 5, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamTere", + "Segments": [ + 0, + 0, + 1, + 0.056, + 0, + 0.111, + 0, + 0.167, + 0, + 1, + 0.378, + 0, + 0.589, + 0.5, + 0.8, + 0.5, + 1, + 1.2, + 0.5, + 1.6, + 0.5, + 2, + 0.5, + 1, + 2.189, + 0.5, + 2.378, + 0.5, + 2.567, + 0.5, + 1, + 3.033, + 0.5, + 3.5, + 0, + 3.967, + 0, + 0, + 5, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamFaceForm", + "Segments": [ + 0, + 0, + 0, + 5, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeLOpen", + "Segments": [ + 0, + 1, + 1, + 0.056, + 1, + 0.111, + 1, + 0.167, + 1, + 1, + 0.289, + 1, + 0.411, + 0, + 0.533, + 0, + 1, + 0.622, + 0, + 0.711, + 0, + 0.8, + 0, + 1, + 1, + 0, + 1.2, + 0, + 1.4, + 0, + 1, + 1.522, + 0, + 1.644, + 1, + 1.767, + 1, + 1, + 2.033, + 1, + 2.3, + 1, + 2.567, + 1, + 1, + 2.722, + 1, + 2.878, + 0, + 3.033, + 0, + 1, + 3.189, + 0, + 3.344, + 0, + 3.5, + 0, + 1, + 3.656, + 0, + 3.811, + 1, + 3.967, + 1, + 0, + 5, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeLSmile", + "Segments": [ + 0, + 0, + 1, + 0.056, + 0, + 0.111, + 0, + 0.167, + 0, + 1, + 0.289, + 0, + 0.411, + 0, + 0.533, + 0, + 1, + 0.622, + 0, + 0.711, + 1, + 0.8, + 1, + 1, + 1, + 1, + 1.2, + 1, + 1.4, + 1, + 1, + 1.522, + 1, + 1.644, + 0, + 1.767, + 0, + 1, + 2.033, + 0, + 2.3, + 0, + 2.567, + 0, + 1, + 3.033, + 0, + 3.5, + 0, + 3.967, + 0, + 0, + 5, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeROpen", + "Segments": [ + 0, + 1, + 1, + 0.056, + 1, + 0.111, + 1, + 0.167, + 1, + 1, + 0.289, + 1, + 0.411, + 0, + 0.533, + 0, + 1, + 0.622, + 0, + 0.711, + 0, + 0.8, + 0, + 1, + 1, + 0, + 1.2, + 0, + 1.4, + 0, + 1, + 1.522, + 0, + 1.644, + 1, + 1.767, + 1, + 1, + 2.033, + 1, + 2.3, + 1, + 2.567, + 1, + 1, + 2.722, + 1, + 2.878, + 0, + 3.033, + 0, + 1, + 3.189, + 0, + 3.344, + 0, + 3.5, + 0, + 1, + 3.656, + 0, + 3.811, + 1, + 3.967, + 1, + 0, + 5, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeRSmile", + "Segments": [ + 0, + 0, + 1, + 0.056, + 0, + 0.111, + 0, + 0.167, + 0, + 1, + 0.289, + 0, + 0.411, + 0, + 0.533, + 0, + 1, + 0.622, + 0, + 0.711, + 1, + 0.8, + 1, + 1, + 1, + 1, + 1.2, + 1, + 1.4, + 1, + 1, + 1.522, + 1, + 1.644, + 0, + 1.767, + 0, + 1, + 2.033, + 0, + 2.3, + 0, + 2.567, + 0, + 1, + 3.033, + 0, + 3.5, + 0, + 3.967, + 0, + 0, + 5, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeForm", + "Segments": [ + 0, + 0, + 1, + 0.056, + 0, + 0.111, + 0, + 0.167, + 0, + 1, + 0.778, + 0, + 1.389, + 0, + 2, + 0, + 1, + 2.189, + 0, + 2.378, + 0, + 2.567, + 0, + 1, + 3.033, + 0, + 3.5, + 0, + 3.967, + 0, + 0, + 5, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallForm", + "Segments": [ + 0, + 0, + 1, + 0.056, + 0, + 0.111, + 0, + 0.167, + 0, + 1, + 0.778, + 0, + 1.389, + 0, + 2, + 0, + 1, + 2.189, + 0, + 2.378, + 0, + 2.567, + 0, + 1, + 3.033, + 0, + 3.5, + 0, + 3.967, + 0, + 0, + 5, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamTear", + "Segments": [ + 0, + 0, + 1, + 0.056, + 0, + 0.111, + 0, + 0.167, + 0, + 1, + 0.778, + 0, + 1.389, + 0, + 2, + 0, + 1, + 2.189, + 0, + 2.378, + 0, + 2.567, + 0, + 1, + 3.033, + 0, + 3.5, + 0, + 3.967, + 0, + 0, + 5, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallX", + "Segments": [ + 0, + 0, + 1, + 0.056, + 0, + 0.111, + 0, + 0.167, + 0, + 1, + 0.778, + 0, + 1.389, + 0, + 2, + 0, + 1, + 2.189, + 0, + 2.378, + 0, + 2.567, + 0, + 1, + 3.033, + 0, + 3.5, + 0, + 3.967, + 0, + 0, + 5, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallY", + "Segments": [ + 0, + 0, + 1, + 0.056, + 0, + 0.111, + 0, + 0.167, + 0, + 1, + 0.778, + 0, + 1.389, + 0, + 2, + 0, + 1, + 2.189, + 0, + 2.378, + 0, + 2.567, + 0, + 1, + 3.033, + 0, + 3.5, + 0, + 3.967, + 0, + 0, + 5, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLY", + "Segments": [ + 0, + 0, + 1, + 0.056, + 0, + 0.111, + 0, + 0.167, + 0, + 1, + 0.778, + 0, + 1.389, + 0, + 2, + 0, + 1, + 2.189, + 0, + 2.378, + 0, + 2.567, + 0, + 1, + 2.722, + 0, + 2.878, + -0.5, + 3.033, + -0.5, + 1, + 3.344, + -0.5, + 3.656, + 0, + 3.967, + 0, + 0, + 5, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRY", + "Segments": [ + 0, + 0, + 1, + 0.056, + 0, + 0.111, + 0, + 0.167, + 0, + 1, + 0.778, + 0, + 1.389, + 0, + 2, + 0, + 1, + 2.189, + 0, + 2.378, + 0, + 2.567, + 0, + 1, + 2.722, + 0, + 2.878, + -0.5, + 3.033, + -0.5, + 1, + 3.344, + -0.5, + 3.656, + 0, + 3.967, + 0, + 0, + 5, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLX", + "Segments": [ + 0, + 0, + 1, + 0.056, + 0, + 0.111, + 0, + 0.167, + 0, + 1, + 0.778, + 0, + 1.389, + 0, + 2, + 0, + 1, + 2.189, + 0, + 2.378, + 0, + 2.567, + 0, + 1, + 2.722, + 0, + 2.878, + -0.4, + 3.033, + -0.4, + 1, + 3.344, + -0.4, + 3.656, + 0, + 3.967, + 0, + 0, + 5, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRX", + "Segments": [ + 0, + 0, + 1, + 0.056, + 0, + 0.111, + 0, + 0.167, + 0, + 1, + 0.778, + 0, + 1.389, + 0, + 2, + 0, + 1, + 2.189, + 0, + 2.378, + 0, + 2.567, + 0, + 1, + 3.033, + 0, + 3.5, + 0, + 3.967, + 0, + 0, + 5, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLAngle", + "Segments": [ + 0, + 0, + 1, + 0.056, + 0, + 0.111, + 0, + 0.167, + 0, + 1, + 0.778, + 0, + 1.389, + 0, + 2, + 0, + 1, + 2.189, + 0, + 2.378, + 0, + 2.567, + 0, + 1, + 2.722, + 0, + 2.878, + 0, + 3.033, + 0, + 1, + 3.344, + 0, + 3.656, + 0, + 3.967, + 0, + 0, + 5, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRAngle", + "Segments": [ + 0, + 0, + 1, + 0.056, + 0, + 0.111, + 0, + 0.167, + 0, + 1, + 0.778, + 0, + 1.389, + 0, + 2, + 0, + 1, + 2.189, + 0, + 2.378, + 0, + 2.567, + 0, + 1, + 2.722, + 0, + 2.878, + 0, + 3.033, + 0, + 1, + 3.344, + 0, + 3.656, + 0, + 3.967, + 0, + 0, + 5, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLForm", + "Segments": [ + 0, + 0, + 1, + 0.056, + 0, + 0.111, + 0, + 0.167, + 0, + 1, + 0.778, + 0, + 1.389, + 0, + 2, + 0, + 1, + 2.189, + 0, + 2.378, + 0, + 2.567, + 0, + 1, + 2.722, + 0, + 2.878, + -0.3, + 3.033, + -0.3, + 1, + 3.344, + -0.3, + 3.656, + 0, + 3.967, + 0, + 0, + 5, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRForm", + "Segments": [ + 0, + 0, + 1, + 0.056, + 0, + 0.111, + 0, + 0.167, + 0, + 1, + 0.778, + 0, + 1.389, + 0, + 2, + 0, + 1, + 2.189, + 0, + 2.378, + 0, + 2.567, + 0, + 1, + 2.722, + 0, + 2.878, + -0.3, + 3.033, + -0.3, + 1, + 3.344, + -0.3, + 3.656, + 0, + 3.967, + 0, + 0, + 5, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamMouthForm", + "Segments": [ + 0, + 1, + 1, + 0.056, + 1, + 0.111, + 1, + 0.167, + 1, + 1, + 0.778, + 1, + 1.389, + 1, + 2, + 1, + 1, + 2.189, + 1, + 2.378, + 1, + 2.567, + 1, + 1, + 3.033, + 1, + 3.5, + 1, + 3.967, + 1, + 0, + 5, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamMouthOpenY", + "Segments": [ + 0, + 0, + 1, + 0.056, + 0, + 0.111, + 0, + 0.167, + 0, + 1, + 0.778, + 0, + 1.389, + 0, + 2, + 0, + 1, + 2.189, + 0, + 2.378, + 0, + 2.567, + 0, + 1, + 3.033, + 0, + 3.5, + 0, + 3.967, + 0, + 0, + 5, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamScarf", + "Segments": [ + 0, + 0, + 1, + 0.856, + 0, + 1.711, + 0, + 2.567, + 0, + 1, + 3.033, + 0, + 3.5, + 0, + 3.967, + 0, + 0, + 5, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleX", + "Segments": [ + 0, + 0, + 1, + 0.056, + 0, + 0.111, + 0, + 0.167, + 0, + 1, + 0.578, + 0, + 0.989, + 0, + 1.4, + 0, + 1, + 1.633, + 0, + 1.867, + -2.877, + 2.1, + -6, + 1, + 2.289, + -8.528, + 2.478, + -9, + 2.667, + -9, + 1, + 3.1, + -9, + 3.533, + 0, + 3.967, + 0, + 0, + 5, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleY", + "Segments": [ + 0, + 0, + 1, + 0.056, + 0, + 0.111, + 0, + 0.167, + 0, + 1, + 0.289, + 0, + 0.411, + -10, + 0.533, + -10, + 1, + 0.622, + -10, + 0.711, + 10, + 0.8, + 10, + 1, + 0.9, + 10, + 1, + -10, + 1.1, + -10, + 1, + 1.2, + -10, + 1.3, + 10, + 1.4, + 10, + 1, + 1.6, + 10, + 1.8, + -7, + 2, + -7, + 1, + 2.189, + -7, + 2.378, + -7, + 2.567, + -7, + 1, + 2.722, + -7, + 2.878, + -6.928, + 3.033, + -4, + 1, + 3.189, + -1.072, + 3.344, + 5, + 3.5, + 5, + 1, + 3.656, + 5, + 3.811, + 0, + 3.967, + 0, + 0, + 5, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleZ", + "Segments": [ + 0, + 0, + 1, + 0.056, + 0, + 0.111, + 0, + 0.167, + 0, + 1, + 0.289, + 0, + 0.411, + 0, + 0.533, + 0, + 1, + 0.622, + 0, + 0.711, + 10, + 0.8, + 10, + 1, + 1, + 10, + 1.2, + -10, + 1.4, + -10, + 1, + 1.567, + -10, + 1.733, + 6, + 1.9, + 6, + 1, + 2.089, + 6, + 2.278, + 6, + 2.467, + 6, + 1, + 2.656, + 6, + 2.844, + 9, + 3.033, + 9, + 1, + 3.189, + 9, + 3.344, + -6, + 3.5, + -6, + 1, + 3.656, + -6, + 3.811, + 1, + 3.967, + 1, + 1, + 4.144, + 1, + 4.322, + 0, + 4.5, + 0, + 0, + 5, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyUpper", + "Segments": [ + 0, + 0, + 1, + 0.056, + 0, + 0.111, + 0, + 0.167, + 0, + 1, + 0.778, + 0, + 1.389, + 0, + 2, + 0, + 1, + 2.189, + 0, + 2.378, + 0, + 2.567, + 0, + 1, + 2.722, + 0, + 2.878, + 4, + 3.033, + 4, + 1, + 3.189, + 4, + 3.344, + -1, + 3.5, + -1, + 1, + 3.656, + -1, + 3.811, + 0, + 3.967, + 0, + 0, + 5, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBreath", + "Segments": [ + 0, + 0, + 1, + 0.856, + 0, + 1.711, + 0, + 2.567, + 0, + 1, + 3.033, + 0, + 3.5, + 0, + 3.967, + 0, + 0, + 5, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBustY", + "Segments": [ + 0, + 0, + 1, + 0.056, + 0, + 0.111, + 0, + 0.167, + 0, + 1, + 0.778, + 0, + 1.389, + 0, + 2, + 0, + 1, + 2.189, + 0, + 2.378, + 0, + 2.567, + 0, + 1, + 3.033, + 0, + 3.5, + 0, + 3.967, + 0, + 0, + 5, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmLA", + "Segments": [ + 0, + 0.5, + 1, + 0.056, + 0.5, + 0.111, + 0.5, + 0.167, + 0.5, + 1, + 0.289, + 0.5, + 0.411, + 0.6, + 0.533, + 0.6, + 1, + 0.622, + 0.6, + 0.711, + 0, + 0.8, + 0, + 1, + 0.9, + 0, + 1, + 0.57, + 1.1, + 0.57, + 1, + 1.2, + 0.57, + 1.3, + 0, + 1.4, + 0, + 1, + 1.6, + 0, + 1.8, + 0.5, + 2, + 0.5, + 1, + 2.189, + 0.5, + 2.378, + 0.5, + 2.567, + 0.5, + 1, + 2.722, + 0.5, + 2.878, + 0.489, + 3.033, + 0.4, + 1, + 3.189, + 0.311, + 3.344, + 0.2, + 3.5, + 0.2, + 1, + 3.656, + 0.2, + 3.811, + 1, + 3.967, + 1, + 0, + 5, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmRA", + "Segments": [ + 0, + 0.5, + 1, + 0.056, + 0.5, + 0.111, + 0.5, + 0.167, + 0.5, + 1, + 0.289, + 0.5, + 0.411, + 0.6, + 0.533, + 0.6, + 1, + 0.622, + 0.6, + 0.711, + 0, + 0.8, + 0, + 1, + 0.9, + 0, + 1, + 0.56, + 1.1, + 0.56, + 1, + 1.2, + 0.56, + 1.3, + 0, + 1.4, + 0, + 1, + 1.6, + 0, + 1.8, + 0.5, + 2, + 0.5, + 1, + 2.189, + 0.5, + 2.378, + 0.5, + 2.567, + 0.5, + 1, + 2.722, + 0.5, + 2.878, + 0.489, + 3.033, + 0.4, + 1, + 3.189, + 0.311, + 3.344, + 0.2, + 3.5, + 0.2, + 1, + 3.656, + 0.2, + 3.811, + 1, + 3.967, + 1, + 0, + 5, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmLB", + "Segments": [ + 0, + 0, + 1, + 0.056, + 0, + 0.111, + 0, + 0.167, + 0, + 1, + 0.778, + 0, + 1.389, + 0, + 2, + 0, + 1, + 2.189, + 0, + 2.378, + 0, + 2.567, + 0, + 1, + 3.033, + 0, + 3.5, + 5, + 3.967, + 5, + 0, + 5, + 5 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmRB", + "Segments": [ + 0, + 0, + 1, + 0.056, + 0, + 0.111, + 0, + 0.167, + 0, + 1, + 0.778, + 0, + 1.389, + 0, + 2, + 0, + 1, + 2.189, + 0, + 2.378, + 0, + 2.567, + 0, + 1, + 3.033, + 0, + 3.5, + 0, + 3.967, + 0, + 0, + 5, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandChangeR", + "Segments": [ + 0, + 0, + 1, + 0.056, + 0, + 0.111, + 0, + 0.167, + 0, + 1, + 0.378, + 0, + 0.589, + 0, + 0.8, + 0, + 1, + 1.389, + 0, + 1.978, + 0, + 2.567, + 0, + 1, + 3.111, + 0, + 3.656, + 0, + 4.2, + 0, + 0, + 5, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandAngleR", + "Segments": [ + 0, + 0, + 1, + 0.056, + 0, + 0.111, + 0, + 0.167, + 0, + 1, + 0.289, + 0, + 0.411, + 0.887, + 0.533, + 0.963, + 1, + 0.622, + 1.018, + 0.711, + 1, + 0.8, + 1, + 1, + 0.844, + 1, + 0.889, + -0.593, + 0.933, + -0.684, + 1, + 0.967, + -0.752, + 1, + -0.73, + 1.033, + -0.73, + 1, + 1.111, + -0.73, + 1.189, + 0.874, + 1.267, + 0.969, + 1, + 1.311, + 1.023, + 1.356, + 1, + 1.4, + 1, + 1, + 1.511, + 1, + 1.622, + -0.566, + 1.733, + -0.566, + 1, + 1.822, + -0.566, + 1.911, + -0.1, + 2, + -0.1, + 1, + 2.189, + -0.1, + 2.378, + -0.1, + 2.567, + -0.1, + 1, + 2.722, + -0.1, + 2.878, + -0.8, + 3.033, + -0.8, + 1, + 3.189, + -0.8, + 3.344, + -0.4, + 3.5, + -0.4, + 1, + 3.578, + -0.4, + 3.656, + -1, + 3.733, + -1, + 1, + 3.889, + -1, + 4.044, + -0.1, + 4.2, + -0.1, + 0, + 5, + -0.1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandDhangeL", + "Segments": [ + 0, + 0, + 1, + 0.056, + 0, + 0.111, + 0, + 0.167, + 0, + 1, + 0.378, + 0, + 0.589, + 0, + 0.8, + 0, + 1, + 1.389, + 0, + 1.978, + 0, + 2.567, + 0, + 1, + 3.111, + 0, + 3.656, + 0, + 4.2, + 0, + 0, + 5, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandAngleL", + "Segments": [ + 0, + 0, + 1, + 0.056, + 0, + 0.111, + 0, + 0.167, + 0, + 1, + 0.289, + 0, + 0.411, + -1, + 0.533, + -1, + 1, + 0.622, + -1, + 0.711, + -0.592, + 0.8, + 0, + 1, + 0.844, + 0.296, + 0.889, + 0.664, + 0.933, + 0.725, + 1, + 0.978, + 0.786, + 1.022, + 0.778, + 1.067, + 0.778, + 1, + 1.133, + 0.778, + 1.2, + -0.873, + 1.267, + -0.962, + 1, + 1.311, + -1.022, + 1.356, + -1, + 1.4, + -1, + 1, + 1.5, + -1, + 1.6, + 0.665, + 1.7, + 0.665, + 1, + 1.8, + 0.665, + 1.9, + 0.1, + 2, + 0.1, + 1, + 2.189, + 0.1, + 2.378, + 0.1, + 2.567, + 0.1, + 1, + 2.722, + 0.1, + 2.878, + 1, + 3.033, + 1, + 1, + 3.189, + 1, + 3.344, + 0.7, + 3.5, + 0.7, + 1, + 3.578, + 0.7, + 3.656, + 1, + 3.733, + 1, + 1, + 3.889, + 1, + 4.044, + 0.1, + 4.2, + 0.1, + 0, + 5, + 0.1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHairFront", + "Segments": [ + 0, + 0, + 1, + 0.056, + 0, + 0.111, + 0, + 0.167, + 0, + 1, + 0.778, + 0, + 1.389, + 0, + 2, + 0, + 1, + 2.189, + 0, + 2.378, + 0, + 2.567, + 0, + 1, + 3.033, + 0, + 3.5, + 0, + 3.967, + 0, + 0, + 5, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHairSide", + "Segments": [ + 0, + 0, + 0, + 2.567, + 0, + 1, + 3.033, + 0, + 3.5, + 0, + 3.967, + 0, + 0, + 5, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHairBack", + "Segments": [ + 0, + 0, + 1, + 0.056, + 0, + 0.111, + 0, + 0.167, + 0, + 1, + 0.778, + 0, + 1.389, + 0, + 2, + 0, + 1, + 2.189, + 0, + 2.378, + 0, + 2.567, + 0, + 1, + 3.033, + 0, + 3.5, + 0, + 3.967, + 0, + 0, + 5, + 0 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Core", + "Segments": [ + 0, + 1, + 2, + 2.67, + 1, + 2, + 4.97, + 1, + 0, + 5, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Hoho001", + "Segments": [ + 0, + 1, + 2, + 2.67, + 1, + 2, + 4.97, + 1, + 0, + 5, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Brow001", + "Segments": [ + 0, + 1, + 2, + 2.67, + 1, + 2, + 4.97, + 1, + 0, + 5, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Tear", + "Segments": [ + 0, + 1, + 2, + 2.67, + 1, + 2, + 4.97, + 1, + 0, + 5, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01EyeBall001", + "Segments": [ + 0, + 1, + 2, + 2.67, + 1, + 2, + 4.97, + 1, + 0, + 5, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Eye001", + "Segments": [ + 0, + 1, + 2, + 2.67, + 1, + 2, + 4.97, + 1, + 0, + 5, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Nose001", + "Segments": [ + 0, + 1, + 2, + 2.67, + 1, + 2, + 4.97, + 1, + 0, + 5, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Mouth001", + "Segments": [ + 0, + 1, + 2, + 2.67, + 1, + 2, + 4.97, + 1, + 0, + 5, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Face001", + "Segments": [ + 0, + 1, + 2, + 2.67, + 1, + 2, + 4.97, + 1, + 0, + 5, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Ear001", + "Segments": [ + 0, + 1, + 2, + 2.67, + 1, + 2, + 4.97, + 1, + 0, + 5, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Neck001", + "Segments": [ + 0, + 1, + 2, + 2.67, + 1, + 2, + 4.97, + 1, + 0, + 5, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01HairFront001", + "Segments": [ + 0, + 1, + 2, + 2.67, + 1, + 2, + 4.97, + 1, + 0, + 5, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01HairSide001", + "Segments": [ + 0, + 1, + 2, + 2.67, + 1, + 2, + 4.97, + 1, + 0, + 5, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01HairBack001", + "Segments": [ + 0, + 1, + 2, + 2.67, + 1, + 2, + 4.97, + 1, + 0, + 5, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01ArmRB001", + "Segments": [ + 0, + 0, + 2, + 2.67, + 0, + 2, + 4.97, + 0, + 0, + 5, + 0 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01ArmLB001", + "Segments": [ + 0, + 0, + 2, + 2.67, + 0, + 2, + 4.97, + 0, + 0, + 5, + 0 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01ArmRA001", + "Segments": [ + 0, + 1, + 2, + 2.67, + 1, + 2, + 4.97, + 1, + 0, + 5, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01ArmLA001", + "Segments": [ + 0, + 1, + 2, + 2.67, + 1, + 2, + 4.97, + 1, + 0, + 5, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Body001", + "Segments": [ + 0, + 1, + 2, + 2.67, + 1, + 2, + 4.97, + 1, + 0, + 5, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Sketch", + "Segments": [ + 0, + 0, + 2, + 2.67, + 0, + 2, + 4.97, + 0, + 0, + 5, + 0 + ] + } + ] +} \ No newline at end of file diff --git a/staticfiles/haru_greeter_pro_jp/runtime/motion/haru_g_m22.motion3.json b/staticfiles/haru_greeter_pro_jp/runtime/motion/haru_g_m22.motion3.json new file mode 100644 index 0000000000000000000000000000000000000000..196ad33ed0426f607e94218de6eaf1646e66e5e8 --- /dev/null +++ b/staticfiles/haru_greeter_pro_jp/runtime/motion/haru_g_m22.motion3.json @@ -0,0 +1,2964 @@ +{ + "Version": 3, + "Meta": { + "Duration": 5.03, + "Fps": 30.0, + "Loop": true, + "AreBeziersRestricted": true, + "CurveCount": 63, + "TotalSegmentCount": 408, + "TotalPointCount": 1081, + "UserDataCount": 0, + "TotalUserDataSize": 0 + }, + "Curves": [ + { + "Target": "Model", + "Id": "Opacity", + "Segments": [ + 0, + 1, + 1, + 1.41, + 1, + 2.82, + 1, + 4.23, + 1, + 1, + 4.49, + 1, + 4.74, + 1, + 5, + 1, + 0, + 5.03, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleX", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.122, + 0, + 1.244, + -2, + 1.367, + -2, + 1, + 1.433, + -2, + 1.5, + -2.016, + 1.567, + -1.097, + 1, + 1.644, + -0.026, + 1.722, + 2, + 1.8, + 2, + 1, + 2.033, + 2, + 2.267, + 0, + 2.5, + 0, + 1, + 2.667, + 0, + 2.833, + 0, + 3, + 0, + 1, + 3.211, + 0, + 3.422, + -17, + 3.633, + -17, + 1, + 3.833, + -17, + 4.033, + 0, + 4.233, + 0, + 1, + 4.489, + 0, + 4.744, + 0, + 5, + 0, + 0, + 5.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleY", + "Segments": [ + 0, + 0, + 1, + 0.278, + 0, + 0.556, + 0, + 0.833, + 0, + 1, + 0.878, + 0, + 0.922, + -2, + 0.967, + -2, + 1, + 1.044, + -2, + 1.122, + 12, + 1.2, + 12, + 1, + 1.267, + 12, + 1.333, + 12.003, + 1.4, + 5.456, + 1, + 1.478, + -2.182, + 1.556, + -17, + 1.633, + -17, + 1, + 1.922, + -17, + 2.211, + -15, + 2.5, + -15, + 1, + 2.689, + -15, + 2.878, + -15, + 3.067, + -15, + 1, + 3.278, + -15, + 3.489, + -8.561, + 3.7, + 5, + 1, + 3.8, + 11.424, + 3.9, + 15, + 4, + 15, + 1, + 4.122, + 15, + 4.244, + 0, + 4.367, + 0, + 1, + 4.578, + 0, + 4.789, + 0, + 5, + 0, + 0, + 5.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleZ", + "Segments": [ + 0, + 0, + 1, + 0.367, + 0, + 0.733, + 0, + 1.1, + 0, + 1, + 1.222, + 0, + 1.344, + -17, + 1.467, + -17, + 1, + 1.533, + -17, + 1.6, + -16.684, + 1.667, + -8.077, + 1, + 1.744, + 1.963, + 1.822, + 18, + 1.9, + 18, + 1, + 2.1, + 18, + 2.3, + 15, + 2.5, + 15, + 1, + 2.722, + 15, + 2.944, + 15, + 3.167, + 15, + 1, + 3.378, + 15, + 3.589, + -21, + 3.8, + -21, + 1, + 4.122, + -21, + 4.444, + 0, + 4.767, + 0, + 1, + 4.844, + 0, + 4.922, + 0, + 5, + 0, + 0, + 5.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamTere", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.189, + 0, + 1.378, + 0, + 1.567, + 0, + 1, + 1.644, + 0, + 1.722, + 0.5, + 1.8, + 0.5, + 1, + 2.2, + 0.5, + 2.6, + 0.5, + 3, + 0.5, + 1, + 3.411, + 0.5, + 3.822, + 0, + 4.233, + 0, + 1, + 4.489, + 0, + 4.744, + 0, + 5, + 0, + 0, + 5.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamFaceForm", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.189, + 0, + 1.378, + 0, + 1.567, + 0, + 1, + 1.644, + 0, + 1.722, + 0, + 1.8, + 0, + 1, + 2.2, + 0, + 2.6, + 0, + 3, + 0, + 1, + 3.411, + 0, + 3.822, + 0, + 4.233, + 0, + 1, + 4.489, + 0, + 4.744, + 0, + 5, + 0, + 0, + 5.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeLOpen", + "Segments": [ + 0, + 1, + 1, + 0.333, + 1, + 0.667, + 1, + 1, + 1, + 1, + 1.122, + 1, + 1.244, + 1.9, + 1.367, + 1.9, + 1, + 1.433, + 1.9, + 1.5, + 1.913, + 1.567, + 1.471, + 1, + 1.644, + 0.956, + 1.722, + 0, + 1.8, + 0, + 1, + 2.2, + 0, + 2.6, + 0, + 3, + 0, + 1, + 3.067, + 0, + 3.133, + 0, + 3.2, + 0, + 1, + 3.267, + 0, + 3.333, + -0.041, + 3.4, + 0.2, + 1, + 3.478, + 0.481, + 3.556, + 1.6, + 3.633, + 1.6, + 1, + 3.833, + 1.6, + 4.033, + 1, + 4.233, + 1, + 1, + 4.489, + 1, + 4.744, + 1, + 5, + 1, + 0, + 5.033, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeLSmile", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.189, + 0, + 1.378, + 0.213, + 1.567, + 0.684, + 1, + 1.644, + 0.877, + 1.722, + 1, + 1.8, + 1, + 1, + 2.2, + 1, + 2.6, + 1, + 3, + 1, + 1, + 3.067, + 1, + 3.133, + 1, + 3.2, + 1, + 1, + 3.267, + 1, + 3.333, + 0, + 3.4, + 0, + 1, + 3.478, + 0, + 3.556, + 0, + 3.633, + 0, + 1, + 3.833, + 0, + 4.033, + 0, + 4.233, + 0, + 1, + 4.489, + 0, + 4.744, + 0, + 5, + 0, + 0, + 5.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeROpen", + "Segments": [ + 0, + 1, + 1, + 0.333, + 1, + 0.667, + 1, + 1, + 1, + 1, + 1.122, + 1, + 1.244, + 1.9, + 1.367, + 1.9, + 1, + 1.433, + 1.9, + 1.5, + 1.913, + 1.567, + 1.471, + 1, + 1.644, + 0.956, + 1.722, + 0, + 1.8, + 0, + 1, + 2.2, + 0, + 2.6, + 0, + 3, + 0, + 1, + 3.067, + 0, + 3.133, + 0, + 3.2, + 0, + 1, + 3.267, + 0, + 3.333, + -0.041, + 3.4, + 0.2, + 1, + 3.478, + 0.481, + 3.556, + 1.6, + 3.633, + 1.6, + 1, + 3.833, + 1.6, + 4.033, + 1, + 4.233, + 1, + 1, + 4.489, + 1, + 4.744, + 1, + 5, + 1, + 0, + 5.033, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeRSmile", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.189, + 0, + 1.378, + 0.213, + 1.567, + 0.684, + 1, + 1.644, + 0.877, + 1.722, + 1, + 1.8, + 1, + 1, + 2.2, + 1, + 2.6, + 1, + 3, + 1, + 1, + 3.067, + 1, + 3.133, + 1, + 3.2, + 1, + 1, + 3.267, + 1, + 3.333, + 0, + 3.4, + 0, + 1, + 3.478, + 0, + 3.556, + 0, + 3.633, + 0, + 1, + 3.833, + 0, + 4.033, + 0, + 4.233, + 0, + 1, + 4.489, + 0, + 4.744, + 0, + 5, + 0, + 0, + 5.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeForm", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.189, + 0, + 1.378, + 0.106, + 1.567, + 0.342, + 1, + 1.644, + 0.439, + 1.722, + 0.5, + 1.8, + 0.5, + 1, + 2.2, + 0.5, + 2.6, + 0.5, + 3, + 0.5, + 1, + 3.411, + 0.5, + 3.822, + 0, + 4.233, + 0, + 1, + 4.489, + 0, + 4.744, + 0, + 5, + 0, + 0, + 5.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallForm", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.189, + 0, + 1.378, + 0, + 1.567, + 0, + 1, + 1.644, + 0, + 1.722, + 0, + 1.8, + 0, + 1, + 2.2, + 0, + 2.6, + 0, + 3, + 0, + 1, + 3.411, + 0, + 3.822, + 0, + 4.233, + 0, + 1, + 4.489, + 0, + 4.744, + 0, + 5, + 0, + 0, + 5.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamTear", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.189, + 0, + 1.378, + 0, + 1.567, + 0, + 1, + 1.644, + 0, + 1.722, + 0, + 1.8, + 0, + 1, + 2.2, + 0, + 2.6, + 0, + 3, + 0, + 1, + 3.411, + 0, + 3.822, + 0, + 4.233, + 0, + 1, + 4.489, + 0, + 4.744, + 0, + 5, + 0, + 0, + 5.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallX", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.122, + 0, + 1.244, + 0.3, + 1.367, + 0.3, + 1, + 1.433, + 0.3, + 1.5, + 0.302, + 1.567, + 0.232, + 1, + 1.644, + 0.151, + 1.722, + 0, + 1.8, + 0, + 1, + 2.2, + 0, + 2.6, + 0, + 3, + 0, + 1, + 3.067, + 0, + 3.133, + -0.2, + 3.2, + -0.2, + 1, + 3.344, + -0.2, + 3.489, + 0.5, + 3.633, + 0.5, + 1, + 3.833, + 0.5, + 4.033, + 0, + 4.233, + 0, + 1, + 4.489, + 0, + 4.744, + 0, + 5, + 0, + 0, + 5.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallY", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.122, + 0, + 1.244, + 0.062, + 1.367, + 0.2, + 1, + 1.433, + 0.275, + 1.5, + 0.32, + 1.567, + 0.439, + 1, + 1.644, + 0.578, + 1.722, + 0.8, + 1.8, + 0.8, + 1, + 2.2, + 0.8, + 2.6, + 0.8, + 3, + 0.8, + 1, + 3.067, + 0.8, + 3.133, + -0.6, + 3.2, + -0.6, + 1, + 3.344, + -0.6, + 3.489, + 0, + 3.633, + 0, + 1, + 3.833, + 0, + 4.033, + 0, + 4.233, + 0, + 1, + 4.489, + 0, + 4.744, + 0, + 5, + 0, + 0, + 5.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLY", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.189, + 0, + 1.378, + 0.205, + 1.567, + 0.205, + 1, + 1.644, + 0.205, + 1.722, + -0.2, + 1.8, + -0.2, + 1, + 2.2, + -0.2, + 2.6, + -0.2, + 3, + -0.2, + 1, + 3.411, + -0.2, + 3.822, + 0, + 4.233, + 0, + 1, + 4.489, + 0, + 4.744, + 0, + 5, + 0, + 0, + 5.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRY", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.189, + 0, + 1.378, + 0.205, + 1.567, + 0.205, + 1, + 1.644, + 0.205, + 1.722, + -0.2, + 1.8, + -0.2, + 1, + 2.2, + -0.2, + 2.6, + -0.2, + 3, + -0.2, + 1, + 3.411, + -0.2, + 3.822, + 0, + 4.233, + 0, + 1, + 4.489, + 0, + 4.744, + 0, + 5, + 0, + 0, + 5.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLX", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.189, + 0, + 1.378, + 0.043, + 1.567, + 0.137, + 1, + 1.644, + 0.175, + 1.722, + 0.2, + 1.8, + 0.2, + 1, + 2.2, + 0.2, + 2.6, + 0.2, + 3, + 0.2, + 1, + 3.411, + 0.2, + 3.822, + 0, + 4.233, + 0, + 1, + 4.489, + 0, + 4.744, + 0, + 5, + 0, + 0, + 5.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRX", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.189, + 0, + 1.378, + 0.043, + 1.567, + 0.137, + 1, + 1.644, + 0.175, + 1.722, + 0.2, + 1.8, + 0.2, + 1, + 2.2, + 0.2, + 2.6, + 0.2, + 3, + 0.2, + 1, + 3.411, + 0.2, + 3.822, + 0, + 4.233, + 0, + 1, + 4.489, + 0, + 4.744, + 0, + 5, + 0, + 0, + 5.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLAngle", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.189, + 0, + 1.378, + 0.043, + 1.567, + 0.137, + 1, + 1.644, + 0.175, + 1.722, + 0.2, + 1.8, + 0.2, + 1, + 2.2, + 0.2, + 2.6, + 0.2, + 3, + 0.2, + 1, + 3.411, + 0.2, + 3.822, + 0, + 4.233, + 0, + 1, + 4.489, + 0, + 4.744, + 0, + 5, + 0, + 0, + 5.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRAngle", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.189, + 0, + 1.378, + 0.043, + 1.567, + 0.137, + 1, + 1.644, + 0.175, + 1.722, + 0.2, + 1.8, + 0.2, + 1, + 2.2, + 0.2, + 2.6, + 0.2, + 3, + 0.2, + 1, + 3.411, + 0.2, + 3.822, + 0, + 4.233, + 0, + 1, + 4.489, + 0, + 4.744, + 0, + 5, + 0, + 0, + 5.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLForm", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.189, + 0, + 1.378, + 0.043, + 1.567, + 0.137, + 1, + 1.644, + 0.175, + 1.722, + 0.2, + 1.8, + 0.2, + 1, + 2.2, + 0.2, + 2.6, + 0.2, + 3, + 0.2, + 1, + 3.411, + 0.2, + 3.822, + 0, + 4.233, + 0, + 1, + 4.489, + 0, + 4.744, + 0, + 5, + 0, + 0, + 5.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRForm", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.189, + 0, + 1.378, + 0.043, + 1.567, + 0.137, + 1, + 1.644, + 0.175, + 1.722, + 0.2, + 1.8, + 0.2, + 1, + 2.2, + 0.2, + 2.6, + 0.2, + 3, + 0.2, + 1, + 3.411, + 0.2, + 3.822, + 0, + 4.233, + 0, + 1, + 4.489, + 0, + 4.744, + 0, + 5, + 0, + 0, + 5.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamMouthForm", + "Segments": [ + 0, + 1, + 1, + 0.333, + 1, + 0.667, + 1, + 1, + 1, + 1, + 1.189, + 1, + 1.378, + 1, + 1.567, + 1, + 1, + 1.644, + 1, + 1.722, + 1, + 1.8, + 1, + 1, + 2.2, + 1, + 2.6, + 1, + 3, + 1, + 1, + 3.411, + 1, + 3.822, + 1, + 4.233, + 1, + 1, + 4.489, + 1, + 4.744, + 1, + 5, + 1, + 0, + 5.033, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamMouthOpenY", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.189, + 0, + 1.378, + 0, + 1.567, + 0, + 1, + 1.644, + 0, + 1.722, + 0, + 1.8, + 0, + 1, + 2.2, + 0, + 2.6, + 0, + 3, + 0, + 1, + 3.411, + 0, + 3.822, + 0, + 4.233, + 0, + 1, + 4.489, + 0, + 4.744, + 0, + 5, + 0, + 0, + 5.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamScarf", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.189, + 0, + 1.378, + 0, + 1.567, + 0, + 1, + 1.644, + 0, + 1.722, + 0, + 1.8, + 0, + 1, + 2.2, + 0, + 2.6, + 0, + 3, + 0, + 1, + 3.411, + 0, + 3.822, + 0, + 4.233, + 0, + 1, + 4.489, + 0, + 4.744, + 0, + 5, + 0, + 0, + 5.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleX", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.122, + 0, + 1.244, + 4, + 1.367, + 4, + 1, + 1.433, + 4, + 1.5, + 4.01, + 1.567, + 2.646, + 1, + 1.644, + 1.055, + 1.722, + -2, + 1.8, + -2, + 1, + 2.033, + -2, + 2.267, + -1, + 2.5, + -1, + 1, + 2.667, + -1, + 2.833, + -1, + 3, + -1, + 1, + 3.211, + -1, + 3.422, + -7, + 3.633, + -7, + 1, + 3.833, + -7, + 4.033, + 0, + 4.233, + 0, + 1, + 4.489, + 0, + 4.744, + 0, + 5, + 0, + 0, + 5.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleY", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.122, + 0, + 1.244, + 10, + 1.367, + 10, + 1, + 1.433, + 10, + 1.5, + 9.987, + 1.567, + 7.518, + 1, + 1.644, + 4.637, + 1.722, + -1, + 1.8, + -1, + 1, + 2.033, + -1, + 2.267, + 0, + 2.5, + 0, + 1, + 2.667, + 0, + 2.833, + 0, + 3, + 0, + 1, + 3.211, + 0, + 3.422, + 8, + 3.633, + 8, + 1, + 3.833, + 8, + 4.033, + 0, + 4.233, + 0, + 1, + 4.489, + 0, + 4.744, + 0, + 5, + 0, + 0, + 5.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleZ", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.122, + 0, + 1.244, + -8, + 1.367, + -8, + 1, + 1.433, + -8, + 1.5, + -8, + 1.567, + -6.195, + 1, + 1.644, + -4.088, + 1.722, + 0, + 1.8, + 0, + 1, + 2.033, + 0, + 2.267, + -1, + 2.5, + -1, + 1, + 2.667, + -1, + 2.833, + -1, + 3, + -1, + 1, + 3.211, + -1, + 3.422, + -5, + 3.633, + -5, + 1, + 3.833, + -5, + 4.033, + 0, + 4.233, + 0, + 1, + 4.489, + 0, + 4.744, + 0, + 5, + 0, + 0, + 5.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyUpper", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.122, + 0, + 1.244, + -5, + 1.367, + -5, + 1, + 1.433, + -5, + 1.5, + -4.991, + 1.567, + -2.743, + 1, + 1.644, + -0.121, + 1.722, + 5, + 1.8, + 5, + 1, + 2.033, + 5, + 2.267, + 4, + 2.5, + 4, + 1, + 2.667, + 4, + 2.833, + 4, + 3, + 4, + 1, + 3.211, + 4, + 3.422, + -5, + 3.633, + -5, + 1, + 3.833, + -5, + 4.033, + 0, + 4.233, + 0, + 1, + 4.489, + 0, + 4.744, + 0, + 5, + 0, + 0, + 5.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBreath", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.189, + 0, + 1.378, + 0, + 1.567, + 0, + 1, + 1.644, + 0, + 1.722, + 0, + 1.8, + 0, + 1, + 2.2, + 0, + 2.6, + 0, + 3, + 0, + 1, + 3.411, + 0, + 3.822, + 0, + 4.233, + 0, + 1, + 4.489, + 0, + 4.744, + 0, + 5, + 0, + 0, + 5.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBustY", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.189, + 0, + 1.378, + 0, + 1.567, + 0, + 1, + 1.644, + 0, + 1.722, + 0, + 1.8, + 0, + 1, + 2.2, + 0, + 2.6, + 0, + 3, + 0, + 1, + 3.411, + 0, + 3.822, + 0, + 4.233, + 0, + 1, + 4.489, + 0, + 4.744, + 0, + 5, + 0, + 0, + 5.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmLA", + "Segments": [ + 0, + 1, + 1, + 0.333, + 1, + 0.667, + 1, + 1, + 1, + 1, + 1.122, + 1, + 1.244, + 0.725, + 1.367, + 0.3, + 1, + 1.433, + 0.068, + 1.5, + -0.024, + 1.567, + -0.297, + 1, + 1.644, + -0.616, + 1.722, + -1, + 1.8, + -1, + 1, + 2.033, + -1, + 2.267, + -0.9, + 2.5, + -0.9, + 1, + 2.667, + -0.9, + 2.833, + -0.9, + 3, + -0.9, + 1, + 3.211, + -0.9, + 3.422, + -0.173, + 3.633, + 0.4, + 1, + 3.833, + 0.943, + 4.033, + 1, + 4.233, + 1, + 1, + 4.489, + 1, + 4.744, + 1, + 5, + 1, + 0, + 5.033, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmRA", + "Segments": [ + 0, + 1, + 1, + 0.333, + 1, + 0.667, + 1, + 1, + 1, + 1, + 1.122, + 1, + 1.244, + 0.725, + 1.367, + 0.3, + 1, + 1.433, + 0.068, + 1.5, + -0.024, + 1.567, + -0.297, + 1, + 1.644, + -0.616, + 1.722, + -1, + 1.8, + -1, + 1, + 2.033, + -1, + 2.267, + -0.9, + 2.5, + -0.9, + 1, + 2.667, + -0.9, + 2.833, + -0.9, + 3, + -0.9, + 1, + 3.211, + -0.9, + 3.422, + -0.173, + 3.633, + 0.4, + 1, + 3.833, + 0.943, + 4.033, + 1, + 4.233, + 1, + 1, + 4.489, + 1, + 4.744, + 1, + 5, + 1, + 0, + 5.033, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmLB", + "Segments": [ + 0, + 5, + 1, + 0.333, + 5, + 0.667, + 5, + 1, + 5, + 1, + 1.189, + 5, + 1.378, + 5, + 1.567, + 5, + 1, + 1.644, + 5, + 1.722, + 5, + 1.8, + 5, + 1, + 2.2, + 5, + 2.6, + 5, + 3, + 5, + 1, + 3.411, + 5, + 3.822, + 5, + 4.233, + 5, + 1, + 4.489, + 5, + 4.744, + 5, + 5, + 5, + 0, + 5.033, + 5 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmRB", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.189, + 0, + 1.378, + 0, + 1.567, + 0, + 1, + 1.644, + 0, + 1.722, + 0, + 1.8, + 0, + 1, + 2.2, + 0, + 2.6, + 0, + 3, + 0, + 1, + 3.411, + 0, + 3.822, + 0, + 4.233, + 0, + 1, + 4.489, + 0, + 4.744, + 0, + 5, + 0, + 0, + 5.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandChangeR", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.189, + 0, + 1.378, + 0, + 1.567, + 0, + 1, + 1.644, + 0, + 1.722, + 0, + 1.8, + 0, + 1, + 2.2, + 0, + 2.6, + 0, + 3, + 0, + 1, + 3.411, + 0, + 3.822, + 0, + 4.233, + 0, + 1, + 4.489, + 0, + 4.744, + 0, + 5, + 0, + 0, + 5.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandAngleR", + "Segments": [ + 0, + -0.1, + 1, + 0.333, + -0.1, + 0.667, + -0.1, + 1, + -0.1, + 1, + 1.122, + -0.1, + 1.244, + -0.7, + 1.367, + -0.7, + 1, + 1.433, + -0.7, + 1.5, + -0.705, + 1.567, + -0.542, + 1, + 1.644, + -0.352, + 1.722, + 0, + 1.8, + 0, + 1, + 2.2, + 0, + 2.6, + 0, + 3, + 0, + 1, + 3.411, + 0, + 3.822, + -0.1, + 4.233, + -0.1, + 1, + 4.489, + -0.1, + 4.744, + -0.1, + 5, + -0.1, + 0, + 5.033, + -0.1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandDhangeL", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.189, + 0, + 1.378, + 0, + 1.567, + 0, + 1, + 1.644, + 0, + 1.722, + 0, + 1.8, + 0, + 1, + 2.2, + 0, + 2.6, + 0, + 3, + 0, + 1, + 3.411, + 0, + 3.822, + 0, + 4.233, + 0, + 1, + 4.489, + 0, + 4.744, + 0, + 5, + 0, + 0, + 5.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandAngleL", + "Segments": [ + 0, + 0.1, + 1, + 0.333, + 0.1, + 0.667, + 0.1, + 1, + 0.1, + 1, + 1.122, + 0.1, + 1.244, + 0.7, + 1.367, + 0.7, + 1, + 1.433, + 0.7, + 1.5, + 0.705, + 1.567, + 0.542, + 1, + 1.644, + 0.352, + 1.722, + 0, + 1.8, + 0, + 1, + 2.2, + 0, + 2.6, + 0, + 3, + 0, + 1, + 3.411, + 0, + 3.822, + 0.1, + 4.233, + 0.1, + 1, + 4.489, + 0.1, + 4.744, + 0.1, + 5, + 0.1, + 0, + 5.033, + 0.1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHairFront", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.189, + 0, + 1.378, + 0, + 1.567, + 0, + 1, + 1.644, + 0, + 1.722, + 0, + 1.8, + 0, + 1, + 2.2, + 0, + 2.6, + 0, + 3, + 0, + 1, + 3.411, + 0, + 3.822, + 0, + 4.233, + 0, + 1, + 4.489, + 0, + 4.744, + 0, + 5, + 0, + 0, + 5.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHairSide", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.189, + 0, + 1.378, + 0, + 1.567, + 0, + 1, + 1.644, + 0, + 1.722, + 0, + 1.8, + 0, + 1, + 2.2, + 0, + 2.6, + 0, + 3, + 0, + 1, + 3.411, + 0, + 3.822, + 0, + 4.233, + 0, + 1, + 4.489, + 0, + 4.744, + 0, + 5, + 0, + 0, + 5.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHairBack", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.189, + 0, + 1.378, + 0, + 1.567, + 0, + 1, + 1.644, + 0, + 1.722, + 0, + 1.8, + 0, + 1, + 2.2, + 0, + 2.6, + 0, + 3, + 0, + 1, + 3.411, + 0, + 3.822, + 0, + 4.233, + 0, + 1, + 4.489, + 0, + 4.744, + 0, + 5, + 0, + 0, + 5.033, + 0 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Core", + "Segments": [ + 0, + 1, + 2, + 4.23, + 1, + 2, + 5, + 1, + 0, + 5.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Hoho001", + "Segments": [ + 0, + 1, + 2, + 4.23, + 1, + 2, + 5, + 1, + 0, + 5.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Brow001", + "Segments": [ + 0, + 1, + 2, + 4.23, + 1, + 2, + 5, + 1, + 0, + 5.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Tear", + "Segments": [ + 0, + 1, + 2, + 4.23, + 1, + 2, + 5, + 1, + 0, + 5.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01EyeBall001", + "Segments": [ + 0, + 1, + 2, + 4.23, + 1, + 2, + 5, + 1, + 0, + 5.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Eye001", + "Segments": [ + 0, + 1, + 2, + 4.23, + 1, + 2, + 5, + 1, + 0, + 5.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Nose001", + "Segments": [ + 0, + 1, + 2, + 4.23, + 1, + 2, + 5, + 1, + 0, + 5.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Mouth001", + "Segments": [ + 0, + 1, + 2, + 4.23, + 1, + 2, + 5, + 1, + 0, + 5.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Face001", + "Segments": [ + 0, + 1, + 2, + 4.23, + 1, + 2, + 5, + 1, + 0, + 5.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Ear001", + "Segments": [ + 0, + 1, + 2, + 4.23, + 1, + 2, + 5, + 1, + 0, + 5.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Neck001", + "Segments": [ + 0, + 1, + 2, + 4.23, + 1, + 2, + 5, + 1, + 0, + 5.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01HairFront001", + "Segments": [ + 0, + 1, + 2, + 4.23, + 1, + 2, + 5, + 1, + 0, + 5.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01HairSide001", + "Segments": [ + 0, + 1, + 2, + 4.23, + 1, + 2, + 5, + 1, + 0, + 5.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01HairBack001", + "Segments": [ + 0, + 1, + 2, + 4.23, + 1, + 2, + 5, + 1, + 0, + 5.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01ArmRB001", + "Segments": [ + 0, + 0, + 2, + 4.23, + 0, + 2, + 5, + 0, + 0, + 5.03, + 0 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01ArmLB001", + "Segments": [ + 0, + 0, + 2, + 4.23, + 0, + 2, + 5, + 0, + 0, + 5.03, + 0 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01ArmRA001", + "Segments": [ + 0, + 1, + 2, + 4.23, + 1, + 2, + 5, + 1, + 0, + 5.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01ArmLA001", + "Segments": [ + 0, + 1, + 2, + 4.23, + 1, + 2, + 5, + 1, + 0, + 5.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Body001", + "Segments": [ + 0, + 1, + 2, + 4.23, + 1, + 2, + 5, + 1, + 0, + 5.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Sketch", + "Segments": [ + 0, + 0, + 2, + 4.23, + 0, + 2, + 5, + 0, + 0, + 5.03, + 0 + ] + } + ] +} \ No newline at end of file diff --git a/staticfiles/haru_greeter_pro_jp/runtime/motion/haru_g_m23.motion3.json b/staticfiles/haru_greeter_pro_jp/runtime/motion/haru_g_m23.motion3.json new file mode 100644 index 0000000000000000000000000000000000000000..a2e5001e5dd21d61c1d3c629a8c9d08112b59dae --- /dev/null +++ b/staticfiles/haru_greeter_pro_jp/runtime/motion/haru_g_m23.motion3.json @@ -0,0 +1,1721 @@ +{ + "Version": 3, + "Meta": { + "Duration": 4, + "Fps": 30.0, + "Loop": true, + "AreBeziersRestricted": true, + "CurveCount": 63, + "TotalSegmentCount": 219, + "TotalPointCount": 554, + "UserDataCount": 0, + "TotalUserDataSize": 0 + }, + "Curves": [ + { + "Target": "Model", + "Id": "Opacity", + "Segments": [ + 0, + 1, + 1, + 1.32, + 1, + 2.64, + 1, + 3.97, + 1, + 0, + 4, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleX", + "Segments": [ + 0, + 9, + 1, + 0.333, + 9, + 0.667, + 9, + 1, + 9, + 1, + 1.156, + 9, + 1.311, + -3, + 1.467, + -3, + 1, + 1.722, + -3, + 1.978, + -2.724, + 2.233, + -2, + 1, + 2.444, + -1.402, + 2.656, + -1, + 2.867, + -1, + 0, + 4, + -1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleY", + "Segments": [ + 0, + -6, + 1, + 0.289, + -6, + 0.578, + -6, + 0.867, + -6, + 1, + 0.944, + -6, + 1.022, + -8, + 1.1, + -8, + 1, + 1.256, + -8, + 1.411, + -1.51, + 1.567, + 5, + 1, + 1.656, + 8.72, + 1.744, + 9, + 1.833, + 9, + 1, + 2, + 9, + 2.167, + -7, + 2.333, + -7, + 1, + 2.544, + -7, + 2.756, + -6, + 2.967, + -6, + 0, + 4, + -6 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleZ", + "Segments": [ + 0, + -16, + 1, + 0.333, + -16, + 0.667, + -16, + 1, + -16, + 1, + 1.156, + -16, + 1.311, + -26, + 1.467, + -26, + 1, + 1.722, + -26, + 1.978, + 27, + 2.233, + 27, + 1, + 2.444, + 27, + 2.656, + 24, + 2.867, + 24, + 0, + 4, + 24 + ] + }, + { + "Target": "Parameter", + "Id": "ParamTere", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.156, + 0, + 1.311, + 0, + 1.467, + 0, + 1, + 1.667, + 0, + 1.867, + 0, + 2.067, + 0, + 0, + 4, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamFaceForm", + "Segments": [ + 0, + 0, + 0, + 4, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeLOpen", + "Segments": [ + 0, + 1, + 1, + 0.333, + 1, + 0.667, + 1, + 1, + 1, + 1, + 1.156, + 1, + 1.311, + 1.898, + 1.467, + 1.898, + 1, + 1.667, + 1.898, + 1.867, + 1, + 2.067, + 1, + 0, + 4, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeLSmile", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.156, + 0, + 1.311, + 0, + 1.467, + 0, + 1, + 1.667, + 0, + 1.867, + 0, + 2.067, + 0, + 0, + 4, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeROpen", + "Segments": [ + 0, + 1, + 1, + 0.333, + 1, + 0.667, + 1, + 1, + 1, + 1, + 1.156, + 1, + 1.311, + 1.898, + 1.467, + 1.898, + 1, + 1.667, + 1.898, + 1.867, + 1, + 2.067, + 1, + 0, + 4, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeRSmile", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.156, + 0, + 1.311, + 0, + 1.467, + 0, + 1, + 1.667, + 0, + 1.867, + 0, + 2.067, + 0, + 0, + 4, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeForm", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.156, + 0, + 1.311, + 0, + 1.467, + 0, + 1, + 1.667, + 0, + 1.867, + 0.1, + 2.067, + 0.1, + 0, + 4, + 0.1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallForm", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.156, + 0, + 1.311, + 0, + 1.467, + 0, + 1, + 1.667, + 0, + 1.867, + 0, + 2.067, + 0, + 0, + 4, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamTear", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.156, + 0, + 1.311, + 0, + 1.467, + 0, + 1, + 1.667, + 0, + 1.867, + 0, + 2.067, + 0, + 0, + 4, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallX", + "Segments": [ + 0, + -0.3, + 1, + 0.333, + -0.3, + 0.667, + -0.3, + 1, + -0.3, + 1, + 1.156, + -0.3, + 1.311, + 0.2, + 1.467, + 0.2, + 1, + 1.667, + 0.2, + 1.867, + 0.1, + 2.067, + 0.1, + 0, + 4, + 0.1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallY", + "Segments": [ + 0, + 0.5, + 1, + 0.333, + 0.5, + 0.667, + 0.5, + 1, + 0.5, + 1, + 1.156, + 0.5, + 1.311, + 0.2, + 1.467, + 0.2, + 1, + 1.667, + 0.2, + 1.867, + 0.3, + 2.067, + 0.3, + 0, + 4, + 0.3 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLY", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.156, + 0, + 1.311, + 0.399, + 1.467, + 0.399, + 1, + 1.667, + 0.399, + 1.867, + 0.2, + 2.067, + 0.2, + 0, + 4, + 0.2 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRY", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.156, + 0, + 1.311, + 0.399, + 1.467, + 0.399, + 1, + 1.667, + 0.399, + 1.867, + 0.2, + 2.067, + 0.2, + 0, + 4, + 0.2 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLX", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.156, + 0, + 1.311, + 0.699, + 1.467, + 0.699, + 1, + 1.667, + 0.699, + 1.867, + 0.5, + 2.067, + 0.5, + 0, + 4, + 0.5 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRX", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.156, + 0, + 1.311, + 0.699, + 1.467, + 0.699, + 1, + 1.667, + 0.699, + 1.867, + 0.5, + 2.067, + 0.5, + 0, + 4, + 0.5 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLAngle", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.156, + 0, + 1.311, + 0.698, + 1.467, + 0.698, + 1, + 1.667, + 0.698, + 1.867, + 0.4, + 2.067, + 0.4, + 0, + 4, + 0.4 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRAngle", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.156, + 0, + 1.311, + 0.698, + 1.467, + 0.698, + 1, + 1.667, + 0.698, + 1.867, + 0.4, + 2.067, + 0.4, + 0, + 4, + 0.4 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLForm", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.156, + 0, + 1.311, + 0.599, + 1.467, + 0.599, + 1, + 1.667, + 0.599, + 1.867, + 0.4, + 2.067, + 0.4, + 0, + 4, + 0.4 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRForm", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.156, + 0, + 1.311, + 0.599, + 1.467, + 0.599, + 1, + 1.667, + 0.599, + 1.867, + 0.4, + 2.067, + 0.4, + 0, + 4, + 0.4 + ] + }, + { + "Target": "Parameter", + "Id": "ParamMouthForm", + "Segments": [ + 0, + 1, + 1, + 0.333, + 1, + 0.667, + 1, + 1, + 1, + 1, + 1.156, + 1, + 1.311, + 0.603, + 1.467, + 0.603, + 1, + 1.667, + 0.603, + 1.867, + 1, + 2.067, + 1, + 0, + 4, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamMouthOpenY", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.156, + 0, + 1.311, + 0.1, + 1.467, + 0.1, + 1, + 1.667, + 0.1, + 1.867, + 0, + 2.067, + 0, + 0, + 4, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamScarf", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.156, + 0, + 1.311, + 0, + 1.467, + 0, + 1, + 1.667, + 0, + 1.867, + 0, + 2.067, + 0, + 0, + 4, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleX", + "Segments": [ + 0, + 9, + 1, + 0.333, + 9, + 0.667, + 9, + 1, + 9, + 1, + 1.156, + 9, + 1.311, + 7.216, + 1.467, + 2.03, + 1, + 1.667, + -4.639, + 1.867, + -9, + 2.067, + -9, + 0, + 4, + -9 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleY", + "Segments": [ + 0, + 0, + 1, + 0.344, + 0, + 0.689, + 0, + 1.033, + 0, + 1, + 1.189, + 0, + 1.344, + 6, + 1.5, + 6, + 1, + 1.7, + 6, + 1.9, + -1, + 2.1, + -1, + 1, + 2.456, + -1, + 2.811, + 0, + 3.167, + 0, + 0, + 4, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleZ", + "Segments": [ + 0, + 0, + 1, + 0.289, + 0, + 0.578, + 0, + 0.867, + 0, + 1, + 1.022, + 0, + 1.178, + -4.928, + 1.333, + -4.928, + 1, + 1.533, + -4.928, + 1.733, + 5, + 1.933, + 5, + 1, + 2.289, + 5, + 2.644, + 4, + 3, + 4, + 0, + 4, + 4 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyUpper", + "Segments": [ + 0, + 0, + 1, + 0.367, + 0, + 0.733, + 0, + 1.1, + 0, + 1, + 1.256, + 0, + 1.411, + -3.95, + 1.567, + -3.95, + 1, + 1.767, + -3.95, + 1.967, + 3, + 2.167, + 3, + 1, + 2.522, + 3, + 2.878, + 2, + 3.233, + 2, + 0, + 4, + 2 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBreath", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.156, + 0, + 1.311, + 0, + 1.467, + 0, + 1, + 1.667, + 0, + 1.867, + 0, + 2.067, + 0, + 0, + 4, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBustY", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.156, + 0, + 1.311, + 0, + 1.467, + 0, + 1, + 1.667, + 0, + 1.867, + 0, + 2.067, + 0, + 0, + 4, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmLA", + "Segments": [ + 0, + 1, + 1, + 0.333, + 1, + 0.667, + 1, + 1, + 1, + 1, + 1.156, + 1, + 1.311, + 0.5, + 1.467, + 0.5, + 1, + 1.667, + 0.5, + 1.867, + 1, + 2.067, + 1, + 0, + 4, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmRA", + "Segments": [ + 0, + 1, + 1, + 0.333, + 1, + 0.667, + 1, + 1, + 1, + 1, + 1.156, + 1, + 1.311, + 0.5, + 1.467, + 0.5, + 1, + 1.667, + 0.5, + 1.867, + 1, + 2.067, + 1, + 0, + 4, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmLB", + "Segments": [ + 0, + 5, + 1, + 0.333, + 5, + 0.667, + 5, + 1, + 5, + 1, + 1.156, + 5, + 1.311, + 5, + 1.467, + 5, + 1, + 1.667, + 5, + 1.867, + 5, + 2.067, + 5, + 0, + 4, + 5 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmRB", + "Segments": [ + 0, + 5, + 1, + 0.333, + 5, + 0.667, + 5, + 1, + 5, + 1, + 1.156, + 5, + 1.311, + 5, + 1.467, + 5, + 1, + 1.667, + 5, + 1.867, + 5, + 2.067, + 5, + 0, + 4, + 5 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandChangeR", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.156, + 0, + 1.311, + 0, + 1.467, + 0, + 1, + 1.667, + 0, + 1.867, + 0, + 2.067, + 0, + 0, + 4, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandAngleR", + "Segments": [ + 0, + -0.2, + 1, + 0.333, + -0.2, + 0.667, + -0.2, + 1, + -0.2, + 1, + 1.078, + -0.2, + 1.156, + 0.7, + 1.233, + 0.7, + 1, + 1.311, + 0.7, + 1.389, + 0.508, + 1.467, + 0.069, + 1, + 1.578, + -0.557, + 1.689, + -0.9, + 1.8, + -0.9, + 1, + 1.889, + -0.9, + 1.978, + -0.1, + 2.067, + -0.1, + 0, + 4, + -0.1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandDhangeL", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.156, + 0, + 1.311, + 0, + 1.467, + 0, + 1, + 1.667, + 0, + 1.867, + 0, + 2.067, + 0, + 0, + 4, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandAngleL", + "Segments": [ + 0, + 0.3, + 1, + 0.333, + 0.3, + 0.667, + 0.3, + 1, + 0.3, + 1, + 1.078, + 0.3, + 1.156, + -1, + 1.233, + -1, + 1, + 1.311, + -1, + 1.389, + -0.785, + 1.467, + -0.239, + 1, + 1.578, + 0.542, + 1.689, + 1, + 1.8, + 1, + 1, + 1.889, + 1, + 1.978, + 0.1, + 2.067, + 0.1, + 0, + 4, + 0.1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHairFront", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.156, + 0, + 1.311, + 0, + 1.467, + 0, + 1, + 1.667, + 0, + 1.867, + 0, + 2.067, + 0, + 0, + 4, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHairSide", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.156, + 0, + 1.311, + 0, + 1.467, + 0, + 1, + 1.667, + 0, + 1.867, + 0, + 2.067, + 0, + 0, + 4, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHairBack", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.156, + 0, + 1.311, + 0, + 1.467, + 0, + 1, + 1.667, + 0, + 1.867, + 0, + 2.067, + 0, + 0, + 4, + 0 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Core", + "Segments": [ + 0, + 1, + 2, + 3.97, + 1, + 0, + 4, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Hoho001", + "Segments": [ + 0, + 1, + 2, + 3.97, + 1, + 0, + 4, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Brow001", + "Segments": [ + 0, + 1, + 2, + 3.97, + 1, + 0, + 4, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Tear", + "Segments": [ + 0, + 1, + 2, + 3.97, + 1, + 0, + 4, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01EyeBall001", + "Segments": [ + 0, + 1, + 2, + 3.97, + 1, + 0, + 4, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Eye001", + "Segments": [ + 0, + 1, + 2, + 3.97, + 1, + 0, + 4, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Nose001", + "Segments": [ + 0, + 1, + 2, + 3.97, + 1, + 0, + 4, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Mouth001", + "Segments": [ + 0, + 1, + 2, + 3.97, + 1, + 0, + 4, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Face001", + "Segments": [ + 0, + 1, + 2, + 3.97, + 1, + 0, + 4, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Ear001", + "Segments": [ + 0, + 1, + 2, + 3.97, + 1, + 0, + 4, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Neck001", + "Segments": [ + 0, + 1, + 2, + 3.97, + 1, + 0, + 4, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01HairFront001", + "Segments": [ + 0, + 1, + 2, + 3.97, + 1, + 0, + 4, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01HairSide001", + "Segments": [ + 0, + 1, + 2, + 3.97, + 1, + 0, + 4, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01HairBack001", + "Segments": [ + 0, + 1, + 2, + 3.97, + 1, + 0, + 4, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01ArmRB001", + "Segments": [ + 0, + 0, + 2, + 3.97, + 0, + 0, + 4, + 0 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01ArmLB001", + "Segments": [ + 0, + 0, + 2, + 3.97, + 0, + 0, + 4, + 0 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01ArmRA001", + "Segments": [ + 0, + 1, + 2, + 3.97, + 1, + 0, + 4, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01ArmLA001", + "Segments": [ + 0, + 1, + 2, + 3.97, + 1, + 0, + 4, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Body001", + "Segments": [ + 0, + 1, + 2, + 3.97, + 1, + 0, + 4, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Sketch", + "Segments": [ + 0, + 0, + 2, + 3.97, + 0, + 0, + 4, + 0 + ] + } + ] +} \ No newline at end of file diff --git a/staticfiles/haru_greeter_pro_jp/runtime/motion/haru_g_m24.motion3.json b/staticfiles/haru_greeter_pro_jp/runtime/motion/haru_g_m24.motion3.json new file mode 100644 index 0000000000000000000000000000000000000000..0be005d8cb8b70008c855f5fa19d72fcb03b1fd4 --- /dev/null +++ b/staticfiles/haru_greeter_pro_jp/runtime/motion/haru_g_m24.motion3.json @@ -0,0 +1,1854 @@ +{ + "Version": 3, + "Meta": { + "Duration": 3.4, + "Fps": 30.0, + "Loop": true, + "AreBeziersRestricted": true, + "CurveCount": 63, + "TotalSegmentCount": 238, + "TotalPointCount": 611, + "UserDataCount": 0, + "TotalUserDataSize": 0 + }, + "Curves": [ + { + "Target": "Model", + "Id": "Opacity", + "Segments": [ + 0, + 1, + 1, + 1.12, + 1, + 2.24, + 1, + 3.37, + 1, + 0, + 3.4, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleX", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.1, + 0, + 1.2, + 3, + 1.3, + 3, + 1, + 1.422, + 3, + 1.544, + 3.072, + 1.667, + 1.363, + 1, + 1.756, + 0.121, + 1.844, + -30, + 1.933, + -30, + 1, + 2.078, + -30, + 2.222, + -28, + 2.367, + -28, + 0, + 3.4, + -28 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleY", + "Segments": [ + 0, + 0, + 1, + 0.311, + 0, + 0.622, + 0, + 0.933, + 0, + 1, + 0.978, + 0, + 1.022, + -1, + 1.067, + -1, + 1, + 1.178, + -1, + 1.289, + 23, + 1.4, + 23, + 1, + 1.522, + 23, + 1.644, + 23.023, + 1.767, + 19.188, + 1, + 1.856, + 16.4, + 1.944, + -30, + 2.033, + -30, + 1, + 2.178, + -30, + 2.322, + -28, + 2.467, + -28, + 0, + 3.4, + -28 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleZ", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.222, + 0, + 1.444, + -1.536, + 1.667, + -7.828, + 1, + 1.756, + -10.345, + 1.844, + -17, + 1.933, + -17, + 1, + 2.078, + -17, + 2.222, + -16, + 2.367, + -16, + 0, + 3.4, + -16 + ] + }, + { + "Target": "Parameter", + "Id": "ParamTere", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.222, + 0, + 1.444, + 0.051, + 1.667, + 0.255, + 1, + 1.756, + 0.337, + 1.844, + 0.5, + 1.933, + 0.5, + 0, + 3.4, + 0.5 + ] + }, + { + "Target": "Parameter", + "Id": "ParamFaceForm", + "Segments": [ + 0, + 0, + 0, + 3.4, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeLOpen", + "Segments": [ + 0, + 1, + 1, + 0.333, + 1, + 0.667, + 1, + 1, + 1, + 1, + 1.1, + 1, + 1.2, + 1.9, + 1.3, + 1.9, + 1, + 1.422, + 1.9, + 1.544, + 1.908, + 1.667, + 1.828, + 1, + 1.756, + 1.77, + 1.844, + 0.8, + 1.933, + 0.8, + 0, + 3.4, + 0.8 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeLSmile", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.222, + 0, + 1.444, + 0, + 1.667, + 0, + 1, + 1.756, + 0, + 1.844, + 0, + 1.933, + 0, + 0, + 3.4, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeROpen", + "Segments": [ + 0, + 1, + 1, + 0.333, + 1, + 0.667, + 1, + 1, + 1, + 1, + 1.1, + 1, + 1.2, + 1.9, + 1.3, + 1.9, + 1, + 1.422, + 1.9, + 1.544, + 1.908, + 1.667, + 1.828, + 1, + 1.756, + 1.77, + 1.844, + 0.8, + 1.933, + 0.8, + 0, + 3.4, + 0.8 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeRSmile", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.222, + 0, + 1.444, + 0, + 1.667, + 0, + 1, + 1.756, + 0, + 1.844, + 0, + 1.933, + 0, + 0, + 3.4, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeForm", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.222, + 0, + 1.444, + 0, + 1.667, + 0, + 1, + 1.756, + 0, + 1.844, + 0, + 1.933, + 0, + 0, + 3.4, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallForm", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.222, + 0, + 1.444, + 0, + 1.667, + 0, + 1, + 1.756, + 0, + 1.844, + 0, + 1.933, + 0, + 0, + 3.4, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamTear", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.222, + 0, + 1.444, + 0, + 1.667, + 0, + 1, + 1.756, + 0, + 1.844, + 0, + 1.933, + 0, + 0, + 3.4, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallX", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.1, + 0, + 1.2, + -0.1, + 1.3, + -0.1, + 1, + 1.422, + -0.1, + 1.544, + -0.051, + 1.667, + -0.051, + 1, + 1.756, + -0.051, + 1.844, + -1, + 1.933, + -1, + 0, + 3.4, + -1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallY", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.1, + 0, + 1.2, + 0, + 1.3, + 0, + 1, + 1.422, + 0, + 1.544, + 0.009, + 1.667, + 0.074, + 1, + 1.756, + 0.121, + 1.844, + 0.2, + 1.933, + 0.2, + 0, + 3.4, + 0.2 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLY", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.1, + 0, + 1.2, + 0.3, + 1.3, + 0.3, + 1, + 1.422, + 0.3, + 1.544, + 0.308, + 1.667, + 0.228, + 1, + 1.756, + 0.17, + 1.844, + -0.7, + 1.933, + -0.7, + 0, + 3.4, + -0.7 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRY", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.1, + 0, + 1.2, + 0.3, + 1.3, + 0.3, + 1, + 1.422, + 0.3, + 1.544, + 0.308, + 1.667, + 0.228, + 1, + 1.756, + 0.17, + 1.844, + -0.7, + 1.933, + -0.7, + 0, + 3.4, + -0.7 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLX", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.1, + 0, + 1.2, + 0.3, + 1.3, + 0.3, + 1, + 1.422, + 0.3, + 1.544, + 0.309, + 1.667, + 0.21, + 1, + 1.756, + 0.138, + 1.844, + -0.8, + 1.933, + -0.8, + 0, + 3.4, + -0.8 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRX", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.1, + 0, + 1.2, + 0.3, + 1.3, + 0.3, + 1, + 1.422, + 0.3, + 1.544, + 0.309, + 1.667, + 0.21, + 1, + 1.756, + 0.138, + 1.844, + -0.8, + 1.933, + -0.8, + 0, + 3.4, + -0.8 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLAngle", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.1, + 0, + 1.2, + 0.3, + 1.3, + 0.3, + 1, + 1.422, + 0.3, + 1.544, + 0.309, + 1.667, + 0.2, + 1, + 1.756, + 0.121, + 1.844, + -0.8, + 1.933, + -0.8, + 0, + 3.4, + -0.8 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRAngle", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.1, + 0, + 1.2, + 0.3, + 1.3, + 0.3, + 1, + 1.422, + 0.3, + 1.544, + 0.309, + 1.667, + 0.2, + 1, + 1.756, + 0.121, + 1.844, + -0.8, + 1.933, + -0.8, + 0, + 3.4, + -0.8 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLForm", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.1, + 0, + 1.2, + 0.2, + 1.3, + 0.2, + 1, + 1.422, + 0.2, + 1.544, + 0.14, + 1.667, + -0.2, + 1, + 1.756, + -0.448, + 1.844, + -0.8, + 1.933, + -0.8, + 0, + 3.4, + -0.8 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRForm", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.1, + 0, + 1.2, + 0.2, + 1.3, + 0.2, + 1, + 1.422, + 0.2, + 1.544, + 0.14, + 1.667, + -0.2, + 1, + 1.756, + -0.448, + 1.844, + -0.8, + 1.933, + -0.8, + 0, + 3.4, + -0.8 + ] + }, + { + "Target": "Parameter", + "Id": "ParamMouthForm", + "Segments": [ + 0, + 1, + 1, + 0.333, + 1, + 0.667, + 1, + 1, + 1, + 1, + 1.1, + 1, + 1.2, + 0.268, + 1.3, + 0.1, + 1, + 1.422, + -0.105, + 1.544, + -0.093, + 1.667, + -0.288, + 1, + 1.756, + -0.43, + 1.844, + -1, + 1.933, + -1, + 0, + 3.4, + -1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamMouthOpenY", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.1, + 0, + 1.2, + 0.1, + 1.3, + 0.1, + 1, + 1.422, + 0.1, + 1.544, + 0.101, + 1.667, + 0.092, + 1, + 1.756, + 0.085, + 1.844, + 0, + 1.933, + 0, + 0, + 3.4, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamScarf", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.222, + 0, + 1.444, + 0, + 1.667, + 0, + 1, + 1.756, + 0, + 1.844, + 0, + 1.933, + 0, + 0, + 3.4, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleX", + "Segments": [ + 0, + 0, + 1, + 0.3, + 0, + 0.6, + 0, + 0.9, + 0, + 1, + 1, + 0, + 1.1, + 6, + 1.2, + 6, + 1, + 1.322, + 6, + 1.444, + 6.063, + 1.567, + 5.062, + 1, + 1.656, + 4.334, + 1.744, + -9, + 1.833, + -9, + 1, + 1.978, + -9, + 2.122, + -8, + 2.267, + -8, + 0, + 3.4, + -8 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleY", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.1, + 0, + 1.2, + 6, + 1.3, + 6, + 1, + 1.422, + 6, + 1.544, + 6.057, + 1.667, + 5.249, + 1, + 1.756, + 4.662, + 1.844, + -6, + 1.933, + -6, + 1, + 2.078, + -6, + 2.222, + -5, + 2.367, + -5, + 0, + 3.4, + -5 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleZ", + "Segments": [ + 0, + 0, + 1, + 0.367, + 0, + 0.733, + 0, + 1.1, + 0, + 1, + 1.2, + 0, + 1.3, + 6, + 1.4, + 6, + 1, + 1.522, + 6, + 1.644, + 6.052, + 1.767, + 5.374, + 1, + 1.856, + 4.882, + 1.944, + -4, + 2.033, + -4, + 1, + 2.178, + -4, + 2.322, + -3, + 2.467, + -3, + 0, + 3.4, + -3 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyUpper", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.222, + 0, + 1.444, + -0.511, + 1.667, + -2.763, + 1, + 1.756, + -3.664, + 1.844, + -6, + 1.933, + -6, + 1, + 2.078, + -6, + 2.222, + -5, + 2.367, + -5, + 0, + 3.4, + -5 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBreath", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.222, + 0, + 1.444, + 0, + 1.667, + 0, + 1, + 1.756, + 0, + 1.844, + 0, + 1.933, + 0, + 0, + 3.4, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBustY", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.222, + 0, + 1.444, + 0, + 1.667, + 0, + 1, + 1.756, + 0, + 1.844, + 0, + 1.933, + 0, + 0, + 3.4, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmLA", + "Segments": [ + 0, + 1, + 1, + 0.333, + 1, + 0.667, + 1, + 1, + 1, + 1, + 1.1, + 1, + 1.2, + 0.472, + 1.3, + 0.3, + 1, + 1.422, + 0.089, + 1.544, + 0.096, + 1.667, + -0.117, + 1, + 1.756, + -0.272, + 1.844, + -1, + 1.933, + -1, + 1, + 2.078, + -1, + 2.222, + -0.9, + 2.367, + -0.9, + 0, + 3.4, + -0.9 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmRA", + "Segments": [ + 0, + 1, + 1, + 0.333, + 1, + 0.667, + 1, + 1, + 1, + 1, + 1.1, + 1, + 1.2, + 0.472, + 1.3, + 0.3, + 1, + 1.422, + 0.089, + 1.544, + 0.096, + 1.667, + -0.117, + 1, + 1.756, + -0.272, + 1.844, + -1, + 1.933, + -1, + 1, + 2.078, + -1, + 2.222, + -0.9, + 2.367, + -0.9, + 0, + 3.4, + -0.9 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmLB", + "Segments": [ + 0, + 5, + 1, + 0.333, + 5, + 0.667, + 5, + 1, + 5, + 1, + 1.222, + 5, + 1.444, + 5, + 1.667, + 5, + 1, + 1.756, + 5, + 1.844, + 5, + 1.933, + 5, + 0, + 3.4, + 5 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmRB", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.222, + 0, + 1.444, + 0, + 1.667, + 0, + 1, + 1.756, + 0, + 1.844, + 0, + 1.933, + 0, + 0, + 3.4, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandChangeR", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.222, + 0, + 1.444, + 0, + 1.667, + 0, + 1, + 1.756, + 0, + 1.844, + 0, + 1.933, + 0, + 0, + 3.4, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandAngleR", + "Segments": [ + 0, + 0.19, + 1, + 0.333, + 0.19, + 0.667, + 0.19, + 1, + 0.19, + 1, + 1.222, + 0.19, + 1.444, + 0.183, + 1.667, + 0.149, + 1, + 1.756, + 0.135, + 1.844, + 0.1, + 1.933, + 0.1, + 0, + 3.4, + 0.1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandDhangeL", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.222, + 0, + 1.444, + 0, + 1.667, + 0, + 1, + 1.756, + 0, + 1.844, + 0, + 1.933, + 0, + 0, + 3.4, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandAngleL", + "Segments": [ + 0, + -0.17, + 1, + 0.333, + -0.17, + 0.667, + -0.17, + 1, + -0.17, + 1, + 1.222, + -0.17, + 1.444, + -0.123, + 1.667, + 0.092, + 1, + 1.756, + 0.179, + 1.844, + 0.4, + 1.933, + 0.4, + 0, + 3.4, + 0.4 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHairFront", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.222, + 0, + 1.444, + 0, + 1.667, + 0, + 1, + 1.756, + 0, + 1.844, + 0, + 1.933, + 0, + 0, + 3.4, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHairSide", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.222, + 0, + 1.444, + 0, + 1.667, + 0, + 1, + 1.756, + 0, + 1.844, + 0, + 1.933, + 0, + 0, + 3.4, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHairBack", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.222, + 0, + 1.444, + 0, + 1.667, + 0, + 1, + 1.756, + 0, + 1.844, + 0, + 1.933, + 0, + 0, + 3.4, + 0 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Core", + "Segments": [ + 0, + 1, + 2, + 3.37, + 1, + 0, + 3.4, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Hoho001", + "Segments": [ + 0, + 1, + 2, + 3.37, + 1, + 0, + 3.4, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Brow001", + "Segments": [ + 0, + 1, + 2, + 3.37, + 1, + 0, + 3.4, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Tear", + "Segments": [ + 0, + 1, + 2, + 3.37, + 1, + 0, + 3.4, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01EyeBall001", + "Segments": [ + 0, + 1, + 2, + 3.37, + 1, + 0, + 3.4, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Eye001", + "Segments": [ + 0, + 1, + 2, + 3.37, + 1, + 0, + 3.4, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Nose001", + "Segments": [ + 0, + 1, + 2, + 3.37, + 1, + 0, + 3.4, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Mouth001", + "Segments": [ + 0, + 1, + 2, + 3.37, + 1, + 0, + 3.4, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Face001", + "Segments": [ + 0, + 1, + 2, + 3.37, + 1, + 0, + 3.4, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Ear001", + "Segments": [ + 0, + 1, + 2, + 3.37, + 1, + 0, + 3.4, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Neck001", + "Segments": [ + 0, + 1, + 2, + 3.37, + 1, + 0, + 3.4, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01HairFront001", + "Segments": [ + 0, + 1, + 2, + 3.37, + 1, + 0, + 3.4, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01HairSide001", + "Segments": [ + 0, + 1, + 2, + 3.37, + 1, + 0, + 3.4, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01HairBack001", + "Segments": [ + 0, + 1, + 2, + 3.37, + 1, + 0, + 3.4, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01ArmRB001", + "Segments": [ + 0, + 0, + 2, + 3.37, + 0, + 0, + 3.4, + 0 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01ArmLB001", + "Segments": [ + 0, + 0, + 2, + 3.37, + 0, + 0, + 3.4, + 0 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01ArmRA001", + "Segments": [ + 0, + 1, + 2, + 3.37, + 1, + 0, + 3.4, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01ArmLA001", + "Segments": [ + 0, + 1, + 2, + 3.37, + 1, + 0, + 3.4, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Body001", + "Segments": [ + 0, + 1, + 2, + 3.37, + 1, + 0, + 3.4, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Sketch", + "Segments": [ + 0, + 0, + 2, + 3.37, + 0, + 0, + 3.4, + 0 + ] + } + ] +} \ No newline at end of file diff --git a/staticfiles/haru_greeter_pro_jp/runtime/motion/haru_g_m25.motion3.json b/staticfiles/haru_greeter_pro_jp/runtime/motion/haru_g_m25.motion3.json new file mode 100644 index 0000000000000000000000000000000000000000..5745701e09457d9f938f2cd04fd0d7249e09ead3 --- /dev/null +++ b/staticfiles/haru_greeter_pro_jp/runtime/motion/haru_g_m25.motion3.json @@ -0,0 +1,1805 @@ +{ + "Version": 3, + "Meta": { + "Duration": 4.03, + "Fps": 30.0, + "Loop": true, + "AreBeziersRestricted": true, + "CurveCount": 63, + "TotalSegmentCount": 231, + "TotalPointCount": 590, + "UserDataCount": 0, + "TotalUserDataSize": 0 + }, + "Curves": [ + { + "Target": "Model", + "Id": "Opacity", + "Segments": [ + 0, + 1, + 1, + 1.33, + 1, + 2.67, + 1, + 4, + 1, + 0, + 4.03, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleX", + "Segments": [ + 0, + 0, + 1, + 1.333, + 0, + 2.667, + 0, + 4, + 0, + 0, + 4.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleY", + "Segments": [ + 0, + 0, + 1, + 0.233, + 0, + 0.467, + -1, + 0.7, + -1, + 1, + 0.789, + -1, + 0.878, + 7, + 0.967, + 7, + 1, + 1.2, + 7, + 1.433, + 7, + 1.667, + 7, + 1, + 1.767, + 7, + 1.867, + -4, + 1.967, + -4, + 1, + 2.111, + -4, + 2.256, + 2, + 2.4, + 2, + 1, + 2.622, + 2, + 2.844, + 0, + 3.067, + 0, + 1, + 3.378, + 0, + 3.689, + 0, + 4, + 0, + 0, + 4.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleZ", + "Segments": [ + 0, + -21, + 1, + 0.122, + -21, + 0.244, + -21, + 0.367, + -21, + 1, + 0.567, + -21, + 0.767, + -12.835, + 0.967, + 0, + 1, + 1.2, + 14.974, + 1.433, + 21, + 1.667, + 21, + 1, + 2, + 21, + 2.333, + 0, + 2.667, + 0, + 1, + 3.111, + 0, + 3.556, + 0, + 4, + 0, + 0, + 4.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamTere", + "Segments": [ + 0, + 0, + 1, + 1.333, + 0, + 2.667, + 0, + 4, + 0, + 0, + 4.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamFaceForm", + "Segments": [ + 0, + 0, + 1, + 1.333, + 0, + 2.667, + 0, + 4, + 0, + 0, + 4.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeLOpen", + "Segments": [ + 0, + 1, + 1, + 0.233, + 1, + 0.467, + 1, + 0.7, + 1, + 1, + 0.744, + 1, + 0.789, + 0, + 0.833, + 0, + 1, + 0.878, + 0, + 0.922, + 2, + 0.967, + 2, + 1, + 0.989, + 2, + 1.011, + 1.9, + 1.033, + 1.9, + 1, + 1.267, + 1.9, + 1.5, + 1.9, + 1.733, + 1.9, + 1, + 1.789, + 1.9, + 1.844, + 0, + 1.9, + 0, + 1, + 1.978, + 0, + 2.056, + 0, + 2.133, + 0, + 1, + 2.2, + 0, + 2.267, + 1.1, + 2.333, + 1.1, + 1, + 2.356, + 1.1, + 2.378, + 1, + 2.4, + 1, + 1, + 2.933, + 1, + 3.467, + 1, + 4, + 1, + 0, + 4.033, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeLSmile", + "Segments": [ + 0, + 0, + 1, + 1.333, + 0, + 2.667, + 0, + 4, + 0, + 0, + 4.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeROpen", + "Segments": [ + 0, + 1, + 1, + 0.233, + 1, + 0.467, + 1, + 0.7, + 1, + 1, + 0.744, + 1, + 0.789, + 0, + 0.833, + 0, + 1, + 0.878, + 0, + 0.922, + 2, + 0.967, + 2, + 1, + 0.989, + 2, + 1.011, + 1.9, + 1.033, + 1.9, + 1, + 1.267, + 1.9, + 1.5, + 1.9, + 1.733, + 1.9, + 1, + 1.789, + 1.9, + 1.844, + 0, + 1.9, + 0, + 1, + 1.978, + 0, + 2.056, + 0, + 2.133, + 0, + 1, + 2.2, + 0, + 2.267, + 1.1, + 2.333, + 1.1, + 1, + 2.356, + 1.1, + 2.378, + 1, + 2.4, + 1, + 1, + 2.933, + 1, + 3.467, + 1, + 4, + 1, + 0, + 4.033, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeRSmile", + "Segments": [ + 0, + 0, + 1, + 1.333, + 0, + 2.667, + 0, + 4, + 0, + 0, + 4.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeForm", + "Segments": [ + 0, + 0, + 1, + 1.333, + 0, + 2.667, + 0, + 4, + 0, + 0, + 4.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallForm", + "Segments": [ + 0, + 0, + 1, + 0.233, + 0, + 0.467, + 0, + 0.7, + 0, + 1, + 0.789, + 0, + 0.878, + -0.49, + 0.967, + -0.49, + 1, + 1.6, + -0.49, + 2.233, + -0.49, + 2.867, + -0.49, + 1, + 3.244, + -0.49, + 3.622, + -0.49, + 4, + -0.49, + 0, + 4.033, + -0.49 + ] + }, + { + "Target": "Parameter", + "Id": "ParamTear", + "Segments": [ + 0, + 0, + 1, + 1.333, + 0, + 2.667, + 0, + 4, + 0, + 0, + 4.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallX", + "Segments": [ + 0, + 0, + 1, + 0.233, + 0, + 0.467, + 0, + 0.7, + 0, + 1, + 0.811, + 0, + 0.922, + 0, + 1.033, + 0, + 1, + 1.267, + 0, + 1.5, + 0, + 1.733, + 0, + 1, + 1.956, + 0, + 2.178, + 0, + 2.4, + 0, + 1, + 2.933, + 0, + 3.467, + 0, + 4, + 0, + 0, + 4.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallY", + "Segments": [ + 0, + 0, + 1, + 0.233, + 0, + 0.467, + 0, + 0.7, + 0, + 1, + 0.744, + 0, + 0.789, + -0.1, + 0.833, + -0.1, + 1, + 0.878, + -0.1, + 0.922, + 0.1, + 0.967, + 0.1, + 1, + 0.989, + 0.1, + 1.011, + 0, + 1.033, + 0, + 1, + 1.267, + 0, + 1.5, + 0, + 1.733, + 0, + 1, + 1.789, + 0, + 1.844, + -0.1, + 1.9, + -0.1, + 1, + 1.978, + -0.1, + 2.056, + -0.1, + 2.133, + -0.1, + 1, + 2.2, + -0.1, + 2.267, + 0.1, + 2.333, + 0.1, + 1, + 2.356, + 0.1, + 2.378, + 0, + 2.4, + 0, + 1, + 2.933, + 0, + 3.467, + 0, + 4, + 0, + 0, + 4.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLY", + "Segments": [ + 0, + 0, + 1, + 0.244, + 0, + 0.489, + 0, + 0.733, + 0, + 1, + 0.767, + 0, + 0.8, + -0.2, + 0.833, + -0.2, + 1, + 0.878, + -0.2, + 0.922, + 0.555, + 0.967, + 0.56, + 1, + 1.222, + 0.591, + 1.478, + 0.6, + 1.733, + 0.6, + 1, + 1.789, + 0.6, + 1.844, + -0.1, + 1.9, + -0.1, + 1, + 1.978, + -0.1, + 2.056, + -0.1, + 2.133, + -0.1, + 1, + 2.222, + -0.1, + 2.311, + 0.3, + 2.4, + 0.3, + 1, + 2.933, + 0.3, + 3.467, + 0.3, + 4, + 0.3, + 0, + 4.033, + 0.3 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRY", + "Segments": [ + 0, + 0, + 1, + 0.244, + 0, + 0.489, + 0, + 0.733, + 0, + 1, + 0.767, + 0, + 0.8, + -0.2, + 0.833, + -0.2, + 1, + 0.878, + -0.2, + 0.922, + 0.61, + 0.967, + 0.61, + 1, + 1.222, + 0.61, + 1.478, + 0.608, + 1.733, + 0.6, + 1, + 1.789, + 0.598, + 1.844, + -0.1, + 1.9, + -0.1, + 1, + 1.978, + -0.1, + 2.056, + -0.1, + 2.133, + -0.1, + 1, + 2.222, + -0.1, + 2.311, + 0.3, + 2.4, + 0.3, + 1, + 2.933, + 0.3, + 3.467, + 0.3, + 4, + 0.3, + 0, + 4.033, + 0.3 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLX", + "Segments": [ + 0, + 0, + 1, + 0.244, + 0, + 0.489, + 0, + 0.733, + 0, + 1, + 0.811, + 0, + 0.889, + 0.3, + 0.967, + 0.3, + 1, + 1.222, + 0.3, + 1.478, + 0.3, + 1.733, + 0.3, + 1, + 1.956, + 0.3, + 2.178, + 0.2, + 2.4, + 0.2, + 1, + 2.933, + 0.2, + 3.467, + 0.2, + 4, + 0.2, + 0, + 4.033, + 0.2 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRX", + "Segments": [ + 0, + 0, + 1, + 0.244, + 0, + 0.489, + 0, + 0.733, + 0, + 1, + 0.811, + 0, + 0.889, + 0.3, + 0.967, + 0.3, + 1, + 1.222, + 0.3, + 1.478, + 0.3, + 1.733, + 0.3, + 1, + 1.956, + 0.3, + 2.178, + 0.2, + 2.4, + 0.2, + 1, + 2.933, + 0.2, + 3.467, + 0.2, + 4, + 0.2, + 0, + 4.033, + 0.2 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLAngle", + "Segments": [ + 0, + 0, + 1, + 0.244, + 0, + 0.489, + 0, + 0.733, + 0, + 1, + 0.811, + 0, + 0.889, + 0.4, + 0.967, + 0.4, + 1, + 1.222, + 0.4, + 1.478, + 0.4, + 1.733, + 0.4, + 1, + 1.956, + 0.4, + 2.178, + 0.5, + 2.4, + 0.5, + 1, + 2.933, + 0.5, + 3.467, + 0.5, + 4, + 0.5, + 0, + 4.033, + 0.5 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRAngle", + "Segments": [ + 0, + 0, + 1, + 0.244, + 0, + 0.489, + 0, + 0.733, + 0, + 1, + 0.811, + 0, + 0.889, + 0.4, + 0.967, + 0.4, + 1, + 1.222, + 0.4, + 1.478, + 0.4, + 1.733, + 0.4, + 1, + 1.956, + 0.4, + 2.178, + 0.5, + 2.4, + 0.5, + 1, + 2.933, + 0.5, + 3.467, + 0.5, + 4, + 0.5, + 0, + 4.033, + 0.5 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLForm", + "Segments": [ + 0, + 0, + 1, + 0.244, + 0, + 0.489, + 0, + 0.733, + 0, + 1, + 0.811, + 0, + 0.889, + 0.4, + 0.967, + 0.4, + 1, + 1.222, + 0.4, + 1.478, + 0.4, + 1.733, + 0.4, + 1, + 1.956, + 0.4, + 2.178, + 0.3, + 2.4, + 0.3, + 1, + 2.933, + 0.3, + 3.467, + 0.3, + 4, + 0.3, + 0, + 4.033, + 0.3 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRForm", + "Segments": [ + 0, + 0, + 1, + 0.244, + 0, + 0.489, + 0, + 0.733, + 0, + 1, + 0.811, + 0, + 0.889, + 0.4, + 0.967, + 0.4, + 1, + 1.222, + 0.4, + 1.478, + 0.4, + 1.733, + 0.4, + 1, + 1.956, + 0.4, + 2.178, + 0.3, + 2.4, + 0.3, + 1, + 2.933, + 0.3, + 3.467, + 0.3, + 4, + 0.3, + 0, + 4.033, + 0.3 + ] + }, + { + "Target": "Parameter", + "Id": "ParamMouthForm", + "Segments": [ + 0, + 1, + 1, + 0.244, + 1, + 0.489, + 1, + 0.733, + 1, + 1, + 0.811, + 1, + 0.889, + -1, + 0.967, + -1, + 1, + 1.222, + -1, + 1.478, + -1, + 1.733, + -1, + 1, + 1.833, + -1, + 1.933, + -0.594, + 2.033, + 0, + 1, + 2.156, + 0.726, + 2.278, + 1, + 2.4, + 1, + 1, + 2.933, + 1, + 3.467, + 1, + 4, + 1, + 0, + 4.033, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamMouthOpenY", + "Segments": [ + 0, + 0, + 1, + 1.333, + 0, + 2.667, + 0, + 4, + 0, + 0, + 4.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamScarf", + "Segments": [ + 0, + 0, + 1, + 1.333, + 0, + 2.667, + 0, + 4, + 0, + 0, + 4.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleX", + "Segments": [ + 0, + 0, + 1, + 0.311, + 0, + 0.622, + 0, + 0.933, + 0, + 1, + 1.222, + 0, + 1.511, + -6, + 1.8, + -6, + 1, + 2.122, + -6, + 2.444, + 0, + 2.767, + 0, + 1, + 3.178, + 0, + 3.589, + 0, + 4, + 0, + 0, + 4.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleY", + "Segments": [ + 0, + 0, + 1, + 0.233, + 0, + 0.467, + -1, + 0.7, + -1, + 1, + 0.789, + -1, + 0.878, + 1, + 0.967, + 1, + 1, + 1.056, + 1, + 1.144, + 0, + 1.233, + 0, + 1, + 2.156, + 0, + 3.078, + 0, + 4, + 0, + 0, + 4.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleZ", + "Segments": [ + 0, + 0, + 1, + 0.322, + 0, + 0.644, + 0, + 0.967, + 0, + 1, + 1.244, + 0, + 1.522, + 4, + 1.8, + 4, + 1, + 2.167, + 4, + 2.533, + 0, + 2.9, + 0, + 1, + 3.267, + 0, + 3.633, + 0, + 4, + 0, + 0, + 4.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyUpper", + "Segments": [ + 0, + 6, + 1, + 1.189, + 6, + 2.378, + 6, + 3.567, + 6, + 1, + 3.711, + 6, + 3.856, + 6, + 4, + 6, + 0, + 4.033, + 6 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBreath", + "Segments": [ + 0, + 0, + 1, + 1.333, + 0, + 2.667, + 0, + 4, + 0, + 0, + 4.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBustY", + "Segments": [ + 0, + 0, + 1, + 1.333, + 0, + 2.667, + 0, + 4, + 0, + 0, + 4.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmLA", + "Segments": [ + 0, + -1, + 1, + 0.344, + -1, + 0.689, + -1, + 1.033, + -1, + 1, + 1.189, + -1, + 1.344, + -0.9, + 1.5, + -0.9, + 1, + 1.6, + -0.9, + 1.7, + -1, + 1.8, + -1, + 1, + 2.389, + -1, + 2.978, + -1, + 3.567, + -1, + 1, + 3.711, + -1, + 3.856, + -1, + 4, + -1, + 0, + 4.033, + -1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmRA", + "Segments": [ + 0, + -1, + 1, + 0.344, + -1, + 0.689, + -1, + 1.033, + -1, + 1, + 1.189, + -1, + 1.344, + -0.9, + 1.5, + -0.9, + 1, + 1.6, + -0.9, + 1.7, + -1, + 1.8, + -1, + 1, + 2.389, + -1, + 2.978, + -1, + 3.567, + -1, + 1, + 3.711, + -1, + 3.856, + -1, + 4, + -1, + 0, + 4.033, + -1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmLB", + "Segments": [ + 0, + 0, + 1, + 1.333, + 0, + 2.667, + 0, + 4, + 0, + 0, + 4.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmRB", + "Segments": [ + 0, + 0, + 1, + 1.333, + 0, + 2.667, + 0, + 4, + 0, + 0, + 4.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandChangeR", + "Segments": [ + 0, + 0, + 1, + 1.333, + 0, + 2.667, + 0, + 4, + 0, + 0, + 4.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandAngleR", + "Segments": [ + 0, + 1, + 1, + 1.333, + 1, + 2.667, + 1, + 4, + 1, + 0, + 4.033, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandDhangeL", + "Segments": [ + 0, + 0, + 1, + 1.333, + 0, + 2.667, + 0, + 4, + 0, + 0, + 4.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandAngleL", + "Segments": [ + 0, + -1, + 1, + 1.333, + -1, + 2.667, + -1, + 4, + -1, + 0, + 4.033, + -1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHairFront", + "Segments": [ + 0, + 0, + 1, + 1.333, + 0, + 2.667, + 0, + 4, + 0, + 0, + 4.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHairSide", + "Segments": [ + 0, + 0, + 1, + 1.333, + 0, + 2.667, + 0, + 4, + 0, + 0, + 4.033, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHairBack", + "Segments": [ + 0, + 0, + 1, + 1.333, + 0, + 2.667, + 0, + 4, + 0, + 0, + 4.033, + 0 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Core", + "Segments": [ + 0, + 1, + 2, + 4, + 1, + 0, + 4.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Hoho001", + "Segments": [ + 0, + 1, + 2, + 4, + 1, + 0, + 4.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Brow001", + "Segments": [ + 0, + 1, + 2, + 4, + 1, + 0, + 4.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Tear", + "Segments": [ + 0, + 1, + 2, + 4, + 1, + 0, + 4.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01EyeBall001", + "Segments": [ + 0, + 1, + 2, + 4, + 1, + 0, + 4.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Eye001", + "Segments": [ + 0, + 1, + 2, + 4, + 1, + 0, + 4.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Nose001", + "Segments": [ + 0, + 1, + 2, + 4, + 1, + 0, + 4.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Mouth001", + "Segments": [ + 0, + 1, + 2, + 4, + 1, + 0, + 4.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Face001", + "Segments": [ + 0, + 1, + 2, + 4, + 1, + 0, + 4.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Ear001", + "Segments": [ + 0, + 1, + 2, + 4, + 1, + 0, + 4.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Neck001", + "Segments": [ + 0, + 1, + 2, + 4, + 1, + 0, + 4.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01HairFront001", + "Segments": [ + 0, + 1, + 2, + 4, + 1, + 0, + 4.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01HairSide001", + "Segments": [ + 0, + 1, + 2, + 4, + 1, + 0, + 4.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01HairBack001", + "Segments": [ + 0, + 1, + 2, + 4, + 1, + 0, + 4.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01ArmRB001", + "Segments": [ + 0, + 0, + 2, + 4, + 0, + 0, + 4.03, + 0 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01ArmLB001", + "Segments": [ + 0, + 0, + 2, + 4, + 0, + 0, + 4.03, + 0 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01ArmRA001", + "Segments": [ + 0, + 1, + 2, + 4, + 1, + 0, + 4.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01ArmLA001", + "Segments": [ + 0, + 1, + 2, + 4, + 1, + 0, + 4.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Body001", + "Segments": [ + 0, + 1, + 2, + 4, + 1, + 0, + 4.03, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Sketch", + "Segments": [ + 0, + 0, + 2, + 4, + 0, + 0, + 4.03, + 0 + ] + } + ] +} \ No newline at end of file diff --git a/staticfiles/haru_greeter_pro_jp/runtime/motion/haru_g_m26.motion3.json b/staticfiles/haru_greeter_pro_jp/runtime/motion/haru_g_m26.motion3.json new file mode 100644 index 0000000000000000000000000000000000000000..0b1b05d86a82975b6dcd2bad343a724d7350131f --- /dev/null +++ b/staticfiles/haru_greeter_pro_jp/runtime/motion/haru_g_m26.motion3.json @@ -0,0 +1,2470 @@ +{ + "Version": 3, + "Meta": { + "Duration": 4.97, + "Fps": 30.0, + "Loop": true, + "AreBeziersRestricted": true, + "CurveCount": 63, + "TotalSegmentCount": 326, + "TotalPointCount": 875, + "UserDataCount": 0, + "TotalUserDataSize": 0 + }, + "Curves": [ + { + "Target": "Model", + "Id": "Opacity", + "Segments": [ + 0, + 1, + 1, + 1.64, + 1, + 3.29, + 1, + 4.93, + 1, + 0, + 4.97, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleX", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.1, + 0, + 1.2, + -5, + 1.3, + -5, + 1, + 1.489, + -5, + 1.678, + -4, + 1.867, + -4, + 1, + 2.244, + -4, + 2.622, + -4, + 3, + -4, + 1, + 3.144, + -4, + 3.289, + 2, + 3.433, + 2, + 1, + 3.744, + 2, + 4.056, + 0, + 4.367, + 0, + 0, + 4.967, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleY", + "Segments": [ + 0, + 0, + 1, + 0.367, + 0, + 0.733, + 0, + 1.1, + 0, + 1, + 1.144, + 0, + 1.189, + -13, + 1.233, + -13, + 1, + 1.289, + -13, + 1.344, + 11, + 1.4, + 11, + 1, + 1.589, + 11, + 1.778, + 6, + 1.967, + 6, + 1, + 2.333, + 6, + 2.7, + 6, + 3.067, + 6, + 1, + 3.211, + 6, + 3.356, + -22, + 3.5, + -22, + 1, + 3.656, + -22, + 3.811, + 12, + 3.967, + 12, + 1, + 4.122, + 12, + 4.278, + 0, + 4.433, + 0, + 0, + 4.967, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamAngleZ", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.1, + 0, + 1.2, + -8, + 1.3, + -8, + 1, + 1.489, + -8, + 1.678, + -6, + 1.867, + -6, + 1, + 2.244, + -6, + 2.622, + -6, + 3, + -6, + 1, + 3.144, + -6, + 3.289, + -9, + 3.433, + -9, + 1, + 3.589, + -9, + 3.744, + 7, + 3.9, + 7, + 1, + 4.056, + 7, + 4.211, + -2, + 4.367, + -2, + 1, + 4.556, + -2, + 4.744, + 0, + 4.933, + 0, + 0, + 4.967, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamTere", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.1, + 0, + 1.2, + 0.5, + 1.3, + 0.5, + 1, + 1.867, + 0.5, + 2.433, + 0.5, + 3, + 0.5, + 1, + 3.456, + 0.5, + 3.911, + 0, + 4.367, + 0, + 0, + 4.967, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamFaceForm", + "Segments": [ + 0, + 0, + 0, + 4.967, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeLOpen", + "Segments": [ + 0, + 1, + 1, + 0.333, + 1, + 0.667, + 1, + 1, + 1, + 1, + 1.044, + 1, + 1.089, + 0, + 1.133, + 0, + 1, + 1.189, + 0, + 1.244, + 1.7, + 1.3, + 1.7, + 1, + 1.522, + 1.7, + 1.744, + 1.7, + 1.967, + 1.7, + 1, + 2, + 1.7, + 2.033, + 0, + 2.067, + 0, + 1, + 2.078, + 0, + 2.089, + 0, + 2.1, + 0, + 1, + 2.133, + 0, + 2.167, + 1.7, + 2.2, + 1.7, + 1, + 2.211, + 1.7, + 2.222, + 1.7, + 2.233, + 1.7, + 1, + 2.267, + 1.7, + 2.3, + 0, + 2.333, + 0, + 1, + 2.344, + 0, + 2.356, + 0, + 2.367, + 0, + 1, + 2.433, + 0, + 2.5, + 1.7, + 2.567, + 1.7, + 1, + 2.711, + 1.7, + 2.856, + 1.7, + 3, + 1.7, + 1, + 3.144, + 1.7, + 3.289, + 0, + 3.433, + 0, + 1, + 3.589, + 0, + 3.744, + 0, + 3.9, + 0, + 1, + 4.056, + 0, + 4.211, + 1, + 4.367, + 1, + 0, + 4.967, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeLSmile", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.1, + 0, + 1.2, + 0, + 1.3, + 0, + 1, + 1.867, + 0, + 2.433, + 0, + 3, + 0, + 1, + 3.456, + 0, + 3.911, + 0, + 4.367, + 0, + 0, + 4.967, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeROpen", + "Segments": [ + 0, + 1, + 1, + 0.333, + 1, + 0.667, + 1, + 1, + 1, + 1, + 1.044, + 1, + 1.089, + 0, + 1.133, + 0, + 1, + 1.189, + 0, + 1.244, + 1.7, + 1.3, + 1.7, + 1, + 1.522, + 1.7, + 1.744, + 1.7, + 1.967, + 1.7, + 1, + 2, + 1.7, + 2.033, + 0, + 2.067, + 0, + 1, + 2.078, + 0, + 2.089, + 0, + 2.1, + 0, + 1, + 2.133, + 0, + 2.167, + 1.7, + 2.2, + 1.7, + 1, + 2.211, + 1.7, + 2.222, + 1.7, + 2.233, + 1.7, + 1, + 2.267, + 1.7, + 2.3, + 0, + 2.333, + 0, + 1, + 2.344, + 0, + 2.356, + 0, + 2.367, + 0, + 1, + 2.433, + 0, + 2.5, + 1.7, + 2.567, + 1.7, + 1, + 2.711, + 1.7, + 2.856, + 1.7, + 3, + 1.7, + 1, + 3.144, + 1.7, + 3.289, + 0, + 3.433, + 0, + 1, + 3.589, + 0, + 3.744, + 0, + 3.9, + 0, + 1, + 4.056, + 0, + 4.211, + 1, + 4.367, + 1, + 0, + 4.967, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeRSmile", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.1, + 0, + 1.2, + 0, + 1.3, + 0, + 1, + 1.867, + 0, + 2.433, + 0, + 3, + 0, + 1, + 3.456, + 0, + 3.911, + 0, + 4.367, + 0, + 0, + 4.967, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeForm", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.1, + 0, + 1.2, + 0, + 1.3, + 0, + 1, + 1.867, + 0, + 2.433, + 0, + 3, + 0, + 1, + 3.456, + 0, + 3.911, + 0, + 4.367, + 0, + 0, + 4.967, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallForm", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.1, + 0, + 1.2, + -0.6, + 1.3, + -0.6, + 1, + 1.867, + -0.6, + 2.433, + -0.6, + 3, + -0.6, + 1, + 3.456, + -0.6, + 3.911, + 0, + 4.367, + 0, + 0, + 4.967, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamTear", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.1, + 0, + 1.2, + 0, + 1.3, + 0, + 1, + 1.867, + 0, + 2.433, + 0, + 3, + 0, + 1, + 3.456, + 0, + 3.911, + 0, + 4.367, + 0, + 0, + 4.967, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallX", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.1, + 0, + 1.2, + 0.2, + 1.3, + 0.2, + 1, + 1.522, + 0.2, + 1.744, + 0.2, + 1.967, + 0.2, + 1, + 2, + 0.2, + 2.033, + 0.2, + 2.067, + 0.2, + 1, + 2.078, + 0.2, + 2.089, + 0.2, + 2.1, + 0.2, + 1, + 2.133, + 0.2, + 2.167, + 0.2, + 2.2, + 0.2, + 1, + 2.211, + 0.2, + 2.222, + 0.2, + 2.233, + 0.2, + 1, + 2.267, + 0.2, + 2.3, + 0.2, + 2.333, + 0.2, + 1, + 2.344, + 0.2, + 2.356, + 0.2, + 2.367, + 0.2, + 1, + 2.433, + 0.2, + 2.5, + 0.2, + 2.567, + 0.2, + 1, + 2.711, + 0.2, + 2.856, + 0.2, + 3, + 0.2, + 1, + 3.456, + 0.2, + 3.911, + 0, + 4.367, + 0, + 0, + 4.967, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamEyeBallY", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.1, + 0, + 1.2, + 0.1, + 1.3, + 0.1, + 1, + 1.522, + 0.1, + 1.744, + 0.1, + 1.967, + 0.1, + 1, + 2, + 0.1, + 2.033, + -0.2, + 2.067, + -0.2, + 1, + 2.078, + -0.2, + 2.089, + -0.2, + 2.1, + -0.2, + 1, + 2.133, + -0.2, + 2.167, + 0.1, + 2.2, + 0.1, + 1, + 2.211, + 0.1, + 2.222, + 0.1, + 2.233, + 0.1, + 1, + 2.267, + 0.1, + 2.3, + -0.2, + 2.333, + -0.2, + 1, + 2.344, + -0.2, + 2.356, + -0.2, + 2.367, + -0.2, + 1, + 2.433, + -0.2, + 2.5, + 0.1, + 2.567, + 0.1, + 1, + 2.711, + 0.1, + 2.856, + 0.1, + 3, + 0.1, + 1, + 3.456, + 0.1, + 3.911, + 0, + 4.367, + 0, + 0, + 4.967, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLY", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.1, + 0, + 1.2, + 0.8, + 1.3, + 0.8, + 1, + 1.867, + 0.8, + 2.433, + 0.8, + 3, + 0.8, + 1, + 3.144, + 0.8, + 3.289, + -0.5, + 3.433, + -0.5, + 1, + 3.744, + -0.5, + 4.056, + 0, + 4.367, + 0, + 0, + 4.967, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRY", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.1, + 0, + 1.2, + 0.8, + 1.3, + 0.8, + 1, + 1.867, + 0.8, + 2.433, + 0.8, + 3, + 0.8, + 1, + 3.144, + 0.8, + 3.289, + -0.5, + 3.433, + -0.5, + 1, + 3.744, + -0.5, + 4.056, + 0, + 4.367, + 0, + 0, + 4.967, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLX", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.1, + 0, + 1.2, + 0.5, + 1.3, + 0.5, + 1, + 1.867, + 0.5, + 2.433, + 0.5, + 3, + 0.5, + 1, + 3.144, + 0.5, + 3.289, + -0.4, + 3.433, + -0.4, + 1, + 3.744, + -0.4, + 4.056, + 0, + 4.367, + 0, + 0, + 4.967, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRX", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.1, + 0, + 1.2, + 0.5, + 1.3, + 0.5, + 1, + 1.867, + 0.5, + 2.433, + 0.5, + 3, + 0.5, + 1, + 3.456, + 0.5, + 3.911, + 0, + 4.367, + 0, + 0, + 4.967, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLAngle", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.1, + 0, + 1.2, + 0.4, + 1.3, + 0.4, + 1, + 1.867, + 0.4, + 2.433, + 0.4, + 3, + 0.4, + 1, + 3.144, + 0.4, + 3.289, + 0, + 3.433, + 0, + 1, + 3.744, + 0, + 4.056, + 0, + 4.367, + 0, + 0, + 4.967, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRAngle", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.1, + 0, + 1.2, + 0.4, + 1.3, + 0.4, + 1, + 1.867, + 0.4, + 2.433, + 0.4, + 3, + 0.4, + 1, + 3.144, + 0.4, + 3.289, + 0, + 3.433, + 0, + 1, + 3.744, + 0, + 4.056, + 0, + 4.367, + 0, + 0, + 4.967, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowLForm", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.1, + 0, + 1.2, + -0.6, + 1.3, + -0.6, + 1, + 1.867, + -0.6, + 2.433, + -0.6, + 3, + -0.6, + 1, + 3.144, + -0.6, + 3.289, + -0.412, + 3.433, + -0.3, + 1, + 3.744, + -0.059, + 4.056, + 0, + 4.367, + 0, + 0, + 4.967, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBrowRForm", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.1, + 0, + 1.2, + -0.6, + 1.3, + -0.6, + 1, + 1.867, + -0.6, + 2.433, + -0.6, + 3, + -0.6, + 1, + 3.144, + -0.6, + 3.289, + -0.412, + 3.433, + -0.3, + 1, + 3.744, + -0.059, + 4.056, + 0, + 4.367, + 0, + 0, + 4.967, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamMouthForm", + "Segments": [ + 0, + 1, + 1, + 0.333, + 1, + 0.667, + 1, + 1, + 1, + 1, + 1.1, + 1, + 1.2, + -0.6, + 1.3, + -0.6, + 1, + 1.867, + -0.6, + 2.433, + -0.6, + 3, + -0.6, + 1, + 3.456, + -0.6, + 3.911, + 1, + 4.367, + 1, + 0, + 4.967, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamMouthOpenY", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.1, + 0, + 1.2, + 0, + 1.3, + 0, + 1, + 1.867, + 0, + 2.433, + 0, + 3, + 0, + 1, + 3.456, + 0, + 3.911, + 0, + 4.367, + 0, + 0, + 4.967, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamScarf", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.1, + 0, + 1.2, + 0, + 1.3, + 0, + 1, + 1.867, + 0, + 2.433, + 0, + 3, + 0, + 1, + 3.456, + 0, + 3.911, + 0, + 4.367, + 0, + 0, + 4.967, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleX", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.1, + 0, + 1.2, + -3, + 1.3, + -3, + 1, + 1.489, + -3, + 1.678, + -2, + 1.867, + -2, + 1, + 2.244, + -2, + 2.622, + -2, + 3, + -2, + 1, + 3.456, + -2, + 3.911, + 0, + 4.367, + 0, + 0, + 4.967, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleY", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.044, + 0, + 1.089, + -2, + 1.133, + -2, + 1, + 1.189, + -2, + 1.244, + 5, + 1.3, + 5, + 1, + 1.489, + 5, + 1.678, + 4, + 1.867, + 4, + 1, + 2.244, + 4, + 2.622, + 4, + 3, + 4, + 1, + 3.144, + 4, + 3.289, + -7, + 3.433, + -7, + 1, + 3.589, + -7, + 3.744, + 9, + 3.9, + 9, + 1, + 4.056, + 9, + 4.211, + 0, + 4.367, + 0, + 0, + 4.967, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyAngleZ", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.1, + 0, + 1.2, + -3, + 1.3, + -3, + 1, + 1.489, + -3, + 1.678, + -2, + 1.867, + -2, + 1, + 2.244, + -2, + 2.622, + -2, + 3, + -2, + 1, + 3.456, + -2, + 3.911, + 0, + 4.367, + 0, + 0, + 4.967, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBodyUpper", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.1, + 0, + 1.2, + -7, + 1.3, + -7, + 1, + 1.489, + -7, + 1.678, + -6, + 1.867, + -6, + 1, + 2.244, + -6, + 2.622, + -6, + 3, + -6, + 1, + 3.144, + -6, + 3.289, + 1.057, + 3.433, + 3, + 1, + 3.589, + 5.092, + 3.744, + 5, + 3.9, + 5, + 1, + 4.056, + 5, + 4.211, + 0, + 4.367, + 0, + 0, + 4.967, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBreath", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.1, + 0, + 1.2, + 0, + 1.3, + 0, + 1, + 1.867, + 0, + 2.433, + 0, + 3, + 0, + 1, + 3.456, + 0, + 3.911, + 0, + 4.367, + 0, + 0, + 4.967, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamBustY", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.1, + 0, + 1.2, + 0, + 1.3, + 0, + 1, + 1.867, + 0, + 2.433, + 0, + 3, + 0, + 1, + 3.456, + 0, + 3.911, + 0, + 4.367, + 0, + 0, + 4.967, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmLA", + "Segments": [ + 0, + 1, + 1, + 0.333, + 1, + 0.667, + 1, + 1, + 1, + 1, + 1.1, + 1, + 1.2, + 0.3, + 1.3, + 0.3, + 1, + 1.489, + 0.3, + 1.678, + 0.4, + 1.867, + 0.4, + 1, + 2.244, + 0.4, + 2.622, + 0.4, + 3, + 0.4, + 1, + 3.144, + 0.4, + 3.289, + 0.4, + 3.433, + 0.4, + 1, + 3.589, + 0.4, + 3.744, + 0.4, + 3.9, + 0.4, + 1, + 4.056, + 0.4, + 4.211, + 1, + 4.367, + 1, + 0, + 4.967, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmRA", + "Segments": [ + 0, + 1, + 1, + 0.333, + 1, + 0.667, + 1, + 1, + 1, + 1, + 1.1, + 1, + 1.2, + 0.3, + 1.3, + 0.3, + 1, + 1.489, + 0.3, + 1.678, + 0.4, + 1.867, + 0.4, + 1, + 2.244, + 0.4, + 2.622, + 0.4, + 3, + 0.4, + 1, + 3.144, + 0.4, + 3.289, + 0.4, + 3.433, + 0.4, + 1, + 3.589, + 0.4, + 3.744, + 0.4, + 3.9, + 0.4, + 1, + 4.056, + 0.4, + 4.211, + 1, + 4.367, + 1, + 0, + 4.967, + 1 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmLB", + "Segments": [ + 0, + 5, + 1, + 0.333, + 5, + 0.667, + 5, + 1, + 5, + 1, + 1.1, + 5, + 1.2, + 5, + 1.3, + 5, + 1, + 1.867, + 5, + 2.433, + 5, + 3, + 5, + 1, + 3.456, + 5, + 3.911, + 5, + 4.367, + 5, + 0, + 4.967, + 5 + ] + }, + { + "Target": "Parameter", + "Id": "ParamArmRB", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.1, + 0, + 1.2, + 0, + 1.3, + 0, + 1, + 1.867, + 0, + 2.433, + 0, + 3, + 0, + 1, + 3.456, + 0, + 3.911, + 0, + 4.367, + 0, + 0, + 4.967, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandChangeR", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.1, + 0, + 1.2, + 0, + 1.3, + 0, + 1, + 1.867, + 0, + 2.433, + 0, + 3, + 0, + 1, + 3.456, + 0, + 3.911, + 0, + 4.367, + 0, + 0, + 4.967, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandAngleR", + "Segments": [ + 0, + 0.19, + 1, + 0.333, + 0.19, + 0.667, + 0.19, + 1, + 0.19, + 1, + 1.044, + 0.19, + 1.089, + 1, + 1.133, + 1, + 1, + 1.189, + 1, + 1.244, + 0.19, + 1.3, + 0.19, + 1, + 1.489, + 0.19, + 1.678, + 0.4, + 1.867, + 0.4, + 1, + 2.244, + 0.4, + 2.622, + 0.4, + 3, + 0.4, + 1, + 3.144, + 0.4, + 3.289, + -0.8, + 3.433, + -0.8, + 1, + 3.589, + -0.8, + 3.744, + -0.718, + 3.9, + -0.4, + 1, + 4.056, + -0.082, + 4.211, + 0.19, + 4.367, + 0.19, + 0, + 4.967, + 0.19 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandDhangeL", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.1, + 0, + 1.2, + 0, + 1.3, + 0, + 1, + 1.867, + 0, + 2.433, + 0, + 3, + 0, + 1, + 3.456, + 0, + 3.911, + 0, + 4.367, + 0, + 0, + 4.967, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHandAngleL", + "Segments": [ + 0, + -0.17, + 1, + 0.333, + -0.17, + 0.667, + -0.17, + 1, + -0.17, + 1, + 1.044, + -0.17, + 1.089, + -0.6, + 1.133, + -0.6, + 1, + 1.189, + -0.6, + 1.244, + -0.17, + 1.3, + -0.17, + 1, + 1.489, + -0.17, + 1.678, + -0.5, + 1.867, + -0.5, + 1, + 2.244, + -0.5, + 2.622, + -0.5, + 3, + -0.5, + 1, + 3.144, + -0.5, + 3.289, + 1, + 3.433, + 1, + 1, + 3.589, + 1, + 3.744, + 0.997, + 3.9, + 0.7, + 1, + 4.056, + 0.403, + 4.211, + -0.17, + 4.367, + -0.17, + 0, + 4.967, + -0.17 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHairFront", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.1, + 0, + 1.2, + 0, + 1.3, + 0, + 1, + 1.867, + 0, + 2.433, + 0, + 3, + 0, + 1, + 3.456, + 0, + 3.911, + 0, + 4.367, + 0, + 0, + 4.967, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHairSide", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.1, + 0, + 1.2, + 0, + 1.3, + 0, + 1, + 1.867, + 0, + 2.433, + 0, + 3, + 0, + 1, + 3.456, + 0, + 3.911, + 0, + 4.367, + 0, + 0, + 4.967, + 0 + ] + }, + { + "Target": "Parameter", + "Id": "ParamHairBack", + "Segments": [ + 0, + 0, + 1, + 0.333, + 0, + 0.667, + 0, + 1, + 0, + 1, + 1.1, + 0, + 1.2, + 0, + 1.3, + 0, + 1, + 1.867, + 0, + 2.433, + 0, + 3, + 0, + 1, + 3.456, + 0, + 3.911, + 0, + 4.367, + 0, + 0, + 4.967, + 0 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Core", + "Segments": [ + 0, + 1, + 2, + 4.93, + 1, + 0, + 4.97, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Hoho001", + "Segments": [ + 0, + 1, + 2, + 4.93, + 1, + 0, + 4.97, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Brow001", + "Segments": [ + 0, + 1, + 2, + 4.93, + 1, + 0, + 4.97, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Tear", + "Segments": [ + 0, + 1, + 2, + 4.93, + 1, + 0, + 4.97, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01EyeBall001", + "Segments": [ + 0, + 1, + 2, + 4.93, + 1, + 0, + 4.97, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Eye001", + "Segments": [ + 0, + 1, + 2, + 4.93, + 1, + 0, + 4.97, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Nose001", + "Segments": [ + 0, + 1, + 2, + 4.93, + 1, + 0, + 4.97, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Mouth001", + "Segments": [ + 0, + 1, + 2, + 4.93, + 1, + 0, + 4.97, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Face001", + "Segments": [ + 0, + 1, + 2, + 4.93, + 1, + 0, + 4.97, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Ear001", + "Segments": [ + 0, + 1, + 2, + 4.93, + 1, + 0, + 4.97, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Neck001", + "Segments": [ + 0, + 1, + 2, + 4.93, + 1, + 0, + 4.97, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01HairFront001", + "Segments": [ + 0, + 1, + 2, + 4.93, + 1, + 0, + 4.97, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01HairSide001", + "Segments": [ + 0, + 1, + 2, + 4.93, + 1, + 0, + 4.97, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01HairBack001", + "Segments": [ + 0, + 1, + 2, + 4.93, + 1, + 0, + 4.97, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01ArmRB001", + "Segments": [ + 0, + 0, + 2, + 4.93, + 0, + 0, + 4.97, + 0 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01ArmLB001", + "Segments": [ + 0, + 0, + 2, + 4.93, + 0, + 0, + 4.97, + 0 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01ArmRA001", + "Segments": [ + 0, + 1, + 2, + 4.93, + 1, + 0, + 4.97, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01ArmLA001", + "Segments": [ + 0, + 1, + 2, + 4.93, + 1, + 0, + 4.97, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Body001", + "Segments": [ + 0, + 1, + 2, + 4.93, + 1, + 0, + 4.97, + 1 + ] + }, + { + "Target": "PartOpacity", + "Id": "Part01Sketch", + "Segments": [ + 0, + 0, + 2, + 4.93, + 0, + 0, + 4.97, + 0 + ] + } + ] +} \ No newline at end of file diff --git a/staticfiles/index.html b/staticfiles/index.html index b2949cf5b79c57bd6181abc2ad173e5704e63498..6ebade9ba76de9afff6d666efbdaa47882e39930 100644 --- a/staticfiles/index.html +++ b/staticfiles/index.html @@ -7,11 +7,30 @@ Sample Chat AI VTuber + Live2Dサンプル + + + + + + + + + + + + + + + + +
- + +

diff --git a/staticfiles/index.js b/staticfiles/index.js new file mode 100644 index 0000000000000000000000000000000000000000..72640df52e44ea2e36e6b4c1647bf78334331afe --- /dev/null +++ b/staticfiles/index.js @@ -0,0 +1,15 @@ +/* +HTMLのボタンで以下function Motionを実行します。そして +live2d.jsの最初のappから階層をたどりstartMotionを起動=>該当アニメーションが再生します。 + +第1引数 +'TapBody'はHiyori/Hiyori.model3.jsonのMotionsのTapBodyです。 +上記MotionsにはIdle,TapBodyがありそれぞれでHiyori/motionsフォルダ内の +アニメーションファイルmotion3.jsonを定義しています。 +デフォルトではIdleの方で定義されたアニメーションからランダムで再生されます。 +第2引数 +numberにてTapBody内から起動するアニメーション種類をインデックスで指定しています。 +*/ +function Motion(number){ + app.stage.children[1].internalModel.motionManager.startMotion('TapBody',number,2); +} \ No newline at end of file diff --git a/staticfiles/live2d.js b/staticfiles/live2d.js new file mode 100644 index 0000000000000000000000000000000000000000..b62f98843dbd0dd27bc4ae2c5d54df477a2ac84b --- /dev/null +++ b/staticfiles/live2d.js @@ -0,0 +1,81 @@ +//appをindex.jsで使いたいのでスコープを外しています。 +var app; + +// PixiJS +var { + Application, live2d: { Live2DModel } +} = PIXI; + +// Kalidokit +var { + Face, Vector: { lerp }, Utils: { clamp } +} = Kalidokit; + + +// 1, Live2Dモデルへのパスを指定する +var modelUrl = "./haru_greeter_pro_jp/runtime/haru_greeter_t05.model3.json"; +var currentModel; + +// メインの処理開始 +(async function main() { + // 2, PixiJSを準備する + app = new PIXI.Application({ + view: document.getElementById("my-live2d"), + autoStart: true, + backgroundAlpha: 0, + backgroundColor: 0x0000ff, + resizeTo: window + }); + + // 3, Live2Dモデルをロードする + currentModel = await Live2DModel.from(modelUrl, { autoInteract: false }); + currentModel.scale.set(0.5);//モデルの大きさ★ + currentModel.interactive = true; + currentModel.anchor.set(0.5, 0.5);//モデルのアンカー★ + currentModel.position.set(window.innerWidth/2, window.innerHeight);//モデルの位置★ + + // 4, Live2Dモデルをドラッグ可能にする + currentModel.on("pointerdown", e => { + currentModel.offsetX = e.data.global.x - currentModel.position.x; + currentModel.offsetY = e.data.global.y - currentModel.position.y; + currentModel.dragging = true; + }); + currentModel.on("pointerup", e => { + currentModel.dragging = false; + var updateFn = currentModel.internalModel.motionManager.update; + var coreModel = currentModel.internalModel.coreModel; + //モーション周りのパスcurrentModel.internalModel.motionManager.startMotion('TapBody', 0,2); + + }); + currentModel.on("pointermove", e => { + if (currentModel.dragging) { + currentModel.position.set( + e.data.global.x - currentModel.offsetX, + e.data.global.y - currentModel.offsetY + ); + } + }); + + // 5, Live2Dモデルを拡大/縮小可能に(マウスホイール) #my-live2dはcanvasのidにして下さい + document.querySelector("#my-live2d").addEventListener("wheel", e => { + e.preventDefault(); + currentModel.scale.set( + clamp(currentModel.scale.x + event.deltaY * -0.001, -0.5, 10) + ); + }); + //背景を設定./background.jpgを画像のパスに書きかえて下さい + let background = PIXI.Sprite.fromImage('./background.png'); + background.anchor.set(0.5); + background.x = app.screen.width / 2; + background.y = app.screen.height / 2; + background.height = app.screen.height; + background.width = app.screen.width; + app.stage.addChild(background); + + // 6, Live2Dモデルを配置する + app.stage.addChild(currentModel); + +})(); + + + diff --git a/staticfiles/live2dcubismcore.js b/staticfiles/live2dcubismcore.js new file mode 100644 index 0000000000000000000000000000000000000000..23ab144ae2406f43d83f0c4e75fd05a8c69dfec5 --- /dev/null +++ b/staticfiles/live2dcubismcore.js @@ -0,0 +1,573 @@ +/** + * Copyright(c) Live2D Inc. All rights reserved. + * + * Use of this source code is governed by the Live2D Proprietary Software license + * that can be found at https://www.live2d.com/eula/live2d-proprietary-software-license-agreement_en.html. + */ +var Live2DCubismCore; +(function (Live2DCubismCore) { + /** C calls. */ + var _csm = /** @class */ (function () { + function _csm() { + } + _csm.getVersion = function () { + return _em.ccall("csmGetVersion", "number", [], []); + }; + _csm.getLatestMocVersion = function () { + return _em.ccall("csmGetLatestMocVersion", "number", [], []); + }; + _csm.getMocVersion = function (moc) { + return _em.ccall("csmGetMocVersion", "number", ["number"], [moc]); + }; + _csm.getSizeofModel = function (moc) { + return _em.ccall("csmGetSizeofModel", "number", ["number"], [moc]); + }; + _csm.reviveMocInPlace = function (memory, mocSize) { + return _em.ccall("csmReviveMocInPlace", "number", ["number", "number"], [memory, mocSize]); + }; + _csm.initializeModelInPlace = function (moc, memory, modelSize) { + return _em.ccall("csmInitializeModelInPlace", "number", ["number", "number", "number"], [moc, memory, modelSize]); + }; + _csm.getParameterCount = function (model) { + return _em.ccall("csmGetParameterCount", "number", ["number"], [model]); + }; + _csm.getParameterIds = function (model) { + return _em.ccall("csmGetParameterIds", "number", ["number"], [model]); + }; + _csm.getParameterMinimumValues = function (model) { + return _em.ccall("csmGetParameterMinimumValues", "number", ["number"], [model]); + }; + _csm.getParameterMaximumValues = function (model) { + return _em.ccall("csmGetParameterMaximumValues", "number", ["number"], [model]); + }; + _csm.getParameterDefaultValues = function (model) { + return _em.ccall("csmGetParameterDefaultValues", "number", ["number"], [model]); + }; + _csm.getParameterValues = function (model) { + return _em.ccall("csmGetParameterValues", "number", ["number"], [model]); + }; + _csm.getPartCount = function (model) { + return _em.ccall("csmGetPartCount", "number", ["number"], [model]); + }; + _csm.getPartIds = function (model) { + return _em.ccall("csmGetPartIds", "number", ["number"], [model]); + }; + _csm.getPartOpacities = function (model) { + return _em.ccall("csmGetPartOpacities", "number", ["number"], [model]); + }; + _csm.getPartParentPartIndices = function (model) { + return _em.ccall("csmGetPartParentPartIndices", "number", ["number"], [model]); + }; + _csm.getDrawableCount = function (model) { + return _em.ccall("csmGetDrawableCount", "number", ["number"], [model]); + }; + _csm.getDrawableIds = function (model) { + return _em.ccall("csmGetDrawableIds", "number", ["number"], [model]); + }; + _csm.getDrawableConstantFlags = function (model) { + return _em.ccall("csmGetDrawableConstantFlags", "number", ["number"], [model]); + }; + _csm.getDrawableDynamicFlags = function (model) { + return _em.ccall("csmGetDrawableDynamicFlags", "number", ["number"], [model]); + }; + _csm.getDrawableTextureIndices = function (model) { + return _em.ccall("csmGetDrawableTextureIndices", "number", ["number"], [model]); + }; + _csm.getDrawableDrawOrders = function (model) { + return _em.ccall("csmGetDrawableDrawOrders", "number", ["number"], [model]); + }; + _csm.getDrawableRenderOrders = function (model) { + return _em.ccall("csmGetDrawableRenderOrders", "number", ["number"], [model]); + }; + _csm.getDrawableOpacities = function (model) { + return _em.ccall("csmGetDrawableOpacities", "number", ["number"], [model]); + }; + _csm.getDrawableMaskCounts = function (model) { + return _em.ccall("csmGetDrawableMaskCounts", "number", ["number"], [model]); + }; + _csm.getDrawableMasks = function (model) { + return _em.ccall("csmGetDrawableMasks", "number", ["number"], [model]); + }; + _csm.getDrawableVertexCounts = function (model) { + return _em.ccall("csmGetDrawableVertexCounts", "number", ["number"], [model]); + }; + _csm.getDrawableVertexPositions = function (model) { + return _em.ccall("csmGetDrawableVertexPositions", "number", ["number"], [model]); + }; + _csm.getDrawableVertexUvs = function (model) { + return _em.ccall("csmGetDrawableVertexUvs", "number", ["number"], [model]); + }; + _csm.getDrawableIndexCounts = function (model) { + return _em.ccall("csmGetDrawableIndexCounts", "number", ["number"], [model]); + }; + _csm.getDrawableIndices = function (model) { + return _em.ccall("csmGetDrawableIndices", "number", ["number"], [model]); + }; + _csm.mallocMoc = function (mocSize) { + return _em.ccall("csmMallocMoc", "number", ["number"], [mocSize]); + }; + _csm.mallocModelAndInitialize = function (moc) { + return _em.ccall("csmMallocModelAndInitialize", "number", ["number"], [moc]); + }; + _csm.malloc = function (size) { + return _em.ccall("csmMalloc", "number", ["number"], [size]); + }; + _csm.setLogFunction = function (handler) { + _em.ccall("csmSetLogFunction", null, ["number"], [handler]); + }; + _csm.updateModel = function (model) { + _em.ccall("csmUpdateModel", null, ["number"], [model]); + }; + _csm.readCanvasInfo = function (model, outSizeInPixels, outOriginInPixels, outPixelsPerUnit) { + _em.ccall("csmReadCanvasInfo", null, ["number", "number", "number", "number"], [model, outSizeInPixels, outOriginInPixels, outPixelsPerUnit]); + }; + _csm.resetDrawableDynamicFlags = function (model) { + _em.ccall("csmResetDrawableDynamicFlags", null, ["number"], [model]); + }; + _csm.free = function (memory) { + _em.ccall("csmFree", null, ["number"], [memory]); + }; + return _csm; + }()); + ; + /** Cubism version. */ + var Version = /** @class */ (function () { + function Version() { + } + /** + * Queries Core version. + * + * @return Core version. + */ + Version.csmGetVersion = function () { + return _csm.getVersion(); + }; + /** + * Gets Moc file supported latest version. + * + * @return Moc file latest format version. + */ + Version.csmGetLatestMocVersion = function () { + return _csm.getLatestMocVersion(); + }; + /** + * Gets Moc file format version. + * + * @param moc Moc + * + * @return csmMocVersion + */ + Version.csmGetMocVersion = function (moc) { + return _csm.getMocVersion(moc._ptr); + }; + return Version; + }()); + Live2DCubismCore.Version = Version; + /** Cubism logging. */ + var Logging = /** @class */ (function () { + function Logging() { + } + /** + * Sets log handler. + * + * @param handler Handler to use. + */ + Logging.csmSetLogFunction = function (handler) { + // Cache log handler. + Logging.logFunction = handler; + // Wrap function to pointer. + var pointer = _em.addFunction(Logging.wrapLogFunction, 'vi'); + // Sets log handler. + _csm.setLogFunction(pointer); + }; + /** + * Queries log handler. + * + * @return Log handler. + */ + Logging.csmGetLogFunction = function () { + return Logging.logFunction; + }; + /** + * Wrap log function. + * + * @param messagePtr number + * + * @return string + */ + Logging.wrapLogFunction = function (messagePtr) { + // Pointer to string. + var messageStr = _em.UTF8ToString(messagePtr); + // Run log function. + Logging.logFunction(messageStr); + }; + return Logging; + }()); + Live2DCubismCore.Logging = Logging; + /** Cubism moc. */ + var Moc = /** @class */ (function () { + /** + * Initializes instance. + * + * @param mocBytes Moc bytes. + */ + function Moc(mocBytes) { + // Allocate memory. + var memory = _csm.mallocMoc(mocBytes.byteLength); + if (!memory) { + return; + } + // Initialize memory. + var destination = new Uint8Array(_em.HEAPU8.buffer, memory, mocBytes.byteLength); + destination.set(new Uint8Array(mocBytes)); + // Revive moc. + this._ptr = _csm.reviveMocInPlace(memory, mocBytes.byteLength); + if (!this._ptr) { + _csm.free(memory); + } + } + /** Creates [[Moc]] from [[ArrayBuffer]]. + * + * @param buffer Array buffer + * + * @return [[Moc]] on success; [[null]] otherwise. + */ + Moc.fromArrayBuffer = function (buffer) { + if (!buffer) { + return null; + } + var moc = new Moc(buffer); + return (moc._ptr) + ? moc + : null; + }; + /** Releases instance. */ + Moc.prototype._release = function () { + _csm.free(this._ptr); + this._ptr = 0; + }; + return Moc; + }()); + Live2DCubismCore.Moc = Moc; + /** Cubism model. */ + var Model = /** @class */ (function () { + /** + * Initializes instance. + * + * @param moc Moc + */ + function Model(moc) { + this._ptr = _csm.mallocModelAndInitialize(moc._ptr); + if (!this._ptr) { + return; + } + this.parameters = new Parameters(this._ptr); + this.parts = new Parts(this._ptr); + this.drawables = new Drawables(this._ptr); + this.canvasinfo = new CanvasInfo(this._ptr); + } + /** + * Creates [[Model]] from [[Moc]]. + * + * @param moc Moc + * + * @return [[Model]] on success; [[null]] otherwise. + */ + Model.fromMoc = function (moc) { + var model = new Model(moc); + return (model._ptr) + ? model + : null; + }; + /** Updates instance. */ + Model.prototype.update = function () { + _csm.updateModel(this._ptr); + }; + /** Releases instance. */ + Model.prototype.release = function () { + _csm.free(this._ptr); + this._ptr = 0; + }; + return Model; + }()); + Live2DCubismCore.Model = Model; + /** Canvas information interface. */ + var CanvasInfo = /** @class */ (function () { + /** + * Initializes instance. + * + * @param modelPtr Native model pointer. + */ + function CanvasInfo(modelPtr) { + if (!modelPtr) { + return; + } + // Preserve the pointer ant heap for get data throw args. + var _canvasSize_data = new Float32Array(2); + var _canvasSize_nDataBytes = _canvasSize_data.length * _canvasSize_data.BYTES_PER_ELEMENT; + var _canvasSize_dataPtr = _csm.malloc(_canvasSize_nDataBytes); + var _canvasSize_dataHeap = new Uint8Array(_em.HEAPU8.buffer, _canvasSize_dataPtr, _canvasSize_nDataBytes); + _canvasSize_dataHeap.set(new Uint8Array(_canvasSize_data.buffer)); + var _canvasOrigin_data = new Float32Array(2); + var _canvasOrigin_nDataBytes = _canvasOrigin_data.length * _canvasOrigin_data.BYTES_PER_ELEMENT; + var _canvasOrigin_dataPtr = _csm.malloc(_canvasOrigin_nDataBytes); + var _canvasOrigin_dataHeap = new Uint8Array(_em.HEAPU8.buffer, _canvasOrigin_dataPtr, _canvasOrigin_nDataBytes); + _canvasOrigin_dataHeap.set(new Uint8Array(_canvasOrigin_data.buffer)); + var _canvasPPU_data = new Float32Array(1); + var _canvasPPU_nDataBytes = _canvasPPU_data.length * _canvasPPU_data.BYTES_PER_ELEMENT; + var _canvasPPU_dataPtr = _csm.malloc(_canvasPPU_nDataBytes); + var _canvasPPU_dataHeap = new Uint8Array(_em.HEAPU8.buffer, _canvasPPU_dataPtr, _canvasPPU_nDataBytes); + _canvasPPU_dataHeap.set(new Uint8Array(_canvasPPU_data.buffer)); + // Call function and get result + _csm.readCanvasInfo(modelPtr, _canvasSize_dataHeap.byteOffset, _canvasOrigin_dataHeap.byteOffset, _canvasPPU_dataHeap.byteOffset); + _canvasSize_data = new Float32Array(_canvasSize_dataHeap.buffer, _canvasSize_dataHeap.byteOffset, _canvasSize_dataHeap.length); + _canvasOrigin_data = new Float32Array(_canvasOrigin_dataHeap.buffer, _canvasOrigin_dataHeap.byteOffset, _canvasOrigin_dataHeap.length); + _canvasPPU_data = new Float32Array(_canvasPPU_dataHeap.buffer, _canvasPPU_dataHeap.byteOffset, _canvasPPU_dataHeap.length); + this.CanvasWidth = _canvasSize_data[0]; + this.CanvasHeight = _canvasSize_data[1]; + this.CanvasOriginX = _canvasOrigin_data[0]; + this.CanvasOriginY = _canvasOrigin_data[1]; + this.PixelsPerUnit = _canvasPPU_data[0]; + // Free heap memory + _csm.free(_canvasSize_dataHeap.byteOffset); + _csm.free(_canvasOrigin_dataHeap.byteOffset); + _csm.free(_canvasPPU_dataHeap.byteOffset); + } + return CanvasInfo; + }()); + Live2DCubismCore.CanvasInfo = CanvasInfo; + /** Cubism model parameters */ + var Parameters = /** @class */ (function () { + /** + * Initializes instance. + * + * @param modelPtr Native model. + */ + function Parameters(modelPtr) { + var length = 0; + this.count = _csm.getParameterCount(modelPtr); + length = _csm.getParameterCount(modelPtr); + this.ids = new Array(length); + var _ids = new Uint32Array(_em.HEAPU32.buffer, _csm.getParameterIds(modelPtr), length); + for (var i = 0; i < _ids.length; i++) { + this.ids[i] = _em.UTF8ToString(_ids[i]); + } + length = _csm.getParameterCount(modelPtr); + this.minimumValues = new Float32Array(_em.HEAPF32.buffer, _csm.getParameterMinimumValues(modelPtr), length); + length = _csm.getParameterCount(modelPtr); + this.maximumValues = new Float32Array(_em.HEAPF32.buffer, _csm.getParameterMaximumValues(modelPtr), length); + length = _csm.getParameterCount(modelPtr); + this.defaultValues = new Float32Array(_em.HEAPF32.buffer, _csm.getParameterDefaultValues(modelPtr), length); + length = _csm.getParameterCount(modelPtr); + this.values = new Float32Array(_em.HEAPF32.buffer, _csm.getParameterValues(modelPtr), length); + } + return Parameters; + }()); + Live2DCubismCore.Parameters = Parameters; + /** Cubism model parts */ + var Parts = /** @class */ (function () { + /** + * Initializes instance. + * + * @param modelPtr Native model. + */ + function Parts(modelPtr) { + var length = 0; + this.count = _csm.getPartCount(modelPtr); + length = _csm.getPartCount(modelPtr); + this.ids = new Array(length); + var _ids = new Uint32Array(_em.HEAPU32.buffer, _csm.getPartIds(modelPtr), length); + for (var i = 0; i < _ids.length; i++) { + this.ids[i] = _em.UTF8ToString(_ids[i]); + } + length = _csm.getPartCount(modelPtr); + this.opacities = new Float32Array(_em.HEAPF32.buffer, _csm.getPartOpacities(modelPtr), length); + length = _csm.getPartCount(modelPtr); + this.parentIndices = new Int32Array(_em.HEAP32.buffer, _csm.getPartParentPartIndices(modelPtr), length); + } + return Parts; + }()); + Live2DCubismCore.Parts = Parts; + /** Cubism model drawables */ + var Drawables = /** @class */ (function () { + /** + * Initializes instance. + * + * @param modelPtr Native model. + */ + function Drawables(modelPtr) { + this._modelPtr = modelPtr; + var length = 0; + var length2 = null; + this.count = _csm.getDrawableCount(modelPtr); + length = _csm.getDrawableCount(modelPtr); + this.ids = new Array(length); + var _ids = new Uint32Array(_em.HEAPU32.buffer, _csm.getDrawableIds(modelPtr), length); + for (var i = 0; i < _ids.length; i++) { + this.ids[i] = _em.UTF8ToString(_ids[i]); + } + length = _csm.getDrawableCount(modelPtr); + this.constantFlags = new Uint8Array(_em.HEAPU8.buffer, _csm.getDrawableConstantFlags(modelPtr), length); + length = _csm.getDrawableCount(modelPtr); + this.dynamicFlags = new Uint8Array(_em.HEAPU8.buffer, _csm.getDrawableDynamicFlags(modelPtr), length); + length = _csm.getDrawableCount(modelPtr); + this.textureIndices = new Int32Array(_em.HEAP32.buffer, _csm.getDrawableTextureIndices(modelPtr), length); + length = _csm.getDrawableCount(modelPtr); + this.drawOrders = new Int32Array(_em.HEAP32.buffer, _csm.getDrawableDrawOrders(modelPtr), length); + length = _csm.getDrawableCount(modelPtr); + this.renderOrders = new Int32Array(_em.HEAP32.buffer, _csm.getDrawableRenderOrders(modelPtr), length); + length = _csm.getDrawableCount(modelPtr); + this.opacities = new Float32Array(_em.HEAPF32.buffer, _csm.getDrawableOpacities(modelPtr), length); + length = _csm.getDrawableCount(modelPtr); + this.maskCounts = new Int32Array(_em.HEAP32.buffer, _csm.getDrawableMaskCounts(modelPtr), length); + length = _csm.getDrawableCount(modelPtr); + this.vertexCounts = new Int32Array(_em.HEAP32.buffer, _csm.getDrawableVertexCounts(modelPtr), length); + length = _csm.getDrawableCount(modelPtr); + this.indexCounts = new Int32Array(_em.HEAP32.buffer, _csm.getDrawableIndexCounts(modelPtr), length); + length = _csm.getDrawableCount(modelPtr); + length2 = new Int32Array(_em.HEAP32.buffer, _csm.getDrawableMaskCounts(modelPtr), length); + this.masks = new Array(length); + var _masks = new Uint32Array(_em.HEAPU32.buffer, _csm.getDrawableMasks(modelPtr), length); + for (var i = 0; i < _masks.length; i++) { + this.masks[i] = new Int32Array(_em.HEAP32.buffer, _masks[i], length2[i]); + } + length = _csm.getDrawableCount(modelPtr); + length2 = new Int32Array(_em.HEAP32.buffer, _csm.getDrawableVertexCounts(modelPtr), length); + this.vertexPositions = new Array(length); + var _vertexPositions = new Uint32Array(_em.HEAPU32.buffer, _csm.getDrawableVertexPositions(modelPtr), length); + for (var i = 0; i < _vertexPositions.length; i++) { + this.vertexPositions[i] = new Float32Array(_em.HEAPF32.buffer, _vertexPositions[i], length2[i] * 2); + } + length = _csm.getDrawableCount(modelPtr); + length2 = new Int32Array(_em.HEAP32.buffer, _csm.getDrawableVertexCounts(modelPtr), length); + this.vertexUvs = new Array(length); + var _vertexUvs = new Uint32Array(_em.HEAPU32.buffer, _csm.getDrawableVertexUvs(modelPtr), length); + for (var i = 0; i < _vertexUvs.length; i++) { + this.vertexUvs[i] = new Float32Array(_em.HEAPF32.buffer, _vertexUvs[i], length2[i] * 2); + } + length = _csm.getDrawableCount(modelPtr); + length2 = new Int32Array(_em.HEAP32.buffer, _csm.getDrawableIndexCounts(modelPtr), length); + this.indices = new Array(length); + var _indices = new Uint32Array(_em.HEAPU32.buffer, _csm.getDrawableIndices(modelPtr), length); + for (var i = 0; i < _indices.length; i++) { + this.indices[i] = new Uint16Array(_em.HEAPU16.buffer, _indices[i], length2[i]); + } + } + /** Resets all dynamic drawable flags.. */ + Drawables.prototype.resetDynamicFlags = function () { + _csm.resetDrawableDynamicFlags(this._modelPtr); + }; + return Drawables; + }()); + Live2DCubismCore.Drawables = Drawables; + /** Utility functions. */ + var Utils = /** @class */ (function () { + function Utils() { + } + /** + * Checks whether flag is set in bitfield. + * + * @param bitfield Bitfield to query against. + * + * @return [[true]] if bit set; [[false]] otherwise + */ + Utils.hasBlendAdditiveBit = function (bitfield) { + return (bitfield & (1 << 0)) == (1 << 0); + }; + /** + * Checks whether flag is set in bitfield. + * + * @param bitfield Bitfield to query against. + * + * @return [[true]] if bit set; [[false]] otherwise + */ + Utils.hasBlendMultiplicativeBit = function (bitfield) { + return (bitfield & (1 << 1)) == (1 << 1); + }; + /** + * Checks whether flag is set in bitfield. + * + * @param bitfield Bitfield to query against. + * + * @return [[true]] if bit set; [[false]] otherwise + */ + Utils.hasIsDoubleSidedBit = function (bitfield) { + return (bitfield & (1 << 2)) == (1 << 2); + }; + /** + * Checks whether flag is set in bitfield. + * + * @param bitfield Bitfield to query against. + * + * @return [[true]] if bit set; [[false]] otherwise + */ + Utils.hasIsInvertedMaskBit = function (bitfield) { + return (bitfield & (1 << 3)) == (1 << 3); + }; + /** + * Checks whether flag is set in bitfield. + * + * @param bitfield Bitfield to query against. + * + * @return [[true]] if bit set; [[false]] otherwise + */ + Utils.hasIsVisibleBit = function (bitfield) { + return (bitfield & (1 << 0)) == (1 << 0); + }; + /** + * Checks whether flag is set in bitfield. + * + * @param bitfield Bitfield to query against. + * + * @return [[true]] if bit set; [[false]] otherwise + */ + Utils.hasVisibilityDidChangeBit = function (bitfield) { + return (bitfield & (1 << 1)) == (1 << 1); + }; + /** + * Checks whether flag is set in bitfield. + * + * @param bitfield Bitfield to query against. + * + * @return [[true]] if bit set; [[false]] otherwise + */ + Utils.hasOpacityDidChangeBit = function (bitfield) { + return (bitfield & (1 << 2)) == (1 << 2); + }; + /** + * Checks whether flag is set in bitfield. + * + * @param bitfield Bitfield to query against. + * + * @return [[true]] if bit set; [[false]] otherwise + */ + Utils.hasDrawOrderDidChangeBit = function (bitfield) { + return (bitfield & (1 << 3)) == (1 << 3); + }; + /** + * Checks whether flag is set in bitfield. + * + * @param bitfield Bitfield to query against. + * + * @return [[true]] if bit set; [[false]] otherwise + */ + Utils.hasRenderOrderDidChangeBit = function (bitfield) { + return (bitfield & (1 << 4)) == (1 << 4); + }; + /** + * Checks whether flag is set in bitfield. + * + * @param bitfield Bitfield to query against. + * + * @return [[true]] if bit set; [[false]] otherwise + */ + Utils.hasVertexPositionsDidChangeBit = function (bitfield) { + return (bitfield & (1 << 5)) == (1 << 5); + }; + return Utils; + }()); + Live2DCubismCore.Utils = Utils; + /** Emscripten Cubism Core module. */ + var _em_module=function(){var _scriptDir="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0;return"undefined"!=typeof __filename&&(_scriptDir=_scriptDir||__filename),function(_em_module){var b;_em_module=_em_module||{},b=b||(void 0!==_em_module?_em_module:{});var n,l={};for(n in b)b.hasOwnProperty(n)&&(l[n]=b[n]);var t,p=!1,q=!1,r=!1;p="object"==typeof window,q="function"==typeof importScripts,r="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node&&!p&&!q,t=!p&&!r&&!q;var v,w,x,y,u="";r?(u=__dirname+"/",v=function(a,c){var d=z(a);return d?c?d:d.toString():(x=x||require("fs"),a=(y=y||require("path")).normalize(a),x.readFileSync(a,c?null:"utf8"))},w=function(a){return(a=v(a,!0)).buffer||(a=new Uint8Array(a)),assert(a.buffer),a},1>2])+-1|0,Pf=(Hf=q[a>>2])+-1|0,Qf=Lf=(mf=q[a+20>>2])+(Bf<<3)|0,Rf=Mf=((Kf=w(Hf,Cf=Bf+1|0))<<3)+mf|0,Sf=Nf=(Bf+Kf<<3)+mf|0,If=x(0|Hf),Jf=x(0|Bf),_f=q[a+8>>2],a=0;;){lf=u[4+(ef=(Ff=a<<3)+bf|0)>>2],gf=x(lf*If),nf=u[ef>>2],ff=x(nf*Jf),ef=lf>=x(1);a:if(lf=x(1)|nf>2]=x(x(x(ff*x(gf*u[hf>>2]))+x(ff*x(jf*u[hf+8>>2])))+x(kf*x(gf*u[ef>>2])))+x(kf*x(jf*u[ef+8>>2])),ff=x(x(x(ff*x(gf*u[hf+4>>2]))+x(ff*x(jf*u[hf+12>>2])))+x(kf*x(gf*u[ef+4>>2]))),x(kf*x(jf*u[ef+12>>2]))):x(jf+kf)<=x(1)?(ff=x(x(x(1)-jf)-kf),hf=(ef<<3)+mf|0,ef=(ef+Cf<<3)+mf|0,u[cf+Ff>>2]=x(x(ff*u[hf>>2])+x(jf*u[hf+8>>2]))+x(kf*u[ef>>2]),ff=x(x(ff*u[hf+4>>2])+x(jf*u[hf+12>>2])),x(kf*u[ef+4>>2])):(ff=x(x(jf+x(-1))+kf),hf=(ef+Cf<<3)+mf|0,gf=x(x(1)-jf),lf=x(x(1)-kf),ef=(ef<<3)+mf|0,u[cf+Ff>>2]=x(x(ff*u[hf+8>>2])+x(gf*u[hf>>2]))+x(lf*u[ef+8>>2]),ff=x(x(ff*u[hf+12>>2])+x(gf*u[hf+4>>2])),x(lf*u[ef+12>>2]));else{if($f||(sf=u[Sf+4>>2],Tf=u[mf+4>>2],of=x(sf-Tf),Uf=u[Qf+4>>2],Vf=u[Rf+4>>2],pf=x(Uf-Vf),tf=x(x(of-pf)*x(.5)),Wf=u[Nf>>2],Xf=u[mf>>2],qf=x(Wf-Xf),Yf=u[Lf>>2],Zf=u[Mf>>2],rf=x(Yf-Zf),uf=x(x(qf-rf)*x(.5)),pf=x(x(pf+of)*x(.5)),rf=x(x(rf+qf)*x(.5)),$f=1,of=x(x(x(x(x(Tf+Uf)+Vf)+sf)*x(.25))-x(of*x(.5))),qf=x(x(x(x(x(Xf+Yf)+Zf)+Wf)*x(.25))-x(qf*x(.5)))),!(lfx(-2)^1|(nfx(-2)^1))){b:if(nf<=x(0)){if(lf<=x(0)){kf=x(x(lf+x(2))*x(.5)),jf=x(x(nf+x(2))*x(.5)),ff=x(tf+tf),Df=x(of-ff),gf=x(uf+uf),Ef=x(qf-gf),zf=x(of-x(pf+pf)),vf=x(zf-ff),Af=x(qf-x(rf+rf)),wf=x(Af-gf),xf=u[mf+4>>2],yf=u[mf>>2];break b}if(ef){ff=x(tf*x(3)),gf=x(of-x(pf+pf)),zf=x(ff+gf),vf=x(uf*x(3)),wf=x(qf-x(rf+rf)),Af=x(vf+wf),kf=x(x(lf+x(-1))*x(.5)),jf=x(x(nf+x(2))*x(.5)),xf=x(ff+of),yf=x(vf+qf),vf=x(tf+gf),wf=x(uf+wf),Df=u[Rf+4>>2],Ef=u[Mf>>2];break b}ff=x(of-x(pf+pf)),ef=Pf,hf=x(y(gf))>2],Ef=u[ef>>2],ef=(w(hf,Cf)<<3)+mf|0,xf=u[ef+4>>2],yf=u[ef>>2]}else if(nf>=x(1)){if(lf<=x(0)){kf=x(x(lf+x(2))*x(.5)),jf=x(x(nf+x(-1))*x(.5)),ff=x(tf+tf),vf=x(x(pf+of)-ff),gf=x(uf+uf),wf=x(x(rf+qf)-gf),xf=x(x(pf*x(3))+of),Df=x(xf-ff),yf=x(x(rf*x(3))+qf),Ef=x(yf-gf),zf=u[Qf+4>>2],Af=u[Lf>>2];break b}if(ef){ff=x(tf*x(3)),zf=x(ff+x(pf+of)),gf=x(uf*x(3)),Af=x(gf+x(rf+qf)),sf=ff,ff=x(x(pf*x(3))+of),xf=x(sf+ff),sf=gf,gf=x(x(rf*x(3))+qf),yf=x(sf+gf),kf=x(x(lf+x(-1))*x(.5)),jf=x(x(nf+x(-1))*x(.5)),Df=x(tf+ff),Ef=x(uf+gf),vf=u[Sf+4>>2],wf=u[Nf>>2];break b}ff=x(x(pf*x(3))+of),ef=Pf,hf=x(y(gf))>2],wf=u[ef>>2],ef=(w(hf,Cf)+Bf<<3)+mf|0,zf=u[ef+4>>2],Af=u[ef>>2]}else lf<=x(0)?(kf=x(x(lf+x(2))*x(.5)),ef=Of,hf=x(y(gf=ff))>2],Af=u[ef>>2],xf=u[4+(ef=(hf<<3)+mf|0)>>2],yf=u[ef>>2]):ef?(sf=gf=x(tf*x(3)),ef=Of,hf=x(y(ff))>2],wf=u[ef>>2],Df=u[4+(ef=(hf+Kf<<3)+mf|0)>>2],Ef=u[ef>>2]):(v[16+Gf>>3]=lf,q[Gf>>2]=a,v[8+Gf>>3]=nf,Y(4,1104,Gf));if(x(jf+kf)<=x(1)){u[cf+Ff>>2]=x(wf+x(x(Ef-wf)*jf))+x(x(Af-wf)*kf),ff=x(vf+x(x(Df-vf)*jf)),gf=x(x(zf-vf)*kf);break a}ff=x(x(1)-jf),gf=x(x(1)-kf),u[cf+Ff>>2]=x(yf+x(x(Af-yf)*ff))+x(x(Ef-yf)*gf),ff=x(xf+x(x(zf-xf)*ff)),gf=x(x(Df-xf)*gf);break a}u[cf+Ff>>2]=x(lf*uf)+x(x(nf*rf)+qf),ff=x(lf*tf),gf=x(x(nf*pf)+of)}if(u[4+(cf+Ff|0)>>2]=ff+gf,(0|df)==(0|(a=a+1|0)))break}L=32+Gf|0},n[2]=function(a,qe,re){a|=0,qe|=0;var Ge,He,Ie,Fe=0;if(He=q[140+(re|=0)>>2],Ie=q[re+136>>2],Ge=q[a+24>>2],-1==(0|(Fe=q[a+4>>2])))return q[(a=qe<<2)+Ie>>2]=q[Ge+16>>2],void(q[a+He>>2]=1065353216);re=q[re+4>>2]+(Fe<<5)|0,Fe=q[Ge+20>>2],n[q[re+20>>2]](q[re+24>>2],Fe,Fe,q[Ge+12>>2]),qe<<=2,a=q[a+4>>2]<<2,u[qe+Ie>>2]=u[Ge+16>>2]*u[a+Ie>>2],q[qe+He>>2]=q[a+He>>2]},n[3]=function(a,qe,re,Je){a|=0,qe|=0,re|=0,Je|=0;var Se,Ke=x(0),Le=x(0),Me=x(0),Ne=x(0),Oe=0,Pe=x(0),Qe=0,Re=x(0),Te=x(0),Ue=x(0);if(Oe=q[a+28>>2],Le=function(a){var Rb,Pb=x(0),Qb=0,Sb=0,Tb=0;L=Rb=L-16|0,j(a);a:if((Qb=2147483647&(Sb=e(0)))>>>0<=1061752794){if(Pb=x(1),Qb>>>0<964689920)break a;Pb=aa(+a)}else if(Qb>>>0<=1081824209){if(Tb=+a,1075235812<=Qb>>>0){Pb=x(-aa(((0|Sb)<0?3.141592653589793:-3.141592653589793)+Tb));break a}if((0|Sb)<=-1){Pb=$(Tb+1.5707963267948966);break a}Pb=$(1.5707963267948966-Tb)}else if(Qb>>>0<=1088565717){if(1085271520<=Qb>>>0){Pb=aa(+a+((0|Sb)<0?6.283185307179586:-6.283185307179586));break a}if((0|Sb)<=-1){Pb=$(-4.71238898038469-a);break a}Pb=$(a-4.71238898038469)}else if(Pb=x(a-a),!(2139095040<=Qb>>>0))if((Qb=3&la(a,8+Rb|0))>>>0<=2){b:switch(Qb-1|0){default:Pb=aa(v[8+Rb>>3]);break a;case 0:Pb=$(-v[8+Rb>>3]);break a;case 1:}Pb=x(-aa(v[8+Rb>>3]))}else Pb=$(v[8+Rb>>3]);return L=16+Rb|0,a=Pb}(Ke=x(x(x(u[a>>2]+u[a+20>>2])*x(3.1415927410125732))/x(180))),Me=u[a+8>>2],Se=q[a+24>>2],Ke=function(a){var Mb,Fb=0,Nb=0,Ob=0;L=Mb=L-16|0,j(a);a:if((Fb=2147483647&(Ob=e(0)))>>>0<=1061752794){if(Fb>>>0<964689920)break a;a=$(+a)}else if(Fb>>>0<=1081824209){if(Nb=+a,Fb>>>0<=1075235811){if((0|Ob)<=-1){a=x(-aa(Nb+1.5707963267948966));break a}a=aa(Nb+-1.5707963267948966);break a}a=$(-(((0|Ob)<0?3.141592653589793:-3.141592653589793)+Nb))}else if(Fb>>>0<=1088565717){if(Nb=+a,Fb>>>0<=1085271519){if((0|Ob)<=-1){a=aa(Nb+4.71238898038469);break a}a=x(-aa(Nb+-4.71238898038469));break a}a=$(((0|Ob)<0?6.283185307179586:-6.283185307179586)+Nb)}else if(2139095040<=Fb>>>0)a=x(a-a);else if((Fb=3&la(a,8+Mb|0))>>>0<=2){b:switch(Fb-1|0){default:a=$(v[8+Mb>>3]);break a;case 0:a=aa(v[8+Mb>>3]);break a;case 1:}a=$(-v[8+Mb>>3])}else a=x(-aa(v[8+Mb>>3]));return L=16+Mb|0,a}(Ke),0<(0|Je))for(Le=x(Me*Le),Pe=x(Oe?-1:1),Te=x(Le*Pe),Ne=x(Se?-1:1),Ue=x(Ne*x(Me*Ke)),Le=x(Ne*Le),Me=x(x(Me*x(-Ke))*Pe),Ke=u[a+16>>2],Pe=u[a+12>>2];Oe=(a=Qe<<3)+re|0,Ne=u[(a=a+qe|0)>>2],Re=u[a+4>>2],u[Oe+4>>2]=Ke+x(x(Ue*Ne)+x(Te*Re)),u[Oe>>2]=Pe+x(x(Le*Ne)+x(Me*Re)),(0|(Qe=Qe+1|0))!=(0|Je););},n[4]=function(a,qe,re){a|=0,qe|=0,re|=0;var se,te,ze,Ae,Be,ue=0,ve=x(0),we=x(0),xe=0,ye=x(0),Ce=x(0),De=x(0),Ee=x(0);if(L=se=L+-64|0,ze=q[re+140>>2],Ae=q[re+136>>2],te=q[a+24>>2],-1!=(0|(Be=q[a+4>>2]))){ue=q[re+4>>2],xe=q[te+12>>2],q[24+se>>2]=xe,re=q[te+16>>2],q[28+se>>2]=re,q[16+se>>2]=0,Ce=1==q[8+(ue=ue+(Be<<5)|0)>>2]?x(-10):x(-.10000000149011612),u[20+se>>2]=Ce,q[60+se>>2]=re,q[56+se>>2]=xe,n[q[ue+20>>2]](q[ue+24>>2],56+se|0,48+se|0,1),ye=x(1),xe=9;b:{for(;;){if(re=xe,De=x(ye*x(0)),u[32+se>>2]=De+u[56+se>>2],Ee=x(Ce*ye),u[36+se>>2]=Ee+u[60+se>>2],n[q[ue+20>>2]](q[ue+24>>2],32+se|0,40+se|0,1),we=x(u[44+se>>2]-u[52+se>>2]),u[44+se>>2]=we,ve=x(u[40+se>>2]-u[48+se>>2]),u[40+se>>2]=ve,we!=x(0)||ve!=x(0)){re=q[44+se>>2],q[8+se>>2]=q[40+se>>2],q[12+se>>2]=re;break b}if(u[32+se>>2]=u[56+se>>2]-De,u[36+se>>2]=u[60+se>>2]-Ee,n[q[ue+20>>2]](q[ue+24>>2],32+se|0,40+se|0,1),we=x(u[40+se>>2]-u[48+se>>2]),u[40+se>>2]=we,ve=x(u[44+se>>2]-u[52+se>>2]),(u[44+se>>2]=ve)!=x(0)||we!=x(0)){u[12+se>>2]=-ve,u[8+se>>2]=-we;break b}if(xe=re+-1|0,ye=x(ye*x(.10000000149011612)),!re)break}Y(3,1265,0)}ve=function(a,dh){var eh=x(0);if((eh=x(Aa(u[a+4>>2],u[a>>2])-Aa(u[dh+4>>2],u[dh>>2])))x(3.1415927410125732))for(;(eh=x(eh+x(-6.2831854820251465)))>x(3.1415927410125732););return eh}(16+se|0,8+se|0),n[q[ue+20>>2]](q[ue+24>>2],24+se|0,24+se|0,1),q[te+12>>2]=q[24+se>>2],q[te+16>>2]=q[28+se>>2],u[te+20>>2]=u[te+20>>2]+x(x(ve*x(-180))/x(3.1415927410125732)),qe<<=2,a=q[a+4>>2]<<2,u[qe+Ae>>2]=u[te+4>>2]*u[a+Ae>>2],ve=x(u[te+8>>2]*u[a+ze>>2]),u[qe+ze>>2]=ve,u[te+8>>2]=ve}else q[(a=qe<<2)+Ae>>2]=q[te+4>>2],q[a+ze>>2]=q[te+8>>2];L=64+se|0},n[5]=function(a){a|=0;var hg,lg,bf=0,cf=0,df=0,ag=0,bg=0,cg=x(0),dg=0,eg=0,fg=0,gg=0,ig=0,jg=0,kg=0,mg=0,ng=0,og=0,pg=0;if(fg=q[a+248>>2],lg=q[a+204>>2],hg=q[a+200>>2],!((0|(bg=q[a+220>>2]))<1)){for(dg=q[a+236>>2],ag=q[a+216>>2],df=q[a+224>>2];u[(cf=bf<<2)+dg>>2]=u[cf+df>>2]*u[cf+ag>>2],(0|bg)!=(0|(bf=bf+1|0)););if(!((0|bg)<1))for(dg=q[a+240>>2],ag=q[a+216>>2],df=q[a+228>>2],bf=0;u[(cf=bf<<2)+dg>>2]=u[cf+df>>2]*u[cf+ag>>2],(0|bg)!=(0|(bf=bf+1|0)););}if(1<=(0|hg))for(mg=q[a+208>>2],bg=dg=0;;){if(q[fg>>2]){gg=(df=q[(cf=dg<<2)+q[a+212>>2]>>2])+bg|0;c:{if((0|df)<=0)q[cf+q[a+276>>2]>>2]=0;else{for(ag=q[a+236>>2],cg=x(0),bf=bg;cg=x(cg+u[ag+(bf<<2)>>2]),(0|(bf=bf+1|0))<(0|gg););if(u[cf+q[a+276>>2]>>2]=cg,!((0|df)<1)){for(ag=q[a+240>>2],cg=x(0),bf=bg;cg=x(cg+u[ag+(bf<<2)>>2]),(0|(bf=bf+1|0))<(0|gg););break c}}cg=x(0)}if(bf=cf+q[a+268>>2]|0,cg=x(cg+x(.0010000000474974513)),ag=x(y(cg))>2]=ag,ag=(bf=q[12+((dg<<4)+lg|0)>>2])<<1,ig=q[cf+q[a+272>>2]>>2],(bf=(0|bf)<1)||ba(ig,0,(1<(0|ag)?ag:1)<<2),!(bf|(0|df)<1))for(jg=q[a+244>>2],ng=q[a+216>>2],og=q[a+232>>2],cf=bg;;){for(eg=(bf=cf<<2)+ng|0,pg=q[bf+og>>2],df=bf=0;u[jg+(kg=df<<2)>>2]=u[pg+kg>>2]*u[eg>>2],(0|(df=df+1|0))<(0|ag););for(;u[(eg=(df=bf<<2)+ig|0)>>2]=u[df+jg>>2]+u[eg>>2],(0|(bf=bf+1|0))<(0|ag););if(!((0|(cf=cf+1|0))<(0|gg)))break}}if(fg=fg+4|0,bg=q[(dg<<2)+mg>>2]+bg|0,(0|hg)==(0|(dg=dg+1|0)))break}},n[6]=function(a){a|=0;var Lg,Pg,Cg=0,Dg=0,Eg=0,Fg=0,Gg=0,Hg=0,Ig=x(0),Jg=0,Kg=0,Mg=0,Ng=0,Og=0,Qg=0,Rg=0,Sg=0,Tg=0,Ug=0;if(Kg=q[a+172>>2],Lg=q[a- -64>>2],Pg=q[a+68>>2],1<=(0|(Eg=q[a+92>>2])))for(Gg=q[a+104>>2],Hg=q[a+88>>2],Dg=q[a+96>>2];u[(Fg=Cg<<2)+Gg>>2]=u[Dg+Fg>>2]*u[Hg+Fg>>2],(0|Eg)!=(0|(Cg=Cg+1|0)););if(1<=(0|Lg))for(Qg=q[a+80>>2],Fg=Gg=0;;){if(q[Kg>>2]){if(Mg=(Cg=q[q[a+84>>2]+(Gg<<2)>>2])+Fg|0,Eg=(0|Cg)<1)Ig=x(0);else for(Hg=q[a+104>>2],Ig=x(0),Cg=Fg;Ig=x(Ig+u[Hg+(Cg<<2)>>2]),(0|(Cg=Cg+1|0))<(0|Mg););if(Cg=w(Gg,24)+Pg|0,u[Cg+16>>2]=Ig,Hg=(Dg=q[Cg+12>>2])<<1,(Dg=(0|Dg)<1)||ba(q[Cg+20>>2],0,(1<(0|Hg)?Hg:1)<<2),!(Dg|Eg))for(Rg=q[Cg+20>>2],Ng=q[a+108>>2],Sg=q[a+88>>2],Tg=q[a+100>>2],Eg=Fg;;){for(Jg=(Cg=Eg<<2)+Sg|0,Ug=q[Cg+Tg>>2],Dg=Cg=0;u[(Og=Dg<<2)+Ng>>2]=u[Ug+Og>>2]*u[Jg>>2],(0|(Dg=Dg+1|0))<(0|Hg););for(;u[(Jg=(Dg=Cg<<2)+Rg|0)>>2]=u[Dg+Ng>>2]+u[Jg>>2],(0|(Cg=Cg+1|0))<(0|Hg););if(!((0|(Eg=Eg+1|0))<(0|Mg)))break}}if(Kg=Kg+4|0,Fg=q[(Gg<<2)+Qg>>2]+Fg|0,(0|Lg)==(0|(Gg=Gg+1|0)))break}},n[7]=function(a){a|=0;var ch,Vg=0,Wg=x(0),Xg=0,Yg=0,Zg=0,_g=0,$g=0,ah=0,bh=0;if($g=q[a+36>>2],ch=q[a+4>>2],1<=(0|(Yg=q[a+24>>2])))for(ah=q[a+32>>2],bh=q[a+20>>2],Xg=q[a+28>>2];u[(Zg=Vg<<2)+ah>>2]=u[Xg+Zg>>2]*u[Zg+bh>>2],(0|Yg)!=(0|(Vg=Vg+1|0)););if(1<=(0|ch))for(Zg=q[a+12>>2],Xg=0;;){if(q[$g>>2]){if((0|(Vg=q[(Yg=_g<<2)+q[a+16>>2]>>2]))<1)Wg=x(0);else for(ah=Vg+Xg|0,bh=q[a+32>>2],Wg=x(0),Vg=Xg;Wg=x(Wg+u[bh+(Vg<<2)>>2]),(0|(Vg=Vg+1|0))<(0|ah););Vg=Yg+q[a+44>>2]|0,Wg=x(Wg+x(.0010000000474974513)),x(y(Wg))>2]=~~Wg:q[Vg>>2]=-2147483648}if($g=$g+4|0,Xg=q[Zg+(_g<<2)>>2]+Xg|0,(0|ch)==(0|(_g=_g+1|0)))break}},n[8]=function(a){a|=0;var yg,Bg,qg=0,rg=0,sg=x(0),tg=0,ug=0,vg=0,wg=0,xg=0,zg=0,Ag=0;if(Ag=q[a+176>>2],Bg=q[a+72>>2],yg=q[a+76>>2],!((0|(vg=q[a+124>>2]))<1)){for(wg=q[a+148>>2],tg=q[a+120>>2],ug=q[a+128>>2];u[(rg=qg<<2)+wg>>2]=u[rg+ug>>2]*u[rg+tg>>2],(0|vg)!=(0|(qg=qg+1|0)););if(!((0|vg)<1)){for(wg=q[a+152>>2],tg=q[a+120>>2],ug=q[a+132>>2],qg=0;u[(rg=qg<<2)+wg>>2]=u[rg+ug>>2]*u[rg+tg>>2],(0|vg)!=(0|(qg=qg+1|0)););if(!((0|vg)<1)){for(wg=q[a+156>>2],tg=q[a+120>>2],ug=q[a+136>>2],qg=0;u[(rg=qg<<2)+wg>>2]=u[rg+ug>>2]*u[rg+tg>>2],(0|vg)!=(0|(qg=qg+1|0)););if(!((0|vg)<1)){for(wg=q[a+160>>2],tg=q[a+120>>2],ug=q[a+140>>2],qg=0;u[(rg=qg<<2)+wg>>2]=u[rg+ug>>2]*u[rg+tg>>2],(0|vg)!=(0|(qg=qg+1|0)););if(!((0|vg)<1))for(wg=q[a+164>>2],tg=q[a+120>>2],ug=q[a+144>>2],qg=0;u[(rg=qg<<2)+wg>>2]=u[rg+ug>>2]*u[rg+tg>>2],(0|vg)!=(0|(qg=qg+1|0)););}}}}if(1<=(0|Bg))for(wg=q[a+112>>2],ug=0;;){if(q[Ag>>2]){b:{c:{d:{e:{if((0|(rg=q[q[a+116>>2]+(xg<<2)>>2]))<=0)q[4+((xg<<5)+yg|0)>>2]=0;else{for(zg=rg+ug|0,tg=q[a+148>>2],sg=x(0),qg=ug;sg=x(sg+u[tg+(qg<<2)>>2]),(0|(qg=qg+1|0))<(0|zg););if(u[4+(vg=(xg<<5)+yg|0)>>2]=sg,!(rg=(0|rg)<1)){for(tg=q[a+152>>2],sg=x(0),qg=ug;sg=x(sg+u[tg+(qg<<2)>>2]),(0|(qg=qg+1|0))<(0|zg););if(u[vg+20>>2]=sg,rg)break e;for(tg=q[a+156>>2],sg=x(0),qg=ug;sg=x(sg+u[tg+(qg<<2)>>2]),(0|(qg=qg+1|0))<(0|zg););if(u[vg+12>>2]=sg,rg)break d;for(tg=q[a+160>>2],sg=x(0),qg=ug;sg=x(sg+u[tg+(qg<<2)>>2]),(0|(qg=qg+1|0))<(0|zg););if(u[vg+16>>2]=sg,rg)break c;for(tg=q[a+164>>2],sg=x(0),qg=ug;sg=x(sg+u[tg+(qg<<2)>>2]),(0|(qg=qg+1|0))<(0|zg););break b}}q[20+((xg<<5)+yg|0)>>2]=0}q[12+((xg<<5)+yg|0)>>2]=0}q[16+((xg<<5)+yg|0)>>2]=0}sg=x(0)}u[8+((xg<<5)+yg|0)>>2]=sg}if(Ag=Ag+4|0,ug=q[wg+(xg<<2)>>2]+ug|0,(0|Bg)==(0|(xg=xg+1|0)))break}},n[9]=function(a){a|=0;var ae,Ud=0,Vd=0,Wd=0,Xd=0,Yd=0,Zd=x(0),_d=0,$d=0,be=0,ce=0;if(ae=q[a+340>>2],1<=(0|(Wd=q[a+360>>2])))for(_d=q[a+368>>2],$d=q[a+356>>2],Vd=q[a+364>>2];u[(Xd=Ud<<2)+_d>>2]=u[Vd+Xd>>2]*u[Xd+$d>>2],(0|Wd)!=(0|(Ud=Ud+1|0)););if(1<=(0|ae))for(be=q[a+348>>2],ce=q[a+344>>2],Xd=q[a+352>>2],Vd=0;;){if((0|(Ud=q[(Wd=Yd<<2)+Xd>>2]))<1)Zd=x(0);else for(_d=Ud+Vd|0,$d=q[a+368>>2],Zd=x(0),Ud=Vd;Zd=x(Zd+u[$d+(Ud<<2)>>2]),(0|(Ud=Ud+1|0))<(0|_d););if(u[20+(w(Yd,24)+ce|0)>>2]=Zd,Vd=q[Wd+be>>2]+Vd|0,(0|ae)==(0|(Yd=Yd+1|0)))break}},n[10]=function(a){var ud=0,vd=0,wd=0,xd=0,yd=0,zd=0,Ad=0;if(!(q[380+(a|=0)>>2]||(0|(ud=q[a+200>>2]))<1))for(zd=(vd=q[a+204>>2])+(ud<<4)|0,ud=q[a+248>>2],xd=q[a+272>>2];;){if(q[ud>>2]&&(a=1,!((0|(wd=q[vd+12>>2]))<1)))for(wd<<=1,Ad=q[xd>>2];u[(yd=(a<<2)+Ad|0)>>2]=-u[yd>>2],(0|(a=a+2|0))<(0|wd););if(xd=xd+4|0,ud=ud+4|0,!((vd=vd+16|0)>>>0>>0))break}},n[11]=function(a,Fc,nd){Fc|=0,nd|=0;var pd,od=0;return fa(pd=q[20+(a|=0)>>2],Fc,od=nd>>>0<(od=q[a+16>>2]-pd|0)>>>0?nd:od),q[a+20>>2]=od+q[a+20>>2],0|nd},n[12]=function(a){return 0},n[13]=function(a,Fc,gd){Fc|=0,gd|=0;var id,hd=0,jd=0,kd=0,ld=0,md=0;for(L=id=L-32|0,hd=q[28+(a|=0)>>2],q[16+id>>2]=hd,kd=q[a+20>>2],q[28+id>>2]=gd,q[24+id>>2]=Fc,Fc=kd-hd|0,kd=(q[20+id>>2]=Fc)+gd|0,ld=2,Fc=16+id|0;;){a:{if((jd=(hd=0)|K(q[a+60>>2],0|Fc,0|ld,12+id|0))&&(q[1906]=jd,hd=-1),(0|(hd=hd?q[12+id>>2]=-1:q[12+id>>2]))!=(0|kd)){if(-1<(0|hd))break a;q[a+28>>2]=0,q[a+16>>2]=0,q[a+20>>2]=0,q[a>>2]=32|q[a>>2],2!=((a=0)|ld)&&(a=gd-q[Fc+4>>2]|0)}else Fc=q[a+44>>2],q[a+28>>2]=Fc,q[a+20>>2]=Fc,q[a+16>>2]=Fc+q[a+48>>2],a=gd;return L=32+id|0,0|a}jd=hd-((md=(jd=q[Fc+4>>2])>>>0>>0)?jd:0)|0,q[(Fc=md?Fc+8|0:Fc)>>2]=jd+q[Fc>>2],q[Fc+4>>2]=q[Fc+4>>2]-jd,kd=kd-hd|0,ld=ld-md|0}},n[14]=function(a,Fc,gd,hd){return M=0},n[15]=function(a,Ub,Fc,Gc,Hc,Ic){a|=0,Ub=+Ub,Fc|=0,Gc|=0,Hc|=0,Ic|=0;var Nc,Jc=0,Kc=0,Lc=0,Mc=0,Oc=0,Pc=0,Qc=0,Rc=0,Sc=0,Tc=0,Uc=0,Vc=0,Wc=0,Xc=0,Yc=0,Zc=0,_c=0,$c=0,ad=0,dd=0,ed=0;if(q[44+(L=Nc=L-560|0)>>2]=0,h(+Ub),Jc=0|e(1),ad=1,dd=4294967295>>0?0:1,Zc=(((ed=0)|Jc)<-1?ad:(0|Jc)<=-1?dd:ed)?(h(+(Ub=-Ub)),Jc=0|e(1),e(0),Yc=1,3184):2048&Hc?(Yc=1,3187):(Yc=1&Hc)?3190:3185,2146435072!=(2146435072&Jc))if(Ub=function na(a,oa){var qa,ra,pa=0;if(h(+a),pa=0|e(1),qa=0|e(0),2047!=(0|(pa=(ra=pa)>>>20&2047))){if(!pa)return pa=oa,oa=0==a?0:(a=na(0x10000000000000000*a,oa),q[oa>>2]+-64|0),q[pa>>2]=oa,a;q[oa>>2]=pa+-1022,f(0,0|qa),f(1,-2146435073&ra|1071644672),a=+g()}return a}(Ub,44+Nc|0),0!=(Ub+=Ub)&&(q[44+Nc>>2]=q[44+Nc>>2]+-1),Vc=16+Nc|0,97!=(0|(_c=32|Ic))){for(Jc=(0|Gc)<0,0!=Ub?(Mc=q[44+Nc>>2]+-28|0,q[44+Nc>>2]=Mc,Ub*=268435456):Mc=q[44+Nc>>2],Pc=Jc?6:Gc,Lc=Tc=(0|Mc)<0?48+Nc|0:336+Nc|0;Jc=Ub<4294967296&0<=Ub?~~Ub>>>0:0,Lc=(Gc=Lc)+4|0,0!=(Ub=1e9*(Ub-((q[Gc>>2]=Jc)>>>0))););if((0|Mc)<1)Jc=Lc,Kc=Tc;else for(Kc=Tc;;){if(Uc=(0|Mc)<29?Mc:29,!((Jc=Lc+-4|0)>>>0>>0)){for(Gc=Uc,Rc=0;Qc=0,$c=Rc,Rc=q[(Sc=Jc)>>2],Oc=31&Gc,Oc=32<=(63&Gc)>>>0?(Mc=Rc<>>32-Oc,Rc<>>0>>0?Qc+1|0:Qc,$c=Sc,Sc=gc(Rc=hc(Oc=Rc,Qc,1e9),M,1e9),q[$c>>2]=Oc-Sc,Kc>>>0<=(Jc=Jc+-4|0)>>>0;);(Gc=Rc)&&(q[(Kc=Kc+-4|0)>>2]=Gc)}for(;Kc>>>0<(Jc=Lc)>>>0&&!q[(Lc=Jc+-4|0)>>2];);if(Mc=q[44+Nc>>2]-Uc|0,Lc=Jc,!(0<(0|(q[44+Nc>>2]=Mc))))break}if((0|Mc)<=-1)for(Xc=1+((Pc+25|0)/9|0)|0,Uc=102==(0|_c);;){if(Rc=(0|Mc)<-9?9:0-Mc|0,Jc>>>0<=Kc>>>0)Kc=q[Kc>>2]?Kc:Kc+4|0;else{for(Sc=1e9>>>Rc,Oc=-1<>2],q[Lc>>2]=(Gc>>>Rc)+Mc,Mc=w(Sc,Gc&Oc),(Lc=Lc+4|0)>>>0>>0;);Kc=q[Kc>>2]?Kc:Kc+4|0,Mc&&(q[Jc>>2]=Mc,Jc=Jc+4|0)}if(Mc=Rc+q[44+Nc>>2]|0,Jc=(0|Xc)>2?Gc+(Xc<<2)|0:Jc,!((0|(q[44+Nc>>2]=Mc))<0))break}if(!(Jc>>>(Lc=0)<=Kc>>>0||(Lc=w(Tc-Kc>>2,9),Mc=10,(Gc=q[Kc>>2])>>>0<10)))for(;Lc=Lc+1|0,(Mc=w(Mc,10))>>>0<=Gc>>>0;);if((0|(Gc=(Pc-(102==(0|_c)?0:Lc)|0)-(103==(0|_c)&0!=(0|Pc))|0))<(w(Jc-Tc>>2,9)+-9|0)){if(Qc=(Tc+((Oc=(0|(Sc=Gc+9216|0))/9|0)<<2)|0)-4092|0,Gc=10,(0|(Mc=Sc-w(Oc,9)|0))<=7)for(;Gc=w(Gc,10),Oc=(0|Mc)<7,Mc=Mc+1|0,Oc;);if(Xc=Qc+4|0,((Rc=(Uc=q[Qc>>2])-w(Gc,Sc=(Uc>>>0)/(Gc>>>0)|0)|0)||(0|Xc)!=(0|Jc))&&(Wc=Rc>>>0<(Oc=Gc>>>1)>>>0?.5:(0|Jc)==(0|Xc)&&(0|Oc)==(0|Rc)?1:1.5,Ub=1&Sc?9007199254740994:9007199254740992,!Yc|45!=r[0|Zc]||(Wc=-Wc,Ub=-Ub),Oc=Uc-Rc|0,q[Qc>>2]=Oc,Ub+Wc!=Ub)){if(Gc=Gc+Oc|0,1e9<=(q[Qc>>2]=Gc)>>>0)for(;(Qc=Qc+-4|(q[Qc>>2]=0))>>>0>>0&&(q[(Kc=Kc+-4|0)>>2]=0),Gc=q[Qc>>2]+1|0,999999999<(q[Qc>>2]=Gc)>>>0;);if(Lc=w(Tc-Kc>>2,9),Mc=10,!((Gc=q[Kc>>2])>>>0<10))for(;Lc=Lc+1|0,(Mc=w(Mc,10))>>>0<=Gc>>>0;);}Jc=(Gc=Qc+4|0)>>>0>>0?Gc:Jc}j:{for(;;){if((Uc=Jc)>>>(Sc=0)<=Kc>>>0)break j;if(q[(Jc=Uc+-4|0)>>2])break}Sc=1}if(103==(0|_c)){if(Pc=((Gc=(0|Lc)<(0|(Jc=Pc||1))&-5<(0|Lc))?-1^Lc:-1)+Jc|0,Ic=(Gc?-1:-2)+Ic|0,!(Oc=8&Hc)){if(Jc=9,Sc&&(Oc=q[Uc+-4>>2])&&!((Oc>>>(Jc=0))%(Gc=10)))for(;Jc=Jc+1|0,!((Oc>>>0)%((Gc=w(Gc,10))>>>0)););Gc=w(Uc-Tc>>2,9)+-9|0,Pc=102!=(32|Ic)?((Oc=0)|Pc)<(0|(Gc=0<(0|(Gc=(Gc+Lc|0)-Jc|0))?Gc:0))?Pc:Gc:((Oc=0)|Pc)<(0|(Gc=0<(0|(Gc=Gc-Jc|0))?Gc:0))?Pc:Gc}}else Oc=8&Hc;if(Qc=0!=(0|(Mc=Pc|Oc)),Gc=a,$c=Fc,Jc=0<(0|Lc)?Lc:0,102!=(0|(Rc=32|Ic))){if((Vc-(Jc=ea((Jc=Lc>>31)+Lc^Jc,0,Vc))|0)<=1)for(;o[0|(Jc=Jc+-1|0)]=48,(Vc-Jc|0)<2;);o[0|(Xc=Jc+-2|0)]=Ic,o[Jc+-1|0]=(0|Lc)<0?45:43,Jc=Vc-Xc|0}_(Gc,32,$c,Qc=1+(Jc+(Qc+(Pc+Yc|0)|0)|0)|0,Hc),Z(a,Zc,Yc),_(a,48,Fc,Qc,65536^Hc);n:{o:{p:{if(102==(0|Rc)){for(Gc=16+Nc|8,Lc=16+Nc|9,Kc=Ic=Tc>>>0>>0?Tc:Kc;;){Jc=ea(q[Kc>>2],0,Lc);q:if((0|Ic)==(0|Kc))(0|Jc)==(0|Lc)&&(o[24+Nc|0]=48,Jc=Gc);else{if(Jc>>>0<=16+Nc>>>0)break q;for(;o[0|(Jc=Jc+-1|0)]=48,16+Nc>>>0>>0;);}if(Z(a,Jc,Lc-Jc|0),!((Kc=Kc+4|0)>>>0<=Tc>>>0))break}if(Mc&&Z(a,3219,1),(0|Pc)<1|Uc>>>0<=Kc>>>0)break p;for(;;){if(16+Nc>>>0<(Jc=ea(q[Kc>>2],0,Lc))>>>0)for(;o[0|(Jc=Jc+-1|0)]=48,16+Nc>>>0>>0;);if(Z(a,Jc,(0|Pc)<9?Pc:9),Jc=Pc+-9|0,Uc>>>0<=(Kc=Kc+4|0)>>>0)break o;if(Gc=9<(0|Pc),Pc=Jc,!Gc)break}break o}r:if(!((0|Pc)<0))for(Ic=Sc?Uc:Kc+4|0,Gc=16+Nc|8,Tc=16+Nc|9,Lc=Kc;;){(0|Tc)==(0|(Jc=ea(q[Lc>>2],0,Tc)))&&(o[24+Nc|0]=48,Jc=Gc);s:if((0|Kc)==(0|Lc))Z(a,Jc,1),Jc=Jc+1|0,(0|Pc)<1&&!Oc||Z(a,3219,1);else{if(Jc>>>0<=16+Nc>>>0)break s;for(;o[0|(Jc=Jc+-1|0)]=48,16+Nc>>>0>>0;);}if(Z(a,Rc=Jc,(0|(Jc=Tc-Jc|0))<(0|Pc)?Jc:Pc),Pc=Pc-Jc|0,Ic>>>0<=(Lc=Lc+4|0)>>>0)break r;if(!(-1<(0|Pc)))break}_(a,48,Pc+18|0,18,0),Z(a,Xc,Vc-Xc|0);break n}Jc=Pc}_(a,48,Jc+9|0,9,0)}}else{if(Oc=(Tc=32&Ic)?Zc+9|0:Zc,!(11>>0)&&(Jc=12-Gc|0)){for(Wc=8;Wc*=16,Jc=Jc+-1|0;);Ub=45!=r[0|Oc]?Ub+Wc-Wc:-(Wc+(-Ub-Wc))}for((0|Vc)==(0|(Jc=ea((Lc=(Jc=q[44+Nc>>2])>>31)^Jc+Lc,0,Vc)))&&(o[15+Nc|0]=48,Jc=15+Nc|0),Pc=2|Yc,Lc=q[44+Nc>>2],o[0|(Sc=Jc+-2|0)]=Ic+15,o[Jc+-1|0]=(0|Lc)<0?45:43,Jc=8&Hc,Kc=16+Nc|0;Ic=Kc,Rc=Tc,Lc=y(Ub)<2147483648?~~Ub:-2147483648,o[0|Kc]=Rc|r[Lc+3168|0],1!=((Kc=Ic+1|0)-(16+Nc|0)|0)|(0==(Ub=16*(Ub-(0|Lc)))?!(Jc|0<(0|Gc)):0)||(o[Ic+1|0]=46,Kc=Ic+2|0),0!=Ub;);_(a,32,Fc,Qc=(Ic=!Gc|(0|Gc)<=((Kc-Nc|0)-18|0)?((Vc-(16+Nc|0)|0)-Sc|0)+Kc|0:2+((Gc+Vc|0)-Sc|0)|0)+Pc|0,Hc),Z(a,Oc,Pc),_(a,48,Fc,Qc,65536^Hc),Z(a,16+Nc|0,Gc=Kc-(16+Nc|0)|0),_(a,48,Ic-((Jc=Gc)+(Gc=Vc-Sc|0)|0)|0,0,0),Z(a,Sc,Gc)}else _(a,32,Fc,Qc=Yc+3|0,-65537&Hc),Z(a,Zc,Yc),Gc=Ic>>>5&1,Z(a,Ub!=Ub?Gc?3211:3215:Gc?3203:3207,3);return _(a,32,Fc,Qc,8192^Hc),L=560+Nc|0,0|((0|Qc)<(0|Fc)?Fc:Qc)},n[16]=function(a,Ub){var uc,Dc,Ec;a|=0,Ub=q[(uc=Ub|=0)>>2]+15&-16,q[uc>>2]=Ub+16,Dc=a,Ec=Ea(q[Ub>>2],q[Ub+4>>2],q[Ub+8>>2],q[Ub+12>>2]),v[Dc>>3]=Ec},{__wasm_call_ctors:function(){},csmGetVersion:function(){return 67108864},csmGetLatestMocVersion:function(){return 3},csmGetMocVersion:function(a,Ub){return Ub|=0,L=Ub=L-16|0,a=(a|=0)?ma(a)?(Y(4,1533,0),0):r[a+4|0]:(q[Ub+4>>2]=1246,q[Ub>>2]=1671,Y(4,1087,Ub),0),L=Ub+16|0,0|a},csmSetLogFunction:function(a){a|=0,q[1641]=a},csmReviveMocInPlace:function(a,qi){var ri;return qi|=0,L=ri=L-48|0,a=(a|=0)?(a+63&-64)==(0|a)?(qi+63&-64)==(0|qi)&&qi?jb(a):(q[20+ri>>2]=1592,q[16+ri>>2]=1688,Y(4,1087,16+ri|0),0):(q[36+ri>>2]=1441,q[32+ri>>2]=1688,Y(4,1087,32+ri|0),0):(q[4+ri>>2]=1246,q[ri>>2]=1688,Y(4,1087,ri),0),L=48+ri|0,0|a},csmReadCanvasInfo:function(a,_h,$h,ai){var bi;_h|=0,$h|=0,ai|=0,L=bi=L+-64|0,(a|=0)?_h?$h?ai?(a=q[q[a>>2]+708>>2],q[_h>>2]=q[a+12>>2],q[_h+4>>2]=q[a+16>>2],q[$h>>2]=q[a+4>>2],q[$h+4>>2]=q[a+8>>2],q[ai>>2]=q[a>>2]):(q[52+bi>>2]=1782,q[48+bi>>2]=1708,Y(4,1087,48+bi|0)):(q[36+bi>>2]=1753,q[32+bi>>2]=1708,Y(4,1087,32+bi|0)):(q[20+bi>>2]=1726,q[16+bi>>2]=1708,Y(4,1087,16+bi|0)):(q[4+bi>>2]=1651,q[bi>>2]=1708,Y(4,1087,bi)),L=64+bi|0},csmGetSizeofModel:wa,csmInitializeModelInPlace:va,csmUpdateModel:function(a){var Zh;L=Zh=L-16|0,(a|=0)?ta(a):(q[4+Zh>>2]=1651,q[Zh>>2]=1890,Y(4,1087,Zh)),L=16+Zh|0},csmGetParameterCount:function(a){var Yh;return L=Yh=L-16|0,a=(a|=0)?q[a+292>>2]:(q[4+Yh>>2]=1651,q[Yh>>2]=1905,Y(4,1087,Yh),-1),L=16+Yh|0,0|a},csmGetParameterIds:function(a){var Xh;return L=Xh=L-16|0,a=(a|=0)?q[q[a>>2]+900>>2]:(q[4+Xh>>2]=1651,q[Xh>>2]=1926,Y(4,1087,Xh),0),L=16+Xh|0,0|a},csmGetParameterMinimumValues:function(a){var Wh;return L=Wh=L-16|0,a=(a|=0)?q[q[a>>2]+912>>2]:(q[4+Wh>>2]=1651,q[Wh>>2]=1945,Y(4,1087,Wh),0),L=16+Wh|0,0|a},csmGetParameterMaximumValues:function(a){var Vh;return L=Vh=L-16|0,a=(a|=0)?q[q[a>>2]+908>>2]:(q[4+Vh>>2]=1651,q[Vh>>2]=1974,Y(4,1087,Vh),0),L=16+Vh|0,0|a},csmGetParameterDefaultValues:function(a){var Uh;return L=Uh=L-16|0,a=(a|=0)?q[q[a>>2]+916>>2]:(q[4+Uh>>2]=1651,q[Uh>>2]=2003,Y(4,1087,Uh),0),L=16+Uh|0,0|a},csmGetParameterValues:function(a){var Sh;return L=Sh=L-16|0,a=(a|=0)?q[a+300>>2]:(q[4+Sh>>2]=1651,q[Sh>>2]=2032,Y(4,1087,Sh),0),L=16+Sh|0,0|a},csmGetPartCount:function(a){var Rh;return L=Rh=L-16|0,a=(a|=0)?q[a+4>>2]:(q[4+Rh>>2]=1651,q[Rh>>2]=2054,Y(4,1087,Rh),-1),L=16+Rh|0,0|a},csmGetPartIds:function(a){var Qh;return L=Qh=L-16|0,a=(a|=0)?q[q[a>>2]+712>>2]:(q[4+Qh>>2]=1651,q[Qh>>2]=2070,Y(4,1087,Qh),0),L=16+Qh|0,0|a},csmGetPartOpacities:function(a){var Ph;return L=Ph=L-16|0,a=(a|=0)?q[a+52>>2]:(q[4+Ph>>2]=1651,q[Ph>>2]=2084,Y(4,1087,Ph),0),L=16+Ph|0,0|a},csmGetPartParentPartIndices:function(a){var Oh;return L=Oh=L-16|0,a=(a|=0)?q[q[a>>2]+740>>2]:(q[4+Oh>>2]=1651,q[Oh>>2]=2104,Y(4,1087,Oh),0),L=16+Oh|0,0|a},csmGetDrawableCount:function(a){var Nh;return L=Nh=L-16|0,a=(a|=0)?q[a+200>>2]:(q[4+Nh>>2]=1651,q[Nh>>2]=2132,Y(4,1087,Nh),-1),L=16+Nh|0,0|a},csmGetDrawableIds:function(a){var Mh;return L=Mh=L-16|0,a=(a|=0)?q[q[a>>2]+820>>2]:(q[4+Mh>>2]=1651,q[Mh>>2]=2152,Y(4,1087,Mh),0),L=16+Mh|0,0|a},csmGetDrawableConstantFlags:function(a){var Lh;return L=Lh=L-16|0,a=(a|=0)?q[q[a>>2]+872>>2]:(q[4+Lh>>2]=1651,q[Lh>>2]=2170,Y(4,1087,Lh),0),L=16+Lh|0,0|a},csmGetDrawableDynamicFlags:function(a){var Kh;return L=Kh=L-16|0,a=(a|=0)?q[a+260>>2]:(q[4+Kh>>2]=1651,q[Kh>>2]=2198,Y(4,1087,Kh),0),L=16+Kh|0,0|a},csmGetDrawableTextureIndices:function(a){var Jh;return L=Jh=L-16|0,a=(a|=0)?q[q[a>>2]+868>>2]:(q[4+Jh>>2]=1651,q[Jh>>2]=2225,Y(4,1087,Jh),0),L=16+Jh|0,0|a},csmGetDrawableDrawOrders:function(a){var Ih;return L=Ih=L-16|0,a=(a|=0)?q[a+268>>2]:(q[4+Ih>>2]=1651,q[Ih>>2]=2254,Y(4,1087,Ih),0),L=16+Ih|0,0|a},csmGetDrawableRenderOrders:function(a){var Hh;return L=Hh=L-16|0,a=(a|=0)?q[a+264>>2]:(q[4+Hh>>2]=1651,q[Hh>>2]=2279,Y(4,1087,Hh),0),L=16+Hh|0,0|a},csmGetDrawableOpacities:function(a){var Gh;return L=Gh=L-16|0,a=(a|=0)?q[a+276>>2]:(q[4+Gh>>2]=1651,q[Gh>>2]=2306,Y(4,1087,Gh),0),L=16+Gh|0,0|a},csmGetDrawableMaskCounts:function(a){var Fh;return L=Fh=L-16|0,a=(a|=0)?q[q[a>>2]+896>>2]:(q[4+Fh>>2]=1651,q[Fh>>2]=2330,Y(4,1087,Fh),0),L=16+Fh|0,0|a},csmGetDrawableMasks:function(a){var Eh;return L=Eh=L-16|0,a=(a|=0)?q[q[a>>2]+832>>2]:(q[4+Eh>>2]=1651,q[Eh>>2]=2355,Y(4,1087,Eh),0),L=16+Eh|0,0|a},csmGetDrawableVertexCounts:function(a){var Dh;return L=Dh=L-16|0,a=(a|=0)?q[q[a>>2]+876>>2]:(q[4+Dh>>2]=1651,q[Dh>>2]=2375,Y(4,1087,Dh),0),L=16+Dh|0,0|a},csmGetDrawableVertexPositions:function(a){var Ch;return L=Ch=L-16|0,a=(a|=0)?q[a+272>>2]:(q[4+Ch>>2]=1651,q[Ch>>2]=2402,Y(4,1087,Ch),0),L=16+Ch|0,0|a},csmGetDrawableVertexUvs:function(a){var Bh;return L=Bh=L-16|0,a=(a|=0)?q[q[a>>2]+824>>2]:(q[4+Bh>>2]=1651,q[Bh>>2]=2432,Y(4,1087,Bh),0),L=16+Bh|0,0|a},csmGetDrawableIndexCounts:function(a){var gh;return L=gh=L-16|0,a=(a|=0)?q[q[a>>2]+888>>2]:(q[4+gh>>2]=1651,q[gh>>2]=2456,Y(4,1087,gh),0),L=16+gh|0,0|a},csmGetDrawableIndices:function(a){var fh;return L=fh=L-16|0,a=(a|=0)?q[q[a>>2]+828>>2]:(q[4+fh>>2]=1651,q[fh>>2]=2482,Y(4,1087,fh),0),L=16+fh|0,0|a},csmResetDrawableDynamicFlags:function(a){var dh;L=dh=L-16|0,(a|=0)?q[a+256>>2]=1:(q[4+dh>>2]=1651,q[dh>>2]=2504,Y(4,1087,dh)),L=16+dh|0},csmMallocMoc:function(a){var rd;return ya(12+(L=rd=L-16|0)|0,64,a|=0),L=16+rd|0,q[12+rd>>2]},csmMallocModelAndInitialize:function(a){var Fc,nd=0,qd=0;return L=Fc=L-16|0,(a|=0)&&(ya(12+Fc|0,16,qd=wa(a))||(nd=va(a,q[12+Fc>>2],qd))||(za(q[12+Fc>>2]),nd=0)),L=16+Fc|0,0|nd},csmMalloc:function(a){return 0|ja(a|=0)},csmFree:function(a){za(a|=0)},stackSave:function(){return 0|L},stackAlloc:function(a){return 0|(L=a=L-(a|=0)&-16)},stackRestore:function(a){L=a|=0},__growWasmMemory:function(a){return 0|function(pagesToAdd){pagesToAdd|=0;var P=0|N(),Q=P+pagesToAdd|0;if(P>>0<(d=(e=a+b|0)+-1|0)>>>0)for(;f=r[0|a],o[0|a]=r[0|d],o[0|d]=f,(a=a+1|0)>>>0<(d=d+-1|0)>>>0;);if(a=e,!c)break}}function Y(a,b,c){var g;L=g=L-272|0,t[1640]>a>>>0||(a=q[1641])&&(sa(16+g|0,b,q[12+g>>2]=c),n[a](16+g|0)),L=272+g|0}function Z(a,b,c){32&r[0|a]||function(a,Ub,Fc){var Gc=0,Hc=0,Ic=0;a:{if(!(Gc=q[Fc+16>>2])){if(function(a){var Ub=0;if(Ub=r[a+74|0],o[a+74|0]=Ub+-1|Ub,8&(Ub=q[a>>2]))return q[a>>2]=32|Ub,1;return q[a+4>>2]=0,q[a+8>>2]=0,Ub=q[a+44>>2],q[a+28>>2]=Ub,q[a+20>>2]=Ub,q[a+16>>2]=Ub+q[a+48>>2],0}(Fc))break a;Gc=q[Fc+16>>2]}if(Ic=q[Fc+20>>2],Gc-Ic>>>0>>0)return n[q[Fc+36>>2]](Fc,a,Ub);b:if(!(o[Fc+75|0]<0)){for(Gc=Ub;;){if(!(Hc=Gc))break b;if(10==r[(Gc=Hc+-1|0)+a|0])break}if(n[q[Fc+36>>2]](Fc,a,Hc)>>>0>>0)break a;Ub=Ub-Hc|0,a=a+Hc|0,Ic=q[Fc+20>>2]}fa(Ic,a,Ub),q[Fc+20>>2]=q[Fc+20>>2]+Ub}}(b,c,a)}function _(a,b,c,h,i){var j,k=0,l=0;if(L=j=L-256|0,!(73728&i|(0|c)<=(0|h))){if(ba(j,b,(k=(i=c-h|0)>>>0<256)?i:256),b=a,l=j,!k){for(c=c-h|0;Z(a,j,256),255<(i=i+-256|0)>>>0;);i=255&c}Z(b,l,i)}L=256+j|0}function $(a){var b,c;return x((b=a*a)*b*(c=b*a)*(2718311493989822e-21*b-.00019839334836096632)+(c*(.008333329385889463*b-.16666666641626524)+a))}function aa(a){var h;return x(-.499999997251031*(a*=a)+1+.04166662332373906*(h=a*a)+a*h*(2439044879627741e-20*a-.001388676377460993))}function ba(a,i,m){var n=0,p=0,r=0,s=0;if(m&&(o[(n=a+m|0)+-1|0]=i,o[0|a]=i,!(m>>>0<3||(o[n+-2|0]=i,o[a+1|0]=i,o[n+-3|0]=i,o[a+2|0]=i,m>>>0<7||(o[n+-4|0]=i,o[a+3|0]=i,m>>>0<9||(p=(n=0-a&3)+a|0,i=w(255&i,16843009),q[p>>2]=i,q[(n=(m=m-n&-4)+p|0)+-4>>2]=i,m>>>0<9||(q[p+8>>2]=i,q[p+4>>2]=i,q[n+-8>>2]=i,q[n+-12>>2]=i,m>>>0<25||(q[p+24>>2]=i,q[p+20>>2]=i,q[p+16>>2]=i,q[p+12>>2]=i,q[n+-16>>2]=i,q[n+-20>>2]=i,q[n+-24>>2]=i,q[n+-28>>2]=i,(m=m-(s=4&p|24)|0)>>>0<32))))))))for(r=n=i,i=p+s|0;q[i+24>>2]=r,q[i+28>>2]=n,q[i+16>>2]=r,q[i+20>>2]=n,q[i+8>>2]=r,q[i+12>>2]=n,q[i>>2]=r,q[i+4>>2]=n,i=i+32|0,31<(m=m+-32|0)>>>0;);return a}function ca(a,i){var m=0;if(a>>>0<(i=(a+i|0)-1|0)>>>0)for(;m=r[0|a],o[0|a]=r[0|i],o[0|i]=m,(a=a+1|0)>>>0<(i=i+-1|0)>>>0;);}function da(a){var i;return(0|(a=(i=q[2052])+a|0))<=-1?(q[1906]=48,-1):a>>>0<=N()<<16>>>0||J(0|a)?(q[2052]=a,i):(q[1906]=48,-1)}function ea(a,q,t){var u=0,v=0,x=0;if(1==(0|q)&a>>>0<0|q>>>0<1)u=a;else for(;v=gc(u=hc(a,q,10),x=v=M,10),o[0|(t=t+-1|0)]=a-v|48,v=9==(0|q)&4294967295
>>0|9>>0,a=u,q=x,v;);if(u)for(;a=(u>>>0)/10|0,o[0|(t=t+-1|0)]=u-w(a,10)|48,q=9>>0,u=a,q;);return t}function fa(a,t,w){var y,z=0;if(8192<=w>>>0)I(0|a,0|t,0|w);else{y=a+w|0;a:if(3&(a^t))if(y>>>0<4)w=a;else if((z=y-4|0)>>>0>>0)w=a;else for(w=a;o[0|w]=r[0|t],o[w+1|0]=r[t+1|0],o[w+2|0]=r[t+2|0],o[w+3|0]=r[t+3|0],t=t+4|0,(w=w+4|0)>>>0<=z>>>0;);else{b:if((0|w)<1)w=a;else if(3&a)for(w=a;;){if(o[0|w]=r[0|t],t=t+1|0,y>>>0<=(w=w+1|0)>>>0)break b;if(!(3&w))break}else w=a;if(!((a=-4&y)>>>0<64||(z=a+-64|0)>>>0>>0))for(;q[w>>2]=q[t>>2],q[w+4>>2]=q[t+4>>2],q[w+8>>2]=q[t+8>>2],q[w+12>>2]=q[t+12>>2],q[w+16>>2]=q[t+16>>2],q[w+20>>2]=q[t+20>>2],q[w+24>>2]=q[t+24>>2],q[w+28>>2]=q[t+28>>2],q[w+32>>2]=q[t+32>>2],q[w+36>>2]=q[t+36>>2],q[w+40>>2]=q[t+40>>2],q[w+44>>2]=q[t+44>>2],q[w+48>>2]=q[t+48>>2],q[w+52>>2]=q[t+52>>2],q[w+56>>2]=q[t+56>>2],q[w+60>>2]=q[t+60>>2],t=t- -64|0,(w=w- -64|0)>>>0<=z>>>0;);if(a>>>0<=w>>>0)break a;for(;q[w>>2]=q[t>>2],t=t+4|0,(w=w+4|0)>>>0>>0;);}if(w>>>0>>0)for(;o[0|w]=r[0|t],t=t+1|0,(0|y)!=(0|(w=w+1|0)););}}function ga(a){return a+-48>>>0<10}function ha(a,o){a:if(1024<=(0|o)){if(a*=898846567431158e293,(0|o)<2047){o=o+-1023|0;break a}a*=898846567431158e293,o=((0|o)<3069?o:3069)+-2046|0}else-1023<(0|o)||(a*=22250738585072014e-324,o=-2045<(0|o)?o+1022|0:(a*=22250738585072014e-324,(-3066<(0|o)?o:-3066)+2044|0));return f(0,0),f(1,o+1023<<20),a*g()}function ia(a,t,A,B,C,D,E){var F,R,U,G=0,H=0,I=0,J=0,K=0,M=0,N=0,O=0,P=0,Q=0,S=0,T=0;q[76+(L=F=L-80|0)>>2]=t,U=55+F|0,R=56+F|0,t=0;a:{b:for(;;){(0|P)<0||(P=(2147483647-P|0)<(0|t)?(q[1906]=61,-1):t+P|0);d:{e:{f:{g:{h:{i:{j:{k:{l:{m:{n:{o:{p:{q:{if(J=q[76+F>>2],I=r[0|(t=J)]){for(;;){r:{s:{t:if(G=255&I){if(37!=(0|G))break s;for(I=t;;){if(37!=r[t+1|0])break t;if(G=t+2|0,q[76+F>>2]=G,I=I+1|0,H=r[t+2|0],t=G,37!=(0|H))break}}else I=t;if(t=I-J|0,a&&Z(a,J,t),t)continue b;Q=-1,I=1,K=!ga(o[q[76+(G=F)>>2]+1|0]),t=q[76+F>>2],K|36!=r[t+2|0]||(Q=o[t+1|0]+-48|0,S=1,I=3),t=I+t|0,q[G+76>>2]=t;u:if(31<(H=(M=o[(I=0)|t])+-32|0)>>>0)G=t;else if(G=t,75913&(H=1<>2]=G,I|=H,31<(H=(M=o[t+1|0])+-32|0)>>>0)break u;if(t=G,!(75913&(H=1<>2]}else{if(K=F,ga(o[G+1|0])&&(t=q[76+F>>2],36==r[t+2|0]))q[((o[t+1|0]<<2)+C|0)-192>>2]=10,N=q[((o[t+1|0]<<3)+B|0)-384>>2],S=1,t=t+3|0;else{if(S)break q;N=S=0,a&&(t=q[A>>2],q[A>>2]=t+4,N=q[t>>2]),t=q[76+F>>2]+1|0}if(q[K+76>>2]=t,-1<(0|N))break v;N=0-N|0,I|=8192}H=-1;y:if(46==r[0|t])if(42!=r[t+1|0])q[76+F>>2]=t+1,H=qa(76+F|0),t=q[76+F>>2];else{if(ga(o[t+2|0])&&(t=q[76+F>>2],36==r[t+3|0])){q[((o[t+2|0]<<2)+C|0)-192>>2]=10,H=q[((o[t+2|0]<<3)+B|0)-384>>2],t=t+4|0,q[76+F>>2]=t;break y}if(S)break q;H=a?(t=q[A>>2],q[A>>2]=t+4,q[t>>2]):0,t=q[76+F>>2]+2|0,q[76+F>>2]=t}for(G=0;;){if(T=G,O=-1,57>>0)break a;if(M=t+1|0,q[76+F>>2]=M,G=o[0|t],t=M,!((G=r[2639+(G+w(T,58)|0)|0])+-1>>>0<8))break}if(!G)break a;A:{B:{C:{if(19==(0|G)){if((0|Q)<=-1)break C;break a}if((0|Q)<0)break B;q[(Q<<2)+C>>2]=G,G=q[(t=(Q<<3)+B|0)+4>>2],q[64+F>>2]=q[t>>2],q[68+F>>2]=G}if(t=0,!a)continue b;break A}if(!a)break d;pa(F+64|0,G,A,E),M=q[76+F>>2]}if(K=-65537&I,I=8192&I?K:I,Q=2684,G=R,t=o[M+-1|(O=0)],(M=(t=T&&3==(15&t)?-33&t:t)+-88|0)>>>0<=32)break r;D:{E:{F:{G:{if(6<(K=t+-65|0)>>>0){if(83!=(0|t))break e;if(!H)break G;G=q[64+F>>2];break E}switch(K-1|0){case 1:break F;case 0:case 2:break e;default:break p}}_(a,32,N,t=0,I);break D}q[12+F>>2]=0,q[8+F>>2]=q[64+F>>2],q[64+F>>2]=8+F,H=-1,G=8+F|0}t=0;H:{for(;;){if(!(J=q[G>>2]))break H;if((K=(0|(J=oa(4+F|0,J)))<0)|H-t>>>0>>0)break;if(G=G+4|0,!((t=t+J|0)>>>0>>0))break H}if(O=-1,K)break a}if(_(a,32,N,t,I),t)for(H=0,G=q[64+F>>2];;){if(!(J=q[G>>2]))break D;if((0|t)<(0|(H=(J=oa(4+F|0,J))+H|0)))break D;if(Z(a,4+F|0,J),G=G+4|0,!(H>>>0>>0))break}else t=0}_(a,32,N,t,8192^I),t=(0|t)<(0|N)?N:t;continue b}G=t+1|0,q[76+F>>2]=G,I=r[t+1|0],t=G;continue}break}switch(M-1|0){case 21:break i;case 23:break k;case 22:break l;case 11:case 16:break m;case 10:break n;case 26:break o;case 8:case 12:case 13:case 14:break p;case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 9:case 15:case 17:case 18:case 19:case 20:case 24:case 25:case 27:case 29:case 30:break e;case 28:break h;default:break j}}if(O=P,a)break a;if(!S)break d;for(t=1;;){if(a=q[(t<<2)+C>>2]){if(pa((t<<3)+B|0,a,A,E),10!=(0|(t=t+(O=1)|0)))continue;break a}break}if(O=1,10<=t>>>0)break a;for(;;){if(q[(t<<2)+C>>2])break q;if(a=8>>0,t=t+1|0,a)break}break a}O=-1;break a}t=0|n[D](a,v[64+F>>3],N,H,I,t);continue}G=(t=Ia(J=(t=q[64+F>>2])||2694,H))||H+J|0,I=K,H=t?t-J|0:H;break e}o[55+F|0]=q[64+F>>2],H=1,J=U,I=K;break e}if(t=K=q[68+F>>2],J=q[64+F>>2],(0|t)<-1||(0|t)<=-1&&!(4294967295>>0)){t=0-(t+(0>>0)|0)|0,J=0-J|0,q[64+F>>2]=J,q[68+F>>2]=t,O=1,Q=2684;break g}if(2048&I){O=1,Q=2685;break g}Q=(O=1&I)?2686:2684;break g}if(J=Oa(q[64+F>>2],q[68+F>>2],R),!(8&I))break f;H=(0|(t=R-J|0))<(0|H)?H:t+1|0;break f}H=8>>0?H:8,I|=8,t=120}if(J=Na(q[64+F>>2],q[68+F>>2],R,32&t),!(8&I)|!(q[64+F>>2]|q[68+F>>2]))break f;Q=2684+(t>>>4)|0,O=2;break f}if(7<(G=255&T)>>>(t=0))continue;I:switch(G-1|0){default:case 0:q[q[64+F>>2]>>2]=P;continue;case 1:G=q[64+F>>2],q[G>>2]=P,q[G+4>>2]=P>>31;continue;case 2:p[q[64+F>>2]>>1]=P;continue;case 3:o[q[64+F>>2]]=P;continue;case 5:q[q[64+F>>2]>>2]=P;continue;case 4:continue;case 6:break I}G=q[64+F>>2],q[G>>2]=P,q[G+4>>2]=P>>31;continue}J=q[64+F>>2],t=q[68+F>>2],Q=2684}J=ea(J,t,R)}I=-1<(0|H)?-65537&I:I,H=!!((K=t=q[68+F>>2])|(M=q[64+F>>2]))|H?(0|(t=!(K|M)+(R-J|0)|0))<(0|H)?H:t:(J=R,0)}_(a,32,t=(0|N)<(0|(G=(H=(0|H)<(0|(K=G-J|0))?K:H)+O|0))?G:N,G,I),Z(a,Q,O),_(a,48,t,G,65536^I),_(a,48,H,K,0),Z(a,J,K),_(a,32,t,G,8192^I);continue}break}O=0}return L=80+F|0,O}function ja(a){var Y,o=0,w=0,A=0,B=0,C=0,D=0,E=0,V=0,W=0,X=0,Z=0,_=0;L=Y=L-16|0;a:{b:{c:{d:{e:{f:{g:{h:{i:{j:{k:{if(a>>>0<=244){if(3&(o=(C=q[1923])>>>(a=(D=a>>>0<11?16:a+11&-8)>>>3))){a=(o=q[(B=(w=a+(1&(-1^o))|0)<<3)+7740>>2])+8|0,(0|(A=q[o+8>>2]))!=(0|(B=B+7732|0))?(q[A+12>>2]=B,q[B+8>>2]=A):(Z=7692,_=jc(w)&C,q[Z>>2]=_),w<<=3,q[o+4>>2]=3|w,q[(o=o+w|0)+4>>2]=1|q[o+4>>2];break a}if(D>>>0<=(V=q[1925])>>>0)break k;if(o){w=o=(a=(0-(a=(0-(w=2<>>12&16,w|=o=(a>>>=o)>>>5&8,w|=o=(a>>>=o)>>>2&4,o=q[(A=(w=((w|=o=(a>>>=o)>>>1&2)|(o=(a>>>=o)>>>1&1))+(a>>>o)|0)<<3)+7740>>2],(0|(a=q[o+8>>2]))!=(0|(A=A+7732|0))?(q[a+12>>2]=A,q[A+8>>2]=a):(C=jc(w)&C,q[1923]=C),a=o+8|0,q[o+4>>2]=3|D,B=(w<<=3)-D|0,q[(E=o+D|0)+4>>2]=1|B,q[o+w>>2]=B,V&&(o=7732+((w=V>>>3)<<3)|0,A=q[1928],w=(w=1<>2]:(q[1923]=w|C,o),q[o+8>>2]=A,q[w+12>>2]=A,q[A+12>>2]=o,q[A+8>>2]=w),q[1928]=E,q[1925]=B;break a}if(!(X=q[1924]))break k;for(w=o=(a=(X&0-X)-1|0)>>>12&16,w|=o=(a>>>=o)>>>5&8,w|=o=(a>>>=o)>>>2&4,o=q[7996+(((w|=o=(a>>>=o)>>>1&2)|(o=(a>>>=o)>>>1&1))+(a>>>o)<<2)>>2],A=(-8&q[o+4>>2])-D|0,w=o;a=(a=q[w+16>>2])||q[w+20>>2];)A=(w=(B=(-8&q[a+4>>2])-D|0)>>>0>>0)?B:A,o=w?a:o,w=a;if(W=q[o+24>>2],(0|(B=q[o+12>>2]))!=(0|o)){a=q[o+8>>2],q[a+12>>2]=B,q[B+8>>2]=a;break b}if(!(a=q[(w=o+20|0)>>2])){if(!(a=q[o+16>>2]))break j;w=o+16|0}for(;E=w,(a=q[(w=(B=a)+20|0)>>2])||(w=B+16|0,a=q[B+16>>2]););q[E>>2]=0;break b}if(D=-1,!(4294967231>>0)&&(D=-8&(o=a+11|0),V=q[1924])){w=0-D|0,C=0,(o>>>=8)&&(C=31,16777215>>0||(C=28+((a=((C=(o<<=A=o+1048320>>>16&8)<<(a=o+520192>>>16&4))<<(o=C+245760>>>16&2)>>>15)-(o|a|A)|0)<<1|D>>>a+21&1)|0));q:{r:{if(A=q[7996+(C<<2)>>2])for(o=D<<(31==(0|C)?0:25-(C>>>1)|0),a=0;;){if(!(w>>>0<=(E=(-8&q[A+4>>2])-D|0)>>>0||(B=A,w=E))){w=0,a=A;break r}if(E=q[A+20>>2],A=q[16+((o>>>29&4)+A|0)>>2],a=E?(0|E)==(0|A)?a:E:a,o<<=0!=(0|A),!A)break}else a=0;if(!(a|B)){if(!(a=(0-(a=2<>>12&16,A|=o=(a>>>=o)>>>5&8,A|=o=(a>>>=o)>>>2&4,a=q[7996+(((A|=o=(a>>>=o)>>>1&2)|(o=(a>>>=o)>>>1&1))+(a>>>o)<<2)>>2]}if(!a)break q}for(;w=(o=(A=(-8&q[a+4>>2])-D|0)>>>0>>0)?A:w,B=o?a:B,a=(o=q[a+16>>2])||q[a+20>>2];);}if(!(!B|w>>>0>=q[1925]-D>>>0)){if(E=q[B+24>>2],(0|B)!=(0|(o=q[B+12>>2]))){a=q[B+8>>2],q[a+12>>2]=o,q[o+8>>2]=a;break c}if(!(a=q[(A=B+20|0)>>2])){if(!(a=q[B+16>>2]))break i;A=B+16|0}for(;C=A,(a=q[(A=(o=a)+20|0)>>2])||(A=o+16|0,a=q[o+16>>2]););q[C>>2]=0;break c}}}if(D>>>0<=(o=q[1925])>>>0){a=q[1928],16<=(w=o-D|0)>>>0?(q[1925]=w,A=a+D|0,q[1928]=A,q[A+4>>2]=1|w,q[a+o>>2]=w,q[a+4>>2]=3|D):(q[1928]=0,q[1925]=0,q[a+4>>2]=3|o,q[(o=a+o|0)+4>>2]=1|q[o+4>>2]),a=a+8|0;break a}if(D>>>0<(A=q[1926])>>>0){o=A-D|0,q[1926]=o,w=(a=q[1929])+D|0,q[1929]=w,q[w+4>>2]=1|o,q[a+4>>2]=3|D,a=a+8|0;break a}if((w=(C=(w=B=D+47|(a=0))+(o=q[2041]?q[2043]:(q[2044]=-1,q[2045]=-1,q[2042]=4096,q[2043]=4096,q[2041]=12+Y&-16^1431655768,q[2046]=0,q[2034]=0,4096))|0)&(E=0-o|0))>>>0<=D>>>0)break a;if((o=q[2033])&&(W=(V=q[2031])+w|0)>>>0<=V>>>0|o>>>0>>0)break a;if(4&r[8136])break f;v:{w:{if(o=q[1929])for(a=8140;;){if((V=q[a>>2])+q[a+4>>2]>>>0>o>>>0&&V>>>0<=o>>>0)break w;if(!(a=q[a+8>>2]))break}if(-1==(0|(o=da(0))))break g;if(C=w,(A=(a=q[2042])+-1|0)&o&&(C=(w-o|0)+(o+A&0-a)|0),C>>>0<=D>>>0|2147483646>>0)break g;if((a=q[2033])&&(E=(A=q[2031])+C|0)>>>0<=A>>>0|a>>>0>>0)break g;if((0|o)!=(0|(a=da(C))))break v;break e}if(2147483646<(C=E&C-A)>>>0)break g;if((0|(o=da(C)))==(q[a>>2]+q[a+4>>2]|0))break h;a=o}if(!(D+48>>>0<=C>>>0|2147483646>>0|-1==(0|(o=a)))){if(2147483646<(a=(a=q[2043])+(B-C|0)&0-a)>>>0)break e;if(-1!=(0|da(a))){C=a+C|0;break e}da(0-C|0);break g}if(-1!=(0|o))break e;break g}B=0;break b}o=0;break c}if(-1!=(0|o))break e}q[2034]=4|q[2034]}if(2147483646>>0)break d;if(o=da(w),(a=da(0))>>>0<=o>>>0|-1==(0|o)|-1==(0|a))break d;if((C=a-o|0)>>>0<=D+40>>>0)break d}a=q[2031]+C|0,(q[2031]=a)>>>0>t[2032]&&(q[2032]=a);x:{y:{z:{if(w=q[1929]){for(a=8140;;){if(((A=q[a>>2])+(B=q[a+4>>2])|0)==(0|o))break z;if(!(a=q[a+8>>2]))break}break y}for((a=q[1927])>>>0<=o>>>0&&a||(q[1927]=o),a=0,q[2036]=C,q[2035]=o,q[1931]=-1,q[1932]=q[2041],q[2038]=0;A=(w=a<<3)+7732|0,q[w+7740>>2]=A,q[w+7744>>2]=A,32!=(0|(a=a+1|0)););A=(a=C+-40|0)-(w=o+8&7?-8-o&7:0)|0,q[1926]=A,w=o+w|0,q[1929]=w,q[w+4>>2]=1|A,q[4+(a+o|0)>>2]=40,q[1930]=q[2045];break x}if(!(8&r[a+12|0]|o>>>0<=w>>>0|w>>>0>>0)){q[a+4>>2]=B+C,o=(a=w+8&7?-8-w&7:0)+w|0,q[1929]=o,a=(A=q[1926]+C|0)-a|0,q[1926]=a,q[o+4>>2]=1|a,q[4+(w+A|0)>>2]=40,q[1930]=q[2045];break x}}o>>>0<(B=q[1927])>>>0&&(q[1927]=o,B=0),A=o+C|0,a=8140;A:{B:{C:{D:{E:{F:{for(;(0|A)!=q[a>>2];)if(!(a=q[a+8>>2]))break F;if(!(8&r[a+12|0]))break E}for(a=8140;;){if((A=q[a>>2])>>>0<=w>>>0&&w>>>0<(B=A+q[a+4>>2]|0)>>>0)break D;a=q[a+8>>2]}}if(q[a>>2]=o,q[a+4>>2]=q[a+4>>2]+C,q[(W=(o+8&7?-8-o&7:0)+o|0)+4>>2]=3|D,a=((o=A+(A+8&7?-8-A&7:0)|0)-W|0)-D|0,E=D+W|0,(0|o)==(0|w)){q[1929]=E,a=q[1926]+a|0,q[1926]=a,q[E+4>>2]=1|a;break B}if(q[1928]==(0|o)){q[1928]=E,a=q[1925]+a|0,q[1925]=a,q[E+4>>2]=1|a,q[a+E>>2]=a;break B}if(1==(3&(w=q[o+4>>2]))){X=-8&w;G:if(w>>>0<=255){if(B=w>>>3,w=q[o+8>>2],(0|(A=q[o+12>>2]))==(0|w)){Z=7692,_=q[1923]&jc(B),q[Z>>2]=_;break G}q[w+12>>2]=A,q[A+8>>2]=w}else{if(V=q[o+24>>2],(0|(C=q[o+12>>2]))==(0|o))if((D=q[(A=o+20|0)>>2])||(D=q[(A=o+16|0)>>2])){for(;w=A,(D=q[(A=(C=D)+20|0)>>2])||(A=C+16|0,D=q[C+16>>2]););q[w>>2]=0}else C=0;else w=q[o+8>>2],q[w+12>>2]=C,q[C+8>>2]=w;if(V){w=q[o+28>>2];J:{if(q[(A=7996+(w<<2)|0)>>2]==(0|o)){if(q[A>>2]=C)break J;Z=7696,_=q[1924]&jc(w),q[Z>>2]=_;break G}if(!(q[V+(q[V+16>>2]==(0|o)?16:20)>>2]=C))break G}q[C+24>>2]=V,(w=q[o+16>>2])&&(q[C+16>>2]=w,q[w+24>>2]=C),(w=q[o+20>>2])&&(q[C+20>>2]=w,q[w+24>>2]=C)}}o=o+X|0,a=a+X|0}if(q[o+4>>2]=-2&q[o+4>>2],q[E+4>>2]=1|a,(q[a+E>>2]=a)>>>0<=255){a=7732+((o=a>>>3)<<3)|0,o=(w=q[1923])&(o=1<>2]:(q[1923]=o|w,a),q[a+8>>2]=E,q[o+12>>2]=E,q[E+12>>2]=a,q[E+8>>2]=o;break B}if(o=0,(A=a>>>8)&&(o=31,16777215>>0||(o=28+((o=((D=(A<<=B=A+1048320>>>16&8)<<(o=A+520192>>>16&4))<<(A=D+245760>>>16&2)>>>15)-(A|o|B)|0)<<1|a>>>o+21&1)|0)),q[(w=E)+28>>2]=o,q[E+16>>2]=0,w=7996+(o<<2)|(q[E+20>>2]=0),(A=q[1924])&(B=1<>>1)|0),o=q[w>>2];;){if((-8&q[(w=o)+4>>2])==(0|a))break C;if(o=A>>>29,A<<=1,!(o=q[(B=(4&o)+w|0)+16>>2]))break}q[B+16>>2]=E}else q[1924]=A|B,q[w>>2]=E;q[E+24>>2]=w,q[E+12>>2]=E,q[E+8>>2]=E;break B}for(E=(a=C+-40|0)-(A=o+8&7?-8-o&7:0)|0,q[1926]=E,A=o+A|0,q[1929]=A,q[A+4>>2]=1|E,q[4+(a+o|0)>>2]=40,q[1930]=q[2045],q[(A=(a=(B+(B+-39&7?39-B&7:0)|0)-47|0)>>>0>>0?w:a)+4>>2]=27,a=q[2038],q[A+16>>2]=q[2037],q[A+20>>2]=a,a=q[2036],q[A+8>>2]=q[2035],q[A+12>>2]=a,q[2037]=A+8,q[2036]=C,q[2035]=o,a=A+24|(q[2038]=0);q[a+4>>2]=7,o=a+8|0,a=a+4|0,o>>>0>>0;);if((0|w)==(0|A))break x;if(q[A+4>>2]=-2&q[A+4>>2],B=A-w|0,q[w+4>>2]=1|B,(q[A>>2]=B)>>>0<=255){a=7732+((o=B>>>3)<<3)|0,o=(A=q[1923])&(o=1<>2]:(q[1923]=o|A,a),q[a+8>>2]=w,q[o+12>>2]=w,q[w+12>>2]=a,q[w+8>>2]=o;break x}if(q[w+16>>2]=0,a=q[w+20>>2]=0,(A=B>>>8)&&(a=31,16777215>>0||(a=28+((a=((E=(A<<=C=A+1048320>>>16&8)<<(a=A+520192>>>16&4))<<(A=E+245760>>>16&2)>>>15)-(A|a|C)|0)<<1|B>>>a+21&1)|0)),o=7996+((q[(o=w)+28>>2]=a)<<2)|0,(A=q[1924])&(C=1<>>1)|0),o=q[o>>2];;){if((0|B)==(-8&q[(A=o)+4>>2]))break A;if(o=a>>>29,a<<=1,!(o=q[(C=A+(4&o)|0)+16>>2]))break}q[C+16>>2]=w,q[w+24>>2]=A}else q[1924]=A|C,q[o>>2]=w,q[w+24>>2]=o;q[w+12>>2]=w,q[w+8>>2]=w;break x}a=q[w+8>>2],q[a+12>>2]=E,q[w+8>>2]=E,q[E+24>>2]=0,q[E+12>>2]=w,q[E+8>>2]=a}a=W+8|0;break a}a=q[A+8>>2],q[a+12>>2]=w,q[A+8>>2]=w,q[w+24>>2]=0,q[w+12>>2]=A,q[w+8>>2]=a}if(!((a=q[1926])>>>0<=D>>>0)){o=a-D|0,q[1926]=o,w=(a=q[1929])+D|0,q[1929]=w,q[w+4>>2]=1|o,q[a+4>>2]=3|D,a=a+8|0;break a}}q[1906]=48,a=0;break a}Q:if(E){a=q[B+28>>2];R:{if(q[(A=7996+(a<<2)|0)>>2]==(0|B)){if(q[A>>2]=o)break R;V=jc(a)&V,q[1924]=V;break Q}if(!(q[E+(q[E+16>>2]==(0|B)?16:20)>>2]=o))break Q}q[o+24>>2]=E,(a=q[B+16>>2])&&(q[o+16>>2]=a,q[a+24>>2]=o),(a=q[B+20>>2])&&(q[o+20>>2]=a,q[a+24>>2]=o)}S:if(w>>>0<=15)a=w+D|0,q[B+4>>2]=3|a,q[(a=a+B|0)+4>>2]=1|q[a+4>>2];else if(q[B+4>>2]=3|D,q[(A=B+D|0)+4>>2]=1|w,(q[w+A>>2]=w)>>>0<=255)a=7732+((o=w>>>3)<<3)|0,o=(w=q[1923])&(o=1<>2]:(q[1923]=o|w,a),q[a+8>>2]=A,q[o+12>>2]=A,q[A+12>>2]=a,q[A+8>>2]=o;else{a=0,(D=w>>>8)&&(a=31,16777215>>0||(a=28+((a=((E=(D<<=C=D+1048320>>>16&8)<<(a=D+520192>>>16&4))<<(D=E+245760>>>16&2)>>>15)-(D|a|C)|0)<<1|w>>>a+21&1)|0)),q[(o=A)+28>>2]=a,q[A+16>>2]=0,o=7996+(a<<2)|(q[A+20>>2]=0);V:{if((D=1<>>1)|0),D=q[o>>2];;){if((-8&q[(o=D)+4>>2])==(0|w))break V;if(D=a>>>29,a<<=1,!(D=q[(C=(4&D)+o|0)+16>>2]))break}q[C+16>>2]=A}else q[1924]=D|V,q[o>>2]=A;q[A+24>>2]=o,q[A+12>>2]=A,q[A+8>>2]=A;break S}a=q[o+8>>2],q[a+12>>2]=A,q[o+8>>2]=A,q[A+24>>2]=0,q[A+12>>2]=o,q[A+8>>2]=a}a=B+8|0;break a}X:if(W){a=q[o+28>>2];Y:{if(q[(w=7996+(a<<2)|0)>>2]==(0|o)){if(q[w>>2]=B)break Y;Z=7696,_=jc(a)&X,q[Z>>2]=_;break X}if(!(q[W+(q[W+16>>2]==(0|o)?16:20)>>2]=B))break X}q[B+24>>2]=W,(a=q[o+16>>2])&&(q[B+16>>2]=a,q[a+24>>2]=B),(a=q[o+20>>2])&&(q[B+20>>2]=a,q[a+24>>2]=B)}A>>>0<=15?(a=A+D|0,q[o+4>>2]=3|a,q[(a=a+o|0)+4>>2]=1|q[a+4>>2]):(q[o+4>>2]=3|D,q[(D=o+D|0)+4>>2]=1|A,q[A+D>>2]=A,V&&(a=7732+((w=V>>>3)<<3)|0,B=q[1928],w=(w=1<>2]:(q[1923]=w|C,a),q[a+8>>2]=B,q[w+12>>2]=B,q[B+12>>2]=a,q[B+8>>2]=w),q[1928]=D,q[1925]=A),a=o+8|0}return L=16+Y|0,a}function ka(a){var q=0,t=x(0),L=0,$=0,aa=x(0),ba=x(0);j(a);a:{if(1283457024<=(q=2147483647&($=e(0)))>>>0){if(2139095040>>0)break a;return x((0|$)<0?-1.570796251296997:1.570796251296997)}b:{if(q>>>0<=1054867455){if(L=-1,964689920<=q>>>0)break b;break a}if(a=x(y(a)),q>>>0<=1066926079){if(q>>>0<=1060110335){a=x(x(x(a+a)+x(-1))/x(a+x(2))),L=0;break b}a=x(x(a+x(-1))/x(a+x(1))),L=1}else L=q>>>0<=1075576831?(a=x(x(a+x(-1.5))/x(x(a*x(1.5))+x(1))),2):(a=x(x(-1)/a),3)}if(q=L,aa=x(a*a),t=x(aa*aa),ba=x(t*x(x(t*x(-.106480173766613))+x(-.19999158382415771))),t=x(aa*x(x(t*x(x(t*x(.06168760731816292))+x(.14253635704517365)))+x(.333333283662796))),(0|q)<=-1)return x(a-x(a*x(ba+t)));a=x(u[(q<<=2)+6080>>2]-x(x(x(a*x(ba+t))-u[q+6096>>2])-a)),a=(0|$)<0?x(-a):a}return a}function la(a,ca){var fa,da=0,ea=0,ga=0,ha=0,ia=0;L=fa=L-16|0,j(a);a:if((da=2147483647&(ga=e(0)))>>>0<=1305022426){if(ea=.6366197723675814*(ha=+a)+6755399441055744-6755399441055744,v[ca>>3]=ha+-1.5707963109016418*ea+-1.5893254773528196e-8*ea,y(ea)<2147483648){da=~~ea;break a}da=-2147483648}else 2139095040<=da>>>0?(v[ca>>3]=x(a-a),da=0):(da=((ia=da)>>>23)-150|0,v[8+fa>>3]=(f(0,ia-(da<<23)|0),k()),da=Da(8+fa|0,fa,da),ea=v[fa>>3],(0|ga)<=-1?(v[ca>>3]=-ea,da=0-da|0):v[ca>>3]=ea);return L=16+fa|0,da}function ma(a){var ca=0,ja=0,ka=0,la=0,ma=0;ka=4,ja=1082;a:if(ca=r[0|a]){for(;!((0|(la=r[0|ja]))!=(0|ca)||!(ka=ka+-1|0)|!la);)if(ja=ja+1|0,ca=r[a+1|0],a=a+1|0,!ca)break a;ma=ca}return(255&ma)-r[0|ja]|0}function oa(a,na){return a?function(a,Ub){a:{if(a){if(Ub>>>0<=127)break a;if(q[q[1625]>>2]){if(Ub>>>0<=2047)return o[a+1|0]=63&Ub|128,o[0|a]=Ub>>>6|192,2;if(!(57344!=(-8192&Ub)&&55296<=Ub>>>0))return o[a+2|0]=63&Ub|128,o[0|a]=Ub>>>12|224,o[a+1|0]=Ub>>>6&63|128,3;if(Ub+-65536>>>0<=1048575)return o[a+3|0]=63&Ub|128,o[0|a]=Ub>>>18|240,o[a+2|0]=Ub>>>6&63|128,o[a+1|0]=Ub>>>12&63|128,4}else if(57216==(-128&Ub))break a;q[1906]=25,a=-1}else a=1;return a}return o[0|a]=Ub,1}(a,na):0}function pa(a,na,oa,sa){a:{if(!(20>>0||9<(na=na+-9|0)>>>0)){c:switch(na-1|0){default:return na=q[oa>>2],q[oa>>2]=na+4,void(q[a>>2]=q[na>>2]);case 0:return na=q[oa>>2],q[oa>>2]=na+4,na=q[na>>2],q[a>>2]=na,void(q[a+4>>2]=na>>31);case 1:return na=q[oa>>2],q[oa>>2]=na+4,q[a>>2]=q[na>>2],void(q[a+4>>2]=0);case 3:return na=q[oa>>2],q[oa>>2]=na+4,na=p[na>>1],q[a>>2]=na,void(q[a+4>>2]=na>>31);case 4:return na=q[oa>>2],q[oa>>2]=na+4,q[a>>2]=s[na>>1],void(q[a+4>>2]=0);case 5:return na=q[oa>>2],q[oa>>2]=na+4,na=o[0|na],q[a>>2]=na,void(q[a+4>>2]=na>>31);case 6:return na=q[oa>>2],q[oa>>2]=na+4,q[a>>2]=r[0|na],void(q[a+4>>2]=0);case 2:case 7:break a;case 8:break c}n[sa](a,oa)}return}na=q[oa>>2]+7&-8,q[oa>>2]=na+8,oa=q[na+4>>2],q[a>>2]=q[na>>2],q[a+4>>2]=oa}function qa(a){var na=0,oa=0,sa=0;if(ga(o[q[a>>2]]))for(;na=q[a>>2],sa=o[0|na],q[a>>2]=na+1,oa=(w(oa,10)+sa|0)-48|0,ga(o[na+1|0]););return oa}function ra(a,ta,ua,va,wa){var xa,ya=0,za=0;q[204+(L=xa=L-208|0)>>2]=ua,ba(160+xa|(ua=0),0,40),q[200+xa>>2]=q[204+xa>>2],(0|ia(0,ta,200+xa|0,80+xa|0,160+xa|0,va,wa))<0||(ua=0<=q[a+76>>2]?1:ua,ya=q[a>>2],o[a+74|0]<=0&&(q[a>>2]=-33&ya),za=32&ya,q[a+48>>2]?ia(a,ta,200+xa|0,80+xa|0,160+xa|0,va,wa):(q[a+48>>2]=80,q[a+16>>2]=80+xa,q[a+28>>2]=xa,q[a+20>>2]=xa,ya=q[a+44>>2],ia(a,ta,200+(q[a+44>>2]=xa)|0,80+xa|0,160+xa|0,va,wa),ya&&(n[q[a+36>>2]](a,0,0),q[a+48>>2]=0,q[a+44>>2]=ya,q[a+28>>2]=0,q[a+16>>2]=0,q[a+20>>2]=0)),q[a>>2]=q[a>>2]|za),L=208+xa|0}function sa(a,ta,ua){var va,wa=0;fa(8+(L=va=L-160|0)|0,2536,144),q[52+va>>2]=a,wa=(wa=-2-(q[28+va>>2]=a)|0)>>>0<256?wa:256,a=a+(q[56+va>>2]=wa)|0,q[36+va>>2]=a,q[24+va>>2]=a,ra(8+va|0,ta,ua,15,16),wa&&(a=q[28+va>>2],o[a-((0|a)==q[24+va>>2])|0]=0),L=160+va|0}function ta(a){var ta=0,ua=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=x(0),Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=x(0),Oa=0,Pa=x(0),Qa=0,Ra=0,Sa=x(0),Ta=x(0),Ua=x(0),Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0;if(q[a+256>>2]&&(ta=q[a+200>>2]<<2,fa(q[a+280>>2],q[a+264>>2],ta),fa(q[a+284>>2],q[a+268>>2],ta),fa(q[a+288>>2],q[a+276>>2],ta)),!((0|(Ca=q[a+292>>2]))<1)){for(Ga=(Ea=q[a+296>>2])+w(Ca,40)|0,Aa=q[a+300>>2],ta=Ea;Ua=u[Aa>>2],(Pa=u[ta+32>>2])==(Fa=(ua=q[ta+12>>2])?(Sa=u[ta>>2],Fa=x(Ua-Sa),Ua=u[ta+8>>2],Na=x(Fa/Ua),Fa=x(C(Na)),Ba=x(y(Fa))>2],Fa=u[ta+4>>2],Ua>2]=0:(u[ta+32>>2]=Fa,q[ta+36>>2]=1),ua||(u[Aa>>2]=Fa),Aa=Aa+4|0,(ta=ta+40|0)>>>0>>0;);if(!((0|Ca)<1))for(Oa=q[a+308>>2],Ma=q[a+376>>2];;){e:if(!((0|(ua=q[Ea+28>>2]))<1))if(Ha=(ta=Oa+w(q[Ea+24>>2],28)|0)+w(ua,28)|0,Ua=u[Ea+20>>2],Ta=u[Ea+16>>2],Pa=u[Ea+32>>2],Ma)for(;;){Sa=x(Ca=0);l:{m:{n:{if((0|(Da=q[ta>>2]))<1)Aa=Ba=0;else if(ua=q[ta+4>>2],Na=u[ua>>2],Fa=x(Na-Ta),1!=(0|Da)){if(Pa>2],!(Pa>2],Pa>2])break m;break l}Aa=Da+-1|0,Ba=1}La=(Da=(Fa=u[ta+12>>2])!=Sa)&(Sa==x(0)|Fa==x(0))|q[ta+8>>2]!=(0|Aa),Ca=Ba}if(q[ta+20>>2]=La,q[ta+24>>2]=Da,u[ta+12>>2]=Sa,q[ta+16>>2]=Ca,q[ta+8>>2]=Aa,!((ta=ta+28|0)>>>0>>0))break}else{if(!q[Ea+36>>2])for(;;)if(q[ta+20>>2]=0,!((ta=ta+28|(q[ta+24>>2]=0))>>>0>>0))break e;for(;;){Sa=x(Ca=0);f:{g:{h:{i:if(!(((Ba=0)|(Aa=q[(ua=ta)>>2]))<1)){if(Ja=q[ta+4>>2],Na=u[Ja>>2],Fa=x(Na-Ta),1!=(0|Aa)){if(!(Pa>2],!(Pa>2],Pa>2]))break f}Ca=Ba,Ja=(Da=(Fa=u[ta+12>>2])!=Sa)&(Sa==x(0)|Fa==x(0))|q[ta+8>>2]!=(0|Aa)}if(q[ua+20>>2]=Ja,q[ta+24>>2]=Da,u[ta+12>>2]=Sa,q[ta+16>>2]=Ca,q[ta+8>>2]=Aa,!((ta=ta+28|0)>>>0>>0))break}}if(!((Ea=Ea+40|0)>>>0>>0))break}}if(1<=(0|(ta=q[a+312>>2])))for(Ja=(Ia=q[a+316>>2])+w(ta,36)|0,Ga=q[a+376>>2];;){Za=(ua=q[Ia+12>>2])+((Ea=q[Ia>>2])<<2)|0,Qa=q[a+308>>2],ta=ua;p:{if(!(Ea=((Da=Ba=Ca=0)|Ea)<1))for(;;){if(Aa=Qa+w(q[ta>>2],28)|0,q[Aa+16>>2]){La=1,Ra=Ya=0;break p}if(Ca=Ca||q[Aa+24>>2],Da=Da||q[Aa+20>>2],Ba=(u[Aa+12>>2]!=x(0))+Ba|0,!((ta=ta+4|0)>>>0>>0))break}if(La=0,(Ra=Ga?1:Da)|(Ya=Ga?1:Ca)&&(Xa=1<>2]=Xa,31!=(0|Ba))){for(Ca=q[Ia+20>>2],Aa=(ta=q[Ia+16>>2])+(Da=Xa<<2)|0,Va=ba(Ka=ta,0,4+((Ha=-1^ta)+((ta=ta+4|0)>>>0>>0?Aa:ta)|0)&-4),Da=Ca+Da|0,ta=Ca;q[ta>>2]=1065353216,(ta=ta+4|0)>>>0>>0;);if(!Ea)if(Da=Ea=1,Ba)for(;;){if(Ka=Qa+w(q[ua>>2],28)|0,Ba=q[Ka+8>>2],Ha=w(Ba,Ea),ta=0,(Fa=u[Ka+12>>2])==x(0))for(;q[(Ba=Va+(ta<<2)|0)>>2]=Ha+q[Ba>>2],(0|Xa)!=(0|(ta=ta+1|0)););else{for(q[Va>>2]=Ha+q[Va>>2],u[Ca>>2]=x(x(1)-Fa)*u[Ca>>2],Oa=w(Ba+(ta=1)|0,Ea);Fa=u[Ka+12>>2],Aa=ta&Da,q[(Ba=(Ma=ta<<2)+Va|0)>>2]=q[Ba>>2]+(Aa?Oa:Ha),u[(Ba=Ca+Ma|0)>>2]=(Aa?Fa:x(x(1)-Fa))*u[Ba>>2],(0|Xa)!=(0|(ta=ta+1|0)););Da<<=1}if(Ea=w(q[Ka>>2],Ea),!((ua=ua+4|0)>>>0>>0))break}else for(;;){if(Aa=Qa+w(q[ua>>2],28)|0,Da=w(q[Aa+8>>2],Ea),ta=0,(Fa=u[Aa+12>>2])==x(0))for(;q[(Ba=Va+(ta<<2)|0)>>2]=Da+q[Ba>>2],(0|Xa)!=(0|(ta=ta+1|0)););else q[Va>>2]=Da+q[Va>>2],u[Ca>>2]=x(x(1)-Fa)*u[Ca>>2];if(Ea=w(q[Aa>>2],Ea),!((ua=ua+4|0)>>>0>>0))break}}}if(q[Ia+32>>2]=La,q[Ia+24>>2]=Ra,q[Ia+28>>2]=Ya,!((Ia=Ia+36|0)>>>0>>0))break}if(!((0|(Ba=q[a+4>>2]))<=0)){for(ua=(ta=q[a+52>>2])+(Ba<<2)|0;Fa=u[ta>>2],u[ta>>2]=Fa>>0>>0;);if(!((0|Ba)<1)){for(Ea=(ta=q[a+8>>2])+(Ba<<3)|0,Ha=q[a+316>>2],Ca=q[a+40>>2],Aa=Da=q[a+36>>2];Ba=0,q[ta+4>>2]&&(ua=q[ta>>2],!q[Da+(ua<<2)>>2]&&-1!=(0|ua)||(Ba=!q[32+(Ha+w(q[Ca>>2],36)|0)>>2])),q[Aa>>2]=Ba,Ca=Ca+4|0,Aa=Aa+4|0,(ta=ta+8|0)>>>0>>0;);if(!((0|(Ga=q[a+4>>2]))<1))for(Ja=q[a>>2],Oa=q[Ja+724>>2],ua=q[a+40>>2],Da=Ea=0;;){if(Ka=Ha+w(q[ua>>2],36)|0,(q[Ka+28>>2]||q[Ka+24>>2])&&(q[(Ca=Ea<<2)+q[a+16>>2]>>2]=q[Ka+8>>2],q[Ka+24>>2]&&!((0|(Ba=q[Ka+8>>2]))<1)))for(Ma=(ta=q[Ka+16>>2])+(Ba<<2)|0,Ca=q[Ca+Oa>>2],Aa=q[a+28>>2]+(Da<<2)|0,Ba=q[Ja+936>>2];q[Aa>>2]=q[Ba+(Ca+q[ta>>2]<<2)>>2],Aa=Aa+4|0,(ta=ta+4|0)>>>0>>0;);if(q[Ka+28>>2]&&!((0|(Ba=q[Ka+8>>2]))<1))for(Ba=(ta=q[Ka+20>>2])+(Ba<<2)|0,Aa=q[a+20>>2]+(Da<<2)|0;q[Aa>>2]=q[ta>>2],Aa=Aa+4|0,(ta=ta+4|0)>>>0>>0;);if(ua=ua+4|0,Da=q[Ka+4>>2]+Da|0,(0|Ga)==(0|(Ea=Ea+1|0)))break}}}if(n[q[1644]](a),_a=q[a+316>>2],1<=(0|(ua=q[a+56>>2]))){for(Ga=(ta=q[a+60>>2])+(ua<<5)|0,Ja=q[a+176>>2],Oa=q[a+172>>2],Ma=q[a+36>>2],Ba=q[a+180>>2],Ca=Aa=q[a+168>>2];;){Da=Ca,ua=0,q[ta+28>>2]&&(-1!=(0|(Ea=q[ta>>2]))&&(ua=0,!q[Ma+(Ea<<2)>>2])||-1!=(0|(Ea=q[ta+4>>2]))&&(ua=0,!q[Aa+(Ea<<2)>>2])||(ua=!q[32+(w(q[Ba>>2],36)+_a|0)>>2])),q[Da>>2]=ua;x:if((Da=q[ta+8>>2])>>>0<=1){if(Da-1){q[Oa+(q[ta+12>>2]<<2)>>2]=ua;break x}q[Ja+(q[ta+12>>2]<<2)>>2]=ua}else Y(4,1473,0);if(Ba=Ba+4|0,Ca=Ca+4|0,!((ta=ta+32|0)>>>0>>0))break}_a=q[a+316>>2]}if(Ea=q[a>>2],1<=(0|(Ga=q[a- -64>>2]))){for(Ja=q[Ea+988>>2],Oa=q[Ea+784>>2],La=q[a+184>>2],Ia=ua=0;;){if(Ha=w(q[La>>2],36)+_a|0,(q[Ha+28>>2]||q[Ha+24>>2])&&(q[(Ca=ua<<2)+q[a+84>>2]>>2]=q[Ha+8>>2],q[Ha+24>>2]&&!((0|(Ba=q[Ha+8>>2]))<1)))for(Ma=(ta=q[Ha+16>>2])+(Ba<<2)|0,Da=q[Ca+Oa>>2],Aa=(Ba=Ia<<2)+q[a+100>>2]|0,Ca=Ba+q[a+96>>2]|0;Ba=Da+q[ta>>2]<<2,q[Aa>>2]=Ja+(q[Ba+q[Ea+944>>2]>>2]<<2),q[Ca>>2]=q[Ba+q[Ea+940>>2]>>2],Ca=Ca+4|0,Aa=Aa+4|0,(ta=ta+4|0)>>>0>>0;);if(q[Ha+28>>2]&&!((0|(Ba=q[Ha+8>>2]))<1))for(Ba=(ta=q[Ha+20>>2])+(Ba<<2)|0,Aa=q[a+88>>2]+(Ia<<2)|0;q[Aa>>2]=q[ta>>2],Aa=Aa+4|0,(ta=ta+4|0)>>>0>>0;);if(La=La+4|0,Ia=q[Ha+4>>2]+Ia|0,(0|Ga)==(0|(ua=ua+1|0)))break}_a=q[a+316>>2],Ea=q[a>>2]}if(1<=(0|(Xa=q[a+72>>2])))for(Za=q[a+76>>2],Qa=q[Ea+808>>2],Ya=q[a+188>>2],Ra=Ia=0;;){if(Wa=w(q[Ya>>2],36)+_a|0,(q[Wa+28>>2]||q[Wa+24>>2])&&(q[(ua=Ia<<2)+q[a+116>>2]>>2]=q[Wa+8>>2],q[Wa+24>>2])){if(ta=q[Wa+16>>2],Va=q[ua+Qa>>2],1<=(0|(ua=q[Wa+8>>2])))for(Ka=ta+(ua<<2)|0,Aa=(ua=Ra<<2)+q[a+132>>2]|0,Ca=ua+q[a+136>>2]|0,Ba=ua+q[a+140>>2]|0,Da=ua+q[a+144>>2]|0,La=ua+q[a+128>>2]|0,Ha=q[Ea+948>>2],Ga=q[Ea+964>>2],Ja=q[Ea+960>>2],Oa=q[Ea+956>>2],Ma=q[Ea+952>>2],ua=ta;$a=Va+q[ua>>2]<<2,q[Aa>>2]=q[$a+Ma>>2],q[Ca>>2]=q[Oa+$a>>2],q[Ba>>2]=q[Ja+$a>>2],q[Da>>2]=q[Ga+$a>>2],q[La>>2]=q[Ha+$a>>2],La=La+4|0,Da=Da+4|0,Ba=Ba+4|0,Ca=Ca+4|0,Aa=Aa+4|0,(ua=ua+4|0)>>>0>>0;);ua=Za+(Ia<<5)|0,ta=Va+q[ta>>2]<<2,q[ua+24>>2]=q[ta+q[Ea+968>>2]>>2],q[ua+28>>2]=q[ta+q[Ea+972>>2]>>2]}if(q[Wa+28>>2]&&!((0|(ua=q[Wa+8>>2]))<1))for(ua=(ta=q[Wa+20>>2])+(ua<<2)|0,Aa=q[a+120>>2]+(Ra<<2)|0;q[Aa>>2]=q[ta>>2],Aa=Aa+4|0,(ta=ta+4|0)>>>0>>0;);if(Ya=Ya+4|0,Ra=q[Wa+4>>2]+Ra|0,(0|Xa)==(0|(Ia=Ia+1|0)))break}if(n[q[1642]](a),n[q[1645]](a),!((0|(ua=q[a+200>>2]))<1)){for(Ma=(ta=q[a+204>>2])+(ua<<4)|0,Ea=q[a+168>>2],Da=q[a+36>>2],Ha=q[a+316>>2],Ca=q[a+252>>2],Aa=q[a+248>>2];Ba=0,q[ta+8>>2]&&(ua=q[ta>>2],!q[Da+(ua<<2)>>2]&&-1!=(0|ua)||(ua=q[ta+4>>2],!q[Ea+(ua<<2)>>2]&&-1!=(0|ua)||(Ba=!q[32+(Ha+w(q[Ca>>2],36)|0)>>2]))),q[Aa>>2]=Ba,Ca=Ca+4|0,Aa=Aa+4|0,(ta=ta+16|0)>>>0>>0;);if(!((0|(Ja=q[a+200>>2]))<1))for(Ka=q[a>>2],Oa=q[Ka+988>>2],Ma=q[Ka+844>>2],ua=q[a+252>>2],La=Ia=0;;){if(Qa=Ha+w(q[ua>>2],36)|0,(q[Qa+28>>2]||q[Qa+24>>2])&&(q[(Ca=Ia<<2)+q[a+212>>2]>>2]=q[Qa+8>>2],q[Qa+24>>2]&&!((0|(Ba=q[Qa+8>>2]))<1)))for(Ea=(ta=q[Qa+16>>2])+(Ba<<2)|0,Da=q[Ca+Ma>>2],Aa=(Ba=La<<2)+q[a+232>>2]|0,Ca=Ba+q[a+224>>2]|0,Ba=Ba+q[a+228>>2]|0;Ga=Da+q[ta>>2]<<2,q[Aa>>2]=Oa+(q[Ga+q[Ka+984>>2]>>2]<<2),q[Ca>>2]=q[Ga+q[Ka+976>>2]>>2],q[Ba>>2]=q[Ga+q[Ka+980>>2]>>2],Ba=Ba+4|0,Ca=Ca+4|0,Aa=Aa+4|0,(ta=ta+4|0)>>>0>>0;);if(q[Qa+28>>2]&&!((0|(Ba=q[Qa+8>>2]))<1))for(Ba=(ta=q[Qa+20>>2])+(Ba<<2)|0,Aa=q[a+216>>2]+(La<<2)|0;q[Aa>>2]=q[ta>>2],Aa=Aa+4|0,(ta=ta+4|0)>>>0>>0;);if(ua=ua+4|0,La=q[Qa+4>>2]+La|0,(0|Ja)==(0|(Ia=Ia+1|0)))break}}if(n[q[1643]](a),function(a){var ke,de=0,ee=0,fe=0,ge=0,he=0,ie=0,je=0,le=0,me=0,ne=0,oe=0,pe=0;if(1<=(0|(ke=q[a+340>>2])))for(me=q[a+316>>2],le=q[a>>2],ne=q[le+1072>>2],he=q[a+372>>2];;){if(fe=w(q[he>>2],36)+me|0,(q[fe+28>>2]||q[fe+24>>2])&&(q[(de=ie<<2)+q[a+352>>2]>>2]=q[fe+8>>2],q[fe+24>>2]&&!((0|(ge=q[fe+8>>2]))<1)))for(ee=q[fe+16>>2],ge=ee+(ge<<2)|0,oe=q[de+ne>>2],de=q[a+364>>2]+(je<<2)|0,pe=q[le+1104>>2];q[de>>2]=q[(q[ee>>2]+oe<<2)+pe>>2],de=de+4|0,(ee=ee+4|0)>>>0>>0;);if(q[fe+28>>2]&&!((0|(de=q[fe+8>>2]))<1))for(ee=q[fe+20>>2],ge=ee+(de<<2)|0,de=q[a+356>>2]+(je<<2)|0;q[de>>2]=q[ee>>2],de=de+4|0,(ee=ee+4|0)>>>0>>0;);if(he=he+4|0,je=q[fe+4>>2]+je|0,(0|ke)==(0|(ie=ie+1|0)))break}}(a),n[q[1646]](a),ua=q[a+48>>2],1<=(0|(ta=q[a+4>>2])))for(Ea=(Ca=q[a+8>>2])+(ta<<3)|0,Ba=q[a+52>>2],Aa=q[a+36>>2],ta=ua;q[Aa>>2]&&(Fa=u[Ba>>2],u[ta>>2]=Fa,-1!=(0|(Da=q[Ca>>2]))&&(u[ta>>2]=Fa*u[(Da<<2)+ua>>2])),ta=ta+4|0,Ba=Ba+4|0,Aa=Aa+4|0,(Ca=Ca+8|0)>>>0>>0;);if(1<=(0|(Ba=q[a+56>>2]))){for(ua=a+56|0,ta=q[a+60>>2],Aa=q[a+168>>2],Ca=0;q[Aa>>2]&&n[q[ta+16>>2]](ta,Ca,ua),Aa=Aa+4|0,ta=ta+32|0,(0|Ba)!=(0|(Ca=Ca+1|0)););ua=q[a+48>>2]}if(1<=(0|(Ba=q[a+200>>2])))for(Ja=(ta=q[a+204>>2])+(Ba<<4)|0,Oa=q[a+192>>2],Ma=q[a+60>>2],Ca=q[a+248>>2],Aa=q[a+276>>2],Ba=q[a+272>>2];q[Ca>>2]&&(-1!=(0|(Da=q[ta>>2]))&&(u[Aa>>2]=u[(Da<<2)+ua>>2]*u[Aa>>2]),-1!=(0|(Da=q[ta+4>>2]))&&(u[Aa>>2]=u[Oa+(Da<<2)>>2]*u[Aa>>2],Ea=Ma+(Da<<5)|0,Da=q[Ba>>2],n[q[Ea+20>>2]](q[Ea+24>>2],Da,Da,q[ta+12>>2]))),Ba=Ba+4|0,Aa=Aa+4|0,Ca=Ca+4|0,(ta=ta+16|0)>>>0>>0;);if(!function(a){var Bd=0,Cd=0,Dd=0,Ed=0,Fd=x(0),Gd=x(0),Hd=x(0),Id=x(0),Jd=x(0),Kd=0,Ld=0,Md=0,Nd=0,Od=0,Pd=x(0),Qd=0,Rd=0,Sd=x(0),Td=0;if(1<=(0|(Dd=q[a+340>>2])))for(Bd=q[a+344>>2],Td=Bd+w(Dd,24)|0,Dd=q[a+272>>2];;){if((a=0)<(0|(Kd=q[Bd+8>>2])))for(Ld=q[Dd+(q[Bd+4>>2]<<2)>>2],Md=q[Dd+(q[Bd>>2]<<2)>>2],Fd=u[Bd+20>>2],Nd=q[Bd+16>>2],Od=q[Bd+12>>2];Pd=u[((Cd=1|a)<<2)+Od>>2],Ed=s[(a<<1)+Nd>>1]<<3&262136,Gd=u[(Qd=(4|Ed)+Md|0)>>2],Cd=s[(Cd<<1)+Nd>>1]<<3&262136,Hd=u[(Rd=(4|Cd)+Ld|0)>>2],Id=u[(Ed=Ed+Md|0)>>2],Sd=u[(a<<2)+Od>>2],Jd=u[(Cd=Cd+Ld|0)>>2],u[Ed>>2]=Id+x(Fd*x(Sd*x(Jd-Id))),u[Qd>>2]=Gd+x(Fd*x(Sd*x(Hd-Gd))),u[Cd>>2]=Jd+x(Fd*x(Pd*x(Id-Jd))),u[Rd>>2]=Hd+x(Fd*x(Pd*x(Gd-Hd))),(0|(a=a+2|0))<(0|Kd););if(!((Bd=Bd+24|0)>>>0>>0))break}}(a),n[q[1647]](a),La=q[a+248>>2],Ia=q[a+268>>2],1<=(0|(Ha=q[a+320>>2]))){for(Ja=(Ba=q[a+324>>2])+w(Ha,28)|0,Oa=q[a+44>>2],Ma=q[a+36>>2],ua=Ba;;){if(1<=(0|(Aa=q[ua+4>>2])))for(Ea=ua+20|0,Da=q[ua+12>>2],ta=0;Ga=q[(Ca=Da+(ta<<4)|0)+4>>2]<<2,Ca=1==q[(Ka=Ca)>>2],q[Ka+12>>2]=q[(q[Ga+(Ca?Ma:La)>>2]?Ga+(Ca?Oa:Ia)|0:Ea)>>2],(0|Aa)!=(0|(ta=ta+1|0)););if(!((ua=ua+28|0)>>>0>>0))break}for(Oa=q[a+264>>2],Ra=0;;){if(Ga=Ba+w(Ra,28)|0,!(q[(Ja=Ga)+24>>2]<1)){for(Ca=q[a+328>>2],ta=0;q[Ca+(ta<<2)>>2]=-1,(0|(ta=ta+1|0))<(0|(ua=q[Ja+24>>2])););if(!((0|ua)<1))for(ua=q[a+336>>2],ta=0;q[ua+(ta<<2)>>2]=-1,(0|(ta=ta+1|0))>2];);}if(!(q[Ga+4>>2]<1)){for(Ma=q[a+332>>2],ta=0;q[Ma+(ta<<2)>>2]=-1,(0|(ta=ta+1|0))<(0|(ua=q[Ga+4>>2])););if(!((0|ua)<1))for(Aa=q[Ga+12>>2],Ea=q[a+336>>2],ta=0;Da=q[12+(Aa+(ta<<4)|0)>>2]-q[Ga+20>>2]<<2,ua=-1!=(0|(ua=q[(Ca=Da+Ea|0)>>2]))?Ma+(ua<<2)|0:Da+q[a+328>>2]|0,q[ua>>2]=ta,(0|(ta=(q[Ca>>2]=ta)+1|0))>2];);}if(1<=(0|(Ca=q[Ja+24>>2])))for(Aa=q[Ga+8>>2],Ma=q[a+328>>2],Ea=0;;){if(-1!=(0|(ta=q[Ma+(Ea<<2)>>2]))){for(Da=q[a+332>>2],Ca=q[Ga+12>>2];Aa=(ua=1!=q[(ua=Ca+(ta<<4)|0)>>2]?(q[Oa+(q[ua+4>>2]<<2)>>2]=Aa,1):(ua=Ba+w(q[ua+8>>2],28)|0,q[ua+8>>2]=Aa,q[ua>>2]))+Aa|0,(0|ta)<(0|(ua=q[Da+(ta<<2)>>2]))&&-1!=(0|(ta=ua)););Ca=q[Ja+24>>2]}if(!((0|(Ea=Ea+1|0))<(0|Ca)))break}if((0|Ha)==(0|(Ra=Ra+1|0)))break}}Da=q[a+200>>2];M:{if(q[a+376>>2]){if(ta=0,((q[a+256>>2]=0)|Da)<1)break M;for(;;){if(Aa=62,Ca=q[a+260>>2]+ta|0,!q[(ua=ta<<2)+La>>2]|u[ua+q[a+276>>2]>>2]==x(0)||(Aa=63),o[0|Ca]=Aa,(0|Da)==(0|(ta=ta+1|0)))break M;La=q[a+248>>2]}}if(!q[a+256>>2]){if((0|Da)<1)break M;for(ta=0;;){if(!q[(ua=ta<<2)+La>>2]|u[ua+q[a+276>>2]>>2]==x(0)?(ua=q[a+260>>2]+ta|0,o[0|ua]=254&r[0|ua]):(ua=q[a+260>>2]+ta|0,o[0|ua]=1|r[0|ua]),(0|Da)==(0|(ta=ta+1|0)))break M;La=q[a+248>>2]}}if(!(((q[a+256>>2]=0)|Da)<1))for(Aa=0;;){if(Fa=u[(Ca=Aa<<2)+q[a+276>>2]>>2],Ba=q[Ca+La>>2],ta=Fa!=x(0)&0!=(0|Ba),ua=q[a+260>>2]+Aa|0,ta=(0|ta)==(1&o[0|ua])?ta:2|ta,ta=Fa!=u[Ca+q[a+288>>2]>>2]?4|ta:ta,ta=q[Ca+Ia>>2]==q[Ca+q[a+284>>2]>>2]?ta:8|ta,ta=q[Ca+q[a+264>>2]>>2]==q[Ca+q[a+280>>2]>>2]?ta:16|ta,o[0|ua]=Ba?32|ta:ta,(0|Da)==(0|(Aa=Aa+1|0)))break M;Ia=q[a+268>>2],La=q[a+248>>2]}}q[a+376>>2]=0}function ua(a,ab,bb){var cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0;if(q[ab>>2]=384,db=q[a>>2],1<=(0|(fb=q[db>>2]))){for(hb=q[a+16>>2],ib=q[a+296>>2];eb=(1<>2]<<2)>>2])+eb|0,(0|fb)!=(0|(cb=cb+1|0)););cb=eb<<2}if(q[ab+4>>2]=fb<<3,q[ab+8>>2]=q[db>>2]<<2,q[ab+12>>2]=q[db>>2]<<2,q[ab+16>>2]=q[db>>2]<<2,q[ab+20>>2]=q[db>>2]<<2,q[ab+24>>2]=q[db>>2]<<2,eb=q[db>>2],q[ab+40>>2]=cb,q[ab+36>>2]=cb,q[ab+32>>2]=cb,q[ab+28>>2]=eb<<2,1<=((eb=cb=0)|(ib=q[db+8>>2]))){for(kb=q[a+296>>2],lb=q[a+88>>2],jb=q[a+76>>2],fb=0;cb=(0|cb)<(0|(hb=q[(mb=eb<<2)+lb>>2]))?hb:cb,gb=(15+(hb<<3)&-16)+gb|0,fb=(1<>2]<<2)>>2])+fb|0,(0|ib)!=(0|(eb=eb+1|0)););eb=cb<<3,cb=fb<<2}if(q[ab+44>>2]=q[db+4>>2]<<5,q[ab+48>>2]=w(q[db+8>>2],24),q[ab+52>>2]=q[db+12>>2]<<5,q[ab+56>>2]=q[db+4>>2]<<2,q[ab+60>>2]=q[db+8>>2]<<2,q[ab+64>>2]=q[db+12>>2]<<2,q[ab+68>>2]=q[db+4>>2]<<2,fb=q[db+4>>2],q[ab+76>>2]=gb,q[ab+72>>2]=fb<<2,q[ab+80>>2]=q[db+8>>2]<<2,fb=q[db+8>>2],q[ab+104>>2]=eb,q[ab+100>>2]=cb,q[ab+96>>2]=cb,q[ab+92>>2]=cb,q[ab+88>>2]=cb,q[ab+84>>2]=fb<<2,1<=((cb=gb=0)|(fb=q[db+12>>2]))){for(hb=q[a+296>>2],ib=q[a+100>>2],eb=0;eb=(1<>2]<<2)>>2])+eb|0,(0|fb)!=(0|(cb=cb+1|0)););cb=eb<<2}if(q[ab+108>>2]=fb<<2,eb=q[db+12>>2],q[ab+156>>2]=cb,q[ab+152>>2]=cb,q[ab+148>>2]=cb,q[ab+144>>2]=cb,q[ab+140>>2]=cb,q[ab+136>>2]=cb,q[ab+132>>2]=cb,q[ab+128>>2]=cb,q[ab+124>>2]=cb,q[ab+120>>2]=cb,q[ab+116>>2]=cb,q[ab+112>>2]=eb<<2,1<=((eb=cb=0)|(hb=q[db+16>>2]))){for(kb=q[a+136>>2],lb=q[a+296>>2],jb=q[a+172>>2],fb=0;cb=(0|cb)<(0|(ib=q[(mb=eb<<2)+jb>>2]))?ib:cb,gb=(15+(ib<<3)&-16)+gb|0,fb=(1<>2]<<2)>>2])+fb|0,(0|hb)!=(0|(eb=eb+1|0)););eb=cb<<3,cb=fb<<2}if(q[ab+160>>2]=hb<<4,q[ab+164>>2]=q[db+16>>2]<<2,q[ab+168>>2]=q[db+16>>2],q[ab+172>>2]=q[db+16>>2]<<2,q[ab+176>>2]=q[db+16>>2]<<2,fb=q[db+16>>2],q[ab+184>>2]=gb,q[ab+180>>2]=fb<<2,q[ab+188>>2]=q[db+16>>2]<<2,q[ab+192>>2]=q[db+16>>2]<<2,q[ab+196>>2]=q[db+16>>2]<<2,q[ab+200>>2]=q[db+16>>2]<<2,q[ab+204>>2]=q[db+16>>2]<<2,fb=q[db+16>>2],q[ab+236>>2]=eb,q[ab+232>>2]=cb,q[ab+228>>2]=cb,q[ab+224>>2]=cb,q[ab+220>>2]=cb,q[ab+216>>2]=cb,q[ab+212>>2]=cb,q[ab+208>>2]=fb<<2,q[ab+240>>2]=w(q[db+20>>2],40),q[ab+244>>2]=q[db+20>>2]<<2,q[ab+248>>2]=w(q[db+52>>2],28),1<=((cb=fb=0)|(gb=q[db+48>>2]))){for(hb=q[a+296>>2],eb=0;eb=(1<>2])+eb|0,(0|gb)!=(0|(cb=cb+1|0)););cb=eb<<2}if(q[ab+260>>2]=cb,q[ab+256>>2]=cb,q[ab+252>>2]=w(gb,36),q[ab+264>>2]=w(q[db+72>>2],28),1<=((cb=0)|(hb=q[db+72>>2]))){for(ib=q[a+340>>2],kb=q[a+336>>2],lb=q[a+328>>2],eb=0;eb=(0|(jb=q[(gb=fb<<2)+kb>>2]-q[gb+ib>>2]|0))<(0|eb)?eb:jb+1|0,cb=(0|cb)<(0|(gb=q[gb+lb>>2]))?gb:cb,(0|hb)!=(0|(fb=fb+1|0)););fb=eb<<2,cb<<=2}if(eb=q[db+76>>2],q[ab+280>>2]=fb,q[ab+276>>2]=cb,q[ab+272>>2]=fb,q[ab+268>>2]=eb<<4,1<=((cb=0)|(fb=q[db+80>>2]))){for(gb=q[a+364>>2],a=q[a+296>>2],eb=0;eb=(1<>2]<<2)>>2])+eb|0,(0|fb)!=(0|(cb=cb+1|0)););cb=eb<<2}for(q[ab+284>>2]=w(fb,24),q[ab+288>>2]=q[db+80>>2]<<2,a=q[db+80>>2],q[ab+304>>2]=cb,q[ab+300>>2]=cb,q[ab+296>>2]=cb,q[ab>>2]=0,q[ab+292>>2]=a<<2,cb=384,eb=1;cb=((db=q[(a=(eb<<2)+ab|0)>>2])+15&-16)+(q[a>>2]=cb)|0,77!=(0|(eb=eb+1|0)););q[bb>>2]=cb}function va(a,ab,bb){ab|=0,bb|=0;var nb;L=nb=L+-64|0;a:{if(a|=0)if(ab)if((ab+15&-16)==(0|ab)){if(ab=function(a,fh,gh){var lh,hh=0,ih=0,jh=0,kh=0,mh=0,nh=0,oh=0,ph=0,qh=0,rh=0,sh=0,th=0,uh=0,vh=0,wh=0,xh=0,yh=0,zh=0,Ah=x(0);if(ba(16+(L=lh=L-336|0)|0,0,308),ua(a+704|0,16+lh|0,12+lh|0),(ih=q[12+lh>>2])>>>0<=gh>>>0){if(jh=ba(fh,gh=0,ih),hh=jh+q[16+lh>>2]|0,q[hh+8>>2]=jh+q[20+lh>>2],q[hh+36>>2]=jh+q[24+lh>>2],q[hh+44>>2]=jh+q[28+lh>>2],q[hh+48>>2]=jh+q[32+lh>>2],q[hh+52>>2]=jh+q[36+lh>>2],q[hh+12>>2]=jh+q[40+lh>>2],q[hh+16>>2]=jh+q[44+lh>>2],q[hh+20>>2]=jh+q[48+lh>>2],q[hh+28>>2]=jh+q[52+lh>>2],q[hh+32>>2]=jh+q[56+lh>>2],fh=q[a+704>>2],q[hh+60>>2]=jh+q[60+lh>>2],kh=jh+q[64+lh>>2]|0,q[hh+68>>2]=kh,q[hh+76>>2]=jh+q[68+lh>>2],q[hh+168>>2]=jh+q[72+lh>>2],q[hh+172>>2]=jh+q[76+lh>>2],q[hh+176>>2]=jh+q[80+lh>>2],q[hh+192>>2]=jh+q[84+lh>>2],q[hh+196>>2]=jh+q[88+lh>>2],1<=(0|(fh=q[fh+8>>2])))for(ih=jh+q[92+lh>>2]|0,mh=q[a+792>>2];q[20+(kh+w(gh,24)|0)>>2]=ih,ih=(15+(q[mh+(gh<<2)>>2]<<3)&-16)+ih|0,(0|fh)!=(0|(gh=gh+1|0)););if(q[hh+80>>2]=jh+q[96+lh>>2],q[hh+84>>2]=jh+q[100+lh>>2],q[hh+88>>2]=jh+q[104+lh>>2],q[hh+96>>2]=jh+q[108+lh>>2],q[hh+100>>2]=jh+q[112+lh>>2],q[hh+104>>2]=jh+q[116+lh>>2],q[hh+108>>2]=jh+q[120+lh>>2],q[hh+112>>2]=jh+q[124+lh>>2],q[hh+116>>2]=jh+q[128+lh>>2],q[hh+120>>2]=jh+q[132+lh>>2],q[hh+128>>2]=jh+q[136+lh>>2],q[hh+132>>2]=jh+q[140+lh>>2],q[hh+136>>2]=jh+q[144+lh>>2],q[hh+140>>2]=jh+q[148+lh>>2],q[hh+144>>2]=jh+q[152+lh>>2],q[hh+148>>2]=jh+q[156+lh>>2],q[hh+152>>2]=jh+q[160+lh>>2],q[hh+156>>2]=jh+q[164+lh>>2],q[hh+160>>2]=jh+q[168+lh>>2],q[hh+164>>2]=jh+q[172+lh>>2],fh=q[a+704>>2],q[hh+204>>2]=jh+q[176+lh>>2],q[hh+248>>2]=jh+q[180+lh>>2],q[hh+260>>2]=jh+q[184+lh>>2],q[hh+264>>2]=jh+q[188+lh>>2],q[hh+268>>2]=jh+q[192+lh>>2],gh=jh+q[196+lh>>2]|0,q[hh+272>>2]=gh,!((0|(fh=q[fh+16>>2]))<1)&&(ih=jh+q[200+lh>>2]|0,q[gh>>2]=ih,(gh=1)!=(0|fh)))for(kh=0;ih=(15+(q[q[a+876>>2]+(kh<<2)>>2]<<3)&-16)+ih|0,q[q[hh+272>>2]+(gh<<2)>>2]=ih,(0|fh)!=(0|(gh=(kh=gh)+1|0)););if(q[hh+276>>2]=jh+q[204+lh>>2],q[hh+280>>2]=jh+q[208+lh>>2],q[hh+284>>2]=jh+q[212+lh>>2],q[hh+288>>2]=jh+q[216+lh>>2],q[hh+208>>2]=jh+q[220+lh>>2],q[hh+212>>2]=jh+q[224+lh>>2],q[hh+216>>2]=jh+q[228+lh>>2],q[hh+224>>2]=jh+q[232+lh>>2],q[hh+228>>2]=jh+q[236+lh>>2],q[hh+232>>2]=jh+q[240+lh>>2],q[hh+236>>2]=jh+q[244+lh>>2],q[hh+240>>2]=jh+q[248+lh>>2],q[hh+244>>2]=jh+q[252+lh>>2],fh=q[256+lh>>2],oh=jh+q[260+lh>>2]|0,q[hh+300>>2]=oh,qh=fh+jh|0,q[hh+296>>2]=qh,rh=jh+q[264+lh>>2]|0,q[hh+308>>2]=rh,fh=q[a+704>>2],gh=q[276+lh>>2],ih=q[272+lh>>2],ph=jh+q[268+lh>>2]|0,q[hh+316>>2]=ph,1<=(0|(kh=q[fh+48>>2])))for(ih=jh+ih|0,fh=gh+jh|0,mh=q[a+1e3>>2],gh=0;nh=ph+w(gh,36)|0,q[nh+20>>2]=fh,q[nh+16>>2]=ih,nh=1<>2]<<2,fh=nh+fh|0,ih=ih+nh|0,(0|kh)!=(0|(gh=gh+1|0)););if(fh=q[a+704>>2],kh=jh+q[280+lh>>2]|0,q[hh+324>>2]=kh,1<=(0|(fh=q[fh+72>>2])))for(ih=jh+q[284+lh>>2]|0,mh=q[a+1032>>2],gh=0;q[12+(kh+w(gh,28)|0)>>2]=ih,ih=(q[mh+(gh<<2)>>2]<<4)+ih|0,(0|fh)!=(0|(gh=gh+1|0)););if(q[hh+328>>2]=jh+q[288+lh>>2],q[hh+332>>2]=jh+q[292+lh>>2],q[hh+336>>2]=jh+q[296+lh>>2],q[hh+344>>2]=jh+q[300+lh>>2],q[hh+348>>2]=jh+q[304+lh>>2],q[hh+352>>2]=jh+q[308+lh>>2],q[hh+356>>2]=jh+q[312+lh>>2],q[hh+364>>2]=jh+q[316+lh>>2],fh=q[320+lh>>2],q[hh+376>>2]=1,q[hh+368>>2]=fh+jh,q[hh+380>>2]=1&o[q[a+708>>2]+20|0],jh=q[a+704>>2],ih=q[jh+20>>2],1<=(0|(q[hh+292>>2]=ih))){for(sh=q[a+932>>2],th=q[a+928>>2],uh=q[a+924>>2],nh=q[a+916>>2],wh=q[a+920>>2],xh=q[a+908>>2],yh=q[a+912>>2],fh=ih;kh=qh+w(gh=fh+-1|0,40)|0,vh=(mh=gh<<2)+yh|0,q[kh>>2]=q[vh>>2],zh=mh+xh|0,q[kh+4>>2]=q[zh>>2],u[kh+8>>2]=u[zh>>2]-u[vh>>2],q[kh+12>>2]=q[mh+wh>>2],q[kh+32>>2]=q[mh+nh>>2],Ah=$b(x(q[mh+uh>>2])),u[kh+16>>2]=Ah,u[kh+20>>2]=Ah*x(1.5),q[kh+24>>2]=q[mh+th>>2],mh=q[mh+sh>>2],q[kh+36>>2]=1,q[kh+28>>2]=mh,kh=1<(0|fh),fh=gh,kh;);for(;q[(gh=(fh=ih+-1|0)<<2)+oh>>2]=q[gh+nh>>2],gh=1<(0|ih),ih=fh,gh;);}if(fh=q[jh+52>>2],1<=(0|(q[hh+304>>2]=fh)))for(kh=q[a+1004>>2],mh=q[a+1012>>2],nh=q[a+1008>>2];ih=rh+w(gh=fh+-1|0,28)|0,oh=gh<<2,q[ih>>2]=q[oh+nh>>2],oh=q[kh+oh>>2],q[ih+20>>2]=1,q[ih+24>>2]=1,q[ih+12>>2]=0,q[ih+4>>2]=mh+(oh<<2),ih=1<(0|fh),fh=gh,ih;);if(fh=q[jh+48>>2],1<=(0|(q[hh+312>>2]=fh)))for(kh=q[a+996>>2],mh=q[a+992>>2],nh=q[a+1e3>>2];ih=ph+w(gh=fh+-1|0,36)|0,qh=q[(oh=gh<<2)+nh>>2],q[ih>>2]=qh,q[ih+4>>2]=1<>2],q[ih+24>>2]=1,q[ih+28>>2]=1,q[ih+12>>2]=mh+(oh<<2),ih=1<(0|fh),fh=gh,ih;);if(fh=q[jh>>2],q[hh+4>>2]=fh,mh=q[a+720>>2],q[hh+40>>2]=mh,(0|fh)<1)gh=0;else{for(nh=q[a+732>>2],oh=q[a+736>>2],qh=q[a+740>>2],rh=q[hh+52>>2],sh=q[hh+8>>2],ih=fh;kh=(gh=ih+-1|0)<<2,q[(th=sh+(gh<<3)|0)>>2]=q[kh+qh>>2],q[th+4>>2]=q[kh+oh>>2],u[kh+rh>>2]=q[kh+nh>>2]?x(1):x(0),kh=1<(0|ih),ih=gh,kh;);for(nh=q[hh+12>>2],gh=0;kh=q[4+(ph+w(q[(oh=(ih=fh+-1|0)<<2)+mh>>2],36)|0)>>2],q[nh+oh>>2]=kh,gh=gh+kh|0,kh=1<(0|fh),fh=ih,kh;);}if(q[hh+24>>2]=gh,ih=q[jh+4>>2],q[hh+56>>2]=ih,q[hh+180>>2]=q[a+752>>2],q[hh+184>>2]=q[a+780>>2],q[hh+188>>2]=q[a+804>>2],1<=(0|ih)){for(;;){ih=(fh=ih)+-1|0,gh=q[hh+60>>2]+(ih<<5)|0,kh=ih<<2,q[gh>>2]=q[kh+q[a+764>>2]>>2],q[gh+4>>2]=q[kh+q[a+768>>2]>>2],jh=q[kh+q[a+772>>2]>>2],q[gh+8>>2]=jh,mh=q[kh+q[a+776>>2]>>2],q[gh+12>>2]=mh,q[gh+28>>2]=q[kh+q[a+760>>2]>>2];c:if(jh>>>0<=1){if(jh-1){q[gh+20>>2]=1,q[gh+16>>2]=2,q[gh+24>>2]=q[hh+68>>2]+w(mh,24);break c}q[gh+20>>2]=3,q[gh+16>>2]=4,q[gh+24>>2]=q[hh+76>>2]+(mh<<5)}else Y(4,1026,0);if(!(1<(0|fh)))break}jh=q[a+704>>2]}fh=q[jh+8>>2];d:if(!((0|(q[hh+64>>2]=fh))<1)){if(gh=fh+-1|0,mh=q[a+792>>2],ph=q[a+800>>2],nh=q[a+796>>2],oh=q[hh+68>>2],r[a+4|0]<2)for(;;)if(ih=oh+w(gh,24)|0,kh=gh<<2,q[ih>>2]=q[kh+nh>>2],q[ih+4>>2]=q[kh+ph>>2],kh=q[kh+mh>>2],q[ih+8>>2]=0,q[ih+12>>2]=kh,ih=0<(0|gh),gh=gh+-1|0,!ih)break d;for(qh=q[a+1108>>2];ih=oh+w(gh,24)|0,kh=gh<<2,q[ih>>2]=q[kh+nh>>2],q[ih+4>>2]=q[kh+ph>>2],q[ih+12>>2]=q[kh+mh>>2],q[ih+8>>2]=q[kh+qh>>2],ih=0<(0|gh),gh=gh+-1|0,ih;);}if(gh=q[jh+12>>2],1<=(0|(q[hh+72>>2]=gh)))for(mh=q[a+816>>2],ph=q[hh+76>>2],ih=gh;q[ph+((kh=ih+-1|0)<<5)>>2]=q[mh+(kh<<2)>>2],nh=1<(0|ih),ih=kh,nh;);if(1<=((kh=ih=0)|fh)){for(ph=q[hh+80>>2],nh=q[hh+184>>2],oh=q[hh+316>>2];mh=q[4+(oh+w(q[(qh=(gh=fh+-1|0)<<2)+nh>>2],36)|0)>>2],q[ph+qh>>2]=mh,kh=kh+mh|0,mh=1<(0|fh),fh=gh,mh;);gh=q[hh+72>>2]}if(q[hh+92>>2]=kh,1<=(0|gh))for(mh=q[hh+112>>2],ph=q[hh+188>>2],nh=q[hh+316>>2];kh=q[4+(nh+w(q[(oh=(fh=gh+-1|0)<<2)+ph>>2],36)|0)>>2],q[mh+oh>>2]=kh,ih=ih+kh|0,kh=1<(0|gh),gh=fh,kh;);if(q[hh+124>>2]=ih,ih=q[jh+16>>2],q[hh+200>>2]=ih,ph=q[a+840>>2],q[hh+252>>2]=ph,(0|ih)<1)gh=0;else{for(nh=q[a+856>>2],oh=q[a+876>>2],qh=q[a+864>>2],rh=q[a+860>>2],sh=q[hh+204>>2],kh=ih;mh=(fh=kh+-1|0)<<2,q[(gh=sh+(fh<<4)|0)>>2]=q[mh+rh>>2],q[gh+4>>2]=q[mh+qh>>2],q[gh+12>>2]=q[mh+oh>>2],q[gh+8>>2]=q[mh+nh>>2],gh=1<(0|kh),kh=fh,gh;);for(mh=q[hh+208>>2],nh=q[hh+316>>2],gh=0;kh=q[4+(nh+w(q[(oh=(fh=ih+-1|0)<<2)+ph>>2],36)|0)>>2],q[mh+oh>>2]=kh,gh=gh+kh|0,kh=1<(0|ih),ih=fh,kh;);}if(q[hh+220>>2]=gh,kh=q[jh+72>>2],1<=(0|(q[hh+320>>2]=kh)))for(nh=q[a+1028>>2],oh=q[a+1044>>2],qh=q[a+1040>>2],rh=q[a+1036>>2],sh=q[a+1032>>2],th=q[hh+324>>2],ih=0;;){if(fh=th+w(ih,28)|0,mh=q[(gh=ih<<2)+sh>>2],q[fh+4>>2]=mh,q[fh>>2]=q[gh+rh>>2],ph=q[gh+qh>>2],q[fh+16>>2]=ph,uh=q[gh+oh>>2],q[fh+20>>2]=uh,q[fh+8>>2]=0,q[fh+24>>2]=1+(ph-uh|0),1<=(0|mh))for(uh=q[gh+nh>>2],wh=q[fh+12>>2],xh=q[a+1056>>2],yh=q[a+1048>>2],vh=q[a+1052>>2],gh=0;ph=gh+uh<<2,q[(fh=wh+(gh<<4)|0)+4>>2]=q[ph+vh>>2],q[fh>>2]=q[ph+yh>>2],ph=q[ph+xh>>2],q[fh+12>>2]=0,q[fh+8>>2]=ph,(0|mh)!=(0|(gh=gh+1|0)););if((0|kh)==(0|(ih=ih+1|0)))break}if(ih=q[jh+80>>2],q[hh+340>>2]=ih,mh=q[a+1068>>2],q[hh+372>>2]=mh,!(((fh=0)|ih)<1)){for(ph=q[a+1100>>2],nh=q[a+1088>>2],oh=q[a+1096>>2],qh=q[a+1092>>2],rh=q[a+1084>>2],sh=q[a+1080>>2],th=q[hh+344>>2];kh=th+w(gh=ih+-1|0,24)|0,jh=gh<<2,q[kh>>2]=q[jh+sh>>2],q[kh+4>>2]=q[jh+rh>>2],q[kh+8>>2]=q[jh+qh>>2],jh=q[jh+nh>>2],q[kh+16>>2]=ph+(jh<<1),q[kh+12>>2]=oh+(jh<<2),kh=1<(0|ih),ih=gh,kh;);if(!((0|(gh=q[hh+340>>2]))<1))for(jh=q[hh+348>>2],ph=q[hh+316>>2];kh=q[4+(ph+w(q[(nh=(ih=gh+-1|0)<<2)+mh>>2],36)|0)>>2],q[jh+nh>>2]=kh,fh=fh+kh|0,kh=1<(0|gh),gh=ih,kh;);}q[hh>>2]=a,q[hh+360>>2]=fh,ta(hh)}return L=336+lh|0,hh}(a,ab,bb))break a;q[36+nb>>2]=1872,q[32+nb>>2]=1846,Y(4,1087,32+nb|0)}else q[52+nb>>2]=1441,q[48+nb>>2]=1846,Y(4,1087,48+nb|0);else q[20+nb>>2]=1246,q[16+nb>>2]=1846,Y(4,1087,16+nb|0);else q[4+nb>>2]=1828,q[nb>>2]=1846,Y(4,1087,nb);ab=0}return L=nb+64|0,0|ab}function wa(a){var ab;return L=ab=L-16|0,a=(a|=0)?function(a){var Th;return ba(16+(L=Th=L-336|0)|0,0,308),ua(a+704|0,16+Th|0,12+Th|0),L=336+Th|0,q[12+Th>>2]}(a):(q[4+ab>>2]=1828,q[ab>>2]=1810,Y(4,1087,ab),0),L=16+ab|0,0|a}function xa(a,bb){var ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0;rb=a+bb|0;a:{b:if(!(1&(ob=q[a+4>>2]))){if(!(3&ob))break a;if(bb=(ob=q[a>>2])+bb|0,(0|(a=a-ob|0))==q[1928]){if(3==(3&(ob=q[rb+4>>2])))return q[1925]=bb,q[rb+4>>2]=-2&ob,q[a+4>>2]=1|bb,void(q[rb>>2]=bb)}else{if(ob>>>0<=255){if(qb=ob>>>3,ob=q[a+8>>2],(0|(pb=q[a+12>>2]))==(0|ob)){ub=7692,vb=q[1923]&jc(qb),q[ub>>2]=vb;break b}q[ob+12>>2]=pb,q[pb+8>>2]=ob;break b}if(tb=q[a+24>>2],(0|(ob=q[a+12>>2]))==(0|a))if((qb=q[(pb=a+20|0)>>2])||(qb=q[(pb=a+16|0)>>2])){for(;sb=pb,(qb=q[(pb=(ob=qb)+20|0)>>2])||(pb=ob+16|0,qb=q[ob+16>>2]););q[sb>>2]=0}else ob=0;else pb=q[a+8>>2],q[pb+12>>2]=ob,q[ob+8>>2]=pb;if(!tb)break b;pb=q[a+28>>2];e:{if(q[(qb=7996+(pb<<2)|0)>>2]==(0|a)){if(q[qb>>2]=ob)break e;ub=7696,vb=q[1924]&jc(pb),q[ub>>2]=vb;break b}if(!(q[tb+(q[tb+16>>2]==(0|a)?16:20)>>2]=ob))break b}if(q[ob+24>>2]=tb,(pb=q[a+16>>2])&&(q[ob+16>>2]=pb,q[pb+24>>2]=ob),!(pb=q[a+20>>2]))break b;q[ob+20>>2]=pb,q[pb+24>>2]=ob}}f:{if(!(2&(ob=q[rb+4>>2]))){if(q[1929]==(0|rb)){if(q[1929]=a,bb=q[1926]+bb|0,q[1926]=bb,q[a+4>>2]=1|bb,q[1928]!=(0|a))break a;return q[1925]=0,void(q[1928]=0)}if(q[1928]==(0|rb))return q[1928]=a,bb=q[1925]+bb|0,q[1925]=bb,q[a+4>>2]=1|bb,void(q[a+bb>>2]=bb);bb=(-8&ob)+bb|0;g:if(ob>>>0<=255){if(qb=ob>>>3,ob=q[rb+8>>2],(0|(pb=q[rb+12>>2]))==(0|ob)){ub=7692,vb=q[1923]&jc(qb),q[ub>>2]=vb;break g}q[ob+12>>2]=pb,q[pb+8>>2]=ob}else{if(tb=q[rb+24>>2],(0|rb)==(0|(ob=q[rb+12>>2])))if((qb=q[(pb=rb+20|0)>>2])||(qb=q[(pb=rb+16|0)>>2])){for(;sb=pb,(qb=q[(pb=(ob=qb)+20|0)>>2])||(pb=ob+16|0,qb=q[ob+16>>2]););q[sb>>2]=0}else ob=0;else pb=q[rb+8>>2],q[pb+12>>2]=ob,q[ob+8>>2]=pb;if(tb){pb=q[rb+28>>2];j:{if(q[(qb=7996+(pb<<2)|0)>>2]==(0|rb)){if(q[qb>>2]=ob)break j;ub=7696,vb=q[1924]&jc(pb),q[ub>>2]=vb;break g}if(!(q[tb+(q[tb+16>>2]==(0|rb)?16:20)>>2]=ob))break g}q[ob+24>>2]=tb,(pb=q[rb+16>>2])&&(q[ob+16>>2]=pb,q[pb+24>>2]=ob),(pb=q[rb+20>>2])&&(q[ob+20>>2]=pb,q[pb+24>>2]=ob)}}if(q[a+4>>2]=1|bb,q[a+bb>>2]=bb,q[1928]!=(0|a))break f;return void(q[1925]=bb)}q[rb+4>>2]=-2&ob,q[a+4>>2]=1|bb,q[a+bb>>2]=bb}if(bb>>>0<=255)return bb=7732+((ob=bb>>>3)<<3)|0,ob=(pb=q[1923])&(ob=1<>2]:(q[1923]=ob|pb,bb),q[bb+8>>2]=a,q[ob+12>>2]=a,q[a+12>>2]=bb,void(q[a+8>>2]=ob);q[a+16>>2]=0,ob=q[a+20>>2]=0,(qb=bb>>>8)&&(ob=31,16777215>>0||(ob=28+((ob=((rb=(qb<<=sb=qb+1048320>>>16&8)<<(ob=qb+520192>>>16&4))<<(qb=rb+245760>>>16&2)>>>15)-(qb|ob|sb)|0)<<1|bb>>>ob+21&1)|0)),qb=7996+((q[(pb=a)+28>>2]=ob)<<2)|0;m:{if((pb=q[1924])&(sb=1<>>1)|0),ob=q[qb>>2];;){if((-8&q[(qb=ob)+4>>2])==(0|bb))break m;if(ob=pb>>>29,pb<<=1,!(ob=q[(sb=qb+(4&ob)|0)+16>>2]))break}q[sb+16>>2]=a}else q[1924]=pb|sb,q[qb>>2]=a;return q[a+24>>2]=qb,q[a+12>>2]=a,void(q[a+8>>2]=a)}bb=q[qb+8>>2],q[bb+12>>2]=a,q[qb+8>>2]=a,q[a+24>>2]=0,q[a+12>>2]=qb,q[a+8>>2]=bb}}function ya(a,bb,wb){var xb=0;a:{if(8!=(0|bb)){if(xb=28,3&bb|1!=(0|function(a){var qi=0,si=0;for(;si=qi,a;)a&=a-1,qi=qi+1|0;return si}(bb>>>2)))break a;if(xb=48,-64-bb>>>0>>0)break a;bb=function(a,_h){var $h=0,ai=0,ci=0,di=0,ei=0;if((ai=a>>>0>($h=16)?a:16)+-1&ai)for(;$h=(a=$h)<<1,a>>>0>>0;);else a=ai;if(-64-a>>>0<=_h>>>0)return q[1906]=48,0;if(!($h=ja(12+((ai=_h>>>0<11?16:_h+11&-8)+a|0)|0)))return 0;_h=$h+-8|0;$h&a+-1?(ei=q[(di=$h+-4|0)>>2],ci=(-8&ei)-($h=(a=15<($h=((a+$h|0)-1&0-a)-8|0)-_h>>>0?$h:a+$h|0)-_h|0)|0,3&ei?(q[a+4>>2]=ci|1&q[a+4>>2]|2,q[(ci=a+ci|0)+4>>2]=1|q[ci+4>>2],q[di>>2]=$h|1&q[di>>2]|2,q[a+4>>2]=1|q[a+4>>2],xa(_h,$h)):(_h=q[_h>>2],q[a+4>>2]=ci,q[a>>2]=_h+$h)):a=_h;3&(_h=q[a+4>>2])&&(($h=-8&_h)>>>0<=ai+16>>>0||(q[a+4>>2]=ai|1&_h|2,_h=a+ai|0,ai=$h-ai|0,q[_h+4>>2]=3|ai,q[($h=a+$h|0)+4>>2]=1|q[$h+4>>2],xa(_h,ai)));return a+8|0}(16>>0?bb:16,wb)}else bb=ja(wb);if(!bb)return 1;q[a>>2]=bb,xb=0}return xb}function za(a){var bb=0,wb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0;a:if(a){Ab=(yb=a+-8|0)+(a=-8&(wb=q[a+-4>>2]))|0;b:if(!(1&wb)){if(!(3&wb))break a;if((yb=yb-(wb=q[yb>>2])|0)>>>0>2])))return q[1925]=a,q[Ab+4>>2]=-2&wb,q[yb+4>>2]=1|a,void(q[a+yb>>2]=a)}else{if(wb>>>0<=255){if(zb=q[yb+8>>2],wb>>>=3,(0|(bb=q[yb+12>>2]))==(0|zb)){Db=7692,Eb=q[1923]&jc(wb),q[Db>>2]=Eb;break b}q[zb+12>>2]=bb,q[bb+8>>2]=zb;break b}if(Cb=q[yb+24>>2],(0|yb)==(0|(wb=q[yb+12>>2])))if((bb=q[(zb=yb+20|0)>>2])||(bb=q[(zb=yb+16|0)>>2])){for(;Bb=zb,(bb=q[(zb=(wb=bb)+20|0)>>2])||(zb=wb+16|0,bb=q[wb+16>>2]););q[Bb>>2]=0}else wb=0;else bb=q[yb+8>>2],q[bb+12>>2]=wb,q[wb+8>>2]=bb;if(!Cb)break b;zb=q[yb+28>>2];e:{if(q[(bb=7996+(zb<<2)|0)>>2]==(0|yb)){if(q[bb>>2]=wb)break e;Db=7696,Eb=q[1924]&jc(zb),q[Db>>2]=Eb;break b}if(!(q[Cb+(q[Cb+16>>2]==(0|yb)?16:20)>>2]=wb))break b}if(q[wb+24>>2]=Cb,(bb=q[yb+16>>2])&&(q[wb+16>>2]=bb,q[bb+24>>2]=wb),!(bb=q[yb+20>>2]))break b;q[wb+20>>2]=bb,q[bb+24>>2]=wb}}if(!(Ab>>>0<=yb>>>0)&&1&(wb=q[Ab+4>>2])){f:{if(!(2&wb)){if(q[1929]==(0|Ab)){if(q[1929]=yb,a=q[1926]+a|0,q[1926]=a,q[yb+4>>2]=1|a,q[1928]!=(0|yb))break a;return q[1925]=0,void(q[1928]=0)}if(q[1928]==(0|Ab))return q[1928]=yb,a=q[1925]+a|0,q[1925]=a,q[yb+4>>2]=1|a,void(q[a+yb>>2]=a);a=(-8&wb)+a|0;g:if(wb>>>0<=255){if(wb>>>=3,(0|(bb=q[Ab+8>>2]))==(0|(zb=q[Ab+12>>2]))){Db=7692,Eb=q[1923]&jc(wb),q[Db>>2]=Eb;break g}q[bb+12>>2]=zb,q[zb+8>>2]=bb}else{if(Cb=q[Ab+24>>2],(0|Ab)==(0|(wb=q[Ab+12>>2])))if((bb=q[(zb=Ab+20|0)>>2])||(bb=q[(zb=Ab+16|0)>>2])){for(;Bb=zb,(bb=q[(zb=(wb=bb)+20|0)>>2])||(zb=wb+16|0,bb=q[wb+16>>2]););q[Bb>>2]=0}else wb=0;else bb=q[Ab+8>>2],q[bb+12>>2]=wb,q[wb+8>>2]=bb;if(Cb){zb=q[Ab+28>>2];j:{if(q[(bb=7996+(zb<<2)|0)>>2]==(0|Ab)){if(q[bb>>2]=wb)break j;Db=7696,Eb=q[1924]&jc(zb),q[Db>>2]=Eb;break g}if(!(q[Cb+(q[Cb+16>>2]==(0|Ab)?16:20)>>2]=wb))break g}q[wb+24>>2]=Cb,(bb=q[Ab+16>>2])&&(q[wb+16>>2]=bb,q[bb+24>>2]=wb),(bb=q[Ab+20>>2])&&(q[wb+20>>2]=bb,q[bb+24>>2]=wb)}}if(q[yb+4>>2]=1|a,q[a+yb>>2]=a,q[1928]!=(0|yb))break f;return void(q[1925]=a)}q[Ab+4>>2]=-2&wb,q[yb+4>>2]=1|a,q[a+yb>>2]=a}if(a>>>0<=255)return wb=7732+((a>>>=3)<<3)|0,a=(bb=q[1923])&(a=1<>2]:(q[1923]=a|bb,wb),q[wb+8>>2]=yb,q[a+12>>2]=yb,q[yb+12>>2]=wb,void(q[yb+8>>2]=a);q[yb+16>>2]=0,bb=q[yb+20>>2]=0,(zb=a>>>8)&&(bb=31,16777215>>0||(bb=zb,bb<<=zb=zb+1048320>>>16&8,bb=28+((bb=((bb<<=Cb=bb+520192>>>16&4)<<(Bb=bb+245760>>>16&2)>>>15)-(Bb|zb|Cb)|0)<<1|a>>>bb+21&1)|0)),Bb=7996+((q[(wb=yb)+28>>2]=bb)<<2)|0;m:if((zb=q[1924])&(wb=1<>>1)|0),wb=q[Bb>>2];n:{for(;;){if((-8&q[(bb=wb)+4>>2])==(0|a))break n;if(wb=zb>>>29,zb<<=1,!(wb=q[(Bb=bb+(4&wb)|0)+16>>2]))break}q[Bb+16>>2]=yb,q[yb+12>>2]=yb,q[yb+24>>2]=bb,q[yb+8>>2]=yb;break m}a=q[bb+8>>2],q[a+12>>2]=yb,q[bb+8>>2]=yb,q[yb+24>>2]=0,q[yb+12>>2]=bb,q[yb+8>>2]=a}else q[1924]=wb|zb,q[Bb>>2]=yb,q[yb+12>>2]=yb,q[yb+24>>2]=Bb,q[yb+8>>2]=yb;if(a=q[1931]+-1|0,!(q[1931]=a)){for(yb=8148;yb=(a=q[yb>>2])+8|0,a;);q[1931]=-1}}}}function Aa(a,Fb){var Lb,Gb=0,Hb=0,Ib=0,Jb=0,Kb=x(0);if(j(Fb),!((Ib=2147483647&(Gb=e(0)))>>>0<=2139095040&&(j(a),(Hb=2147483647&(Jb=e(0)))>>>0<2139095041)))return x(a+Fb);if(1065353216==(0|Gb))return ka(a);Gb=(Lb=Gb>>>30&2)|Jb>>>31;b:{c:{d:{e:{if(!Hb){f:switch(Gb-2|0){case 0:break e;case 1:break f;default:break d}return x(-3.1415927410125732)}if(2139095040!=(0|Ib)){if(!Ib|!(Hb>>>0<=Ib+218103808>>>0&&2139095040!=(0|Hb)))break b;if(Hb+218103808>>>0>>0&&(Kb=x(0),Lb)||(Kb=ka(x(y(x(a/Fb))))),a=Kb,Gb>>>0<=2){h:switch(Gb-1|0){case 0:return x(-a);case 1:break h;default:break d}return x(x(3.1415927410125732)-x(a+x(8.742277657347586e-8)))}return x(x(a+x(8.742277657347586e-8))+x(-3.1415927410125732))}if(2139095040==(0|Hb))break c;return u[6128+(Gb<<2)>>2]}a=x(3.1415927410125732)}return a}return u[6112+(Gb<<2)>>2]}return x((0|Jb)<0?-1.5707963705062866:1.5707963705062866)}function Da(a,Ub,Vb){var Zb,bc,gc,hc,kc,Wb=0,Xb=0,Yb=0,_b=0,$b=0,ac=0,cc=0,dc=0,ec=0,fc=0,ic=0,jc=0;if(L=Zb=L-560|0,cc=(Xb=Vb)+w(gc=0<(0|(Vb=(Vb+-3|0)/24|0))?Vb:0,-24)|0,0<=(0|(bc=q[808])))for(Xb=bc+1|0,Vb=gc;v[(320+Zb|0)+(Yb<<3)>>3]=(0|Vb)<0?0:+q[3248+(Vb<<2)>>2],Vb=Vb+1|0,(0|Xb)!=(0|(Yb=Yb+1|0)););for(ac=cc+-24|0,Xb=0;;){for(Wb=Vb=0;Wb+=v[(Vb<<3)+a>>3]*v[(320+Zb|0)+(Xb-Vb<<3)>>3],1!=(0|(Vb=Vb+1|0)););if(v[(Xb<<3)+Zb>>3]=Wb,Vb=(0|Xb)<(0|bc),Xb=Xb+1|0,!Vb)break}kc=23-ac|0,hc=24-ac|0,Xb=bc;a:{for(;;){if(Wb=v[(Xb<<3)+Zb>>3],!(ec=((Vb=0)|(Yb=Xb))<1))for(;$b=(480+Zb|0)+(Vb<<2)|0,dc=Wb,_b=y(Wb*=5.960464477539063e-8)<2147483648?~~Wb:-2147483648,_b=y(dc+=-16777216*(Wb=+(0|_b)))<2147483648?~~dc:-2147483648,q[$b>>2]=_b,Wb=v[(($b=Yb+-1|0)<<3)+Zb>>3]+Wb,Vb=Vb+1|0,_b=1<(0|Yb),Yb=$b,_b;);Wb=ha(Wb,ac),Wb+=-8*C(.125*Wb),Wb-=0|($b=y(Wb)<2147483648?~~Wb:-2147483648);e:{f:{g:{if(ic=(0|ac)<1){if(ac)break g;_b=q[476+((Xb<<2)+Zb|0)>>2]>>23}else fc=Yb=(Xb<<2)+Zb|0,Yb=(_b=q[Yb+476>>2])-((Vb=_b>>hc)<>2]=Yb)>>kc;if((0|_b)<1)break e;break f}if(_b=2,!(.5<=Wb)){_b=0;break e}}if(Yb=Vb=0,!ec)for(;;){ec=q[(jc=(480+Zb|0)+(Vb<<2)|0)>>2],fc=16777215;i:{j:{if(!Yb){if(!ec)break j;fc=16777216,Yb=1}q[jc>>2]=fc-ec;break i}Yb=0}if((0|Xb)==(0|(Vb=Vb+1|0)))break}ic||1<(Vb=ac+-1|0)>>>0||(q[(Vb=(Xb<<2)+Zb|0)+476>>2]=Vb-1?8388607&q[Vb+476>>2]:4194303&q[Vb+476>>2]),$b=$b+1|0,2==(0|_b)&&(Wb=1-Wb,_b=2,Yb&&(Wb-=ha(1,ac)))}if(0!=Wb)break;if(!(((Yb=0)|(Vb=Xb))<=(0|bc))){for(;Yb=q[(480+Zb|0)+((Vb=Vb+-1|0)<<2)>>2]|Yb,(0|bc)<(0|Vb););if(Yb){for(cc=ac;cc=cc+-24|0,!q[(480+Zb|0)+((Xb=Xb+-1|0)<<2)>>2];);break a}}for(Vb=1;Vb=(Yb=Vb)+1|0,!q[(480+Zb|0)+(bc-Yb<<2)>>2];);for(Yb=Xb+Yb|0;;){for(Xb=$b=Xb+1|0,v[(320+Zb|0)+($b<<3)>>3]=q[3248+(gc+Xb<<2)>>2],Wb=Vb=0;Wb+=v[(Vb<<3)+a>>3]*v[(320+Zb|0)+($b-Vb<<3)>>3],1!=(0|(Vb=Vb+1|0)););if(v[(Xb<<3)+Zb>>3]=Wb,!((0|Xb)<(0|Yb)))break}Xb=Yb}16777216<=(Wb=ha(Wb,0-ac|0))?(a=(480+Zb|0)+(Xb<<2)|0,dc=Wb,Vb=y(Wb*=5.960464477539063e-8)<2147483648?~~Wb:-2147483648,Yb=y(Wb=dc+-16777216*(0|Vb))<2147483648?~~Wb:-2147483648,q[a>>2]=Yb,Xb=Xb+1|0):(Vb=y(Wb)<2147483648?~~Wb:-2147483648,cc=ac),q[(480+Zb|0)+(Xb<<2)>>2]=Vb}if(Wb=ha(1,cc),!((0|Xb)<=-1)){for(Vb=Xb;v[(Vb<<3)+Zb>>3]=Wb*q[(480+Zb|0)+(Vb<<2)>>2],Wb*=5.960464477539063e-8,a=0<(0|Vb),Vb=Vb+-1|0,a;);if(!((0|Xb)<=-1))for(Vb=Xb;;){for(Yb=Xb-(a=Vb)|0,Vb=Wb=0;Wb+=v[6016+(Vb<<3)>>3]*v[(a+Vb<<3)+Zb>>3],!((0|bc)<=(0|Vb))&&(ac=Vb>>>0>>0,Vb=Vb+1|0,ac););if(v[(160+Zb|0)+(Yb<<3)>>3]=Wb,Vb=a+-1|0,!(0<(0|a)))break}}if((Wb=0)<=(0|Xb))for(;Wb+=v[(160+Zb|0)+(Xb<<3)>>3],a=0<(0|Xb),Xb=Xb+-1|0,a;);return v[Ub>>3]=_b?-Wb:Wb,L=560+Zb|0,7&$b}function Ea(a,Ub,Vb,lc){var oc,qc,rc,mc=0,nc=0,pc=0;L=oc=L-32|0,mc=(qc=mc=2147483647&lc)+-1006698496|0,(nc=pc=Vb)>>>0<0&&(mc=mc+1|0),rc=nc,nc=mc,mc=qc+-1140785152|0,pc>>>0<0&&(mc=mc+1|0);a:if((0|mc)==(0|nc)&rc>>>0>>0|nc>>>0>>0){if(mc=lc<<4|Vb>>>28,Vb=Vb<<4|Ub>>>28,134217728==(0|(pc=Ub&=268435455))&1<=a>>>0|134217728>>0){mc=mc+1073741824|0,(a=Vb+1|0)>>>0<1&&(mc=mc+1|0),nc=a;break a}if(mc=mc-(((nc=Vb)>>>0<0)+-1073741824|0)|0,a|134217728^pc)break a;(a=nc+(1&nc)|0)>>>0>>0&&(mc=mc+1|0),nc=a}else(!pc&2147418112==(0|qc)?!(a|Ub):2147418112==(0|qc)&pc>>>0<0|qc>>>0<2147418112)?(mc=2146435072,1140785151==((nc=0)|qc)&4294967295>>0|1140785151>>0||(pc=qc>>>16)>>>(mc=0)<15249||(function(a,Ub,Vb,lc,tc,uc){var zc=0,Ac=0,Bc=0,Cc=0;a:if(64&uc)Ub=31&(Vb=uc+-64|0),Ub=32<=(63&Vb)>>>0?(Vb=0,tc>>>Ub):(Vb=tc>>>Ub,((1<>>Ub),tc=lc=0;else{if(!uc)break a;Ac=tc,Bc=lc,zc=31&(Cc=64-uc|0),Cc=32<=(63&Cc)>>>0?(Ac=Bc<>>32-zc|Ac<>>0?(zc=0,Vb>>>Ub):(zc=Vb>>>Ub,((1<>>Ub),Ub|=Cc,Vb=zc|Ac,zc=lc,lc=31&uc,lc=32<=(63&uc)>>>0?(Ac=0,tc>>>lc):(Ac=tc>>>lc,((1<>>lc),tc=Ac}q[a>>2]=Ub,q[a+4>>2]=Vb,q[a+8>>2]=lc,q[a+12>>2]=tc}(oc,a,Ub,Vb,mc=65535&lc|65536,15361-pc|0),function(a,Ub,Vb,lc,tc,uc){var vc=0,wc=0,xc=0,yc=0;64&uc?(lc=Ub,Ub=31&(tc=uc+-64|0),32<=(63&tc)>>>0?(tc=lc<>>32-Ub|Vb<>>0?(wc=vc<>>32-lc|tc<>>0?(uc=0,lc>>>=tc):(uc=lc>>>tc,lc=((1<>>tc),lc|=yc,tc=uc|wc,uc=Ub,Ub=31&xc,Ub=32<=(63&xc)>>>0?(wc=uc<>>32-Ub|Vb<>2]=Ub,q[a+4>>2]=Vb,q[a+8>>2]=lc,q[a+12>>2]=tc}(16+oc|0,a,Ub,Vb,mc,pc+-15233|0),Vb=q[4+oc>>2],a=q[8+oc>>2],mc=q[12+oc>>2]<<4|a>>>28,nc=a<<4|Vb>>>28,134217728==(0|(Vb=a=268435455&Vb))&1<=(Ub=q[oc>>2]|(0!=(q[16+oc>>2]|q[24+oc>>2])|0!=(q[20+oc>>2]|q[28+oc>>2])))>>>0|134217728>>0?((a=nc+1|0)>>>0<1&&(mc=mc+1|0),nc=a):Ub|134217728^Vb||((a=nc+(1&nc)|0)>>>0>>0&&(mc=mc+1|0),nc=a))):(nc=Vb<<4|Ub>>>28,mc=524287&(mc=lc<<4|Vb>>>28)|2146959360);return L=32+oc|0,f(0,0|nc),f(1,-2147483648&lc|mc),+g()}function Ia(a,Ub){var Vb=0,lc=0,tc=0;Vb=0!=(0|Ub);a:{b:{c:{d:if(!(!Ub|!(3&a)))for(;;){if(!r[0|a])break c;if(a=a+1|0,Vb=0!=(0|(Ub=Ub+-1|0)),!Ub)break d;if(!(3&a))break}if(!Vb)break b}if(!r[0|a])break a;e:{if(4<=Ub>>>0){for(Vb=(Vb=Ub+-4|0)-(lc=-4&Vb)|0,lc=4+(a+lc|0)|0;;){if((-1^(tc=q[a>>2]))&tc+-16843009&-2139062144)break e;if(a=a+4|0,!(3<(Ub=Ub+-4|0)>>>0))break}Ub=Vb,a=lc}if(!Ub)break b}for(;;){if(!r[0|a])break a;if(a=a+1|0,!(Ub=Ub+-1|0))break}}return 0}return a}function Na(a,Ub,Fc,Gc){if(a|Ub)for(;o[0|(Fc=Fc+-1|0)]=r[3168+(15&a)|0]|Gc,(a=(15&Ub)<<28|a>>>4)|(Ub>>>=4););return Fc}function Oa(a,Ub,Fc){if(a|Ub)for(;o[0|(Fc=Fc+-1|0)]=7&a|48,(a=(7&Ub)<<29|a>>>3)|(Ub>>>=3););return Fc}function ab(a){var sd;q[(L=sd=L-16|0)>>2]=a,function(a,Fc){var gd;ra(a,1176,q[12+(L=gd=L-16|0)>>2]=Fc,0,0),L=16+gd|0}(q[670],sd),L=16+sd|0}function jb(a){var Ve,qe=0,re=0,Je=0,We=0,Xe=0,Ye=0,Ze=0,_e=0,$e=0,af=0;if(q[24+(L=Ve=L-32|0)>>2]=0,q[16+Ve>>2]=4,function(a){var td;sa(16+(L=td=L-272|0)|0,1611,q[12+td>>2]=a),ab(16+td|0),L=272+td|0}(16+Ve|(q[20+Ve>>2]=0)),ma(a))Y(4,1183,0),a=0;else if(4<=(re=r[a+4|0])>>>0)q[4+Ve>>2]=re,q[Ve>>2]=3,Y(4,1332,Ve),a=0;else{for(1!=(0|(We=!r[a+5|0]))&&(ca(a+4|0,1),X(a- -64|0,4,160),o[a+5|0]=0),qe=a- -64|0,Je=102,re=a+704|0;q[re>>2]=q[qe>>2]+a,re=re+4|0,qe=qe+4|0,Je=Je+-1|0;);if(1!=(0|We)&&(re=r[a+4|0],X(q[a+704>>2],4,32),ca(q[a+708>>2],4),ca(q[a+708>>2]+4|0,4),ca(q[a+708>>2]+8|0,4),ca(q[a+708>>2]+12|0,4),ca(q[a+708>>2]+16|0,4),ca(q[a+708>>2]+20|0,1),X(q[a+720>>2],4,q[q[a+704>>2]>>2]),X(q[a+724>>2],4,q[q[a+704>>2]>>2]),X(q[a+728>>2],4,q[q[a+704>>2]>>2]),X(q[a+732>>2],4,q[q[a+704>>2]>>2]),X(q[a+736>>2],4,q[q[a+704>>2]>>2]),X(q[a+740>>2],4,q[q[a+704>>2]>>2]),X(q[a+752>>2],4,q[q[a+704>>2]+4>>2]),X(q[a+756>>2],4,q[q[a+704>>2]+4>>2]),X(q[a+760>>2],4,q[q[a+704>>2]+4>>2]),X(q[a+764>>2],4,q[q[a+704>>2]+4>>2]),X(q[a+768>>2],4,q[q[a+704>>2]+4>>2]),X(q[a+772>>2],4,q[q[a+704>>2]+4>>2]),X(q[a+776>>2],4,q[q[a+704>>2]+4>>2]),X(q[a+780>>2],4,q[q[a+704>>2]+8>>2]),X(q[a+784>>2],4,q[q[a+704>>2]+8>>2]),X(q[a+788>>2],4,q[q[a+704>>2]+8>>2]),X(q[a+792>>2],4,q[q[a+704>>2]+8>>2]),X(q[a+796>>2],4,q[q[a+704>>2]+8>>2]),X(q[a+800>>2],4,q[q[a+704>>2]+8>>2]),X(q[a+804>>2],4,q[q[a+704>>2]+12>>2]),X(q[a+808>>2],4,q[q[a+704>>2]+12>>2]),X(q[a+812>>2],4,q[q[a+704>>2]+12>>2]),X(q[a+816>>2],4,q[q[a+704>>2]+12>>2]),X(q[a+840>>2],4,q[q[a+704>>2]+16>>2]),X(q[a+844>>2],4,q[q[a+704>>2]+16>>2]),X(q[a+848>>2],4,q[q[a+704>>2]+16>>2]),X(q[a+852>>2],4,q[q[a+704>>2]+16>>2]),X(q[a+856>>2],4,q[q[a+704>>2]+16>>2]),X(q[a+860>>2],4,q[q[a+704>>2]+16>>2]),X(q[a+864>>2],4,q[q[a+704>>2]+16>>2]),X(q[a+868>>2],4,q[q[a+704>>2]+16>>2]),X(q[a+872>>2],1,q[q[a+704>>2]+16>>2]),X(q[a+876>>2],4,q[q[a+704>>2]+16>>2]),X(q[a+880>>2],4,q[q[a+704>>2]+16>>2]),X(q[a+884>>2],4,q[q[a+704>>2]+16>>2]),X(q[a+888>>2],4,q[q[a+704>>2]+16>>2]),X(q[a+892>>2],4,q[q[a+704>>2]+16>>2]),X(q[a+896>>2],4,q[q[a+704>>2]+16>>2]),X(q[a+908>>2],4,q[q[a+704>>2]+20>>2]),X(q[a+912>>2],4,q[q[a+704>>2]+20>>2]),X(q[a+916>>2],4,q[q[a+704>>2]+20>>2]),X(q[a+920>>2],4,q[q[a+704>>2]+20>>2]),X(q[a+924>>2],4,q[q[a+704>>2]+20>>2]),X(q[a+928>>2],4,q[q[a+704>>2]+20>>2]),X(q[a+932>>2],4,q[q[a+704>>2]+20>>2]),X(q[a+936>>2],4,q[q[a+704>>2]+24>>2]),X(q[a+940>>2],4,q[q[a+704>>2]+28>>2]),X(q[a+944>>2],4,q[q[a+704>>2]+28>>2]),X(q[a+948>>2],4,q[q[a+704>>2]+32>>2]),X(q[a+952>>2],4,q[q[a+704>>2]+32>>2]),X(q[a+956>>2],4,q[q[a+704>>2]+32>>2]),X(q[a+960>>2],4,q[q[a+704>>2]+32>>2]),X(q[a+964>>2],4,q[q[a+704>>2]+32>>2]),X(q[a+968>>2],4,q[q[a+704>>2]+32>>2]),X(q[a+972>>2],4,q[q[a+704>>2]+32>>2]),X(q[a+976>>2],4,q[q[a+704>>2]+36>>2]),X(q[a+980>>2],4,q[q[a+704>>2]+36>>2]),X(q[a+984>>2],4,q[q[a+704>>2]+36>>2]),X(q[a+988>>2],4,q[q[a+704>>2]+40>>2]),X(q[a+992>>2],4,q[q[a+704>>2]+44>>2]),X(q[a+996>>2],4,q[q[a+704>>2]+48>>2]),X(q[a+1e3>>2],4,q[q[a+704>>2]+48>>2]),X(q[a+1004>>2],4,q[q[a+704>>2]+52>>2]),X(q[a+1008>>2],4,q[q[a+704>>2]+52>>2]),X(q[a+1012>>2],4,q[q[a+704>>2]+56>>2]),X(q[a+1016>>2],4,q[q[a+704>>2]+60>>2]),X(q[a+1020>>2],2,q[q[a+704>>2]+64>>2]),X(q[a+1024>>2],4,q[q[a+704>>2]+68>>2]),X(q[a+1028>>2],4,q[q[a+704>>2]+72>>2]),X(q[a+1032>>2],4,q[q[a+704>>2]+72>>2]),X(q[a+1036>>2],4,q[q[a+704>>2]+72>>2]),X(q[a+1040>>2],4,q[q[a+704>>2]+72>>2]),X(q[a+1044>>2],4,q[q[a+704>>2]+72>>2]),X(q[a+1048>>2],4,q[q[a+704>>2]+76>>2]),X(q[a+1052>>2],4,q[q[a+704>>2]+76>>2]),X(q[a+1056>>2],4,q[q[a+704>>2]+76>>2]),X(q[a+1068>>2],4,q[q[a+704>>2]+80>>2]),X(q[a+1072>>2],4,q[q[a+704>>2]+80>>2]),X(q[a+1076>>2],4,q[q[a+704>>2]+80>>2]),X(q[a+1080>>2],4,q[q[a+704>>2]+80>>2]),X(q[a+1084>>2],4,q[q[a+704>>2]+80>>2]),X(q[a+1088>>2],4,q[q[a+704>>2]+80>>2]),X(q[a+1092>>2],4,q[q[a+704>>2]+80>>2]),X(q[a+1096>>2],4,q[q[a+704>>2]+84>>2]),X(q[a+1100>>2],2,q[q[a+704>>2]+84>>2]),X(q[a+1104>>2],4,q[q[a+704>>2]+88>>2]),re>>>0<2||X(q[a+1108>>2],4,q[q[a+704>>2]+8>>2])),q[1643]=5,q[1642]=6,q[1644]=7,q[1645]=8,q[1646]=9,q[1647]=10,qe=q[a+704>>2],1<=q[qe>>2])for(re=0;q[q[a+712>>2]+(re<<2)>>2]=q[a+716>>2]+(re<<6),re=re+1|0,qe=q[a+704>>2],(0|re)>2];);if(1<=q[qe+4>>2])for(re=0;q[q[a+744>>2]+(re<<2)>>2]=q[a+748>>2]+(re<<6),re=re+1|0,qe=q[a+704>>2],(0|re)>2];);if(1<=q[qe+16>>2])for(re=0;q[(qe=re<<2)+q[a+820>>2]>>2]=q[a+836>>2]+(re<<6),q[qe+q[a+824>>2]>>2]=q[a+1016>>2]+(q[qe+q[a+880>>2]>>2]<<2),q[qe+q[a+828>>2]>>2]=q[a+1020>>2]+(q[qe+q[a+884>>2]>>2]<<1),q[qe+q[a+832>>2]>>2]=q[a+1024>>2]+(q[qe+q[a+892>>2]>>2]<<2),re=re+1|0,qe=q[a+704>>2],(0|re)>2];);if(1<=q[qe+20>>2])for(re=0;q[q[a+900>>2]+(re<<2)>>2]=q[a+904>>2]+(re<<6),re=re+1|0,qe=q[a+704>>2],(0|re)>2];);if(1<=q[qe+80>>2])for(re=0;q[q[a+1060>>2]+(re<<2)>>2]=q[a+1064>>2]+(re<<6),re=re+1|0,qe=q[a+704>>2],(0|re)>2];);if(!(1&o[q[a+708>>2]+20|0]||(0|(We=q[qe+16>>2]))<1)){for(Ye=q[a+888>>2],Ze=q[a+884>>2],Xe=q[a+1020>>2],re=0;;){if(1<(0|(Je=q[(qe=re<<2)+Ye>>2])))for(_e=Je+-1|0,$e=Xe+(q[qe+Ze>>2]<<1)|0,qe=0;af=s[(Je=(qe<<1)+$e|0)>>1],p[Je>>1]=s[Je+4>>1],p[Je+4>>1]=af,(0|(qe=qe+3|0))<(0|_e););if((0|We)==(0|(re=re+1|0)))break}for(re=q[a+876>>2],Ye=q[a+880>>2],Ze=q[a+1016>>2],Je=0;;){if(1<=(0|(Xe=q[(qe=Je<<2)+re>>2])))for(Xe=(qe=Ze+(q[qe+Ye>>2]<<2)|0)+(Xe<<3)|0,qe=qe+4|0;u[qe>>2]=x(1)-u[qe>>2],(qe=qe+8|0)>>>0>>0;);if((0|We)==(0|(Je=Je+1|0)))break}}}return L=32+Ve|0,a}function $b(a){var _h=x(0),fi=x(0),gi=0,hi=0,ii=x(0),ji=x(0),ki=x(0),li=x(0),mi=0,ni=x(0),oi=x(0),pi=0;a:{b:{if(j(a),hi=2147483647&(gi=e(0))){if(!(hi>>>0<2139095041))return x(x(.10000000149011612)+a);if(1065353216==(0|hi))return x(-1<(0|gi)?.10000000149011612:10);if(2139095040==(0|hi))return x(-1<(0|gi)?0:-a);if(1073741824==(0|gi))return x(.010000000707805157);if(1056964608==(0|gi))return x(.3162277638912201);if(1291845633<=hi>>>0)return x((0|gi)<0?H:0);if(ii=u[1537],ji=x(x(1.600000023841858)-ii),ki=x(x(1)/x(ii+x(1.600000023841858))),f(0,-4096&(j(fi=x(ji*ki)),e(0))),_h=k(),li=x(_h*_h),oi=u[1541],ii=x(ki*x(x(ji-x((ni=_h)*x(3.099609375)))-x(_h*x(x(1.600000023841858)-x(x(3.099609375)-ii))))),ki=x(x(fi+_h)*ii),_h=x(fi*fi),ji=x(ki+x(x(_h*_h)*x(x(_h*x(x(_h*x(x(_h*x(x(_h*x(x(_h*x(.20697501301765442))+x(.23066075146198273)))+x(.2727281153202057)))+x(.3333333432674408)))+x(.4285714328289032)))+x(.6000000238418579)))),f(0,-4096&(j(x(x(li+x(3))+ji)),e(0))),_h=k(),ki=x(ni*_h),fi=x(x(ii*_h)+x(fi*x(ji-x(x(_h+x(-3))-li)))),f(0,-4096&(j(x(ki+fi)),e(0))),_h=k(),ii=x(_h*x(.9619140625)),li=x(u[1539]+x(x(x(fi-x(_h-ki))*x(.9617967009544373))+x(_h*x(-.00011736857413779944)))),f(0,-4096&(j(x(x(oi+x(ii+li))+x(-4))),e(0))),fi=k(),f(0,-4096&gi),ji=k(),_h=x(fi*ji),a=x(x(x(li-x(x(x(fi-x(-4))-oi)-ii))*a)+x(x(a-ji)*fi)),j(fi=x(_h+a)),1124073473<=(0|(gi=e(0))))break b;d:{e:{if((hi=1124073472)==(0|gi)){if(!(x(a+x(4.299566569443414e-8))>x(fi-_h)))break e;break b}if(hi=2147483647&gi,!(a<=x(fi-_h)^1|-1021968384!=(0|gi))|1125515265<=hi>>>0)break a;if(hi>>>0<1056964609)break d}mi=(8388607&(hi=(8388608>>>(hi>>>23)-126)+gi|0)|8388608)>>>150-(pi=hi>>>23&255),mi=(0|gi)<0?0-mi|0:mi,_h=x(_h-(f(0,hi&-8388608>>pi+-127),k())),j(x(a+_h)),gi=e(0)}f(0,-32768&gi),fi=k(),ii=x(fi*x(.693145751953125)),fi=x(x(fi*x(14286065379565116e-22))+x(x(a-x(fi-_h))*x(.6931471824645996))),a=x(ii+fi),_h=x(a*a),_h=x(a-x(_h*x(x(_h*x(x(_h*x(x(_h*x(x(_h*x(4.138136944220605e-8))+x(-16533901998627698e-22)))+x(661375597701408e-19)))+x(-.0027777778450399637)))+x(.1666666716337204)))),ni=x(x(a*_h)/x(_h+x(-2))),_h=x(fi-x(a-ii)),a=(0|(gi=0|(j(a=x(x(a-x(ni-x(_h+x(a*_h))))+x(1))),e(0)+(mi<<23))))<=8388607?function(a,qi){a:if(128<=(0|qi)){if(a=x(a*x(17014118346046923e22)),(0|qi)<255){qi=qi+-127|0;break a}a=x(a*x(17014118346046923e22)),qi=((0|qi)<381?qi:381)+-254|0}else-127<(0|qi)||(a=x(a*x(11754943508222875e-54)),qi=-253<(0|qi)?qi+126|0:(a=x(a*x(11754943508222875e-54)),(-378<(0|qi)?qi:-378)+252|0));return x(a*(f(0,1065353216+(qi<<23)|0),k()))}(a,mi):(f(0,gi),k()),a=x(x(1)*a)}else a=x(1);return a}return x(H)}return x(0)}function dc(a,qi){var low,high;low=0|a,high=0|qi,b[0]=low,b[1]=high}function gc(a,qi,si){return function(a,qi,si){var ui,vi,wi,xi,ti=0;return xi=w(ui=si>>>16,ti=a>>>16),a=(65535&(ti=((wi=w(vi=65535&si,a&=65535))>>>16)+w(ti,vi)|0))+w(a,ui)|0,M=((xi+w(qi,si)|0)+(ti>>>16)|0)+(a>>>16)|0,65535&wi|a<<16}(a,qi,si)}function hc(a,qi,si){return function(a,qi,si){var yi=0,zi=0,Ai=0,Bi=0,Ci=0,Di=0,Ei=0,Fi=0,Gi=0;a:{b:{c:{d:{e:{f:{g:{h:{i:{if(zi=qi){if(!(yi=si))break i;break h}return dc((qi=a)-w(a=(a>>>0)/(si>>>0)|0,si)|0,0),M=0,a}if(!a)break g;break f}if(!((Bi=yi+-1|0)&yi))break e;Ci=0-(Bi=(z(yi)+33|0)-z(zi)|0)|0;break c}return dc(0,zi-w(a=(zi>>>0)/0|0,0)|0),M=0,a}if((yi=32-z(zi)|0)>>>0<31)break d;break b}if(dc(a&Bi,0),1==(0|yi))break a;return si=31&(yi=yi?31-z(yi+-1^yi)|0:32),a=32<=(63&yi)>>>0?(zi=0,qi>>>si):(zi=qi>>>si,((1<>>si),M=zi,a}Bi=yi+1|0,Ci=63-yi|0}if(yi=qi,Ai=31&(zi=63&Bi),Ai=32<=zi>>>0?(zi=0,yi>>>Ai):(zi=yi>>>Ai,((1<>>Ai),yi=31&(Ci&=63),32<=Ci>>>0?(qi=a<>>32-yi|qi<>>0<4294967295&&(yi=0);Ai=(Ei=Di=Ai<<1|qi>>>31)-(Fi=si&(Di=yi-((zi=zi<<1|Ai>>>31)+(Ci>>>0>>0)|0)>>31))|0,zi=zi-(Ei>>>0>>0)|0,qi=qi<<1|a>>>31,a=Gi|a<<1,Gi=Di&=1,Bi=Bi+-1|0;);return dc(Ai,zi),M=qi<<1|a>>>31,Di|a<<1}dc(a,qi),qi=a=0}return M=qi,a}(a,qi,si)}function jc(a){var Hi;return(-1>>>(Hi=31&a)&-2)<>>a}function N(){return buffer.byteLength/65536|0}}(H,I,J)}}l=null,b.wasmBinary&&(F=b.wasmBinary);var fa=Error,WebAssembly={};F=[],"object"!=typeof WebAssembly&&E("no native wasm support detected");var I,J=new function(a){var c=Array(17);return c.grow=function(){18<=c.length&&B("Unable to grow wasm table. Use a higher value for RESERVED_FUNCTION_POINTERS or set ALLOW_TABLE_GROWTH."),c.push(null)},c.set=function(a,e){c[a]=e},c.get=function(a){return c[a]},c}({initial:17,maximum:18,element:"anyfunc"}),K=!1;function assert(a,c){a||B("Assertion failed: "+c)}var buffer,M,L,N,ia="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function ja(a,c,d){var e=c+d;for(d=c;a[d]&&!(e<=d);)++d;if(16>10,56320|1023&f))}}else e+=String.fromCharCode(f)}return e}function ka(a,c){return a?ja(L,a,c):""}function la(a){return 0>>16)*e+d*(c>>>16)<<16)|0}),!Math.fround){var sa=new Float32Array(1);Math.fround=function(a){return sa[0]=a,sa[0]}}Math.clz32||(Math.clz32=function(a){var c=32,d=a>>16;return d&&(c-=16,a=d),(d=a>>8)&&(c-=8,a=d),(d=a>>4)&&(c-=4,a=d),(d=a>>2)&&(c-=2,a=d),a>>1?c-2:c-a}),Math.trunc||(Math.trunc=function(a){return a<0?Math.ceil(a):Math.floor(a)});var P=0,Q=null,U=null;function B(a){throw b.onAbort&&b.onAbort(a),D(a),E(a),K=!0,new fa("abort("+a+"). Build with -s ASSERTIONS=1 for more info.")}b.preloadedImages={},b.preloadedAudios={};var V="data:application/octet-stream;base64,";function W(a){return String.prototype.startsWith?a.startsWith(V):0===a.indexOf(V)}var X="_em_module.wasm";if(!W(X)){var ta=X;X=b.locateFile?b.locateFile(ta,u):u+ta}function ua(){try{if(F)return new Uint8Array(F);var a=z(X);if(a)return a;if(w)return w(X);throw"both async and sync fetching of the wasm failed"}catch(c){B(c)}}oa.push({b:function(){wa()}});var xa=[null,[],[]],ya=!1;function C(a){for(var c=[],d=0;d>4,f=(15&f)<<4|g>>2;var h=(3&g)<<6|m;c+=String.fromCharCode(e),64!==g&&(c+=String.fromCharCode(f)),64!==m&&(c+=String.fromCharCode(h))}while(d>16),ma(I.buffer);var d=1;break a}catch(e){}d=void 0}return!!d},fd_write:function(a,c,d,e){try{for(var f=0,g=0;g>2],h=N[c+(8*g+4)>>2],A=0;A>2]=f,0}catch(T){return"undefined"!=typeof FS&&T instanceof FS.c||B(T),T.f}},memory:I,table:J},Aa=function(){function a(a){b.asm=a.exports,P--,b.monitorRunDependencies&&b.monitorRunDependencies(P),0==P&&(null!==Q&&(clearInterval(Q),Q=null),U&&(a=U,U=null,a()))}function c(c){a(c.instance)}function d(a){return(F||!p&&!q||"function"!=typeof fetch?new Promise(function(a){a(ua())}):fetch(X,{credentials:"same-origin"}).then(function(a){if(!a.ok)throw"failed to load wasm binary file at '"+X+"'";return a.arrayBuffer()}).catch(function(){return ua()})).then(function(){return{then:function(a){a({instance:new da})}}}).then(a,function(a){E("failed to asynchronously prepare wasm: "+a),B(a)})}var e={env:H,wasi_snapshot_preview1:H};if(P++,b.monitorRunDependencies&&b.monitorRunDependencies(P),b.instantiateWasm)try{return b.instantiateWasm(e,a)}catch(f){return E("Module.instantiateWasm callback failed with error: "+f),!1}return function(){if(F||"function"!=typeof WebAssembly.instantiateStreaming||W(X)||"function"!=typeof fetch)return d(c);fetch(X,{credentials:"same-origin"}).then(function(a){return WebAssembly.instantiateStreaming(a,e).then(c,function(a){E("wasm streaming compile failed: "+a),E("falling back to ArrayBuffer instantiation"),d(c)})})}(),{}}();b.asm=Aa;var wa=b.___wasm_call_ctors=function(){return b.asm.__wasm_call_ctors.apply(null,arguments)};b._csmGetVersion=function(){return b.asm.csmGetVersion.apply(null,arguments)},b._csmGetLatestMocVersion=function(){return b.asm.csmGetLatestMocVersion.apply(null,arguments)},b._csmGetMocVersion=function(){return b.asm.csmGetMocVersion.apply(null,arguments)},b._csmSetLogFunction=function(){return b.asm.csmSetLogFunction.apply(null,arguments)},b._csmReviveMocInPlace=function(){return b.asm.csmReviveMocInPlace.apply(null,arguments)},b._csmReadCanvasInfo=function(){return b.asm.csmReadCanvasInfo.apply(null,arguments)},b._csmGetSizeofModel=function(){return b.asm.csmGetSizeofModel.apply(null,arguments)},b._csmInitializeModelInPlace=function(){return b.asm.csmInitializeModelInPlace.apply(null,arguments)},b._csmUpdateModel=function(){return b.asm.csmUpdateModel.apply(null,arguments)},b._csmGetParameterCount=function(){return b.asm.csmGetParameterCount.apply(null,arguments)},b._csmGetParameterIds=function(){return b.asm.csmGetParameterIds.apply(null,arguments)},b._csmGetParameterMinimumValues=function(){return b.asm.csmGetParameterMinimumValues.apply(null,arguments)},b._csmGetParameterMaximumValues=function(){return b.asm.csmGetParameterMaximumValues.apply(null,arguments)},b._csmGetParameterDefaultValues=function(){return b.asm.csmGetParameterDefaultValues.apply(null,arguments)},b._csmGetParameterValues=function(){return b.asm.csmGetParameterValues.apply(null,arguments)},b._csmGetPartCount=function(){return b.asm.csmGetPartCount.apply(null,arguments)},b._csmGetPartIds=function(){return b.asm.csmGetPartIds.apply(null,arguments)},b._csmGetPartOpacities=function(){return b.asm.csmGetPartOpacities.apply(null,arguments)},b._csmGetPartParentPartIndices=function(){return b.asm.csmGetPartParentPartIndices.apply(null,arguments)},b._csmGetDrawableCount=function(){return b.asm.csmGetDrawableCount.apply(null,arguments)},b._csmGetDrawableIds=function(){return b.asm.csmGetDrawableIds.apply(null,arguments)},b._csmGetDrawableConstantFlags=function(){return b.asm.csmGetDrawableConstantFlags.apply(null,arguments)},b._csmGetDrawableDynamicFlags=function(){return b.asm.csmGetDrawableDynamicFlags.apply(null,arguments)},b._csmGetDrawableTextureIndices=function(){return b.asm.csmGetDrawableTextureIndices.apply(null,arguments)},b._csmGetDrawableDrawOrders=function(){return b.asm.csmGetDrawableDrawOrders.apply(null,arguments)},b._csmGetDrawableRenderOrders=function(){return b.asm.csmGetDrawableRenderOrders.apply(null,arguments)},b._csmGetDrawableOpacities=function(){return b.asm.csmGetDrawableOpacities.apply(null,arguments)},b._csmGetDrawableMaskCounts=function(){return b.asm.csmGetDrawableMaskCounts.apply(null,arguments)},b._csmGetDrawableMasks=function(){return b.asm.csmGetDrawableMasks.apply(null,arguments)},b._csmGetDrawableVertexCounts=function(){return b.asm.csmGetDrawableVertexCounts.apply(null,arguments)},b._csmGetDrawableVertexPositions=function(){return b.asm.csmGetDrawableVertexPositions.apply(null,arguments)},b._csmGetDrawableVertexUvs=function(){return b.asm.csmGetDrawableVertexUvs.apply(null,arguments)},b._csmGetDrawableIndexCounts=function(){return b.asm.csmGetDrawableIndexCounts.apply(null,arguments)},b._csmGetDrawableIndices=function(){return b.asm.csmGetDrawableIndices.apply(null,arguments)},b._csmResetDrawableDynamicFlags=function(){return b.asm.csmResetDrawableDynamicFlags.apply(null,arguments)},b._csmMallocMoc=function(){return b.asm.csmMallocMoc.apply(null,arguments)},b._csmMallocModelAndInitialize=function(){return b.asm.csmMallocModelAndInitialize.apply(null,arguments)},b._csmMalloc=function(){return b.asm.csmMalloc.apply(null,arguments)},b._csmFree=function(){return b.asm.csmFree.apply(null,arguments)};var Y,Ba=b.stackSave=function(){return b.asm.stackSave.apply(null,arguments)},Ca=b.stackAlloc=function(){return b.asm.stackAlloc.apply(null,arguments)},Da=b.stackRestore=function(){return b.asm.stackRestore.apply(null,arguments)},ca=b.__growWasmMemory=function(){return b.asm.__growWasmMemory.apply(null,arguments)};function Z(){function a(){if(!Y&&(Y=!0,!K)){if(O(oa),O(pa),b.onRuntimeInitialized&&b.onRuntimeInitialized(),b.postRun)for("function"==typeof b.postRun&&(b.postRun=[b.postRun]);b.postRun.length;){var a=b.postRun.shift();qa.unshift(a)}O(qa)}}if(!(0>6}else{if(k<=65535){if(d<=e+2)break;f[e++]=224|k>>12}else{if(d<=e+3)break;f[e++]=240|k>>18,f[e++]=128|k>>12&63}f[e++]=128|k>>6&63}f[e++]=128|63&k}}f[e]=0}}return c},array:function(a){var c=Ca(a.length);return M.set(a,c),c}},g=function(a){var c=b["_"+a];return assert(c,"Cannot call unknown function "+a+", make sure it is exported"),c}(a),m=[];if(a=0,e)for(var h=0;h