├── .streamlit └── config.toml ├── .gitignore ├── docs ├── graph.png ├── mysql-chains.png ├── products.md ├── order_details.md ├── payments.md ├── customer_details.md └── transactions.md ├── __pycache__ ├── local_chat.cpython-312.pyc └── snowflake_chat.cpython-312.pyc ├── utils ├── __pycache__ │ ├── snowddl.cpython-312.pyc │ └── snowchat_ui.cpython-312.pyc ├── snowddl.py ├── snowchat_ui.py └── snow_connect.py ├── sql ├── ddl_products.sql ├── ddl_customer.sql ├── ddl_payments.sql ├── ddl_orders.sql └── ddl_transactions.sql ├── requirements.txt ├── .devcontainer └── devcontainer.json ├── ingest.py ├── tools.py ├── ui ├── sidebar.md └── styles.md ├── Makefile ├── template.py ├── agent.py ├── chain.py ├── README.md ├── local_chat.py ├── snowflake_chat.py ├── main.py └── data ├── transactions.csv ├── payments.csv ├── order_details.csv └── products.csv /.streamlit/config.toml: -------------------------------------------------------------------------------- 1 | [theme] 2 | base="dark" -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | venv/ 2 | .DS_Store 3 | .streamlit/secrets.toml 4 | secrets.toml -------------------------------------------------------------------------------- /docs/graph.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/realshubhamraut/SQL-Snowflake-chat/HEAD/docs/graph.png -------------------------------------------------------------------------------- /docs/mysql-chains.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/realshubhamraut/SQL-Snowflake-chat/HEAD/docs/mysql-chains.png -------------------------------------------------------------------------------- /__pycache__/local_chat.cpython-312.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/realshubhamraut/SQL-Snowflake-chat/HEAD/__pycache__/local_chat.cpython-312.pyc -------------------------------------------------------------------------------- /utils/__pycache__/snowddl.cpython-312.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/realshubhamraut/SQL-Snowflake-chat/HEAD/utils/__pycache__/snowddl.cpython-312.pyc -------------------------------------------------------------------------------- /__pycache__/snowflake_chat.cpython-312.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/realshubhamraut/SQL-Snowflake-chat/HEAD/__pycache__/snowflake_chat.cpython-312.pyc -------------------------------------------------------------------------------- /utils/__pycache__/snowchat_ui.cpython-312.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/realshubhamraut/SQL-Snowflake-chat/HEAD/utils/__pycache__/snowchat_ui.cpython-312.pyc -------------------------------------------------------------------------------- /sql/ddl_products.sql: -------------------------------------------------------------------------------- 1 | create or replace TABLE PRODUCTS ( 2 | PRODUCT_ID NUMBER(38,0) NOT NULL, 3 | PRODUCT_NAME VARCHAR(255), 4 | CATEGORY VARCHAR(255), 5 | PRICE NUMBER(10,2), 6 | primary key (PRODUCT_ID) 7 | ); -------------------------------------------------------------------------------- /sql/ddl_customer.sql: -------------------------------------------------------------------------------- 1 | create or replace TABLE CUSTOMER_DETAILS ( 2 | CUSTOMER_ID NUMBER(38,0) NOT NULL, 3 | FIRST_NAME VARCHAR(255), 4 | LAST_NAME VARCHAR(255), 5 | EMAIL VARCHAR(255), 6 | PHONE VARCHAR(20), 7 | ADDRESS VARCHAR(255), 8 | primary key (CUSTOMER_ID) 9 | ); -------------------------------------------------------------------------------- /sql/ddl_payments.sql: -------------------------------------------------------------------------------- 1 | create or replace TABLE PAYMENTS ( 2 | PAYMENT_ID NUMBER(38,0) NOT NULL, 3 | ORDER_ID NUMBER(38,0), 4 | PAYMENT_DATE DATE, 5 | AMOUNT NUMBER(10,2), 6 | primary key (PAYMENT_ID), 7 | foreign key (ORDER_ID) references ORDER_DETAILS(ORDER_ID) 8 | ); 9 | -------------------------------------------------------------------------------- /sql/ddl_orders.sql: -------------------------------------------------------------------------------- 1 | create or replace TABLE ORDER_DETAILS ( 2 | ORDER_ID NUMBER(38,0) NOT NULL, 3 | CUSTOMER_ID NUMBER(38,0), 4 | ORDER_DATE DATE, 5 | TOTAL_AMOUNT NUMBER(10,2), 6 | primary key (ORDER_ID), 7 | foreign key (CUSTOMER_ID) references CUSTOMER_DETAILS(CUSTOMER_ID) 8 | ); -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | streamlit 2 | watchdog 3 | pandas 4 | matplotlib 5 | SQLAlchemy 6 | psycopg2-binary 7 | snowflake-connector-python 8 | python-dotenv 9 | pydantic 10 | langgraph 11 | duckduckgo_search 12 | langchain 13 | langchain_community 14 | langchain_google_genai 15 | snowflake-sqlalchemy 16 | 17 | -------------------------------------------------------------------------------- /sql/ddl_transactions.sql: -------------------------------------------------------------------------------- 1 | CREATE OR REPLACE TABLE TRANSACTIONS ( 2 | TRANSACTION_ID NUMBER(38,0) NOT NULL, 3 | ORDER_ID NUMBER(38,0), 4 | PRODUCT_ID NUMBER(38,0), 5 | QUANTITY NUMBER(38,0), 6 | PRICE NUMBER(10,2), 7 | PRIMARY KEY (TRANSACTION_ID), 8 | FOREIGN KEY (ORDER_ID) REFERENCES ORDER_DETAILS(ORDER_ID) 9 | ); -------------------------------------------------------------------------------- /docs/products.md: -------------------------------------------------------------------------------- 1 | **Table 4: PRODUCTS** (Stores product information) 2 | 3 | This table contains information about the products available for purchase on the platform, including their name, category, and price. 4 | 5 | - PRODUCT_ID: Number (38,0) [Primary Key, Not Null] - Unique identifier for products 6 | - PRODUCT_NAME: Varchar (255) - Name of the product 7 | - CATEGORY: Varchar (255) - Category of the product 8 | - PRICE: Number (10,2) - Price of the product -------------------------------------------------------------------------------- /docs/order_details.md: -------------------------------------------------------------------------------- 1 | **Table 2: ORDER_DETAILS** (Stores order information) 2 | 3 | This table contains information about orders placed by customers, including the date and total amount of each order. 4 | 5 | - ORDER_ID: Number (38,0) [Primary Key, Not Null] - Unique identifier for orders 6 | - CUSTOMER_ID: Number (38,0) [Foreign Key - CUSTOMER_DETAILS(CUSTOMER_ID)] - Customer who made the order 7 | - ORDER_DATE: Date - Date when the order was made 8 | - TOTAL_AMOUNT: Number (10,2) - Total amount of the order -------------------------------------------------------------------------------- /docs/payments.md: -------------------------------------------------------------------------------- 1 | **Table 3: PAYMENTS** (Stores payment information) 2 | 3 | This table contains information about payments made by customers for their orders, including the date and amount of each payment. 4 | 5 | - PAYMENT_ID: Number (38,0) [Primary Key, Not Null] - Unique identifier for payments 6 | - ORDER_ID: Number (38,0) [Foreign Key - ORDER_DETAILS(ORDER_ID)] - Associated order for the payment 7 | - PAYMENT_DATE: Date - Date when the payment was made 8 | - AMOUNT: Number (10,2) - Amount of the payment -------------------------------------------------------------------------------- /docs/customer_details.md: -------------------------------------------------------------------------------- 1 | **Table 1: CUSTOMER_DETAILS** (Stores customer information) 2 | 3 | This table contains the personal information of customers who have made purchases on the platform. 4 | 5 | - CUSTOMER_ID: Number (38,0) [Primary Key, Not Null] - Unique identifier for customers 6 | - FIRST_NAME: Varchar (255) - First name of the customer 7 | - LAST_NAME: Varchar (255) - Last name of the customer 8 | - EMAIL: Varchar (255) - Email address of the customer 9 | - PHONE: Varchar (20) - Phone number of the customer 10 | - ADDRESS: Varchar (255) - Physical address of the customer -------------------------------------------------------------------------------- /docs/transactions.md: -------------------------------------------------------------------------------- 1 | **Table 5: TRANSACTIONS** (Stores transaction information) 2 | 3 | This table contains information about individual transactions that occur when customers purchase products, including the associated order, product, quantity, and price. 4 | 5 | - TRANSACTION_ID: Number (38,0) [Primary Key, Not Null] - Unique identifier for transactions 6 | - ORDER_ID: Number (38,0) [Foreign Key - ORDER_DETAILS(ORDER_ID)] - Associated order for the transaction 7 | - PRODUCT_ID: Number (38,0) - Product involved in the transaction 8 | - QUANTITY: Number (38,0) - Quantity of the product in the transaction 9 | - PRICE: Number (10,2) - Price of the product in the transaction 10 | -------------------------------------------------------------------------------- /utils/snowddl.py: -------------------------------------------------------------------------------- 1 | class Snowddl: 2 | """ 3 | Snowddl class loads DDL files for various tables in a database. 4 | 5 | Attributes: 6 | ddl_dict (dict): dictionary of DDL files for various tables in a database. 7 | 8 | Methods: 9 | load_ddls: loads DDL files for various tables in a database. 10 | """ 11 | 12 | def __init__(self): 13 | self.ddl_dict = self.load_ddls() 14 | 15 | @staticmethod 16 | def load_ddls(): 17 | ddl_files = { 18 | "TRANSACTIONS": "sql/ddl_transactions.sql", 19 | "ORDER_DETAILS": "sql/ddl_orders.sql", 20 | "PAYMENTS": "sql/ddl_payments.sql", 21 | "PRODUCTS": "sql/ddl_products.sql", 22 | "CUSTOMER_DETAILS": "sql/ddl_customer.sql", 23 | } 24 | 25 | ddl_dict = {} 26 | for table_name, file_name in ddl_files.items(): 27 | with open(file_name, "r") as f: 28 | ddl_dict[table_name] = f.read() 29 | return ddl_dict 30 | -------------------------------------------------------------------------------- /utils/snowchat_ui.py: -------------------------------------------------------------------------------- 1 | # utils/snowchat_ui.py 2 | import streamlit as st 3 | 4 | def get_model_url(model: str) -> str: 5 | if model == "Google Gemini": 6 | return "Google Gemini (models/gemini-2.0-flash)" 7 | return model 8 | 9 | def message_func(message: str, is_user: bool = False, is_df: bool = False, model: str = "Google Gemini"): 10 | if is_user: 11 | st.markdown(f"**User:** {message}") 12 | elif is_df: 13 | st.dataframe(message) 14 | else: 15 | model_url = get_model_url(model) 16 | st.markdown(f"**Assistant ({model_url}):** {message}") 17 | 18 | # Instead of subclassing BaseCallbackHandler (which may be a Pydantic model), 19 | # we define our callback handler as a plain class. 20 | class StreamlitUICallbackHandler: 21 | def __init__(self, model: str): 22 | self.model = model 23 | self.final_message = "" 24 | 25 | def start_loading_message(self): 26 | st.info("Assistant is typing...") 27 | 28 | def on_llm_new_token(self, token: str, **kwargs): 29 | self.final_message += token 30 | -------------------------------------------------------------------------------- /.devcontainer/devcontainer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Python 3", 3 | // Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile 4 | "image": "mcr.microsoft.com/devcontainers/python:1-3.11-bullseye", 5 | "customizations": { 6 | "codespaces": { 7 | "openFiles": [ 8 | "README.md", 9 | "main.py" 10 | ] 11 | }, 12 | "vscode": { 13 | "settings": {}, 14 | "extensions": [ 15 | "ms-python.python", 16 | "ms-python.vscode-pylance" 17 | ] 18 | } 19 | }, 20 | "updateContentCommand": "[ -f packages.txt ] && sudo apt update && sudo apt upgrade -y && sudo xargs apt install -y List[Any]: 24 | data = self.loader.load() 25 | texts = self.text_splitter.split_documents(data) 26 | # Optionally, you can use self.embeddings.embed_documents(texts) to embed them. 27 | return texts 28 | 29 | def run() -> List[Any]: 30 | config = Config() 31 | doc_processor = DocumentProcessor(config) 32 | result = doc_processor.process() 33 | return result 34 | 35 | if __name__ == "__main__": 36 | run() 37 | -------------------------------------------------------------------------------- /tools.py: -------------------------------------------------------------------------------- 1 | # # tools.py 2 | # import streamlit as st 3 | # from supabase.client import Client, create_client 4 | # from langchain_community.embeddings import FakeEmbeddings 5 | # from langchain_community.vectorstores import SupabaseVectorStore 6 | # from langchain_community.tools import create_retriever_tool 7 | # from langchain_community.tools import DuckDuckGoSearchRun 8 | # from utils.snow_connect import SnowflakeConnection 9 | 10 | # supabase_url = st.secrets["SUPABASE_URL"] 11 | # supabase_key = st.secrets["SUPABASE_SERVICE_KEY"] 12 | # client: Client = create_client(supabase_url, supabase_key) 13 | 14 | # embeddings = FakeEmbeddings(size=768) 15 | 16 | # vectorstore = SupabaseVectorStore( 17 | # embedding=embeddings, 18 | # client=client, 19 | # table_name="documents", 20 | # query_name="v_match_documents", 21 | # ) 22 | 23 | # retriever_tool = create_retriever_tool( 24 | # vectorstore.as_retriever(), 25 | # name="Database_Schema", 26 | # description="Search for database schema details", 27 | # ) 28 | 29 | # search = DuckDuckGoSearchRun() 30 | 31 | # def sql_executor_tool(query: str, use_cache: bool = True) -> str: 32 | # conn = SnowflakeConnection() 33 | # return conn.execute_query(query, use_cache) 34 | 35 | # def retrieve_data(query: str) -> str: 36 | # return sql_executor_tool(query, use_cache=True) 37 | -------------------------------------------------------------------------------- /ui/sidebar.md: -------------------------------------------------------------------------------- 1 | # SQL-Chat 2 | 3 | SQL-Chat is an intuitive and user-friendly application that allows you to interact with your Snowflake data using natural language queries. Type in your questions or requests, and SQL-Chat will generate the appropriate SQL query and return the data you need. 4 | 5 | ## Features 6 | 7 | - **Conversational AI**: Use Google Gemini / ChatGPT to translate natural language into precise SQL queries. 8 | - **Conversational Memory**: Retains context for interactive, dynamic responses. 9 | - **Snowflake Integration**: Offers seamless, real-time data insights straight from your Snowflake database. 10 | - **Self-healing SQL**: Proactively suggests solutions for SQL errors, streamlining data access. 11 | - **Plot the Charts**: If you want chart just ask for it, look at the examples below. 12 | - **Interactive User Interface**: Transforms data querying into an engaging conversation, complete with a 13 | chat reset option. 14 | 15 | 16 | ---- 17 | 18 | Here are some example queries you can try with SQL-Chat: 19 | 20 | 21 | - Plot the bar chart for the most top 4 sold items 22 | - Who are the top 10 customers by sales? 23 | - Plot me line chart for the showing sales amount for every week 24 | - Plot the pie chart showing distribution of the categories with the number of products in percentage 25 | - Give me the details of the 5 customer who spend most money 26 | 27 | -------------------------------------------------------------------------------- /ui/styles.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 50 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | .PHONY: all format lint lint_diff format_diff lint_package lint_tests spell_check spell_fix help lint-fix 2 | 3 | # Define a variable for Python and notebook files. 4 | PYTHON_FILES=src/ 5 | MYPY_CACHE=.mypy_cache 6 | 7 | ###################### 8 | # LINTING AND FORMATTING 9 | ###################### 10 | 11 | lint format: PYTHON_FILES=. 12 | lint_diff format_diff: PYTHON_FILES=$(shell git diff --name-only --diff-filter=d main | grep -E '\.py$$|\.ipynb$$') 13 | lint_package: PYTHON_FILES=src 14 | lint_tests: PYTHON_FILES=tests 15 | lint_tests: MYPY_CACHE=.mypy_cache_test 16 | 17 | lint lint_diff lint_package lint_tests: 18 | python -m ruff check . 19 | [ "$(PYTHON_FILES)" = "" ] || python -m ruff format $(PYTHON_FILES) --diff 20 | [ "$(PYTHON_FILES)" = "" ] || python -m ruff check --select I,F401 --fix $(PYTHON_FILES) 21 | [ "$(PYTHON_FILES)" = "" ] || python -m mypy --strict $(PYTHON_FILES) 22 | [ "$(PYTHON_FILES)" = "" ] || mkdir -p $(MYPY_CACHE) && python -m mypy --strict $(PYTHON_FILES) --cache-dir $(MYPY_CACHE) 23 | 24 | format format_diff: 25 | ruff format $(PYTHON_FILES) 26 | ruff check --fix $(PYTHON_FILES) 27 | 28 | spell_check: 29 | codespell --toml pyproject.toml 30 | 31 | spell_fix: 32 | codespell --toml pyproject.toml -w 33 | 34 | ###################### 35 | # RUN ALL 36 | ###################### 37 | 38 | all: format lint spell_check 39 | 40 | ###################### 41 | # HELP 42 | ###################### 43 | 44 | help: 45 | @echo '----' 46 | @echo 'format - run code formatters' 47 | @echo 'lint - run linters' 48 | @echo 'spell_check - run spell check' 49 | @echo 'all - run all tasks' 50 | @echo 'lint-fix - run lint and fix issues' 51 | 52 | ###################### 53 | # LINT-FIX TARGET 54 | ###################### 55 | 56 | lint-fix: format lint 57 | @echo "Linting and fixing completed successfully." 58 | -------------------------------------------------------------------------------- /template.py: -------------------------------------------------------------------------------- 1 | # template.py 2 | from langchain_core.prompts import ChatPromptTemplate, PromptTemplate 3 | 4 | TEMPLATE = """ 5 | You're an AI assistant specializing in data analysis with Snowflake SQL. When providing responses, strive to exhibit friendliness and adopt a conversational tone, similar to how a friend or tutor would communicate. 6 | 7 | When asked about your capabilities, provide a general overview of your ability to assist with data analysis tasks using Snowflake SQL, instead of performing specific SQL queries. 8 | 9 | (CONTEXT IS NOT KNOWN TO USER) It is provided to you as a reference to generate SQL code. 10 | 11 | Based on the question provided, if it pertains to data analysis or SQL tasks, generate SQL code based on the context provided. Ensure compatibility with the Snowflake environment. Additionally, offer a brief explanation of how you arrived at the SQL code. If the required column isn’t explicitly stated in the context, suggest an alternative using available columns—but do not assume columns that aren’t mentioned. Also, do not modify the database in any way (no insert, update, or delete operations). You are only allowed to query the database. Refrain from using the information schema. 12 | **You are only required to write one SQL query per question.** 13 | 14 | If the question or context does not clearly involve SQL or data analysis tasks, respond appropriately without generating SQL queries. 15 | 16 | When the user expresses gratitude (e.g. "Thanks"), interpret it as a signal to conclude the conversation. Respond with an appropriate closing statement without generating further SQL queries. 17 | 18 | If you don’t know the answer, simply state, "I'm sorry, I don't know the answer to your question." 19 | 20 | Write your response in markdown format. 21 | 22 | Do not worry about access to the database or the schema details—the context provided is sufficient to generate the SQL code. (The SQL code is not expected to run on any database.) 23 | 24 | User Question: 25 | {question} 26 | 27 | Context - (Schema Details): 28 | {context} 29 | 30 | Assistant: 31 | """ 32 | 33 | CONDENSE_QUESTION_PROMPT = ChatPromptTemplate.from_template( 34 | template="{chat_history}\nCondense the above question into a standalone question: {question}" 35 | ) 36 | QA_PROMPT = ChatPromptTemplate.from_template(template=TEMPLATE) 37 | -------------------------------------------------------------------------------- /agent.py: -------------------------------------------------------------------------------- 1 | # agent.py 2 | from dataclasses import dataclass 3 | from typing import Annotated, Sequence, Optional 4 | from langchain_core.messages import BaseMessage 5 | from langgraph.graph.message import add_messages 6 | from langchain_core.messages import SystemMessage 7 | from langchain_google_genai import ChatGoogleGenerativeAI 8 | from langgraph.checkpoint.memory import MemorySaver 9 | from langgraph.graph import START, END, StateGraph 10 | from langgraph.prebuilt import ToolNode, tools_condition 11 | 12 | # Exported items 13 | __all__ = ["MessagesState", "create_agent"] 14 | 15 | @dataclass 16 | class MessagesState: 17 | messages: Annotated[Sequence[BaseMessage], add_messages] 18 | 19 | memory = MemorySaver() 20 | 21 | # Model configuration for Google Gemini only 22 | @dataclass 23 | class ModelConfig: 24 | model_name: str 25 | api_key: str 26 | base_url: Optional[str] = None 27 | 28 | model_configurations = { 29 | "Google Gemini": ModelConfig( 30 | model_name="models/gemini-2.0-flash", 31 | api_key=__import__("streamlit").secrets["GEMINI_API_KEY"], 32 | base_url=None, 33 | ) 34 | } 35 | 36 | sys_msg = SystemMessage( 37 | content="""You're an AI assistant specializing in data analysis with Snowflake SQL. When providing responses, strive to be friendly and conversational (like a tutor or friend). You have access to the following tools: 38 | - Database_Schema: Search for database schema details before generating SQL code. 39 | - Internet_Search: Look up Snowflake SQL–related information when needed. 40 | """ 41 | ) 42 | 43 | # Tools are imported from tools.py (see that file) 44 | from tools import retriever_tool, search 45 | tools = [retriever_tool, search] 46 | 47 | def create_agent(callback_handler) -> StateGraph: 48 | config = model_configurations["Google Gemini"] 49 | if not config.api_key: 50 | raise ValueError("API key for Google Gemini is not set. Please check your secrets configuration.") 51 | llm = ChatGoogleGenerativeAI( 52 | model=config.model_name, 53 | google_api_key=config.api_key, 54 | callbacks=[callback_handler], 55 | temperature=0, 56 | base_url=config.base_url, 57 | streaming=True, 58 | ) 59 | llm_with_tools = llm.bind_tools(tools) 60 | 61 | def llm_agent(state: MessagesState): 62 | return {"messages": [llm_with_tools.invoke([sys_msg] + state.messages)]} 63 | 64 | builder = StateGraph(MessagesState) 65 | builder.add_node("llm_agent", llm_agent) 66 | builder.add_node("tools", ToolNode(tools)) 67 | builder.add_edge(START, "llm_agent") 68 | builder.add_conditional_edges("llm_agent", tools_condition) 69 | builder.add_edge("tools", "llm_agent") 70 | builder.add_edge("llm_agent", END) 71 | react_graph = builder.compile(checkpointer=memory) 72 | return react_graph 73 | -------------------------------------------------------------------------------- /chain.py: -------------------------------------------------------------------------------- 1 | # chain.py 2 | from dataclasses import dataclass, field 3 | from operator import itemgetter 4 | from typing import Any, Callable, Dict, Optional 5 | import streamlit as st 6 | from langchain_community.embeddings import FakeEmbeddings 7 | from langchain.prompts.prompt import PromptTemplate 8 | from langchain.schema import format_document 9 | from langchain.vectorstores import SupabaseVectorStore 10 | from langchain_core.messages import get_buffer_string 11 | from langchain_core.output_parsers import StrOutputParser 12 | from langchain_core.runnables import RunnableParallel, RunnablePassthrough 13 | from langchain_google_genai import ChatGoogleGenerativeAI 14 | from supabase.client import Client, create_client 15 | from template import CONDENSE_QUESTION_PROMPT, QA_PROMPT 16 | 17 | DEFAULT_DOCUMENT_PROMPT = PromptTemplate.from_template(template="{page_content}") 18 | 19 | supabase_url = st.secrets["SUPABASE_URL"] 20 | supabase_key = st.secrets["SUPABASE_SERVICE_KEY"] 21 | client: Client = create_client(supabase_url, supabase_key) 22 | 23 | @dataclass 24 | class ModelConfig: 25 | model_type: str 26 | secrets: Dict[str, Any] 27 | callback_handler: Optional[Callable] = field(default=None) 28 | 29 | class ModelWrapper: 30 | def __init__(self, config: ModelConfig): 31 | self.model_type = config.model_type 32 | self.secrets = config.secrets 33 | self.callback_handler = config.callback_handler 34 | self.llm = self._setup_llm() 35 | 36 | def _setup_llm(self): 37 | return ChatGoogleGenerativeAI( 38 | model="models/gemini-2.0-flash", 39 | google_api_key=self.secrets["GEMINI_API_KEY"], 40 | temperature=0.1, 41 | callbacks=[self.callback_handler], 42 | max_tokens=700, 43 | streaming=True, 44 | ) 45 | 46 | def get_chain(self, vectorstore): 47 | def _combine_documents(docs, document_prompt=DEFAULT_DOCUMENT_PROMPT, document_separator="\n\n"): 48 | doc_strings = [format_document(doc, document_prompt) for doc in docs] 49 | return document_separator.join(doc_strings) 50 | 51 | _inputs = RunnableParallel( 52 | standalone_question=RunnablePassthrough.assign( 53 | chat_history=lambda x: get_buffer_string(x["chat_history"]) 54 | ) 55 | | CONDENSE_QUESTION_PROMPT 56 | | StrOutputParser() 57 | ) 58 | _context = { 59 | "context": itemgetter("standalone_question") 60 | | vectorstore.as_retriever() 61 | | _combine_documents, 62 | "question": lambda x: x["standalone_question"], 63 | } 64 | conversational_qa_chain = _inputs | _context | QA_PROMPT | self.llm 65 | return conversational_qa_chain 66 | 67 | def load_chain(model_name="google_gemini", callback_handler=None): 68 | embeddings = FakeEmbeddings(size=768) 69 | vectorstore = SupabaseVectorStore( 70 | embedding=embeddings, 71 | client=client, 72 | table_name="documents", 73 | query_name="v_match_documents", 74 | ) 75 | # Override the retriever with a dummy retriever to disable document retrieval. 76 | class DummyRetriever: 77 | def get_relevant_documents(self, query): 78 | return [] 79 | vectorstore.as_retriever = lambda: DummyRetriever() 80 | 81 | model_type = "google_gemini" 82 | config = ModelConfig( 83 | model_type=model_type, secrets=st.secrets, callback_handler=callback_handler 84 | ) 85 | model = ModelWrapper(config) 86 | return model.get_chain(vectorstore) 87 | -------------------------------------------------------------------------------- /utils/snow_connect.py: -------------------------------------------------------------------------------- 1 | from typing import Any, Dict 2 | import json 3 | import requests 4 | import streamlit as st 5 | from snowflake.snowpark.session import Session 6 | 7 | 8 | class SnowflakeConnection: 9 | """ 10 | This class is used to establish a connection to Snowflake and execute queries with optional caching. 11 | 12 | Attributes 13 | ---------- 14 | connection_parameters : Dict[str, Any] 15 | A dictionary containing the connection parameters for Snowflake. 16 | session : snowflake.snowpark.Session 17 | A Snowflake session object. 18 | 19 | Methods 20 | ------- 21 | get_session() 22 | Establishes and returns the Snowflake connection session. 23 | execute_query(query: str, use_cache: bool = True) 24 | Executes a Snowflake SQL query with optional caching. 25 | """ 26 | 27 | def __init__(self): 28 | self.connection_parameters = self._get_connection_parameters_from_env() 29 | self.session = None 30 | self.cloudflare_account_id = st.secrets["CLOUDFLARE_ACCOUNT_ID"] 31 | self.cloudflare_namespace_id = st.secrets["CLOUDFLARE_NAMESPACE_ID"] 32 | self.cloudflare_api_token = st.secrets["CLOUDFLARE_API_TOKEN"] 33 | self.headers = { 34 | "Authorization": f"Bearer {self.cloudflare_api_token}", 35 | "Content-Type": "application/json" 36 | } 37 | 38 | @staticmethod 39 | def _get_connection_parameters_from_env() -> Dict[str, Any]: 40 | return { 41 | "account": st.secrets["ACCOUNT"], 42 | "user": st.secrets["USER_NAME"], 43 | "password": st.secrets["PASSWORD"], 44 | "warehouse": st.secrets["WAREHOUSE"], 45 | "database": st.secrets["DATABASE"], 46 | "schema": st.secrets["SCHEMA"], 47 | "role": st.secrets["ROLE"], 48 | } 49 | 50 | def get_session(self): 51 | """ 52 | Establishes and returns the Snowflake connection session. 53 | Returns: 54 | session: Snowflake connection session. 55 | """ 56 | if self.session is None: 57 | self.session = Session.builder.configs(self.connection_parameters).create() 58 | self.session.sql_simplifier_enabled = True 59 | return self.session 60 | 61 | def _construct_kv_url(self, key: str) -> str: 62 | return f"https://api.cloudflare.com/client/v4/accounts/{self.cloudflare_account_id}/storage/kv/namespaces/{self.cloudflare_namespace_id}/values/{key}" 63 | 64 | def get_from_cache(self, key: str) -> str: 65 | url = self._construct_kv_url(key) 66 | try: 67 | response = requests.get(url, headers=self.headers) 68 | response.raise_for_status() 69 | print("\n\n\nCache hit\n\n\n") 70 | return response.text 71 | except requests.exceptions.RequestException as e: 72 | print(f"Cache miss or error: {e}") 73 | return None 74 | 75 | def set_to_cache(self, key: str, value: str) -> None: 76 | url = self._construct_kv_url(key) 77 | serialized_value = json.dumps(value) 78 | try: 79 | response = requests.put(url, headers=self.headers, data=serialized_value) 80 | response.raise_for_status() 81 | print("Cache set successfully") 82 | except requests.exceptions.RequestException as e: 83 | print(f"Failed to set cache: {e}") 84 | 85 | def execute_query(self, query: str, use_cache: bool = True) -> str: 86 | """ 87 | Execute a Snowflake SQL query with optional caching. 88 | """ 89 | if use_cache: 90 | cached_response = self.get_from_cache(query) 91 | if cached_response: 92 | return json.loads(cached_response) 93 | 94 | session = self.get_session() 95 | result = session.sql(query).collect() 96 | result_list = [row.as_dict() for row in result] 97 | 98 | if use_cache: 99 | self.set_to_cache(query, result_list) 100 | 101 | return result_list 102 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # SQL-Snowflake-chat ❄️ 2 | #### and also with local postgres 🐘 3 | 4 |
5 | 6 | Streamlit 7 | 8 | 9 | Gemini 10 | 11 | 12 | PostgreSQL 13 | 14 | 15 | Snowflake 16 | 17 | 18 | Langchain 19 | 20 | 21 | Streamlit App 22 | 23 |
24 | 25 | --- 26 | **SQL-Snowflake-chat** is a user-friendly application that lets you interact with your Snowflake and local PostgreSQL data using natural language queries. Simply type your questions, and SQL-Snowflake-chat will generate the SQL query and return the data you need. It eliminates the need for complex SQL queries and makes data access easy. Enjoy real‑time data retrieval, interactive visualizations, and a sleek dark-themed UI—all through a conversational interface. 27 | 28 | ## Supported LLM's 29 | 30 | - Gemini Flash 2.0 31 | - Deepseek R1 32 | - GPT-4o 33 | 34 | 35 | ## Technology Stack 36 | 37 | - **Frontend:** 38 | Streamlit with a custom dark theme 39 | 40 | - **Data Processing & Visualization:** 41 | Pandas, Matplotlib 42 | 43 | - **Database Connectivity:** 44 | SQLAlchemy, psycopg2-binary, snowflake-connector-python, snowflake-sqlalchemy 45 | 46 | - **LLM & Query Generation:** 47 | Google Gemini via `langchain_google_genai`, langhchain, langgraph (for developing SQL specific agentic AI) 48 | 49 | 50 | 51 | ## 🌟 Features 52 | 53 | - **Conversational AI**: Use Google Gemini and other models to translate natural language into precise SQL queries. 54 | - **Conversational Memory**: Retains context for interactive, dynamic responses. 55 | - **Snowflake Integration**: Offers seamless, real-time data insights straight from your Snowflake database. 56 | - **Self-healing SQL**: Proactively suggests solutions for SQL errors, streamlining data access. 57 | - **Interactive User Interface**: Transforms data querying into an engaging conversation, complete with a chat reset option. 58 | - **Agent-based Architecture**: Utilizes an agent to manage interactions and tool usage. 59 | - **Plot Charts Automatically, without code** - Want quick insight just ask to plot the required charts/graphs, it will figure out the required query by relating tables in database, I've optimized the code for removing uncecessary data, and will show you just vizualisation. 60 | 61 | ## 🛠️ Installation 62 | 63 | 1. **Clone the Repository:** 64 | 65 | ```bash 66 | git clone https://github.com//sql-snowflake-chat.git 67 | cd sql-snowflake-chat 68 | ``` 69 | 70 | 2. Install the required packages: 71 | 72 | ```bash 73 | pip install -r requirements.txt 74 | ``` 75 | --- 76 | 77 | 78 | 3. Set up your `GEMINI_API`, `ACCOUNT`, `USER_NAME`, `PASSWORD`, `ROLE`, `DATABASE`, `SCHEMA`, `WAREHOUSE`,`CLOUDFLARE_ACCOUNT_ID`, `CLOUDFLARE_NAMESPACE_ID`, 79 | `CLOUDFLARE_API_TOKEN` in project directory `secrets.toml`. 80 | Cloudflare is used here for caching Snowflake responses in KV. 81 | 82 | 83 | 84 | 4. Make your schemas and store them in docs folder that matches your database. 85 | 86 | 5. Create supabase extention, table and function from the supabase/scripts.sql. 87 | 88 | 6. Run `python ingest.py` to get convert to embeddings and store as an index file. 89 | 90 | 7. Run the Streamlit app to start chatting: 91 | ```streamlit run main.py``` 92 | 93 | --- 94 | ## 🤝 Contributing 95 | 96 | Feel free to contribute to this project by submitting a pull request or opening an issue. Your feedback and suggestions are greatly appreciated! 97 | -------------------------------------------------------------------------------- /local_chat.py: -------------------------------------------------------------------------------- 1 | # local_chat.py 2 | from dotenv import load_dotenv 3 | import os 4 | import asyncio 5 | import streamlit as st 6 | import pandas as pd 7 | import matplotlib.pyplot as plt 8 | 9 | from langchain_core.messages import AIMessage, HumanMessage 10 | from langchain_core.prompts import ChatPromptTemplate 11 | from langchain_core.runnables import RunnablePassthrough 12 | from langchain_community.utilities import SQLDatabase 13 | from langchain_core.output_parsers import StrOutputParser 14 | from langchain_google_genai import ChatGoogleGenerativeAI 15 | 16 | from sqlalchemy import inspect 17 | 18 | # Ensure an event loop exists 19 | try: 20 | asyncio.get_running_loop() 21 | except RuntimeError: 22 | asyncio.set_event_loop(asyncio.new_event_loop()) 23 | 24 | def init_database(user: str, host: str, port: str, database: str) -> SQLDatabase: 25 | db_uri = f"postgresql+psycopg2://{user}@{host}:{port}/{database}" 26 | return SQLDatabase.from_uri(db_uri) 27 | 28 | def finalize_sql(query: str) -> str: 29 | query = query.strip() 30 | if query.startswith("```"): 31 | query = query.strip("`").strip() 32 | if query.lower().startswith("sql"): 33 | query = query[3:].strip() 34 | if not query.endswith(";"): 35 | query += ";" 36 | return query 37 | 38 | def strip_code_fences(text: str) -> str: 39 | text = text.strip() 40 | if text.startswith("```") and text.endswith("```"): 41 | lines = text.splitlines() 42 | if lines and lines[0].startswith("```"): 43 | lines = lines[1:] 44 | if lines and lines[-1].startswith("```"): 45 | lines = lines[:-1] 46 | return "\n".join(lines).strip() 47 | return text 48 | 49 | def adjust_label_fontsize(ax, base_font_size=12, rotation_angle=45, tick_threshold=10): 50 | xticks = ax.get_xticklabels() 51 | yticks = ax.get_yticklabels() 52 | n_xticks = len(xticks) 53 | n_yticks = len(yticks) 54 | new_font_size = max(6, base_font_size - (max(n_xticks, n_yticks) - 5)) 55 | ax.tick_params(axis='both', labelsize=new_font_size) 56 | if n_xticks > tick_threshold: 57 | plt.setp(ax.get_xticklabels(), rotation=rotation_angle, ha='right') 58 | ax.xaxis.label.set_size(new_font_size) 59 | ax.yaxis.label.set_size(new_font_size) 60 | ax.title.set_size(new_font_size + 2) 61 | plt.tight_layout() 62 | 63 | def get_database_info(db: SQLDatabase, sample_limit: int = 1) -> str: 64 | db_info = "Database Schema and Sample Data:\n" 65 | try: 66 | engine = db._engine 67 | inspector = inspect(engine) 68 | table_names = inspector.get_table_names() 69 | except Exception as e: 70 | db_info += f"(Could not use inspector: {e})\n" 71 | db_info += db.get_table_info() 72 | return db_info 73 | 74 | for table in table_names: 75 | db_info += f"\nTable: {table}\n" 76 | try: 77 | columns = inspector.get_columns(table) 78 | col_info = ", ".join([f"{col['name']} ({col['type']})" for col in columns]) 79 | db_info += f"Columns: {col_info}\n" 80 | except Exception as e: 81 | db_info += f"Columns: (Error retrieving columns: {e})\n" 82 | try: 83 | sample = db.run(f"SELECT * FROM {table} LIMIT {sample_limit}") 84 | db_info += f"Sample Data:\n{sample}\n" 85 | except Exception as e: 86 | db_info += f"Sample Data: (Could not retrieve sample data: {e})\n" 87 | return db_info 88 | 89 | def get_sql_chain(db): 90 | template = """ 91 | You are a data analyst interacting with a PostgreSQL database. 92 | Below is the dynamic database information (schema and sample data): 93 | {db_info} 94 | 95 | Conversation History: {chat_history} 96 | 97 | Question: {question} 98 | 99 | Write only the SQL query and nothing else. 100 | SQL Query: 101 | """ 102 | prompt = ChatPromptTemplate.from_template(template) 103 | llm = ChatGoogleGenerativeAI( 104 | model="models/gemini-2.0-flash", 105 | google_api_key=os.getenv("GEMINI_API_KEY"), 106 | temperature=0 107 | ) 108 | return ( 109 | RunnablePassthrough.assign(db_info=lambda _: get_database_info(db)) 110 | | prompt 111 | | llm 112 | | StrOutputParser() 113 | ) 114 | 115 | def get_response(user_query: str, db: SQLDatabase, chat_history: list): 116 | sql_chain = get_sql_chain(db) 117 | template = """ 118 | You are a data analyst interacting with a PostgreSQL database. 119 | Below is the dynamic database information (schema and sample data): 120 | {db_info} 121 | 122 | Conversation History: {chat_history} 123 | SQL Query: {query} 124 | User Question: {question} 125 | SQL Response: {response} 126 | 127 | Provide your answer in markdown format. 128 | """ 129 | prompt_chain = ChatPromptTemplate.from_template(template) 130 | llm = ChatGoogleGenerativeAI( 131 | model="models/gemini-2.0-flash", 132 | google_api_key=os.getenv("GEMINI_API_KEY"), 133 | temperature=0 134 | ) 135 | chain = ( 136 | RunnablePassthrough.assign(query=sql_chain) 137 | .assign( 138 | db_info=lambda _: get_database_info(db), 139 | response=lambda vars: db.run(finalize_sql(vars["query"])) 140 | ) 141 | | prompt_chain 142 | | llm 143 | | StrOutputParser() 144 | ) 145 | return chain.invoke({ 146 | "question": user_query, 147 | "chat_history": chat_history[-5:], 148 | }) 149 | 150 | def get_visualization_data(user_query: str, db: SQLDatabase, chat_history: list): 151 | sql_chain = get_sql_chain(db) 152 | sql_query_text = sql_chain.invoke({ 153 | "question": user_query, 154 | "chat_history": chat_history[-5:] 155 | }) 156 | cleaned_query = finalize_sql(sql_query_text) 157 | engine = db._engine 158 | try: 159 | df = pd.read_sql(cleaned_query, engine) 160 | except Exception as e: 161 | st.error(f"Error fetching data: {e}") 162 | df = pd.DataFrame() 163 | return df, cleaned_query 164 | 165 | def get_response_with_sql(user_query: str, db: SQLDatabase, chat_history: list): 166 | sql_chain = get_sql_chain(db) 167 | sql_query_text = sql_chain.invoke({ 168 | "question": user_query, 169 | "chat_history": chat_history[-5:] 170 | }) 171 | cleaned_query = finalize_sql(sql_query_text) 172 | natural_language_response = get_response(user_query, db, chat_history) 173 | return natural_language_response, cleaned_query 174 | 175 | # --- Simple chat UI for Local PostgreSQL --- 176 | def run_chat(): 177 | st.markdown("### Local PostgreSQL Chat") 178 | if "local_chat_history" not in st.session_state: 179 | st.session_state["local_chat_history"] = [] 180 | for msg in st.session_state["local_chat_history"]: 181 | if msg["role"] == "user": 182 | st.markdown(f"**User:** {msg['content']}") 183 | else: 184 | st.markdown(f"**Assistant:** {msg['content']}") 185 | user_input = st.chat_input("Type a message for PostgreSQL:") 186 | if user_input: 187 | st.session_state["local_chat_history"].append({"role": "user", "content": user_input}) 188 | if "db" in st.session_state: 189 | if any(keyword in user_input.lower() for keyword in ["chart", "plot", "visualize", "graph"]): 190 | df, sql_used = get_visualization_data(user_input, st.session_state.db, st.session_state["local_chat_history"]) 191 | if df.empty: 192 | response = "No data returned or error occurred." 193 | else: 194 | fig, ax = plt.subplots(figsize=(5,5), dpi=100) 195 | if "line" in user_input.lower(): 196 | if df.shape[1] >= 2: 197 | ax.plot(df.iloc[:,0], df.iloc[:,1], marker='o') 198 | ax.set_xlabel(df.columns[0]) 199 | ax.set_ylabel(df.columns[1]) 200 | ax.set_title("Line Chart") 201 | adjust_label_fontsize(ax) 202 | st.pyplot(fig) 203 | else: 204 | st.write("Not enough columns for a line chart.") 205 | elif "bar" in user_input.lower(): 206 | if df.shape[1] >= 2: 207 | ax.bar(df.iloc[:,0], df.iloc[:,1]) 208 | ax.set_xlabel(df.columns[0]) 209 | ax.set_ylabel(df.columns[1]) 210 | ax.set_title("Bar Chart") 211 | adjust_label_fontsize(ax) 212 | st.pyplot(fig) 213 | else: 214 | st.write("Not enough columns for a bar chart.") 215 | else: 216 | st.dataframe(df) 217 | st.markdown("**SQL Query used:** `" + sql_used + "`") 218 | response = "Displayed visualization for your query." 219 | else: 220 | resp, sql_used = get_response_with_sql(user_input, st.session_state.db, st.session_state["local_chat_history"]) 221 | resp = strip_code_fences(resp) 222 | st.markdown(resp) 223 | st.markdown("**SQL Query used:** `" + sql_used + "`") 224 | response = resp 225 | st.session_state["local_chat_history"].append({"role": "assistant", "content": response}) 226 | st.experimental_rerun() 227 | -------------------------------------------------------------------------------- /snowflake_chat.py: -------------------------------------------------------------------------------- 1 | # snowflake_chat.py 2 | from dotenv import load_dotenv 3 | import os 4 | import asyncio 5 | import streamlit as st 6 | import pandas as pd 7 | import matplotlib.pyplot as plt 8 | 9 | from langchain_core.messages import AIMessage, HumanMessage 10 | from langchain_core.prompts import ChatPromptTemplate 11 | from langchain_core.runnables import RunnablePassthrough 12 | from langchain_core.output_parsers import StrOutputParser 13 | from langchain_google_genai import ChatGoogleGenerativeAI 14 | 15 | from sqlalchemy import inspect 16 | 17 | # Ensure an event loop exists 18 | try: 19 | asyncio.get_running_loop() 20 | except RuntimeError: 21 | asyncio.set_event_loop(asyncio.new_event_loop()) 22 | 23 | # Initialize Snowflake Connection using a URI built from secrets 24 | def init_snowflake_connection() -> "SQLDatabase": 25 | # Build the Snowflake connection URI from individual secrets. 26 | account = st.secrets["ACCOUNT"] 27 | user = st.secrets["USER_NAME"] 28 | password = st.secrets["PASSWORD"] 29 | role = st.secrets["ROLE"] 30 | database = st.secrets["DATABASE"] 31 | schema = st.secrets["SCHEMA"] 32 | warehouse = st.secrets["WAREHOUSE"] 33 | # Format: snowflake://:@//?warehouse=&role= 34 | uri = f"snowflake://{user}:{password}@{account}/{database}/{schema}?warehouse={warehouse}&role={role}" 35 | # SQLDatabase is imported from langchain_community.utilities 36 | from langchain_community.utilities import SQLDatabase 37 | return SQLDatabase.from_uri(uri) 38 | 39 | def finalize_sql(query: str) -> str: 40 | query = query.strip() 41 | if query.startswith("```"): 42 | query = query.strip("`").strip() 43 | if query.lower().startswith("sql"): 44 | query = query[3:].strip() 45 | if not query.endswith(";"): 46 | query += ";" 47 | return query 48 | 49 | def strip_code_fences(text: str) -> str: 50 | text = text.strip() 51 | if text.startswith("```") and text.endswith("```"): 52 | lines = text.splitlines() 53 | if lines and lines[0].startswith("```"): 54 | lines = lines[1:] 55 | if lines and lines[-1].startswith("```"): 56 | lines = lines[:-1] 57 | return "\n".join(lines).strip() 58 | return text 59 | 60 | def adjust_label_fontsize(ax, base_font_size=12, rotation_angle=45, tick_threshold=10): 61 | xticks = ax.get_xticklabels() 62 | yticks = ax.get_yticklabels() 63 | n_xticks = len(xticks) 64 | n_yticks = len(yticks) 65 | new_font_size = max(6, base_font_size - (max(n_xticks, n_yticks) - 5)) 66 | ax.tick_params(axis='both', labelsize=new_font_size) 67 | if n_xticks > tick_threshold: 68 | plt.setp(ax.get_xticklabels(), rotation=rotation_angle, ha='right') 69 | ax.xaxis.label.set_size(new_font_size) 70 | ax.yaxis.label.set_size(new_font_size) 71 | ax.title.set_size(new_font_size + 2) 72 | plt.tight_layout() 73 | 74 | # Instead of using a vectorstore, we simply retrieve schema information dynamically. 75 | def get_database_info(db, sample_limit: int = 1) -> str: 76 | db_info = "Snowflake Database Schema and Sample Data:\n" 77 | try: 78 | engine = db._engine 79 | inspector = inspect(engine) 80 | table_names = inspector.get_table_names() 81 | except Exception as e: 82 | db_info += f"(Could not use inspector: {e})\n" 83 | db_info += db.get_table_info() 84 | return db_info 85 | 86 | for table in table_names: 87 | db_info += f"\nTable: {table}\n" 88 | try: 89 | columns = inspector.get_columns(table) 90 | col_info = ", ".join([f"{col['name']} ({col['type']})" for col in columns]) 91 | db_info += f"Columns: {col_info}\n" 92 | except Exception as e: 93 | db_info += f"Columns: (Error retrieving columns: {e})\n" 94 | try: 95 | sample = db.run(f"SELECT * FROM {table} LIMIT {sample_limit}") 96 | db_info += f"Sample Data:\n{sample}\n" 97 | except Exception as e: 98 | db_info += f"Sample Data: (Could not retrieve sample data: {e})\n" 99 | return db_info 100 | 101 | # Build SQL query chain using dynamic schema info (like local_chat.py) 102 | def get_sql_chain(db): 103 | template = """ 104 | You are a data analyst interacting with a Snowflake database. 105 | Below is the dynamic database information (schema and sample data): 106 | {db_info} 107 | 108 | Conversation History: {chat_history} 109 | 110 | Question: {question} 111 | 112 | Write only the SQL query and nothing else. 113 | SQL Query: 114 | """ 115 | prompt = ChatPromptTemplate.from_template(template) 116 | llm = ChatGoogleGenerativeAI( 117 | model="models/gemini-2.0-flash", 118 | google_api_key=st.secrets["GEMINI_API_KEY"], 119 | temperature=0 120 | ) 121 | return ( 122 | RunnablePassthrough.assign(db_info=lambda _: get_database_info(db)) 123 | | prompt 124 | | llm 125 | | StrOutputParser() 126 | ) 127 | 128 | def get_response(user_query: str, db, chat_history: list): 129 | sql_chain = get_sql_chain(db) 130 | template = """ 131 | You are a data analyst interacting with a Snowflake database. 132 | Below is the dynamic database information (schema and sample data): 133 | {db_info} 134 | 135 | Conversation History: {chat_history} 136 | SQL Query: {query} 137 | User Question: {question} 138 | SQL Response: {response} 139 | 140 | Provide your answer in markdown format. 141 | """ 142 | prompt_chain = ChatPromptTemplate.from_template(template) 143 | llm = ChatGoogleGenerativeAI( 144 | model="models/gemini-2.0-flash", 145 | google_api_key=st.secrets["GEMINI_API_KEY"], 146 | temperature=0 147 | ) 148 | chain = ( 149 | RunnablePassthrough.assign(query=sql_chain) 150 | .assign( 151 | db_info=lambda _: get_database_info(db), 152 | response=lambda vars: db.run(finalize_sql(vars["query"])) 153 | ) 154 | | prompt_chain 155 | | llm 156 | | StrOutputParser() 157 | ) 158 | return chain.invoke({ 159 | "question": user_query, 160 | "chat_history": chat_history[-5:], 161 | }) 162 | 163 | def get_visualization_data(user_query: str, db, chat_history: list): 164 | sql_chain = get_sql_chain(db) 165 | sql_query_text = sql_chain.invoke({ 166 | "question": user_query, 167 | "chat_history": chat_history[-5:] 168 | }) 169 | cleaned_query = finalize_sql(sql_query_text) 170 | engine = db._engine 171 | try: 172 | df = pd.read_sql(cleaned_query, engine) 173 | except Exception as e: 174 | st.error(f"Error fetching data: {e}") 175 | df = pd.DataFrame() 176 | return df, cleaned_query 177 | 178 | def get_response_with_sql(user_query: str, db, chat_history: list): 179 | sql_chain = get_sql_chain(db) 180 | sql_query_text = sql_chain.invoke({ 181 | "question": user_query, 182 | "chat_history": chat_history[-5:] 183 | }) 184 | cleaned_query = finalize_sql(sql_query_text) 185 | natural_language_response = get_response(user_query, db, chat_history) 186 | return natural_language_response, cleaned_query 187 | 188 | # --- Chat UI for Snowflake --- 189 | def run_chat(): 190 | st.markdown("### Snowflake Chat") 191 | if "snowflake_chat_history" not in st.session_state: 192 | st.session_state["snowflake_chat_history"] = [] 193 | for msg in st.session_state["snowflake_chat_history"]: 194 | if msg["role"] == "user": 195 | st.markdown(f"**User:** {msg['content']}") 196 | else: 197 | st.markdown(f"**Assistant:** {msg['content']}") 198 | user_input = st.chat_input("Type a message for Snowflake:") 199 | if user_input: 200 | st.session_state["snowflake_chat_history"].append({"role": "user", "content": user_input}) 201 | if st.session_state.get("db") is None: 202 | st.error("Not connected to Snowflake.") 203 | else: 204 | if any(keyword in user_input.lower() for keyword in ["chart", "plot", "visualize", "graph"]): 205 | df, sql_used = get_visualization_data(user_input, st.session_state.db, st.session_state["snowflake_chat_history"]) 206 | if df.empty: 207 | response = "No data returned or error occurred." 208 | else: 209 | fig, ax = plt.subplots(figsize=(5,5), dpi=100) 210 | if "line" in user_input.lower(): 211 | if df.shape[1] >= 2: 212 | ax.plot(df.iloc[:,0], df.iloc[:,1], marker='o') 213 | ax.set_xlabel(df.columns[0]) 214 | ax.set_ylabel(df.columns[1]) 215 | ax.set_title("Line Chart") 216 | adjust_label_fontsize(ax) 217 | st.pyplot(fig) 218 | else: 219 | st.write("Not enough columns for a line chart.") 220 | elif "bar" in user_input.lower(): 221 | if df.shape[1] >= 2: 222 | ax.bar(df.iloc[:,0], df.iloc[:,1]) 223 | ax.set_xlabel(df.columns[0]) 224 | ax.set_ylabel(df.columns[1]) 225 | ax.set_title("Bar Chart") 226 | adjust_label_fontsize(ax) 227 | st.pyplot(fig) 228 | else: 229 | st.write("Not enough columns for a bar chart.") 230 | else: 231 | st.dataframe(df) 232 | st.markdown("**SQL Query used:** `" + sql_used + "`") 233 | response = "Displayed visualization for your query." 234 | else: 235 | resp, sql_used = get_response_with_sql(user_input, st.session_state.db, st.session_state["snowflake_chat_history"]) 236 | resp = strip_code_fences(resp) 237 | st.markdown(resp) 238 | st.markdown("**SQL Query used:** `" + sql_used + "`") 239 | response = resp 240 | st.session_state["snowflake_chat_history"].append({"role": "assistant", "content": response}) 241 | st.experimental_rerun() 242 | -------------------------------------------------------------------------------- /main.py: -------------------------------------------------------------------------------- 1 | import re 2 | import io 3 | import warnings 4 | import streamlit as st 5 | import pandas as pd 6 | import matplotlib.pyplot as plt 7 | from langchain.schema import HumanMessage, AIMessage 8 | from utils.snowddl import Snowddl 9 | from utils.snowchat_ui import StreamlitUICallbackHandler, message_func 10 | 11 | # Import processing functions for Local PostgreSQL branch 12 | from local_chat import ( 13 | init_database as pg_init_database, 14 | get_response_with_sql as pg_get_response_with_sql, 15 | get_visualization_data as pg_get_visualization_data, 16 | strip_code_fences as pg_strip_code_fences, 17 | adjust_label_fontsize as pg_adjust_label_fontsize, 18 | ) 19 | 20 | # Import processing functions for Cloud Snowflake branch 21 | from snowflake_chat import ( 22 | init_snowflake_connection, 23 | get_response_with_sql as sf_get_response_with_sql, 24 | get_visualization_data as sf_get_visualization_data, 25 | strip_code_fences as sf_strip_code_fences, 26 | adjust_label_fontsize as sf_adjust_label_fontsize, 27 | run_chat as sf_run_chat, 28 | ) 29 | 30 | warnings.filterwarnings("ignore") 31 | snow_ddl = Snowddl() 32 | 33 | # --- Helper Function to Parse Customer Details --- 34 | def parse_customer_details(response_text): 35 | """ 36 | Parse text output with customer details into a list of dictionaries. 37 | Expected format per line: 38 | Name: customer_id , email , phone , address
, total spent $ 39 | """ 40 | rows = [] 41 | for line in response_text.strip().splitlines(): 42 | if ": " in line: 43 | name_part, details = line.split(": ", 1) 44 | name = name_part.strip() 45 | fields = [field.strip() for field in details.split(",")] 46 | row = {"Name": name} 47 | for field in fields: 48 | if field.startswith("customer_id"): 49 | row["Customer_ID"] = field.replace("customer_id", "").strip() 50 | elif field.startswith("email"): 51 | row["Email"] = field.replace("email", "").strip() 52 | elif field.startswith("phone"): 53 | row["Phone"] = field.replace("phone", "").strip() 54 | elif field.startswith("address"): 55 | row["Address"] = field.replace("address", "").strip() 56 | elif field.startswith("total spent"): 57 | row["Total_Spent"] = field.replace("total spent", "").replace("$", "").strip() 58 | rows.append(row) 59 | return rows 60 | 61 | # --- Initialize Essential Session State Keys --- 62 | if "model" not in st.session_state: 63 | st.session_state["model"] = "Gemini Flash 2.0" 64 | if "messages" not in st.session_state: 65 | st.session_state["messages"] = [{"role": "assistant", "content": "Hello! I'm your SQL assistant. Ask me anything about your database.", "type": "text"}] 66 | if "db" not in st.session_state: 67 | st.session_state["db"] = None 68 | 69 | # --- Header and Page Configuration --- 70 | gradient_text_html = """ 71 | 86 |
SQL Snowflake Chat
87 | """ 88 | st.set_page_config(page_title="SQL Snowflake Chat", page_icon="❄️") 89 | st.markdown(gradient_text_html, unsafe_allow_html=True) 90 | st.caption("Talk your way through data") 91 | 92 | # --- AI Model Selection --- 93 | model_options = { 94 | "Gemini Flash 2.0": "Gemini Flash 2.0", 95 | "Deepseek R1": "Deepseek R1", 96 | "GPT-4o": "GPT-4o" 97 | } 98 | selected_model = st.radio( 99 | "Choose your AI Model:", 100 | options=list(model_options.keys()), 101 | format_func=lambda x: model_options[x], 102 | index=0, 103 | horizontal=True, 104 | ) 105 | st.session_state["model"] = selected_model 106 | 107 | # --- Sidebar: Database Connection Option --- 108 | db_option = st.sidebar.radio( 109 | "Choose Database Connection", 110 | ["Cloud Snowflake", "Local PostgreSQL"], 111 | index=0, 112 | help="Select 'Cloud Snowflake' to use your Snowflake database or 'Local PostgreSQL' to connect to your local PostgreSQL database." 113 | ) 114 | 115 | # ----- Cloud Snowflake Branch ----- 116 | if db_option == "Cloud Snowflake": 117 | st.sidebar.markdown(open("ui/sidebar.md").read()) 118 | selected_table = st.sidebar.selectbox("Select a table:", options=list(snow_ddl.ddl_dict.keys())) 119 | st.sidebar.markdown(f"### DDL for {selected_table} table") 120 | st.sidebar.text('for user reference only (no need for sql-chat)') 121 | st.sidebar.code(snow_ddl.ddl_dict[selected_table], language="sql") 122 | if st.sidebar.button("Reset Chat"): 123 | for key in list(st.session_state.keys()): 124 | if key not in ["model", "db", "messages"]: 125 | st.session_state.pop(key) 126 | st.session_state["messages"] = [{"role": "assistant", "content": "Hello! I'm your SQL assistant. Ask me anything about your database.", "type": "text"}] 127 | st.sidebar.markdown("**Note:** Snowflake data retrieval is enabled.", unsafe_allow_html=True) 128 | st.write(open("ui/styles.md").read(), unsafe_allow_html=True) 129 | try: 130 | account = st.secrets["ACCOUNT"] 131 | user = st.secrets["USER_NAME"] 132 | password = st.secrets["PASSWORD"] 133 | role = st.secrets["ROLE"] 134 | database = st.secrets["DATABASE"] 135 | schema = st.secrets["SCHEMA"] 136 | warehouse = st.secrets["WAREHOUSE"] 137 | uri = f"snowflake://{user}:{password}@{account}/{database}/{schema}?warehouse={warehouse}&role={role}" 138 | from langchain_community.utilities import SQLDatabase 139 | snowflake_db = SQLDatabase.from_uri(uri) 140 | st.session_state["db"] = snowflake_db 141 | if st.session_state["model"] != "Gemini Flash 2.0": 142 | st.error("please use the Google Gemini model, the selected model has reached the credit limit") 143 | else: 144 | st.success("Connected to Shubham's Snowflake Account!") 145 | except Exception as e: 146 | st.error(f"Snowflake connection error: {e}") 147 | 148 | # ----- Local PostgreSQL Branch ----- 149 | else: 150 | st.sidebar.write("Connect to your local PostgreSQL database:") 151 | st.sidebar.write("---") 152 | st.sidebar.write("to use Local PostgreSQL you need to use the local version of this app by cloning repository") 153 | st.sidebar.subheader("Local PostgreSQL Settings") 154 | pg_host = st.sidebar.text_input("Host", value="localhost", key="pg_host") 155 | pg_port = st.sidebar.text_input("Port", value="5432", key="pg_port") 156 | pg_user = st.sidebar.text_input("User", value="", key="pg_user") 157 | pg_database = st.sidebar.text_input("Database", value="store_sales", key="pg_database") 158 | if st.sidebar.button("Connect to PostgreSQL"): 159 | try: 160 | db = pg_init_database(pg_user, pg_host, pg_port, pg_database) 161 | st.session_state["db"] = db 162 | st.success("Connected to PostgreSQL!") 163 | except Exception as e: 164 | st.error(f"Connection error: {e}") 165 | 166 | # --------------------------- 167 | # Display Chat History (Unified for Both Branches) 168 | # --------------------------- 169 | for msg in st.session_state["messages"]: 170 | message_func(msg["content"], is_user=(msg["role"]=="user"), model=st.session_state["model"]) 171 | 172 | # --------------------------- 173 | # Unified Chat Input Widget (Always Visible) 174 | # --------------------------- 175 | user_input = st.chat_input("Type a message...") 176 | if user_input: 177 | st.session_state["messages"].append({"role": "user", "content": user_input}) 178 | 179 | def render_chart(df, chart_type, adjust_fn): 180 | fig, ax = plt.subplots(figsize=(5,5), dpi=100) 181 | # Set background color for figure and axes 182 | fig.patch.set_facecolor("#101414") 183 | ax.set_facecolor("#101414") 184 | # Set tick label colors to white 185 | ax.tick_params(axis="x", colors="white") 186 | ax.tick_params(axis="y", colors="white") 187 | if chart_type == "line" and df.shape[1] >= 2: 188 | ax.plot(df.iloc[:,0], df.iloc[:,1], marker='o', color="skyblue") # skyblue line 189 | ax.set_xlabel(df.columns[0], color="white") 190 | ax.set_ylabel(df.columns[1], color="white") 191 | ax.set_title("Line Chart", color="white") 192 | elif chart_type == "bar" and df.shape[1] >= 2: 193 | ax.bar(df.iloc[:,0], df.iloc[:,1], color="skyblue") # skyblue bars 194 | ax.set_xlabel(df.columns[0], color="white") 195 | ax.set_ylabel(df.columns[1], color="white") 196 | ax.set_title("Bar Chart", color="white") 197 | elif chart_type == "pie" and df.shape[1] >= 2: 198 | wedges, texts, autotexts = ax.pie(df.iloc[:,1], labels=df.iloc[:,0], autopct='%1.1f%%', textprops=dict(color="white")) 199 | ax.set_title("Pie Chart", color="white") 200 | elif chart_type == "histogram": 201 | ax.hist(df.iloc[:,1], bins=10, color="skyblue", edgecolor="black") # skyblue histogram bars 202 | ax.set_title("Histogram", color="white") 203 | elif chart_type == "scatter" and df.shape[1] >= 2: 204 | ax.scatter(df.iloc[:,0], df.iloc[:,1], color="white") 205 | ax.set_xlabel(df.columns[0], color="white") 206 | ax.set_ylabel(df.columns[1], color="white") 207 | ax.set_title("Scatter Plot", color="white") 208 | elif chart_type == "area" and df.shape[1] >= 2: 209 | ax.fill_between(range(len(df.iloc[:,1])), df.iloc[:,1], color="white", alpha=0.5) 210 | ax.set_title("Area Chart", color="white") 211 | elif chart_type == "bubble" and df.shape[1] >= 2: 212 | sizes = (df.iloc[:,1] - df.iloc[:,1].min() + 10) * 10 213 | ax.scatter(df.iloc[:,0], df.iloc[:,1], s=sizes, alpha=0.5, color="white") 214 | ax.set_xlabel(df.columns[0], color="white") 215 | ax.set_ylabel(df.columns[1], color="white") 216 | ax.set_title("Bubble Chart", color="white") 217 | adjust_fn(ax) 218 | st.pyplot(fig) 219 | 220 | # Determine chart type based on keywords in user_input 221 | chart_types = ["pie", "histogram", "scatter", "area", "bubble", "line", "bar"] 222 | selected_chart = None 223 | for ct in chart_types: 224 | if ct in user_input.lower(): 225 | selected_chart = ct 226 | break 227 | 228 | if st.session_state["db"] is None: 229 | st.error("Not connected to a database.") 230 | else: 231 | if selected_chart: 232 | if db_option == "Local PostgreSQL": 233 | df, sql_used = pg_get_visualization_data(user_input, st.session_state.db, st.session_state["messages"]) 234 | else: 235 | df, sql_used = sf_get_visualization_data(user_input, st.session_state.db, st.session_state["messages"]) 236 | if df.empty: 237 | response = "No data returned or error occurred." 238 | else: 239 | render_chart(df, selected_chart, pg_adjust_label_fontsize if db_option == "Local PostgreSQL" else sf_adjust_label_fontsize) 240 | st.markdown("**SQL Query used:** `" + sql_used + "`") 241 | response = "" 242 | else: 243 | if db_option == "Local PostgreSQL": 244 | resp, sql_used = pg_get_response_with_sql(user_input, st.session_state.db, st.session_state["messages"]) 245 | resp = pg_strip_code_fences(resp) 246 | else: 247 | resp, sql_used = sf_get_response_with_sql(user_input, st.session_state.db, st.session_state["messages"]) 248 | resp = sf_strip_code_fences(resp) 249 | rows = parse_customer_details(resp) 250 | if rows: 251 | st.dataframe(pd.DataFrame(rows)) 252 | response = pd.DataFrame(rows).to_html(index=False) 253 | else: 254 | st.markdown(resp) 255 | response = resp 256 | st.markdown("**SQL Query used:** `" + sql_used + "`") 257 | st.session_state["messages"].append({"role": "assistant", "content": response}) 258 | -------------------------------------------------------------------------------- /data/transactions.csv: -------------------------------------------------------------------------------- 1 | transaction_id,order_id,product_id,quantity,price 2 | 3,624,440,2,473.82 3 | 4,870,379,5,451.11 4 | 5,526,278,3,337.38 5 | 6,838,239,10,114.89 6 | 7,900,168,4,366.81 7 | 8,528,81,1,65.91 8 | 9,75,286,5,473.04 9 | 10,670,392,10,354.82 10 | 11,301,365,8,65.53 11 | 12,885,208,3,432.11 12 | 13,632,70,8,435.92 13 | 14,234,325,5,371.15 14 | 15,663,385,9,39.96 15 | 16,517,364,3,7.45 16 | 17,656,454,10,407.43 17 | 18,338,193,5,363.75 18 | 19,335,196,5,242.32 19 | 20,270,169,8,227.14 20 | 21,734,386,8,452.43 21 | 22,406,108,1,272.80 22 | 23,833,98,6,432.42 23 | 24,798,386,4,57.07 24 | 25,656,237,6,253.10 25 | 26,599,3,10,354.90 26 | 27,452,91,4,126.35 27 | 28,88,341,9,97.86 28 | 29,675,164,6,254.74 29 | 30,550,432,1,420.32 30 | 31,157,278,5,311.72 31 | 32,420,463,9,106.15 32 | 33,421,367,3,408.94 33 | 34,773,263,10,102.63 34 | 35,767,392,7,93.98 35 | 36,697,314,8,149.20 36 | 37,445,393,2,245.32 37 | 38,337,453,7,455.71 38 | 39,327,41,2,418.27 39 | 40,231,123,6,42.69 40 | 41,886,233,9,8.25 41 | 42,233,357,6,98.30 42 | 43,388,117,8,215.21 43 | 44,157,323,2,437.42 44 | 45,461,227,1,415.97 45 | 46,215,48,10,336.22 46 | 47,156,352,9,247.35 47 | 48,924,108,6,199.49 48 | 49,642,454,4,171.54 49 | 50,402,372,2,335.65 50 | 51,566,392,7,39.25 51 | 52,885,374,8,336.05 52 | 53,127,247,5,153.95 53 | 54,635,405,9,115.67 54 | 55,964,435,1,17.54 55 | 56,36,378,7,240.31 56 | 57,897,266,7,147.45 57 | 58,409,275,8,427.76 58 | 59,453,476,1,181.31 59 | 60,819,40,1,76.52 60 | 61,520,412,1,309.92 61 | 62,57,222,10,387.52 62 | 63,160,471,1,99.84 63 | 64,47,314,4,126.18 64 | 65,794,164,7,289.70 65 | 66,295,362,3,346.45 66 | 67,953,451,7,39.57 67 | 68,432,137,7,33.75 68 | 69,992,102,8,74.14 69 | 70,646,352,4,241.91 70 | 71,190,425,9,186.01 71 | 72,84,470,1,67.95 72 | 73,18,339,3,176.88 73 | 74,470,148,4,391.84 74 | 75,51,169,1,391.27 75 | 76,800,65,5,374.90 76 | 77,515,469,8,43.68 77 | 78,183,237,10,236.69 78 | 79,188,112,6,483.33 79 | 80,683,287,8,198.81 80 | 81,675,338,4,27.26 81 | 82,899,409,5,303.34 82 | 83,438,327,3,377.06 83 | 84,269,2,7,45.77 84 | 85,685,375,4,314.31 85 | 86,141,391,2,356.43 86 | 87,215,233,6,198.38 87 | 88,830,300,4,128.46 88 | 89,248,62,9,334.64 89 | 90,401,99,4,373.71 90 | 91,492,48,5,105.07 91 | 92,669,450,9,315.64 92 | 93,407,413,2,15.27 93 | 94,517,170,3,162.37 94 | 95,218,208,3,90.80 95 | 96,98,400,1,57.71 96 | 97,328,380,1,120.65 97 | 98,799,478,4,154.80 98 | 99,350,339,1,412.47 99 | 100,405,79,7,206.86 100 | 101,276,486,4,122.53 101 | 102,105,211,4,207.58 102 | 103,20,273,8,72.34 103 | 104,664,82,5,315.87 104 | 105,913,410,2,331.87 105 | 106,696,175,4,146.03 106 | 107,347,282,1,14.90 107 | 108,274,428,9,492.31 108 | 109,784,278,3,14.66 109 | 110,202,385,5,481.01 110 | 111,78,61,6,34.68 111 | 112,470,111,1,289.84 112 | 113,245,248,4,245.05 113 | 114,232,403,7,203.37 114 | 115,73,125,5,407.85 115 | 116,367,333,5,417.91 116 | 117,229,275,9,230.86 117 | 118,80,10,6,10.98 118 | 119,475,481,6,232.63 119 | 120,778,441,3,288.97 120 | 121,997,469,5,242.60 121 | 122,441,61,3,123.61 122 | 123,196,334,5,254.84 123 | 124,1,257,5,375.69 124 | 125,748,195,8,11.14 125 | 126,641,364,8,44.61 126 | 127,400,424,6,42.26 127 | 128,143,76,1,280.44 128 | 129,302,96,8,81.10 129 | 130,645,7,4,39.03 130 | 131,197,377,9,454.85 131 | 132,116,440,3,339.52 132 | 133,81,230,4,407.97 133 | 134,56,367,6,171.65 134 | 135,9,63,5,251.22 135 | 136,997,127,8,9.01 136 | 137,879,39,9,272.09 137 | 138,215,411,2,148.41 138 | 139,357,284,1,119.67 139 | 140,514,374,7,270.14 140 | 141,775,276,8,483.73 141 | 142,537,293,2,220.86 142 | 143,616,204,8,58.45 143 | 144,708,147,9,414.44 144 | 145,170,146,1,448.81 145 | 146,27,190,6,286.19 146 | 147,943,236,1,154.17 147 | 148,582,233,3,425.38 148 | 149,966,318,2,42.79 149 | 150,467,261,3,257.90 150 | 151,183,469,5,468.96 151 | 152,986,421,5,39.86 152 | 153,416,162,3,319.16 153 | 154,369,226,3,353.37 154 | 155,11,371,5,150.68 155 | 156,465,330,4,260.01 156 | 157,898,108,10,184.05 157 | 158,10,351,5,385.94 158 | 159,528,460,8,260.24 159 | 160,336,213,3,452.81 160 | 161,834,135,7,160.26 161 | 162,81,31,2,68.53 162 | 163,620,236,6,213.27 163 | 164,519,301,6,85.07 164 | 165,741,396,5,345.54 165 | 166,730,2,8,354.63 166 | 167,835,225,1,330.73 167 | 168,127,121,5,258.09 168 | 169,753,14,8,128.06 169 | 170,406,147,5,453.20 170 | 171,354,228,5,469.05 171 | 172,932,400,7,416.22 172 | 173,719,383,3,360.52 173 | 174,786,89,4,308.75 174 | 175,40,256,6,15.93 175 | 176,384,72,3,291.98 176 | 177,637,207,8,175.70 177 | 178,337,212,3,296.43 178 | 179,977,487,2,464.21 179 | 180,879,408,7,347.36 180 | 181,171,197,8,91.66 181 | 182,636,53,8,471.86 182 | 183,179,198,1,391.48 183 | 184,953,383,9,198.33 184 | 185,543,397,5,470.89 185 | 186,250,424,8,51.30 186 | 187,366,190,8,380.33 187 | 188,682,485,5,17.08 188 | 189,51,299,1,438.89 189 | 190,294,413,8,439.35 190 | 191,864,308,4,83.04 191 | 192,99,41,10,477.25 192 | 193,632,137,1,151.12 193 | 194,579,93,8,240.57 194 | 195,866,92,7,396.79 195 | 196,3,124,1,426.72 196 | 197,546,422,4,151.68 197 | 198,971,431,1,474.63 198 | 199,284,263,5,295.22 199 | 200,679,445,4,81.41 200 | 201,139,22,1,186.99 201 | 202,616,457,5,25.37 202 | 203,197,331,3,243.64 203 | 204,988,475,7,361.47 204 | 205,806,354,4,283.63 205 | 206,679,143,4,442.94 206 | 207,204,469,10,28.85 207 | 208,170,95,1,59.63 208 | 209,903,86,6,421.04 209 | 210,964,209,6,372.24 210 | 211,331,79,2,124.28 211 | 212,296,7,5,365.90 212 | 213,415,497,4,273.88 213 | 214,729,230,5,39.18 214 | 215,758,122,7,241.35 215 | 216,350,462,3,400.90 216 | 217,843,8,10,60.30 217 | 218,799,231,8,283.07 218 | 219,190,132,9,174.67 219 | 220,824,352,3,319.86 220 | 221,537,477,9,328.55 221 | 222,48,228,5,418.68 222 | 223,456,319,3,194.05 223 | 224,638,361,4,19.22 224 | 225,918,462,5,53.35 225 | 226,750,205,8,160.64 226 | 227,691,450,8,290.67 227 | 228,819,151,2,163.07 228 | 229,36,211,6,79.06 229 | 230,521,268,3,253.30 230 | 231,371,191,5,376.04 231 | 232,943,145,6,447.18 232 | 233,443,151,1,438.50 233 | 234,951,24,4,416.80 234 | 235,335,30,2,407.50 235 | 236,938,390,10,296.81 236 | 237,167,342,8,140.04 237 | 238,427,381,3,172.68 238 | 239,190,479,1,342.28 239 | 240,192,153,2,473.95 240 | 241,54,332,5,400.91 241 | 242,772,116,7,269.74 242 | 243,977,246,7,365.51 243 | 244,673,89,10,358.74 244 | 245,285,227,3,237.16 245 | 246,34,268,2,491.54 246 | 247,67,314,9,373.99 247 | 248,200,415,3,349.98 248 | 249,629,459,4,75.30 249 | 250,835,122,10,326.66 250 | 251,981,323,4,421.62 251 | 252,331,488,8,211.30 252 | 253,696,115,7,331.22 253 | 254,631,405,7,89.33 254 | 255,600,318,4,401.60 255 | 256,110,17,5,65.77 256 | 257,169,49,1,117.57 257 | 258,613,24,7,103.81 258 | 259,923,28,10,184.95 259 | 260,952,312,6,324.33 260 | 261,190,136,3,36.29 261 | 262,710,245,6,263.95 262 | 263,756,198,7,360.95 263 | 264,74,341,2,81.42 264 | 265,269,248,9,383.68 265 | 266,204,162,1,209.58 266 | 267,950,313,3,474.73 267 | 268,890,220,5,167.86 268 | 269,602,15,9,56.38 269 | 270,14,112,10,240.64 270 | 271,933,96,5,165.81 271 | 272,412,365,8,186.52 272 | 273,472,182,6,411.28 273 | 274,810,116,4,217.55 274 | 275,80,360,2,463.79 275 | 276,405,152,9,375.00 276 | 277,29,79,8,296.95 277 | 278,494,179,10,237.99 278 | 279,44,209,8,264.28 279 | 280,16,271,10,280.89 280 | 281,523,54,1,307.68 281 | 282,296,242,2,295.63 282 | 283,440,339,2,498.45 283 | 284,205,195,3,418.94 284 | 285,986,236,4,232.60 285 | 286,906,333,4,79.87 286 | 287,362,168,10,125.73 287 | 288,448,379,4,49.89 288 | 289,170,458,4,488.98 289 | 290,447,366,6,484.11 290 | 291,434,307,5,358.16 291 | 292,368,30,3,37.21 292 | 293,346,162,3,203.76 293 | 294,688,325,3,370.09 294 | 295,504,23,6,138.93 295 | 296,705,475,10,257.09 296 | 297,638,114,5,249.70 297 | 298,332,387,3,70.30 298 | 299,950,232,2,103.62 299 | 300,134,24,6,180.09 300 | 301,636,496,8,454.42 301 | 302,623,47,5,278.53 302 | 303,890,261,7,184.26 303 | 304,258,444,9,305.21 304 | 305,765,375,4,458.53 305 | 306,217,188,10,339.20 306 | 307,325,471,9,37.68 307 | 308,12,375,10,77.71 308 | 309,34,240,2,487.86 309 | 310,417,12,1,467.44 310 | 311,370,376,2,95.14 311 | 312,924,439,8,74.35 312 | 313,516,57,4,383.32 313 | 314,75,401,9,197.92 314 | 315,818,290,9,59.74 315 | 316,31,395,6,203.01 316 | 317,315,397,8,179.96 317 | 318,236,8,2,370.28 318 | 319,412,373,8,16.01 319 | 320,369,241,9,334.44 320 | 321,803,147,7,419.58 321 | 322,209,226,2,56.43 322 | 323,209,83,6,110.86 323 | 324,30,61,2,140.08 324 | 325,199,396,2,74.15 325 | 326,222,320,7,49.04 326 | 327,900,237,3,429.60 327 | 328,666,51,3,388.44 328 | 329,715,96,6,369.03 329 | 330,708,326,10,259.10 330 | 331,297,404,4,124.84 331 | 332,678,423,1,92.45 332 | 333,408,67,4,20.25 333 | 334,346,61,9,182.83 334 | 335,469,180,7,286.94 335 | 336,991,211,7,121.43 336 | 337,677,235,3,11.53 337 | 338,481,223,9,156.58 338 | 339,864,346,9,106.03 339 | 340,12,393,3,466.69 340 | 341,581,279,6,111.31 341 | 342,680,57,2,369.56 342 | 343,432,190,3,317.50 343 | 344,444,132,9,101.07 344 | 345,57,267,5,316.77 345 | 346,255,85,4,47.32 346 | 347,395,207,4,292.28 347 | 348,342,44,5,231.39 348 | 349,275,143,10,18.17 349 | 350,740,279,10,476.38 350 | 351,812,427,1,267.68 351 | 352,816,282,1,165.38 352 | 353,339,90,1,347.30 353 | 354,441,137,9,433.06 354 | 355,103,292,5,171.03 355 | 356,532,48,5,78.27 356 | 357,669,292,2,195.52 357 | 358,380,82,5,29.99 358 | 359,8,109,1,93.19 359 | 360,165,422,10,368.36 360 | 361,971,271,6,65.65 361 | 362,77,296,5,216.80 362 | 363,719,480,5,380.41 363 | 364,713,255,9,93.63 364 | 365,3,342,6,427.09 365 | 366,411,470,3,73.12 366 | 367,360,38,3,415.66 367 | 368,894,326,8,331.69 368 | 369,224,470,10,379.37 369 | 370,794,201,10,72.65 370 | 371,927,361,9,52.96 371 | 372,316,345,8,272.52 372 | 373,461,178,5,137.32 373 | 374,174,329,6,281.20 374 | 375,78,197,1,206.82 375 | 376,330,209,2,241.06 376 | 377,604,195,4,283.11 377 | 378,178,139,6,373.86 378 | 379,202,46,6,333.02 379 | 380,657,373,7,272.29 380 | 381,140,292,9,152.52 381 | 382,233,231,4,407.20 382 | 383,428,393,1,244.64 383 | 384,906,148,2,290.97 384 | 385,107,356,7,113.03 385 | 386,50,237,1,376.92 386 | 387,301,463,8,447.29 387 | 388,269,338,6,103.69 388 | 389,310,282,3,488.98 389 | 390,510,237,7,75.20 390 | 391,826,36,5,315.93 391 | 392,990,384,10,114.89 392 | 393,543,353,4,13.23 393 | 394,646,147,6,259.23 394 | 395,733,134,3,247.63 395 | 396,802,344,1,410.89 396 | 397,86,473,1,121.53 397 | 398,657,225,5,138.28 398 | 399,707,367,6,247.98 399 | 400,3,408,8,334.23 400 | 401,678,264,3,241.52 401 | 402,550,302,6,253.15 402 | 403,297,239,9,462.24 403 | 404,569,23,7,387.81 404 | 405,283,98,10,205.18 405 | 406,478,189,8,318.20 406 | 407,638,346,2,42.70 407 | 408,985,184,2,366.61 408 | 409,358,299,10,171.88 409 | 410,681,298,7,488.75 410 | 411,727,94,8,91.22 411 | 412,536,242,5,225.37 412 | 413,908,417,4,65.18 413 | 414,947,445,6,483.32 414 | 415,657,82,4,429.01 415 | 416,454,297,4,244.56 416 | 417,253,471,8,72.23 417 | 418,317,359,10,430.55 418 | 419,112,429,3,71.49 419 | 420,643,188,1,93.34 420 | 421,103,443,10,407.13 421 | 422,141,131,1,205.28 422 | 423,942,94,10,26.20 423 | 424,492,445,9,110.70 424 | 425,723,491,3,359.60 425 | 426,945,321,5,248.88 426 | 427,442,189,2,478.13 427 | 428,381,255,10,366.47 428 | 429,818,13,7,370.78 429 | 430,166,352,3,381.15 430 | 431,953,195,7,148.36 431 | 432,902,80,1,380.46 432 | 433,284,64,4,350.84 433 | 434,357,353,2,117.63 434 | 435,28,83,2,291.29 435 | 436,595,196,6,169.69 436 | 437,152,240,9,439.52 437 | 438,449,333,7,133.55 438 | 439,477,438,7,10.96 439 | 440,148,32,6,397.42 440 | 441,271,271,6,89.49 441 | 442,469,83,4,171.62 442 | 443,415,485,6,181.47 443 | 444,918,401,1,208.07 444 | 445,650,69,10,425.37 445 | 446,990,235,6,428.07 446 | 447,938,381,3,408.57 447 | 448,944,409,7,68.63 448 | 449,729,476,4,154.85 449 | 450,484,233,4,482.49 450 | 451,904,396,10,147.28 451 | 452,140,68,4,30.43 452 | 453,528,34,6,331.61 453 | 454,816,208,6,404.37 454 | 455,962,438,3,164.32 455 | 456,451,379,6,332.90 456 | 457,856,107,2,176.26 457 | 458,415,21,6,181.08 458 | 459,248,30,3,445.81 459 | 460,657,26,8,335.19 460 | 461,529,116,4,297.87 461 | 462,968,103,1,462.88 462 | 463,237,292,5,245.66 463 | 464,163,33,2,333.38 464 | 465,712,260,1,98.12 465 | 466,439,315,8,265.57 466 | 467,44,420,9,325.37 467 | 468,384,93,8,354.92 468 | 469,346,203,1,315.41 469 | 470,393,458,6,201.21 470 | 471,339,202,5,181.55 471 | 472,871,337,8,466.87 472 | 473,366,171,3,390.61 473 | 474,269,53,1,34.82 474 | 475,761,146,7,143.72 475 | 476,986,28,10,236.92 476 | 477,756,16,10,6.18 477 | 478,334,472,6,141.86 478 | 479,396,210,7,430.08 479 | 480,149,293,5,366.34 480 | 481,158,270,4,488.38 481 | 482,150,110,3,356.44 482 | 483,661,107,5,125.10 483 | 484,889,454,10,336.79 484 | 485,707,169,2,262.67 485 | 486,409,347,7,392.01 486 | 487,801,205,1,202.73 487 | 488,947,408,3,206.69 488 | 489,621,482,2,373.98 489 | 490,142,328,1,76.94 490 | 491,827,165,6,282.90 491 | 492,40,7,10,486.81 492 | 493,481,125,5,180.89 493 | 494,737,468,6,185.56 494 | 495,669,284,6,246.04 495 | 496,141,1,10,439.09 496 | 497,737,65,4,327.65 497 | 498,301,13,2,118.87 498 | 499,633,270,5,443.89 499 | 500,514,220,10,256.78 500 | 501,448,227,4,148.08 501 | 502,926,162,9,257.98 502 | 503,787,413,3,462.07 503 | 504,308,238,3,485.29 504 | 505,559,64,9,342.44 505 | 506,382,371,3,52.98 506 | 507,783,450,10,479.61 507 | 508,352,396,1,187.11 508 | 509,995,383,2,81.25 509 | 510,490,65,10,88.64 510 | 511,444,47,2,80.41 511 | 512,406,127,2,358.69 512 | 513,847,160,5,365.71 513 | 514,347,441,7,412.54 514 | 515,282,478,1,321.23 515 | 516,354,404,7,347.65 516 | 517,286,434,9,435.52 517 | 518,594,101,9,394.35 518 | 519,397,496,3,111.60 519 | 520,528,205,2,38.28 520 | 521,225,234,6,46.01 521 | 522,486,206,4,438.17 522 | 523,330,387,7,171.35 523 | 524,387,6,9,299.05 524 | 525,94,49,8,402.05 525 | 526,803,301,5,223.57 526 | 527,665,116,3,426.39 527 | 528,363,186,2,196.40 528 | 529,621,472,6,267.88 529 | 530,56,209,7,36.83 530 | 531,579,390,6,306.75 531 | 532,914,130,7,102.52 532 | 533,800,1,6,188.47 533 | 534,685,267,1,158.99 534 | 535,274,225,5,410.20 535 | 536,363,348,4,331.60 536 | 537,173,263,7,308.77 537 | 538,959,8,8,412.50 538 | 539,837,320,4,56.75 539 | 540,294,437,7,382.57 540 | 541,431,314,4,159.22 541 | 542,729,390,1,138.75 542 | 543,682,96,1,30.61 543 | 544,83,399,8,131.63 544 | 545,514,387,4,137.46 545 | 546,746,447,9,304.39 546 | 547,758,113,9,17.49 547 | 548,475,37,6,234.08 548 | 549,71,153,5,129.27 549 | 550,715,440,7,392.62 550 | 551,138,496,5,20.99 551 | 552,339,62,4,56.36 552 | 553,193,215,6,439.14 553 | 554,556,139,6,489.44 554 | 555,904,204,8,491.49 555 | 556,505,17,8,216.60 556 | 557,179,476,5,216.78 557 | 558,950,264,1,172.00 558 | 559,983,465,8,153.16 559 | 560,100,321,1,250.82 560 | 561,36,465,9,195.98 561 | 562,366,280,6,324.66 562 | 563,177,42,3,328.98 563 | 564,780,204,2,13.11 564 | 565,667,464,7,319.48 565 | 566,75,20,1,228.21 566 | 567,410,149,10,64.13 567 | 568,416,429,2,358.88 568 | 569,312,291,10,101.52 569 | 570,854,75,5,477.79 570 | 571,93,404,10,317.00 571 | 572,172,10,3,188.69 572 | 573,657,82,3,280.43 573 | 574,273,158,10,22.83 574 | 575,407,461,2,341.88 575 | 576,14,130,1,169.24 576 | 577,534,468,7,278.26 577 | 578,196,334,6,369.41 578 | 579,611,8,2,454.24 579 | 580,839,454,8,165.50 580 | 581,255,420,1,24.59 581 | 582,373,395,6,191.18 582 | 583,169,139,10,362.43 583 | 584,946,2,3,405.46 584 | 585,391,105,8,204.55 585 | 586,92,327,2,154.46 586 | 587,769,109,1,25.22 587 | 588,691,413,8,300.08 588 | 589,756,417,6,333.31 589 | 590,155,25,1,307.63 590 | 591,628,97,2,264.01 591 | 592,906,10,10,5.78 592 | 593,86,134,10,194.68 593 | 594,423,299,10,420.69 594 | 595,110,204,5,401.12 595 | 596,657,185,4,435.33 596 | 597,810,64,3,186.95 597 | 598,524,227,9,253.23 598 | 599,899,131,3,355.35 599 | 600,321,281,7,482.90 600 | 601,371,202,3,475.25 601 | 602,722,407,4,251.80 602 | 603,251,71,6,31.75 603 | 604,16,97,9,125.59 604 | 605,16,408,1,336.21 605 | 606,174,32,10,13.03 606 | 607,320,397,5,144.56 607 | 608,108,68,5,148.90 608 | 609,279,406,1,335.04 609 | 610,590,428,5,370.54 610 | 611,114,477,9,26.05 611 | 612,588,58,1,333.77 612 | 613,741,149,7,80.12 613 | 614,710,263,7,484.37 614 | 615,414,449,6,465.61 615 | 616,244,406,5,343.61 616 | 617,205,94,5,447.54 617 | 618,207,398,3,217.77 618 | 619,561,54,10,244.33 619 | 620,342,433,7,17.62 620 | 621,745,474,6,124.15 621 | 622,741,341,9,315.18 622 | 623,488,397,7,149.18 623 | 624,496,201,4,16.23 624 | 625,281,332,9,351.80 625 | 626,808,290,3,491.18 626 | 627,174,41,6,259.40 627 | 628,713,184,1,387.70 628 | 629,715,184,3,74.12 629 | 630,171,462,6,459.68 630 | 631,493,269,5,400.56 631 | 632,739,330,6,191.10 632 | 633,678,8,5,231.49 633 | 634,308,27,2,178.58 634 | 635,985,362,5,357.50 635 | 636,740,187,2,348.31 636 | 637,434,225,5,69.33 637 | 638,189,267,5,97.21 638 | 639,393,441,1,388.80 639 | 640,466,306,9,40.83 640 | 641,77,373,1,164.62 641 | 642,670,463,5,371.85 642 | 643,789,11,8,257.34 643 | 644,214,466,9,294.26 644 | 645,948,203,1,377.05 645 | 646,238,76,9,32.44 646 | 647,622,55,4,489.23 647 | 648,128,274,1,156.30 648 | 649,884,76,7,202.24 649 | 650,394,29,1,484.78 650 | 651,29,381,7,338.53 651 | 652,308,323,7,484.54 652 | 653,481,144,6,91.91 653 | 654,213,235,4,455.87 654 | 655,687,305,3,156.78 655 | 656,88,189,9,96.52 656 | 657,433,258,10,8.85 657 | 658,777,386,8,220.55 658 | 659,691,309,2,363.07 659 | 660,593,291,1,422.65 660 | 661,177,476,6,340.31 661 | 662,366,329,5,121.97 662 | 663,76,228,9,56.98 663 | 664,695,151,2,100.62 664 | 665,544,57,10,316.49 665 | 666,833,100,8,377.42 666 | 667,705,4,2,120.31 667 | 668,901,87,3,125.17 668 | 669,279,194,7,210.86 669 | 670,159,96,2,406.87 670 | 671,285,416,10,471.64 671 | 672,99,325,5,179.24 672 | 673,258,490,6,462.27 673 | 674,408,268,6,54.02 674 | 675,588,356,5,40.38 675 | 676,794,52,3,300.37 676 | 677,409,23,4,260.75 677 | 678,739,386,6,352.96 678 | 679,641,395,7,279.18 679 | 680,692,188,5,74.69 680 | 681,62,52,2,182.80 681 | 682,688,319,9,493.97 682 | 683,769,138,9,120.70 683 | 684,249,77,5,341.45 684 | 685,155,279,4,480.82 685 | 686,549,231,8,29.59 686 | 687,378,459,10,63.75 687 | 688,897,308,10,28.34 688 | 689,224,182,8,427.79 689 | 690,743,351,9,207.63 690 | 691,160,400,5,195.85 691 | 692,712,166,2,278.46 692 | 693,934,440,3,145.67 693 | 694,734,37,3,399.72 694 | 695,878,297,2,490.54 695 | 696,141,350,1,495.65 696 | 697,334,482,3,45.45 697 | 698,361,85,5,213.29 698 | 699,161,168,9,433.87 699 | 700,13,319,2,295.21 700 | 701,961,304,7,201.54 701 | 702,273,492,9,494.45 702 | 703,428,423,10,289.90 703 | 704,614,309,10,330.06 704 | 705,47,184,2,427.82 705 | 706,26,65,3,289.31 706 | 707,846,95,8,278.10 707 | 708,277,445,6,359.22 708 | 709,545,193,7,61.57 709 | 710,496,230,1,203.57 710 | 711,615,11,4,345.67 711 | 712,650,113,5,401.29 712 | 713,538,308,7,112.54 713 | 714,104,316,4,226.20 714 | 715,829,362,3,456.71 715 | 716,228,135,3,342.17 716 | 717,266,415,6,252.98 717 | 718,319,230,9,162.93 718 | 719,394,365,4,31.76 719 | 720,357,87,1,75.18 720 | 721,678,250,7,312.61 721 | 722,303,27,10,56.78 722 | 723,8,496,10,436.97 723 | 724,838,155,10,319.49 724 | 725,954,229,1,476.06 725 | 726,249,436,3,307.63 726 | 727,948,476,8,105.51 727 | 728,482,371,10,78.88 728 | 729,974,446,6,347.86 729 | 730,794,355,3,151.69 730 | 731,50,437,3,397.15 731 | 732,576,206,9,214.33 732 | 733,366,291,4,61.65 733 | 734,860,66,2,294.70 734 | 735,181,259,4,200.93 735 | 736,313,328,8,396.40 736 | 737,275,378,2,439.75 737 | 738,287,399,1,477.87 738 | 739,392,398,10,275.43 739 | 740,721,287,8,78.07 740 | 741,667,23,6,430.65 741 | 742,636,20,10,130.81 742 | 743,949,257,8,169.23 743 | 744,393,61,8,431.20 744 | 745,312,449,10,441.90 745 | 746,592,342,1,77.97 746 | 747,399,399,9,39.52 747 | 748,876,451,4,416.56 748 | 749,968,260,4,6.10 749 | 750,146,148,7,180.90 750 | 751,270,246,6,356.68 751 | 752,761,193,7,469.81 752 | 753,105,392,10,467.52 753 | 754,613,448,6,207.59 754 | 755,740,467,10,248.90 755 | 756,263,207,6,323.39 756 | 757,348,117,8,424.65 757 | 758,577,101,2,61.34 758 | 759,327,103,1,254.25 759 | 760,91,406,2,93.72 760 | 761,317,295,8,346.13 761 | 762,446,86,9,168.79 762 | 763,865,205,10,79.63 763 | 764,285,262,1,103.78 764 | 765,103,295,10,395.71 765 | 766,164,127,5,132.11 766 | 767,952,462,6,21.32 767 | 768,110,323,3,121.86 768 | 769,998,196,4,401.98 769 | 770,702,225,1,313.64 770 | 771,164,76,6,412.10 771 | 772,420,401,9,341.48 772 | 773,839,87,6,290.81 773 | 774,236,126,7,223.79 774 | 775,433,481,8,399.29 775 | 776,629,420,7,244.29 776 | 777,726,236,10,401.23 777 | 778,294,175,9,282.42 778 | 779,821,353,6,101.27 779 | 780,497,139,6,337.56 780 | 781,62,274,1,12.27 781 | 782,22,417,6,463.31 782 | 783,514,86,9,167.37 783 | 784,723,200,9,157.81 784 | 785,744,110,5,180.20 785 | 786,939,200,1,168.10 786 | 787,839,167,4,160.04 787 | 788,192,218,8,276.46 788 | 789,849,193,7,466.47 789 | 790,417,411,4,211.31 790 | 791,557,312,1,197.73 791 | 792,346,406,5,432.49 792 | 793,793,352,3,208.44 793 | 794,703,491,8,28.90 794 | 795,852,423,5,134.47 795 | 796,509,351,9,17.96 796 | 797,831,94,9,95.91 797 | 798,327,472,3,291.05 798 | 799,528,182,4,42.84 799 | 800,948,482,2,327.84 800 | 801,128,15,3,126.12 801 | 802,950,90,1,162.08 802 | 803,358,17,7,496.63 803 | 804,190,178,10,191.00 804 | 805,840,386,8,285.07 805 | 806,94,17,9,192.71 806 | 807,520,6,4,202.78 807 | 808,587,21,9,11.37 808 | 809,507,279,3,18.27 809 | 810,7,161,4,306.00 810 | 811,122,492,9,288.30 811 | 812,683,156,10,220.83 812 | 813,212,5,5,418.58 813 | 814,24,132,1,257.06 814 | 815,389,339,9,346.07 815 | 816,710,494,8,83.73 816 | 817,163,462,7,271.50 817 | 818,960,146,3,208.50 818 | 819,944,320,10,442.74 819 | 820,993,419,9,136.35 820 | 821,326,497,1,135.05 821 | 822,172,434,9,73.53 822 | 823,166,404,1,435.35 823 | 824,652,315,1,87.62 824 | 825,949,480,5,39.47 825 | 826,868,157,8,21.49 826 | 827,300,109,1,78.88 827 | 828,714,434,10,91.49 828 | 829,645,85,9,162.33 829 | 830,136,127,4,231.10 830 | 831,919,80,1,351.92 831 | 832,165,189,8,326.34 832 | 833,166,367,9,89.39 833 | 834,156,154,7,383.59 834 | 835,58,400,8,34.63 835 | 836,830,310,7,82.38 836 | 837,619,115,3,61.94 837 | 838,580,110,1,481.74 838 | 839,347,110,1,326.36 839 | 840,544,172,6,85.79 840 | 841,409,39,5,370.56 841 | 842,20,357,10,358.36 842 | 843,279,98,4,251.06 843 | 844,429,212,4,130.77 844 | 845,590,226,5,237.74 845 | 846,317,308,1,238.67 846 | 847,555,436,6,283.47 847 | 848,972,83,7,232.23 848 | 849,183,44,3,385.78 849 | 850,676,225,8,25.93 850 | 851,824,147,5,460.68 851 | 852,916,36,7,34.18 852 | 853,866,316,7,422.09 853 | 854,347,264,3,470.23 854 | 855,8,124,8,78.56 855 | 856,212,107,5,230.25 856 | 857,674,262,10,436.96 857 | 858,641,349,7,116.25 858 | 859,571,195,2,423.23 859 | 860,883,40,3,343.32 860 | 861,110,84,2,180.30 861 | 862,192,355,10,163.94 862 | 863,636,480,6,97.70 863 | 864,574,326,1,448.92 864 | 865,786,183,2,252.22 865 | 866,79,189,2,166.78 866 | 867,675,189,6,344.12 867 | 868,33,490,5,256.15 868 | 869,700,394,9,42.43 869 | 870,628,156,9,265.67 870 | 871,797,107,8,396.70 871 | 872,207,231,10,77.53 872 | 873,984,325,8,103.59 873 | 874,435,422,5,48.60 874 | 875,516,128,2,306.63 875 | 876,790,213,4,43.44 876 | 877,362,376,9,426.57 877 | 878,57,335,10,447.33 878 | 879,484,280,10,315.29 879 | 880,359,135,6,335.95 880 | 881,78,470,10,41.69 881 | 882,294,272,3,43.99 882 | 883,263,465,9,463.17 883 | 884,823,80,2,253.16 884 | 885,1,319,4,277.88 885 | 886,365,102,2,171.11 886 | 887,341,222,3,181.61 887 | 888,903,43,2,425.98 888 | 889,800,444,7,286.60 889 | 890,356,342,2,180.03 890 | 891,975,388,9,301.82 891 | 892,368,379,6,415.48 892 | 893,70,201,4,203.58 893 | 894,369,270,4,407.49 894 | 895,608,154,6,111.93 895 | 896,242,327,10,397.59 896 | 897,357,46,4,405.29 897 | 898,730,35,1,328.36 898 | 899,996,261,4,367.08 899 | 900,343,377,3,151.09 900 | 901,744,246,9,388.65 901 | 902,243,229,1,244.61 902 | 903,596,425,1,298.41 903 | 904,517,221,3,117.52 904 | 905,848,478,5,361.90 905 | 906,843,75,2,323.82 906 | 907,6,314,6,219.96 907 | 908,893,280,4,160.29 908 | 909,403,20,7,447.52 909 | 910,106,76,10,139.46 910 | 911,59,19,6,413.10 911 | 912,152,218,6,174.77 912 | 913,447,252,10,336.84 913 | 914,331,409,2,193.56 914 | 915,998,203,6,8.96 915 | 916,57,198,9,429.15 916 | 917,417,258,5,136.03 917 | 918,782,156,9,267.10 918 | 919,76,325,5,489.07 919 | 920,820,241,8,239.50 920 | 921,534,147,7,240.15 921 | 922,867,323,2,276.31 922 | 923,188,226,9,175.92 923 | 924,468,144,8,222.06 924 | 925,878,34,9,469.85 925 | 926,392,80,8,68.72 926 | 927,102,215,10,376.24 927 | 928,281,131,7,81.37 928 | 929,688,281,3,141.08 929 | 930,433,234,9,180.44 930 | 931,433,297,4,214.24 931 | 932,886,420,7,355.33 932 | 933,137,327,3,444.77 933 | 934,554,143,1,447.32 934 | 935,805,494,8,120.55 935 | 936,453,400,9,369.20 936 | 937,71,442,4,366.93 937 | 938,667,192,9,12.94 938 | 939,480,329,9,270.48 939 | 940,366,345,2,207.05 940 | 941,73,382,2,187.49 941 | 942,995,227,8,84.74 942 | 943,650,178,3,491.85 943 | 944,462,45,6,25.96 944 | 945,647,53,4,300.73 945 | 946,285,60,6,277.30 946 | 947,415,366,10,241.80 947 | 948,541,85,3,71.87 948 | 949,759,149,8,14.07 949 | 950,457,211,6,83.05 950 | 951,28,68,3,202.74 951 | 952,558,135,9,458.32 952 | 953,775,329,5,172.40 953 | 954,839,455,1,162.32 954 | 955,836,448,8,468.81 955 | 956,694,481,10,17.05 956 | 957,106,48,3,237.25 957 | 958,734,114,3,190.75 958 | 959,670,298,4,197.04 959 | 960,9,142,2,346.02 960 | 961,800,442,6,253.99 961 | 962,33,327,7,426.16 962 | 963,245,478,4,116.52 963 | 964,742,422,1,113.98 964 | 965,667,67,4,183.06 965 | 966,163,227,2,356.38 966 | 967,240,79,7,314.18 967 | 968,798,338,9,253.98 968 | 969,15,401,1,116.55 969 | 970,525,64,1,481.22 970 | 971,221,273,2,183.80 971 | 972,42,213,9,300.88 972 | 973,921,385,8,478.47 973 | 974,819,486,7,344.15 974 | 975,37,268,7,207.20 975 | 976,912,374,8,162.20 976 | 977,969,220,7,369.80 977 | 978,549,86,4,90.90 978 | 979,874,278,7,269.18 979 | 980,275,46,7,174.97 980 | 981,372,229,2,248.41 981 | 982,619,306,10,484.67 982 | 983,650,424,10,52.09 983 | 984,346,289,2,324.58 984 | 985,179,465,3,279.43 985 | 986,434,79,7,350.67 986 | 987,432,494,10,467.71 987 | 988,765,149,9,341.37 988 | 989,807,351,5,83.56 989 | 990,648,456,4,331.37 990 | 991,896,326,1,256.80 991 | 992,701,301,3,136.12 992 | 993,439,398,3,204.36 993 | 994,910,256,1,135.67 994 | 995,360,25,2,430.06 995 | 996,297,493,9,441.99 996 | 997,76,161,1,336.97 997 | 998,227,223,9,473.27 998 | 999,626,183,3,12.90 999 | 1000,680,163,10,339.54 1000 | -------------------------------------------------------------------------------- /data/payments.csv: -------------------------------------------------------------------------------- 1 | payment_id,order_id,payment_date,amount 2 | 1,1,2024-12-07,611.05 3 | 2,2,2024-05-17,863.80 4 | 3,3,2024-11-29,753.31 5 | 4,4,2024-11-23,562.09 6 | 5,5,2024-11-25,216.91 7 | 6,6,2025-02-09,521.47 8 | 7,7,2024-09-17,654.39 9 | 8,8,2024-12-15,575.69 10 | 9,9,2024-09-27,56.78 11 | 10,10,2024-11-14,494.69 12 | 11,11,2024-10-07,498.54 13 | 12,12,2024-12-09,295.02 14 | 13,13,2024-04-02,782.00 15 | 14,14,2024-02-16,321.78 16 | 15,15,2024-07-31,555.53 17 | 16,16,2024-05-21,77.17 18 | 17,17,2024-06-27,304.95 19 | 18,18,2024-06-07,471.12 20 | 19,19,2024-03-03,975.37 21 | 20,20,2024-11-22,349.50 22 | 21,21,2024-07-03,443.64 23 | 22,22,2024-07-15,886.29 24 | 23,23,2024-10-20,480.69 25 | 24,24,2024-11-10,218.20 26 | 25,25,2024-07-05,465.50 27 | 26,26,2024-09-22,838.78 28 | 27,27,2024-11-08,424.08 29 | 28,28,2024-07-28,180.01 30 | 29,29,2024-12-11,912.15 31 | 30,30,2025-01-26,27.60 32 | 31,31,2024-05-31,839.55 33 | 32,32,2024-08-27,755.87 34 | 33,33,2024-03-15,49.02 35 | 34,34,2024-12-11,413.98 36 | 35,35,2025-02-11,633.64 37 | 36,36,2024-03-28,160.05 38 | 37,37,2024-07-12,544.91 39 | 38,38,2024-12-02,412.08 40 | 39,39,2024-03-11,532.66 41 | 40,40,2024-04-05,927.28 42 | 41,41,2024-03-23,950.75 43 | 42,42,2024-09-29,949.65 44 | 43,43,2024-02-20,910.53 45 | 44,44,2024-09-29,176.06 46 | 45,45,2024-11-29,517.72 47 | 46,46,2024-02-28,173.22 48 | 47,47,2024-08-06,69.61 49 | 48,48,2024-08-01,641.66 50 | 49,49,2024-10-08,190.65 51 | 50,50,2024-04-17,658.94 52 | 51,51,2024-02-23,524.60 53 | 52,52,2024-11-19,146.67 54 | 53,53,2024-12-03,447.05 55 | 54,54,2024-09-12,669.78 56 | 55,55,2024-03-20,719.64 57 | 56,56,2024-04-10,473.29 58 | 57,57,2024-04-23,257.39 59 | 58,58,2024-11-15,792.88 60 | 59,59,2024-04-09,975.43 61 | 60,60,2024-02-23,994.16 62 | 61,61,2025-02-10,710.09 63 | 62,62,2024-08-21,90.88 64 | 63,63,2024-10-23,681.21 65 | 64,64,2024-08-22,730.37 66 | 65,65,2024-11-10,728.82 67 | 66,66,2024-03-14,711.65 68 | 67,67,2024-05-01,152.44 69 | 68,68,2024-10-31,155.23 70 | 69,69,2024-07-27,534.63 71 | 70,70,2024-05-07,708.26 72 | 71,71,2024-03-23,637.30 73 | 72,72,2024-10-14,664.68 74 | 73,73,2024-08-24,257.52 75 | 74,74,2024-12-30,116.42 76 | 75,75,2025-01-18,482.43 77 | 76,76,2024-08-13,377.40 78 | 77,77,2024-05-11,856.98 79 | 78,78,2024-06-16,649.80 80 | 79,79,2024-04-06,32.53 81 | 80,80,2025-01-27,523.56 82 | 81,81,2024-09-15,30.58 83 | 82,82,2024-10-08,854.45 84 | 83,83,2025-01-27,669.79 85 | 84,84,2024-03-09,764.70 86 | 85,85,2024-06-13,296.90 87 | 86,86,2024-03-03,780.57 88 | 87,87,2024-04-02,667.36 89 | 88,88,2025-02-02,764.24 90 | 89,89,2024-11-15,808.52 91 | 90,90,2024-08-03,674.43 92 | 91,91,2024-09-14,933.98 93 | 92,92,2024-03-26,85.87 94 | 93,93,2024-11-07,670.23 95 | 94,94,2024-09-03,729.69 96 | 95,95,2024-09-15,943.36 97 | 96,96,2025-01-23,120.80 98 | 97,97,2024-12-19,74.06 99 | 98,98,2024-08-21,516.31 100 | 99,99,2024-12-07,681.46 101 | 100,100,2024-11-26,755.65 102 | 101,101,2024-02-19,399.68 103 | 102,102,2024-03-02,833.03 104 | 103,103,2024-09-01,129.03 105 | 104,104,2025-02-08,636.69 106 | 105,105,2025-01-11,86.86 107 | 106,106,2024-04-12,796.16 108 | 107,107,2024-11-15,436.39 109 | 108,108,2024-05-20,355.95 110 | 109,109,2024-09-13,449.92 111 | 110,110,2025-02-03,382.25 112 | 111,111,2024-11-23,719.04 113 | 112,112,2024-11-28,416.83 114 | 113,113,2024-03-09,795.44 115 | 114,114,2025-02-08,870.27 116 | 115,115,2024-07-07,451.87 117 | 116,116,2025-01-13,429.35 118 | 117,117,2024-06-20,602.82 119 | 118,118,2024-02-11,503.06 120 | 119,119,2024-05-27,242.36 121 | 120,120,2024-12-16,715.19 122 | 121,121,2024-10-04,87.48 123 | 122,122,2024-06-06,226.62 124 | 123,123,2024-04-05,416.76 125 | 124,124,2024-08-11,73.25 126 | 125,125,2025-01-15,660.25 127 | 126,126,2024-11-03,57.52 128 | 127,127,2024-05-25,839.26 129 | 128,128,2024-12-02,110.94 130 | 129,129,2024-03-18,38.15 131 | 130,130,2024-05-05,461.07 132 | 131,131,2024-12-13,569.46 133 | 132,132,2024-10-11,385.85 134 | 133,133,2024-02-15,277.60 135 | 134,134,2025-01-31,623.22 136 | 135,135,2024-11-05,241.21 137 | 136,136,2024-03-26,889.17 138 | 137,137,2025-02-04,481.35 139 | 138,138,2024-10-30,108.31 140 | 139,139,2024-02-11,533.40 141 | 140,140,2024-02-13,162.80 142 | 141,141,2024-11-19,266.18 143 | 142,142,2024-10-16,43.33 144 | 143,143,2024-04-13,544.79 145 | 144,144,2024-12-07,424.12 146 | 145,145,2024-12-19,448.00 147 | 146,146,2024-08-08,986.73 148 | 147,147,2024-12-07,76.29 149 | 148,148,2025-01-03,82.68 150 | 149,149,2024-04-24,462.52 151 | 150,150,2024-03-26,805.71 152 | 151,151,2024-08-19,826.17 153 | 152,152,2025-02-08,556.56 154 | 153,153,2024-11-22,798.09 155 | 154,154,2024-04-26,365.70 156 | 155,155,2024-05-31,239.70 157 | 156,156,2024-07-11,387.36 158 | 157,157,2024-12-15,841.39 159 | 158,158,2024-08-13,32.09 160 | 159,159,2025-02-01,171.18 161 | 160,160,2024-11-27,526.81 162 | 161,161,2024-10-15,919.61 163 | 162,162,2024-03-21,460.10 164 | 163,163,2024-07-29,805.91 165 | 164,164,2024-11-30,867.77 166 | 165,165,2024-11-24,603.58 167 | 166,166,2024-12-08,287.31 168 | 167,167,2024-05-27,668.38 169 | 168,168,2024-11-23,908.50 170 | 169,169,2024-09-16,133.95 171 | 170,170,2024-09-02,376.20 172 | 171,171,2024-08-27,43.91 173 | 172,172,2024-10-22,813.42 174 | 173,173,2024-03-28,517.67 175 | 174,174,2024-04-27,362.93 176 | 175,175,2024-07-25,590.77 177 | 176,176,2024-02-17,941.08 178 | 177,177,2024-07-09,222.84 179 | 178,178,2025-01-04,318.45 180 | 179,179,2024-10-09,843.21 181 | 180,180,2024-03-17,381.87 182 | 181,181,2024-12-25,746.76 183 | 182,182,2024-08-14,498.90 184 | 183,183,2024-04-26,479.47 185 | 184,184,2024-10-10,352.18 186 | 185,185,2024-02-15,355.90 187 | 186,186,2024-11-26,394.36 188 | 187,187,2024-05-17,764.94 189 | 188,188,2024-10-22,983.70 190 | 189,189,2024-03-29,762.45 191 | 190,190,2024-09-12,767.78 192 | 191,191,2024-12-24,675.80 193 | 192,192,2024-08-01,417.20 194 | 193,193,2024-12-12,918.56 195 | 194,194,2025-01-05,750.62 196 | 195,195,2024-10-13,314.45 197 | 196,196,2024-10-23,791.52 198 | 197,197,2024-10-04,296.77 199 | 198,198,2024-11-28,650.49 200 | 199,199,2024-04-17,182.75 201 | 200,200,2024-03-18,151.90 202 | 201,201,2024-09-06,503.77 203 | 202,202,2024-03-03,403.46 204 | 203,203,2024-12-30,884.90 205 | 204,204,2024-04-15,632.44 206 | 205,205,2024-11-24,400.52 207 | 206,206,2024-04-25,930.46 208 | 207,207,2024-08-12,777.66 209 | 208,208,2024-07-26,738.33 210 | 209,209,2025-01-12,340.81 211 | 210,210,2024-03-25,902.18 212 | 211,211,2024-11-21,323.38 213 | 212,212,2024-11-14,743.49 214 | 213,213,2024-11-28,427.70 215 | 214,214,2024-09-16,553.83 216 | 215,215,2024-12-16,279.39 217 | 216,216,2024-06-12,516.54 218 | 217,217,2024-02-20,604.60 219 | 218,218,2024-03-20,215.68 220 | 219,219,2024-06-29,104.12 221 | 220,220,2024-10-31,565.81 222 | 221,221,2024-05-02,703.23 223 | 222,222,2024-12-27,446.03 224 | 223,223,2024-05-01,92.69 225 | 224,224,2024-12-11,551.59 226 | 225,225,2025-01-30,904.24 227 | 226,226,2024-11-27,331.83 228 | 227,227,2024-05-29,613.96 229 | 228,228,2024-07-26,702.07 230 | 229,229,2024-09-07,154.74 231 | 230,230,2025-01-02,584.79 232 | 231,231,2024-06-30,640.57 233 | 232,232,2025-01-20,822.28 234 | 233,233,2024-08-05,693.60 235 | 234,234,2024-09-15,117.73 236 | 235,235,2024-05-06,277.54 237 | 236,236,2024-12-24,476.82 238 | 237,237,2025-01-17,467.95 239 | 238,238,2024-07-09,533.10 240 | 239,239,2024-12-19,456.65 241 | 240,240,2024-08-06,825.55 242 | 241,241,2024-05-07,99.03 243 | 242,242,2024-05-31,687.13 244 | 243,243,2024-05-03,634.20 245 | 244,244,2025-01-21,824.43 246 | 245,245,2024-10-07,925.39 247 | 246,246,2024-10-29,820.58 248 | 247,247,2024-06-03,305.92 249 | 248,248,2024-12-19,627.13 250 | 249,249,2024-10-02,661.80 251 | 250,250,2024-06-04,107.27 252 | 251,251,2025-01-03,238.94 253 | 252,252,2024-05-10,288.09 254 | 253,253,2024-07-01,573.79 255 | 254,254,2024-05-29,935.69 256 | 255,255,2024-05-18,151.09 257 | 256,256,2024-03-26,921.36 258 | 257,257,2025-01-29,963.93 259 | 258,258,2024-08-16,196.52 260 | 259,259,2024-04-14,395.71 261 | 260,260,2024-07-01,878.54 262 | 261,261,2024-10-05,344.26 263 | 262,262,2024-12-31,280.55 264 | 263,263,2024-10-08,106.47 265 | 264,264,2024-04-21,828.59 266 | 265,265,2024-11-16,249.25 267 | 266,266,2024-06-05,469.47 268 | 267,267,2024-03-21,709.85 269 | 268,268,2024-10-03,373.45 270 | 269,269,2024-04-21,104.60 271 | 270,270,2025-01-20,735.32 272 | 271,271,2024-08-10,102.24 273 | 272,272,2024-04-26,319.22 274 | 273,273,2024-06-21,310.38 275 | 274,274,2024-08-15,867.47 276 | 275,275,2024-04-25,756.36 277 | 276,276,2024-03-06,843.47 278 | 277,277,2025-01-15,760.66 279 | 278,278,2024-12-31,941.56 280 | 279,279,2024-10-22,823.75 281 | 280,280,2024-07-24,965.77 282 | 281,281,2024-04-28,840.14 283 | 282,282,2024-12-21,739.41 284 | 283,283,2024-09-24,134.12 285 | 284,284,2024-08-06,957.06 286 | 285,285,2024-05-06,943.19 287 | 286,286,2024-02-13,528.92 288 | 287,287,2024-07-22,720.18 289 | 288,288,2024-06-07,517.72 290 | 289,289,2024-05-28,639.70 291 | 290,290,2024-05-10,652.78 292 | 291,291,2024-03-09,301.68 293 | 292,292,2024-09-24,660.85 294 | 293,293,2024-10-07,858.09 295 | 294,294,2024-04-23,503.23 296 | 295,295,2024-12-06,912.51 297 | 296,296,2024-07-09,193.89 298 | 297,297,2024-05-11,644.09 299 | 298,298,2024-12-15,417.99 300 | 299,299,2024-04-30,921.22 301 | 300,300,2024-12-07,859.16 302 | 301,301,2024-05-13,492.33 303 | 302,302,2025-01-19,938.36 304 | 303,303,2024-06-01,182.80 305 | 304,304,2024-11-01,359.15 306 | 305,305,2024-02-24,339.78 307 | 306,306,2024-09-18,172.77 308 | 307,307,2024-04-01,703.06 309 | 308,308,2024-07-16,655.68 310 | 309,309,2024-12-14,103.54 311 | 310,310,2024-10-10,884.38 312 | 311,311,2024-06-30,217.12 313 | 312,312,2024-06-11,644.35 314 | 313,313,2024-04-19,569.88 315 | 314,314,2025-01-13,949.92 316 | 315,315,2024-12-21,502.89 317 | 316,316,2024-05-08,676.56 318 | 317,317,2024-07-09,186.80 319 | 318,318,2024-02-27,313.50 320 | 319,319,2024-09-10,150.81 321 | 320,320,2024-12-21,128.80 322 | 321,321,2024-11-26,866.49 323 | 322,322,2024-05-22,558.61 324 | 323,323,2024-10-09,858.74 325 | 324,324,2024-11-13,514.46 326 | 325,325,2024-11-06,173.40 327 | 326,326,2024-10-24,613.71 328 | 327,327,2024-11-30,814.13 329 | 328,328,2024-12-21,898.30 330 | 329,329,2024-08-20,982.15 331 | 330,330,2024-10-04,484.90 332 | 331,331,2024-05-16,768.63 333 | 332,332,2024-11-23,57.41 334 | 333,333,2024-11-26,376.99 335 | 334,334,2024-12-13,885.15 336 | 335,335,2024-12-22,459.33 337 | 336,336,2024-06-18,844.73 338 | 337,337,2024-07-29,549.11 339 | 338,338,2024-08-01,966.46 340 | 339,339,2024-02-22,445.05 341 | 340,340,2024-02-18,482.30 342 | 341,341,2025-02-11,152.58 343 | 342,342,2024-03-16,885.36 344 | 343,343,2025-01-24,238.08 345 | 344,344,2024-05-08,595.88 346 | 345,345,2024-02-15,525.34 347 | 346,346,2025-01-17,765.60 348 | 347,347,2024-03-22,782.04 349 | 348,348,2024-05-05,791.58 350 | 349,349,2025-02-07,200.83 351 | 350,350,2024-07-08,660.40 352 | 351,351,2024-10-31,514.76 353 | 352,352,2024-10-20,889.60 354 | 353,353,2025-02-07,901.71 355 | 354,354,2024-06-28,77.20 356 | 355,355,2024-04-29,693.69 357 | 356,356,2024-12-02,636.50 358 | 357,357,2025-01-20,851.74 359 | 358,358,2025-01-20,15.27 360 | 359,359,2024-03-26,30.64 361 | 360,360,2024-09-10,480.40 362 | 361,361,2024-06-06,867.46 363 | 362,362,2024-08-12,436.41 364 | 363,363,2024-10-12,424.22 365 | 364,364,2025-01-21,56.91 366 | 365,365,2024-10-06,688.05 367 | 366,366,2024-09-01,605.96 368 | 367,367,2024-05-15,531.39 369 | 368,368,2025-02-08,125.55 370 | 369,369,2024-04-26,981.15 371 | 370,370,2024-08-19,476.67 372 | 371,371,2024-09-17,761.03 373 | 372,372,2024-04-10,509.97 374 | 373,373,2024-12-03,601.37 375 | 374,374,2025-01-22,910.37 376 | 375,375,2024-03-28,569.51 377 | 376,376,2024-11-18,344.78 378 | 377,377,2025-01-01,942.25 379 | 378,378,2024-10-02,40.92 380 | 379,379,2024-07-22,719.08 381 | 380,380,2024-10-20,468.80 382 | 381,381,2024-11-07,279.84 383 | 382,382,2024-11-11,101.96 384 | 383,383,2024-05-07,58.88 385 | 384,384,2024-12-21,711.25 386 | 385,385,2024-05-09,775.18 387 | 386,386,2024-08-09,770.78 388 | 387,387,2024-06-04,81.97 389 | 388,388,2024-03-28,200.58 390 | 389,389,2024-07-16,375.92 391 | 390,390,2024-06-22,571.91 392 | 391,391,2024-08-21,516.75 393 | 392,392,2024-12-17,659.76 394 | 393,393,2025-01-03,976.26 395 | 394,394,2024-08-01,144.01 396 | 395,395,2024-08-30,455.15 397 | 396,396,2024-11-17,343.84 398 | 397,397,2024-10-16,759.98 399 | 398,398,2024-07-05,667.83 400 | 399,399,2024-02-15,958.54 401 | 400,400,2025-02-07,679.15 402 | 401,401,2024-02-14,612.54 403 | 402,402,2024-12-13,339.54 404 | 403,403,2024-12-20,736.25 405 | 404,404,2024-03-27,867.08 406 | 405,405,2024-07-11,617.83 407 | 406,406,2025-02-05,405.30 408 | 407,407,2024-12-12,937.16 409 | 408,408,2024-08-21,628.11 410 | 409,409,2025-02-05,55.50 411 | 410,410,2024-06-19,652.24 412 | 411,411,2025-01-30,944.90 413 | 412,412,2024-10-04,526.13 414 | 413,413,2024-05-06,118.20 415 | 414,414,2025-01-23,528.20 416 | 415,415,2025-01-04,285.06 417 | 416,416,2024-08-29,49.99 418 | 417,417,2024-12-05,565.17 419 | 418,418,2024-05-24,324.87 420 | 419,419,2024-02-16,735.11 421 | 420,420,2024-07-12,649.97 422 | 421,421,2024-08-06,90.54 423 | 422,422,2024-07-20,533.04 424 | 423,423,2024-08-15,220.86 425 | 424,424,2024-03-24,363.43 426 | 425,425,2024-06-10,766.64 427 | 426,426,2024-10-02,501.99 428 | 427,427,2024-09-09,346.77 429 | 428,428,2024-12-31,559.24 430 | 429,429,2024-08-25,151.81 431 | 430,430,2024-08-05,459.78 432 | 431,431,2024-07-21,856.72 433 | 432,432,2024-04-17,498.79 434 | 433,433,2024-06-27,795.29 435 | 434,434,2024-03-31,233.60 436 | 435,435,2024-12-09,146.19 437 | 436,436,2024-03-02,604.27 438 | 437,437,2025-01-20,489.43 439 | 438,438,2024-11-24,591.11 440 | 439,439,2024-10-08,533.81 441 | 440,440,2025-01-11,980.76 442 | 441,441,2024-12-13,938.19 443 | 442,442,2024-11-04,204.81 444 | 443,443,2024-12-06,790.06 445 | 444,444,2025-02-11,972.45 446 | 445,445,2025-01-30,677.18 447 | 446,446,2024-04-12,199.85 448 | 447,447,2024-12-11,564.93 449 | 448,448,2024-03-12,162.42 450 | 449,449,2024-03-19,151.00 451 | 450,450,2024-09-30,907.38 452 | 451,451,2024-05-03,552.91 453 | 452,452,2024-05-03,528.85 454 | 453,453,2024-03-29,819.45 455 | 454,454,2024-05-06,703.99 456 | 455,455,2024-08-18,751.32 457 | 456,456,2024-07-30,535.00 458 | 457,457,2024-08-26,716.80 459 | 458,458,2024-06-13,551.14 460 | 459,459,2024-05-22,740.29 461 | 460,460,2024-08-23,168.99 462 | 461,461,2024-06-06,207.33 463 | 462,462,2024-07-11,412.09 464 | 463,463,2024-02-20,775.57 465 | 464,464,2024-03-27,49.49 466 | 465,465,2024-12-27,786.54 467 | 466,466,2024-08-23,323.45 468 | 467,467,2024-08-18,17.24 469 | 468,468,2024-07-09,812.59 470 | 469,469,2024-07-18,101.61 471 | 470,470,2024-12-20,266.72 472 | 471,471,2024-12-15,411.24 473 | 472,472,2024-07-09,412.06 474 | 473,473,2024-07-20,701.18 475 | 474,474,2024-04-09,506.42 476 | 475,475,2024-12-25,873.35 477 | 476,476,2024-02-19,875.54 478 | 477,477,2024-10-22,316.51 479 | 478,478,2024-12-28,813.81 480 | 479,479,2024-07-06,828.85 481 | 480,480,2024-06-08,179.07 482 | 481,481,2024-05-25,540.19 483 | 482,482,2025-01-17,481.37 484 | 483,483,2024-02-14,261.38 485 | 484,484,2024-07-23,516.36 486 | 485,485,2025-01-31,742.44 487 | 486,486,2024-09-27,569.92 488 | 487,487,2024-05-21,420.63 489 | 488,488,2024-08-10,70.49 490 | 489,489,2024-11-04,869.40 491 | 490,490,2024-08-07,869.77 492 | 491,491,2024-03-29,656.10 493 | 492,492,2025-01-29,619.12 494 | 493,493,2025-01-14,227.97 495 | 494,494,2024-02-24,355.62 496 | 495,495,2024-09-22,975.60 497 | 496,496,2024-06-15,696.23 498 | 497,497,2024-06-05,516.30 499 | 498,498,2024-04-05,106.43 500 | 499,499,2024-09-25,975.55 501 | 500,500,2024-03-15,544.66 502 | 501,501,2024-10-10,121.74 503 | 502,502,2024-09-15,366.35 504 | 503,503,2024-02-27,537.48 505 | 504,504,2024-09-10,985.19 506 | 505,505,2024-10-04,835.01 507 | 506,506,2024-07-11,823.03 508 | 507,507,2024-09-19,746.27 509 | 508,508,2024-09-19,425.24 510 | 509,509,2024-08-23,270.45 511 | 510,510,2024-03-04,978.16 512 | 511,511,2024-07-13,526.64 513 | 512,512,2024-08-29,961.74 514 | 513,513,2024-06-10,622.85 515 | 514,514,2025-01-15,59.95 516 | 515,515,2024-07-05,681.49 517 | 516,516,2024-12-30,538.75 518 | 517,517,2024-02-26,713.29 519 | 518,518,2024-07-23,279.34 520 | 519,519,2024-08-07,907.20 521 | 520,520,2025-01-28,632.45 522 | 521,521,2024-02-17,680.19 523 | 522,522,2024-09-03,623.57 524 | 523,523,2024-03-14,961.75 525 | 524,524,2024-08-23,279.50 526 | 525,525,2025-02-05,383.31 527 | 526,526,2024-05-03,277.88 528 | 527,527,2024-04-21,41.07 529 | 528,528,2024-02-12,592.95 530 | 529,529,2024-11-07,297.39 531 | 530,530,2024-07-31,115.61 532 | 531,531,2024-12-05,701.55 533 | 532,532,2024-08-26,965.61 534 | 533,533,2024-08-29,252.40 535 | 534,534,2024-09-17,338.62 536 | 535,535,2024-08-17,522.81 537 | 536,536,2024-04-27,837.31 538 | 537,537,2024-12-23,337.61 539 | 538,538,2024-03-24,631.21 540 | 539,539,2024-12-03,595.12 541 | 540,540,2024-12-22,739.23 542 | 541,541,2024-03-18,911.87 543 | 542,542,2024-08-16,838.16 544 | 543,543,2024-06-12,921.41 545 | 544,544,2024-11-01,286.98 546 | 545,545,2025-01-18,907.24 547 | 546,546,2024-11-01,546.22 548 | 547,547,2024-08-13,589.28 549 | 548,548,2025-01-04,34.48 550 | 549,549,2024-09-18,682.39 551 | 550,550,2024-06-06,426.69 552 | 551,551,2024-05-04,504.42 553 | 552,552,2024-09-01,863.43 554 | 553,553,2024-05-17,408.40 555 | 554,554,2024-02-28,193.93 556 | 555,555,2024-03-10,789.09 557 | 556,556,2024-02-29,746.66 558 | 557,557,2024-09-27,685.11 559 | 558,558,2024-09-07,432.44 560 | 559,559,2024-10-19,361.40 561 | 560,560,2025-01-16,617.25 562 | 561,561,2024-08-28,719.97 563 | 562,562,2024-09-14,823.22 564 | 563,563,2024-06-10,221.85 565 | 564,564,2024-02-14,224.40 566 | 565,565,2024-06-12,279.05 567 | 566,566,2024-06-18,906.20 568 | 567,567,2024-12-19,49.89 569 | 568,568,2024-02-14,808.40 570 | 569,569,2024-07-14,987.61 571 | 570,570,2024-09-29,88.32 572 | 571,571,2024-06-27,783.64 573 | 572,572,2024-12-07,497.52 574 | 573,573,2024-04-24,279.93 575 | 574,574,2024-09-14,393.95 576 | 575,575,2024-05-27,320.26 577 | 576,576,2024-11-11,248.82 578 | 577,577,2024-07-28,641.25 579 | 578,578,2024-09-16,827.53 580 | 579,579,2024-11-25,164.23 581 | 580,580,2024-06-15,337.04 582 | 581,581,2024-06-29,433.94 583 | 582,582,2024-10-07,281.25 584 | 583,583,2024-08-21,635.98 585 | 584,584,2024-12-28,805.16 586 | 585,585,2024-03-14,391.88 587 | 586,586,2024-03-01,407.87 588 | 587,587,2024-04-08,189.85 589 | 588,588,2024-11-24,308.58 590 | 589,589,2024-09-22,564.10 591 | 590,590,2024-12-22,630.10 592 | 591,591,2024-03-07,600.81 593 | 592,592,2024-03-16,538.58 594 | 593,593,2024-09-12,371.70 595 | 594,594,2024-09-19,913.92 596 | 595,595,2024-03-07,536.77 597 | 596,596,2024-05-27,769.47 598 | 597,597,2025-01-16,424.76 599 | 598,598,2024-04-28,586.44 600 | 599,599,2024-09-27,378.99 601 | 600,600,2024-11-13,444.63 602 | 601,601,2024-12-25,514.47 603 | 602,602,2024-02-17,760.05 604 | 603,603,2024-04-20,816.36 605 | 604,604,2024-12-02,917.20 606 | 605,605,2024-06-18,75.90 607 | 606,606,2025-02-10,279.25 608 | 607,607,2024-08-27,786.98 609 | 608,608,2024-10-15,529.82 610 | 609,609,2024-05-25,17.35 611 | 610,610,2024-02-19,990.14 612 | 611,611,2024-06-01,960.95 613 | 612,612,2024-11-03,908.43 614 | 613,613,2024-02-16,94.10 615 | 614,614,2024-10-14,519.16 616 | 615,615,2024-09-16,743.44 617 | 616,616,2025-02-05,288.87 618 | 617,617,2024-06-30,773.20 619 | 618,618,2024-06-20,471.37 620 | 619,619,2024-08-11,441.12 621 | 620,620,2024-06-05,20.67 622 | 621,621,2025-01-07,34.09 623 | 622,622,2024-09-23,738.08 624 | 623,623,2024-03-11,855.52 625 | 624,624,2024-02-25,719.95 626 | 625,625,2024-08-02,300.99 627 | 626,626,2024-06-28,660.45 628 | 627,627,2024-02-14,100.21 629 | 628,628,2024-03-14,321.23 630 | 629,629,2024-07-13,336.81 631 | 630,630,2024-07-25,829.02 632 | 631,631,2024-09-27,20.91 633 | 632,632,2024-12-29,742.04 634 | 633,633,2024-08-26,574.55 635 | 634,634,2024-06-11,515.69 636 | 635,635,2024-10-18,867.34 637 | 636,636,2024-04-22,753.95 638 | 637,637,2024-03-30,409.05 639 | 638,638,2025-01-01,736.66 640 | 639,639,2024-03-30,402.10 641 | 640,640,2024-02-17,714.50 642 | 641,641,2024-07-07,557.82 643 | 642,642,2024-08-23,416.12 644 | 643,643,2024-08-29,101.93 645 | 644,644,2024-03-17,377.32 646 | 645,645,2024-07-18,229.21 647 | 646,646,2024-08-31,126.55 648 | 647,647,2024-10-09,313.09 649 | 648,648,2024-07-24,379.84 650 | 649,649,2024-10-28,847.32 651 | 650,650,2024-06-27,956.04 652 | 651,651,2024-09-26,899.36 653 | 652,652,2024-06-17,524.52 654 | 653,653,2024-04-24,391.04 655 | 654,654,2025-01-13,568.31 656 | 655,655,2024-12-28,223.81 657 | 656,656,2024-04-12,864.46 658 | 657,657,2024-04-10,518.22 659 | 658,658,2024-12-23,213.50 660 | 659,659,2024-09-23,487.21 661 | 660,660,2025-01-22,345.66 662 | 661,661,2024-05-03,851.30 663 | 662,662,2024-10-03,773.36 664 | 663,663,2025-01-11,305.03 665 | 664,664,2024-02-19,656.62 666 | 665,665,2025-02-06,921.91 667 | 666,666,2024-09-24,886.17 668 | 667,667,2024-10-22,415.28 669 | 668,668,2024-08-17,765.04 670 | 669,669,2024-08-05,41.26 671 | 670,670,2024-04-25,530.48 672 | 671,671,2024-09-10,430.19 673 | 672,672,2024-05-03,637.23 674 | 673,673,2024-09-03,694.21 675 | 674,674,2024-05-08,311.22 676 | 675,675,2024-06-12,628.89 677 | 676,676,2025-02-06,183.12 678 | 677,677,2024-04-21,271.46 679 | 678,678,2024-06-26,99.86 680 | 679,679,2024-12-05,314.84 681 | 680,680,2024-10-23,718.82 682 | 681,681,2024-07-23,701.16 683 | 682,682,2025-01-21,612.33 684 | 683,683,2024-03-02,68.43 685 | 684,684,2024-04-20,532.19 686 | 685,685,2024-08-25,312.21 687 | 686,686,2024-02-25,440.38 688 | 687,687,2024-10-28,639.36 689 | 688,688,2024-12-25,562.57 690 | 689,689,2024-05-01,764.06 691 | 690,690,2024-06-15,319.84 692 | 691,691,2024-06-01,182.40 693 | 692,692,2024-05-29,420.29 694 | 693,693,2024-09-24,74.01 695 | 694,694,2024-04-07,61.48 696 | 695,695,2024-09-28,994.77 697 | 696,696,2024-08-12,975.94 698 | 697,697,2024-04-20,894.50 699 | 698,698,2024-12-09,338.29 700 | 699,699,2024-10-20,370.38 701 | 700,700,2024-12-16,491.80 702 | 701,701,2025-01-10,152.10 703 | 702,702,2024-03-19,66.84 704 | 703,703,2024-10-10,181.41 705 | 704,704,2024-05-29,555.68 706 | 705,705,2024-04-25,420.45 707 | 706,706,2024-04-13,61.87 708 | 707,707,2024-04-28,476.06 709 | 708,708,2024-06-29,164.48 710 | 709,709,2024-05-26,215.33 711 | 710,710,2024-10-17,453.24 712 | 711,711,2024-10-14,587.83 713 | 712,712,2025-02-11,227.25 714 | 713,713,2024-04-18,925.66 715 | 714,714,2024-07-22,242.06 716 | 715,715,2024-05-08,767.68 717 | 716,716,2024-06-08,262.03 718 | 717,717,2024-05-11,617.59 719 | 718,718,2024-10-07,611.76 720 | 719,719,2024-04-10,740.43 721 | 720,720,2024-08-14,702.43 722 | 721,721,2024-06-16,791.49 723 | 722,722,2024-05-03,412.06 724 | 723,723,2024-04-23,916.49 725 | 724,724,2024-04-05,726.11 726 | 725,725,2024-04-20,247.92 727 | 726,726,2024-04-07,214.66 728 | 727,727,2024-08-26,380.11 729 | 728,728,2024-10-21,616.79 730 | 729,729,2024-11-27,206.24 731 | 730,730,2024-11-07,686.11 732 | 731,731,2024-02-24,552.85 733 | 732,732,2024-02-24,869.47 734 | 733,733,2024-09-05,816.55 735 | 734,734,2024-07-01,361.71 736 | 735,735,2024-04-13,979.68 737 | 736,736,2024-10-10,873.37 738 | 737,737,2024-03-07,501.00 739 | 738,738,2024-03-16,43.19 740 | 739,739,2024-06-21,52.39 741 | 740,740,2024-04-18,579.02 742 | 741,741,2024-10-11,580.84 743 | 742,742,2024-08-15,886.91 744 | 743,743,2024-11-16,979.38 745 | 744,744,2024-08-17,725.21 746 | 745,745,2024-08-08,753.63 747 | 746,746,2024-12-21,491.15 748 | 747,747,2024-05-30,916.27 749 | 748,748,2024-08-09,669.02 750 | 749,749,2024-12-13,656.55 751 | 750,750,2024-05-09,581.61 752 | 751,751,2024-08-06,481.34 753 | 752,752,2024-05-25,427.81 754 | 753,753,2024-04-04,58.65 755 | 754,754,2024-06-14,670.24 756 | 755,755,2024-02-25,383.78 757 | 756,756,2024-02-19,774.42 758 | 757,757,2024-08-03,163.31 759 | 758,758,2024-11-02,314.27 760 | 759,759,2024-06-11,965.03 761 | 760,760,2024-02-15,114.29 762 | 761,761,2024-12-30,259.59 763 | 762,762,2024-12-22,554.01 764 | 763,763,2024-04-28,617.57 765 | 764,764,2024-04-02,112.65 766 | 765,765,2024-05-14,754.31 767 | 766,766,2024-10-06,846.27 768 | 767,767,2025-02-06,175.20 769 | 768,768,2024-06-10,125.55 770 | 769,769,2024-10-10,941.58 771 | 770,770,2025-01-02,143.46 772 | 771,771,2024-11-23,76.43 773 | 772,772,2024-12-20,95.15 774 | 773,773,2024-12-17,615.96 775 | 774,774,2024-04-28,615.79 776 | 775,775,2024-02-29,422.95 777 | 776,776,2024-02-29,886.95 778 | 777,777,2024-05-18,739.38 779 | 778,778,2024-03-26,475.36 780 | 779,779,2024-05-14,825.06 781 | 780,780,2024-05-16,106.72 782 | 781,781,2024-09-08,44.79 783 | 782,782,2024-07-01,786.03 784 | 783,783,2024-05-04,208.64 785 | 784,784,2025-01-24,682.86 786 | 785,785,2024-08-22,939.20 787 | 786,786,2024-09-09,641.05 788 | 787,787,2024-12-20,508.51 789 | 788,788,2024-12-28,682.46 790 | 789,789,2024-02-11,119.59 791 | 790,790,2024-09-17,643.53 792 | 791,791,2024-05-09,156.41 793 | 792,792,2024-04-08,942.10 794 | 793,793,2024-10-09,293.44 795 | 794,794,2024-07-16,71.37 796 | 795,795,2024-10-27,452.71 797 | 796,796,2024-08-04,76.11 798 | 797,797,2024-08-05,393.50 799 | 798,798,2024-11-08,521.29 800 | 799,799,2024-06-13,389.86 801 | 800,800,2024-11-01,116.14 802 | 801,801,2024-06-21,655.42 803 | 802,802,2024-06-04,84.58 804 | 803,803,2024-12-21,900.58 805 | 804,804,2024-02-22,228.69 806 | 805,805,2024-10-23,271.36 807 | 806,806,2024-06-20,715.70 808 | 807,807,2024-09-09,699.27 809 | 808,808,2024-10-07,242.51 810 | 809,809,2024-05-31,341.06 811 | 810,810,2024-10-29,512.92 812 | 811,811,2024-12-20,583.97 813 | 812,812,2024-02-28,589.00 814 | 813,813,2024-09-02,268.20 815 | 814,814,2024-06-15,318.51 816 | 815,815,2025-01-03,798.47 817 | 816,816,2024-10-30,388.57 818 | 817,817,2024-09-16,185.21 819 | 818,818,2024-06-25,659.04 820 | 819,819,2025-01-10,428.65 821 | 820,820,2024-05-19,943.96 822 | 821,821,2025-01-29,693.31 823 | 822,822,2024-08-08,302.60 824 | 823,823,2024-11-28,59.35 825 | 824,824,2024-03-24,680.32 826 | 825,825,2024-06-02,579.45 827 | 826,826,2024-06-07,669.02 828 | 827,827,2025-01-04,915.43 829 | 828,828,2024-07-14,992.31 830 | 829,829,2024-07-02,411.75 831 | 830,830,2024-12-26,987.23 832 | 831,831,2024-10-18,918.51 833 | 832,832,2024-08-17,696.95 834 | 833,833,2024-07-23,483.93 835 | 834,834,2024-10-08,883.58 836 | 835,835,2024-10-01,498.64 837 | 836,836,2024-11-08,919.26 838 | 837,837,2024-09-28,900.59 839 | 838,838,2024-11-08,105.54 840 | 839,839,2024-09-29,617.09 841 | 840,840,2024-03-07,439.19 842 | 841,841,2024-07-24,821.85 843 | 842,842,2024-09-06,279.22 844 | 843,843,2024-06-20,495.37 845 | 844,844,2024-07-23,107.21 846 | 845,845,2024-05-01,664.15 847 | 846,846,2024-07-08,993.08 848 | 847,847,2025-01-02,23.78 849 | 848,848,2024-07-21,165.45 850 | 849,849,2025-01-05,617.14 851 | 850,850,2024-04-28,290.46 852 | 851,851,2024-06-07,884.17 853 | 852,852,2024-09-05,594.18 854 | 853,853,2024-10-07,20.49 855 | 854,854,2024-02-27,260.51 856 | 855,855,2024-07-10,626.46 857 | 856,856,2024-03-18,697.82 858 | 857,857,2024-07-04,392.48 859 | 858,858,2024-02-14,37.43 860 | 859,859,2024-10-14,693.86 861 | 860,860,2024-10-14,198.76 862 | 861,861,2024-05-16,313.51 863 | 862,862,2024-02-29,519.50 864 | 863,863,2024-10-26,993.08 865 | 864,864,2024-08-19,410.03 866 | 865,865,2024-08-24,495.48 867 | 866,866,2024-02-18,685.94 868 | 867,867,2024-11-10,224.94 869 | 868,868,2024-06-03,315.25 870 | 869,869,2024-08-21,100.43 871 | 870,870,2024-06-18,350.36 872 | 871,871,2024-04-02,727.62 873 | 872,872,2024-06-29,238.55 874 | 873,873,2024-04-05,638.20 875 | 874,874,2024-11-17,713.68 876 | 875,875,2024-12-15,361.99 877 | 876,876,2025-01-05,341.59 878 | 877,877,2024-04-25,845.86 879 | 878,878,2024-12-09,306.88 880 | 879,879,2025-01-10,478.15 881 | 880,880,2024-10-22,342.14 882 | 881,881,2024-12-12,768.81 883 | 882,882,2024-12-24,484.58 884 | 883,883,2024-11-08,237.05 885 | 884,884,2024-03-03,303.79 886 | 885,885,2024-12-30,209.77 887 | 886,886,2024-07-09,349.52 888 | 887,887,2024-03-16,907.68 889 | 888,888,2024-09-06,470.14 890 | 889,889,2024-04-30,726.32 891 | 890,890,2024-08-02,847.41 892 | 891,891,2024-07-02,486.73 893 | 892,892,2024-03-09,403.60 894 | 893,893,2024-07-01,604.59 895 | 894,894,2025-01-23,75.78 896 | 895,895,2024-11-14,465.06 897 | 896,896,2024-05-16,676.53 898 | 897,897,2024-06-07,124.45 899 | 898,898,2024-04-09,600.84 900 | 899,899,2024-07-01,490.63 901 | 900,900,2024-12-19,535.30 902 | 901,901,2024-08-14,727.26 903 | 902,902,2024-05-12,782.16 904 | 903,903,2024-07-14,162.54 905 | 904,904,2024-11-22,79.32 906 | 905,905,2024-03-27,183.29 907 | 906,906,2024-09-24,589.04 908 | 907,907,2024-03-20,122.51 909 | 908,908,2025-01-22,259.94 910 | 909,909,2024-08-14,101.77 911 | 910,910,2024-07-24,656.22 912 | 911,911,2024-02-28,788.97 913 | 912,912,2024-03-05,155.74 914 | 913,913,2024-09-10,156.53 915 | 914,914,2025-01-22,955.60 916 | 915,915,2024-12-07,395.52 917 | 916,916,2024-09-24,139.76 918 | 917,917,2024-07-02,18.43 919 | 918,918,2024-03-12,740.16 920 | 919,919,2024-02-21,89.00 921 | 920,920,2025-01-08,74.64 922 | 921,921,2025-02-03,105.90 923 | 922,922,2024-09-30,292.84 924 | 923,923,2024-05-01,488.84 925 | 924,924,2024-08-13,809.00 926 | 925,925,2024-09-02,739.22 927 | 926,926,2024-04-02,750.31 928 | 927,927,2025-01-01,576.86 929 | 928,928,2024-04-25,650.22 930 | 929,929,2024-05-08,626.30 931 | 930,930,2024-11-10,89.08 932 | 931,931,2024-12-14,311.91 933 | 932,932,2024-06-01,637.21 934 | 933,933,2024-10-10,719.94 935 | 934,934,2025-01-06,46.32 936 | 935,935,2024-06-27,605.67 937 | 936,936,2024-11-18,868.33 938 | 937,937,2024-11-07,845.54 939 | 938,938,2024-12-01,843.01 940 | 939,939,2024-08-12,128.40 941 | 940,940,2025-01-17,567.40 942 | 941,941,2025-01-13,933.80 943 | 942,942,2024-03-29,903.14 944 | 943,943,2024-07-16,306.45 945 | 944,944,2024-11-05,928.10 946 | 945,945,2024-10-03,209.15 947 | 946,946,2024-06-28,198.69 948 | 947,947,2024-10-26,445.28 949 | 948,948,2024-06-27,164.41 950 | 949,949,2024-11-10,913.43 951 | 950,950,2024-03-25,245.83 952 | 951,951,2024-09-04,198.63 953 | 952,952,2025-02-06,197.98 954 | 953,953,2024-05-31,491.86 955 | 954,954,2024-07-24,990.73 956 | 955,955,2024-06-08,315.96 957 | 956,956,2024-06-21,574.04 958 | 957,957,2024-12-05,25.86 959 | 958,958,2024-12-11,921.45 960 | 959,959,2024-03-06,48.77 961 | 960,960,2024-07-28,845.49 962 | 961,961,2024-04-01,799.57 963 | 962,962,2025-01-05,372.20 964 | 963,963,2024-06-16,577.84 965 | 964,964,2024-02-25,274.15 966 | 965,965,2024-07-10,741.51 967 | 966,966,2024-11-19,376.61 968 | 967,967,2024-08-09,473.99 969 | 968,968,2025-01-20,214.02 970 | 969,969,2024-03-29,882.60 971 | 970,970,2024-09-24,439.37 972 | 971,971,2024-07-25,314.63 973 | 972,972,2024-09-10,270.58 974 | 973,973,2024-12-09,136.34 975 | 974,974,2024-05-23,269.32 976 | 975,975,2024-10-06,315.68 977 | 976,976,2024-11-20,997.46 978 | 977,977,2024-07-31,91.76 979 | 978,978,2024-12-12,945.30 980 | 979,979,2024-09-26,430.82 981 | 980,980,2025-02-01,218.62 982 | 981,981,2024-06-20,625.40 983 | 982,982,2025-02-10,973.72 984 | 983,983,2024-10-24,767.07 985 | 984,984,2024-07-08,713.41 986 | 985,985,2024-04-25,699.78 987 | 986,986,2024-09-06,282.63 988 | 987,987,2024-09-07,445.82 989 | 988,988,2024-11-04,645.29 990 | 989,989,2024-05-28,971.75 991 | 990,990,2024-05-14,158.95 992 | 991,991,2025-01-05,926.21 993 | 992,992,2024-10-16,108.04 994 | 993,993,2024-05-21,239.28 995 | 994,994,2024-07-21,782.20 996 | 995,995,2024-10-14,868.37 997 | 996,996,2024-05-05,37.65 998 | 997,997,2024-03-30,85.10 999 | 998,998,2024-12-16,883.68 1000 | 999,999,2024-06-23,280.13 1001 | 1000,1000,2025-01-17,644.62 1002 | -------------------------------------------------------------------------------- /data/order_details.csv: -------------------------------------------------------------------------------- 1 | order_id,customer_id,order_date,total_amount 2 | 1,457,2024-12-06,611.05 3 | 2,233,2024-05-12,863.80 4 | 3,618,2024-11-24,753.31 5 | 4,28,2024-11-21,562.09 6 | 5,880,2024-11-25,216.91 7 | 6,444,2025-02-04,521.47 8 | 7,678,2024-09-17,654.39 9 | 8,643,2024-12-15,575.69 10 | 9,198,2024-09-26,56.78 11 | 10,799,2024-11-13,494.69 12 | 11,575,2024-10-05,498.54 13 | 12,378,2024-12-06,295.02 14 | 13,822,2024-03-27,782.00 15 | 14,813,2024-02-14,321.78 16 | 15,56,2024-07-30,555.53 17 | 16,101,2024-05-18,77.17 18 | 17,495,2024-06-21,304.95 19 | 18,556,2024-06-06,471.12 20 | 19,803,2024-03-02,975.37 21 | 20,270,2024-11-17,349.50 22 | 21,565,2024-07-03,443.64 23 | 22,624,2024-07-10,886.29 24 | 23,722,2024-10-15,480.69 25 | 24,68,2024-11-09,218.20 26 | 25,329,2024-07-05,465.50 27 | 26,464,2024-09-17,838.78 28 | 27,895,2024-11-01,424.08 29 | 28,673,2024-07-25,180.01 30 | 29,463,2024-12-06,912.15 31 | 30,96,2025-01-24,27.60 32 | 31,971,2024-05-28,839.55 33 | 32,133,2024-08-21,755.87 34 | 33,989,2024-03-15,49.02 35 | 34,822,2024-12-10,413.98 36 | 35,21,2025-02-04,633.64 37 | 36,12,2024-03-28,160.05 38 | 37,123,2024-07-05,544.91 39 | 38,303,2024-11-26,412.08 40 | 39,866,2024-03-08,532.66 41 | 40,954,2024-04-02,927.28 42 | 41,381,2024-03-16,950.75 43 | 42,751,2024-09-25,949.65 44 | 43,284,2024-02-15,910.53 45 | 44,862,2024-09-28,176.06 46 | 45,349,2024-11-24,517.72 47 | 46,756,2024-02-24,173.22 48 | 47,766,2024-07-31,69.61 49 | 48,693,2024-07-25,641.66 50 | 49,688,2024-10-08,190.65 51 | 50,503,2024-04-12,658.94 52 | 51,619,2024-02-23,524.60 53 | 52,175,2024-11-16,146.67 54 | 53,54,2024-12-03,447.05 55 | 54,680,2024-09-10,669.78 56 | 55,239,2024-03-16,719.64 57 | 56,449,2024-04-05,473.29 58 | 57,94,2024-04-22,257.39 59 | 58,892,2024-11-11,792.88 60 | 59,736,2024-04-03,975.43 61 | 60,236,2024-02-19,994.16 62 | 61,707,2025-02-04,710.09 63 | 62,696,2024-08-16,90.88 64 | 63,711,2024-10-23,681.21 65 | 64,998,2024-08-15,730.37 66 | 65,304,2024-11-07,728.82 67 | 66,327,2024-03-09,711.65 68 | 67,171,2024-04-24,152.44 69 | 68,210,2024-10-30,155.23 70 | 69,427,2024-07-27,534.63 71 | 70,649,2024-05-07,708.26 72 | 71,479,2024-03-20,637.30 73 | 72,417,2024-10-08,664.68 74 | 73,676,2024-08-23,257.52 75 | 74,790,2024-12-26,116.42 76 | 75,9,2025-01-14,482.43 77 | 76,969,2024-08-06,377.40 78 | 77,396,2024-05-07,856.98 79 | 78,587,2024-06-13,649.80 80 | 79,380,2024-04-05,32.53 81 | 80,143,2025-01-20,523.56 82 | 81,797,2024-09-11,30.58 83 | 82,535,2024-10-05,854.45 84 | 83,951,2025-01-27,669.79 85 | 84,310,2024-03-07,764.70 86 | 85,929,2024-06-07,296.90 87 | 86,403,2024-03-02,780.57 88 | 87,621,2024-03-27,667.36 89 | 88,776,2025-01-27,764.24 90 | 89,668,2024-11-15,808.52 91 | 90,809,2024-08-03,674.43 92 | 91,843,2024-09-12,933.98 93 | 92,205,2024-03-20,85.87 94 | 93,250,2024-10-31,670.23 95 | 94,482,2024-08-29,729.69 96 | 95,749,2024-09-15,943.36 97 | 96,278,2025-01-21,120.80 98 | 97,948,2024-12-17,74.06 99 | 98,834,2024-08-14,516.31 100 | 99,242,2024-12-05,681.46 101 | 100,199,2024-11-23,755.65 102 | 101,953,2024-02-13,399.68 103 | 102,605,2024-02-27,833.03 104 | 103,124,2024-08-30,129.03 105 | 104,764,2025-02-02,636.69 106 | 105,384,2025-01-04,86.86 107 | 106,413,2024-04-07,796.16 108 | 107,269,2024-11-13,436.39 109 | 108,872,2024-05-17,355.95 110 | 109,519,2024-09-08,449.92 111 | 110,134,2025-02-01,382.25 112 | 111,61,2024-11-17,719.04 113 | 112,161,2024-11-25,416.83 114 | 113,835,2024-03-06,795.44 115 | 114,607,2025-02-02,870.27 116 | 115,347,2024-07-03,451.87 117 | 116,556,2025-01-13,429.35 118 | 117,536,2024-06-18,602.82 119 | 118,460,2024-02-10,503.06 120 | 119,720,2024-05-27,242.36 121 | 120,945,2024-12-10,715.19 122 | 121,29,2024-10-03,87.48 123 | 122,279,2024-06-04,226.62 124 | 123,782,2024-03-31,416.76 125 | 124,942,2024-08-08,73.25 126 | 125,361,2025-01-10,660.25 127 | 126,161,2024-11-03,57.52 128 | 127,366,2024-05-18,839.26 129 | 128,362,2024-11-30,110.94 130 | 129,323,2024-03-11,38.15 131 | 130,975,2024-05-01,461.07 132 | 131,932,2024-12-09,569.46 133 | 132,267,2024-10-04,385.85 134 | 133,780,2024-02-12,277.60 135 | 134,299,2025-01-29,623.22 136 | 135,785,2024-11-05,241.21 137 | 136,549,2024-03-25,889.17 138 | 137,990,2025-02-03,481.35 139 | 138,756,2024-10-23,108.31 140 | 139,422,2024-02-08,533.40 141 | 140,113,2024-02-09,162.80 142 | 141,278,2024-11-13,266.18 143 | 142,573,2024-10-10,43.33 144 | 143,839,2024-04-12,544.79 145 | 144,441,2024-12-06,424.12 146 | 145,936,2024-12-15,448.00 147 | 146,36,2024-08-02,986.73 148 | 147,347,2024-12-01,76.29 149 | 148,572,2024-12-31,82.68 150 | 149,833,2024-04-18,462.52 151 | 150,630,2024-03-22,805.71 152 | 151,450,2024-08-13,826.17 153 | 152,642,2025-02-06,556.56 154 | 153,940,2024-11-15,798.09 155 | 154,211,2024-04-23,365.70 156 | 155,354,2024-05-30,239.70 157 | 156,390,2024-07-10,387.36 158 | 157,858,2024-12-15,841.39 159 | 158,973,2024-08-12,32.09 160 | 159,634,2025-01-25,171.18 161 | 160,828,2024-11-25,526.81 162 | 161,60,2024-10-08,919.61 163 | 162,618,2024-03-21,460.10 164 | 163,986,2024-07-23,805.91 165 | 164,917,2024-11-27,867.77 166 | 165,511,2024-11-20,603.58 167 | 166,395,2024-12-07,287.31 168 | 167,106,2024-05-22,668.38 169 | 168,840,2024-11-18,908.50 170 | 169,757,2024-09-16,133.95 171 | 170,854,2024-08-27,376.20 172 | 171,956,2024-08-20,43.91 173 | 172,173,2024-10-16,813.42 174 | 173,902,2024-03-24,517.67 175 | 174,630,2024-04-22,362.93 176 | 175,875,2024-07-22,590.77 177 | 176,151,2024-02-10,941.08 178 | 177,164,2024-07-04,222.84 179 | 178,687,2025-01-03,318.45 180 | 179,400,2024-10-06,843.21 181 | 180,863,2024-03-16,381.87 182 | 181,800,2024-12-24,746.76 183 | 182,407,2024-08-13,498.90 184 | 183,218,2024-04-19,479.47 185 | 184,526,2024-10-10,352.18 186 | 185,804,2024-02-08,355.90 187 | 186,466,2024-11-26,394.36 188 | 187,239,2024-05-12,764.94 189 | 188,31,2024-10-20,983.70 190 | 189,630,2024-03-23,762.45 191 | 190,879,2024-09-08,767.78 192 | 191,404,2024-12-23,675.80 193 | 192,477,2024-07-29,417.20 194 | 193,221,2024-12-05,918.56 195 | 194,182,2025-01-03,750.62 196 | 195,380,2024-10-12,314.45 197 | 196,130,2024-10-22,791.52 198 | 197,585,2024-09-30,296.77 199 | 198,878,2024-11-23,650.49 200 | 199,9,2024-04-15,182.75 201 | 200,336,2024-03-12,151.90 202 | 201,170,2024-09-06,503.77 203 | 202,759,2024-03-01,403.46 204 | 203,876,2024-12-23,884.90 205 | 204,162,2024-04-13,632.44 206 | 205,772,2024-11-24,400.52 207 | 206,238,2024-04-20,930.46 208 | 207,688,2024-08-11,777.66 209 | 208,991,2024-07-21,738.33 210 | 209,299,2025-01-11,340.81 211 | 210,978,2024-03-21,902.18 212 | 211,114,2024-11-19,323.38 213 | 212,805,2024-11-10,743.49 214 | 213,137,2024-11-26,427.70 215 | 214,218,2024-09-09,553.83 216 | 215,302,2024-12-14,279.39 217 | 216,885,2024-06-06,516.54 218 | 217,686,2024-02-19,604.60 219 | 218,299,2024-03-19,215.68 220 | 219,653,2024-06-27,104.12 221 | 220,134,2024-10-31,565.81 222 | 221,170,2024-04-29,703.23 223 | 222,529,2024-12-22,446.03 224 | 223,279,2024-04-25,92.69 225 | 224,256,2024-12-09,551.59 226 | 225,858,2025-01-30,904.24 227 | 226,861,2024-11-22,331.83 228 | 227,656,2024-05-23,613.96 229 | 228,510,2024-07-19,702.07 230 | 229,474,2024-09-02,154.74 231 | 230,254,2024-12-31,584.79 232 | 231,868,2024-06-26,640.57 233 | 232,107,2025-01-14,822.28 234 | 233,707,2024-07-30,693.60 235 | 234,868,2024-09-08,117.73 236 | 235,822,2024-04-29,277.54 237 | 236,936,2024-12-22,476.82 238 | 237,647,2025-01-14,467.95 239 | 238,880,2024-07-08,533.10 240 | 239,701,2024-12-19,456.65 241 | 240,660,2024-07-31,825.55 242 | 241,131,2024-05-02,99.03 243 | 242,363,2024-05-28,687.13 244 | 243,21,2024-04-27,634.20 245 | 244,36,2025-01-14,824.43 246 | 245,787,2024-10-06,925.39 247 | 246,712,2024-10-22,820.58 248 | 247,504,2024-06-02,305.92 249 | 248,419,2024-12-17,627.13 250 | 249,683,2024-10-02,661.80 251 | 250,937,2024-05-30,107.27 252 | 251,842,2024-12-27,238.94 253 | 252,571,2024-05-07,288.09 254 | 253,878,2024-06-26,573.79 255 | 254,76,2024-05-24,935.69 256 | 255,243,2024-05-15,151.09 257 | 256,765,2024-03-19,921.36 258 | 257,654,2025-01-24,963.93 259 | 258,980,2024-08-11,196.52 260 | 259,726,2024-04-11,395.71 261 | 260,792,2024-06-26,878.54 262 | 261,669,2024-09-29,344.26 263 | 262,75,2024-12-28,280.55 264 | 263,715,2024-10-04,106.47 265 | 264,105,2024-04-19,828.59 266 | 265,734,2024-11-12,249.25 267 | 266,977,2024-05-30,469.47 268 | 267,171,2024-03-20,709.85 269 | 268,121,2024-09-27,373.45 270 | 269,396,2024-04-21,104.60 271 | 270,565,2025-01-15,735.32 272 | 271,758,2024-08-09,102.24 273 | 272,87,2024-04-26,319.22 274 | 273,667,2024-06-21,310.38 275 | 274,221,2024-08-13,867.47 276 | 275,394,2024-04-20,756.36 277 | 276,217,2024-03-04,843.47 278 | 277,589,2025-01-10,760.66 279 | 278,289,2024-12-25,941.56 280 | 279,639,2024-10-22,823.75 281 | 280,459,2024-07-23,965.77 282 | 281,619,2024-04-21,840.14 283 | 282,145,2024-12-18,739.41 284 | 283,203,2024-09-17,134.12 285 | 284,668,2024-08-04,957.06 286 | 285,197,2024-05-06,943.19 287 | 286,741,2024-02-10,528.92 288 | 287,181,2024-07-16,720.18 289 | 288,141,2024-06-06,517.72 290 | 289,806,2024-05-22,639.70 291 | 290,494,2024-05-03,652.78 292 | 291,788,2024-03-06,301.68 293 | 292,721,2024-09-22,660.85 294 | 293,102,2024-10-01,858.09 295 | 294,526,2024-04-23,503.23 296 | 295,610,2024-12-05,912.51 297 | 296,293,2024-07-02,193.89 298 | 297,263,2024-05-10,644.09 299 | 298,12,2024-12-10,417.99 300 | 299,791,2024-04-25,921.22 301 | 300,72,2024-12-02,859.16 302 | 301,360,2024-05-11,492.33 303 | 302,299,2025-01-12,938.36 304 | 303,228,2024-05-31,182.80 305 | 304,51,2024-10-29,359.15 306 | 305,41,2024-02-18,339.78 307 | 306,801,2024-09-13,172.77 308 | 307,363,2024-03-27,703.06 309 | 308,308,2024-07-12,655.68 310 | 309,829,2024-12-08,103.54 311 | 310,394,2024-10-06,884.38 312 | 311,988,2024-06-29,217.12 313 | 312,527,2024-06-04,644.35 314 | 313,817,2024-04-13,569.88 315 | 314,449,2025-01-08,949.92 316 | 315,674,2024-12-14,502.89 317 | 316,896,2024-05-03,676.56 318 | 317,802,2024-07-02,186.80 319 | 318,582,2024-02-25,313.50 320 | 319,990,2024-09-04,150.81 321 | 320,217,2024-12-21,128.80 322 | 321,124,2024-11-23,866.49 323 | 322,82,2024-05-15,558.61 324 | 323,63,2024-10-04,858.74 325 | 324,140,2024-11-06,514.46 326 | 325,944,2024-10-31,173.40 327 | 326,279,2024-10-17,613.71 328 | 327,335,2024-11-30,814.13 329 | 328,843,2024-12-17,898.30 330 | 329,82,2024-08-19,982.15 331 | 330,787,2024-09-30,484.90 332 | 331,972,2024-05-10,768.63 333 | 332,550,2024-11-19,57.41 334 | 333,689,2024-11-24,376.99 335 | 334,146,2024-12-11,885.15 336 | 335,47,2024-12-22,459.33 337 | 336,215,2024-06-11,844.73 338 | 337,938,2024-07-26,549.11 339 | 338,681,2024-07-26,966.46 340 | 339,523,2024-02-19,445.05 341 | 340,99,2024-02-18,482.30 342 | 341,386,2025-02-06,152.58 343 | 342,95,2024-03-16,885.36 344 | 343,955,2025-01-20,238.08 345 | 344,728,2024-05-02,595.88 346 | 345,639,2024-02-14,525.34 347 | 346,584,2025-01-16,765.60 348 | 347,63,2024-03-22,782.04 349 | 348,863,2024-05-02,791.58 350 | 349,8,2025-02-07,200.83 351 | 350,580,2024-07-06,660.40 352 | 351,465,2024-10-27,514.76 353 | 352,100,2024-10-19,889.60 354 | 353,522,2025-02-04,901.71 355 | 354,662,2024-06-28,77.20 356 | 355,967,2024-04-23,693.69 357 | 356,323,2024-11-28,636.50 358 | 357,302,2025-01-16,851.74 359 | 358,482,2025-01-19,15.27 360 | 359,415,2024-03-20,30.64 361 | 360,708,2024-09-09,480.40 362 | 361,906,2024-05-31,867.46 363 | 362,363,2024-08-05,436.41 364 | 363,282,2024-10-08,424.22 365 | 364,724,2025-01-21,56.91 366 | 365,462,2024-09-29,688.05 367 | 366,273,2024-08-25,605.96 368 | 367,309,2024-05-10,531.39 369 | 368,588,2025-02-04,125.55 370 | 369,57,2024-04-26,981.15 371 | 370,198,2024-08-15,476.67 372 | 371,827,2024-09-12,761.03 373 | 372,537,2024-04-07,509.97 374 | 373,733,2024-11-27,601.37 375 | 374,236,2025-01-17,910.37 376 | 375,694,2024-03-23,569.51 377 | 376,944,2024-11-11,344.78 378 | 377,384,2024-12-25,942.25 379 | 378,703,2024-10-02,40.92 380 | 379,392,2024-07-17,719.08 381 | 380,110,2024-10-20,468.80 382 | 381,96,2024-11-03,279.84 383 | 382,493,2024-11-11,101.96 384 | 383,860,2024-05-01,58.88 385 | 384,391,2024-12-15,711.25 386 | 385,511,2024-05-07,775.18 387 | 386,597,2024-08-03,770.78 388 | 387,122,2024-06-01,81.97 389 | 388,328,2024-03-25,200.58 390 | 389,327,2024-07-15,375.92 391 | 390,508,2024-06-18,571.91 392 | 391,365,2024-08-20,516.75 393 | 392,882,2024-12-13,659.76 394 | 393,911,2025-01-02,976.26 395 | 394,448,2024-08-01,144.01 396 | 395,966,2024-08-29,455.15 397 | 396,631,2024-11-12,343.84 398 | 397,981,2024-10-11,759.98 399 | 398,504,2024-06-30,667.83 400 | 399,765,2024-02-08,958.54 401 | 400,319,2025-02-07,679.15 402 | 401,40,2024-02-09,612.54 403 | 402,997,2024-12-08,339.54 404 | 403,900,2024-12-16,736.25 405 | 404,639,2024-03-23,867.08 406 | 405,315,2024-07-11,617.83 407 | 406,652,2025-02-02,405.30 408 | 407,498,2024-12-05,937.16 409 | 408,628,2024-08-16,628.11 410 | 409,911,2025-02-04,55.50 411 | 410,159,2024-06-17,652.24 412 | 411,155,2025-01-25,944.90 413 | 412,671,2024-09-28,526.13 414 | 413,673,2024-05-04,118.20 415 | 414,751,2025-01-20,528.20 416 | 415,219,2024-12-31,285.06 417 | 416,21,2024-08-28,49.99 418 | 417,400,2024-11-29,565.17 419 | 418,654,2024-05-24,324.87 420 | 419,992,2024-02-15,735.11 421 | 420,816,2024-07-12,649.97 422 | 421,209,2024-08-03,90.54 423 | 422,163,2024-07-15,533.04 424 | 423,474,2024-08-08,220.86 425 | 424,288,2024-03-22,363.43 426 | 425,170,2024-06-10,766.64 427 | 426,354,2024-10-01,501.99 428 | 427,207,2024-09-06,346.77 429 | 428,504,2024-12-30,559.24 430 | 429,929,2024-08-18,151.81 431 | 430,965,2024-08-01,459.78 432 | 431,92,2024-07-15,856.72 433 | 432,609,2024-04-13,498.79 434 | 433,304,2024-06-23,795.29 435 | 434,411,2024-03-30,233.60 436 | 435,822,2024-12-02,146.19 437 | 436,830,2024-02-28,604.27 438 | 437,63,2025-01-18,489.43 439 | 438,424,2024-11-20,591.11 440 | 439,689,2024-10-07,533.81 441 | 440,504,2025-01-10,980.76 442 | 441,59,2024-12-07,938.19 443 | 442,360,2024-10-30,204.81 444 | 443,524,2024-12-04,790.06 445 | 444,812,2025-02-06,972.45 446 | 445,664,2025-01-27,677.18 447 | 446,389,2024-04-08,199.85 448 | 447,66,2024-12-08,564.93 449 | 448,485,2024-03-09,162.42 450 | 449,284,2024-03-13,151.00 451 | 450,583,2024-09-23,907.38 452 | 451,911,2024-04-29,552.91 453 | 452,536,2024-04-28,528.85 454 | 453,115,2024-03-24,819.45 455 | 454,683,2024-05-04,703.99 456 | 455,412,2024-08-16,751.32 457 | 456,277,2024-07-26,535.00 458 | 457,58,2024-08-19,716.80 459 | 458,538,2024-06-11,551.14 460 | 459,992,2024-05-20,740.29 461 | 460,399,2024-08-17,168.99 462 | 461,97,2024-06-02,207.33 463 | 462,830,2024-07-10,412.09 464 | 463,636,2024-02-18,775.57 465 | 464,812,2024-03-22,49.49 466 | 465,171,2024-12-23,786.54 467 | 466,820,2024-08-22,323.45 468 | 467,300,2024-08-13,17.24 469 | 468,90,2024-07-03,812.59 470 | 469,593,2024-07-12,101.61 471 | 470,945,2024-12-14,266.72 472 | 471,7,2024-12-10,411.24 473 | 472,890,2024-07-03,412.06 474 | 473,643,2024-07-15,701.18 475 | 474,969,2024-04-06,506.42 476 | 475,210,2024-12-23,873.35 477 | 476,643,2024-02-19,875.54 478 | 477,128,2024-10-18,316.51 479 | 478,789,2024-12-23,813.81 480 | 479,979,2024-07-01,828.85 481 | 480,293,2024-06-06,179.07 482 | 481,226,2024-05-23,540.19 483 | 482,197,2025-01-12,481.37 484 | 483,236,2024-02-09,261.38 485 | 484,831,2024-07-21,516.36 486 | 485,983,2025-01-29,742.44 487 | 486,920,2024-09-20,569.92 488 | 487,986,2024-05-19,420.63 489 | 488,707,2024-08-05,70.49 490 | 489,318,2024-11-01,869.40 491 | 490,315,2024-08-01,869.77 492 | 491,770,2024-03-22,656.10 493 | 492,963,2025-01-25,619.12 494 | 493,429,2025-01-13,227.97 495 | 494,169,2024-02-18,355.62 496 | 495,934,2024-09-18,975.60 497 | 496,163,2024-06-14,696.23 498 | 497,26,2024-06-02,516.30 499 | 498,379,2024-04-04,106.43 500 | 499,569,2024-09-23,975.55 501 | 500,176,2024-03-08,544.66 502 | 501,803,2024-10-08,121.74 503 | 502,728,2024-09-14,366.35 504 | 503,583,2024-02-21,537.48 505 | 504,986,2024-09-09,985.19 506 | 505,298,2024-10-04,835.01 507 | 506,751,2024-07-08,823.03 508 | 507,673,2024-09-15,746.27 509 | 508,301,2024-09-13,425.24 510 | 509,759,2024-08-22,270.45 511 | 510,141,2024-02-26,978.16 512 | 511,2,2024-07-13,526.64 513 | 512,627,2024-08-22,961.74 514 | 513,969,2024-06-08,622.85 515 | 514,893,2025-01-11,59.95 516 | 515,82,2024-07-01,681.49 517 | 516,494,2024-12-29,538.75 518 | 517,512,2024-02-26,713.29 519 | 518,125,2024-07-18,279.34 520 | 519,8,2024-08-05,907.20 521 | 520,406,2025-01-25,632.45 522 | 521,174,2024-02-13,680.19 523 | 522,964,2024-08-28,623.57 524 | 523,318,2024-03-08,961.75 525 | 524,336,2024-08-17,279.50 526 | 525,688,2025-02-05,383.31 527 | 526,266,2024-05-03,277.88 528 | 527,88,2024-04-17,41.07 529 | 528,818,2024-02-09,592.95 530 | 529,612,2024-11-02,297.39 531 | 530,695,2024-07-25,115.61 532 | 531,751,2024-12-03,701.55 533 | 532,208,2024-08-19,965.61 534 | 533,986,2024-08-23,252.40 535 | 534,251,2024-09-11,338.62 536 | 535,280,2024-08-14,522.81 537 | 536,592,2024-04-23,837.31 538 | 537,341,2024-12-20,337.61 539 | 538,172,2024-03-18,631.21 540 | 539,612,2024-12-02,595.12 541 | 540,601,2024-12-21,739.23 542 | 541,354,2024-03-13,911.87 543 | 542,523,2024-08-10,838.16 544 | 543,869,2024-06-06,921.41 545 | 544,225,2024-10-30,286.98 546 | 545,733,2025-01-11,907.24 547 | 546,903,2024-10-31,546.22 548 | 547,574,2024-08-10,589.28 549 | 548,559,2025-01-04,34.48 550 | 549,860,2024-09-12,682.39 551 | 550,185,2024-06-04,426.69 552 | 551,433,2024-05-04,504.42 553 | 552,440,2024-09-01,863.43 554 | 553,790,2024-05-17,408.40 555 | 554,763,2024-02-28,193.93 556 | 555,693,2024-03-04,789.09 557 | 556,131,2024-02-22,746.66 558 | 557,124,2024-09-24,685.11 559 | 558,108,2024-09-06,432.44 560 | 559,62,2024-10-13,361.40 561 | 560,681,2025-01-10,617.25 562 | 561,229,2024-08-24,719.97 563 | 562,517,2024-09-07,823.22 564 | 563,548,2024-06-04,221.85 565 | 564,248,2024-02-09,224.40 566 | 565,707,2024-06-12,279.05 567 | 566,382,2024-06-17,906.20 568 | 567,348,2024-12-19,49.89 569 | 568,393,2024-02-09,808.40 570 | 569,411,2024-07-10,987.61 571 | 570,277,2024-09-23,88.32 572 | 571,853,2024-06-22,783.64 573 | 572,640,2024-12-05,497.52 574 | 573,844,2024-04-24,279.93 575 | 574,690,2024-09-10,393.95 576 | 575,120,2024-05-24,320.26 577 | 576,971,2024-11-11,248.82 578 | 577,437,2024-07-24,641.25 579 | 578,973,2024-09-09,827.53 580 | 579,101,2024-11-21,164.23 581 | 580,73,2024-06-15,337.04 582 | 581,529,2024-06-22,433.94 583 | 582,1000,2024-10-06,281.25 584 | 583,103,2024-08-14,635.98 585 | 584,935,2024-12-28,805.16 586 | 585,150,2024-03-09,391.88 587 | 586,818,2024-02-23,407.87 588 | 587,681,2024-04-03,189.85 589 | 588,351,2024-11-24,308.58 590 | 589,178,2024-09-15,564.10 591 | 590,962,2024-12-19,630.10 592 | 591,769,2024-03-06,600.81 593 | 592,931,2024-03-16,538.58 594 | 593,499,2024-09-06,371.70 595 | 594,278,2024-09-12,913.92 596 | 595,775,2024-03-02,536.77 597 | 596,816,2024-05-23,769.47 598 | 597,546,2025-01-09,424.76 599 | 598,495,2024-04-23,586.44 600 | 599,710,2024-09-24,378.99 601 | 600,880,2024-11-11,444.63 602 | 601,629,2024-12-22,514.47 603 | 602,414,2024-02-14,760.05 604 | 603,939,2024-04-15,816.36 605 | 604,81,2024-12-02,917.20 606 | 605,65,2024-06-16,75.90 607 | 606,699,2025-02-05,279.25 608 | 607,125,2024-08-25,786.98 609 | 608,896,2024-10-11,529.82 610 | 609,222,2024-05-24,17.35 611 | 610,104,2024-02-18,990.14 612 | 611,640,2024-06-01,960.95 613 | 612,964,2024-10-30,908.43 614 | 613,215,2024-02-09,94.10 615 | 614,862,2024-10-12,519.16 616 | 615,677,2024-09-09,743.44 617 | 616,655,2025-02-01,288.87 618 | 617,702,2024-06-23,773.20 619 | 618,890,2024-06-15,471.37 620 | 619,211,2024-08-04,441.12 621 | 620,69,2024-05-30,20.67 622 | 621,770,2025-01-02,34.09 623 | 622,876,2024-09-20,738.08 624 | 623,219,2024-03-10,855.52 625 | 624,707,2024-02-22,719.95 626 | 625,875,2024-07-26,300.99 627 | 626,708,2024-06-21,660.45 628 | 627,409,2024-02-13,100.21 629 | 628,740,2024-03-13,321.23 630 | 629,536,2024-07-12,336.81 631 | 630,545,2024-07-22,829.02 632 | 631,296,2024-09-27,20.91 633 | 632,813,2024-12-24,742.04 634 | 633,260,2024-08-24,574.55 635 | 634,60,2024-06-09,515.69 636 | 635,51,2024-10-13,867.34 637 | 636,809,2024-04-20,753.95 638 | 637,93,2024-03-30,409.05 639 | 638,766,2024-12-26,736.66 640 | 639,822,2024-03-29,402.10 641 | 640,921,2024-02-16,714.50 642 | 641,539,2024-06-30,557.82 643 | 642,649,2024-08-19,416.12 644 | 643,994,2024-08-27,101.93 645 | 644,304,2024-03-16,377.32 646 | 645,949,2024-07-13,229.21 647 | 646,122,2024-08-27,126.55 648 | 647,546,2024-10-04,313.09 649 | 648,476,2024-07-22,379.84 650 | 649,868,2024-10-25,847.32 651 | 650,355,2024-06-21,956.04 652 | 651,483,2024-09-24,899.36 653 | 652,614,2024-06-10,524.52 654 | 653,715,2024-04-20,391.04 655 | 654,290,2025-01-13,568.31 656 | 655,633,2024-12-21,223.81 657 | 656,604,2024-04-09,864.46 658 | 657,894,2024-04-04,518.22 659 | 658,276,2024-12-17,213.50 660 | 659,442,2024-09-22,487.21 661 | 660,208,2025-01-20,345.66 662 | 661,571,2024-05-03,851.30 663 | 662,658,2024-09-28,773.36 664 | 663,719,2025-01-04,305.03 665 | 664,252,2024-02-18,656.62 666 | 665,294,2025-02-04,921.91 667 | 666,831,2024-09-22,886.17 668 | 667,287,2024-10-19,415.28 669 | 668,703,2024-08-12,765.04 670 | 669,820,2024-07-30,41.26 671 | 670,603,2024-04-19,530.48 672 | 671,159,2024-09-03,430.19 673 | 672,41,2024-04-27,637.23 674 | 673,198,2024-09-01,694.21 675 | 674,804,2024-05-04,311.22 676 | 675,512,2024-06-09,628.89 677 | 676,658,2025-02-02,183.12 678 | 677,932,2024-04-17,271.46 679 | 678,173,2024-06-24,99.86 680 | 679,74,2024-11-30,314.84 681 | 680,614,2024-10-21,718.82 682 | 681,87,2024-07-17,701.16 683 | 682,991,2025-01-16,612.33 684 | 683,693,2024-02-24,68.43 685 | 684,503,2024-04-13,532.19 686 | 685,165,2024-08-18,312.21 687 | 686,192,2024-02-19,440.38 688 | 687,122,2024-10-24,639.36 689 | 688,40,2024-12-20,562.57 690 | 689,50,2024-04-24,764.06 691 | 690,483,2024-06-09,319.84 692 | 691,422,2024-05-26,182.40 693 | 692,373,2024-05-28,420.29 694 | 693,262,2024-09-18,74.01 695 | 694,506,2024-04-06,61.48 696 | 695,94,2024-09-22,994.77 697 | 696,312,2024-08-08,975.94 698 | 697,127,2024-04-19,894.50 699 | 698,235,2024-12-08,338.29 700 | 699,145,2024-10-14,370.38 701 | 700,220,2024-12-09,491.80 702 | 701,322,2025-01-09,152.10 703 | 702,782,2024-03-16,66.84 704 | 703,830,2024-10-09,181.41 705 | 704,626,2024-05-28,555.68 706 | 705,38,2024-04-20,420.45 707 | 706,948,2024-04-07,61.87 708 | 707,433,2024-04-27,476.06 709 | 708,573,2024-06-25,164.48 710 | 709,119,2024-05-19,215.33 711 | 710,344,2024-10-14,453.24 712 | 711,558,2024-10-07,587.83 713 | 712,641,2025-02-07,227.25 714 | 713,193,2024-04-15,925.66 715 | 714,528,2024-07-17,242.06 716 | 715,519,2024-05-05,767.68 717 | 716,633,2024-06-05,262.03 718 | 717,66,2024-05-11,617.59 719 | 718,53,2024-10-03,611.76 720 | 719,362,2024-04-05,740.43 721 | 720,271,2024-08-09,702.43 722 | 721,171,2024-06-10,791.49 723 | 722,527,2024-05-03,412.06 724 | 723,148,2024-04-16,916.49 725 | 724,452,2024-03-30,726.11 726 | 725,625,2024-04-16,247.92 727 | 726,639,2024-04-07,214.66 728 | 727,556,2024-08-22,380.11 729 | 728,368,2024-10-14,616.79 730 | 729,997,2024-11-25,206.24 731 | 730,920,2024-11-02,686.11 732 | 731,910,2024-02-17,552.85 733 | 732,302,2024-02-23,869.47 734 | 733,319,2024-08-30,816.55 735 | 734,208,2024-06-30,361.71 736 | 735,84,2024-04-08,979.68 737 | 736,359,2024-10-08,873.37 738 | 737,535,2024-03-01,501.00 739 | 738,432,2024-03-12,43.19 740 | 739,497,2024-06-14,52.39 741 | 740,194,2024-04-18,579.02 742 | 741,862,2024-10-06,580.84 743 | 742,601,2024-08-08,886.91 744 | 743,335,2024-11-11,979.38 745 | 744,800,2024-08-14,725.21 746 | 745,299,2024-08-07,753.63 747 | 746,486,2024-12-21,491.15 748 | 747,815,2024-05-23,916.27 749 | 748,866,2024-08-06,669.02 750 | 749,397,2024-12-08,656.55 751 | 750,503,2024-05-09,581.61 752 | 751,18,2024-07-30,481.34 753 | 752,446,2024-05-20,427.81 754 | 753,166,2024-04-01,58.65 755 | 754,222,2024-06-14,670.24 756 | 755,950,2024-02-19,383.78 757 | 756,372,2024-02-16,774.42 758 | 757,22,2024-07-28,163.31 759 | 758,522,2024-10-29,314.27 760 | 759,196,2024-06-11,965.03 761 | 760,790,2024-02-14,114.29 762 | 761,939,2024-12-29,259.59 763 | 762,143,2024-12-16,554.01 764 | 763,143,2024-04-21,617.57 765 | 764,843,2024-04-02,112.65 766 | 765,136,2024-05-07,754.31 767 | 766,145,2024-10-01,846.27 768 | 767,679,2025-01-30,175.20 769 | 768,51,2024-06-04,125.55 770 | 769,660,2024-10-10,941.58 771 | 770,229,2024-12-29,143.46 772 | 771,887,2024-11-22,76.43 773 | 772,428,2024-12-20,95.15 774 | 773,810,2024-12-14,615.96 775 | 774,845,2024-04-23,615.79 776 | 775,54,2024-02-29,422.95 777 | 776,92,2024-02-29,886.95 778 | 777,608,2024-05-13,739.38 779 | 778,179,2024-03-23,475.36 780 | 779,892,2024-05-11,825.06 781 | 780,602,2024-05-15,106.72 782 | 781,276,2024-09-01,44.79 783 | 782,689,2024-06-28,786.03 784 | 783,367,2024-05-02,208.64 785 | 784,105,2025-01-17,682.86 786 | 785,905,2024-08-21,939.20 787 | 786,656,2024-09-04,641.05 788 | 787,895,2024-12-17,508.51 789 | 788,959,2024-12-26,682.46 790 | 789,96,2024-02-10,119.59 791 | 790,462,2024-09-14,643.53 792 | 791,755,2024-05-07,156.41 793 | 792,692,2024-04-03,942.10 794 | 793,876,2024-10-05,293.44 795 | 794,743,2024-07-10,71.37 796 | 795,111,2024-10-27,452.71 797 | 796,371,2024-07-31,76.11 798 | 797,501,2024-08-01,393.50 799 | 798,65,2024-11-03,521.29 800 | 799,556,2024-06-09,389.86 801 | 800,104,2024-10-26,116.14 802 | 801,583,2024-06-15,655.42 803 | 802,138,2024-05-30,84.58 804 | 803,687,2024-12-19,900.58 805 | 804,278,2024-02-20,228.69 806 | 805,58,2024-10-23,271.36 807 | 806,805,2024-06-20,715.70 808 | 807,242,2024-09-04,699.27 809 | 808,600,2024-10-03,242.51 810 | 809,39,2024-05-30,341.06 811 | 810,779,2024-10-25,512.92 812 | 811,496,2024-12-13,583.97 813 | 812,143,2024-02-23,589.00 814 | 813,979,2024-08-26,268.20 815 | 814,172,2024-06-14,318.51 816 | 815,459,2024-12-27,798.47 817 | 816,169,2024-10-28,388.57 818 | 817,560,2024-09-13,185.21 819 | 818,741,2024-06-21,659.04 820 | 819,355,2025-01-10,428.65 821 | 820,809,2024-05-14,943.96 822 | 821,635,2025-01-25,693.31 823 | 822,831,2024-08-04,302.60 824 | 823,436,2024-11-26,59.35 825 | 824,472,2024-03-17,680.32 826 | 825,220,2024-05-27,579.45 827 | 826,791,2024-06-01,669.02 828 | 827,71,2024-12-30,915.43 829 | 828,987,2024-07-14,992.31 830 | 829,677,2024-06-28,411.75 831 | 830,403,2024-12-25,987.23 832 | 831,509,2024-10-13,918.51 833 | 832,426,2024-08-17,696.95 834 | 833,590,2024-07-23,483.93 835 | 834,669,2024-10-07,883.58 836 | 835,952,2024-09-27,498.64 837 | 836,282,2024-11-03,919.26 838 | 837,276,2024-09-21,900.59 839 | 838,646,2024-11-08,105.54 840 | 839,24,2024-09-29,617.09 841 | 840,723,2024-03-07,439.19 842 | 841,305,2024-07-18,821.85 843 | 842,660,2024-09-03,279.22 844 | 843,395,2024-06-17,495.37 845 | 844,232,2024-07-16,107.21 846 | 845,728,2024-04-24,664.15 847 | 846,628,2024-07-03,993.08 848 | 847,157,2024-12-29,23.78 849 | 848,506,2024-07-20,165.45 850 | 849,805,2025-01-01,617.14 851 | 850,474,2024-04-21,290.46 852 | 851,892,2024-05-31,884.17 853 | 852,815,2024-09-04,594.18 854 | 853,724,2024-10-01,20.49 855 | 854,979,2024-02-27,260.51 856 | 855,685,2024-07-09,626.46 857 | 856,255,2024-03-16,697.82 858 | 857,628,2024-07-02,392.48 859 | 858,338,2024-02-14,37.43 860 | 859,462,2024-10-13,693.86 861 | 860,118,2024-10-07,198.76 862 | 861,965,2024-05-09,313.51 863 | 862,98,2024-02-22,519.50 864 | 863,524,2024-10-24,993.08 865 | 864,203,2024-08-13,410.03 866 | 865,866,2024-08-19,495.48 867 | 866,614,2024-02-18,685.94 868 | 867,303,2024-11-07,224.94 869 | 868,737,2024-05-30,315.25 870 | 869,630,2024-08-15,100.43 871 | 870,237,2024-06-11,350.36 872 | 871,974,2024-03-31,727.62 873 | 872,750,2024-06-27,238.55 874 | 873,96,2024-03-30,638.20 875 | 874,392,2024-11-15,713.68 876 | 875,301,2024-12-15,361.99 877 | 876,985,2025-01-05,341.59 878 | 877,679,2024-04-23,845.86 879 | 878,378,2024-12-08,306.88 880 | 879,126,2025-01-05,478.15 881 | 880,306,2024-10-18,342.14 882 | 881,596,2024-12-06,768.81 883 | 882,228,2024-12-23,484.58 884 | 883,660,2024-11-01,237.05 885 | 884,894,2024-02-29,303.79 886 | 885,128,2024-12-28,209.77 887 | 886,457,2024-07-02,349.52 888 | 887,821,2024-03-10,907.68 889 | 888,254,2024-08-30,470.14 890 | 889,630,2024-04-23,726.32 891 | 890,209,2024-08-02,847.41 892 | 891,822,2024-06-27,486.73 893 | 892,436,2024-03-08,403.60 894 | 893,745,2024-06-25,604.59 895 | 894,25,2025-01-16,75.78 896 | 895,994,2024-11-13,465.06 897 | 896,131,2024-05-12,676.53 898 | 897,291,2024-06-02,124.45 899 | 898,125,2024-04-03,600.84 900 | 899,427,2024-06-29,490.63 901 | 900,953,2024-12-17,535.30 902 | 901,633,2024-08-12,727.26 903 | 902,186,2024-05-08,782.16 904 | 903,249,2024-07-09,162.54 905 | 904,722,2024-11-18,79.32 906 | 905,520,2024-03-26,183.29 907 | 906,314,2024-09-23,589.04 908 | 907,729,2024-03-20,122.51 909 | 908,797,2025-01-15,259.94 910 | 909,442,2024-08-14,101.77 911 | 910,708,2024-07-24,656.22 912 | 911,613,2024-02-27,788.97 913 | 912,994,2024-03-01,155.74 914 | 913,338,2024-09-04,156.53 915 | 914,561,2025-01-20,955.60 916 | 915,79,2024-12-02,395.52 917 | 916,785,2024-09-17,139.76 918 | 917,689,2024-06-28,18.43 919 | 918,556,2024-03-09,740.16 920 | 919,702,2024-02-14,89.00 921 | 920,170,2025-01-01,74.64 922 | 921,834,2025-01-30,105.90 923 | 922,339,2024-09-25,292.84 924 | 923,654,2024-04-30,488.84 925 | 924,842,2024-08-09,809.00 926 | 925,92,2024-08-28,739.22 927 | 926,368,2024-04-02,750.31 928 | 927,841,2024-12-27,576.86 929 | 928,473,2024-04-18,650.22 930 | 929,844,2024-05-05,626.30 931 | 930,225,2024-11-04,89.08 932 | 931,623,2024-12-11,311.91 933 | 932,152,2024-05-31,637.21 934 | 933,55,2024-10-07,719.94 935 | 934,377,2025-01-03,46.32 936 | 935,1000,2024-06-22,605.67 937 | 936,273,2024-11-12,868.33 938 | 937,183,2024-11-02,845.54 939 | 938,983,2024-11-24,843.01 940 | 939,720,2024-08-09,128.40 941 | 940,715,2025-01-16,567.40 942 | 941,478,2025-01-08,933.80 943 | 942,796,2024-03-28,903.14 944 | 943,136,2024-07-12,306.45 945 | 944,162,2024-10-31,928.10 946 | 945,311,2024-10-01,209.15 947 | 946,445,2024-06-28,198.69 948 | 947,749,2024-10-21,445.28 949 | 948,10,2024-06-23,164.41 950 | 949,588,2024-11-09,913.43 951 | 950,835,2024-03-18,245.83 952 | 951,248,2024-08-30,198.63 953 | 952,237,2025-02-04,197.98 954 | 953,627,2024-05-27,491.86 955 | 954,981,2024-07-18,990.73 956 | 955,328,2024-06-01,315.96 957 | 956,894,2024-06-14,574.04 958 | 957,392,2024-12-04,25.86 959 | 958,967,2024-12-05,921.45 960 | 959,991,2024-02-28,48.77 961 | 960,707,2024-07-25,845.49 962 | 961,253,2024-03-25,799.57 963 | 962,405,2025-01-05,372.20 964 | 963,68,2024-06-13,577.84 965 | 964,706,2024-02-19,274.15 966 | 965,349,2024-07-08,741.51 967 | 966,155,2024-11-13,376.61 968 | 967,998,2024-08-04,473.99 969 | 968,505,2025-01-14,214.02 970 | 969,51,2024-03-25,882.60 971 | 970,880,2024-09-19,439.37 972 | 971,294,2024-07-18,314.63 973 | 972,679,2024-09-03,270.58 974 | 973,960,2024-12-09,136.34 975 | 974,964,2024-05-23,269.32 976 | 975,611,2024-10-06,315.68 977 | 976,196,2024-11-18,997.46 978 | 977,264,2024-07-30,91.76 979 | 978,347,2024-12-10,945.30 980 | 979,839,2024-09-24,430.82 981 | 980,348,2025-01-26,218.62 982 | 981,42,2024-06-16,625.40 983 | 982,421,2025-02-05,973.72 984 | 983,542,2024-10-20,767.07 985 | 984,808,2024-07-06,713.41 986 | 985,479,2024-04-23,699.78 987 | 986,674,2024-09-04,282.63 988 | 987,299,2024-09-02,445.82 989 | 988,837,2024-10-28,645.29 990 | 989,728,2024-05-25,971.75 991 | 990,656,2024-05-13,158.95 992 | 991,135,2025-01-02,926.21 993 | 992,759,2024-10-12,108.04 994 | 993,622,2024-05-21,239.28 995 | 994,492,2024-07-20,782.20 996 | 995,315,2024-10-08,868.37 997 | 996,642,2024-05-05,37.65 998 | 997,32,2024-03-25,85.10 999 | 998,414,2024-12-09,883.68 1000 | 999,207,2024-06-16,280.13 1001 | 1000,55,2025-01-14,644.62 1002 | -------------------------------------------------------------------------------- /data/products.csv: -------------------------------------------------------------------------------- 1 | product_id,product_name,category,price 2 | 357,Sketchbook,Books,80.53 3 | 1,Wireless Earbuds,Electronics,561.54 4 | 2,Dash Cam,Automotive,568.53 5 | 3,Air Freshener,Automotive,575.31 6 | 4,Cookware Set,Home & Kitchen,176.86 7 | 5,Hand Cream,Beauty,175.63 8 | 6,Educational Toy,Toys,14.84 9 | 7,Perfume,Beauty,50.73 10 | 8,Card Game,Toys,35.58 11 | 9,Book Cover,Books,57.70 12 | 10,Air Purifier,Home & Kitchen,94.27 13 | 11,Vacuum Cleaner,Home & Kitchen,444.64 14 | 12,Action Figure,Toys,98.12 15 | 13,Security Camera,Electronics,144.66 16 | 14,Body Lotion,Beauty,148.49 17 | 15,Hiking Backpack,Sports,379.98 18 | 16,Car Cover,Automotive,353.89 19 | 17,Face Mask,Beauty,157.09 20 | 18,Conditioner,Beauty,24.03 21 | 19,Face Scrub,Beauty,49.56 22 | 20,Foundation,Beauty,16.64 23 | 21,Magic Kit,Toys,73.73 24 | 22,Smart Watch,Electronics,630.85 25 | 23,Touch Up Paint,Automotive,520.28 26 | 24,Cutting Board,Home & Kitchen,328.16 27 | 25,Hair Dryer,Beauty,134.63 28 | 26,Floor Mats,Automotive,979.77 29 | 27,Robot Kit,Toys,44.62 30 | 28,Storage Container,Home & Kitchen,120.64 31 | 29,Tire Pressure Gauge,Automotive,575.02 32 | 30,Tie Holder,Clothing,106.47 33 | 31,Book Stand,Books,94.57 34 | 32,Humidifier,Home & Kitchen,142.48 35 | 33,Gloves,Clothing,93.72 36 | 34,Oil Filter,Automotive,467.62 37 | 35,Dumbbells,Sports,301.25 38 | 36,LED Light Strip,Electronics,109.63 39 | 37,Phone Charger,Electronics,764.17 40 | 38,Shoe Horn,Clothing,137.45 41 | 39,Water Bottle,Sports,157.72 42 | 40,Facial Cleanser,Beauty,155.73 43 | 41,Mini Projector,Electronics,836.39 44 | 42,Scarf,Clothing,17.94 45 | 43,T-Shirt,Clothing,37.21 46 | 44,Train Set,Toys,61.34 47 | 45,Garment Steamer,Clothing,151.00 48 | 46,Hair Serum,Beauty,119.97 49 | 47,Tablet Case,Electronics,648.45 50 | 48,First Aid Kit,Automotive,253.04 51 | 49,Jump Starter,Automotive,765.82 52 | 50,Car Wash Kit,Automotive,592.40 53 | 51,Car Phone Mount,Automotive,50.57 54 | 52,Laptop Stand,Electronics,432.81 55 | 53,Puzzle Set,Toys,82.55 56 | 54,Belt,Clothing,54.91 57 | 55,Play Kitchen,Toys,25.02 58 | 56,Shampoo,Beauty,133.40 59 | 57,Tennis Racket,Sports,359.44 60 | 58,Bluetooth Speaker,Electronics,658.67 61 | 59,Bath Towel,Home & Kitchen,454.13 62 | 60,Hair Straightener,Beauty,45.74 63 | 61,Mascara,Beauty,22.29 64 | 62,Throw Pillow,Home & Kitchen,358.82 65 | 63,Dress Hanger,Clothing,61.11 66 | 64,Kitchen Scale,Home & Kitchen,184.64 67 | 65,Doll House,Toys,51.89 68 | 66,Car Charger,Automotive,923.64 69 | 67,Travel Bag,Clothing,48.94 70 | 68,Moisturizer,Beauty,42.62 71 | 69,Shoe Rack,Clothing,156.28 72 | 70,Face Cream,Beauty,168.20 73 | 71,Socks,Clothing,188.05 74 | 72,Mixing Bowl,Home & Kitchen,90.70 75 | 73,Lipstick,Beauty,126.65 76 | 74,Watch,Clothing,128.43 77 | 75,Basketball,Sports,139.22 78 | 76,Trash Can,Home & Kitchen,255.17 79 | 77,Coin Purse,Clothing,114.70 80 | 78,Hair Tie,Clothing,134.36 81 | 79,Backpack,Clothing,168.53 82 | 80,Jewelry Box,Clothing,188.04 83 | 81,Hat,Clothing,166.41 84 | 82,Remote Car,Toys,73.15 85 | 83,Sunglasses,Clothing,65.18 86 | 84,Monitor,Electronics,985.88 87 | 85,Building Set,Toys,11.51 88 | 86,Food Processor,Home & Kitchen,424.74 89 | 87,Coffee Maker,Home & Kitchen,494.71 90 | 88,Blender,Home & Kitchen,426.82 91 | 89,Umbrella,Clothing,124.70 92 | 90,Power Bank,Electronics,205.86 93 | 91,Eye Shadow Palette,Beauty,154.74 94 | 92,Science Kit,Toys,69.38 95 | 93,Flying Drone,Toys,24.04 96 | 94,Nail Polish,Beauty,174.29 97 | 95,Play Dough,Toys,34.00 98 | 96,Running Shoes,Sports,278.50 99 | 97,Sunscreen,Beauty,166.55 100 | 98,External Hard Drive,Electronics,960.06 101 | 99,Air Compressor,Automotive,757.03 102 | 100,Makeup Brush Set,Beauty,148.28 103 | 101,USB Hub,Electronics,53.52 104 | 102,Keyboard,Electronics,622.59 105 | 103,Sketchbook,Books,92.29 106 | 104,Shower Curtain,Home & Kitchen,258.28 107 | 105,Dish Rack,Home & Kitchen,357.28 108 | 106,Wallet,Clothing,179.51 109 | 107,Garment Steamer,Clothing,199.27 110 | 108,Mixing Bowl,Home & Kitchen,176.00 111 | 109,Tennis Racket,Sports,28.49 112 | 110,Bath Towel,Home & Kitchen,55.29 113 | 111,Exercise Ball,Sports,410.63 114 | 112,Science Kit,Toys,9.56 115 | 113,Cookware Set,Home & Kitchen,40.55 116 | 114,Weight Bench,Sports,444.91 117 | 115,Food Processor,Home & Kitchen,249.58 118 | 116,Gym Bag,Sports,420.48 119 | 117,Shower Curtain,Home & Kitchen,482.95 120 | 118,Dictionary Stand,Books,64.33 121 | 119,Dumbbells,Sports,61.45 122 | 120,Reading Light,Books,49.76 123 | 121,Phone Charger,Electronics,387.68 124 | 122,Gaming Mouse,Electronics,263.80 125 | 123,Air Compressor,Automotive,793.11 126 | 124,Sunscreen,Beauty,114.46 127 | 125,Sunglasses,Clothing,64.38 128 | 126,Robot Kit,Toys,88.41 129 | 127,Fitness Tracker,Sports,487.46 130 | 128,Soccer Ball,Sports,171.67 131 | 129,Monitor,Electronics,686.70 132 | 130,Storage Container,Home & Kitchen,391.93 133 | 131,Tire Pressure Gauge,Automotive,362.83 134 | 132,Rice Cooker,Home & Kitchen,138.22 135 | 133,Throw Pillow,Home & Kitchen,421.13 136 | 134,Planner,Books,87.12 137 | 135,Puzzle Set,Toys,88.81 138 | 136,Belt,Clothing,112.35 139 | 137,Watch,Clothing,112.19 140 | 138,Address Book,Books,51.08 141 | 139,Basketball,Sports,463.25 142 | 140,Coin Purse,Clothing,160.66 143 | 141,Running Shoes,Sports,356.14 144 | 142,Smart Watch,Electronics,777.17 145 | 143,Car Wash Kit,Automotive,836.82 146 | 144,Coffee Maker,Home & Kitchen,225.24 147 | 145,Cutting Board,Home & Kitchen,449.21 148 | 146,Battery Charger,Automotive,135.25 149 | 147,Seat Covers,Automotive,262.97 150 | 148,Security Camera,Electronics,721.85 151 | 149,Plush Toy,Toys,13.45 152 | 150,Hair Straightener,Beauty,180.91 153 | 151,Blender,Home & Kitchen,106.12 154 | 152,Dish Rack,Home & Kitchen,224.79 155 | 153,Tie Holder,Clothing,147.85 156 | 154,Dash Cam,Automotive,254.91 157 | 155,Filing Cabinet,Books,39.40 158 | 156,LED Light Strip,Electronics,732.72 159 | 157,Mascara,Beauty,119.03 160 | 158,Knife Set,Home & Kitchen,161.19 161 | 159,Play Dough,Toys,88.77 162 | 160,Toaster,Home & Kitchen,475.57 163 | 161,Board Game,Toys,29.38 164 | 162,Educational Toy,Toys,87.01 165 | 163,Hiking Backpack,Sports,270.41 166 | 164,Jump Rope,Sports,239.42 167 | 165,Mini Projector,Electronics,194.66 168 | 166,Wallet,Clothing,41.85 169 | 167,Air Purifier,Home & Kitchen,389.73 170 | 168,Car Vacuum,Automotive,847.71 171 | 169,T-Shirt,Clothing,97.25 172 | 170,Trash Can,Home & Kitchen,460.42 173 | 171,Portable Fan,Electronics,865.91 174 | 172,Dress Hanger,Clothing,128.95 175 | 173,Jewelry Box,Clothing,198.23 176 | 174,Remote Car,Toys,71.94 177 | 175,Humidifier,Home & Kitchen,24.80 178 | 176,Bluetooth Speaker,Electronics,104.85 179 | 177,Kitchen Scale,Home & Kitchen,362.58 180 | 178,Conditioner,Beauty,70.94 181 | 179,Facial Cleanser,Beauty,127.46 182 | 180,Resistance Bands,Sports,266.89 183 | 181,Backpack,Clothing,96.95 184 | 182,Journal,Books,61.07 185 | 183,Makeup Brush Set,Beauty,93.36 186 | 184,Paper Towel Holder,Home & Kitchen,435.01 187 | 185,Vacuum Cleaner,Home & Kitchen,198.39 188 | 186,Hair Dryer,Beauty,146.98 189 | 187,Tablet Case,Electronics,461.88 190 | 188,Building Set,Toys,41.25 191 | 189,Trash Can,Home & Kitchen,109.00 192 | 190,Hat,Clothing,167.96 193 | 191,Facial Cleanser,Beauty,194.31 194 | 192,Desk Organizer,Books,42.09 195 | 193,Foundation,Beauty,99.57 196 | 194,Makeup Brush Set,Beauty,113.23 197 | 195,Kitchen Scale,Home & Kitchen,348.89 198 | 196,Nail Polish,Beauty,189.21 199 | 197,Tie Holder,Clothing,79.12 200 | 198,Page Markers,Books,38.96 201 | 199,Mini Projector,Electronics,71.62 202 | 200,Play Kitchen,Toys,5.98 203 | 201,Vacuum Cleaner,Home & Kitchen,208.21 204 | 202,Magic Kit,Toys,50.80 205 | 203,Garment Steamer,Clothing,108.39 206 | 204,Travel Bag,Clothing,36.03 207 | 205,Scarf,Clothing,89.82 208 | 206,Bath Towel,Home & Kitchen,51.74 209 | 207,External Hard Drive,Electronics,993.74 210 | 208,Doll House,Toys,63.52 211 | 209,Oil Filter,Automotive,260.20 212 | 210,Paper Towel Holder,Home & Kitchen,157.99 213 | 211,Plush Toy,Toys,66.64 214 | 212,Wallet,Clothing,192.77 215 | 213,Shoe Rack,Clothing,24.15 216 | 214,Car Cover,Automotive,257.46 217 | 215,T-Shirt,Clothing,38.84 218 | 216,Security Camera,Electronics,212.68 219 | 217,Moisturizer,Beauty,138.33 220 | 218,Dictionary Stand,Books,68.27 221 | 219,Cookware Set,Home & Kitchen,200.99 222 | 220,Dish Rack,Home & Kitchen,361.95 223 | 221,Action Figure,Toys,19.74 224 | 222,Belt,Clothing,161.36 225 | 223,Dress Hanger,Clothing,36.91 226 | 224,Resistance Bands,Sports,85.16 227 | 225,Cutting Board,Home & Kitchen,148.08 228 | 226,Air Purifier,Home & Kitchen,263.78 229 | 227,Backpack,Clothing,85.33 230 | 228,Webcam,Electronics,626.78 231 | 229,Eye Shadow Palette,Beauty,156.67 232 | 230,Rice Cooker,Home & Kitchen,259.19 233 | 231,Tennis Racket,Sports,119.98 234 | 232,Building Set,Toys,63.52 235 | 233,Hand Cream,Beauty,142.96 236 | 234,Book Stand,Books,14.11 237 | 235,Gloves,Clothing,118.42 238 | 236,Book Ends,Books,80.88 239 | 237,LED Headlights,Automotive,848.61 240 | 238,Socks,Clothing,44.40 241 | 239,Remote Car,Toys,53.43 242 | 240,Jewelry Box,Clothing,84.59 243 | 241,Conditioner,Beauty,52.52 244 | 242,Shoe Horn,Clothing,87.89 245 | 243,Humidifier,Home & Kitchen,183.62 246 | 244,Sunglasses,Clothing,170.61 247 | 245,Lipstick,Beauty,124.36 248 | 246,Car Wash Kit,Automotive,105.03 249 | 247,Hair Dryer,Beauty,104.82 250 | 248,Umbrella,Clothing,160.63 251 | 249,Soccer Ball,Sports,284.98 252 | 250,Watch,Clothing,148.23 253 | 251,Weight Bench,Sports,479.76 254 | 252,Hair Tie,Clothing,156.62 255 | 253,Fitness Tracker,Sports,433.31 256 | 254,Science Kit,Toys,89.40 257 | 255,Hair Straightener,Beauty,188.40 258 | 256,Tablet Case,Electronics,167.58 259 | 257,Throw Pillow,Home & Kitchen,438.27 260 | 258,Coffee Maker,Home & Kitchen,378.54 261 | 259,Knife Set,Home & Kitchen,487.32 262 | 260,Food Processor,Home & Kitchen,212.74 263 | 261,USB Hub,Electronics,415.87 264 | 262,Shampoo,Beauty,120.94 265 | 263,Coin Purse,Clothing,61.14 266 | 264,Hair Serum,Beauty,171.81 267 | 265,Art Set,Toys,52.75 268 | 266,Face Mask,Beauty,148.51 269 | 267,Reading Glasses,Books,92.61 270 | 268,Storage Container,Home & Kitchen,158.56 271 | 269,Sunscreen,Beauty,122.03 272 | 270,Jewelry Box,Clothing,46.05 273 | 271,Cycling Gloves,Sports,77.45 274 | 272,Planner,Books,93.30 275 | 273,Jump Rope,Sports,436.43 276 | 274,Desk Lamp,Electronics,52.01 277 | 275,Knee Brace,Sports,364.06 278 | 276,Hair Tie,Clothing,162.88 279 | 277,Toaster,Home & Kitchen,151.63 280 | 278,Shoe Rack,Clothing,122.08 281 | 279,Portable Fan,Electronics,792.25 282 | 280,Camping Tent,Sports,23.91 283 | 281,Trash Can,Home & Kitchen,47.93 284 | 282,Sunscreen,Beauty,56.27 285 | 283,Travel Bag,Clothing,171.40 286 | 284,Conditioner,Beauty,51.68 287 | 285,Fitness Tracker,Sports,136.26 288 | 286,Security Camera,Electronics,317.77 289 | 287,Umbrella,Clothing,142.20 290 | 288,Bluetooth Speaker,Electronics,991.76 291 | 289,Blender,Home & Kitchen,184.01 292 | 290,Tie Holder,Clothing,60.51 293 | 291,Coin Purse,Clothing,79.24 294 | 292,Reading Glasses,Books,17.67 295 | 293,Shampoo,Beauty,14.86 296 | 294,Bath Towel,Home & Kitchen,92.90 297 | 295,Hair Serum,Beauty,99.76 298 | 296,Magic Kit,Toys,66.90 299 | 297,LED Headlights,Automotive,623.39 300 | 298,Vacuum Cleaner,Home & Kitchen,225.33 301 | 299,Hat,Clothing,159.88 302 | 300,Exercise Ball,Sports,256.34 303 | 301,First Aid Kit,Automotive,792.23 304 | 302,Filing Cabinet,Books,68.99 305 | 303,Perfume,Beauty,97.74 306 | 304,Facial Cleanser,Beauty,91.78 307 | 305,USB Hub,Electronics,55.81 308 | 306,Golf Gloves,Sports,75.89 309 | 307,Educational Toy,Toys,64.43 310 | 308,Battery Charger,Automotive,762.90 311 | 309,Kitchen Scale,Home & Kitchen,270.70 312 | 310,Cookware Set,Home & Kitchen,390.18 313 | 311,Socks,Clothing,139.91 314 | 312,Play Dough,Toys,87.33 315 | 313,Face Scrub,Beauty,33.94 316 | 314,Coloring Book,Books,15.61 317 | 315,Rice Cooker,Home & Kitchen,178.11 318 | 316,Notebook,Books,12.05 319 | 317,Power Bank,Electronics,853.69 320 | 318,Keyboard,Electronics,164.82 321 | 319,Coffee Maker,Home & Kitchen,387.87 322 | 320,Wallet,Clothing,117.79 323 | 321,Reading Light,Books,52.07 324 | 322,Face Mask,Beauty,41.89 325 | 323,Tire Pressure Gauge,Automotive,470.95 326 | 324,Foundation,Beauty,166.49 327 | 325,Dictionary Stand,Books,16.13 328 | 326,Storage Container,Home & Kitchen,162.48 329 | 327,Soccer Ball,Sports,109.66 330 | 328,Dumbbells,Sports,31.93 331 | 329,Gaming Mouse,Electronics,822.62 332 | 330,Wi-Fi Router,Electronics,632.84 333 | 331,Swimming Goggles,Sports,280.43 334 | 332,Monitor,Electronics,611.81 335 | 333,Tablet Case,Electronics,350.43 336 | 334,T-Shirt,Clothing,137.70 337 | 335,Dress Hanger,Clothing,44.81 338 | 336,Water Bottle,Sports,221.58 339 | 337,Knife Set,Home & Kitchen,191.88 340 | 338,Phone Charger,Electronics,952.54 341 | 339,Mini Projector,Electronics,401.88 342 | 340,Touch Up Paint,Automotive,633.37 343 | 341,Belt,Clothing,23.50 344 | 342,Windshield Wipers,Automotive,497.64 345 | 343,LED Light Strip,Electronics,107.87 346 | 344,Card Game,Toys,50.81 347 | 345,Smart Watch,Electronics,897.93 348 | 346,Backpack,Clothing,161.99 349 | 347,Tool Kit,Automotive,904.39 350 | 348,Paper Towel Holder,Home & Kitchen,458.03 351 | 349,Floor Mats,Automotive,518.19 352 | 350,Webcam,Electronics,143.46 353 | 351,Bookmark Set,Books,45.72 354 | 352,Hiking Backpack,Sports,250.14 355 | 353,Jump Starter,Automotive,968.03 356 | 354,Lipstick,Beauty,178.69 357 | 355,Car Wash Kit,Automotive,71.39 358 | 356,Skateboard,Sports,276.23 359 | 358,Watch,Clothing,49.80 360 | 359,Yoga Mat,Sports,72.98 361 | 360,Digital Clock,Electronics,149.52 362 | 361,Gloves,Clothing,45.56 363 | 362,Running Shoes,Sports,99.34 364 | 363,Tennis Racket,Sports,30.59 365 | 364,Face Cream,Beauty,24.91 366 | 365,Play Kitchen,Toys,50.74 367 | 366,Air Purifier,Home & Kitchen,59.24 368 | 367,Gym Bag,Sports,31.94 369 | 368,Hair Dryer,Beauty,12.76 370 | 369,Throw Pillow,Home & Kitchen,456.58 371 | 370,Laptop Stand,Electronics,119.67 372 | 371,Sunglasses,Clothing,11.52 373 | 372,Weight Bench,Sports,265.26 374 | 373,External Hard Drive,Electronics,974.17 375 | 374,Resistance Bands,Sports,266.07 376 | 375,Scarf,Clothing,170.41 377 | 376,Garment Steamer,Clothing,134.78 378 | 377,Dish Rack,Home & Kitchen,195.08 379 | 378,Shoe Horn,Clothing,170.89 380 | 379,Mixing Bowl,Home & Kitchen,484.52 381 | 380,Wireless Earbuds,Electronics,406.78 382 | 381,Wallet,Clothing,158.67 383 | 382,Train Set,Toys,54.29 384 | 383,Portable Fan,Electronics,533.32 385 | 384,Umbrella,Clothing,91.85 386 | 385,Tablet Case,Electronics,170.41 387 | 386,Perfume,Beauty,48.21 388 | 387,External Hard Drive,Electronics,528.21 389 | 388,Sunglasses,Clothing,185.60 390 | 389,Nail Polish,Beauty,171.65 391 | 390,Page Markers,Books,85.53 392 | 391,Camping Tent,Sports,91.28 393 | 392,Book Ends,Books,88.85 394 | 393,Air Purifier,Home & Kitchen,180.09 395 | 394,Facial Cleanser,Beauty,184.15 396 | 395,Touch Up Paint,Automotive,770.89 397 | 396,Shower Curtain,Home & Kitchen,486.11 398 | 397,Water Bottle,Sports,292.35 399 | 398,Book Cover,Books,21.79 400 | 399,Shoe Rack,Clothing,134.61 401 | 400,Windshield Wipers,Automotive,238.30 402 | 401,Tie Holder,Clothing,161.70 403 | 402,Resistance Bands,Sports,341.87 404 | 403,Coin Purse,Clothing,30.47 405 | 404,Basketball,Sports,325.48 406 | 405,Desk Lamp,Electronics,553.67 407 | 406,Gloves,Clothing,128.08 408 | 407,Wireless Earbuds,Electronics,453.58 409 | 408,Wi-Fi Router,Electronics,141.91 410 | 409,Hiking Backpack,Sports,335.10 411 | 410,Swimming Goggles,Sports,146.60 412 | 411,Notebook,Books,65.94 413 | 412,Watch,Clothing,133.80 414 | 413,Battery Charger,Automotive,500.93 415 | 414,Webcam,Electronics,531.74 416 | 415,Monitor,Electronics,862.58 417 | 416,Socks,Clothing,145.52 418 | 417,Hair Dryer,Beauty,56.14 419 | 418,Fitness Tracker,Sports,498.21 420 | 419,Humidifier,Home & Kitchen,422.12 421 | 420,Golf Gloves,Sports,299.62 422 | 421,USB Hub,Electronics,373.93 423 | 422,Toaster,Home & Kitchen,83.97 424 | 423,Car Wash Kit,Automotive,189.46 425 | 424,Magazine Holder,Books,26.33 426 | 425,Photo Album,Books,14.17 427 | 426,Planner,Books,93.98 428 | 427,Trash Can,Home & Kitchen,237.46 429 | 428,Hand Cream,Beauty,40.91 430 | 429,Face Cream,Beauty,162.80 431 | 430,Conditioner,Beauty,119.05 432 | 431,Cutting Board,Home & Kitchen,318.59 433 | 432,Car Charger,Automotive,998.26 434 | 433,Keyboard,Electronics,352.48 435 | 434,Throw Pillow,Home & Kitchen,245.90 436 | 435,Shampoo,Beauty,105.26 437 | 436,Kitchen Scale,Home & Kitchen,319.15 438 | 437,Phone Charger,Electronics,652.47 439 | 438,Board Game,Toys,54.65 440 | 439,Cookware Set,Home & Kitchen,430.00 441 | 440,Tennis Racket,Sports,244.30 442 | 441,Bluetooth Speaker,Electronics,490.30 443 | 442,Mascara,Beauty,115.21 444 | 443,Exercise Ball,Sports,229.91 445 | 444,Journal,Books,35.08 446 | 445,Travel Bag,Clothing,51.24 447 | 446,Sunscreen,Beauty,24.79 448 | 447,Shoe Horn,Clothing,43.73 449 | 448,Hair Tie,Clothing,157.03 450 | 449,Paper Towel Holder,Home & Kitchen,371.51 451 | 450,Jewelry Box,Clothing,92.96 452 | 451,Card Game,Toys,43.73 453 | 452,Knife Set,Home & Kitchen,202.78 454 | 453,Sketchbook,Books,96.18 455 | 454,Mixing Bowl,Home & Kitchen,406.23 456 | 455,First Aid Kit,Automotive,481.85 457 | 456,Bath Towel,Home & Kitchen,203.54 458 | 457,Car Phone Mount,Automotive,434.54 459 | 458,Coffee Maker,Home & Kitchen,115.17 460 | 459,LED Headlights,Automotive,366.37 461 | 460,Rice Cooker,Home & Kitchen,119.12 462 | 461,Hair Straightener,Beauty,62.54 463 | 462,Reading Light,Books,30.96 464 | 463,Book Stand,Books,31.30 465 | 464,Storage Container,Home & Kitchen,353.01 466 | 465,Hat,Clothing,58.85 467 | 466,Belt,Clothing,137.75 468 | 467,Remote Car,Toys,92.61 469 | 468,Gym Bag,Sports,144.03 470 | 469,LED Light Strip,Electronics,966.16 471 | 470,Building Set,Toys,33.06 472 | 471,Educational Toy,Toys,37.15 473 | 472,Bookmark Set,Books,16.53 474 | 473,Air Compressor,Automotive,872.06 475 | 474,Moisturizer,Beauty,18.11 476 | 475,Foundation,Beauty,29.81 477 | 476,Gaming Mouse,Electronics,383.78 478 | 477,Floor Mats,Automotive,904.10 479 | 478,Power Bank,Electronics,896.35 480 | 479,Jump Rope,Sports,473.48 481 | 480,Calendar,Books,38.61 482 | 481,Lipstick,Beauty,117.84 483 | 482,Dress Hanger,Clothing,154.63 484 | 483,Garment Steamer,Clothing,54.01 485 | 484,Hair Serum,Beauty,23.21 486 | 485,Face Scrub,Beauty,171.40 487 | 486,Skateboard,Sports,394.62 488 | 487,Yoga Mat,Sports,438.06 489 | 488,Doll House,Toys,54.17 490 | 489,Backpack,Clothing,130.00 491 | 490,Weight Bench,Sports,61.45 492 | 491,Drawing Tablet,Toys,88.68 493 | 492,Scarf,Clothing,191.04 494 | 493,Security Camera,Electronics,527.78 495 | 494,T-Shirt,Clothing,135.92 496 | 495,Dictionary Stand,Books,77.46 497 | 496,Tie Holder,Clothing,28.40 498 | 497,Paper Towel Holder,Home & Kitchen,22.24 499 | 498,Water Bottle,Sports,165.77 500 | 499,Tablet Case,Electronics,123.35 501 | 500,Dumbbells,Sports,188.92 502 | 501,Sunglasses,Clothing,100.27 503 | 502,Digital Clock,Electronics,975.94 504 | 503,Running Shoes,Sports,366.92 505 | 504,Musical Toy,Toys,75.57 506 | 505,Magic Kit,Toys,46.06 507 | 506,Toaster,Home & Kitchen,317.93 508 | 507,Rice Cooker,Home & Kitchen,377.09 509 | 508,Air Purifier,Home & Kitchen,104.97 510 | 509,Hat,Clothing,166.91 511 | 510,Cookware Set,Home & Kitchen,24.90 512 | 511,Foundation,Beauty,197.27 513 | 512,Wallet,Clothing,54.66 514 | 513,T-Shirt,Clothing,83.18 515 | 514,Gym Bag,Sports,110.90 516 | 515,Calendar,Books,62.69 517 | 516,Backpack,Clothing,29.17 518 | 517,Coin Purse,Clothing,148.74 519 | 518,Scarf,Clothing,123.29 520 | 519,Nail Polish,Beauty,161.19 521 | 520,Phone Holder,Automotive,634.64 522 | 521,Skateboard,Sports,173.28 523 | 522,Kitchen Scale,Home & Kitchen,379.41 524 | 523,Camping Tent,Sports,188.95 525 | 524,Sunscreen,Beauty,150.26 526 | 525,Page Markers,Books,92.26 527 | 526,Bath Towel,Home & Kitchen,279.80 528 | 527,Drawing Tablet,Toys,31.75 529 | 528,Photo Album,Books,55.27 530 | 529,Plush Toy,Toys,30.29 531 | 530,Educational Toy,Toys,15.60 532 | 531,Humidifier,Home & Kitchen,421.74 533 | 532,Tennis Racket,Sports,340.17 534 | 533,LED Light Strip,Electronics,871.83 535 | 534,Coffee Maker,Home & Kitchen,99.63 536 | 535,Hair Serum,Beauty,190.85 537 | 536,Travel Bag,Clothing,104.33 538 | 537,Hair Dryer,Beauty,165.51 539 | 538,Tool Kit,Automotive,830.90 540 | 539,Makeup Brush Set,Beauty,99.40 541 | 540,Conditioner,Beauty,125.76 542 | 541,Building Blocks,Toys,19.51 543 | 542,Face Cream,Beauty,151.77 544 | 543,Power Bank,Electronics,977.28 545 | 544,Face Scrub,Beauty,137.18 546 | 545,Floor Mats,Automotive,60.28 547 | 546,Yoga Mat,Sports,113.50 548 | 547,Laptop Stand,Electronics,161.38 549 | 548,Gloves,Clothing,186.76 550 | 549,Art Set,Toys,27.73 551 | 550,Hair Tie,Clothing,120.89 552 | 551,Air Freshener,Automotive,707.59 553 | 552,Watch,Clothing,78.53 554 | 553,Shampoo,Beauty,178.63 555 | 554,Trash Can,Home & Kitchen,186.64 556 | 555,Car Phone Mount,Automotive,497.26 557 | 556,Wi-Fi Router,Electronics,238.49 558 | 557,Cutting Board,Home & Kitchen,416.95 559 | 558,Smart Watch,Electronics,209.25 560 | 559,Doll House,Toys,72.30 561 | 560,Knife Set,Home & Kitchen,196.29 562 | 561,Wireless Earbuds,Electronics,632.56 563 | 562,Golf Gloves,Sports,358.12 564 | 563,Food Processor,Home & Kitchen,415.23 565 | 564,Jewelry Box,Clothing,150.20 566 | 565,Face Mask,Beauty,71.66 567 | 566,Dress Hanger,Clothing,74.87 568 | 567,Hiking Backpack,Sports,47.48 569 | 568,Perfume,Beauty,152.25 570 | 569,Socks,Clothing,158.14 571 | 570,Air Compressor,Automotive,867.17 572 | 571,Umbrella,Clothing,170.66 573 | 572,Security Camera,Electronics,761.65 574 | 573,Belt,Clothing,183.25 575 | 574,Book Cover,Books,13.99 576 | 575,Shoe Horn,Clothing,139.35 577 | 576,Eye Shadow Palette,Beauty,123.63 578 | 577,Shoe Rack,Clothing,105.09 579 | 578,Play Dough,Toys,34.30 580 | 579,Fitness Tracker,Sports,411.46 581 | 580,External Hard Drive,Electronics,635.85 582 | 581,Facial Cleanser,Beauty,138.32 583 | 582,Hand Cream,Beauty,111.82 584 | 583,Vacuum Cleaner,Home & Kitchen,482.14 585 | 584,Body Lotion,Beauty,56.85 586 | 585,Moisturizer,Beauty,30.98 587 | 586,Garment Steamer,Clothing,169.40 588 | 587,Hair Straightener,Beauty,155.26 589 | 588,Shoe Rack,Clothing,165.10 590 | 589,Webcam,Electronics,305.25 591 | 590,Tablet Case,Electronics,514.73 592 | 591,Desk Lamp,Electronics,71.60 593 | 592,Tire Pressure Gauge,Automotive,404.65 594 | 593,Magic Kit,Toys,90.26 595 | 594,Skateboard,Sports,53.99 596 | 595,Photo Album,Books,32.19 597 | 596,Hat,Clothing,123.57 598 | 597,Car Cover,Automotive,73.56 599 | 598,Car Phone Mount,Automotive,579.22 600 | 599,Coin Purse,Clothing,30.14 601 | 600,Wireless Earbuds,Electronics,443.15 602 | 601,Calendar,Books,86.10 603 | 602,Eye Shadow Palette,Beauty,27.46 604 | 603,Educational Toy,Toys,14.22 605 | 604,Toaster,Home & Kitchen,228.94 606 | 605,Dictionary Stand,Books,69.25 607 | 606,Shower Curtain,Home & Kitchen,288.82 608 | 607,Notebook,Books,49.41 609 | 608,External Hard Drive,Electronics,477.06 610 | 609,Jewelry Box,Clothing,148.43 611 | 610,Coloring Book,Books,29.05 612 | 611,Travel Bag,Clothing,168.32 613 | 612,Basketball,Sports,116.90 614 | 613,Coffee Maker,Home & Kitchen,468.09 615 | 614,Phone Charger,Electronics,123.08 616 | 615,Art Set,Toys,91.41 617 | 616,Play Kitchen,Toys,87.35 618 | 617,Knife Set,Home & Kitchen,229.94 619 | 618,Sunglasses,Clothing,137.39 620 | 619,Desk Organizer,Books,76.58 621 | 620,Belt,Clothing,83.10 622 | 621,Laptop Stand,Electronics,807.92 623 | 622,Paper Towel Holder,Home & Kitchen,221.11 624 | 623,Tie Holder,Clothing,183.62 625 | 624,Car Charger,Automotive,595.36 626 | 625,Building Blocks,Toys,44.42 627 | 626,Nail Polish,Beauty,110.41 628 | 627,Filing Cabinet,Books,12.06 629 | 628,Bookmark Set,Books,77.66 630 | 629,Drawing Tablet,Toys,55.70 631 | 630,Humidifier,Home & Kitchen,303.88 632 | 631,Page Markers,Books,39.29 633 | 632,Air Purifier,Home & Kitchen,372.47 634 | 633,Plush Toy,Toys,25.83 635 | 634,Bluetooth Speaker,Electronics,554.21 636 | 635,Sunscreen,Beauty,29.91 637 | 636,Exercise Ball,Sports,100.79 638 | 637,Dish Rack,Home & Kitchen,301.80 639 | 638,Socks,Clothing,136.22 640 | 639,Blender,Home & Kitchen,334.52 641 | 640,Reading Glasses,Books,78.75 642 | 641,Train Set,Toys,80.27 643 | 642,Library Cart,Books,81.73 644 | 643,Smart Watch,Electronics,919.47 645 | 644,Shampoo,Beauty,103.58 646 | 645,Book Stand,Books,89.39 647 | 646,Storage Container,Home & Kitchen,20.18 648 | 647,Card Game,Toys,32.11 649 | 648,Monitor,Electronics,750.86 650 | 649,Shoe Horn,Clothing,130.17 651 | 650,Portable Fan,Electronics,925.39 652 | 651,Rice Cooker,Home & Kitchen,475.47 653 | 652,Mascara,Beauty,162.22 654 | 653,Garment Steamer,Clothing,29.13 655 | 654,Yoga Mat,Sports,248.63 656 | 655,Gloves,Clothing,46.83 657 | 656,Food Processor,Home & Kitchen,307.81 658 | 657,Action Figure,Toys,44.62 659 | 658,Address Book,Books,42.38 660 | 659,Weight Bench,Sports,133.85 661 | 660,Jump Rope,Sports,226.13 662 | 661,Journal,Books,75.91 663 | 662,Trash Can,Home & Kitchen,228.71 664 | 663,T-Shirt,Clothing,88.38 665 | 664,Gaming Mouse,Electronics,618.24 666 | 665,Fitness Tracker,Sports,473.54 667 | 666,Perfume,Beauty,137.90 668 | 667,USB Hub,Electronics,572.56 669 | 668,Wi-Fi Router,Electronics,58.39 670 | 669,Jump Starter,Automotive,265.60 671 | 670,Face Cream,Beauty,98.91 672 | 671,Hair Straightener,Beauty,181.42 673 | 672,LED Light Strip,Electronics,484.86 674 | 673,Oil Filter,Automotive,762.27 675 | 674,Mini Projector,Electronics,233.82 676 | 675,Makeup Brush Set,Beauty,66.59 677 | 676,Doll House,Toys,93.21 678 | 677,Hand Cream,Beauty,131.88 679 | 678,Play Dough,Toys,22.73 680 | 679,Seat Covers,Automotive,309.44 681 | 680,Kitchen Scale,Home & Kitchen,330.11 682 | 681,Robot Kit,Toys,55.77 683 | 682,Conditioner,Beauty,71.22 684 | 683,Sketchbook,Books,48.25 685 | 684,Tool Kit,Automotive,301.24 686 | 685,Car Vacuum,Automotive,397.76 687 | 686,Running Shoes,Sports,61.88 688 | 687,Cutting Board,Home & Kitchen,251.88 689 | 688,Moisturizer,Beauty,166.51 690 | 689,Watch,Clothing,33.45 691 | 690,Scarf,Clothing,171.98 692 | 691,Power Bank,Electronics,707.08 693 | 692,Science Kit,Toys,72.46 694 | 693,Body Lotion,Beauty,69.30 695 | 694,Bath Towel,Home & Kitchen,23.22 696 | 695,Air Compressor,Automotive,875.61 697 | 696,Magazine Holder,Books,46.21 698 | 697,Building Set,Toys,56.82 699 | 698,Hair Dryer,Beauty,95.43 700 | 699,Mixing Bowl,Home & Kitchen,201.37 701 | 700,Face Scrub,Beauty,148.19 702 | 701,Dash Cam,Automotive,902.19 703 | 702,Keyboard,Electronics,168.99 704 | 703,Facial Cleanser,Beauty,78.71 705 | 704,Lipstick,Beauty,174.35 706 | 705,Throw Pillow,Home & Kitchen,405.71 707 | 706,Battery Charger,Automotive,422.31 708 | 707,Face Mask,Beauty,74.68 709 | 708,Digital Clock,Electronics,269.19 710 | 709,Touch Up Paint,Automotive,136.89 711 | 710,Hair Serum,Beauty,163.37 712 | 711,Vacuum Cleaner,Home & Kitchen,87.75 713 | 712,Security Camera,Electronics,701.00 714 | 713,Cookware Set,Home & Kitchen,93.75 715 | 714,Cookware Set,Home & Kitchen,35.97 716 | 715,Toaster,Home & Kitchen,280.87 717 | 716,Play Dough,Toys,38.15 718 | 717,Coin Purse,Clothing,31.39 719 | 718,Battery Charger,Automotive,53.15 720 | 719,Body Lotion,Beauty,59.67 721 | 720,Lipstick,Beauty,66.62 722 | 721,Paper Towel Holder,Home & Kitchen,442.42 723 | 722,Gym Bag,Sports,328.06 724 | 723,Basketball,Sports,332.34 725 | 724,Travel Bag,Clothing,126.01 726 | 725,Mascara,Beauty,140.24 727 | 726,Humidifier,Home & Kitchen,46.41 728 | 727,Coffee Maker,Home & Kitchen,51.29 729 | 728,Facial Cleanser,Beauty,18.21 730 | 729,Card Game,Toys,45.91 731 | 730,Power Bank,Electronics,272.03 732 | 731,Scarf,Clothing,109.56 733 | 732,Weight Bench,Sports,494.49 734 | 733,Coloring Book,Books,98.84 735 | 734,External Hard Drive,Electronics,620.55 736 | 735,T-Shirt,Clothing,102.86 737 | 736,First Aid Kit,Automotive,992.47 738 | 737,Dress Hanger,Clothing,79.50 739 | 738,Educational Toy,Toys,19.10 740 | 739,Dash Cam,Automotive,620.67 741 | 740,Sketchbook,Books,74.88 742 | 741,Shower Curtain,Home & Kitchen,376.92 743 | 742,Tennis Racket,Sports,49.41 744 | 743,Webcam,Electronics,473.23 745 | 744,Sunglasses,Clothing,181.44 746 | 745,Air Freshener,Automotive,456.76 747 | 746,Laptop Stand,Electronics,673.97 748 | 747,Foundation,Beauty,147.06 749 | 748,Wireless Earbuds,Electronics,125.34 750 | 749,Magazine Holder,Books,13.75 751 | 750,Moisturizer,Beauty,37.62 752 | 751,Notebook,Books,92.90 753 | 752,Touch Up Paint,Automotive,194.34 754 | 753,Car Charger,Automotive,476.65 755 | 754,Face Cream,Beauty,139.97 756 | 755,Hair Dryer,Beauty,145.60 757 | 756,Makeup Brush Set,Beauty,144.32 758 | 757,Tire Pressure Gauge,Automotive,170.40 759 | 758,Sunscreen,Beauty,38.52 760 | 759,Backpack,Clothing,193.21 761 | 760,Journal,Books,70.85 762 | 761,Monitor,Electronics,58.20 763 | 762,Vacuum Cleaner,Home & Kitchen,70.12 764 | 763,Trash Can,Home & Kitchen,190.39 765 | 764,LED Headlights,Automotive,500.42 766 | 765,Portable Fan,Electronics,585.88 767 | 766,Hand Cream,Beauty,126.65 768 | 767,Remote Car,Toys,18.17 769 | 768,Tablet Case,Electronics,739.44 770 | 769,Wi-Fi Router,Electronics,106.27 771 | 770,Keyboard,Electronics,698.76 772 | 771,Rice Cooker,Home & Kitchen,195.39 773 | 772,Page Markers,Books,70.77 774 | 773,Mini Projector,Electronics,176.90 775 | 774,Wallet,Clothing,139.75 776 | 775,Doll House,Toys,68.63 777 | 776,Jewelry Box,Clothing,137.52 778 | 777,Soccer Ball,Sports,379.60 779 | 778,Photo Album,Books,73.75 780 | 779,Bookmark Set,Books,53.41 781 | 780,Shoe Rack,Clothing,122.49 782 | 781,Swimming Goggles,Sports,337.46 783 | 782,Hair Straightener,Beauty,115.87 784 | 783,Watch,Clothing,148.46 785 | 784,Security Camera,Electronics,631.56 786 | 785,Gloves,Clothing,26.48 787 | 786,Face Scrub,Beauty,69.42 788 | 787,Library Cart,Books,35.35 789 | 788,Socks,Clothing,51.25 790 | 789,Knee Brace,Sports,235.24 791 | 790,Tie Holder,Clothing,15.63 792 | 791,Cycling Gloves,Sports,324.90 793 | 792,Book Cover,Books,17.56 794 | 793,Drawing Tablet,Toys,20.62 795 | 794,Umbrella,Clothing,41.11 796 | 795,Car Cover,Automotive,761.95 797 | 796,Train Set,Toys,37.55 798 | 797,Golf Gloves,Sports,239.64 799 | 798,Digital Clock,Electronics,157.70 800 | 799,Garment Steamer,Clothing,98.94 801 | 800,Jump Rope,Sports,480.72 802 | 801,Throw Pillow,Home & Kitchen,494.14 803 | 802,Dumbbells,Sports,302.80 804 | 803,LED Light Strip,Electronics,445.88 805 | 804,Running Shoes,Sports,377.03 806 | 805,Shampoo,Beauty,123.75 807 | 806,Bluetooth Speaker,Electronics,564.43 808 | 807,Hair Tie,Clothing,89.42 809 | 808,Kitchen Scale,Home & Kitchen,29.62 810 | 809,Nail Polish,Beauty,19.46 811 | 810,Dish Rack,Home & Kitchen,173.18 812 | 811,Board Game,Toys,96.80 813 | 812,Yoga Mat,Sports,122.44 814 | 813,Desk Lamp,Electronics,328.16 815 | 814,Conditioner,Beauty,174.82 816 | 815,Shoe Horn,Clothing,174.60 817 | 816,Water Bottle,Sports,263.73 818 | 817,Belt,Clothing,173.58 819 | 818,Face Mask,Beauty,82.12 820 | 819,Camping Tent,Sports,95.39 821 | 820,Jump Starter,Automotive,572.24 822 | 821,Smart Watch,Electronics,593.05 823 | 822,Perfume,Beauty,37.77 824 | 823,Hat,Clothing,110.95 825 | 824,Sunglasses,Clothing,189.42 826 | 825,Hair Straightener,Beauty,21.43 827 | 826,Trash Can,Home & Kitchen,280.40 828 | 827,Portable Fan,Electronics,659.94 829 | 828,Storage Container,Home & Kitchen,486.25 830 | 829,Mini Projector,Electronics,572.72 831 | 830,Perfume,Beauty,71.11 832 | 831,Car Charger,Automotive,464.66 833 | 832,Address Book,Books,42.19 834 | 833,Hair Dryer,Beauty,191.84 835 | 834,Weight Bench,Sports,231.67 836 | 835,Photo Album,Books,63.16 837 | 836,Blender,Home & Kitchen,491.08 838 | 837,Reading Glasses,Books,40.72 839 | 838,Power Bank,Electronics,808.37 840 | 839,Air Compressor,Automotive,107.94 841 | 840,Play Kitchen,Toys,78.57 842 | 841,LED Light Strip,Electronics,283.62 843 | 842,Makeup Brush Set,Beauty,184.14 844 | 843,Wallet,Clothing,15.24 845 | 844,Mixing Bowl,Home & Kitchen,161.01 846 | 845,Dumbbells,Sports,118.92 847 | 846,Cookware Set,Home & Kitchen,139.55 848 | 847,Face Scrub,Beauty,166.29 849 | 848,Shoe Rack,Clothing,73.16 850 | 849,Page Markers,Books,63.10 851 | 850,Monitor,Electronics,259.17 852 | 851,Water Bottle,Sports,117.62 853 | 852,Shampoo,Beauty,182.58 854 | 853,Food Processor,Home & Kitchen,445.48 855 | 854,Bluetooth Speaker,Electronics,277.63 856 | 855,Hair Tie,Clothing,113.18 857 | 856,Dress Hanger,Clothing,156.69 858 | 857,Golf Gloves,Sports,408.68 859 | 858,Mascara,Beauty,182.30 860 | 859,Watch,Clothing,42.05 861 | 860,Shoe Horn,Clothing,42.38 862 | 861,Scarf,Clothing,189.77 863 | 862,Remote Car,Toys,77.08 864 | 863,Hand Cream,Beauty,54.89 865 | 864,Wi-Fi Router,Electronics,797.04 866 | 865,Security Camera,Electronics,280.96 867 | 866,Body Lotion,Beauty,92.02 868 | 867,Knife Set,Home & Kitchen,56.47 869 | 868,Car Vacuum,Automotive,467.27 870 | 869,Windshield Wipers,Automotive,232.72 871 | 870,Lipstick,Beauty,130.51 872 | 871,Robot Kit,Toys,47.86 873 | 872,Puzzle Set,Toys,35.95 874 | 873,Dictionary Stand,Books,52.97 875 | 874,Humidifier,Home & Kitchen,44.02 876 | 875,Tie Holder,Clothing,184.54 877 | 876,Smart Watch,Electronics,669.34 878 | 877,Fitness Tracker,Sports,355.52 879 | 878,Keyboard,Electronics,810.88 880 | 879,Book Ends,Books,18.44 881 | 880,Phone Holder,Automotive,164.84 882 | 881,Cycling Gloves,Sports,377.82 883 | 882,Nail Polish,Beauty,161.54 884 | 883,Reading Light,Books,63.22 885 | 884,Shower Curtain,Home & Kitchen,172.01 886 | 885,Tool Kit,Automotive,979.11 887 | 886,Face Cream,Beauty,149.21 888 | 887,Exercise Ball,Sports,346.87 889 | 888,Jump Rope,Sports,431.86 890 | 889,Digital Clock,Electronics,494.58 891 | 890,External Hard Drive,Electronics,860.67 892 | 891,T-Shirt,Clothing,179.24 893 | 892,Travel Bag,Clothing,12.06 894 | 893,Backpack,Clothing,199.25 895 | 894,Kitchen Scale,Home & Kitchen,467.20 896 | 895,Art Set,Toys,8.83 897 | 896,Jump Starter,Automotive,50.91 898 | 897,Science Kit,Toys,56.45 899 | 898,Planner,Books,82.53 900 | 899,Belt,Clothing,115.75 901 | 900,Calendar,Books,66.98 902 | 901,Yoga Mat,Sports,101.43 903 | 902,Conditioner,Beauty,52.33 904 | 903,Plush Toy,Toys,70.97 905 | 904,Air Freshener,Automotive,411.70 906 | 905,Tennis Racket,Sports,384.85 907 | 906,Coin Purse,Clothing,46.06 908 | 907,Educational Toy,Toys,82.19 909 | 908,Floor Mats,Automotive,718.27 910 | 909,Camping Tent,Sports,38.76 911 | 910,Toaster,Home & Kitchen,391.91 912 | 911,Coffee Maker,Home & Kitchen,75.33 913 | 912,Skateboard,Sports,317.07 914 | 913,Facial Cleanser,Beauty,113.42 915 | 914,Hat,Clothing,95.74 916 | 915,Garment Steamer,Clothing,81.56 917 | 916,Socks,Clothing,107.44 918 | 917,Umbrella,Clothing,14.92 919 | 918,Card Game,Toys,72.48 920 | 919,Cutting Board,Home & Kitchen,204.70 921 | 920,Eye Shadow Palette,Beauty,12.05 922 | 921,Phone Charger,Electronics,152.19 923 | 922,Wireless Earbuds,Electronics,859.93 924 | 923,Library Cart,Books,28.25 925 | 924,Hair Serum,Beauty,122.48 926 | 925,Building Blocks,Toys,18.03 927 | 926,Desk Lamp,Electronics,475.13 928 | 927,Laptop Stand,Electronics,890.88 929 | 928,Tablet Case,Electronics,863.41 930 | 929,Gloves,Clothing,193.68 931 | 930,Webcam,Electronics,976.04 932 | 931,USB Hub,Electronics,577.41 933 | 932,Tire Pressure Gauge,Automotive,769.92 934 | 933,Jewelry Box,Clothing,116.41 935 | 934,Play Dough,Toys,75.02 936 | 935,Shoe Horn,Clothing,123.65 937 | 936,Power Bank,Electronics,292.92 938 | 937,Knee Brace,Sports,58.78 939 | 938,Exercise Ball,Sports,261.44 940 | 939,Skateboard,Sports,152.84 941 | 940,Vacuum Cleaner,Home & Kitchen,47.46 942 | 941,Running Shoes,Sports,194.19 943 | 942,Moisturizer,Beauty,152.66 944 | 943,Gym Bag,Sports,52.10 945 | 944,Board Game,Toys,9.68 946 | 945,Keyboard,Electronics,833.85 947 | 946,Portable Fan,Electronics,71.30 948 | 947,Photo Album,Books,6.86 949 | 948,Storage Container,Home & Kitchen,192.80 950 | 949,Touch Up Paint,Automotive,672.24 951 | 950,Face Cream,Beauty,11.45 952 | 951,Wireless Earbuds,Electronics,594.60 953 | 952,Coffee Maker,Home & Kitchen,79.03 954 | 953,External Hard Drive,Electronics,653.07 955 | 954,LED Light Strip,Electronics,369.41 956 | 955,Hat,Clothing,146.55 957 | 956,Blender,Home & Kitchen,188.68 958 | 957,Humidifier,Home & Kitchen,469.23 959 | 958,Mascara,Beauty,178.23 960 | 959,Reading Light,Books,17.99 961 | 960,Desk Lamp,Electronics,109.09 962 | 961,Security Camera,Electronics,618.31 963 | 962,Magazine Holder,Books,76.30 964 | 963,Tie Holder,Clothing,124.19 965 | 964,Wi-Fi Router,Electronics,574.54 966 | 965,USB Hub,Electronics,267.85 967 | 966,Cutting Board,Home & Kitchen,157.20 968 | 967,Tablet Case,Electronics,204.00 969 | 968,Dumbbells,Sports,492.88 970 | 969,Seat Covers,Automotive,758.08 971 | 970,Drawing Tablet,Toys,25.02 972 | 971,Conditioner,Beauty,18.81 973 | 972,Wallet,Clothing,45.00 974 | 973,Lipstick,Beauty,185.41 975 | 974,Dress Hanger,Clothing,14.94 976 | 975,Plush Toy,Toys,20.50 977 | 976,Mixing Bowl,Home & Kitchen,44.16 978 | 977,Jewelry Box,Clothing,199.69 979 | 978,Backpack,Clothing,141.77 980 | 979,Dish Rack,Home & Kitchen,487.94 981 | 980,First Aid Kit,Automotive,665.47 982 | 981,Perfume,Beauty,16.65 983 | 982,Reading Glasses,Books,93.26 984 | 983,Trash Can,Home & Kitchen,155.95 985 | 984,Puzzle Set,Toys,9.96 986 | 985,Digital Clock,Electronics,324.00 987 | 986,Shower Curtain,Home & Kitchen,209.09 988 | 987,Rice Cooker,Home & Kitchen,88.22 989 | 988,Umbrella,Clothing,33.46 990 | 989,Air Purifier,Home & Kitchen,48.26 991 | 990,Bluetooth Speaker,Electronics,249.82 992 | 991,Hair Tie,Clothing,29.38 993 | 992,Mini Projector,Electronics,166.57 994 | 993,Science Kit,Toys,9.16 995 | 994,Garment Steamer,Clothing,127.95 996 | 995,Gaming Mouse,Electronics,141.70 997 | 996,Monitor,Electronics,543.84 998 | 997,Smart Watch,Electronics,140.22 999 | 998,Socks,Clothing,181.26 1000 | 999,Address Book,Books,34.70 1001 | 1000,Gloves,Clothing,59.99 1002 | --------------------------------------------------------------------------------