diff --git a/ingestion/examples/sample_data/datasets/pbcopy b/ingestion/examples/sample_data/datasets/pbcopy new file mode 100644 index 00000000000..0134e5e4328 --- /dev/null +++ b/ingestion/examples/sample_data/datasets/pbcopy @@ -0,0 +1,48503 @@ +"tables": [ + { + "name": "dim_::>address", + "description": "This dimension table contains the billing and shipping addresses of customers. You can join this table with the sales table to generate lists of the billing and shipping addresses. Customers can enter their addresses more than once, so the same address can appear in more than one row in this table. This table contains one row per customer address.", + "version": 0.1, + "updatedAt": 1638354087391, + "updatedBy": "anonymous", + "href": "http://localhost:8585/api/v1/tables/3cda8ecb-f4c6-4ed4-8506-abe965b54b86", + "tableType": "Regular", + "schemaDefinition": "CREATE TABLE dim_address(address_id NUMERIC PRIMARY KEY, shop_id NUMERIC)", + "retentionPeriod": "10D", + "columns": [ + { + "name": "address_::>id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Unique identifier for the address.", + "tags": [], + "ordinalPosition": 1 + }, + { + "name": "shop_id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "The ID of the store. This column is a foreign key reference to the shop_id column in the dim_shop table.", + "tags": [], + "ordinalPosition": 2 + }, + { + "name": "first_name", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "First name of the customer.", + "tags": [], + "ordinalPosition": 3 + }, + { + "name": "last_name", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "Last name of the customer.", + "tags": [], + "ordinalPosition": 4 + }, + { + "name": "address1", + "dataType": "VARCHAR", + "dataLength": 500, + "dataTypeDisplay": "varchar", + "description": "The first address line. For example, 150 Elgin St.", + "tags": [], + "ordinalPosition": 5 + }, + { + "name": "address2", + "dataType": "VARCHAR", + "dataLength": 500, + "dataTypeDisplay": "varchar", + "description": "The second address line. For example, Suite 800.", + "tags": [], + "ordinalPosition": 6 + }, + { + "name": "company", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "The name of the customers business, if one exists.", + "tags": [], + "ordinalPosition": 7 + }, + { + "name": "city", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "The name of the city. For example, Palo Alto.", + "tags": [], + "ordinalPosition": 8 + }, + { + "name": "region", + "dataType": "VARCHAR", + "dataLength": 512, + "dataTypeDisplay": "varchar", + "description": "The name of the region, such as a province or state, where the customer is located. For example, Ontario or New York. This column is the same as CustomerAddress.province in the Admin API.", + "tags": [], + "ordinalPosition": 9 + }, + { + "name": "zip", + "dataType": "VARCHAR", + "dataLength": 10, + "dataTypeDisplay": "varchar", + "description": "The ZIP or postal code. For example, 90210.", + "tags": [], + "ordinalPosition": 10, + "customMetrics": [ + { + "name": "CountOfLAZipCode", + "columnName": "zip", + "expression": "SELECT COUNT(zip) FROM dim_address WHERE zip LIKE '900%'" + }, + { + "name": "CountOfOrangeCountyZipCode", + "columnName": "zip", + "expression": "SELECT COUNT(zip) FROM dim_address WHERE zip LIKE '92%'" + } + ] + }, + { + "name": "country", + "dataType": "VARCHAR", + "dataLength": 50, + "dataTypeDisplay": "varchar", + "description": "The full name of the country. For example, Canada.", + "tags": [], + "ordinalPosition": 11 + }, + { + "name": "phone", + "dataType": "VARCHAR", + "dataLength": 15, + "dataTypeDisplay": "varchar", + "description": "The phone number of the customer.", + "tags": [], + "ordinalPosition": 12, + "customMetrics": [ + { + "name": "CountOfNonUsPhoneNumbers", + "columnName": "phone", + "expression": "SELECT COUNT(phone) FROM dim_address WHERE phone NOT LIKE '1%'" + } + ] + } + ], + "tableConstraints": [ + { + "constraintType": "PRIMARY_KEY", + "columns": [ + "address_::>id", + "shop_id" + ] + } + ], + "database": { + "id": "50da1ff8-4e1d-4967-8931-45edbf4dd908", + "type": "database", + "name": "sample_data.ecommerce_db", + "description": "This **mock** database contains tables related to shopify sales and orders with related dimension tables.", + "href": "http://localhost:8585/api/v1/databases/50da1ff8-4e1d-4967-8931-45edbf4dd908" + }, + "tags": [], + "usageSummary": { + "dailyStats": { + "count": 73, + "percentileRank": 45 + }, + "weeklyStats": { + "count": 73, + "percentileRank": 45 + }, + "monthlyStats": { + "count": 67, + "percentileRank": 45 + }, + "date": "2021-12-01" + }, + "followers": [], + "joins": { + "startDate": "2021-11-01", + "dayCount": 30, + "columnJoins": [ + { + "columnName": "shop_id", + "joinedWith": [ + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.shop\".shop_id", + "joinCount": 35 + } + ] + }, + { + "columnName": "address_::>id", + "joinedWith": [ + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.api_client_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.billing_address_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.customer_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.location_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.order_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.product_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.product_variant_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.shipping_address_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.shop_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.user_id", + "joinCount": 49 + } + ] + } + ] + }, + "sampleData": { + "columns": [ + "address_::>id", + "shop_id", + "first_name", + "last_name", + "address1", + "address2", + "company", + "city", + "region", + "zip", + "country", + "phone" + ], + "rows": [ + [ + "bc35100e-2da5-48bb-bfc8-667dafe66532", + "70424951-bc97-4b20-9ce7-be37c4619361", + "Zachary", + "Brett", + "9054 Maria Circle Apt. 296", + "48348 Victoria Valleys Suite 144", + "Robinson Inc", + "Stephanieport", + "048 Moore Turnpike Apt. 061", + "30839", + "Latvia", + "(381)575-6692" + ], + [ + "d9a5b1a0-bf92-4b71-884d-9818308d040d", + "ffdc81e4-b0dc-47b2-8240-8540ba6c3029", + "Melissa", + "Amy", + "6212 William Plaza Suite 362", + "741 Eric Bypass", + "Todd, Henderson and Jenkins", + "Petersonstad", + "363 Gary Mills", + "91794", + "Lesotho", + "828-855-9883" + ], + [ + "facf92d7-05ea-43d2-ba2a-067d63dee60c", + "a8d30187-1409-4606-9259-322a4f6caf74", + "Amber", + "Albert", + "3170 Warren Orchard Apt. 834", + "3204 Brewer Shoal Suite 324", + "Davila-Snyder", + "Nicoleland", + "023 Paul Course", + "14086", + "Sweden", + "438-959-1151" + ], + [ + "bab9a506-e23d-4c53-9402-d070e7704376", + "e02e1fac-b650-4db8-8c9d-5fa5edf5d863", + "Heidi", + "Kelly", + "30942 Gonzalez Stravenue", + "3158 Watts Green", + "Moore PLC", + "West Erica", + "6294 Elliott Ville", + "07418", + "Saint Martin", + "(830)112-9566x8681" + ], + [ + "67ff12ae-5d40-4795-9a82-3afa62a4aea1", + "bf45dc22-8d23-49d9-9d87-7b4bd2dd1762", + "Adam", + "Anna", + "986 Walker Unions", + "5798 Ross Spur Apt. 510", + "Schultz, Allen and Price", + "West Brandyton", + "07379 Alejandra Manors", + "09192", + "Cambodia", + "(859)222-9872x9188" + ], + [ + "97831db3-23df-424e-b2e3-19f196874002", + "cfc3c305-748b-4992-9fef-ddd0aa7ce927", + "Tracey", + "Kaitlin", + "1810 Fletcher Islands", + "6988 Steven Vista Apt. 738", + "Patel-Evans", + "Powellbury", + "8856 Lambert Forest Apt. 010", + "49826", + "Turks and Caicos Islands", + "195.384.1264x84605" + ], + [ + "a405990b-732f-431e-b3ad-0ce05a484671", + "f53ff51f-3365-4029-ae67-a679e1dca626", + "Carmen", + "Jessica", + "58361 Audrey Parks Apt. 128", + "864 Phillips Squares", + "Perez Inc", + "Laurieshire", + "407 Nicole Greens", + "06175", + "Kenya", + "(565)853-4978x18062" + ], + [ + "d3be5a1e-10f0-46e6-8033-d15766e73047", + "ffeea1b4-eb28-452a-8b06-2408e36b1a94", + "Melinda", + "Paul", + "09590 Gonzales Camp Apt. 092", + "146 Carlson Manor Suite 961", + "Mills Ltd", + "South Wendy", + "6273 Victor Springs Apt. 655", + "68154", + "United Arab Emirates", + "(209)678-7748x53000" + ], + [ + "52636d10-1505-4f0a-894a-52a194cdba26", + "8c021bf4-f33a-4d41-b55f-78d801a45d5e", + "Jacob", + "Jamie", + "0952 Colon Greens", + "00913 Natalie Tunnel Apt. 769", + "Sullivan Group", + "Longbury", + "03714 April Landing", + "74874", + "Turkey", + "(038)859-4310x9693" + ], + [ + "b2a1279b-392f-404f-88e0-f755d2bd3c14", + "2351209a-94b2-4b20-a517-1eef888c0d5b", + "Allen", + "Dean", + "8492 Smith Plains Apt. 986", + "420 Hodges Inlet Suite 088", + "Thornton-Mcknight", + "Gregoryborough", + "56904 Tony Branch Suite 945", + "88544", + "Mauritania", + "001-198-032-8011x00683" + ], + [ + "3a7cc826-4e7d-46de-a13d-895d5319a881", + "1a03bf40-3f40-460e-b170-2fadea8bdbee", + "Jill", + "Diana", + "092 Jose Unions", + "36896 Serrano Plaza", + "Wilson and Sons", + "North Justinchester", + "750 Contreras Bridge Apt. 456", + "77859", + "Kazakhstan", + "311.331.9899x4838" + ], + [ + "d4891b70-a002-41a9-a072-a1d3ef99c4d9", + "e49ad3aa-2c30-4148-81f8-4e2980467d1c", + "Jonathan", + "Lauren", + "4416 Christina Ville", + "44992 Katie Inlet Suite 965", + "Bennett, Hicks and Davidson", + "Lake Kendra", + "67281 Lee Drive Suite 987", + "27227", + "Jersey", + "950.930.9189x591" + ], + [ + "fbc3eeda-75b3-41f6-91a3-d671e3cc17d6", + "c3c73e91-020d-4fee-a1a9-e9781d684d9a", + "Gary", + "Jonathan", + "71309 Theresa Trail", + "29432 Brenda Overpass", + "Mccarthy-Huang", + "Lake Amanda", + "000 William Ranch", + "93218", + "Kazakhstan", + "001-109-449-4210x33965" + ], + [ + "684360f0-48c0-4bf7-9476-6231b7861c0b", + "18d728f1-8ec6-4e94-9725-fcd2ed719723", + "Karen", + "Paul", + "2867 Hunter Center Apt. 091", + "46974 Peter Drives Suite 073", + "Stephens, Wall and Johnson", + "Mcdowellfurt", + "33302 Mcintosh Orchard Apt. 884", + "17017", + "Gambia", + "484-039-6675" + ], + [ + "ec768cba-fc73-484a-bfc2-792e1bf29342", + "9c85fb32-1109-4409-a87d-75112fc3708f", + "Edgar", + "Hailey", + "70196 Moore Canyon", + "885 Jimenez Parkways", + "Gomez Group", + "Marktown", + "44624 Lawrence Springs Apt. 502", + "71815", + "Hungary", + "(777)526-6200" + ], + [ + "128eae16-fc8d-4d0e-9f07-78b6e4825709", + "530c610e-ab24-4f28-8d7f-684bb05817c8", + "Don", + "Edgar", + "040 Jessica Mews Apt. 149", + "3454 Lopez Neck", + "Clark, Simon and Griffith", + "Rickborough", + "549 Jeffrey Stream", + "71662", + "Korea", + "4911281340" + ], + [ + "341c94b3-cac4-46f0-bcba-33ccb52eacec", + "9f80457c-dd0e-4c4d-ab1f-cf76f734ad1c", + "Kevin", + "Kimberly", + "29504 Moore Grove", + "0079 Williams Pine Suite 274", + "Gregory-Mcgrath", + "Cantufort", + "5849 Paige River", + "72224", + "Zambia", + "(112)074-5447" + ], + [ + "d05acf85-8f05-40e8-bd8b-00a751ed4b16", + "a8214997-3076-4732-be67-66e0169f894d", + "Candace", + "Donna", + "1110 Powers Neck Suite 716", + "50101 Pamela Orchard Apt. 576", + "Brown, Hunter and Adkins", + "Adrianaville", + "4326 Orr Extensions", + "94064", + "Haiti", + "001-843-960-7631x732" + ], + [ + "44886c82-0e01-4b65-bf46-235d4d1e4e17", + "c0055521-b8d3-4ad8-86c3-cf310b5719c9", + "Holly", + "Tony", + "562 Shaw Burgs", + "568 Reed Vista", + "Ramirez Group", + "West Aaronfurt", + "6008 Brianna Lock Suite 088", + "46723", + "Uganda", + "343.960.6582" + ], + [ + "3ba1f5ff-fcd9-4315-8e72-14b716496a3c", + "3dc80460-e52c-4e94-a3dc-e9234f73e016", + "Melissa", + "Jessica", + "4076 Lisa Unions", + "46781 Brittany Route", + "Williams Inc", + "Harmonmouth", + "4349 Hughes Grove Suite 834", + "94032", + "South Georgia and the South Sandwich Islands", + "195-206-6214x45451" + ], + [ + "f757641c-963a-4696-9314-7f19f2df79fa", + "8d3afcc6-3662-4d23-899a-b9c37108f522", + "Larry", + "Brian", + "1698 Brittany Ridges", + "00442 Terry Via", + "Gallagher Group", + "Smithton", + "4835 Long Hills", + "96036", + "Japan", + "(592)844-2557x28538" + ], + [ + "a2c68229-75c5-43a5-b18b-8a8b504d4f9d", + "d78f0b90-d3a9-4568-b7de-8bb45423b25b", + "Gary", + "Luis", + "909 Carolyn Highway Apt. 717", + "549 Steve Walks Suite 058", + "Serrano, Harrison and Beard", + "South Kimberly", + "18324 Briana Point", + "36285", + "Macao", + "392.711.2369x14285" + ], + [ + "2a89cec7-1cf5-4c9c-ad79-745a1984e36f", + "4035c32c-7a03-409f-a8f4-bb3ff3d7c91d", + "Brittany", + "Brenda", + "2691 Brandon Plaza", + "13209 Alexis Cove Suite 182", + "Durham LLC", + "New Christyton", + "080 Peters Track", + "97880", + "Gabon", + "+1-604-197-7676x09064" + ], + [ + "a391bf33-6665-4caa-a2d7-de3132bf60d3", + "88156561-0c36-4053-a1d7-b58fac121003", + "Debbie", + "Sharon", + "600 Keller Trafficway", + "18809 Peter Village", + "Vazquez, Allen and Washington", + "Singhmouth", + "5628 Terrence Locks Suite 798", + "20287", + "Anguilla", + "001-151-880-6914x699" + ], + [ + "19bcef03-483c-4225-bb61-aafe48a2f981", + "8a35b2d9-8f65-484f-b735-8eb42c2bbfec", + "Mark", + "Ashley", + "3124 Kenneth Mountains Suite 321", + "111 Carter Drives Apt. 942", + "Hill PLC", + "Port Shannonville", + "6035 Calderon Ramp", + "25829", + "Angola", + "441.553.9413x20451" + ] + ] + }, + "tableProfile": { + "timestamp": 1634366539, + "columnCount": 12, + "rowCount": 725, + "customMetrics": [ + { + "name": "CountOfUSAddress", + "value": 15467 + }, + { + "name": "CountOfFRAddress", + "value": 1467 + } + ], + "columnProfile": [ + { + "name": "address_::>id", + "uniqueCount": 9, + "uniqueProportion": 0.52805369, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "shop_id", + "uniqueCount": 29, + "uniqueProportion": 0.2290940013, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "first_name", + "uniqueCount": 13, + "uniqueProportion": 0.1327792, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "last_name", + "uniqueCount": 23, + "uniqueProportion": 0.177126, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "address1", + "uniqueCount": 53, + "uniqueProportion": 0.0396391, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "address2", + "uniqueCount": 76, + "uniqueProportion": 0.0690369, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "company", + "uniqueCount": 23, + "uniqueProportion": 0.1210963, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "city", + "uniqueCount": 6, + "uniqueProportion": 0.024072, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "region", + "uniqueCount": 3, + "uniqueProportion": 0.1478114, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "zip", + "uniqueCount": 11, + "uniqueProportion": 0.1383472, + "distinctCount": 0, + "distinctProportion": 0, + "customMetrics": [ + { + "name": "CountOfLAZipCode", + "value": 3456 + }, + { + "name": "CountOfOrangeCountyZipCode", + "value": 2345 + } + ] + }, + { + "name": "country", + "uniqueCount": 13, + "uniqueProportion": 0.1601013, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "phone", + "uniqueCount": 8, + "uniqueProportion": 0.1297079, + "distinctCount": 0, + "distinctProportion": 0 + } + ] + }, + "databaseSchema": { + "id": "d7be1e2c-b3dc-11ec-b909-0242ac120002", + "type": "databaseSchema", + "name": "sample_data.ecommerce_db.shopify", + "description": "This **mock** Schema contains tables related to shopify sales and orders with related dimension tables.", + "href": "http://localhost:8585/api/v1/databaseSchemas/d7be1e2c-b3dc-11ec-b909-0242ac120002" + }, + "customMetrics": [ + { + "name": "CountOfUSAddress", + "expression": "SELECT COUNT(address_id) FROM dim_address WHERE country = 'US'" + }, + { + "name": "CountOfFRAddress", + "expression": "SELECT COUNT(address_id) FROM dim_address WHERE country = 'FR'" + } + ], + "sourceUrl": "http://localhost:8080/dim_::>address" + }, + { + "name": "icemarketdata_global", + "description": "This dimension table contains the billing and shipping addresses of customers. You can join this table with the sales table to generate lists of the billing and shipping addresses. Customers can enter their addresses more than once, so the same address can appear in more than one row in this table. This table contains one row per customer address.", + "version": 0.1, + "updatedAt": 1638354087391, + "updatedBy": "anonymous", + "href": "http://localhost:8585/api/v1/tables/3cda8ecb-f4c6-4ed4-8506-abe965b54b86", + "tableType": "Regular", + "schemaDefinition": "CREATE TABLE dim_address(address_id NUMERIC PRIMARY KEY, shop_id NUMERIC)", + "retentionPeriod": "10D", + "columns": [ + { + "name": "address_::>id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Unique identifier for the address.", + "tags": [], + "ordinalPosition": 1 + }, + { + "name": "shop_id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "The ID of the store. This column is a foreign key reference to the shop_id column in the dim_shop table.", + "tags": [], + "ordinalPosition": 2 + }, + { + "name": "first_name", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "First name of the customer.", + "tags": [], + "ordinalPosition": 3 + }, + { + "name": "last_name", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "Last name of the customer.", + "tags": [], + "ordinalPosition": 4 + }, + { + "name": "address1", + "dataType": "VARCHAR", + "dataLength": 500, + "dataTypeDisplay": "varchar", + "description": "The first address line. For example, 150 Elgin St.", + "tags": [], + "ordinalPosition": 5 + }, + { + "name": "address2", + "dataType": "VARCHAR", + "dataLength": 500, + "dataTypeDisplay": "varchar", + "description": "The second address line. For example, Suite 800.", + "tags": [], + "ordinalPosition": 6 + }, + { + "name": "company", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "The name of the customer's business, if one exists.", + "tags": [], + "ordinalPosition": 7 + }, + { + "name": "city", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "The name of the city. For example, Palo Alto.", + "tags": [], + "ordinalPosition": 8 + }, + { + "name": "region", + "dataType": "VARCHAR", + "dataLength": 512, + "dataTypeDisplay": "varchar", + "description": "The name of the region, such as a province or state, where the customer is located. For example, Ontario or New York. This column is the same as CustomerAddress.province in the Admin API.", + "tags": [], + "ordinalPosition": 9 + }, + { + "name": "zip", + "dataType": "VARCHAR", + "dataLength": 10, + "dataTypeDisplay": "varchar", + "description": "The ZIP or postal code. For example, 90210.", + "tags": [], + "ordinalPosition": 10, + "customMetrics": [ + { + "name": "CountOfLAZipCode", + "columnName": "zip", + "expression": "SELECT COUNT(zip) FROM dim_address WHERE zip LIKE '900%'" + }, + { + "name": "CountOfOrangeCountyZipCode", + "columnName": "zip", + "expression": "SELECT COUNT(zip) FROM dim_address WHERE zip LIKE '92%'" + } + ] + }, + { + "name": "country", + "dataType": "VARCHAR", + "dataLength": 50, + "dataTypeDisplay": "varchar", + "description": "The full name of the country. For example, Canada.", + "tags": [], + "ordinalPosition": 11 + }, + { + "name": "phone", + "dataType": "VARCHAR", + "dataLength": 15, + "dataTypeDisplay": "varchar", + "description": "The phone number of the customer.", + "tags": [], + "ordinalPosition": 12, + "customMetrics": [ + { + "name": "CountOfNonUsPhoneNumbers", + "columnName": "phone", + "expression": "SELECT COUNT(phone) FROM dim_address WHERE phone NOT LIKE '1%'" + } + ] + } + ], + "tableConstraints": [ + { + "constraintType": "PRIMARY_KEY", + "columns": [ + "address_::>id", + "shop_id" + ] + } + ], + "database": { + "id": "50da1ff8-4e1d-4967-8931-45edbf4dd908", + "type": "database", + "name": "sample_data.ecommerce_db", + "description": "This **mock** database contains tables related to shopify sales and orders with related dimension tables.", + "href": "http://localhost:8585/api/v1/databases/50da1ff8-4e1d-4967-8931-45edbf4dd908" + }, + "tags": [], + "usageSummary": { + "dailyStats": { + "count": 73, + "percentileRank": 45 + }, + "weeklyStats": { + "count": 73, + "percentileRank": 45 + }, + "monthlyStats": { + "count": 67, + "percentileRank": 45 + }, + "date": "2021-12-01" + }, + "followers": [], + "joins": { + "startDate": "2021-11-01", + "dayCount": 30, + "columnJoins": [ + { + "columnName": "shop_id", + "joinedWith": [ + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.shop\".shop_id", + "joinCount": 35 + } + ] + }, + { + "columnName": "address_::>id", + "joinedWith": [ + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.api_client_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.billing_address_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.customer_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.location_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.order_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.product_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.product_variant_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.shipping_address_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.shop_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.user_id", + "joinCount": 49 + } + ] + } + ] + }, + "sampleData": { + "columns": [ + "address_::>id", + "shop_id", + "first_name", + "last_name", + "address1", + "address2", + "company", + "city", + "region", + "zip", + "country", + "phone" + ], + "rows": [ + [ + "bc35100e-2da5-48bb-bfc8-667dafe66532", + "70424951-bc97-4b20-9ce7-be37c4619361", + "Zachary", + "Brett", + "9054 Maria Circle Apt. 296", + "48348 Victoria Valleys Suite 144", + "Robinson Inc", + "Stephanieport", + "048 Moore Turnpike Apt. 061", + "30839", + "Latvia", + "(381)575-6692" + ], + [ + "d9a5b1a0-bf92-4b71-884d-9818308d040d", + "ffdc81e4-b0dc-47b2-8240-8540ba6c3029", + "Melissa", + "Amy", + "6212 William Plaza Suite 362", + "741 Eric Bypass", + "Todd, Henderson and Jenkins", + "Petersonstad", + "363 Gary Mills", + "91794", + "Lesotho", + "828-855-9883" + ], + [ + "facf92d7-05ea-43d2-ba2a-067d63dee60c", + "a8d30187-1409-4606-9259-322a4f6caf74", + "Amber", + "Albert", + "3170 Warren Orchard Apt. 834", + "3204 Brewer Shoal Suite 324", + "Davila-Snyder", + "Nicoleland", + "023 Paul Course", + "14086", + "Sweden", + "438-959-1151" + ], + [ + "bab9a506-e23d-4c53-9402-d070e7704376", + "e02e1fac-b650-4db8-8c9d-5fa5edf5d863", + "Heidi", + "Kelly", + "30942 Gonzalez Stravenue", + "3158 Watts Green", + "Moore PLC", + "West Erica", + "6294 Elliott Ville", + "07418", + "Saint Martin", + "(830)112-9566x8681" + ], + [ + "67ff12ae-5d40-4795-9a82-3afa62a4aea1", + "bf45dc22-8d23-49d9-9d87-7b4bd2dd1762", + "Adam", + "Anna", + "986 Walker Unions", + "5798 Ross Spur Apt. 510", + "Schultz, Allen and Price", + "West Brandyton", + "07379 Alejandra Manors", + "09192", + "Cambodia", + "(859)222-9872x9188" + ], + [ + "97831db3-23df-424e-b2e3-19f196874002", + "cfc3c305-748b-4992-9fef-ddd0aa7ce927", + "Tracey", + "Kaitlin", + "1810 Fletcher Islands", + "6988 Steven Vista Apt. 738", + "Patel-Evans", + "Powellbury", + "8856 Lambert Forest Apt. 010", + "49826", + "Turks and Caicos Islands", + "195.384.1264x84605" + ], + [ + "a405990b-732f-431e-b3ad-0ce05a484671", + "f53ff51f-3365-4029-ae67-a679e1dca626", + "Carmen", + "Jessica", + "58361 Audrey Parks Apt. 128", + "864 Phillips Squares", + "Perez Inc", + "Laurieshire", + "407 Nicole Greens", + "06175", + "Kenya", + "(565)853-4978x18062" + ], + [ + "d3be5a1e-10f0-46e6-8033-d15766e73047", + "ffeea1b4-eb28-452a-8b06-2408e36b1a94", + "Melinda", + "Paul", + "09590 Gonzales Camp Apt. 092", + "146 Carlson Manor Suite 961", + "Mills Ltd", + "South Wendy", + "6273 Victor Springs Apt. 655", + "68154", + "United Arab Emirates", + "(209)678-7748x53000" + ], + [ + "52636d10-1505-4f0a-894a-52a194cdba26", + "8c021bf4-f33a-4d41-b55f-78d801a45d5e", + "Jacob", + "Jamie", + "0952 Colon Greens", + "00913 Natalie Tunnel Apt. 769", + "Sullivan Group", + "Longbury", + "03714 April Landing", + "74874", + "Turkey", + "(038)859-4310x9693" + ], + [ + "b2a1279b-392f-404f-88e0-f755d2bd3c14", + "2351209a-94b2-4b20-a517-1eef888c0d5b", + "Allen", + "Dean", + "8492 Smith Plains Apt. 986", + "420 Hodges Inlet Suite 088", + "Thornton-Mcknight", + "Gregoryborough", + "56904 Tony Branch Suite 945", + "88544", + "Mauritania", + "001-198-032-8011x00683" + ], + [ + "3a7cc826-4e7d-46de-a13d-895d5319a881", + "1a03bf40-3f40-460e-b170-2fadea8bdbee", + "Jill", + "Diana", + "092 Jose Unions", + "36896 Serrano Plaza", + "Wilson and Sons", + "North Justinchester", + "750 Contreras Bridge Apt. 456", + "77859", + "Kazakhstan", + "311.331.9899x4838" + ], + [ + "d4891b70-a002-41a9-a072-a1d3ef99c4d9", + "e49ad3aa-2c30-4148-81f8-4e2980467d1c", + "Jonathan", + "Lauren", + "4416 Christina Ville", + "44992 Katie Inlet Suite 965", + "Bennett, Hicks and Davidson", + "Lake Kendra", + "67281 Lee Drive Suite 987", + "27227", + "Jersey", + "950.930.9189x591" + ], + [ + "fbc3eeda-75b3-41f6-91a3-d671e3cc17d6", + "c3c73e91-020d-4fee-a1a9-e9781d684d9a", + "Gary", + "Jonathan", + "71309 Theresa Trail", + "29432 Brenda Overpass", + "Mccarthy-Huang", + "Lake Amanda", + "000 William Ranch", + "93218", + "Kazakhstan", + "001-109-449-4210x33965" + ], + [ + "684360f0-48c0-4bf7-9476-6231b7861c0b", + "18d728f1-8ec6-4e94-9725-fcd2ed719723", + "Karen", + "Paul", + "2867 Hunter Center Apt. 091", + "46974 Peter Drives Suite 073", + "Stephens, Wall and Johnson", + "Mcdowellfurt", + "33302 Mcintosh Orchard Apt. 884", + "17017", + "Gambia", + "484-039-6675" + ], + [ + "ec768cba-fc73-484a-bfc2-792e1bf29342", + "9c85fb32-1109-4409-a87d-75112fc3708f", + "Edgar", + "Hailey", + "70196 Moore Canyon", + "885 Jimenez Parkways", + "Gomez Group", + "Marktown", + "44624 Lawrence Springs Apt. 502", + "71815", + "Hungary", + "(777)526-6200" + ], + [ + "128eae16-fc8d-4d0e-9f07-78b6e4825709", + "530c610e-ab24-4f28-8d7f-684bb05817c8", + "Don", + "Edgar", + "040 Jessica Mews Apt. 149", + "3454 Lopez Neck", + "Clark, Simon and Griffith", + "Rickborough", + "549 Jeffrey Stream", + "71662", + "Korea", + "4911281340" + ], + [ + "341c94b3-cac4-46f0-bcba-33ccb52eacec", + "9f80457c-dd0e-4c4d-ab1f-cf76f734ad1c", + "Kevin", + "Kimberly", + "29504 Moore Grove", + "0079 Williams Pine Suite 274", + "Gregory-Mcgrath", + "Cantufort", + "5849 Paige River", + "72224", + "Zambia", + "(112)074-5447" + ], + [ + "d05acf85-8f05-40e8-bd8b-00a751ed4b16", + "a8214997-3076-4732-be67-66e0169f894d", + "Candace", + "Donna", + "1110 Powers Neck Suite 716", + "50101 Pamela Orchard Apt. 576", + "Brown, Hunter and Adkins", + "Adrianaville", + "4326 Orr Extensions", + "94064", + "Haiti", + "001-843-960-7631x732" + ], + [ + "44886c82-0e01-4b65-bf46-235d4d1e4e17", + "c0055521-b8d3-4ad8-86c3-cf310b5719c9", + "Holly", + "Tony", + "562 Shaw Burgs", + "568 Reed Vista", + "Ramirez Group", + "West Aaronfurt", + "6008 Brianna Lock Suite 088", + "46723", + "Uganda", + "343.960.6582" + ], + [ + "3ba1f5ff-fcd9-4315-8e72-14b716496a3c", + "3dc80460-e52c-4e94-a3dc-e9234f73e016", + "Melissa", + "Jessica", + "4076 Lisa Unions", + "46781 Brittany Route", + "Williams Inc", + "Harmonmouth", + "4349 Hughes Grove Suite 834", + "94032", + "South Georgia and the South Sandwich Islands", + "195-206-6214x45451" + ], + [ + "f757641c-963a-4696-9314-7f19f2df79fa", + "8d3afcc6-3662-4d23-899a-b9c37108f522", + "Larry", + "Brian", + "1698 Brittany Ridges", + "00442 Terry Via", + "Gallagher Group", + "Smithton", + "4835 Long Hills", + "96036", + "Japan", + "(592)844-2557x28538" + ], + [ + "a2c68229-75c5-43a5-b18b-8a8b504d4f9d", + "d78f0b90-d3a9-4568-b7de-8bb45423b25b", + "Gary", + "Luis", + "909 Carolyn Highway Apt. 717", + "549 Steve Walks Suite 058", + "Serrano, Harrison and Beard", + "South Kimberly", + "18324 Briana Point", + "36285", + "Macao", + "392.711.2369x14285" + ], + [ + "2a89cec7-1cf5-4c9c-ad79-745a1984e36f", + "4035c32c-7a03-409f-a8f4-bb3ff3d7c91d", + "Brittany", + "Brenda", + "2691 Brandon Plaza", + "13209 Alexis Cove Suite 182", + "Durham LLC", + "New Christyton", + "080 Peters Track", + "97880", + "Gabon", + "+1-604-197-7676x09064" + ], + [ + "a391bf33-6665-4caa-a2d7-de3132bf60d3", + "88156561-0c36-4053-a1d7-b58fac121003", + "Debbie", + "Sharon", + "600 Keller Trafficway", + "18809 Peter Village", + "Vazquez, Allen and Washington", + "Singhmouth", + "5628 Terrence Locks Suite 798", + "20287", + "Anguilla", + "001-151-880-6914x699" + ], + [ + "19bcef03-483c-4225-bb61-aafe48a2f981", + "8a35b2d9-8f65-484f-b735-8eb42c2bbfec", + "Mark", + "Ashley", + "3124 Kenneth Mountains Suite 321", + "111 Carter Drives Apt. 942", + "Hill PLC", + "Port Shannonville", + "6035 Calderon Ramp", + "25829", + "Angola", + "441.553.9413x20451" + ] + ] + }, + "tableProfile": { + "timestamp": 1634366539, + "columnCount": 12, + "rowCount": 725, + "customMetrics": [ + { + "name": "CountOfUSAddress", + "value": 15467 + }, + { + "name": "CountOfFRAddress", + "value": 1467 + } + ], + "columnProfile": [ + { + "name": "address_::>id", + "uniqueCount": 9, + "uniqueProportion": 0.52805369, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "shop_id", + "uniqueCount": 29, + "uniqueProportion": 0.2290940013, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "first_name", + "uniqueCount": 13, + "uniqueProportion": 0.1327792, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "last_name", + "uniqueCount": 23, + "uniqueProportion": 0.177126, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "address1", + "uniqueCount": 53, + "uniqueProportion": 0.0396391, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "address2", + "uniqueCount": 76, + "uniqueProportion": 0.0690369, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "company", + "uniqueCount": 23, + "uniqueProportion": 0.1210963, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "city", + "uniqueCount": 6, + "uniqueProportion": 0.024072, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "region", + "uniqueCount": 3, + "uniqueProportion": 0.1478114, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "zip", + "uniqueCount": 11, + "uniqueProportion": 0.1383472, + "distinctCount": 0, + "distinctProportion": 0, + "customMetrics": [ + { + "name": "CountOfLAZipCode", + "value": 3456 + }, + { + "name": "CountOfOrangeCountyZipCode", + "value": 2345 + } + ] + }, + { + "name": "country", + "uniqueCount": 13, + "uniqueProportion": 0.1601013, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "phone", + "uniqueCount": 8, + "uniqueProportion": 0.1297079, + "distinctCount": 0, + "distinctProportion": 0 + } + ] + }, + "databaseSchema": { + "id": "d7be1e2c-b3dc-11ec-b909-0242ac120002", + "type": "databaseSchema", + "name": "sample_data.ecommerce_db.shopify", + "description": "This **mock** Schema contains tables related to shopify sales and orders with related dimension tables.", + "href": "http://localhost:8585/api/v1/databaseSchemas/d7be1e2c-b3dc-11ec-b909-0242ac120002" + }, + "customMetrics": [ + { + "name": "CountOfUSAddress", + "expression": "SELECT COUNT(address_id) FROM dim_address WHERE country = 'US'" + }, + { + "name": "CountOfFRAddress", + "expression": "SELECT COUNT(address_id) FROM dim_address WHERE country = 'FR'" + } + ], + "sourceUrl": "http://localhost:8080/icemarketdata_global" + }, + { + "name": "global_market", + "description": "This dimension table contains the billing and shipping addresses of customers. You can join this table with the sales table to generate lists of the billing and shipping addresses. Customers can enter their addresses more than once, so the same address can appear in more than one row in this table. This table contains one row per customer address.", + "version": 0.1, + "updatedAt": 1638354087391, + "updatedBy": "anonymous", + "href": "http://localhost:8585/api/v1/tables/3cda8ecb-f4c6-4ed4-8506-abe965b54b86", + "tableType": "Regular", + "schemaDefinition": "CREATE TABLE dim_address(address_id NUMERIC PRIMARY KEY, shop_id NUMERIC)", + "retentionPeriod": "10D", + "columns": [ + { + "name": "address_::>id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Unique identifier for the address.", + "tags": [], + "ordinalPosition": 1 + }, + { + "name": "shop_id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "The ID of the store. This column is a foreign key reference to the shop_id column in the dim_shop table.", + "tags": [], + "ordinalPosition": 2 + }, + { + "name": "first_name", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "First name of the customer.", + "tags": [], + "ordinalPosition": 3 + }, + { + "name": "last_name", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "Last name of the customer.", + "tags": [], + "ordinalPosition": 4 + }, + { + "name": "address1", + "dataType": "VARCHAR", + "dataLength": 500, + "dataTypeDisplay": "varchar", + "description": "The first address line. For example, 150 Elgin St.", + "tags": [], + "ordinalPosition": 5 + }, + { + "name": "address2", + "dataType": "VARCHAR", + "dataLength": 500, + "dataTypeDisplay": "varchar", + "description": "The second address line. For example, Suite 800.", + "tags": [], + "ordinalPosition": 6 + }, + { + "name": "company", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "The name of the customer's business, if one exists.", + "tags": [], + "ordinalPosition": 7 + }, + { + "name": "city", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "The name of the city. For example, Palo Alto.", + "tags": [], + "ordinalPosition": 8 + }, + { + "name": "region", + "dataType": "VARCHAR", + "dataLength": 512, + "dataTypeDisplay": "varchar", + "description": "The name of the region, such as a province or state, where the customer is located. For example, Ontario or New York. This column is the same as CustomerAddress.province in the Admin API.", + "tags": [], + "ordinalPosition": 9 + }, + { + "name": "zip", + "dataType": "VARCHAR", + "dataLength": 10, + "dataTypeDisplay": "varchar", + "description": "The ZIP or postal code. For example, 90210.", + "tags": [], + "ordinalPosition": 10, + "customMetrics": [ + { + "name": "CountOfLAZipCode", + "columnName": "zip", + "expression": "SELECT COUNT(zip) FROM dim_address WHERE zip LIKE '900%'" + }, + { + "name": "CountOfOrangeCountyZipCode", + "columnName": "zip", + "expression": "SELECT COUNT(zip) FROM dim_address WHERE zip LIKE '92%'" + } + ] + }, + { + "name": "country", + "dataType": "VARCHAR", + "dataLength": 50, + "dataTypeDisplay": "varchar", + "description": "The full name of the country. For example, Canada.", + "tags": [], + "ordinalPosition": 11 + }, + { + "name": "phone", + "dataType": "VARCHAR", + "dataLength": 15, + "dataTypeDisplay": "varchar", + "description": "The phone number of the customer.", + "tags": [], + "ordinalPosition": 12, + "customMetrics": [ + { + "name": "CountOfNonUsPhoneNumbers", + "columnName": "phone", + "expression": "SELECT COUNT(phone) FROM dim_address WHERE phone NOT LIKE '1%'" + } + ] + } + ], + "tableConstraints": [ + { + "constraintType": "PRIMARY_KEY", + "columns": [ + "address_::>id", + "shop_id" + ] + } + ], + "database": { + "id": "50da1ff8-4e1d-4967-8931-45edbf4dd908", + "type": "database", + "name": "sample_data.ecommerce_db", + "description": "This **mock** database contains tables related to shopify sales and orders with related dimension tables.", + "href": "http://localhost:8585/api/v1/databases/50da1ff8-4e1d-4967-8931-45edbf4dd908" + }, + "tags": [], + "usageSummary": { + "dailyStats": { + "count": 73, + "percentileRank": 45 + }, + "weeklyStats": { + "count": 73, + "percentileRank": 45 + }, + "monthlyStats": { + "count": 67, + "percentileRank": 45 + }, + "date": "2021-12-01" + }, + "followers": [], + "joins": { + "startDate": "2021-11-01", + "dayCount": 30, + "columnJoins": [ + { + "columnName": "shop_id", + "joinedWith": [ + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.shop\".shop_id", + "joinCount": 35 + } + ] + }, + { + "columnName": "address_::>id", + "joinedWith": [ + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.api_client_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.billing_address_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.customer_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.location_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.order_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.product_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.product_variant_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.shipping_address_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.shop_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.user_id", + "joinCount": 49 + } + ] + } + ] + }, + "sampleData": { + "columns": [ + "address_::>id", + "shop_id", + "first_name", + "last_name", + "address1", + "address2", + "company", + "city", + "region", + "zip", + "country", + "phone" + ], + "rows": [ + [ + "bc35100e-2da5-48bb-bfc8-667dafe66532", + "70424951-bc97-4b20-9ce7-be37c4619361", + "Zachary", + "Brett", + "9054 Maria Circle Apt. 296", + "48348 Victoria Valleys Suite 144", + "Robinson Inc", + "Stephanieport", + "048 Moore Turnpike Apt. 061", + "30839", + "Latvia", + "(381)575-6692" + ], + [ + "d9a5b1a0-bf92-4b71-884d-9818308d040d", + "ffdc81e4-b0dc-47b2-8240-8540ba6c3029", + "Melissa", + "Amy", + "6212 William Plaza Suite 362", + "741 Eric Bypass", + "Todd, Henderson and Jenkins", + "Petersonstad", + "363 Gary Mills", + "91794", + "Lesotho", + "828-855-9883" + ], + [ + "facf92d7-05ea-43d2-ba2a-067d63dee60c", + "a8d30187-1409-4606-9259-322a4f6caf74", + "Amber", + "Albert", + "3170 Warren Orchard Apt. 834", + "3204 Brewer Shoal Suite 324", + "Davila-Snyder", + "Nicoleland", + "023 Paul Course", + "14086", + "Sweden", + "438-959-1151" + ], + [ + "bab9a506-e23d-4c53-9402-d070e7704376", + "e02e1fac-b650-4db8-8c9d-5fa5edf5d863", + "Heidi", + "Kelly", + "30942 Gonzalez Stravenue", + "3158 Watts Green", + "Moore PLC", + "West Erica", + "6294 Elliott Ville", + "07418", + "Saint Martin", + "(830)112-9566x8681" + ], + [ + "67ff12ae-5d40-4795-9a82-3afa62a4aea1", + "bf45dc22-8d23-49d9-9d87-7b4bd2dd1762", + "Adam", + "Anna", + "986 Walker Unions", + "5798 Ross Spur Apt. 510", + "Schultz, Allen and Price", + "West Brandyton", + "07379 Alejandra Manors", + "09192", + "Cambodia", + "(859)222-9872x9188" + ], + [ + "97831db3-23df-424e-b2e3-19f196874002", + "cfc3c305-748b-4992-9fef-ddd0aa7ce927", + "Tracey", + "Kaitlin", + "1810 Fletcher Islands", + "6988 Steven Vista Apt. 738", + "Patel-Evans", + "Powellbury", + "8856 Lambert Forest Apt. 010", + "49826", + "Turks and Caicos Islands", + "195.384.1264x84605" + ], + [ + "a405990b-732f-431e-b3ad-0ce05a484671", + "f53ff51f-3365-4029-ae67-a679e1dca626", + "Carmen", + "Jessica", + "58361 Audrey Parks Apt. 128", + "864 Phillips Squares", + "Perez Inc", + "Laurieshire", + "407 Nicole Greens", + "06175", + "Kenya", + "(565)853-4978x18062" + ], + [ + "d3be5a1e-10f0-46e6-8033-d15766e73047", + "ffeea1b4-eb28-452a-8b06-2408e36b1a94", + "Melinda", + "Paul", + "09590 Gonzales Camp Apt. 092", + "146 Carlson Manor Suite 961", + "Mills Ltd", + "South Wendy", + "6273 Victor Springs Apt. 655", + "68154", + "United Arab Emirates", + "(209)678-7748x53000" + ], + [ + "52636d10-1505-4f0a-894a-52a194cdba26", + "8c021bf4-f33a-4d41-b55f-78d801a45d5e", + "Jacob", + "Jamie", + "0952 Colon Greens", + "00913 Natalie Tunnel Apt. 769", + "Sullivan Group", + "Longbury", + "03714 April Landing", + "74874", + "Turkey", + "(038)859-4310x9693" + ], + [ + "b2a1279b-392f-404f-88e0-f755d2bd3c14", + "2351209a-94b2-4b20-a517-1eef888c0d5b", + "Allen", + "Dean", + "8492 Smith Plains Apt. 986", + "420 Hodges Inlet Suite 088", + "Thornton-Mcknight", + "Gregoryborough", + "56904 Tony Branch Suite 945", + "88544", + "Mauritania", + "001-198-032-8011x00683" + ], + [ + "3a7cc826-4e7d-46de-a13d-895d5319a881", + "1a03bf40-3f40-460e-b170-2fadea8bdbee", + "Jill", + "Diana", + "092 Jose Unions", + "36896 Serrano Plaza", + "Wilson and Sons", + "North Justinchester", + "750 Contreras Bridge Apt. 456", + "77859", + "Kazakhstan", + "311.331.9899x4838" + ], + [ + "d4891b70-a002-41a9-a072-a1d3ef99c4d9", + "e49ad3aa-2c30-4148-81f8-4e2980467d1c", + "Jonathan", + "Lauren", + "4416 Christina Ville", + "44992 Katie Inlet Suite 965", + "Bennett, Hicks and Davidson", + "Lake Kendra", + "67281 Lee Drive Suite 987", + "27227", + "Jersey", + "950.930.9189x591" + ], + [ + "fbc3eeda-75b3-41f6-91a3-d671e3cc17d6", + "c3c73e91-020d-4fee-a1a9-e9781d684d9a", + "Gary", + "Jonathan", + "71309 Theresa Trail", + "29432 Brenda Overpass", + "Mccarthy-Huang", + "Lake Amanda", + "000 William Ranch", + "93218", + "Kazakhstan", + "001-109-449-4210x33965" + ], + [ + "684360f0-48c0-4bf7-9476-6231b7861c0b", + "18d728f1-8ec6-4e94-9725-fcd2ed719723", + "Karen", + "Paul", + "2867 Hunter Center Apt. 091", + "46974 Peter Drives Suite 073", + "Stephens, Wall and Johnson", + "Mcdowellfurt", + "33302 Mcintosh Orchard Apt. 884", + "17017", + "Gambia", + "484-039-6675" + ], + [ + "ec768cba-fc73-484a-bfc2-792e1bf29342", + "9c85fb32-1109-4409-a87d-75112fc3708f", + "Edgar", + "Hailey", + "70196 Moore Canyon", + "885 Jimenez Parkways", + "Gomez Group", + "Marktown", + "44624 Lawrence Springs Apt. 502", + "71815", + "Hungary", + "(777)526-6200" + ], + [ + "128eae16-fc8d-4d0e-9f07-78b6e4825709", + "530c610e-ab24-4f28-8d7f-684bb05817c8", + "Don", + "Edgar", + "040 Jessica Mews Apt. 149", + "3454 Lopez Neck", + "Clark, Simon and Griffith", + "Rickborough", + "549 Jeffrey Stream", + "71662", + "Korea", + "4911281340" + ], + [ + "341c94b3-cac4-46f0-bcba-33ccb52eacec", + "9f80457c-dd0e-4c4d-ab1f-cf76f734ad1c", + "Kevin", + "Kimberly", + "29504 Moore Grove", + "0079 Williams Pine Suite 274", + "Gregory-Mcgrath", + "Cantufort", + "5849 Paige River", + "72224", + "Zambia", + "(112)074-5447" + ], + [ + "d05acf85-8f05-40e8-bd8b-00a751ed4b16", + "a8214997-3076-4732-be67-66e0169f894d", + "Candace", + "Donna", + "1110 Powers Neck Suite 716", + "50101 Pamela Orchard Apt. 576", + "Brown, Hunter and Adkins", + "Adrianaville", + "4326 Orr Extensions", + "94064", + "Haiti", + "001-843-960-7631x732" + ], + [ + "44886c82-0e01-4b65-bf46-235d4d1e4e17", + "c0055521-b8d3-4ad8-86c3-cf310b5719c9", + "Holly", + "Tony", + "562 Shaw Burgs", + "568 Reed Vista", + "Ramirez Group", + "West Aaronfurt", + "6008 Brianna Lock Suite 088", + "46723", + "Uganda", + "343.960.6582" + ], + [ + "3ba1f5ff-fcd9-4315-8e72-14b716496a3c", + "3dc80460-e52c-4e94-a3dc-e9234f73e016", + "Melissa", + "Jessica", + "4076 Lisa Unions", + "46781 Brittany Route", + "Williams Inc", + "Harmonmouth", + "4349 Hughes Grove Suite 834", + "94032", + "South Georgia and the South Sandwich Islands", + "195-206-6214x45451" + ], + [ + "f757641c-963a-4696-9314-7f19f2df79fa", + "8d3afcc6-3662-4d23-899a-b9c37108f522", + "Larry", + "Brian", + "1698 Brittany Ridges", + "00442 Terry Via", + "Gallagher Group", + "Smithton", + "4835 Long Hills", + "96036", + "Japan", + "(592)844-2557x28538" + ], + [ + "a2c68229-75c5-43a5-b18b-8a8b504d4f9d", + "d78f0b90-d3a9-4568-b7de-8bb45423b25b", + "Gary", + "Luis", + "909 Carolyn Highway Apt. 717", + "549 Steve Walks Suite 058", + "Serrano, Harrison and Beard", + "South Kimberly", + "18324 Briana Point", + "36285", + "Macao", + "392.711.2369x14285" + ], + [ + "2a89cec7-1cf5-4c9c-ad79-745a1984e36f", + "4035c32c-7a03-409f-a8f4-bb3ff3d7c91d", + "Brittany", + "Brenda", + "2691 Brandon Plaza", + "13209 Alexis Cove Suite 182", + "Durham LLC", + "New Christyton", + "080 Peters Track", + "97880", + "Gabon", + "+1-604-197-7676x09064" + ], + [ + "a391bf33-6665-4caa-a2d7-de3132bf60d3", + "88156561-0c36-4053-a1d7-b58fac121003", + "Debbie", + "Sharon", + "600 Keller Trafficway", + "18809 Peter Village", + "Vazquez, Allen and Washington", + "Singhmouth", + "5628 Terrence Locks Suite 798", + "20287", + "Anguilla", + "001-151-880-6914x699" + ], + [ + "19bcef03-483c-4225-bb61-aafe48a2f981", + "8a35b2d9-8f65-484f-b735-8eb42c2bbfec", + "Mark", + "Ashley", + "3124 Kenneth Mountains Suite 321", + "111 Carter Drives Apt. 942", + "Hill PLC", + "Port Shannonville", + "6035 Calderon Ramp", + "25829", + "Angola", + "441.553.9413x20451" + ] + ] + }, + "tableProfile": { + "timestamp": 1634366539, + "columnCount": 12, + "rowCount": 725, + "customMetrics": [ + { + "name": "CountOfUSAddress", + "value": 15467 + }, + { + "name": "CountOfFRAddress", + "value": 1467 + } + ], + "columnProfile": [ + { + "name": "address_::>id", + "uniqueCount": 9, + "uniqueProportion": 0.52805369, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "shop_id", + "uniqueCount": 29, + "uniqueProportion": 0.2290940013, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "first_name", + "uniqueCount": 13, + "uniqueProportion": 0.1327792, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "last_name", + "uniqueCount": 23, + "uniqueProportion": 0.177126, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "address1", + "uniqueCount": 53, + "uniqueProportion": 0.0396391, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "address2", + "uniqueCount": 76, + "uniqueProportion": 0.0690369, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "company", + "uniqueCount": 23, + "uniqueProportion": 0.1210963, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "city", + "uniqueCount": 6, + "uniqueProportion": 0.024072, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "region", + "uniqueCount": 3, + "uniqueProportion": 0.1478114, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "zip", + "uniqueCount": 11, + "uniqueProportion": 0.1383472, + "distinctCount": 0, + "distinctProportion": 0, + "customMetrics": [ + { + "name": "CountOfLAZipCode", + "value": 3456 + }, + { + "name": "CountOfOrangeCountyZipCode", + "value": 2345 + } + ] + }, + { + "name": "country", + "uniqueCount": 13, + "uniqueProportion": 0.1601013, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "phone", + "uniqueCount": 8, + "uniqueProportion": 0.1297079, + "distinctCount": 0, + "distinctProportion": 0 + } + ] + }, + "databaseSchema": { + "id": "d7be1e2c-b3dc-11ec-b909-0242ac120002", + "type": "databaseSchema", + "name": "sample_data.ecommerce_db.shopify", + "description": "This **mock** Schema contains tables related to shopify sales and orders with related dimension tables.", + "href": "http://localhost:8585/api/v1/databaseSchemas/d7be1e2c-b3dc-11ec-b909-0242ac120002" + }, + "customMetrics": [ + { + "name": "CountOfUSAddress", + "expression": "SELECT COUNT(address_id) FROM dim_address WHERE country = 'US'" + }, + { + "name": "CountOfFRAddress", + "expression": "SELECT COUNT(address_id) FROM dim_address WHERE country = 'FR'" + } + ], + "sourceUrl": "http://localhost:8080/global_market" + }, + { + "name": "global", + "description": "This dimension table contains the billing and shipping addresses of customers. You can join this table with the sales table to generate lists of the billing and shipping addresses. Customers can enter their addresses more than once, so the same address can appear in more than one row in this table. This table contains one row per customer address.", + "version": 0.1, + "updatedAt": 1638354087391, + "updatedBy": "anonymous", + "href": "http://localhost:8585/api/v1/tables/3cda8ecb-f4c6-4ed4-8506-abe965b54b86", + "tableType": "Regular", + "schemaDefinition": "CREATE TABLE dim_address(address_id NUMERIC PRIMARY KEY, shop_id NUMERIC)", + "retentionPeriod": "10D", + "columns": [ + { + "name": "address_::>id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Unique identifier for the address.", + "tags": [], + "ordinalPosition": 1 + }, + { + "name": "shop_id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "The ID of the store. This column is a foreign key reference to the shop_id column in the dim_shop table.", + "tags": [], + "ordinalPosition": 2 + }, + { + "name": "first_name", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "First name of the customer.", + "tags": [], + "ordinalPosition": 3 + }, + { + "name": "last_name", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "Last name of the customer.", + "tags": [], + "ordinalPosition": 4 + }, + { + "name": "address1", + "dataType": "VARCHAR", + "dataLength": 500, + "dataTypeDisplay": "varchar", + "description": "The first address line. For example, 150 Elgin St.", + "tags": [], + "ordinalPosition": 5 + }, + { + "name": "address2", + "dataType": "VARCHAR", + "dataLength": 500, + "dataTypeDisplay": "varchar", + "description": "The second address line. For example, Suite 800.", + "tags": [], + "ordinalPosition": 6 + }, + { + "name": "company", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "The name of the customer's business, if one exists.", + "tags": [], + "ordinalPosition": 7 + }, + { + "name": "city", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "The name of the city. For example, Palo Alto.", + "tags": [], + "ordinalPosition": 8 + }, + { + "name": "region", + "dataType": "VARCHAR", + "dataLength": 512, + "dataTypeDisplay": "varchar", + "description": "The name of the region, such as a province or state, where the customer is located. For example, Ontario or New York. This column is the same as CustomerAddress.province in the Admin API.", + "tags": [], + "ordinalPosition": 9 + }, + { + "name": "zip", + "dataType": "VARCHAR", + "dataLength": 10, + "dataTypeDisplay": "varchar", + "description": "The ZIP or postal code. For example, 90210.", + "tags": [], + "ordinalPosition": 10, + "customMetrics": [ + { + "name": "CountOfLAZipCode", + "columnName": "zip", + "expression": "SELECT COUNT(zip) FROM dim_address WHERE zip LIKE '900%'" + }, + { + "name": "CountOfOrangeCountyZipCode", + "columnName": "zip", + "expression": "SELECT COUNT(zip) FROM dim_address WHERE zip LIKE '92%'" + } + ] + }, + { + "name": "country", + "dataType": "VARCHAR", + "dataLength": 50, + "dataTypeDisplay": "varchar", + "description": "The full name of the country. For example, Canada.", + "tags": [], + "ordinalPosition": 11 + }, + { + "name": "phone", + "dataType": "VARCHAR", + "dataLength": 15, + "dataTypeDisplay": "varchar", + "description": "The phone number of the customer.", + "tags": [], + "ordinalPosition": 12, + "customMetrics": [ + { + "name": "CountOfNonUsPhoneNumbers", + "columnName": "phone", + "expression": "SELECT COUNT(phone) FROM dim_address WHERE phone NOT LIKE '1%'" + } + ] + } + ], + "tableConstraints": [ + { + "constraintType": "PRIMARY_KEY", + "columns": [ + "address_::>id", + "shop_id" + ] + } + ], + "database": { + "id": "50da1ff8-4e1d-4967-8931-45edbf4dd908", + "type": "database", + "name": "sample_data.ecommerce_db", + "description": "This **mock** database contains tables related to shopify sales and orders with related dimension tables.", + "href": "http://localhost:8585/api/v1/databases/50da1ff8-4e1d-4967-8931-45edbf4dd908" + }, + "tags": [], + "usageSummary": { + "dailyStats": { + "count": 73, + "percentileRank": 45 + }, + "weeklyStats": { + "count": 73, + "percentileRank": 45 + }, + "monthlyStats": { + "count": 67, + "percentileRank": 45 + }, + "date": "2021-12-01" + }, + "followers": [], + "joins": { + "startDate": "2021-11-01", + "dayCount": 30, + "columnJoins": [ + { + "columnName": "shop_id", + "joinedWith": [ + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.shop\".shop_id", + "joinCount": 35 + } + ] + }, + { + "columnName": "address_::>id", + "joinedWith": [ + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.api_client_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.billing_address_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.customer_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.location_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.order_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.product_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.product_variant_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.shipping_address_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.shop_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.user_id", + "joinCount": 49 + } + ] + } + ] + }, + "sampleData": { + "columns": [ + "address_::>id", + "shop_id", + "first_name", + "last_name", + "address1", + "address2", + "company", + "city", + "region", + "zip", + "country", + "phone" + ], + "rows": [ + [ + "bc35100e-2da5-48bb-bfc8-667dafe66532", + "70424951-bc97-4b20-9ce7-be37c4619361", + "Zachary", + "Brett", + "9054 Maria Circle Apt. 296", + "48348 Victoria Valleys Suite 144", + "Robinson Inc", + "Stephanieport", + "048 Moore Turnpike Apt. 061", + "30839", + "Latvia", + "(381)575-6692" + ], + [ + "d9a5b1a0-bf92-4b71-884d-9818308d040d", + "ffdc81e4-b0dc-47b2-8240-8540ba6c3029", + "Melissa", + "Amy", + "6212 William Plaza Suite 362", + "741 Eric Bypass", + "Todd, Henderson and Jenkins", + "Petersonstad", + "363 Gary Mills", + "91794", + "Lesotho", + "828-855-9883" + ], + [ + "facf92d7-05ea-43d2-ba2a-067d63dee60c", + "a8d30187-1409-4606-9259-322a4f6caf74", + "Amber", + "Albert", + "3170 Warren Orchard Apt. 834", + "3204 Brewer Shoal Suite 324", + "Davila-Snyder", + "Nicoleland", + "023 Paul Course", + "14086", + "Sweden", + "438-959-1151" + ], + [ + "bab9a506-e23d-4c53-9402-d070e7704376", + "e02e1fac-b650-4db8-8c9d-5fa5edf5d863", + "Heidi", + "Kelly", + "30942 Gonzalez Stravenue", + "3158 Watts Green", + "Moore PLC", + "West Erica", + "6294 Elliott Ville", + "07418", + "Saint Martin", + "(830)112-9566x8681" + ], + [ + "67ff12ae-5d40-4795-9a82-3afa62a4aea1", + "bf45dc22-8d23-49d9-9d87-7b4bd2dd1762", + "Adam", + "Anna", + "986 Walker Unions", + "5798 Ross Spur Apt. 510", + "Schultz, Allen and Price", + "West Brandyton", + "07379 Alejandra Manors", + "09192", + "Cambodia", + "(859)222-9872x9188" + ], + [ + "97831db3-23df-424e-b2e3-19f196874002", + "cfc3c305-748b-4992-9fef-ddd0aa7ce927", + "Tracey", + "Kaitlin", + "1810 Fletcher Islands", + "6988 Steven Vista Apt. 738", + "Patel-Evans", + "Powellbury", + "8856 Lambert Forest Apt. 010", + "49826", + "Turks and Caicos Islands", + "195.384.1264x84605" + ], + [ + "a405990b-732f-431e-b3ad-0ce05a484671", + "f53ff51f-3365-4029-ae67-a679e1dca626", + "Carmen", + "Jessica", + "58361 Audrey Parks Apt. 128", + "864 Phillips Squares", + "Perez Inc", + "Laurieshire", + "407 Nicole Greens", + "06175", + "Kenya", + "(565)853-4978x18062" + ], + [ + "d3be5a1e-10f0-46e6-8033-d15766e73047", + "ffeea1b4-eb28-452a-8b06-2408e36b1a94", + "Melinda", + "Paul", + "09590 Gonzales Camp Apt. 092", + "146 Carlson Manor Suite 961", + "Mills Ltd", + "South Wendy", + "6273 Victor Springs Apt. 655", + "68154", + "United Arab Emirates", + "(209)678-7748x53000" + ], + [ + "52636d10-1505-4f0a-894a-52a194cdba26", + "8c021bf4-f33a-4d41-b55f-78d801a45d5e", + "Jacob", + "Jamie", + "0952 Colon Greens", + "00913 Natalie Tunnel Apt. 769", + "Sullivan Group", + "Longbury", + "03714 April Landing", + "74874", + "Turkey", + "(038)859-4310x9693" + ], + [ + "b2a1279b-392f-404f-88e0-f755d2bd3c14", + "2351209a-94b2-4b20-a517-1eef888c0d5b", + "Allen", + "Dean", + "8492 Smith Plains Apt. 986", + "420 Hodges Inlet Suite 088", + "Thornton-Mcknight", + "Gregoryborough", + "56904 Tony Branch Suite 945", + "88544", + "Mauritania", + "001-198-032-8011x00683" + ], + [ + "3a7cc826-4e7d-46de-a13d-895d5319a881", + "1a03bf40-3f40-460e-b170-2fadea8bdbee", + "Jill", + "Diana", + "092 Jose Unions", + "36896 Serrano Plaza", + "Wilson and Sons", + "North Justinchester", + "750 Contreras Bridge Apt. 456", + "77859", + "Kazakhstan", + "311.331.9899x4838" + ], + [ + "d4891b70-a002-41a9-a072-a1d3ef99c4d9", + "e49ad3aa-2c30-4148-81f8-4e2980467d1c", + "Jonathan", + "Lauren", + "4416 Christina Ville", + "44992 Katie Inlet Suite 965", + "Bennett, Hicks and Davidson", + "Lake Kendra", + "67281 Lee Drive Suite 987", + "27227", + "Jersey", + "950.930.9189x591" + ], + [ + "fbc3eeda-75b3-41f6-91a3-d671e3cc17d6", + "c3c73e91-020d-4fee-a1a9-e9781d684d9a", + "Gary", + "Jonathan", + "71309 Theresa Trail", + "29432 Brenda Overpass", + "Mccarthy-Huang", + "Lake Amanda", + "000 William Ranch", + "93218", + "Kazakhstan", + "001-109-449-4210x33965" + ], + [ + "684360f0-48c0-4bf7-9476-6231b7861c0b", + "18d728f1-8ec6-4e94-9725-fcd2ed719723", + "Karen", + "Paul", + "2867 Hunter Center Apt. 091", + "46974 Peter Drives Suite 073", + "Stephens, Wall and Johnson", + "Mcdowellfurt", + "33302 Mcintosh Orchard Apt. 884", + "17017", + "Gambia", + "484-039-6675" + ], + [ + "ec768cba-fc73-484a-bfc2-792e1bf29342", + "9c85fb32-1109-4409-a87d-75112fc3708f", + "Edgar", + "Hailey", + "70196 Moore Canyon", + "885 Jimenez Parkways", + "Gomez Group", + "Marktown", + "44624 Lawrence Springs Apt. 502", + "71815", + "Hungary", + "(777)526-6200" + ], + [ + "128eae16-fc8d-4d0e-9f07-78b6e4825709", + "530c610e-ab24-4f28-8d7f-684bb05817c8", + "Don", + "Edgar", + "040 Jessica Mews Apt. 149", + "3454 Lopez Neck", + "Clark, Simon and Griffith", + "Rickborough", + "549 Jeffrey Stream", + "71662", + "Korea", + "4911281340" + ], + [ + "341c94b3-cac4-46f0-bcba-33ccb52eacec", + "9f80457c-dd0e-4c4d-ab1f-cf76f734ad1c", + "Kevin", + "Kimberly", + "29504 Moore Grove", + "0079 Williams Pine Suite 274", + "Gregory-Mcgrath", + "Cantufort", + "5849 Paige River", + "72224", + "Zambia", + "(112)074-5447" + ], + [ + "d05acf85-8f05-40e8-bd8b-00a751ed4b16", + "a8214997-3076-4732-be67-66e0169f894d", + "Candace", + "Donna", + "1110 Powers Neck Suite 716", + "50101 Pamela Orchard Apt. 576", + "Brown, Hunter and Adkins", + "Adrianaville", + "4326 Orr Extensions", + "94064", + "Haiti", + "001-843-960-7631x732" + ], + [ + "44886c82-0e01-4b65-bf46-235d4d1e4e17", + "c0055521-b8d3-4ad8-86c3-cf310b5719c9", + "Holly", + "Tony", + "562 Shaw Burgs", + "568 Reed Vista", + "Ramirez Group", + "West Aaronfurt", + "6008 Brianna Lock Suite 088", + "46723", + "Uganda", + "343.960.6582" + ], + [ + "3ba1f5ff-fcd9-4315-8e72-14b716496a3c", + "3dc80460-e52c-4e94-a3dc-e9234f73e016", + "Melissa", + "Jessica", + "4076 Lisa Unions", + "46781 Brittany Route", + "Williams Inc", + "Harmonmouth", + "4349 Hughes Grove Suite 834", + "94032", + "South Georgia and the South Sandwich Islands", + "195-206-6214x45451" + ], + [ + "f757641c-963a-4696-9314-7f19f2df79fa", + "8d3afcc6-3662-4d23-899a-b9c37108f522", + "Larry", + "Brian", + "1698 Brittany Ridges", + "00442 Terry Via", + "Gallagher Group", + "Smithton", + "4835 Long Hills", + "96036", + "Japan", + "(592)844-2557x28538" + ], + [ + "a2c68229-75c5-43a5-b18b-8a8b504d4f9d", + "d78f0b90-d3a9-4568-b7de-8bb45423b25b", + "Gary", + "Luis", + "909 Carolyn Highway Apt. 717", + "549 Steve Walks Suite 058", + "Serrano, Harrison and Beard", + "South Kimberly", + "18324 Briana Point", + "36285", + "Macao", + "392.711.2369x14285" + ], + [ + "2a89cec7-1cf5-4c9c-ad79-745a1984e36f", + "4035c32c-7a03-409f-a8f4-bb3ff3d7c91d", + "Brittany", + "Brenda", + "2691 Brandon Plaza", + "13209 Alexis Cove Suite 182", + "Durham LLC", + "New Christyton", + "080 Peters Track", + "97880", + "Gabon", + "+1-604-197-7676x09064" + ], + [ + "a391bf33-6665-4caa-a2d7-de3132bf60d3", + "88156561-0c36-4053-a1d7-b58fac121003", + "Debbie", + "Sharon", + "600 Keller Trafficway", + "18809 Peter Village", + "Vazquez, Allen and Washington", + "Singhmouth", + "5628 Terrence Locks Suite 798", + "20287", + "Anguilla", + "001-151-880-6914x699" + ], + [ + "19bcef03-483c-4225-bb61-aafe48a2f981", + "8a35b2d9-8f65-484f-b735-8eb42c2bbfec", + "Mark", + "Ashley", + "3124 Kenneth Mountains Suite 321", + "111 Carter Drives Apt. 942", + "Hill PLC", + "Port Shannonville", + "6035 Calderon Ramp", + "25829", + "Angola", + "441.553.9413x20451" + ] + ] + }, + "tableProfile": { + "timestamp": 1634366539, + "columnCount": 12, + "rowCount": 725, + "customMetrics": [ + { + "name": "CountOfUSAddress", + "value": 15467 + }, + { + "name": "CountOfFRAddress", + "value": 1467 + } + ], + "columnProfile": [ + { + "name": "address_::>id", + "uniqueCount": 9, + "uniqueProportion": 0.52805369, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "shop_id", + "uniqueCount": 29, + "uniqueProportion": 0.2290940013, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "first_name", + "uniqueCount": 13, + "uniqueProportion": 0.1327792, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "last_name", + "uniqueCount": 23, + "uniqueProportion": 0.177126, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "address1", + "uniqueCount": 53, + "uniqueProportion": 0.0396391, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "address2", + "uniqueCount": 76, + "uniqueProportion": 0.0690369, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "company", + "uniqueCount": 23, + "uniqueProportion": 0.1210963, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "city", + "uniqueCount": 6, + "uniqueProportion": 0.024072, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "region", + "uniqueCount": 3, + "uniqueProportion": 0.1478114, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "zip", + "uniqueCount": 11, + "uniqueProportion": 0.1383472, + "distinctCount": 0, + "distinctProportion": 0, + "customMetrics": [ + { + "name": "CountOfLAZipCode", + "value": 3456 + }, + { + "name": "CountOfOrangeCountyZipCode", + "value": 2345 + } + ] + }, + { + "name": "country", + "uniqueCount": 13, + "uniqueProportion": 0.1601013, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "phone", + "uniqueCount": 8, + "uniqueProportion": 0.1297079, + "distinctCount": 0, + "distinctProportion": 0 + } + ] + }, + "databaseSchema": { + "id": "d7be1e2c-b3dc-11ec-b909-0242ac120002", + "type": "databaseSchema", + "name": "sample_data.ecommerce_db.shopify", + "description": "This **mock** Schema contains tables related to shopify sales and orders with related dimension tables.", + "href": "http://localhost:8585/api/v1/databaseSchemas/d7be1e2c-b3dc-11ec-b909-0242ac120002" + }, + "customMetrics": [ + { + "name": "CountOfUSAddress", + "expression": "SELECT COUNT(address_id) FROM dim_address WHERE country = 'US'" + }, + { + "name": "CountOfFRAddress", + "expression": "SELECT COUNT(address_id) FROM dim_address WHERE country = 'FR'" + } + ], + "sourceUrl": "http://localhost:8080/global" + }, + { + "name": "ice_global", + "description": "This dimension table contains the billing and shipping addresses of customers. You can join this table with the sales table to generate lists of the billing and shipping addresses. Customers can enter their addresses more than once, so the same address can appear in more than one row in this table. This table contains one row per customer address.", + "version": 0.1, + "updatedAt": 1638354087391, + "updatedBy": "anonymous", + "href": "http://localhost:8585/api/v1/tables/3cda8ecb-f4c6-4ed4-8506-abe965b54b86", + "tableType": "Regular", + "schemaDefinition": "CREATE TABLE dim_address(address_id NUMERIC PRIMARY KEY, shop_id NUMERIC)", + "retentionPeriod": "10D", + "columns": [ + { + "name": "address_::>id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Unique identifier for the address.", + "tags": [], + "ordinalPosition": 1 + }, + { + "name": "shop_id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "The ID of the store. This column is a foreign key reference to the shop_id column in the dim_shop table.", + "tags": [], + "ordinalPosition": 2 + }, + { + "name": "first_name", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "First name of the customer.", + "tags": [], + "ordinalPosition": 3 + }, + { + "name": "last_name", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "Last name of the customer.", + "tags": [], + "ordinalPosition": 4 + }, + { + "name": "address1", + "dataType": "VARCHAR", + "dataLength": 500, + "dataTypeDisplay": "varchar", + "description": "The first address line. For example, 150 Elgin St.", + "tags": [], + "ordinalPosition": 5 + }, + { + "name": "address2", + "dataType": "VARCHAR", + "dataLength": 500, + "dataTypeDisplay": "varchar", + "description": "The second address line. For example, Suite 800.", + "tags": [], + "ordinalPosition": 6 + }, + { + "name": "company", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "The name of the customer's business, if one exists.", + "tags": [], + "ordinalPosition": 7 + }, + { + "name": "city", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "The name of the city. For example, Palo Alto.", + "tags": [], + "ordinalPosition": 8 + }, + { + "name": "region", + "dataType": "VARCHAR", + "dataLength": 512, + "dataTypeDisplay": "varchar", + "description": "The name of the region, such as a province or state, where the customer is located. For example, Ontario or New York. This column is the same as CustomerAddress.province in the Admin API.", + "tags": [], + "ordinalPosition": 9 + }, + { + "name": "zip", + "dataType": "VARCHAR", + "dataLength": 10, + "dataTypeDisplay": "varchar", + "description": "The ZIP or postal code. For example, 90210.", + "tags": [], + "ordinalPosition": 10, + "customMetrics": [ + { + "name": "CountOfLAZipCode", + "columnName": "zip", + "expression": "SELECT COUNT(zip) FROM dim_address WHERE zip LIKE '900%'" + }, + { + "name": "CountOfOrangeCountyZipCode", + "columnName": "zip", + "expression": "SELECT COUNT(zip) FROM dim_address WHERE zip LIKE '92%'" + } + ] + }, + { + "name": "country", + "dataType": "VARCHAR", + "dataLength": 50, + "dataTypeDisplay": "varchar", + "description": "The full name of the country. For example, Canada.", + "tags": [], + "ordinalPosition": 11 + }, + { + "name": "phone", + "dataType": "VARCHAR", + "dataLength": 15, + "dataTypeDisplay": "varchar", + "description": "The phone number of the customer.", + "tags": [], + "ordinalPosition": 12, + "customMetrics": [ + { + "name": "CountOfNonUsPhoneNumbers", + "columnName": "phone", + "expression": "SELECT COUNT(phone) FROM dim_address WHERE phone NOT LIKE '1%'" + } + ] + } + ], + "tableConstraints": [ + { + "constraintType": "PRIMARY_KEY", + "columns": [ + "address_::>id", + "shop_id" + ] + } + ], + "database": { + "id": "50da1ff8-4e1d-4967-8931-45edbf4dd908", + "type": "database", + "name": "sample_data.ecommerce_db", + "description": "This **mock** database contains tables related to shopify sales and orders with related dimension tables.", + "href": "http://localhost:8585/api/v1/databases/50da1ff8-4e1d-4967-8931-45edbf4dd908" + }, + "tags": [], + "usageSummary": { + "dailyStats": { + "count": 73, + "percentileRank": 45 + }, + "weeklyStats": { + "count": 73, + "percentileRank": 45 + }, + "monthlyStats": { + "count": 67, + "percentileRank": 45 + }, + "date": "2021-12-01" + }, + "followers": [], + "joins": { + "startDate": "2021-11-01", + "dayCount": 30, + "columnJoins": [ + { + "columnName": "shop_id", + "joinedWith": [ + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.shop\".shop_id", + "joinCount": 35 + } + ] + }, + { + "columnName": "address_::>id", + "joinedWith": [ + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.api_client_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.billing_address_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.customer_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.location_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.order_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.product_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.product_variant_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.shipping_address_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.shop_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.user_id", + "joinCount": 49 + } + ] + } + ] + }, + "sampleData": { + "columns": [ + "address_::>id", + "shop_id", + "first_name", + "last_name", + "address1", + "address2", + "company", + "city", + "region", + "zip", + "country", + "phone" + ], + "rows": [ + [ + "bc35100e-2da5-48bb-bfc8-667dafe66532", + "70424951-bc97-4b20-9ce7-be37c4619361", + "Zachary", + "Brett", + "9054 Maria Circle Apt. 296", + "48348 Victoria Valleys Suite 144", + "Robinson Inc", + "Stephanieport", + "048 Moore Turnpike Apt. 061", + "30839", + "Latvia", + "(381)575-6692" + ], + [ + "d9a5b1a0-bf92-4b71-884d-9818308d040d", + "ffdc81e4-b0dc-47b2-8240-8540ba6c3029", + "Melissa", + "Amy", + "6212 William Plaza Suite 362", + "741 Eric Bypass", + "Todd, Henderson and Jenkins", + "Petersonstad", + "363 Gary Mills", + "91794", + "Lesotho", + "828-855-9883" + ], + [ + "facf92d7-05ea-43d2-ba2a-067d63dee60c", + "a8d30187-1409-4606-9259-322a4f6caf74", + "Amber", + "Albert", + "3170 Warren Orchard Apt. 834", + "3204 Brewer Shoal Suite 324", + "Davila-Snyder", + "Nicoleland", + "023 Paul Course", + "14086", + "Sweden", + "438-959-1151" + ], + [ + "bab9a506-e23d-4c53-9402-d070e7704376", + "e02e1fac-b650-4db8-8c9d-5fa5edf5d863", + "Heidi", + "Kelly", + "30942 Gonzalez Stravenue", + "3158 Watts Green", + "Moore PLC", + "West Erica", + "6294 Elliott Ville", + "07418", + "Saint Martin", + "(830)112-9566x8681" + ], + [ + "67ff12ae-5d40-4795-9a82-3afa62a4aea1", + "bf45dc22-8d23-49d9-9d87-7b4bd2dd1762", + "Adam", + "Anna", + "986 Walker Unions", + "5798 Ross Spur Apt. 510", + "Schultz, Allen and Price", + "West Brandyton", + "07379 Alejandra Manors", + "09192", + "Cambodia", + "(859)222-9872x9188" + ], + [ + "97831db3-23df-424e-b2e3-19f196874002", + "cfc3c305-748b-4992-9fef-ddd0aa7ce927", + "Tracey", + "Kaitlin", + "1810 Fletcher Islands", + "6988 Steven Vista Apt. 738", + "Patel-Evans", + "Powellbury", + "8856 Lambert Forest Apt. 010", + "49826", + "Turks and Caicos Islands", + "195.384.1264x84605" + ], + [ + "a405990b-732f-431e-b3ad-0ce05a484671", + "f53ff51f-3365-4029-ae67-a679e1dca626", + "Carmen", + "Jessica", + "58361 Audrey Parks Apt. 128", + "864 Phillips Squares", + "Perez Inc", + "Laurieshire", + "407 Nicole Greens", + "06175", + "Kenya", + "(565)853-4978x18062" + ], + [ + "d3be5a1e-10f0-46e6-8033-d15766e73047", + "ffeea1b4-eb28-452a-8b06-2408e36b1a94", + "Melinda", + "Paul", + "09590 Gonzales Camp Apt. 092", + "146 Carlson Manor Suite 961", + "Mills Ltd", + "South Wendy", + "6273 Victor Springs Apt. 655", + "68154", + "United Arab Emirates", + "(209)678-7748x53000" + ], + [ + "52636d10-1505-4f0a-894a-52a194cdba26", + "8c021bf4-f33a-4d41-b55f-78d801a45d5e", + "Jacob", + "Jamie", + "0952 Colon Greens", + "00913 Natalie Tunnel Apt. 769", + "Sullivan Group", + "Longbury", + "03714 April Landing", + "74874", + "Turkey", + "(038)859-4310x9693" + ], + [ + "b2a1279b-392f-404f-88e0-f755d2bd3c14", + "2351209a-94b2-4b20-a517-1eef888c0d5b", + "Allen", + "Dean", + "8492 Smith Plains Apt. 986", + "420 Hodges Inlet Suite 088", + "Thornton-Mcknight", + "Gregoryborough", + "56904 Tony Branch Suite 945", + "88544", + "Mauritania", + "001-198-032-8011x00683" + ], + [ + "3a7cc826-4e7d-46de-a13d-895d5319a881", + "1a03bf40-3f40-460e-b170-2fadea8bdbee", + "Jill", + "Diana", + "092 Jose Unions", + "36896 Serrano Plaza", + "Wilson and Sons", + "North Justinchester", + "750 Contreras Bridge Apt. 456", + "77859", + "Kazakhstan", + "311.331.9899x4838" + ], + [ + "d4891b70-a002-41a9-a072-a1d3ef99c4d9", + "e49ad3aa-2c30-4148-81f8-4e2980467d1c", + "Jonathan", + "Lauren", + "4416 Christina Ville", + "44992 Katie Inlet Suite 965", + "Bennett, Hicks and Davidson", + "Lake Kendra", + "67281 Lee Drive Suite 987", + "27227", + "Jersey", + "950.930.9189x591" + ], + [ + "fbc3eeda-75b3-41f6-91a3-d671e3cc17d6", + "c3c73e91-020d-4fee-a1a9-e9781d684d9a", + "Gary", + "Jonathan", + "71309 Theresa Trail", + "29432 Brenda Overpass", + "Mccarthy-Huang", + "Lake Amanda", + "000 William Ranch", + "93218", + "Kazakhstan", + "001-109-449-4210x33965" + ], + [ + "684360f0-48c0-4bf7-9476-6231b7861c0b", + "18d728f1-8ec6-4e94-9725-fcd2ed719723", + "Karen", + "Paul", + "2867 Hunter Center Apt. 091", + "46974 Peter Drives Suite 073", + "Stephens, Wall and Johnson", + "Mcdowellfurt", + "33302 Mcintosh Orchard Apt. 884", + "17017", + "Gambia", + "484-039-6675" + ], + [ + "ec768cba-fc73-484a-bfc2-792e1bf29342", + "9c85fb32-1109-4409-a87d-75112fc3708f", + "Edgar", + "Hailey", + "70196 Moore Canyon", + "885 Jimenez Parkways", + "Gomez Group", + "Marktown", + "44624 Lawrence Springs Apt. 502", + "71815", + "Hungary", + "(777)526-6200" + ], + [ + "128eae16-fc8d-4d0e-9f07-78b6e4825709", + "530c610e-ab24-4f28-8d7f-684bb05817c8", + "Don", + "Edgar", + "040 Jessica Mews Apt. 149", + "3454 Lopez Neck", + "Clark, Simon and Griffith", + "Rickborough", + "549 Jeffrey Stream", + "71662", + "Korea", + "4911281340" + ], + [ + "341c94b3-cac4-46f0-bcba-33ccb52eacec", + "9f80457c-dd0e-4c4d-ab1f-cf76f734ad1c", + "Kevin", + "Kimberly", + "29504 Moore Grove", + "0079 Williams Pine Suite 274", + "Gregory-Mcgrath", + "Cantufort", + "5849 Paige River", + "72224", + "Zambia", + "(112)074-5447" + ], + [ + "d05acf85-8f05-40e8-bd8b-00a751ed4b16", + "a8214997-3076-4732-be67-66e0169f894d", + "Candace", + "Donna", + "1110 Powers Neck Suite 716", + "50101 Pamela Orchard Apt. 576", + "Brown, Hunter and Adkins", + "Adrianaville", + "4326 Orr Extensions", + "94064", + "Haiti", + "001-843-960-7631x732" + ], + [ + "44886c82-0e01-4b65-bf46-235d4d1e4e17", + "c0055521-b8d3-4ad8-86c3-cf310b5719c9", + "Holly", + "Tony", + "562 Shaw Burgs", + "568 Reed Vista", + "Ramirez Group", + "West Aaronfurt", + "6008 Brianna Lock Suite 088", + "46723", + "Uganda", + "343.960.6582" + ], + [ + "3ba1f5ff-fcd9-4315-8e72-14b716496a3c", + "3dc80460-e52c-4e94-a3dc-e9234f73e016", + "Melissa", + "Jessica", + "4076 Lisa Unions", + "46781 Brittany Route", + "Williams Inc", + "Harmonmouth", + "4349 Hughes Grove Suite 834", + "94032", + "South Georgia and the South Sandwich Islands", + "195-206-6214x45451" + ], + [ + "f757641c-963a-4696-9314-7f19f2df79fa", + "8d3afcc6-3662-4d23-899a-b9c37108f522", + "Larry", + "Brian", + "1698 Brittany Ridges", + "00442 Terry Via", + "Gallagher Group", + "Smithton", + "4835 Long Hills", + "96036", + "Japan", + "(592)844-2557x28538" + ], + [ + "a2c68229-75c5-43a5-b18b-8a8b504d4f9d", + "d78f0b90-d3a9-4568-b7de-8bb45423b25b", + "Gary", + "Luis", + "909 Carolyn Highway Apt. 717", + "549 Steve Walks Suite 058", + "Serrano, Harrison and Beard", + "South Kimberly", + "18324 Briana Point", + "36285", + "Macao", + "392.711.2369x14285" + ], + [ + "2a89cec7-1cf5-4c9c-ad79-745a1984e36f", + "4035c32c-7a03-409f-a8f4-bb3ff3d7c91d", + "Brittany", + "Brenda", + "2691 Brandon Plaza", + "13209 Alexis Cove Suite 182", + "Durham LLC", + "New Christyton", + "080 Peters Track", + "97880", + "Gabon", + "+1-604-197-7676x09064" + ], + [ + "a391bf33-6665-4caa-a2d7-de3132bf60d3", + "88156561-0c36-4053-a1d7-b58fac121003", + "Debbie", + "Sharon", + "600 Keller Trafficway", + "18809 Peter Village", + "Vazquez, Allen and Washington", + "Singhmouth", + "5628 Terrence Locks Suite 798", + "20287", + "Anguilla", + "001-151-880-6914x699" + ], + [ + "19bcef03-483c-4225-bb61-aafe48a2f981", + "8a35b2d9-8f65-484f-b735-8eb42c2bbfec", + "Mark", + "Ashley", + "3124 Kenneth Mountains Suite 321", + "111 Carter Drives Apt. 942", + "Hill PLC", + "Port Shannonville", + "6035 Calderon Ramp", + "25829", + "Angola", + "441.553.9413x20451" + ] + ] + }, + "tableProfile": { + "timestamp": 1634366539, + "columnCount": 12, + "rowCount": 725, + "customMetrics": [ + { + "name": "CountOfUSAddress", + "value": 15467 + }, + { + "name": "CountOfFRAddress", + "value": 1467 + } + ], + "columnProfile": [ + { + "name": "address_::>id", + "uniqueCount": 9, + "uniqueProportion": 0.52805369, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "shop_id", + "uniqueCount": 29, + "uniqueProportion": 0.2290940013, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "first_name", + "uniqueCount": 13, + "uniqueProportion": 0.1327792, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "last_name", + "uniqueCount": 23, + "uniqueProportion": 0.177126, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "address1", + "uniqueCount": 53, + "uniqueProportion": 0.0396391, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "address2", + "uniqueCount": 76, + "uniqueProportion": 0.0690369, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "company", + "uniqueCount": 23, + "uniqueProportion": 0.1210963, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "city", + "uniqueCount": 6, + "uniqueProportion": 0.024072, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "region", + "uniqueCount": 3, + "uniqueProportion": 0.1478114, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "zip", + "uniqueCount": 11, + "uniqueProportion": 0.1383472, + "distinctCount": 0, + "distinctProportion": 0, + "customMetrics": [ + { + "name": "CountOfLAZipCode", + "value": 3456 + }, + { + "name": "CountOfOrangeCountyZipCode", + "value": 2345 + } + ] + }, + { + "name": "country", + "uniqueCount": 13, + "uniqueProportion": 0.1601013, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "phone", + "uniqueCount": 8, + "uniqueProportion": 0.1297079, + "distinctCount": 0, + "distinctProportion": 0 + } + ] + }, + "databaseSchema": { + "id": "d7be1e2c-b3dc-11ec-b909-0242ac120002", + "type": "databaseSchema", + "name": "sample_data.ecommerce_db.shopify", + "description": "This **mock** Schema contains tables related to shopify sales and orders with related dimension tables.", + "href": "http://localhost:8585/api/v1/databaseSchemas/d7be1e2c-b3dc-11ec-b909-0242ac120002" + }, + "customMetrics": [ + { + "name": "CountOfUSAddress", + "expression": "SELECT COUNT(address_id) FROM dim_address WHERE country = 'US'" + }, + { + "name": "CountOfFRAddress", + "expression": "SELECT COUNT(address_id) FROM dim_address WHERE country = 'FR'" + } + ], + "sourceUrl": "http://localhost:8080/ice_global" + }, + { + "name": "mortgage", + "description": "This dimension table contains the billing and shipping addresses of customers. You can join this table with the sales table to generate lists of the billing and shipping addresses. Customers can enter their addresses more than once, so the same address can appear in more than one row in this table. This table contains one row per customer address.", + "version": 0.1, + "updatedAt": 1638354087391, + "updatedBy": "anonymous", + "href": "http://localhost:8585/api/v1/tables/3cda8ecb-f4c6-4ed4-8506-abe965b54b86", + "tableType": "Regular", + "schemaDefinition": "CREATE TABLE dim_address(address_id NUMERIC PRIMARY KEY, shop_id NUMERIC)", + "retentionPeriod": "10D", + "columns": [ + { + "name": "address_::>id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Unique identifier for the address.", + "tags": [], + "ordinalPosition": 1 + }, + { + "name": "shop_id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "The ID of the store. This column is a foreign key reference to the shop_id column in the dim_shop table.", + "tags": [], + "ordinalPosition": 2 + }, + { + "name": "first_name", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "First name of the customer.", + "tags": [], + "ordinalPosition": 3 + }, + { + "name": "last_name", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "Last name of the customer.", + "tags": [], + "ordinalPosition": 4 + }, + { + "name": "address1", + "dataType": "VARCHAR", + "dataLength": 500, + "dataTypeDisplay": "varchar", + "description": "The first address line. For example, 150 Elgin St.", + "tags": [], + "ordinalPosition": 5 + }, + { + "name": "address2", + "dataType": "VARCHAR", + "dataLength": 500, + "dataTypeDisplay": "varchar", + "description": "The second address line. For example, Suite 800.", + "tags": [], + "ordinalPosition": 6 + }, + { + "name": "company", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "The name of the customer's business, if one exists.", + "tags": [], + "ordinalPosition": 7 + }, + { + "name": "city", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "The name of the city. For example, Palo Alto.", + "tags": [], + "ordinalPosition": 8 + }, + { + "name": "region", + "dataType": "VARCHAR", + "dataLength": 512, + "dataTypeDisplay": "varchar", + "description": "The name of the region, such as a province or state, where the customer is located. For example, Ontario or New York. This column is the same as CustomerAddress.province in the Admin API.", + "tags": [], + "ordinalPosition": 9 + }, + { + "name": "zip", + "dataType": "VARCHAR", + "dataLength": 10, + "dataTypeDisplay": "varchar", + "description": "The ZIP or postal code. For example, 90210.", + "tags": [], + "ordinalPosition": 10, + "customMetrics": [ + { + "name": "CountOfLAZipCode", + "columnName": "zip", + "expression": "SELECT COUNT(zip) FROM dim_address WHERE zip LIKE '900%'" + }, + { + "name": "CountOfOrangeCountyZipCode", + "columnName": "zip", + "expression": "SELECT COUNT(zip) FROM dim_address WHERE zip LIKE '92%'" + } + ] + }, + { + "name": "country", + "dataType": "VARCHAR", + "dataLength": 50, + "dataTypeDisplay": "varchar", + "description": "The full name of the country. For example, Canada.", + "tags": [], + "ordinalPosition": 11 + }, + { + "name": "phone", + "dataType": "VARCHAR", + "dataLength": 15, + "dataTypeDisplay": "varchar", + "description": "The phone number of the customer.", + "tags": [], + "ordinalPosition": 12, + "customMetrics": [ + { + "name": "CountOfNonUsPhoneNumbers", + "columnName": "phone", + "expression": "SELECT COUNT(phone) FROM dim_address WHERE phone NOT LIKE '1%'" + } + ] + } + ], + "tableConstraints": [ + { + "constraintType": "PRIMARY_KEY", + "columns": [ + "address_::>id", + "shop_id" + ] + } + ], + "database": { + "id": "50da1ff8-4e1d-4967-8931-45edbf4dd908", + "type": "database", + "name": "sample_data.ecommerce_db", + "description": "This **mock** database contains tables related to shopify sales and orders with related dimension tables.", + "href": "http://localhost:8585/api/v1/databases/50da1ff8-4e1d-4967-8931-45edbf4dd908" + }, + "tags": [], + "usageSummary": { + "dailyStats": { + "count": 73, + "percentileRank": 45 + }, + "weeklyStats": { + "count": 73, + "percentileRank": 45 + }, + "monthlyStats": { + "count": 67, + "percentileRank": 45 + }, + "date": "2021-12-01" + }, + "followers": [], + "joins": { + "startDate": "2021-11-01", + "dayCount": 30, + "columnJoins": [ + { + "columnName": "shop_id", + "joinedWith": [ + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.shop\".shop_id", + "joinCount": 35 + } + ] + }, + { + "columnName": "address_::>id", + "joinedWith": [ + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.api_client_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.billing_address_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.customer_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.location_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.order_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.product_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.product_variant_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.shipping_address_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.shop_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.user_id", + "joinCount": 49 + } + ] + } + ] + }, + "sampleData": { + "columns": [ + "address_::>id", + "shop_id", + "first_name", + "last_name", + "address1", + "address2", + "company", + "city", + "region", + "zip", + "country", + "phone" + ], + "rows": [ + [ + "bc35100e-2da5-48bb-bfc8-667dafe66532", + "70424951-bc97-4b20-9ce7-be37c4619361", + "Zachary", + "Brett", + "9054 Maria Circle Apt. 296", + "48348 Victoria Valleys Suite 144", + "Robinson Inc", + "Stephanieport", + "048 Moore Turnpike Apt. 061", + "30839", + "Latvia", + "(381)575-6692" + ], + [ + "d9a5b1a0-bf92-4b71-884d-9818308d040d", + "ffdc81e4-b0dc-47b2-8240-8540ba6c3029", + "Melissa", + "Amy", + "6212 William Plaza Suite 362", + "741 Eric Bypass", + "Todd, Henderson and Jenkins", + "Petersonstad", + "363 Gary Mills", + "91794", + "Lesotho", + "828-855-9883" + ], + [ + "facf92d7-05ea-43d2-ba2a-067d63dee60c", + "a8d30187-1409-4606-9259-322a4f6caf74", + "Amber", + "Albert", + "3170 Warren Orchard Apt. 834", + "3204 Brewer Shoal Suite 324", + "Davila-Snyder", + "Nicoleland", + "023 Paul Course", + "14086", + "Sweden", + "438-959-1151" + ], + [ + "bab9a506-e23d-4c53-9402-d070e7704376", + "e02e1fac-b650-4db8-8c9d-5fa5edf5d863", + "Heidi", + "Kelly", + "30942 Gonzalez Stravenue", + "3158 Watts Green", + "Moore PLC", + "West Erica", + "6294 Elliott Ville", + "07418", + "Saint Martin", + "(830)112-9566x8681" + ], + [ + "67ff12ae-5d40-4795-9a82-3afa62a4aea1", + "bf45dc22-8d23-49d9-9d87-7b4bd2dd1762", + "Adam", + "Anna", + "986 Walker Unions", + "5798 Ross Spur Apt. 510", + "Schultz, Allen and Price", + "West Brandyton", + "07379 Alejandra Manors", + "09192", + "Cambodia", + "(859)222-9872x9188" + ], + [ + "97831db3-23df-424e-b2e3-19f196874002", + "cfc3c305-748b-4992-9fef-ddd0aa7ce927", + "Tracey", + "Kaitlin", + "1810 Fletcher Islands", + "6988 Steven Vista Apt. 738", + "Patel-Evans", + "Powellbury", + "8856 Lambert Forest Apt. 010", + "49826", + "Turks and Caicos Islands", + "195.384.1264x84605" + ], + [ + "a405990b-732f-431e-b3ad-0ce05a484671", + "f53ff51f-3365-4029-ae67-a679e1dca626", + "Carmen", + "Jessica", + "58361 Audrey Parks Apt. 128", + "864 Phillips Squares", + "Perez Inc", + "Laurieshire", + "407 Nicole Greens", + "06175", + "Kenya", + "(565)853-4978x18062" + ], + [ + "d3be5a1e-10f0-46e6-8033-d15766e73047", + "ffeea1b4-eb28-452a-8b06-2408e36b1a94", + "Melinda", + "Paul", + "09590 Gonzales Camp Apt. 092", + "146 Carlson Manor Suite 961", + "Mills Ltd", + "South Wendy", + "6273 Victor Springs Apt. 655", + "68154", + "United Arab Emirates", + "(209)678-7748x53000" + ], + [ + "52636d10-1505-4f0a-894a-52a194cdba26", + "8c021bf4-f33a-4d41-b55f-78d801a45d5e", + "Jacob", + "Jamie", + "0952 Colon Greens", + "00913 Natalie Tunnel Apt. 769", + "Sullivan Group", + "Longbury", + "03714 April Landing", + "74874", + "Turkey", + "(038)859-4310x9693" + ], + [ + "b2a1279b-392f-404f-88e0-f755d2bd3c14", + "2351209a-94b2-4b20-a517-1eef888c0d5b", + "Allen", + "Dean", + "8492 Smith Plains Apt. 986", + "420 Hodges Inlet Suite 088", + "Thornton-Mcknight", + "Gregoryborough", + "56904 Tony Branch Suite 945", + "88544", + "Mauritania", + "001-198-032-8011x00683" + ], + [ + "3a7cc826-4e7d-46de-a13d-895d5319a881", + "1a03bf40-3f40-460e-b170-2fadea8bdbee", + "Jill", + "Diana", + "092 Jose Unions", + "36896 Serrano Plaza", + "Wilson and Sons", + "North Justinchester", + "750 Contreras Bridge Apt. 456", + "77859", + "Kazakhstan", + "311.331.9899x4838" + ], + [ + "d4891b70-a002-41a9-a072-a1d3ef99c4d9", + "e49ad3aa-2c30-4148-81f8-4e2980467d1c", + "Jonathan", + "Lauren", + "4416 Christina Ville", + "44992 Katie Inlet Suite 965", + "Bennett, Hicks and Davidson", + "Lake Kendra", + "67281 Lee Drive Suite 987", + "27227", + "Jersey", + "950.930.9189x591" + ], + [ + "fbc3eeda-75b3-41f6-91a3-d671e3cc17d6", + "c3c73e91-020d-4fee-a1a9-e9781d684d9a", + "Gary", + "Jonathan", + "71309 Theresa Trail", + "29432 Brenda Overpass", + "Mccarthy-Huang", + "Lake Amanda", + "000 William Ranch", + "93218", + "Kazakhstan", + "001-109-449-4210x33965" + ], + [ + "684360f0-48c0-4bf7-9476-6231b7861c0b", + "18d728f1-8ec6-4e94-9725-fcd2ed719723", + "Karen", + "Paul", + "2867 Hunter Center Apt. 091", + "46974 Peter Drives Suite 073", + "Stephens, Wall and Johnson", + "Mcdowellfurt", + "33302 Mcintosh Orchard Apt. 884", + "17017", + "Gambia", + "484-039-6675" + ], + [ + "ec768cba-fc73-484a-bfc2-792e1bf29342", + "9c85fb32-1109-4409-a87d-75112fc3708f", + "Edgar", + "Hailey", + "70196 Moore Canyon", + "885 Jimenez Parkways", + "Gomez Group", + "Marktown", + "44624 Lawrence Springs Apt. 502", + "71815", + "Hungary", + "(777)526-6200" + ], + [ + "128eae16-fc8d-4d0e-9f07-78b6e4825709", + "530c610e-ab24-4f28-8d7f-684bb05817c8", + "Don", + "Edgar", + "040 Jessica Mews Apt. 149", + "3454 Lopez Neck", + "Clark, Simon and Griffith", + "Rickborough", + "549 Jeffrey Stream", + "71662", + "Korea", + "4911281340" + ], + [ + "341c94b3-cac4-46f0-bcba-33ccb52eacec", + "9f80457c-dd0e-4c4d-ab1f-cf76f734ad1c", + "Kevin", + "Kimberly", + "29504 Moore Grove", + "0079 Williams Pine Suite 274", + "Gregory-Mcgrath", + "Cantufort", + "5849 Paige River", + "72224", + "Zambia", + "(112)074-5447" + ], + [ + "d05acf85-8f05-40e8-bd8b-00a751ed4b16", + "a8214997-3076-4732-be67-66e0169f894d", + "Candace", + "Donna", + "1110 Powers Neck Suite 716", + "50101 Pamela Orchard Apt. 576", + "Brown, Hunter and Adkins", + "Adrianaville", + "4326 Orr Extensions", + "94064", + "Haiti", + "001-843-960-7631x732" + ], + [ + "44886c82-0e01-4b65-bf46-235d4d1e4e17", + "c0055521-b8d3-4ad8-86c3-cf310b5719c9", + "Holly", + "Tony", + "562 Shaw Burgs", + "568 Reed Vista", + "Ramirez Group", + "West Aaronfurt", + "6008 Brianna Lock Suite 088", + "46723", + "Uganda", + "343.960.6582" + ], + [ + "3ba1f5ff-fcd9-4315-8e72-14b716496a3c", + "3dc80460-e52c-4e94-a3dc-e9234f73e016", + "Melissa", + "Jessica", + "4076 Lisa Unions", + "46781 Brittany Route", + "Williams Inc", + "Harmonmouth", + "4349 Hughes Grove Suite 834", + "94032", + "South Georgia and the South Sandwich Islands", + "195-206-6214x45451" + ], + [ + "f757641c-963a-4696-9314-7f19f2df79fa", + "8d3afcc6-3662-4d23-899a-b9c37108f522", + "Larry", + "Brian", + "1698 Brittany Ridges", + "00442 Terry Via", + "Gallagher Group", + "Smithton", + "4835 Long Hills", + "96036", + "Japan", + "(592)844-2557x28538" + ], + [ + "a2c68229-75c5-43a5-b18b-8a8b504d4f9d", + "d78f0b90-d3a9-4568-b7de-8bb45423b25b", + "Gary", + "Luis", + "909 Carolyn Highway Apt. 717", + "549 Steve Walks Suite 058", + "Serrano, Harrison and Beard", + "South Kimberly", + "18324 Briana Point", + "36285", + "Macao", + "392.711.2369x14285" + ], + [ + "2a89cec7-1cf5-4c9c-ad79-745a1984e36f", + "4035c32c-7a03-409f-a8f4-bb3ff3d7c91d", + "Brittany", + "Brenda", + "2691 Brandon Plaza", + "13209 Alexis Cove Suite 182", + "Durham LLC", + "New Christyton", + "080 Peters Track", + "97880", + "Gabon", + "+1-604-197-7676x09064" + ], + [ + "a391bf33-6665-4caa-a2d7-de3132bf60d3", + "88156561-0c36-4053-a1d7-b58fac121003", + "Debbie", + "Sharon", + "600 Keller Trafficway", + "18809 Peter Village", + "Vazquez, Allen and Washington", + "Singhmouth", + "5628 Terrence Locks Suite 798", + "20287", + "Anguilla", + "001-151-880-6914x699" + ], + [ + "19bcef03-483c-4225-bb61-aafe48a2f981", + "8a35b2d9-8f65-484f-b735-8eb42c2bbfec", + "Mark", + "Ashley", + "3124 Kenneth Mountains Suite 321", + "111 Carter Drives Apt. 942", + "Hill PLC", + "Port Shannonville", + "6035 Calderon Ramp", + "25829", + "Angola", + "441.553.9413x20451" + ] + ] + }, + "tableProfile": { + "timestamp": 1634366539, + "columnCount": 12, + "rowCount": 725, + "customMetrics": [ + { + "name": "CountOfUSAddress", + "value": 15467 + }, + { + "name": "CountOfFRAddress", + "value": 1467 + } + ], + "columnProfile": [ + { + "name": "address_::>id", + "uniqueCount": 9, + "uniqueProportion": 0.52805369, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "shop_id", + "uniqueCount": 29, + "uniqueProportion": 0.2290940013, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "first_name", + "uniqueCount": 13, + "uniqueProportion": 0.1327792, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "last_name", + "uniqueCount": 23, + "uniqueProportion": 0.177126, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "address1", + "uniqueCount": 53, + "uniqueProportion": 0.0396391, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "address2", + "uniqueCount": 76, + "uniqueProportion": 0.0690369, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "company", + "uniqueCount": 23, + "uniqueProportion": 0.1210963, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "city", + "uniqueCount": 6, + "uniqueProportion": 0.024072, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "region", + "uniqueCount": 3, + "uniqueProportion": 0.1478114, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "zip", + "uniqueCount": 11, + "uniqueProportion": 0.1383472, + "distinctCount": 0, + "distinctProportion": 0, + "customMetrics": [ + { + "name": "CountOfLAZipCode", + "value": 3456 + }, + { + "name": "CountOfOrangeCountyZipCode", + "value": 2345 + } + ] + }, + { + "name": "country", + "uniqueCount": 13, + "uniqueProportion": 0.1601013, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "phone", + "uniqueCount": 8, + "uniqueProportion": 0.1297079, + "distinctCount": 0, + "distinctProportion": 0 + } + ] + }, + "databaseSchema": { + "id": "d7be1e2c-b3dc-11ec-b909-0242ac120002", + "type": "databaseSchema", + "name": "sample_data.ecommerce_db.shopify", + "description": "This **mock** Schema contains tables related to shopify sales and orders with related dimension tables.", + "href": "http://localhost:8585/api/v1/databaseSchemas/d7be1e2c-b3dc-11ec-b909-0242ac120002" + }, + "customMetrics": [ + { + "name": "CountOfUSAddress", + "expression": "SELECT COUNT(address_id) FROM dim_address WHERE country = 'US'" + }, + { + "name": "CountOfFRAddress", + "expression": "SELECT COUNT(address_id) FROM dim_address WHERE country = 'FR'" + } + ], + "sourceUrl": "http://localhost:8080/mortgage" + }, + { + "name": "funds_closingprocessdocumentsrelationship", + "description": "This dimension table contains the billing and shipping addresses of customers. You can join this table with the sales table to generate lists of the billing and shipping addresses. Customers can enter their addresses more than once, so the same address can appear in more than one row in this table. This table contains one row per customer address.", + "version": 0.1, + "updatedAt": 1638354087391, + "updatedBy": "anonymous", + "href": "http://localhost:8585/api/v1/tables/3cda8ecb-f4c6-4ed4-8506-abe965b54b86", + "tableType": "Regular", + "schemaDefinition": "CREATE TABLE dim_address(address_id NUMERIC PRIMARY KEY, shop_id NUMERIC)", + "retentionPeriod": "10D", + "columns": [ + { + "name": "address_::>id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Unique identifier for the address.", + "tags": [], + "ordinalPosition": 1 + }, + { + "name": "shop_id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "The ID of the store. This column is a foreign key reference to the shop_id column in the dim_shop table.", + "tags": [], + "ordinalPosition": 2 + }, + { + "name": "first_name", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "First name of the customer.", + "tags": [], + "ordinalPosition": 3 + }, + { + "name": "last_name", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "Last name of the customer.", + "tags": [], + "ordinalPosition": 4 + }, + { + "name": "address1", + "dataType": "VARCHAR", + "dataLength": 500, + "dataTypeDisplay": "varchar", + "description": "The first address line. For example, 150 Elgin St.", + "tags": [], + "ordinalPosition": 5 + }, + { + "name": "address2", + "dataType": "VARCHAR", + "dataLength": 500, + "dataTypeDisplay": "varchar", + "description": "The second address line. For example, Suite 800.", + "tags": [], + "ordinalPosition": 6 + }, + { + "name": "company", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "The name of the customer's business, if one exists.", + "tags": [], + "ordinalPosition": 7 + }, + { + "name": "city", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "The name of the city. For example, Palo Alto.", + "tags": [], + "ordinalPosition": 8 + }, + { + "name": "region", + "dataType": "VARCHAR", + "dataLength": 512, + "dataTypeDisplay": "varchar", + "description": "The name of the region, such as a province or state, where the customer is located. For example, Ontario or New York. This column is the same as CustomerAddress.province in the Admin API.", + "tags": [], + "ordinalPosition": 9 + }, + { + "name": "zip", + "dataType": "VARCHAR", + "dataLength": 10, + "dataTypeDisplay": "varchar", + "description": "The ZIP or postal code. For example, 90210.", + "tags": [], + "ordinalPosition": 10, + "customMetrics": [ + { + "name": "CountOfLAZipCode", + "columnName": "zip", + "expression": "SELECT COUNT(zip) FROM dim_address WHERE zip LIKE '900%'" + }, + { + "name": "CountOfOrangeCountyZipCode", + "columnName": "zip", + "expression": "SELECT COUNT(zip) FROM dim_address WHERE zip LIKE '92%'" + } + ] + }, + { + "name": "country", + "dataType": "VARCHAR", + "dataLength": 50, + "dataTypeDisplay": "varchar", + "description": "The full name of the country. For example, Canada.", + "tags": [], + "ordinalPosition": 11 + }, + { + "name": "phone", + "dataType": "VARCHAR", + "dataLength": 15, + "dataTypeDisplay": "varchar", + "description": "The phone number of the customer.", + "tags": [], + "ordinalPosition": 12, + "customMetrics": [ + { + "name": "CountOfNonUsPhoneNumbers", + "columnName": "phone", + "expression": "SELECT COUNT(phone) FROM dim_address WHERE phone NOT LIKE '1%'" + } + ] + } + ], + "tableConstraints": [ + { + "constraintType": "PRIMARY_KEY", + "columns": [ + "address_::>id", + "shop_id" + ] + } + ], + "database": { + "id": "50da1ff8-4e1d-4967-8931-45edbf4dd908", + "type": "database", + "name": "sample_data.ecommerce_db", + "description": "This **mock** database contains tables related to shopify sales and orders with related dimension tables.", + "href": "http://localhost:8585/api/v1/databases/50da1ff8-4e1d-4967-8931-45edbf4dd908" + }, + "tags": [], + "usageSummary": { + "dailyStats": { + "count": 73, + "percentileRank": 45 + }, + "weeklyStats": { + "count": 73, + "percentileRank": 45 + }, + "monthlyStats": { + "count": 67, + "percentileRank": 45 + }, + "date": "2021-12-01" + }, + "followers": [], + "joins": { + "startDate": "2021-11-01", + "dayCount": 30, + "columnJoins": [ + { + "columnName": "shop_id", + "joinedWith": [ + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.shop\".shop_id", + "joinCount": 35 + } + ] + }, + { + "columnName": "address_::>id", + "joinedWith": [ + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.api_client_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.billing_address_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.customer_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.location_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.order_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.product_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.product_variant_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.shipping_address_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.shop_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.user_id", + "joinCount": 49 + } + ] + } + ] + }, + "sampleData": { + "columns": [ + "address_::>id", + "shop_id", + "first_name", + "last_name", + "address1", + "address2", + "company", + "city", + "region", + "zip", + "country", + "phone" + ], + "rows": [ + [ + "bc35100e-2da5-48bb-bfc8-667dafe66532", + "70424951-bc97-4b20-9ce7-be37c4619361", + "Zachary", + "Brett", + "9054 Maria Circle Apt. 296", + "48348 Victoria Valleys Suite 144", + "Robinson Inc", + "Stephanieport", + "048 Moore Turnpike Apt. 061", + "30839", + "Latvia", + "(381)575-6692" + ], + [ + "d9a5b1a0-bf92-4b71-884d-9818308d040d", + "ffdc81e4-b0dc-47b2-8240-8540ba6c3029", + "Melissa", + "Amy", + "6212 William Plaza Suite 362", + "741 Eric Bypass", + "Todd, Henderson and Jenkins", + "Petersonstad", + "363 Gary Mills", + "91794", + "Lesotho", + "828-855-9883" + ], + [ + "facf92d7-05ea-43d2-ba2a-067d63dee60c", + "a8d30187-1409-4606-9259-322a4f6caf74", + "Amber", + "Albert", + "3170 Warren Orchard Apt. 834", + "3204 Brewer Shoal Suite 324", + "Davila-Snyder", + "Nicoleland", + "023 Paul Course", + "14086", + "Sweden", + "438-959-1151" + ], + [ + "bab9a506-e23d-4c53-9402-d070e7704376", + "e02e1fac-b650-4db8-8c9d-5fa5edf5d863", + "Heidi", + "Kelly", + "30942 Gonzalez Stravenue", + "3158 Watts Green", + "Moore PLC", + "West Erica", + "6294 Elliott Ville", + "07418", + "Saint Martin", + "(830)112-9566x8681" + ], + [ + "67ff12ae-5d40-4795-9a82-3afa62a4aea1", + "bf45dc22-8d23-49d9-9d87-7b4bd2dd1762", + "Adam", + "Anna", + "986 Walker Unions", + "5798 Ross Spur Apt. 510", + "Schultz, Allen and Price", + "West Brandyton", + "07379 Alejandra Manors", + "09192", + "Cambodia", + "(859)222-9872x9188" + ], + [ + "97831db3-23df-424e-b2e3-19f196874002", + "cfc3c305-748b-4992-9fef-ddd0aa7ce927", + "Tracey", + "Kaitlin", + "1810 Fletcher Islands", + "6988 Steven Vista Apt. 738", + "Patel-Evans", + "Powellbury", + "8856 Lambert Forest Apt. 010", + "49826", + "Turks and Caicos Islands", + "195.384.1264x84605" + ], + [ + "a405990b-732f-431e-b3ad-0ce05a484671", + "f53ff51f-3365-4029-ae67-a679e1dca626", + "Carmen", + "Jessica", + "58361 Audrey Parks Apt. 128", + "864 Phillips Squares", + "Perez Inc", + "Laurieshire", + "407 Nicole Greens", + "06175", + "Kenya", + "(565)853-4978x18062" + ], + [ + "d3be5a1e-10f0-46e6-8033-d15766e73047", + "ffeea1b4-eb28-452a-8b06-2408e36b1a94", + "Melinda", + "Paul", + "09590 Gonzales Camp Apt. 092", + "146 Carlson Manor Suite 961", + "Mills Ltd", + "South Wendy", + "6273 Victor Springs Apt. 655", + "68154", + "United Arab Emirates", + "(209)678-7748x53000" + ], + [ + "52636d10-1505-4f0a-894a-52a194cdba26", + "8c021bf4-f33a-4d41-b55f-78d801a45d5e", + "Jacob", + "Jamie", + "0952 Colon Greens", + "00913 Natalie Tunnel Apt. 769", + "Sullivan Group", + "Longbury", + "03714 April Landing", + "74874", + "Turkey", + "(038)859-4310x9693" + ], + [ + "b2a1279b-392f-404f-88e0-f755d2bd3c14", + "2351209a-94b2-4b20-a517-1eef888c0d5b", + "Allen", + "Dean", + "8492 Smith Plains Apt. 986", + "420 Hodges Inlet Suite 088", + "Thornton-Mcknight", + "Gregoryborough", + "56904 Tony Branch Suite 945", + "88544", + "Mauritania", + "001-198-032-8011x00683" + ], + [ + "3a7cc826-4e7d-46de-a13d-895d5319a881", + "1a03bf40-3f40-460e-b170-2fadea8bdbee", + "Jill", + "Diana", + "092 Jose Unions", + "36896 Serrano Plaza", + "Wilson and Sons", + "North Justinchester", + "750 Contreras Bridge Apt. 456", + "77859", + "Kazakhstan", + "311.331.9899x4838" + ], + [ + "d4891b70-a002-41a9-a072-a1d3ef99c4d9", + "e49ad3aa-2c30-4148-81f8-4e2980467d1c", + "Jonathan", + "Lauren", + "4416 Christina Ville", + "44992 Katie Inlet Suite 965", + "Bennett, Hicks and Davidson", + "Lake Kendra", + "67281 Lee Drive Suite 987", + "27227", + "Jersey", + "950.930.9189x591" + ], + [ + "fbc3eeda-75b3-41f6-91a3-d671e3cc17d6", + "c3c73e91-020d-4fee-a1a9-e9781d684d9a", + "Gary", + "Jonathan", + "71309 Theresa Trail", + "29432 Brenda Overpass", + "Mccarthy-Huang", + "Lake Amanda", + "000 William Ranch", + "93218", + "Kazakhstan", + "001-109-449-4210x33965" + ], + [ + "684360f0-48c0-4bf7-9476-6231b7861c0b", + "18d728f1-8ec6-4e94-9725-fcd2ed719723", + "Karen", + "Paul", + "2867 Hunter Center Apt. 091", + "46974 Peter Drives Suite 073", + "Stephens, Wall and Johnson", + "Mcdowellfurt", + "33302 Mcintosh Orchard Apt. 884", + "17017", + "Gambia", + "484-039-6675" + ], + [ + "ec768cba-fc73-484a-bfc2-792e1bf29342", + "9c85fb32-1109-4409-a87d-75112fc3708f", + "Edgar", + "Hailey", + "70196 Moore Canyon", + "885 Jimenez Parkways", + "Gomez Group", + "Marktown", + "44624 Lawrence Springs Apt. 502", + "71815", + "Hungary", + "(777)526-6200" + ], + [ + "128eae16-fc8d-4d0e-9f07-78b6e4825709", + "530c610e-ab24-4f28-8d7f-684bb05817c8", + "Don", + "Edgar", + "040 Jessica Mews Apt. 149", + "3454 Lopez Neck", + "Clark, Simon and Griffith", + "Rickborough", + "549 Jeffrey Stream", + "71662", + "Korea", + "4911281340" + ], + [ + "341c94b3-cac4-46f0-bcba-33ccb52eacec", + "9f80457c-dd0e-4c4d-ab1f-cf76f734ad1c", + "Kevin", + "Kimberly", + "29504 Moore Grove", + "0079 Williams Pine Suite 274", + "Gregory-Mcgrath", + "Cantufort", + "5849 Paige River", + "72224", + "Zambia", + "(112)074-5447" + ], + [ + "d05acf85-8f05-40e8-bd8b-00a751ed4b16", + "a8214997-3076-4732-be67-66e0169f894d", + "Candace", + "Donna", + "1110 Powers Neck Suite 716", + "50101 Pamela Orchard Apt. 576", + "Brown, Hunter and Adkins", + "Adrianaville", + "4326 Orr Extensions", + "94064", + "Haiti", + "001-843-960-7631x732" + ], + [ + "44886c82-0e01-4b65-bf46-235d4d1e4e17", + "c0055521-b8d3-4ad8-86c3-cf310b5719c9", + "Holly", + "Tony", + "562 Shaw Burgs", + "568 Reed Vista", + "Ramirez Group", + "West Aaronfurt", + "6008 Brianna Lock Suite 088", + "46723", + "Uganda", + "343.960.6582" + ], + [ + "3ba1f5ff-fcd9-4315-8e72-14b716496a3c", + "3dc80460-e52c-4e94-a3dc-e9234f73e016", + "Melissa", + "Jessica", + "4076 Lisa Unions", + "46781 Brittany Route", + "Williams Inc", + "Harmonmouth", + "4349 Hughes Grove Suite 834", + "94032", + "South Georgia and the South Sandwich Islands", + "195-206-6214x45451" + ], + [ + "f757641c-963a-4696-9314-7f19f2df79fa", + "8d3afcc6-3662-4d23-899a-b9c37108f522", + "Larry", + "Brian", + "1698 Brittany Ridges", + "00442 Terry Via", + "Gallagher Group", + "Smithton", + "4835 Long Hills", + "96036", + "Japan", + "(592)844-2557x28538" + ], + [ + "a2c68229-75c5-43a5-b18b-8a8b504d4f9d", + "d78f0b90-d3a9-4568-b7de-8bb45423b25b", + "Gary", + "Luis", + "909 Carolyn Highway Apt. 717", + "549 Steve Walks Suite 058", + "Serrano, Harrison and Beard", + "South Kimberly", + "18324 Briana Point", + "36285", + "Macao", + "392.711.2369x14285" + ], + [ + "2a89cec7-1cf5-4c9c-ad79-745a1984e36f", + "4035c32c-7a03-409f-a8f4-bb3ff3d7c91d", + "Brittany", + "Brenda", + "2691 Brandon Plaza", + "13209 Alexis Cove Suite 182", + "Durham LLC", + "New Christyton", + "080 Peters Track", + "97880", + "Gabon", + "+1-604-197-7676x09064" + ], + [ + "a391bf33-6665-4caa-a2d7-de3132bf60d3", + "88156561-0c36-4053-a1d7-b58fac121003", + "Debbie", + "Sharon", + "600 Keller Trafficway", + "18809 Peter Village", + "Vazquez, Allen and Washington", + "Singhmouth", + "5628 Terrence Locks Suite 798", + "20287", + "Anguilla", + "001-151-880-6914x699" + ], + [ + "19bcef03-483c-4225-bb61-aafe48a2f981", + "8a35b2d9-8f65-484f-b735-8eb42c2bbfec", + "Mark", + "Ashley", + "3124 Kenneth Mountains Suite 321", + "111 Carter Drives Apt. 942", + "Hill PLC", + "Port Shannonville", + "6035 Calderon Ramp", + "25829", + "Angola", + "441.553.9413x20451" + ] + ] + }, + "tableProfile": { + "timestamp": 1634366539, + "columnCount": 12, + "rowCount": 725, + "customMetrics": [ + { + "name": "CountOfUSAddress", + "value": 15467 + }, + { + "name": "CountOfFRAddress", + "value": 1467 + } + ], + "columnProfile": [ + { + "name": "address_::>id", + "uniqueCount": 9, + "uniqueProportion": 0.52805369, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "shop_id", + "uniqueCount": 29, + "uniqueProportion": 0.2290940013, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "first_name", + "uniqueCount": 13, + "uniqueProportion": 0.1327792, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "last_name", + "uniqueCount": 23, + "uniqueProportion": 0.177126, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "address1", + "uniqueCount": 53, + "uniqueProportion": 0.0396391, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "address2", + "uniqueCount": 76, + "uniqueProportion": 0.0690369, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "company", + "uniqueCount": 23, + "uniqueProportion": 0.1210963, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "city", + "uniqueCount": 6, + "uniqueProportion": 0.024072, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "region", + "uniqueCount": 3, + "uniqueProportion": 0.1478114, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "zip", + "uniqueCount": 11, + "uniqueProportion": 0.1383472, + "distinctCount": 0, + "distinctProportion": 0, + "customMetrics": [ + { + "name": "CountOfLAZipCode", + "value": 3456 + }, + { + "name": "CountOfOrangeCountyZipCode", + "value": 2345 + } + ] + }, + { + "name": "country", + "uniqueCount": 13, + "uniqueProportion": 0.1601013, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "phone", + "uniqueCount": 8, + "uniqueProportion": 0.1297079, + "distinctCount": 0, + "distinctProportion": 0 + } + ] + }, + "databaseSchema": { + "id": "d7be1e2c-b3dc-11ec-b909-0242ac120002", + "type": "databaseSchema", + "name": "sample_data.ecommerce_db.shopify", + "description": "This **mock** Schema contains tables related to shopify sales and orders with related dimension tables.", + "href": "http://localhost:8585/api/v1/databaseSchemas/d7be1e2c-b3dc-11ec-b909-0242ac120002" + }, + "customMetrics": [ + { + "name": "CountOfUSAddress", + "expression": "SELECT COUNT(address_id) FROM dim_address WHERE country = 'US'" + }, + { + "name": "CountOfFRAddress", + "expression": "SELECT COUNT(address_id) FROM dim_address WHERE country = 'FR'" + } + ], + "sourceUrl": "http://localhost:8080/funds_closingprocessdocumentsrelationship" + }, + { + "name": "dim_address", + "description": "This dimension table contains the billing and shipping addresses of customers. You can join this table with the sales table to generate lists of the billing and shipping addresses. Customers can enter their addresses more than once, so the same address can appear in more than one row in this table. This table contains one row per customer address.", + "version": 0.1, + "updatedAt": 1638354087391, + "updatedBy": "anonymous", + "href": "http://localhost:8585/api/v1/tables/3cda8ecb-f4c6-4ed4-8506-abe965b54b86", + "tableType": "Regular", + "schemaDefinition": "CREATE TABLE dim_address(address_id NUMERIC PRIMARY KEY, shop_id NUMERIC)", + "retentionPeriod": "10D", + "columns": [ + { + "name": "address_id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Unique identifier for the address.", + "tags": [], + "ordinalPosition": 1 + }, + { + "name": "shop_id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "The ID of the store. This column is a foreign key reference to the shop_id column in the dim_shop table.", + "tags": [], + "ordinalPosition": 2 + }, + { + "name": "first_name", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "First name of the customer.", + "tags": [], + "ordinalPosition": 3 + }, + { + "name": "last_name", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "Last name of the customer.", + "tags": [], + "ordinalPosition": 4 + }, + { + "name": "address1", + "dataType": "VARCHAR", + "dataLength": 500, + "dataTypeDisplay": "varchar", + "description": "The first address line. For example, 150 Elgin St.", + "tags": [], + "ordinalPosition": 5 + }, + { + "name": "address2", + "dataType": "VARCHAR", + "dataLength": 500, + "dataTypeDisplay": "varchar", + "description": "The second address line. For example, Suite 800.", + "tags": [], + "ordinalPosition": 6 + }, + { + "name": "company", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "The name of the customer's business, if one exists.", + "tags": [], + "ordinalPosition": 7 + }, + { + "name": "city", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "The name of the city. For example, Palo Alto.", + "tags": [], + "ordinalPosition": 8 + }, + { + "name": "region", + "dataType": "VARCHAR", + "dataLength": 512, + "dataTypeDisplay": "varchar", + "description": "The name of the region, such as a province or state, where the customer is located. For example, Ontario or New York. This column is the same as CustomerAddress.province in the Admin API.", + "tags": [], + "ordinalPosition": 9 + }, + { + "name": "zip", + "dataType": "VARCHAR", + "dataLength": 10, + "dataTypeDisplay": "varchar", + "description": "The ZIP or postal code. For example, 90210.", + "tags": [], + "ordinalPosition": 10, + "customMetrics": [ + { + "name": "CountOfLAZipCode", + "columnName": "zip", + "expression": "SELECT COUNT(zip) FROM dim_address WHERE zip LIKE '900%'" + }, + { + "name": "CountOfOrangeCountyZipCode", + "columnName": "zip", + "expression": "SELECT COUNT(zip) FROM dim_address WHERE zip LIKE '92%'" + } + ] + }, + { + "name": "country", + "dataType": "VARCHAR", + "dataLength": 50, + "dataTypeDisplay": "varchar", + "description": "The full name of the country. For example, Canada.", + "tags": [], + "ordinalPosition": 11 + }, + { + "name": "phone", + "dataType": "VARCHAR", + "dataLength": 15, + "dataTypeDisplay": "varchar", + "description": "The phone number of the customer.", + "tags": [], + "ordinalPosition": 12, + "customMetrics": [ + { + "name": "CountOfNonUsPhoneNumbers", + "columnName": "phone", + "expression": "SELECT COUNT(phone) FROM dim_address WHERE phone NOT LIKE '1%'" + } + ] + } + ], + "tableConstraints": [ + { + "constraintType": "PRIMARY_KEY", + "columns": [ + "address_id", + "shop_id" + ] + } + ], + "database": { + "id": "50da1ff8-4e1d-4967-8931-45edbf4dd908", + "type": "database", + "name": "sample_data.ecommerce_db", + "description": "This **mock** database contains tables related to shopify sales and orders with related dimension tables.", + "href": "http://localhost:8585/api/v1/databases/50da1ff8-4e1d-4967-8931-45edbf4dd908" + }, + "tags": [], + "usageSummary": { + "dailyStats": { + "count": 73, + "percentileRank": 45 + }, + "weeklyStats": { + "count": 73, + "percentileRank": 45 + }, + "monthlyStats": { + "count": 67, + "percentileRank": 45 + }, + "date": "2021-12-01" + }, + "followers": [], + "joins": { + "startDate": "2021-11-01", + "dayCount": 30, + "columnJoins": [ + { + "columnName": "shop_id", + "joinedWith": [ + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.shop\".shop_id", + "joinCount": 35 + } + ] + }, + { + "columnName": "address_id", + "joinedWith": [ + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.api_client_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.billing_address_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.customer_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.location_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.order_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.product_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.product_variant_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.shipping_address_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.shop_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.user_id", + "joinCount": 49 + } + ] + } + ] + }, + "sampleData": { + "columns": [ + "address_id", + "shop_id", + "first_name", + "last_name", + "address1", + "address2", + "company", + "city", + "region", + "zip", + "country", + "phone" + ], + "rows": [ + [ + "bc35100e-2da5-48bb-bfc8-667dafe66532", + "70424951-bc97-4b20-9ce7-be37c4619361", + "Zachary", + "Brett", + "9054 Maria Circle Apt. 296", + "48348 Victoria Valleys Suite 144", + "Robinson Inc", + "Stephanieport", + "048 Moore Turnpike Apt. 061", + "30839", + "Latvia", + "(381)575-6692" + ], + [ + "d9a5b1a0-bf92-4b71-884d-9818308d040d", + "ffdc81e4-b0dc-47b2-8240-8540ba6c3029", + "Melissa", + "Amy", + "6212 William Plaza Suite 362", + "741 Eric Bypass", + "Todd, Henderson and Jenkins", + "Petersonstad", + "363 Gary Mills", + "91794", + "Lesotho", + "828-855-9883" + ], + [ + "facf92d7-05ea-43d2-ba2a-067d63dee60c", + "a8d30187-1409-4606-9259-322a4f6caf74", + "Amber", + "Albert", + "3170 Warren Orchard Apt. 834", + "3204 Brewer Shoal Suite 324", + "Davila-Snyder", + "Nicoleland", + "023 Paul Course", + "14086", + "Sweden", + "438-959-1151" + ], + [ + "bab9a506-e23d-4c53-9402-d070e7704376", + "e02e1fac-b650-4db8-8c9d-5fa5edf5d863", + "Heidi", + "Kelly", + "30942 Gonzalez Stravenue", + "3158 Watts Green", + "Moore PLC", + "West Erica", + "6294 Elliott Ville", + "07418", + "Saint Martin", + "(830)112-9566x8681" + ], + [ + "67ff12ae-5d40-4795-9a82-3afa62a4aea1", + "bf45dc22-8d23-49d9-9d87-7b4bd2dd1762", + "Adam", + "Anna", + "986 Walker Unions", + "5798 Ross Spur Apt. 510", + "Schultz, Allen and Price", + "West Brandyton", + "07379 Alejandra Manors", + "09192", + "Cambodia", + "(859)222-9872x9188" + ], + [ + "97831db3-23df-424e-b2e3-19f196874002", + "cfc3c305-748b-4992-9fef-ddd0aa7ce927", + "Tracey", + "Kaitlin", + "1810 Fletcher Islands", + "6988 Steven Vista Apt. 738", + "Patel-Evans", + "Powellbury", + "8856 Lambert Forest Apt. 010", + "49826", + "Turks and Caicos Islands", + "195.384.1264x84605" + ], + [ + "a405990b-732f-431e-b3ad-0ce05a484671", + "f53ff51f-3365-4029-ae67-a679e1dca626", + "Carmen", + "Jessica", + "58361 Audrey Parks Apt. 128", + "864 Phillips Squares", + "Perez Inc", + "Laurieshire", + "407 Nicole Greens", + "06175", + "Kenya", + "(565)853-4978x18062" + ], + [ + "d3be5a1e-10f0-46e6-8033-d15766e73047", + "ffeea1b4-eb28-452a-8b06-2408e36b1a94", + "Melinda", + "Paul", + "09590 Gonzales Camp Apt. 092", + "146 Carlson Manor Suite 961", + "Mills Ltd", + "South Wendy", + "6273 Victor Springs Apt. 655", + "68154", + "United Arab Emirates", + "(209)678-7748x53000" + ], + [ + "52636d10-1505-4f0a-894a-52a194cdba26", + "8c021bf4-f33a-4d41-b55f-78d801a45d5e", + "Jacob", + "Jamie", + "0952 Colon Greens", + "00913 Natalie Tunnel Apt. 769", + "Sullivan Group", + "Longbury", + "03714 April Landing", + "74874", + "Turkey", + "(038)859-4310x9693" + ], + [ + "b2a1279b-392f-404f-88e0-f755d2bd3c14", + "2351209a-94b2-4b20-a517-1eef888c0d5b", + "Allen", + "Dean", + "8492 Smith Plains Apt. 986", + "420 Hodges Inlet Suite 088", + "Thornton-Mcknight", + "Gregoryborough", + "56904 Tony Branch Suite 945", + "88544", + "Mauritania", + "001-198-032-8011x00683" + ], + [ + "3a7cc826-4e7d-46de-a13d-895d5319a881", + "1a03bf40-3f40-460e-b170-2fadea8bdbee", + "Jill", + "Diana", + "092 Jose Unions", + "36896 Serrano Plaza", + "Wilson and Sons", + "North Justinchester", + "750 Contreras Bridge Apt. 456", + "77859", + "Kazakhstan", + "311.331.9899x4838" + ], + [ + "d4891b70-a002-41a9-a072-a1d3ef99c4d9", + "e49ad3aa-2c30-4148-81f8-4e2980467d1c", + "Jonathan", + "Lauren", + "4416 Christina Ville", + "44992 Katie Inlet Suite 965", + "Bennett, Hicks and Davidson", + "Lake Kendra", + "67281 Lee Drive Suite 987", + "27227", + "Jersey", + "950.930.9189x591" + ], + [ + "fbc3eeda-75b3-41f6-91a3-d671e3cc17d6", + "c3c73e91-020d-4fee-a1a9-e9781d684d9a", + "Gary", + "Jonathan", + "71309 Theresa Trail", + "29432 Brenda Overpass", + "Mccarthy-Huang", + "Lake Amanda", + "000 William Ranch", + "93218", + "Kazakhstan", + "001-109-449-4210x33965" + ], + [ + "684360f0-48c0-4bf7-9476-6231b7861c0b", + "18d728f1-8ec6-4e94-9725-fcd2ed719723", + "Karen", + "Paul", + "2867 Hunter Center Apt. 091", + "46974 Peter Drives Suite 073", + "Stephens, Wall and Johnson", + "Mcdowellfurt", + "33302 Mcintosh Orchard Apt. 884", + "17017", + "Gambia", + "484-039-6675" + ], + [ + "ec768cba-fc73-484a-bfc2-792e1bf29342", + "9c85fb32-1109-4409-a87d-75112fc3708f", + "Edgar", + "Hailey", + "70196 Moore Canyon", + "885 Jimenez Parkways", + "Gomez Group", + "Marktown", + "44624 Lawrence Springs Apt. 502", + "71815", + "Hungary", + "(777)526-6200" + ], + [ + "128eae16-fc8d-4d0e-9f07-78b6e4825709", + "530c610e-ab24-4f28-8d7f-684bb05817c8", + "Don", + "Edgar", + "040 Jessica Mews Apt. 149", + "3454 Lopez Neck", + "Clark, Simon and Griffith", + "Rickborough", + "549 Jeffrey Stream", + "71662", + "Korea", + "4911281340" + ], + [ + "341c94b3-cac4-46f0-bcba-33ccb52eacec", + "9f80457c-dd0e-4c4d-ab1f-cf76f734ad1c", + "Kevin", + "Kimberly", + "29504 Moore Grove", + "0079 Williams Pine Suite 274", + "Gregory-Mcgrath", + "Cantufort", + "5849 Paige River", + "72224", + "Zambia", + "(112)074-5447" + ], + [ + "d05acf85-8f05-40e8-bd8b-00a751ed4b16", + "a8214997-3076-4732-be67-66e0169f894d", + "Candace", + "Donna", + "1110 Powers Neck Suite 716", + "50101 Pamela Orchard Apt. 576", + "Brown, Hunter and Adkins", + "Adrianaville", + "4326 Orr Extensions", + "94064", + "Haiti", + "001-843-960-7631x732" + ], + [ + "44886c82-0e01-4b65-bf46-235d4d1e4e17", + "c0055521-b8d3-4ad8-86c3-cf310b5719c9", + "Holly", + "Tony", + "562 Shaw Burgs", + "568 Reed Vista", + "Ramirez Group", + "West Aaronfurt", + "6008 Brianna Lock Suite 088", + "46723", + "Uganda", + "343.960.6582" + ], + [ + "3ba1f5ff-fcd9-4315-8e72-14b716496a3c", + "3dc80460-e52c-4e94-a3dc-e9234f73e016", + "Melissa", + "Jessica", + "4076 Lisa Unions", + "46781 Brittany Route", + "Williams Inc", + "Harmonmouth", + "4349 Hughes Grove Suite 834", + "94032", + "South Georgia and the South Sandwich Islands", + "195-206-6214x45451" + ], + [ + "f757641c-963a-4696-9314-7f19f2df79fa", + "8d3afcc6-3662-4d23-899a-b9c37108f522", + "Larry", + "Brian", + "1698 Brittany Ridges", + "00442 Terry Via", + "Gallagher Group", + "Smithton", + "4835 Long Hills", + "96036", + "Japan", + "(592)844-2557x28538" + ], + [ + "a2c68229-75c5-43a5-b18b-8a8b504d4f9d", + "d78f0b90-d3a9-4568-b7de-8bb45423b25b", + "Gary", + "Luis", + "909 Carolyn Highway Apt. 717", + "549 Steve Walks Suite 058", + "Serrano, Harrison and Beard", + "South Kimberly", + "18324 Briana Point", + "36285", + "Macao", + "392.711.2369x14285" + ], + [ + "2a89cec7-1cf5-4c9c-ad79-745a1984e36f", + "4035c32c-7a03-409f-a8f4-bb3ff3d7c91d", + "Brittany", + "Brenda", + "2691 Brandon Plaza", + "13209 Alexis Cove Suite 182", + "Durham LLC", + "New Christyton", + "080 Peters Track", + "97880", + "Gabon", + "+1-604-197-7676x09064" + ], + [ + "a391bf33-6665-4caa-a2d7-de3132bf60d3", + "88156561-0c36-4053-a1d7-b58fac121003", + "Debbie", + "Sharon", + "600 Keller Trafficway", + "18809 Peter Village", + "Vazquez, Allen and Washington", + "Singhmouth", + "5628 Terrence Locks Suite 798", + "20287", + "Anguilla", + "001-151-880-6914x699" + ], + [ + "19bcef03-483c-4225-bb61-aafe48a2f981", + "8a35b2d9-8f65-484f-b735-8eb42c2bbfec", + "Mark", + "Ashley", + "3124 Kenneth Mountains Suite 321", + "111 Carter Drives Apt. 942", + "Hill PLC", + "Port Shannonville", + "6035 Calderon Ramp", + "25829", + "Angola", + "441.553.9413x20451" + ] + ] + }, + "tableProfile": { + "timestamp": 1634366539, + "columnCount": 12, + "rowCount": 725, + "customMetrics": [ + { + "name": "CountOfUSAddress", + "value": 15467 + }, + { + "name": "CountOfFRAddress", + "value": 1467 + } + ], + "columnProfile": [ + { + "name": "address_id", + "uniqueCount": 9, + "uniqueProportion": 0.52805369, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "shop_id", + "uniqueCount": 29, + "uniqueProportion": 0.2290940013, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "first_name", + "uniqueCount": 13, + "uniqueProportion": 0.1327792, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "last_name", + "uniqueCount": 23, + "uniqueProportion": 0.177126, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "address1", + "uniqueCount": 53, + "uniqueProportion": 0.0396391, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "address2", + "uniqueCount": 76, + "uniqueProportion": 0.0690369, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "company", + "uniqueCount": 23, + "uniqueProportion": 0.1210963, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "city", + "uniqueCount": 6, + "uniqueProportion": 0.024072, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "region", + "uniqueCount": 3, + "uniqueProportion": 0.1478114, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "zip", + "uniqueCount": 11, + "uniqueProportion": 0.1383472, + "distinctCount": 0, + "distinctProportion": 0, + "customMetrics": [ + { + "name": "CountOfLAZipCode", + "value": 3456 + }, + { + "name": "CountOfOrangeCountyZipCode", + "value": 2345 + } + ] + }, + { + "name": "country", + "uniqueCount": 13, + "uniqueProportion": 0.1601013, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "phone", + "uniqueCount": 8, + "uniqueProportion": 0.1297079, + "distinctCount": 0, + "distinctProportion": 0 + } + ] + }, + "databaseSchema": { + "id": "d7be1e2c-b3dc-11ec-b909-0242ac120002", + "type": "databaseSchema", + "name": "sample_data.ecommerce_db.shopify", + "description": "This **mock** Schema contains tables related to shopify sales and orders with related dimension tables.", + "href": "http://localhost:8585/api/v1/databaseSchemas/d7be1e2c-b3dc-11ec-b909-0242ac120002" + }, + "customMetrics": [ + { + "name": "CountOfUSAddress", + "expression": "SELECT COUNT(address_id) FROM dim_address WHERE country = 'US'" + }, + { + "name": "CountOfFRAddress", + "expression": "SELECT COUNT(address_id) FROM dim_address WHERE country = 'FR'" + } + ], + "sourceUrl": "http://localhost:8080/dim_address" + }, + { + "id": "1cda9ecb-f4c6-4ed4-8506-abe965b64c87", + "name": "dim_address_clean", + "description": "Created from dim_address after a small cleanup.", + "version": 0.1, + "updatedAt": 1638354087591, + "updatedBy": "anonymous", + "href": "http://localhost:8585/api/v1/tables/1cda9ecb-f4c6-4ed4-8506-abe965b64c87", + "tableType": "View", + "schemaDefinition": "CREATE VIEW dim_address_clean(address_id NUMERIC PRIMARY KEY, shop_id NUMERIC)", + "columns": [ + { + "name": "address_id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Unique identifier for the address.", + "tags": [], + "ordinalPosition": 1 + }, + { + "name": "shop_id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "The ID of the store. This column is a foreign key reference to the shop_id column in the dim_shop table.", + "tags": [], + "ordinalPosition": 2 + }, + { + "name": "first_name", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "First name of the customer.", + "tags": [], + "ordinalPosition": 3 + }, + { + "name": "last_name", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "Last name of the customer.", + "tags": [], + "ordinalPosition": 4 + }, + { + "name": "address", + "dataType": "VARCHAR", + "dataLength": 500, + "dataTypeDisplay": "varchar", + "description": "Clean address", + "tags": [], + "ordinalPosition": 5 + }, + { + "name": "company", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "The name of the customer's business, if one exists.", + "tags": [], + "ordinalPosition": 7 + }, + { + "name": "city", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "The name of the city. For example, Palo Alto.", + "tags": [], + "ordinalPosition": 8 + }, + { + "name": "region", + "dataType": "VARCHAR", + "dataLength": 512, + "dataTypeDisplay": "varchar", + "description": "The name of the region, such as a province or state, where the customer is located. For example, Ontario or New York. This column is the same as CustomerAddress.province in the Admin API.", + "tags": [], + "ordinalPosition": 9 + }, + { + "name": "zip", + "dataType": "VARCHAR", + "dataLength": 10, + "dataTypeDisplay": "varchar", + "description": "The ZIP or postal code. For example, 90210.", + "tags": [], + "ordinalPosition": 10 + }, + { + "name": "country", + "dataType": "VARCHAR", + "dataLength": 50, + "dataTypeDisplay": "varchar", + "description": "The full name of the country. For example, Canada.", + "tags": [], + "ordinalPosition": 11 + }, + { + "name": "phone", + "dataType": "VARCHAR", + "dataLength": 15, + "dataTypeDisplay": "varchar", + "description": "The phone number of the customer.", + "tags": [], + "ordinalPosition": 12 + } + ], + "tableConstraints": [ + { + "constraintType": "PRIMARY_KEY", + "columns": [ + "address_id", + "shop_id" + ] + } + ], + "database": { + "id": "50da1ff8-4e1d-4967-8931-45edbf4dd908", + "type": "database", + "name": "sample_data.ecommerce_db", + "description": "This **mock** database contains tables related to shopify sales and orders with related dimension tables.", + "href": "http://localhost:8585/api/v1/databases/50da1ff8-4e1d-4967-8931-45edbf4dd908" + }, + "tags": [], + "usageSummary": { + "dailyStats": { + "count": 87, + "percentileRank": 45 + }, + "weeklyStats": { + "count": 87, + "percentileRank": 45 + }, + "monthlyStats": { + "count": 87, + "percentileRank": 45 + }, + "date": "2021-12-01" + }, + "followers": [], + "sampleData": { + "columns": [ + "address_id", + "shop_id", + "first_name", + "last_name", + "address", + "company", + "city", + "region", + "zip", + "country", + "phone" + ], + "rows": [ + [ + "bc35100e-2da5-48bb-bfc8-667dafe66532", + "70424951-bc97-4b20-9ce7-be37c4619361", + "Zachary", + "Brett", + "9054 Maria Circle Apt. 296", + "Robinson Inc", + "Stephanieport", + "048 Moore Turnpike Apt. 061", + "30839", + "Latvia", + "(381)575-6692" + ], + [ + "d9a5b1a0-bf92-4b71-884d-9818308d040d", + "ffdc81e4-b0dc-47b2-8240-8540ba6c3029", + "Melissa", + "Amy", + "6212 William Plaza Suite 362", + "Todd, Henderson and Jenkins", + "Petersonstad", + "363 Gary Mills", + "91794", + "Lesotho", + "828-855-9883" + ], + [ + "facf92d7-05ea-43d2-ba2a-067d63dee60c", + "a8d30187-1409-4606-9259-322a4f6caf74", + "Amber", + "Albert", + "3170 Warren Orchard Apt. 834", + "Davila-Snyder", + "Nicoleland", + "023 Paul Course", + "14086", + "Sweden", + "438-959-1151" + ], + [ + "bab9a506-e23d-4c53-9402-d070e7704376", + "e02e1fac-b650-4db8-8c9d-5fa5edf5d863", + "Heidi", + "Kelly", + "30942 Gonzalez Stravenue", + "Moore PLC", + "West Erica", + "6294 Elliott Ville", + "07418", + "Saint Martin", + "(830)112-9566x8681" + ], + [ + "67ff12ae-5d40-4795-9a82-3afa62a4aea1", + "bf45dc22-8d23-49d9-9d87-7b4bd2dd1762", + "Adam", + "Anna", + "986 Walker Unions", + "Schultz, Allen and Price", + "West Brandyton", + "07379 Alejandra Manors", + "09192", + "Cambodia", + "(859)222-9872x9188" + ], + [ + "97831db3-23df-424e-b2e3-19f196874002", + "cfc3c305-748b-4992-9fef-ddd0aa7ce927", + "Tracey", + "Kaitlin", + "1810 Fletcher Islands", + "Patel-Evans", + "Powellbury", + "8856 Lambert Forest Apt. 010", + "49826", + "Turks and Caicos Islands", + "195.384.1264x84605" + ], + [ + "a405990b-732f-431e-b3ad-0ce05a484671", + "f53ff51f-3365-4029-ae67-a679e1dca626", + "Carmen", + "Jessica", + "58361 Audrey Parks Apt. 128", + "Perez Inc", + "Laurieshire", + "407 Nicole Greens", + "06175", + "Kenya", + "(565)853-4978x18062" + ], + [ + "d3be5a1e-10f0-46e6-8033-d15766e73047", + "ffeea1b4-eb28-452a-8b06-2408e36b1a94", + "Melinda", + "Paul", + "09590 Gonzales Camp Apt. 092", + "Mills Ltd", + "South Wendy", + "6273 Victor Springs Apt. 655", + "68154", + "United Arab Emirates", + "(209)678-7748x53000" + ], + [ + "52636d10-1505-4f0a-894a-52a194cdba26", + "8c021bf4-f33a-4d41-b55f-78d801a45d5e", + "Jacob", + "Jamie", + "0952 Colon Greens", + "Sullivan Group", + "Longbury", + "03714 April Landing", + "74874", + "Turkey", + "(038)859-4310x9693" + ], + [ + "b2a1279b-392f-404f-88e0-f755d2bd3c14", + "2351209a-94b2-4b20-a517-1eef888c0d5b", + "Allen", + "Dean", + "8492 Smith Plains Apt. 986", + "Thornton-Mcknight", + "Gregoryborough", + "56904 Tony Branch Suite 945", + "88544", + "Mauritania", + "001-198-032-8011x00683" + ], + [ + "3a7cc826-4e7d-46de-a13d-895d5319a881", + "1a03bf40-3f40-460e-b170-2fadea8bdbee", + "Jill", + "Diana", + "092 Jose Unions", + "Wilson and Sons", + "North Justinchester", + "750 Contreras Bridge Apt. 456", + "77859", + "Kazakhstan", + "311.331.9899x4838" + ], + [ + "d4891b70-a002-41a9-a072-a1d3ef99c4d9", + "e49ad3aa-2c30-4148-81f8-4e2980467d1c", + "Jonathan", + "Lauren", + "4416 Christina Ville", + "Bennett, Hicks and Davidson", + "Lake Kendra", + "67281 Lee Drive Suite 987", + "27227", + "Jersey", + "950.930.9189x591" + ], + [ + "fbc3eeda-75b3-41f6-91a3-d671e3cc17d6", + "c3c73e91-020d-4fee-a1a9-e9781d684d9a", + "Gary", + "Jonathan", + "71309 Theresa Trail", + "Mccarthy-Huang", + "Lake Amanda", + "000 William Ranch", + "93218", + "Kazakhstan", + "001-109-449-4210x33965" + ] + ] + }, + "databaseSchema": { + "id": "d7be1e2c-b3dc-11ec-b909-0242ac120002", + "type": "databaseSchema", + "name": "sample_data.ecommerce_db.shopify", + "description": "This **mock** Schema contains tables related to shopify sales and orders with related dimension tables.", + "href": "http://localhost:8585/api/v1/databaseSchemas/d7be1e2c-b3dc-11ec-b909-0242ac120002" + }, + "sourceUrl": "http://localhost:8080/dim_address_clean" + }, + { + "name": "dim.api/client", + "description": "This dimension table contains a row for each channel or app that your customers use to create orders. Some examples of these include Facebook and Online Store. You can join this table with the sales table to measure channel performance.", + "version": 0.1, + "updatedAt": 1638354087454, + "updatedBy": "anonymous", + "href": "http://localhost:8585/api/v1/tables/753833e0-f526-47b6-8555-97f5bb2882d5", + "tableType": "Regular", + "schemaDefinition": "CREATE TABLE dim.api/client(api_client_id NUMERIC PRIMARY KEY, title VARCHAR)", + "columns": [ + { + "name": "api_client_id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "ID of the API client that called the Shopify API. For example, the ID for the online store is 580111.", + "tags": [], + "ordinalPosition": 1 + }, + { + "name": "title", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "Full name of the app or channel. For example, Point of Sale, Online Store.", + "tags": [], + "ordinalPosition": 2 + } + ], + "database": { + "id": "50da1ff8-4e1d-4967-8931-45edbf4dd908", + "type": "database", + "name": "sample_data.ecommerce_db", + "description": "This **mock** database contains tables related to shopify sales and orders with related dimension tables.", + "href": "http://localhost:8585/api/v1/databases/50da1ff8-4e1d-4967-8931-45edbf4dd908" + }, + "tags": [], + "usageSummary": { + "dailyStats": { + "count": 85, + "percentileRank": 36 + }, + "weeklyStats": { + "count": 85, + "percentileRank": 36 + }, + "monthlyStats": { + "count": 85, + "percentileRank": 36 + }, + "date": "2021-12-01" + }, + "followers": [], + "joins": { + "startDate": "2021-11-01", + "dayCount": 30, + "columnJoins": [ + { + "columnName": "api_client_id", + "joinedWith": [ + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_order.api_client_id", + "joinCount": 30 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_order.customer_id", + "joinCount": 30 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_order.order_id", + "joinCount": 30 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_order.shop_id", + "joinCount": 30 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_order.user_id", + "joinCount": 30 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.api_client_id", + "joinCount": 55 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.billing_address_id", + "joinCount": 55 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.customer_id", + "joinCount": 55 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.location_id", + "joinCount": 55 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.order_id", + "joinCount": 55 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.product_id", + "joinCount": 55 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.product_variant_id", + "joinCount": 55 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.shipping_address_id", + "joinCount": 55 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.shop_id", + "joinCount": 55 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.user_id", + "joinCount": 55 + } + ] + } + ] + }, + "sampleData": { + "columns": [ + "api_client_id", + "title" + ], + "rows": [ + [ + "081bb68c-8517-43e7-9a28-6a19fef8b57b", + "Series page society." + ], + [ + "8f778142-0b2a-4e79-9b70-770012f8ecf3", + "Program able leave." + ], + [ + "45d9513d-bf96-4e97-aaa1-cdf9fae8b686", + "Recognize paper." + ], + [ + "53bf1c17-bc1b-4a67-8098-1719af0a10a1", + "Become officer seek." + ], + [ + "dc3b5e7d-8daa-4258-a016-9da71c12bfd4", + "Box remember onto." + ], + [ + "88e76f19-9637-4602-ad45-4033298d61b8", + "Both administration." + ], + [ + "c1fd8340-e8bb-4aa3-857e-9ce3f962eef9", + "Must smile attack." + ], + [ + "7612984b-c271-4c34-98d2-3261c1d34272", + "Catch campaign." + ], + [ + "7304aa3c-33dc-45b0-bd73-87125807e879", + "Use provide left." + ], + [ + "a87102e5-115f-4a99-8276-065cd15fb653", + "Point yeah." + ], + [ + "18d61d8b-ea59-4d58-8bec-4549dd3a9e61", + "Democratic cold." + ], + [ + "bbb55ed1-3afb-41f7-b547-2b95f47bfb7b", + "Despite brother." + ], + [ + "701b206d-a8e2-448c-9293-d886f1e2324c", + "Environmental." + ], + [ + "c5b55540-b3b2-44b8-a691-6ebd0d3b49ef", + "Seek guy account." + ], + [ + "1e1c9c4b-0a3e-499c-9531-552188bab24e", + "Turn something push." + ], + [ + "6f78b737-e8b8-427f-97f3-9a0b00cc99b5", + "Age tax very." + ], + [ + "75c47d28-bf60-45c7-bf8c-0e99d42e08ac", + "Successful single." + ], + [ + "e76f8c4a-138f-4c52-8169-74d5d66423e0", + "Only bar head ball." + ], + [ + "a3ecc6c2-6525-4353-9f34-1dcf020cf237", + "Difference among." + ], + [ + "989f5855-edae-47f0-b474-83038c092993", + "Member attack." + ], + [ + "96793d22-7a70-409a-8720-e3a4a48944c4", + "Identify face floor." + ], + [ + "cf1ecdca-1466-4ca9-ad95-adc153e02456", + "Determine guy field." + ], + [ + "97a0d6b7-bb46-449b-a45a-a8874888f6c9", + "Practice represent." + ], + [ + "9937cb82-1627-433b-8656-f7909971a7e7", + "First each threat." + ], + [ + "3beab500-cb33-4776-b6b2-5e79728daa79", + "Step he news space." + ] + ] + }, + "tableProfile": { + "timestamp": 1634366539, + "columnCount": 2, + "rowCount": 685, + "columnProfile": [ + { + "name": "api_client_id", + "uniqueCount": 9, + "uniqueProportion": 0.87924166, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "title", + "uniqueCount": 29, + "uniqueProportion": 0.4712713414, + "distinctCount": 0, + "distinctProportion": 0 + } + ] + }, + "databaseSchema": { + "id": "d7be1e2c-b3dc-11ec-b909-0242ac120002", + "type": "databaseSchema", + "name": "sample_data.ecommerce_db.shopify", + "description": "This **mock** Schema contains tables related to shopify sales and orders with related dimension tables.", + "href": "http://localhost:8585/api/v1/databaseSchemas/d7be1e2c-b3dc-11ec-b909-0242ac120002" + }, + "sourceUrl": "http://localhost:8080/dim.api/client" + }, + { + "name": "dim_customer", + "description": "The dimension table contains data about your customers. The customers table contains one row per customer. It includes historical metrics (such as the total amount that each customer has spent in your store) as well as forward-looking metrics (such as the predicted number of days between future orders and the expected order value in the next 30 days). This table also includes columns that segment customers into various categories (such as new, returning, promising, at risk, dormant, and loyal), which you can use to target marketing activities.", + "version": 0.1, + "updatedAt": 1638354087492, + "updatedBy": "anonymous", + "href": "http://localhost:8585/api/v1/tables/9c96042f-311a-4826-b5b2-8658914e2ee8", + "tableType": "Regular", + "schemaDefinition": "CREATE TABLE dim_customer(customer_id NUMERIC PRIMARY KEY, shop_id NUMERIC, average_order_size NUMERIC)", + "columns": [ + { + "name": "customer_id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "The ID of the customer. This is the primary key column for this table.", + "tags": [], + "constraint": "PRIMARY_KEY", + "ordinalPosition": 1 + }, + { + "name": "shop_id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "The ID of the store. This column is a foreign key reference to the shop_id column in the dim_shop table.", + "tags": [], + "ordinalPosition": 2 + }, + { + "name": "average_order_size", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "The average amount of money that the customer spends on orders from the store. The value is formatted in the store's currency and it is calculated using the following formula: total_order_value / total_order_count.", + "tags": [], + "ordinalPosition": 3 + }, + { + "name": "total_order_count", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "The total number of orders that the customer has made from this store across their lifetime.", + "tags": [], + "ordinalPosition": 4 + }, + { + "name": "total_order_value", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "The total amount of money that the customer has spent on orders from the store across their lifetime. The value is formatted in the store's currency.", + "tags": [], + "ordinalPosition": 5 + }, + { + "name": "first_order_date", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "The date (ISO 8601) and time (UTC) when the customer placed their first order. The format is YYYY-MM-DD HH:mm:ss (for example, 2016-02-05 17:04:01).", + "tags": [], + "ordinalPosition": 6 + }, + { + "name": "last_order_date", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "The date (ISO 8601) and time (UTC) when the customer placed their most recent order. The format is YYYY-MM-DD HH:mm:ss (for example, 2016-02-05 17:04:01).", + "tags": [], + "ordinalPosition": 7 + }, + { + "name": "rank", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "A numeric ranking of the customer's lifetime value for the store relative to all customers.", + "tags": [], + "ordinalPosition": 8 + }, + { + "name": "new", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Returns true if the customer made their first order in the last 30 days. Otherwise returns false.", + "tags": [], + "ordinalPosition": 9 + }, + { + "name": "returning", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Returns true when the customer has made more than one order. Returns false when the customer has made one order only. Returns Null when the customer exists in Shopify, but they have not made any orders. For example, this column can be null because the customer provided their contact information and then abandoned the checkout. Customers can also be created manually in the Shopify admin and by apps that use the Admin API.", + "tags": [], + "ordinalPosition": 10 + }, + { + "name": "loyal", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Returns true when the customer has a high probability of returning, and has placed more orders than the average customer. Otherwise returns false.", + "tags": [], + "ordinalPosition": 11 + }, + { + "name": "at_risk", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Returns true for repeat customers, who have a medium probability of returning and have not placed an order in a while. Otherwise returns false.", + "tags": [], + "ordinalPosition": 12 + }, + { + "name": "dormant", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Returns true when the customer has a very low probability of returning to make another purchase. Otherwise returns false.", + "tags": [], + "ordinalPosition": 13 + }, + { + "name": "promising", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Returns true when the customer has a high probability of returning and becoming a loyal customer. Otherwise returns false.", + "tags": [], + "ordinalPosition": 14 + }, + { + "name": "predicted_average_number_of_days_between_orders", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "The predicated number of days between future orders.", + "tags": [], + "ordinalPosition": 15 + }, + { + "name": "expected_purchase_value_in_next_30_days", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "The total purchase amount of the orders that the customer is expected to make in the next 30 days. The value is formatted in the store's currency.", + "tags": [], + "ordinalPosition": 16 + }, + { + "name": "first_name", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "The first name of the customer.", + "tags": [], + "ordinalPosition": 17 + }, + { + "name": "last_name", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "The last name of the customer.", + "tags": [], + "ordinalPosition": 18 + }, + { + "name": "city", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "The city from the customer's billing address. For example, Topeka.", + "tags": [], + "ordinalPosition": 19 + }, + { + "name": "region", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "The name of the region, such as the province or state, from the customer's billing address. For example, Alberta, Florida. This column is the same as CustomerAddress.province in the Admin API.", + "tags": [], + "ordinalPosition": 20 + }, + { + "name": "country", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "The country from the customer's billing address. For example, United States.", + "tags": [], + "ordinalPosition": 21 + }, + { + "name": "email", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "The email of the customer.", + "tags": [], + "ordinalPosition": 22 + }, + { + "name": "phone", + "dataType": "VARCHAR", + "dataLength": 15, + "dataTypeDisplay": "varchar", + "description": "The phone number of the customer.", + "tags": [], + "ordinalPosition": 23 + }, + { + "name": "verified_email", + "dataType": "BOOLEAN", + "dataLength": 15, + "dataTypeDisplay": "boolean", + "description": "Returns true when the customer's email has been verified. Otherwise returns false.", + "tags": [], + "ordinalPosition": 24 + }, + { + "name": "created_at", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "The date (ISO 8601) and time (UTC) when the customer was added to the store. The format is YYYY-MM-DD HH:mm:ss (for example, 2018-02-05 17:04:01).", + "tags": [], + "ordinalPosition": 25 + }, + { + "name": "accepts_marketing", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Returns true when the customer has agreed to accept marketing. Otherwise returns false.", + "tags": [], + "ordinalPosition": 26 + }, + { + "name": "customer", + "dataType": "STRUCT", + "dataTypeDisplay": "struct", + "description": "Customer Personal Details", + "tags": [], + "ordinalPosition": 27, + "children": [ + { + "name": "username", + "dataType": "VARCHAR", + "dataLength": 20, + "dataTypeDisplay": "VARCHAR(32)", + "tags": [] + }, + { + "name": "name", + "dataType": "VARCHAR", + "dataLength": 20, + "dataTypeDisplay": "VARCHAR(32)", + "tags": [] + }, + { + "name": "sex", + "dataType": "CHAR", + "dataLength": 1, + "dataTypeDisplay": "CHAR(1)", + "tags": [] + }, + { + "name": "address", + "dataType": "VARCHAR", + "dataLength": 128, + "dataTypeDisplay": "VARCHAR(128)", + "tags": [] + }, + { + "name": "mail", + "dataType": "VARCHAR", + "dataLength": 64, + "dataTypeDisplay": "VARCHAR(64)", + "tags": [] + }, + { + "name": "birthdate", + "dataType": "VARCHAR", + "dataLength": 16, + "dataTypeDisplay": "VARCHAR(16)", + "tags": [] + } + ] + }, + { + "name": "shipping_address", + "dataType": "ARRAY", + "arrayDataType": "STRUCT", + "dataTypeDisplay": "array>>", + "children": [ + { + "dataType": "STRING", + "dataTypeDisplay": "string", + "name": "type" + }, + { + "dataType": "ARRAY", + "arrayDataType": "INT", + "dataTypeDisplay": "array", + "name": "provider" + } + ], + "tags": [] + }, + { + "name": "orders", + "dataType": "ARRAY", + "arrayDataType": "STRUCT", + "dataTypeDisplay": "array>", + "tags": [] + } + ], + "database": { + "id": "50da1ff8-4e1d-4967-8931-45edbf4dd908", + "type": "database", + "name": "sample_data.ecommerce_db", + "description": "This **mock** database contains tables related to shopify sales and orders with related dimension tables.", + "href": "http://localhost:8585/api/v1/databases/50da1ff8-4e1d-4967-8931-45edbf4dd908" + }, + "tags": [], + "usageSummary": { + "dailyStats": { + "count": 140, + "percentileRank": 64 + }, + "weeklyStats": { + "count": 140, + "percentileRank": 64 + }, + "monthlyStats": { + "count": 140, + "percentileRank": 64 + }, + "date": "2021-12-01" + }, + "followers": [], + "joins": { + "startDate": "2021-11-01", + "dayCount": 30, + "columnJoins": [ + { + "columnName": "shop_id", + "joinedWith": [ + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.shop\".shop_id", + "joinCount": 50 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_order.api_client_id", + "joinCount": 5 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_order.customer_id", + "joinCount": 5 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_order.order_id", + "joinCount": 5 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_order.shop_id", + "joinCount": 5 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_order.user_id", + "joinCount": 5 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.customer_id", + "joinCount": 45 + } + ] + }, + { + "columnName": "customer_id", + "joinedWith": [ + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.shop\".shop_id", + "joinCount": 50 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_order.api_client_id", + "joinCount": 25 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_order.customer_id", + "joinCount": 25 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_order.order_id", + "joinCount": 25 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_order.shop_id", + "joinCount": 25 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_order.user_id", + "joinCount": 25 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.api_client_id", + "joinCount": 45 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.billing_address_id", + "joinCount": 45 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.customer_id", + "joinCount": 45 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.location_id", + "joinCount": 45 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.order_id", + "joinCount": 45 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.product_id", + "joinCount": 45 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.product_variant_id", + "joinCount": 45 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.shipping_address_id", + "joinCount": 45 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.shop_id", + "joinCount": 45 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.user_id", + "joinCount": 45 + } + ] + } + ] + }, + "sampleData": { + "columns": [ + "customer_id", + "shop_id", + "average_order_size", + "total_order_count", + "total_order_value", + "first_order_date", + "last_order_date", + "rank", + "new", + "returning", + "loyal", + "at_risk", + "dormant", + "promising", + "predicted_average_number_of_days_between_orders", + "expected_purchase_value_in_next_30_days", + "first_name", + "last_name", + "city", + "region", + "country", + "email", + "phone", + "verified_email", + "created_at", + "accepts_marketing", + "customer", + "shipping_address", + "orders" + ], + "rows": [ + [ + "f9c58494-45d2-4870-9be6-cdf44dc3e917", + "26de2184-0c0f-4581-a0fc-8583e7a16be3", + 5319, + 1558, + 4974, + 367945433, + 510452782, + 4924, + true, + true, + true, + false, + false, + true, + 9392, + 7870, + "Patrick", + "Edward", + "Barronton", + "544 Sarah Row", + "Trinidad and Tobago", + "Box trade foot.", + "(068)353-1672x37991", + true, + 419876539, + false, + null, + "253 Susan Centers", + null + ], + [ + "a6ff0477-c421-43ea-8414-9bd2f3c78949", + "9931d7db-c9cd-4638-94f2-c2e116cbf3ba", + 2073, + 420, + 9624, + 1357347243, + 621700477, + 9343, + true, + false, + true, + true, + false, + true, + 3480, + 7169, + "Wayne", + "Joseph", + "Jamesmouth", + "882 Humphrey Port Apt. 168", + "Faroe Islands", + "Major force even.", + "(763)253-6086x937", + false, + 335295527, + false, + null, + "44086 Tina Streets", + null + ], + [ + "29342c8d-31e7-4560-8205-854ea7f4336e", + "93d22fff-e33e-4ec0-bf71-0312d4d6179e", + 7497, + 6458, + 3504, + 124276917, + 799916395, + 9779, + true, + false, + true, + true, + true, + false, + 8410, + 4185, + "Allison", + "Melissa", + "North Mirandaborough", + "82463 Joshua Radial Suite 143", + "Malta", + "Beat bad election.", + "001-085-266-1772x8323", + false, + 50858351, + false, + null, + "4336 Edward Drive Apt. 292", + null + ], + [ + "1a214f40-26e6-4ade-992c-6829dbd59c9e", + "38d6bfc7-de2f-45b8-a199-9f01fbe7bd92", + 1569, + 1183, + 5748, + 467768196, + 228788006, + 425, + false, + true, + true, + false, + false, + false, + 9041, + 6190, + "Andrew", + "Marcus", + "Smithburgh", + "934 Moore Corners Suite 590", + "Serbia", + "Old experience.", + "(689)581-9551", + true, + 947996155, + true, + null, + "339 Riley Wall Suite 684", + null + ], + [ + "fb52187e-5320-4edf-a34b-95134ff90018", + "317510de-74b5-4ad3-a90e-0410267dcd9c", + 6906, + 5929, + 4117, + 1409738836, + 233871433, + 7263, + true, + false, + true, + false, + true, + true, + 7294, + 4125, + "Sandra", + "Deborah", + "Lake Amandaberg", + "7461 Turner Mission Suite 905", + "Thailand", + "Scene allow address.", + "001-721-477-6864x8748", + true, + 1416732054, + false, + null, + "500 Bryan Garden", + null + ], + [ + "55a80144-dc95-4703-bf57-a95c956f7065", + "0cb54c3b-435d-4f5d-aa84-25966ab59314", + 7539, + 3972, + 7652, + 517470935, + 147727199, + 9235, + true, + true, + true, + true, + true, + false, + 3365, + 9730, + "Doris", + "Cameron", + "Robertsonfurt", + "536 Matthew Lodge Suite 549", + "Ecuador", + "Meet air citizen.", + "107.756.2914", + false, + 1048998253, + true, + null, + "5338 Lucas Mountain Apt. 884", + null + ], + [ + "1ea2c7bb-89e8-4a3e-b56b-c96cc7cf9561", + "ab7aacc2-ee3a-4f98-8f57-67f497b183ec", + 7818, + 2697, + 1017, + 1491434403, + 215410698, + 1339, + true, + false, + true, + false, + true, + true, + 629, + 7690, + "Olivia", + "Rebecca", + "Lake Miranda", + "700 Webster Trace Suite 806", + "Turkey", + "Budget whatever.", + "+1-721-613-6430x9546", + false, + 1309931336, + true, + null, + "646 Nancy Drives", + null + ], + [ + "2afac78c-383a-43e8-9b62-c814b77f324f", + "1291baae-bf73-489b-91f9-a7416096d766", + 2448, + 541, + 1194, + 884535487, + 878425140, + 3099, + true, + false, + true, + false, + true, + true, + 5970, + 9577, + "Rachel", + "Stephanie", + "Port Jennifermouth", + "565 Aguilar Mount Apt. 296", + "Pakistan", + "Child mission even.", + "913-203-4857x4647", + true, + 1186856044, + false, + null, + "91586 James Lane Suite 503", + null + ], + [ + "80d91657-eaab-46e3-9f3e-71f64df65d44", + "216f3c77-a518-4b82-a159-054aaa7a1452", + 1562, + 2186, + 9272, + 679613782, + 1394852136, + 6245, + false, + true, + false, + true, + true, + false, + 2327, + 7096, + "Steven", + "Neil", + "Bettyport", + "6512 Kaitlyn Ranch", + "Panama", + "Candidate believe.", + "8662237021", + false, + 858437579, + false, + null, + "43975 Warren Stream Suite 326", + null + ], + [ + "e0d7db0b-6efd-4c53-8294-4e170b93247e", + "f0de4645-9fa9-4083-811f-3d70a254632f", + 4712, + 1961, + 2642, + 1156583664, + 1631650029, + 9022, + false, + false, + true, + true, + true, + false, + 7267, + 1595, + "Amanda", + "Nancy", + "Brandonberg", + "084 Michelle Union Apt. 950", + "Faroe Islands", + "Even central real.", + "968.498.1302", + false, + 1580783443, + false, + null, + "982 Foster Station", + null + ], + [ + "b0d51628-0d03-4476-9ea6-2134d4d28502", + "52d3ab6e-087d-4c94-ab21-0978c059e896", + 6184, + 2784, + 8462, + 648418748, + 349810293, + 6447, + true, + false, + false, + false, + false, + false, + 5827, + 4004, + "Natalie", + "Howard", + "Thompsonside", + "2122 Veronica Way Apt. 530", + "Pitcairn Islands", + "Property have water.", + "(029)549-9084x8301", + true, + 660479383, + false, + null, + "33483 Bailey Neck", + null + ], + [ + "f59c5a8c-4ab0-46a9-8561-f755cee3a37f", + "f912d10c-c38e-45ff-93d1-f58a317c02e9", + 6547, + 9446, + 4131, + 808549396, + 1501798860, + 2157, + true, + false, + false, + false, + false, + false, + 8917, + 4489, + "Brian", + "Tonya", + "New Linda", + "870 Griffin Prairie Apt. 161", + "Grenada", + "Personal before.", + "(348)802-1390x27988", + false, + 670649664, + false, + null, + "863 Duran Mission Suite 209", + null + ], + [ + "df3627ca-c932-4966-9951-d8107f56ea8e", + "56ff18c1-abf5-4cf2-aea5-bc6adb31e831", + 9222, + 2252, + 4526, + 856829887, + 602649169, + 7675, + true, + true, + false, + true, + true, + false, + 8085, + 8066, + "Jenny", + "Catherine", + "Katherineport", + "50112 Dennis Road", + "Reunion", + "Behind recently.", + "184.739.4000x5831", + true, + 965981062, + false, + null, + "31462 Powell Groves Apt. 566", + null + ], + [ + "1dd21462-4ec2-4929-98fd-e2d72dbb7d9f", + "cf4a1b08-2e10-45f6-b2c2-986faee52828", + 7639, + 3887, + 9894, + 993882477, + 879070683, + 460, + true, + false, + false, + true, + true, + true, + 7741, + 7867, + "Ryan", + "Lisa", + "Thompsonfurt", + "4425 Butler Lights", + "Syrian Arab Republic", + "Present office.", + "191-309-8922x99260", + true, + 27228521, + true, + null, + "76874 Johnson Turnpike Apt. 511", + null + ], + [ + "b3c4150f-6121-479b-8091-ba250c5fc1b9", + "de7e46c5-6bfa-44a9-a2ed-a75f8c480175", + 3738, + 1455, + 550, + 403194769, + 928198748, + 4020, + true, + true, + false, + false, + true, + false, + 7827, + 4088, + "Amanda", + "Crystal", + "East Tiffany", + "092 John Shoals", + "Madagascar", + "Give we provide.", + "(120)768-3344x140", + false, + 861503917, + false, + null, + "697 Ross Flats", + null + ], + [ + "223a0d00-356e-416f-884a-63926fcbfa0a", + "455a445a-1879-427a-b6b2-3eb65cbf732b", + 2345, + 1500, + 2012, + 1359212099, + 384937168, + 1786, + true, + true, + true, + false, + true, + true, + 1416, + 2357, + "Lori", + "Jon", + "Shannonshire", + "72470 Mary Motorway Apt. 916", + "Anguilla", + "Already cause.", + "+1-309-585-5193x3363", + false, + 795153702, + false, + null, + "7128 Perry Hills Suite 151", + null + ], + [ + "90b4aad9-3159-4215-a04e-8547be7faf6d", + "b24cd33d-ffa5-4348-acbe-4b32acb4474c", + 7218, + 4776, + 6668, + 198257958, + 864841376, + 7200, + true, + true, + true, + true, + false, + true, + 7220, + 867, + "Victoria", + "Andrew", + "Crystalview", + "1028 Turner Meadows Suite 969", + "Netherlands", + "Matter professor.", + "(169)702-1259x355", + false, + 1219179342, + false, + null, + "554 Amy Creek", + null + ], + [ + "648e56a6-1665-4ef7-8c23-1b111b2a86fd", + "ed219903-f3a5-4ef9-b427-badf22adf5d9", + 8918, + 1344, + 7247, + 107452387, + 1153183417, + 1895, + true, + true, + true, + true, + false, + true, + 4277, + 7750, + "Andrea", + "Chad", + "Perezberg", + "016 Melanie Via Apt. 393", + "Kenya", + "Action service.", + "+1-587-667-4017x9913", + false, + 1474320474, + false, + null, + "15578 Gerald Circles", + null + ], + [ + "58301780-86c5-42c8-b230-4b7b8a3eb073", + "be781906-fe68-4748-9351-9fb60035256a", + 828, + 8081, + 7949, + 101160326, + 291354655, + 3713, + true, + true, + false, + false, + false, + true, + 783, + 8214, + "Toni", + "Patrick", + "Scottville", + "921 Stephanie Gardens", + "Qatar", + "Prevent special.", + "+1-272-659-0626x740", + false, + 248306083, + true, + null, + "2835 Patrick Stream", + null + ], + [ + "763a3bf5-6c4a-4b14-bece-de5cf8bff813", + "c556ac3a-f845-41c5-a4ed-2b40f192715b", + 1338, + 8378, + 8288, + 1112128417, + 821860765, + 3217, + false, + true, + false, + true, + true, + false, + 3397, + 2925, + "Jamie", + "James", + "Stevenview", + "9747 Mcguire Extensions Apt. 601", + "Ecuador", + "Manage car produce.", + "067-724-8353", + false, + 1484532795, + false, + null, + "70111 Lewis Mountain Suite 358", + null + ], + [ + "693e7261-8cc1-433e-9707-633f0e72ba60", + "defd3a6b-42bb-4001-8653-5f2bb40f025b", + 3773, + 9858, + 3006, + 381120202, + 1408551053, + 9228, + true, + true, + false, + true, + false, + true, + 1241, + 1094, + "Ronald", + "Jeremy", + "Susanborough", + "4483 Donald Junctions Apt. 404", + "Eritrea", + "Gun tax kitchen.", + "771.209.9651", + false, + 511352396, + false, + null, + "1204 Johnson Camp Apt. 394", + null + ], + [ + "85af84bc-996a-41f9-909d-c47bb0aa597e", + "79828744-48d1-43af-8d2c-6128da5a40a5", + 9541, + 2212, + 390, + 1325925002, + 134242007, + 411, + true, + true, + false, + true, + false, + false, + 9743, + 9748, + "Amy", + "Lauren", + "Katelynland", + "53114 Olson Views Suite 233", + "Israel", + "Officer agent.", + "(715)372-9676", + false, + 164768061, + true, + null, + "773 Patrick Point", + null + ], + [ + "93f705b3-cb83-43f2-b5c0-cf7eed0066bf", + "c01455d4-0b31-41cb-bedf-f74a4354e0a3", + 4975, + 1888, + 34, + 823798884, + 369505402, + 1936, + true, + true, + false, + false, + true, + true, + 3677, + 1343, + "Erin", + "James", + "New Mollyland", + "43337 Perez Fort Suite 720", + "British Virgin Islands", + "Open memory want.", + "(622)003-4143", + false, + 1566620876, + true, + null, + "3284 Rebecca Course", + null + ], + [ + "051f6d67-4203-4286-b7dd-c340eac92b97", + "2d11246d-3303-4255-97e8-bc435cc86138", + 3599, + 1688, + 5817, + 762620541, + 1489086202, + 6413, + true, + false, + true, + true, + false, + true, + 5960, + 4176, + "Sarah", + "Stephen", + "South Kaitlyn", + "0164 Maxwell Ridge Suite 956", + "Argentina", + "Whatever weight.", + "0646215715", + false, + 301754573, + false, + null, + "80343 Long Ville", + null + ], + [ + "8fc76355-2475-48dd-af7a-c3c3cfbba89f", + "58700ac0-1706-4a31-b56c-08e8e5ff1130", + 5329, + 2914, + 5668, + 361725472, + 1560794667, + 2510, + false, + true, + true, + false, + false, + true, + 1089, + 7599, + "Barbara", + "Michael", + "Ronaldside", + "6746 Sanchez Squares Apt. 026", + "Russian Federation", + "Painting represent.", + "+1-998-905-8089x1214", + true, + 1285084061, + true, + null, + "224 Michael Manor Suite 604", + null + ] + ] + }, + "tableProfile": { + "timestamp": 1634366539, + "columnCount": 29, + "rowCount": 169, + "columnProfile": [ + { + "name": "customer_id", + "uniqueCount": 46, + "uniqueProportion": 0.4556834255, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "shop_id", + "uniqueCount": 36, + "uniqueProportion": 0.412740311, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "average_order_size", + "uniqueCount": 9, + "uniqueProportion": 0.4848320849, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "total_order_count", + "uniqueCount": 16, + "uniqueProportion": 0.274374675, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "total_order_value", + "uniqueCount": 19, + "uniqueProportion": 0.1779729031, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "first_order_date", + "uniqueCount": 5, + "uniqueProportion": 0.403198425, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "last_order_date", + "uniqueCount": 41, + "uniqueProportion": 0.5763257885, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "rank", + "uniqueCount": 1, + "uniqueProportion": 0.271483578, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "new", + "uniqueCount": 18, + "uniqueProportion": 0.54392552, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "returning", + "uniqueCount": 48, + "uniqueProportion": 0.457357716, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "loyal", + "uniqueCount": 47, + "uniqueProportion": 0.1455819185, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "at_risk", + "uniqueCount": 25, + "uniqueProportion": 0.502421822, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "dormant", + "uniqueCount": 10, + "uniqueProportion": 0.4514540014, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "promising", + "uniqueCount": 5, + "uniqueProportion": 0.643516191, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "predicted_average_number_of_days_between_orders", + "uniqueCount": 37, + "uniqueProportion": 0.1991445491, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "expected_purchase_value_in_next_30_days", + "uniqueCount": 23, + "uniqueProportion": 0.3934633215, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "first_name", + "uniqueCount": 10, + "uniqueProportion": 0.521182903, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "last_name", + "uniqueCount": 41, + "uniqueProportion": 0.577276297, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "city", + "uniqueCount": 15, + "uniqueProportion": 0.1038962515, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "region", + "uniqueCount": 24, + "uniqueProportion": 0.4806029226, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "country", + "uniqueCount": 23, + "uniqueProportion": 0.285063012, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "email", + "uniqueCount": 4, + "uniqueProportion": 0.502737667, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "phone", + "uniqueCount": 4, + "uniqueProportion": 0.424923401, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "verified_email", + "uniqueCount": 39, + "uniqueProportion": 0.1127764811, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "created_at", + "uniqueCount": 35, + "uniqueProportion": 0.5043061999, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "accepts_marketing", + "uniqueCount": 32, + "uniqueProportion": 0.370361415, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "customer", + "uniqueCount": 47, + "uniqueProportion": 0.983529122, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "shipping_address", + "uniqueCount": 38, + "uniqueProportion": 0.1136043573, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "orders", + "uniqueCount": 29, + "uniqueProportion": 0.0639865, + "distinctCount": 0, + "distinctProportion": 0 + } + ] + }, + "databaseSchema": { + "id": "d7be1e2c-b3dc-11ec-b909-0242ac120002", + "type": "databaseSchema", + "name": "sample_data.ecommerce_db.shopify", + "description": "This **mock** Schema contains tables related to shopify sales and orders with related dimension tables.", + "href": "http://localhost:8585/api/v1/databaseSchemas/d7be1e2c-b3dc-11ec-b909-0242ac120002" + }, + "sourceUrl": "http://localhost:8080/dim_customer" + }, + { + "id": "e64426b9-852a-468e-ac16-1231bb01fe96", + "name": "dim_location", + "description": "The dimension table contains metrics about your Shopify POS. This table contains one row per Shopify POS location. You can use this table to generate a list of the Shopify POS locations or you can join the table with the sales table to measure sales performance.", + "version": 0.1, + "updatedAt": 1638354087532, + "updatedBy": "anonymous", + "href": "http://localhost:8585/api/v1/tables/e64426b9-852a-468e-ac16-1231bb01fe96", + "tableType": "Regular", + "schemaDefinition": "CREATE TABLE dim_location(location_id NUMERIC PRIMARY KEY, shop_id NUMERIC)", + "columns": [ + { + "name": "location_id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "tags": [], + "constraint": "PRIMARY_KEY", + "ordinalPosition": 1 + }, + { + "name": "shop_id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "The ID of the store. This column is a foreign key reference to the shop_id column in the dim_shop table.", + "tags": [], + "ordinalPosition": 2 + }, + { + "name": "name", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "Name of the POS location as provided by the merchant. For example, 150 Elgin Street or Downtown Boutique.", + "tags": [], + "ordinalPosition": 3 + }, + { + "name": "address", + "dataType": "STRUCT", + "dataTypeDisplay": "struct>", + "tags": [], + "children": [ + { + "name": "street_name", + "dataType": "VARCHAR", + "dataLength": 24, + "dataTypeDisplay": "VARCHAR(24)", + "tags": [] + }, + { + "name": "zipcode", + "dataType": "INT", + "dataTypeDisplay": "int", + "tags": [] + }, + { + "name": "city", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "VARCHAR(100)", + "tags": [] + }, + { + "name": "country", + "dataType": "STRUCT", + "dataTypeDisplay": "struct", + "tags": [], + "children": [ +>>>>>>> c90138501f (Fix #21822: OpenSearch by default limits the number of characters it will analyze for highlighting to 1,000,000 characters. If your description field is very large (e.g. Markdown docs, embedded HTML, or verbose documentation), this limit gets exceeded. (#21821)) + { + "name": "address_::>id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Unique identifier for the address.", + "tags": [], + "ordinalPosition": 1 + }, + { + "name": "shop_id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "The ID of the store. This column is a foreign key reference to the shop_id column in the dim_shop table.", + "tags": [], + "ordinalPosition": 2 + }, + { + "name": "first_name", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "First name of the customer.", + "tags": [], + "ordinalPosition": 3 + }, + { + "name": "last_name", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "Last name of the customer.", + "tags": [], + "ordinalPosition": 4 + }, + { + "name": "address1", + "dataType": "VARCHAR", + "dataLength": 500, + "dataTypeDisplay": "varchar", + "description": "The first address line. For example, 150 Elgin St.", + "tags": [], + "ordinalPosition": 5 + }, + { + "name": "address2", + "dataType": "VARCHAR", + "dataLength": 500, + "dataTypeDisplay": "varchar", + "description": "The second address line. For example, Suite 800.", + "tags": [], + "ordinalPosition": 6 + }, + { + "name": "company", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "The name of the customers business, if one exists.", + "tags": [], + "ordinalPosition": 7 + }, + { + "name": "city", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "The name of the city. For example, Palo Alto.", + "tags": [], + "ordinalPosition": 8 + }, + { + "name": "region", + "dataType": "VARCHAR", + "dataLength": 512, + "dataTypeDisplay": "varchar", + "description": "The name of the region, such as a province or state, where the customer is located. For example, Ontario or New York. This column is the same as CustomerAddress.province in the Admin API.", + "tags": [], + "ordinalPosition": 9 + }, + { + "name": "zip", + "dataType": "VARCHAR", + "dataLength": 10, + "dataTypeDisplay": "varchar", + "description": "The ZIP or postal code. For example, 90210.", + "tags": [], + "ordinalPosition": 10, + "customMetrics": [ + { + "name": "CountOfLAZipCode", + "columnName": "zip", + "expression": "SELECT COUNT(zip) FROM dim_address WHERE zip LIKE '900%'" + }, + { + "name": "CountOfOrangeCountyZipCode", + "columnName": "zip", + "expression": "SELECT COUNT(zip) FROM dim_address WHERE zip LIKE '92%'" + } + ] + }, + { + "name": "country", + "dataType": "VARCHAR", + "dataLength": 50, + "dataTypeDisplay": "varchar", + "description": "The full name of the country. For example, Canada.", + "tags": [], + "ordinalPosition": 11 + }, + { + "name": "phone", + "dataType": "VARCHAR", + "dataLength": 15, + "dataTypeDisplay": "varchar", + "description": "The phone number of the customer.", + "tags": [], + "ordinalPosition": 12, + "customMetrics": [ + { + "name": "CountOfNonUsPhoneNumbers", + "columnName": "phone", + "expression": "SELECT COUNT(phone) FROM dim_address WHERE phone NOT LIKE '1%'" + } + ] + } +<<<<<<< HEAD + ], + "tableConstraints": [ + { + "constraintType": "PRIMARY_KEY", + "columns": [ + "address_::>id", + "shop_id" + ] + } + ], + "database": { + "id": "50da1ff8-4e1d-4967-8931-45edbf4dd908", + "type": "database", + "name": "sample_data.ecommerce_db", + "description": "This **mock** database contains tables related to shopify sales and orders with related dimension tables.", + "href": "http://localhost:8585/api/v1/databases/50da1ff8-4e1d-4967-8931-45edbf4dd908" +======= + ] + } + ] + } + ], + "database": { + "id": "50da1ff8-4e1d-4967-8931-45edbf4dd908", + "type": "database", + "name": "sample_data.ecommerce_db", + "description": "This **mock** database contains tables related to shopify sales and orders with related dimension tables.", + "href": "http://localhost:8585/api/v1/databases/50da1ff8-4e1d-4967-8931-45edbf4dd908" + }, + "tags": [], + "usageSummary": { + "dailyStats": { + "count": 75, + "percentileRank": 18 + }, + "weeklyStats": { + "count": 75, + "percentileRank": 18 + }, + "monthlyStats": { + "count": 75, + "percentileRank": 18 + }, + "date": "2021-12-01" + }, + "followers": [], + "joins": { + "startDate": "2021-11-01", + "dayCount": 30, + "columnJoins": [ + { + "columnName": "location_id", + "joinedWith": [ + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.api_client_id", + "joinCount": 50 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.billing_address_id", + "joinCount": 50 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.customer_id", + "joinCount": 50 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.location_id", + "joinCount": 50 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.order_id", + "joinCount": 50 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.product_id", + "joinCount": 50 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.product_variant_id", + "joinCount": 50 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.shipping_address_id", + "joinCount": 50 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.shop_id", + "joinCount": 50 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.user_id", + "joinCount": 50 + } + ] + } + ] + }, + "sampleData": { + "columns": [ + "location_id", + "shop_id", + "name", + "address" + ], + "rows": [ + [ + "f035fc0a-4678-4507-9b69-98230c9f160d", + "addb1f78-7a4a-429e-9d73-d973afbc5d43", + "Aaron", + "44702 Alicia Harbors" + ], + [ + "f1b785da-b15d-4ccd-845d-e5aaec5d469c", + "3e476c6e-7e86-4238-878e-239c56f27bea", + "Natalie", + "48377 Chan Valleys Apt. 887" + ], + [ + "de5c95ed-a23d-4342-8fb2-eb1e003c4d7b", + "252b17e5-5f64-4b41-973d-abd994eb713f", + "Amber", + "3696 Robert Tunnel" + ], + [ + "7a55f43a-5c4c-41b9-a8ad-3fc0082a6fb2", + "1f9f9bfb-93c7-40bc-a676-99adda621780", + "Kevin", + "2673 Matthew Square Suite 836" + ], + [ + "558c0821-a61f-42c4-bdb4-6bb2bf998965", + "83323f76-d892-4c9a-80cd-56be1a5ff7fd", + "Joel", + "57327 Vaughn Mill" + ], + [ + "03795134-1b27-48a4-94bf-09ee80dc2081", + "159672ac-6157-4c58-8c28-3c74feaa1caf", + "Jonathan", + "98365 Boyer Knoll Apt. 788" + ], + [ + "576ffe20-638c-4f77-8bf6-4e60ec2ec545", + "0d1278de-163d-4acf-a85f-40d57c60c9ad", + "Jason", + "97522 Davis Drives Suite 575" + ], + [ + "016c16b7-42cc-461b-98fa-254f9d69e351", + "54e74aa7-8597-48fd-9a01-65dd84491aa1", + "Brendan", + "181 Richard Street" + ], + [ + "f2ab0ecd-6ac2-4f1d-bcbd-3fda28cda6a4", + "ab41e0dc-2155-4729-8b1f-3c988d530a92", + "Jennifer", + "687 West Ridges" + ], + [ + "4e5ce53b-d12a-4a31-afa9-25025187d484", + "0063a75c-8b2a-4baf-9653-435f638968dd", + "Michelle", + "18836 Williams Spurs Suite 496" + ], + [ + "bd6eac1f-a29f-4e2c-829e-05178f9bf0eb", + "677367b0-9754-4f45-9c49-ab4457624ae8", + "Jose", + "64010 Christy Common Suite 031" + ], + [ + "d683fcef-42aa-410c-b3ad-7246002cc813", + "e9c96a55-409c-418d-8d42-a6fa11766809", + "Elizabeth", + "726 Anne Circles" + ], + [ + "0bd18ae2-2e0c-4e74-a609-82310d9785a6", + "101c74fb-000c-460e-99cd-96ab8bca1ac2", + "Christopher", + "543 Paige Vista Suite 556" + ], + [ + "6b5b96db-3379-4723-8b59-7166892b8c78", + "99a0b164-35dd-45b0-a7eb-9e2a03a6a10e", + "Erika", + "0158 Carpenter Divide Apt. 262" + ], + [ + "c8a89f7f-0fea-4dac-93f1-891dd7454bb7", + "325bb9c0-b85d-4fa5-9080-df329786012c", + "Joseph", + "55639 Jasmine Spurs Apt. 709" + ], + [ + "e5780594-577f-4dc3-9500-83e9f857dc4e", + "149cc993-f440-4da0-b490-2650c68624df", + "Ricky", + "0990 Molly Crescent" + ], + [ + "7baafe41-1bfa-4c03-8aef-27a801e161b2", + "f10bfdc0-cb0c-4a7b-ae04-54388ac39634", + "Allison", + "9879 Abigail Underpass" + ], + [ + "3503dfac-5247-4787-9b39-aaf8fd7bd4bf", + "7310921d-fc29-40a6-b9d1-3b5246d8b24a", + "Kelly", + "32519 Davis Loop Apt. 089" + ], + [ + "929d9624-96fc-4cc9-9c60-0b5b494c4f55", + "06a31b40-7137-404f-aac5-68ab53651346", + "Steven", + "0946 Willis Throughway Apt. 244" + ], + [ + "e2d91bc9-5078-416a-907a-0cfb800dcfc3", + "d8f1357f-07b9-40a6-978a-55d3d70e1a70", + "Robert", + "52348 David Passage Apt. 761" + ], + [ + "427d7182-ad8a-4f28-87a1-d68c52ea9ae2", + "d3de8dc2-9f7f-44c4-85b8-6ccb8e55161c", + "David", + "73453 Jason Burg Suite 848" + ], + [ + "afff8dd8-ec0b-4999-9b26-0d7da77f087f", + "ad016378-9258-430d-a980-9b650dabd251", + "Sarah", + "28112 Aaron Falls" + ], + [ + "950e15b1-632f-4913-a24f-a6d22602d464", + "00babad4-7dc6-4b64-a5a0-237e64d7e981", + "Cassandra", + "083 Moore Flat Suite 646" + ], + [ + "8fc9225f-a8d1-4099-af68-1f13da7c62f6", + "1f042c7d-9bf9-4665-9414-65618cf80147", + "Daniel", + "3783 Flores Route" + ], + [ + "aa578c85-d5fc-43e8-80e0-ad65ad9bfba5", + "a0c9eeac-fd9c-49e7-8504-326c42925d79", + "Benjamin", + "521 Dyer Shoal Suite 145" + ] + ] + }, + "databaseSchema": { + "id": "d7be1e2c-b3dc-11ec-b909-0242ac120002", + "type": "databaseSchema", + "name": "sample_data.ecommerce_db.shopify", + "description": "This **mock** Schema contains tables related to shopify sales and orders with related dimension tables.", + "href": "http://localhost:8585/api/v1/databaseSchemas/d7be1e2c-b3dc-11ec-b909-0242ac120002" + }, + "sourceUrl": "http://localhost:8080/dim_location" + }, + { + "name": "dim.product", + "description": "This dimension table contains information about each of the products in your store. This table contains one row per product. This table reflects the current state of products in your Shopify admin.", + "version": 0.1, + "updatedAt": 1638354087567, + "updatedBy": "anonymous", + "href": "http://localhost:8585/api/v1/tables/f888bde6-ce08-42c3-96aa-1d726e248930", + "tableType": "Regular", + "schemaDefinition": "CREATE TABLE dim.produc(product_id NUMERIC PRIMARY KEY, shop_id NUMERIC)", + "columns": [ + { + "name": "product_id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Unique identifier for the product. This column is the primary key for this table.", + "tags": [], + "constraint": "PRIMARY_KEY", + "ordinalPosition": 1 + }, + { + "name": "shop_id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "ID of the store. This column is a foreign key reference to the shop_id column in the dim_shop table.", + "tags": [], + "ordinalPosition": 2 + }, + { + "name": "title", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "Name of the product.", + "tags": [], + "ordinalPosition": 3 + }, + { + "name": "vendor", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "Name of the manufacturer, wholesaler, or other vendor of the product.", + "tags": [], + "ordinalPosition": 4 + }, + { + "name": "created_at", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Date (ISO 8601) and time (UTC) when the product was added to the store. The format is YYYY-MM-DD HH:mm:ss (for example, 2016-02-05 17:04:01).", + "tags": [], + "ordinalPosition": 5 + }, + { + "name": "deleted_at", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Date (ISO 8601) and time (UTC) when the product was deleted. The format is YYYY-MM-DD HH:mm:ss (for example, 2016-02-05 17:04:01).", + "tags": [], + "ordinalPosition": 6 + } + ], + "database": { + "id": "50da1ff8-4e1d-4967-8931-45edbf4dd908", + "type": "database", + "name": "sample_data.ecommerce_db", + "description": "This **mock** database contains tables related to shopify sales and orders with related dimension tables.", + "href": "http://localhost:8585/api/v1/databases/50da1ff8-4e1d-4967-8931-45edbf4dd908" + }, + "tags": [], + "usageSummary": { + "dailyStats": { + "count": 130, + "percentileRank": 55 + }, + "weeklyStats": { + "count": 130, + "percentileRank": 55 + }, + "monthlyStats": { + "count": 130, + "percentileRank": 55 + }, + "date": "2021-12-01" + }, + "followers": [], + "joins": { + "startDate": "2021-11-01", + "dayCount": 30, + "columnJoins": [ + { + "columnName": "shop_id", + "joinedWith": [ + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.shop\".shop_id", + "joinCount": 5 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.product\".product_id", + "joinCount": 5 + } + ] + }, + { + "columnName": "product_id", + "joinedWith": [ + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.shop\".shop_id", + "joinCount": 5 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim.product.variant:product_id", + "joinCount": 5 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim.product.variant:shop_id", + "joinCount": 5 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.api_client_id", + "joinCount": 40 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.billing_address_id", + "joinCount": 40 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.customer_id", + "joinCount": 40 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.location_id", + "joinCount": 40 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.order_id", + "joinCount": 40 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.product_id", + "joinCount": 40 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.product_variant_id", + "joinCount": 40 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.shipping_address_id", + "joinCount": 40 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.shop_id", + "joinCount": 40 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.user_id", + "joinCount": 40 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.product\".product_id", + "joinCount": 5 + } + ] + } + ] + }, + "sampleData": { + "columns": [ + "product_id", + "shop_id", + "title", + "vendor", + "created_at", + "deleted_at" + ], + "rows": [ + [ + "661f0de1-f6f0-4877-a1e3-2a157fbc9706", + "a8420c5d-0692-40b7-a80f-735ed92966e3", + "See attention that.", + "College two phone.", + 1391919218, + 809884763 + ], + [ + "b8717275-3dcd-4307-8566-3f76908f974e", + "df2a5c89-8036-4b35-94cc-eb18f502c106", + "Because week.", + "Responsibility sign.", + 539679338, + 1342567968 + ], + [ + "175c0dbd-2395-489a-aca2-fcfd41630b7e", + "2120473c-cc9b-4664-ba3a-29c3a612f7c9", + "Into here cover.", + "Short direction.", + 1143055098, + 13723803 + ], + [ + "95dd8eee-ec2e-4158-93a4-ded484e7323e", + "9e6eb722-2bcc-4966-b938-5c628f9e2b9f", + "Suffer way store.", + "Become near could.", + 107378074, + 688928881 + ], + [ + "e9058b4b-0850-41d3-9203-1e80f9e804a6", + "d2a4cb89-c67a-4793-bfe8-b430a3730f3d", + "While ever no.", + "True perhaps rate.", + 463349038, + 1128306091 + ], + [ + "d06536b2-96f7-4595-a689-7731b0e54990", + "fc0e942f-994d-4295-845c-25b718780175", + "Wear term stage.", + "Significant dream.", + 1201296348, + 614007941 + ], + [ + "6b769531-2e42-4d5e-9368-9254664719b4", + "2d4cd470-f705-4d6d-8163-bca5f246c094", + "Black land worry.", + "Tonight care agent.", + 501155544, + 1484839133 + ], + [ + "4de2cbe8-60fa-46c0-8417-0c8ba1bf374b", + "a710d09e-f92b-4644-84ac-1d2440818ff7", + "Southern probably.", + "Loss politics.", + 1156222784, + 578690595 + ], + [ + "534e7079-373a-4999-8d28-cfc4987785bb", + "b7f7fb4a-554f-494a-a7a7-e88d60567e63", + "Nature eight catch.", + "American serve bad.", + 26607643, + 1238027743 + ], + [ + "091d5a67-0fad-4e3c-886a-f273a7020c5c", + "3462666d-cc0a-4e94-af6e-977fa5ab0b1a", + "South even.", + "Debate sure many.", + 1407695353, + 872139355 + ], + [ + "7e908943-4b1c-465d-9af3-043deab5a2cb", + "ec0aa48a-ff0c-405f-9c6d-b58c0a7be5fc", + "Security hot.", + "Whether agree.", + 23871212, + 1625000067 + ], + [ + "33427615-c5f8-4241-a8da-f005a6cf98a4", + "99dec98d-0da8-43a7-bc53-1eca30aea55c", + "Though economic.", + "Television tough.", + 1298483856, + 1188769012 + ], + [ + "ad4fed03-5669-4d48-ae4b-129191e8cbbb", + "def509c7-ebc2-4f0c-85ee-a658936d37f5", + "Single everything.", + "Road whom personal.", + 1306130907, + 1335422105 + ], + [ + "56a85347-a5a3-4692-8deb-cade720b949f", + "daee7db1-a517-4bd1-93d7-5b941337b8c1", + "Hope ok series.", + "Lead figure son.", + 174205637, + 469043529 + ], + [ + "4dfaf0aa-2c7d-43b0-9754-353d0e98ba8e", + "da2f1f64-fc55-435f-9e34-8a2d1d76af5a", + "Surface fight.", + "Choose former move.", + 655601704, + 1565914645 + ], + [ + "ead2bfa1-3566-49e6-a7f2-e87b395d9b2c", + "d23aff7d-9b54-4489-af0f-5e7145ced405", + "Give thing way mind.", + "Always culture.", + 1366107704, + 546920841 + ], + [ + "e6d0fb26-8aff-4b1e-8f79-6d23401101e1", + "e1a86394-9a31-47ed-ad12-c1ba7e04cc01", + "Phone movement.", + "Hot suffer nothing.", + 597512529, + 1463830519 + ], + [ + "e77acb90-64d1-4e80-8fcd-e42aaa6142b6", + "1f13b491-76cb-4c85-a640-3bcc9e13001b", + "Special Mrs house.", + "Practice tonight.", + 169901236, + 31279141 + ], + [ + "50d9a630-09ee-479b-af64-4a9f972163a5", + "491f230e-da6f-489a-b5ce-e82a3c8618e7", + "His since meeting.", + "Game concern.", + 1255723873, + 733960969 + ], + [ + "ad7a01ae-7180-4c60-91ba-5cd69041c324", + "9b60517e-afe3-403d-8de0-708ed334b18c", + "Vote key full look.", + "Source answer issue.", + 649655884, + 1199940762 + ], + [ + "b7bd0a2b-eb40-4ca8-b4be-62a9babf8778", + "e6dc1566-82ef-4084-84c3-fd75140fdc8e", + "There until indeed.", + "Purpose magazine.", + 1107111218, + 1198036826 + ], + [ + "8bd07567-1218-4c34-a35b-1fc65a4688f6", + "138d9082-c7d7-49a6-8ec4-0dab7f175c26", + "Explain evening.", + "Which notice yes.", + 188387496, + 1128149432 + ], + [ + "3f5906b6-24d8-4f8d-ab17-4f49ecc5896e", + "8e5ec9ca-56b2-4e69-b5b4-cc1e16efbfff", + "Surface fine catch.", + "Nor make religious.", + 101727784, + 259041292 + ], + [ + "6f0e8f34-20f8-41c4-85bb-a6fd5de0ffe4", + "3137e26b-008c-4c7f-9d56-a203f54d3157", + "Law run moment deal.", + "Race go tough.", + 1310468732, + 1087135074 + ], + [ + "79ab2bd9-76e2-4e9e-b140-33674a44e93d", + "b9953a51-0e05-4a8c-8c6f-53b55941d806", + "Between over center.", + "Shoulder could.", + 1317233677, + 1387172028 + ] + ] + }, + "databaseSchema": { + "id": "d7be1e2c-b3dc-11ec-b909-0242ac120002", + "type": "databaseSchema", + "name": "sample_data.ecommerce_db.shopify", + "description": "This **mock** Schema contains tables related to shopify sales and orders with related dimension tables.", + "href": "http://localhost:8585/api/v1/databaseSchemas/d7be1e2c-b3dc-11ec-b909-0242ac120002" + }, + "sourceUrl": "http://localhost:8080/dim.product" + }, + { + "name": "dim.product.variant", + "description": "This dimension table contains current information about each of the product variants in your store. This table contains one row per product variant.", + "version": 0.1, + "updatedAt": 1638354087601, + "updatedBy": "anonymous", + "href": "http://localhost:8585/api/v1/tables/c71690a3-0764-4791-a1d3-0c47f1e0c2ab", + "tableType": "Regular", + "schemaDefinition": "CREATE TABLE dim.product.variant(product_variant_id NUMERIC PRIMARY KEY, shop_id NUMERIC)", + "columns": [ + { + "name": "product_variant_id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "The ID of the product variant. This column is the primary key for this table.", + "tags": [], + "constraint": "PRIMARY_KEY", + "ordinalPosition": 1 + }, + { + "name": "product_id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "The ID of the product. This column is a foreign key reference to the product_id column in dim.product table.", + "tags": [], + "ordinalPosition": 2 + }, + { + "name": "shop_id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "The ID of the store. This column is a foreign key reference to the shop_id column in the dim_shop table.", + "tags": [], + "ordinalPosition": 3 + }, + { + "name": "title", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "The title of the product variant.", + "tags": [], + "ordinalPosition": 4 + }, + { + "name": "barcode", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "The Barcode, UPC, or ISBN number of the product variant.", + "tags": [], + "ordinalPosition": 5 + }, + { + "name": "sku", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "The SKU of the product variant.", + "tags": [], + "ordinalPosition": 6 + }, + { + "name": "price", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "The price of the product variant, in your store's currency.", + "tags": [], + "ordinalPosition": 7 + }, + { + "name": "grams", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Number of grams that the product variant weighs.", + "tags": [], + "ordinalPosition": 8 + }, + { + "name": "created_at", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "The date (ISO 8601) and time (UTC) when the product variant was added to the store. The format is YYYY-MM-DD HH:mm:ss (for example, 2016-02-05 17:04:01).", + "tags": [], + "ordinalPosition": 9 + }, + { + "name": "deleted_at", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "The date (ISO 8601) and time (UTC) when the product variant was deleted. The format is YYYY-MM-DD HH:mm:ss (for example, 2016-02-05 17:04:01).", + "tags": [], + "ordinalPosition": 10 + } + ], + "database": { + "id": "50da1ff8-4e1d-4967-8931-45edbf4dd908", + "type": "database", + "name": "sample_data.ecommerce_db", + "description": "This **mock** database contains tables related to shopify sales and orders with related dimension tables.", + "href": "http://localhost:8585/api/v1/databases/50da1ff8-4e1d-4967-8931-45edbf4dd908" + }, + "tags": [], + "usageSummary": { + "dailyStats": { + "count": 35, + "percentileRank": 9 + }, + "weeklyStats": { + "count": 35, + "percentileRank": 9 + }, + "monthlyStats": { + "count": 35, + "percentileRank": 9 + }, + "date": "2021-12-01" + }, + "followers": [], + "joins": { + "startDate": "2021-11-01", + "dayCount": 30, + "columnJoins": [ + { + "columnName": "shop_id", + "joinedWith": [ + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.shop\".shop_id", + "joinCount": 5 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.product\".product_id", + "joinCount": 5 + } + ] + }, + { + "columnName": "product_id", + "joinedWith": [ + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.shop\".shop_id", + "joinCount": 5 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.product\".product_id", + "joinCount": 5 + } + ] + } + ] + }, + "sampleData": { + "columns": [ + "product_variant_id", + "product_id", + "shop_id", + "title", + "barcode", + "sku", + "price", + "grams", + "created_at", + "deleted_at" + ], + "rows": [ + [ + "f8e574f1-7b65-4525-8e32-c29b7aff7825", + "8b7630c3-158f-42d9-9a52-61be4d01672b", + "a851ac9c-6e2e-4fff-a27c-2affc81ce9c5", + "News operation down.", + "7936417038073", + "Price less south.", + "$250.48", + 7066, + 427075190, + 1206889650 + ], + [ + "279a3ed7-0417-4254-bba5-656f3e05361f", + "acb37a80-466f-4e8c-bc01-3e0f2b40e746", + "b09da22d-ee1d-480a-acdf-946e6868b7c2", + "Job kid what boy.", + "8966399070630", + "Ball should.", + "$400.90", + 6511, + 1456734040, + 1291946721 + ], + [ + "0aa55c68-adb5-4f40-b396-6dc3487d29d0", + "379c1f5f-2a1d-4f0d-a914-f5f7ebe68a5e", + "5269402e-f7d4-4a7d-a9e8-9fccabcd623c", + "Source experience.", + "9957618409866", + "Beat water him open.", + "$4,171.77", + 8113, + 405809724, + 1007479831 + ], + [ + "9eb91380-94d8-479e-a839-9233c3571cbe", + "70653dc4-45d7-4c8a-af4a-7c1d2c1c1abb", + "3a124e0e-ce60-4b15-8285-494bbbee4456", + "Other that read.", + "3255433181902", + "Section offer fund.", + "$5.43", + 1552, + 530384818, + 1508396248 + ], + [ + "3dfca165-e6e7-434b-9d53-0212731d993f", + "8d03ba68-3d35-40dc-9393-3a0fc17919f4", + "092c0a50-4800-4f46-bcf7-7288e0fa30f4", + "Recent tax explain.", + "2624033252502", + "Likely to little.", + "$7,887.44", + 167, + 525380879, + 290044417 + ], + [ + "e578f327-6fbe-476b-8252-8c764724f3b6", + "504f6592-834f-4081-87f1-8c9eb7eef2cc", + "79b8cad2-34eb-4fa6-85b2-7d872089365e", + "Really around.", + "2099062423696", + "Unit water minute.", + "$17,128.81", + 19, + 214772399, + 899266403 + ], + [ + "23306430-bb25-46fc-b9fa-c9daccc2b074", + "82e0b6a1-b735-4554-917d-eecc2d974c09", + "036e7fcd-fb1e-4e78-8160-6e274e06e906", + "Organization.", + "4478308756466", + "Leave after.", + "$0.52", + 7568, + 1075317167, + 420696680 + ], + [ + "85328c0e-4849-4182-990e-c2f240ceea9f", + "3552ff0e-d990-4fe5-808c-5fe598ba7c13", + "ae845257-c942-4485-8e3b-4db656f55515", + "Think Republican.", + "0413649746299", + "Democratic both.", + "$2.66", + 5756, + 1387396840, + 632760573 + ], + [ + "ff71be9d-d6c3-45f1-87ce-74ad1eb453aa", + "954a3197-cee9-41ba-bbca-e8ee8ad6dacb", + "db76bbdc-058e-43f0-9ec1-790f19836ed8", + "Trade blood cost.", + "7569118847073", + "Baby per east read.", + "$933.46", + 8595, + 730344114, + 378278379 + ], + [ + "06f705ad-0555-4e81-83d0-28d6132659f6", + "3a079e5d-4b18-44ce-9dc1-46c4b02524a0", + "34e8076a-95a2-4bc5-84e2-14a774136e2e", + "Yes they leg book.", + "7791562905287", + "Speak like.", + "$644.92", + 1743, + 63503825, + 151268813 + ], + [ + "93af182a-80d8-445c-90f4-a9e912e8ecc3", + "097113de-f75e-4965-bf0c-0bbfc8156de7", + "fa4a3b7a-949e-4048-8107-fadf65fbc8d3", + "Another present.", + "8676340278793", + "Total increase.", + "$801.86", + 8378, + 151451418, + 164805548 + ], + [ + "8a7dcb40-6ec5-4d74-91bd-395ec47b7ae1", + "d7f096c3-bead-456d-b158-d2a7a3ad5941", + "f814db8b-c4f5-4dff-8d52-ece9d8386a66", + "Difference attorney.", + "1331491143549", + "Figure stock cell.", + "$666.04", + 8540, + 1202149330, + 1483850114 + ], + [ + "138d8552-264a-4945-83ea-434b141f98c5", + "bf119bc4-d0ca-4e09-a0eb-884300c0310a", + "534c5e1f-78e3-4730-b0de-ba483efe6c07", + "Itself consumer.", + "1491282862155", + "Official interview.", + "$660.07", + 2615, + 485479324, + 294641735 + ], + [ + "c5937576-3bd4-48e6-b1ad-a817ca17629c", + "3789ae30-ae61-4d83-9b3d-00d916802b9e", + "7b1a3920-ba36-438c-ad66-a90866d9db29", + "Piece member thing.", + "5597020850302", + "Determine cold.", + "$494.87", + 1167, + 300864344, + 238901819 + ], + [ + "07c3af7a-f99a-438a-b28d-ed145b260f24", + "595a87a1-3256-4d27-856e-ea644f3d0273", + "980156c7-8d34-4943-8dd1-6264b10608a3", + "Support leg star.", + "2221719473468", + "Little population.", + "$9,924.11", + 6756, + 1050274923, + 1332654848 + ], + [ + "7b979ee3-8869-41e5-bd58-4bab0370a4f8", + "57ff5bbf-20af-4590-a224-344be4bb733f", + "47160f11-9c84-42a5-b0de-b073951188aa", + "Style six itself.", + "1692328633580", + "Sing place board.", + "$8,404.62", + 4933, + 919655628, + 1396988348 + ], + [ + "965c3643-53df-4938-9b18-094e64839daa", + "f46d2000-e339-4e26-b239-8c0850bbdb52", + "34da7b4e-eaa7-4a5e-99c6-4634aad5a57e", + "Measure spring.", + "4630255797576", + "Trade last reality.", + "$74.12", + 2928, + 1115674851, + 1415470840 + ], + [ + "3a862535-95f9-422d-a4d0-1713c861e2f2", + "dea1a3bc-a0bd-4704-9582-aa83b41947b7", + "8adc8335-9fe0-4f25-968e-f4b87283761e", + "Team especially Mrs.", + "9325007455648", + "Lead arm grow.", + "$24,699.20", + 8020, + 735668150, + 566344182 + ], + [ + "0c56876d-33a4-4c31-bdca-474bd73374dd", + "22b793d0-d488-4e38-a1c2-42f6ad97cbd8", + "34c2f96e-fd95-45c6-a108-9e7c2b4bc76d", + "Our table theory.", + "8912237142939", + "Better traditional.", + "$85,954.64", + 1302, + 40289469, + 1370650300 + ], + [ + "f8b93294-d943-4f56-a646-547ddeda1501", + "dd8b5ffd-8fe7-4198-96ed-112c358013df", + "c1aa38b0-cb2e-48b3-8900-c0d8f398d753", + "Hair little.", + "4129099981024", + "One wish which.", + "$2.78", + 1063, + 1070717512, + 64944778 + ], + [ + "4dccb731-dce6-4caa-aea4-ad2eb337882e", + "193dd38b-a12c-4188-beb8-7a32ddab4b69", + "bbbfa46f-d5cb-421b-aa89-2dc33ccfedc4", + "Want see draw hot.", + "4039135387249", + "Back security.", + "$82.11", + 7892, + 588398263, + 1577016457 + ], + [ + "223e7377-8a1c-4fe0-9924-af98daa5d1ae", + "98e3fbdb-17d3-466a-af1b-56540e25e84e", + "5b39d7f4-927a-4c51-84c2-6e836b987f4a", + "Result parent.", + "5070705235767", + "City build manager.", + "$35.85", + 187, + 122536199, + 452023822 + ], + [ + "49abe75f-71e1-4d63-8553-62d52b1c424f", + "b7884d13-707f-4f22-a6be-339bdbaa0b4a", + "3a66e445-d681-49c5-bf1f-4e8658f18dfd", + "Education without.", + "1768026006725", + "Exist office green.", + "$7,620.33", + 3179, + 79366133, + 97513892 + ], + [ + "733603db-fdfc-4a9b-8cc8-243152340020", + "46b2dfb2-a474-4658-9f90-2ecbb69b8344", + "ffc7cf83-93e4-45ed-8b51-4eca82f0d28c", + "Camera population.", + "2633598136110", + "Meet health land.", + "$35.94", + 204, + 1574347690, + 935455382 + ], + [ + "fdd8ca54-353c-419d-a9e6-49d5ba080609", + "c39b8a09-b490-4610-b49e-9fca2418641e", + "0839292d-622d-4ede-8b9e-7b03753f64e8", + "Increase moment.", + "2188578645422", + "Hold popular always.", + "$6,830.85", + 8791, + 1334803113, + 532964825 + ] + ] + }, + "databaseSchema": { + "id": "d7be1e2c-b3dc-11ec-b909-0242ac120002", + "type": "databaseSchema", + "name": "sample_data.ecommerce_db.shopify", + "description": "This **mock** Schema contains tables related to shopify sales and orders with related dimension tables.", + "href": "http://localhost:8585/api/v1/databaseSchemas/d7be1e2c-b3dc-11ec-b909-0242ac120002" + }, + "sourceUrl": "http://localhost:8080/dim.product.variant" + }, + { + "name": "dim.shop", + "description": "This dimension table contains online shop information. This table contains one shop per row.", + "version": 0.1, + "updatedAt": 1638354087633, + "updatedBy": "anonymous", + "href": "http://localhost:8585/api/v1/tables/bf6a7486-617d-474c-8d40-0f3735cc9272", + "tableType": "Regular", + "columns": [ + { + "name": "shop_id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Unique identifier for the store. This column is the primary key for this table.", + "tags": [], + "constraint": "PRIMARY_KEY", + "ordinalPosition": 1 + }, + { + "name": "name", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "Name of your store.", + "tags": [], + "ordinalPosition": 2 + }, + { + "name": "domain", + "dataType": "VARCHAR", + "dataLength": 1000, + "dataTypeDisplay": "varchar", + "description": "Primary domain specified for your online store. Your primary domain is the one that your customers and search engines see. For example, www.mycompany.com.", + "tags": [], + "ordinalPosition": 3 + } + ], + "database": { + "id": "50da1ff8-4e1d-4967-8931-45edbf4dd908", + "type": "database", + "name": "sample_data.ecommerce_db", + "description": "This **mock** database contains tables related to shopify sales and orders with related dimension tables.", + "href": "http://localhost:8585/api/v1/databases/50da1ff8-4e1d-4967-8931-45edbf4dd908" + }, + "tags": [], + "usageSummary": { + "dailyStats": { + "count": 195, + "percentileRank": 82 + }, + "weeklyStats": { + "count": 195, + "percentileRank": 82 + }, + "monthlyStats": { + "count": 195, + "percentileRank": 82 + }, + "date": "2021-12-01" + }, + "followers": [], + "joins": { + "startDate": "2021-11-01", + "dayCount": 30, + "columnJoins": [ + { + "columnName": "shop_id", + "joinedWith": [ + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_staff.shop_id", + "joinCount": 35 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_staff.user_id", + "joinCount": 35 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.api_client_id", + "joinCount": 40 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.billing_address_id", + "joinCount": 40 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.customer_id", + "joinCount": 40 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.location_id", + "joinCount": 40 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.order_id", + "joinCount": 40 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.product_id", + "joinCount": 40 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.product_variant_id", + "joinCount": 40 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.shipping_address_id", + "joinCount": 40 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.shop_id", + "joinCount": 40 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.user_id", + "joinCount": 40 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_address.shop_id", + "joinCount": 35 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_customer.customer_id", + "joinCount": 50 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_customer.shop_id", + "joinCount": 50 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim.product_variant:product_id", + "joinCount": 5 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim.product_variant:shop_id", + "joinCount": 5 + } + ] + } + ] + }, + "sampleData": { + "columns": [ + "shop_id", + "name", + "domain" + ], + "rows": [ + [ + "3e828749-345b-4ca6-8e3f-c790eacd102b", + "Thomas", + "Less father move." + ], + [ + "e5abb88b-96e0-4e18-818a-72e81150efbb", + "Hunter", + "Father last." + ], + [ + "f3c2e753-ed20-44f9-8b33-cf68b1390daf", + "Jennifer", + "Modern finally." + ], + [ + "f74574d0-728e-494d-8984-d28d40d64e8a", + "David", + "Type consider clear." + ], + [ + "bc417736-6bc9-49fe-86a7-ef4a85caabdf", + "Megan", + "Education debate." + ], + [ + "7db25894-ab37-4d1c-b59f-6fb3205970d9", + "Stacy", + "News man deal." + ], + [ + "41e0f0e0-4117-42d0-b513-7b15570a1517", + "Andrew", + "Study three there." + ], + [ + "e3ccfec5-fd3e-4f34-a544-b9c56619ba8d", + "Michael", + "Authority interview." + ], + [ + "88f55d3c-f3f1-460e-bbca-123fd54bf69e", + "Willie", + "Wall firm agent say." + ], + [ + "e242ba13-86b5-4a4b-98ae-c693e852588b", + "Brooke", + "Every recent father." + ], + [ + "05549f9c-2338-4d9a-b88a-8ad04161c0ba", + "Sarah", + "Medical then end." + ], + [ + "197b9cbe-0082-4e55-8f25-bf08f12f177d", + "Jamie", + "Rest sound us." + ], + [ + "48034cc4-1946-46f9-bba4-d50ebcee2e23", + "Mark", + "Left necessary move." + ], + [ + "84758913-2c94-46fd-8813-b165aee87b64", + "Jeffrey", + "Report heavy for." + ], + [ + "c14e1dbf-dbe5-4123-932b-c3c668020696", + "Jonathan", + "Relationship simple." + ], + [ + "17648e55-b162-4fc8-98fc-5e6f1f98b129", + "Stacey", + "Significant nation." + ], + [ + "0c22e11c-2548-4985-83e5-8f2a26171393", + "Thomas", + "Than woman whose." + ], + [ + "495d7dc2-7a3b-4fe2-a48d-c0b085614345", + "Julie", + "Beautiful fall deep." + ], + [ + "4cc379f7-5b57-4b3f-a540-826acf5177e9", + "Kimberly", + "Near know various." + ], + [ + "8849b853-3316-40d0-bc4e-67ce79859d0b", + "April", + "Task toward no." + ], + [ + "29c1f8fa-2cbe-499a-8045-3e912e2a8528", + "David", + "Leader simply agent." + ], + [ + "5d5455ab-6302-4028-b26d-0631ec08a5af", + "Vanessa", + "Say ten ago." + ], + [ + "bb270f1d-20e0-44d3-98e0-ec765273e037", + "Selena", + "Like firm man find." + ], + [ + "dff27b59-2ee5-49ea-873d-f7c46164c05c", + "Stephanie", + "Available involve." + ], + [ + "d94414b7-5bba-4a52-94af-c778e3c1a5b5", + "Nicholas", + "Several west." + ] + ] + }, + "databaseSchema": { + "id": "d7be1e2c-b3dc-11ec-b909-0242ac120002", + "type": "databaseSchema", + "name": "sample_data.ecommerce_db.shopify", + "description": "This **mock** Schema contains tables related to shopify sales and orders with related dimension tables.", + "href": "http://localhost:8585/api/v1/databaseSchemas/d7be1e2c-b3dc-11ec-b909-0242ac120002" + }, + "sourceUrl": "http://localhost:8080/dim.shop" + }, + { + "name": "dim(shop)", + "description": "This dimension table contains online shop information with weird characters.", + "version": 0.1, + "updatedAt": 1638354087633, + "updatedBy": "anonymous", + "tableType": "Regular", + "columns": [ + { + "name": "shop(id)", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Unique identifier for the store. This column is the primary key for this table.", + "tags": [], + "constraint": "PRIMARY_KEY", + "ordinalPosition": 1 + }, + { + "name": "shop(name)", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "Name of your store.", + "tags": [], + "ordinalPosition": 2 + }, + { + "name": "shop(domain)", + "dataType": "VARCHAR", + "dataLength": 1000, + "dataTypeDisplay": "varchar", + "description": "Primary domain specified for your online store. Your primary domain is the one that your customers and search engines see. For example, www.mycompany.com.", + "tags": [], + "ordinalPosition": 3 + } + ], + "database": { + "id": "50da1ff8-4e1d-4967-8931-45edbf4dd908", + "type": "database", + "name": "sample_data.ecommerce_db", + "description": "This **mock** database contains tables related to shopify sales and orders with related dimension tables.", + "href": "http://localhost:8585/api/v1/databases/50da1ff8-4e1d-4967-8931-45edbf4dd908" + }, + "databaseSchema": { + "id": "d7be1e2c-b3dc-11ec-b909-0242ac120002", + "type": "databaseSchema", + "name": "sample_data.ecommerce_db.shopify", + "description": "This **mock** Schema contains tables related to shopify sales and orders with related dimension tables.", + "href": "http://localhost:8585/api/v1/databaseSchemas/d7be1e2c-b3dc-11ec-b909-0242ac120002" + }, + "tags": [], + "sourceUrl": "http://localhost:8080/dim(shop)" + }, + { + "name": "\u043c\u0430\u0433\u0430\u0437\u0438\u043d", + "description": "This dimension table contains online shop information with weird characters.", + "version": 0.1, + "updatedAt": 1638354087633, + "updatedBy": "anonymous", + "tableType": "Regular", + "columns": [ + { + "name": "\u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "\u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440", + "tags": [], + "constraint": "PRIMARY_KEY", + "ordinalPosition": 1 + }, + { + "name": "\u0438\u043c\u044f", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "\u0438\u043c\u044f", + "tags": [], + "ordinalPosition": 2 + }, + { + "name": "\u0434\u043e\u043c\u0435\u043d", + "dataType": "VARCHAR", + "dataLength": 1000, + "dataTypeDisplay": "varchar", + "description": "\u0434\u043e\u043c\u0435\u043d", + "tags": [], + "ordinalPosition": 3 + } + ], + "database": { + "id": "50da1ff8-4e1d-4967-8931-45edbf4dd908", + "type": "database", + "name": "sample_data.ecommerce_db", + "description": "This **mock** database contains tables related to shopify sales and orders with related dimension tables.", + "href": "http://localhost:8585/api/v1/databases/50da1ff8-4e1d-4967-8931-45edbf4dd908" + }, + "databaseSchema": { + "id": "d7be1e2c-b3dc-11ec-b909-0242ac120002", + "type": "databaseSchema", + "name": "sample_data.ecommerce_db.shopify", + "description": "This **mock** Schema contains tables related to shopify sales and orders with related dimension tables.", + "href": "http://localhost:8585/api/v1/databaseSchemas/d7be1e2c-b3dc-11ec-b909-0242ac120002" + }, + "tags": [], + "sourceUrl": "http://localhost:8080/\\u043c\\u0430\\u0433\\u0430\\u0437\\u0438\\u043d" + }, + { + "name": "dim_staff", + "description": "This dimension table contains information about the staff accounts in the store. It contains one row per staff account. Use this table to generate a list of your staff accounts, or join it with the sales, API clients and locations tables to analyze staff performance at Shopify POS locations.", + "version": 0.1, + "updatedAt": 1638354087663, + "updatedBy": "anonymous", + "href": "http://localhost:8585/api/v1/tables/7a0483c9-68c8-4faa-a553-a353e135aeff", + "tableType": "Regular", + "columns": [ + { + "name": "user_id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Unique identifier for the user of your Shopify POS or your Shopify admin.", + "tags": [], + "constraint": "PRIMARY_KEY", + "ordinalPosition": 1 + }, + { + "name": "shop_id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "The ID of the store. This column is a foreign key reference to the shop_id column in the dim.shop table.", + "tags": [], + "ordinalPosition": 2 + }, + { + "name": "first_name", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "First name of the staff member.", + "tags": [], + "ordinalPosition": 3 + }, + { + "name": "last_name", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "Last name of the staff member.", + "tags": [], + "ordinalPosition": 4 + }, + { + "name": "email", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "Email address of the staff member.", + "tags": [], + "ordinalPosition": 5 + } + ], + "database": { + "id": "50da1ff8-4e1d-4967-8931-45edbf4dd908", + "type": "database", + "name": "sample_data.ecommerce_db", + "description": "This **mock** database contains tables related to shopify sales and orders with related dimension tables.", + "href": "http://localhost:8585/api/v1/databases/50da1ff8-4e1d-4967-8931-45edbf4dd908" + }, + "tags": [], + "usageSummary": { + "dailyStats": { + "count": 75, + "percentileRank": 18 + }, + "weeklyStats": { + "count": 75, + "percentileRank": 18 + }, + "monthlyStats": { + "count": 75, + "percentileRank": 18 + }, + "date": "2021-12-01" + }, + "followers": [], + "joins": { + "startDate": "2021-11-01", + "dayCount": 30, + "columnJoins": [ + { + "columnName": "shop_id", + "joinedWith": [ + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_order.user_id", + "joinCount": 20 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.user_id", + "joinCount": 20 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim.shop:shop_id", + "joinCount": 35 + } + ] + }, + { + "columnName": "user_id", + "joinedWith": [ + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_order.api_client_id", + "joinCount": 20 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_order.customer_id", + "joinCount": 20 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_order.order_id", + "joinCount": 20 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_order.shop_id", + "joinCount": 20 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_order.user_id", + "joinCount": 20 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.api_client_id", + "joinCount": 20 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.billing_address_id", + "joinCount": 20 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.customer_id", + "joinCount": 20 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.location_id", + "joinCount": 20 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.order_id", + "joinCount": 20 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.product_id", + "joinCount": 20 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.product_variant_id", + "joinCount": 20 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.shipping_address_id", + "joinCount": 20 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.shop_id", + "joinCount": 20 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.user_id", + "joinCount": 20 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.shop\".shop_id", + "joinCount": 35 + } + ] + } + ] + }, + "sampleData": { + "columns": [ + "user_id", + "shop_id", + "first_name", + "last_name", + "email" + ], + "rows": [ + [ + "5a115c0e-f391-4710-a95f-0ad88ccc7f88", + "af67bd87-537f-49be-8de8-2909b0dccfee", + "Raymond", + "Nicholas", + "Say peace peace." + ], + [ + "1071d5ae-5f8d-4127-a733-99dd11de25d2", + "1d4e87a3-6beb-48e4-a878-c03a75f57875", + "Elizabeth", + "James", + "Program rather go." + ], + [ + "46beb027-cf83-4819-a78f-fe1d159d2f89", + "5dc337ae-5f73-4873-bd8e-4a88ce60194e", + "Jill", + "Peggy", + "Often his fund page." + ], + [ + "bcb6ef92-01df-4936-a7dd-a2aed7a19ed0", + "088cd1f4-5bb1-455d-a764-c515fe5d3d2b", + "Juan", + "Mark", + "Control contain." + ], + [ + "7b0d1d34-0268-490f-9458-746e9af720c1", + "4c609b04-c16d-47e2-9648-160da772ed28", + "Matthew", + "Hunter", + "Him TV history." + ], + [ + "550bcf02-ef57-4c14-b02c-c45c84dbc144", + "fbb3857e-e3a3-4db0-a403-927a4905177e", + "Donald", + "Heather", + "Writer detail often." + ], + [ + "14fd206d-bf3f-4011-883b-56c999ee7bfe", + "48177436-2bb0-43e4-a0a2-15c801b82db7", + "Craig", + "Kristie", + "Might organization." + ], + [ + "20c22271-e1a7-4076-a1ee-87dc421ef767", + "1d4ec979-f837-4685-a5aa-cdacae76b8b4", + "Steven", + "Kenneth", + "Lead reveal but." + ], + [ + "d2806695-8993-4da3-8f6f-9f205a9f494c", + "d8aee504-e8e5-4ce7-bb7a-f99599c29db5", + "Sarah", + "Riley", + "Build statement." + ], + [ + "256faf2d-923c-4cb9-94ef-bb281c108588", + "6c39e01d-f762-4d08-a44c-c0bcb1c0bb75", + "Anita", + "Jeremy", + "Hospital long." + ], + [ + "7aa67031-4f01-43f8-9f5c-8fc2a85fb00d", + "3f707384-5ca1-442d-bfdb-1dd96df1b531", + "Manuel", + "Stephen", + "Address tend gas." + ], + [ + "edd0f656-2a72-4946-8049-afdbcb177ca4", + "0e323531-0ae3-4520-97f2-86fd4894af35", + "Jerry", + "Cody", + "Community wind." + ], + [ + "6472792d-49eb-4da6-b21c-e797b60c5842", + "ff89c994-8d01-431f-9e44-33ad84259edb", + "Jared", + "Kari", + "Sign medical color." + ], + [ + "3eabd386-6616-4ed0-8e34-40f49fd7a3bf", + "167885a2-2e71-4b26-976e-e4e99cb9f63d", + "Sandra", + "Jeffery", + "Bar know beyond." + ], + [ + "710b8fb2-ed25-4bf0-aee1-a8017a3f6b73", + "f69d5f7b-55dc-43d6-bb04-3c3fde491a2b", + "Randy", + "Samantha", + "Red matter measure." + ], + [ + "7cf8961e-2d83-4af8-ad87-b97db04289b6", + "ade9e289-d929-42de-8099-4da22dd9c3b2", + "Kevin", + "John", + "Manager seat hold." + ], + [ + "fd68c724-0b9b-4f4b-99d8-dadad426600c", + "7aa91f61-358e-46dd-ab7d-500859c61b6d", + "Austin", + "David", + "Be determine travel." + ], + [ + "77a81aa9-bc0b-4441-b680-cea2eb2a47a0", + "e93ef096-f856-43a9-b198-d1edbc7f2bab", + "Jeffrey", + "Kelly", + "Thought be light." + ], + [ + "1e847c44-493f-4bfc-b7d6-0a70e0c0c188", + "e514969c-6118-4a37-8e56-39e0820d5dc0", + "Kelly", + "Jacqueline", + "Page language tree." + ], + [ + "7786d7a8-c39a-4106-8cb5-b0e962c490a5", + "65ad391c-85ac-4a9c-8157-90276dfee419", + "Kimberly", + "Victoria", + "Environment simply." + ], + [ + "1c2cc040-cc10-4206-9a7f-c16bdcb2f345", + "458f2c22-b2a2-40f9-8cbc-d9ae24a4a904", + "Melanie", + "Christopher", + "Theory above yet." + ], + [ + "225bce46-ba8a-4cda-acbb-12a246e22d03", + "7d305f39-9a57-4df4-97d7-510aaf5084d1", + "Jeremy", + "Anthony", + "Condition report." + ], + [ + "4ce2b96a-4311-4499-864c-d065c1502054", + "246f1a6a-62e3-4068-b5b5-5b4c8e600832", + "Bruce", + "Shelby", + "Thank get shake." + ], + [ + "d2ffd834-e487-4afa-9c1a-ddd2191182cb", + "c45bee6f-df30-4966-97b7-14d9a1326fe4", + "Sean", + "Jennifer", + "Compare blood store." + ], + [ + "bf84f8d3-5140-4e38-9649-6e0998feefaf", + "64e750b8-7acf-4632-90fc-4c8e7a856651", + "Walter", + "Jessica", + "Nation medical to." + ] + ] + }, + "tableProfile": { + "timestamp": 1634366539, + "columnCount": 5, + "rowCount": 100, + "columnProfile": [ + { + "name": "user_id", + "uniqueCount": 100.0, + "uniqueProportion": 1.0, + "nullCount": 0.0, + "nullProportion": 0.0, + "sum": 5050, + "min": 1, + "max": 100, + "mean": 50.5, + "stddev": 28.86607004772212 + }, + { + "name": "shop_id", + "uniqueCount": 100.0, + "uniqueProportion": 1.0, + "nullCount": 0.0, + "nullProportion": 0.0, + "sum": 5050, + "min": 1, + "max": 100, + "mean": 50.5, + "stddev": 28.86607004772212 + }, + { + "name": "first_name", + "uniqueCount": 79.0, + "uniqueProportion": 0.79, + "nullCount": 1, + "nullProportion": 0.01, + "minLength": 5, + "maxLength": 19 + }, + { + "name": "last_name", + "uniqueCount": 100.0, + "uniqueProportion": 1.0, + "nullCount": 0, + "nullProportion": 0.0, + "minLength": 7, + "maxLength": 15 + }, + { + "name": "email", + "uniqueCount": 100.0, + "uniqueProportion": 1.0, + "nullCount": 0, + "nullProportion": 0.0, + "minLength": 12, + "maxLength": 30 + } + ] + }, + "databaseSchema": { + "id": "d7be1e2c-b3dc-11ec-b909-0242ac120002", + "type": "databaseSchema", + "name": "sample_data.ecommerce_db.shopify", + "description": "This **mock** Schema contains tables related to shopify sales and orders with related dimension tables.", + "href": "http://localhost:8585/api/v1/databaseSchemas/d7be1e2c-b3dc-11ec-b909-0242ac120002" + }, + "sourceUrl": "http://localhost:8080/dim_staff" + }, + { + "name": "fact_line_item_Lorem_ipsum_dolor_sit_amet_consectetur_adipiscing_elit_sed_do_eiusmod_tempor_incididunt_ut_labore_et_dolore_magna_aliqua_Ut_enim_ad_minim_veniam_quis_nostrud_exercitation_ullamco_laboris_nisi_ut_aliquip_ex_ea_commodo_consequat_Duis_aute_iru", + "fullyQualifiedName": "sample_data.shopify.fact_line_item_Lorem_ipsum_dolor_sit_amet_consectetur_adipiscing_elit_sed_do_eiusmod_tempor_incididunt_ut_labore_et_dolore_magna_aliqua_Ut_enim_ad_minim_veniam_quis_nostrud_exercitation_ullamco_laboris_nisi_ut_aliquip_ex_ea_commodo_consequat_Duis_aute_iru", + "description": "The fact table contains information about the line items in orders. Each row in the table is a line item in an order. It contains product and product variant details as they were at the time of the order. This table does not include information about returns. Join this table with the TODO fact_sales table to get the details of the product on the day it was sold. This data will match what appears on the order in your Shopify admin as well as the in the Sales reports.", + "version": 0.1, + "updatedAt": 1638354087696, + "updatedBy": "anonymous", + "href": "http://localhost:8585/api/v1/tables/ebb535b6-234a-477f-8713-b0bc7ff5897f", + "tableType": "Regular", + "columns": [ + { + "name": "line_item_id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "ID of the line item. This column is the primary key for the this table.", + "fullyQualifiedName": "sample_data.shopify.fact_line_item.line_item_id", + "tags": [], + "constraint": "PRIMARY_KEY", + "ordinalPosition": 1 + }, + { + "name": "billing_address_id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "fullyQualifiedName": "sample_data.shopify.fact_line_item.billing_address_id", + "tags": [], + "ordinalPosition": 2 + }, + { + "name": "order_id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "ID of the order. This column is a foreign key reference to the orders_id column in the fact_order table.", + "fullyQualifiedName": "sample_data.shopify.fact_line_item.order_id", + "tags": [], + "ordinalPosition": 3 + }, + { + "name": "product_id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "ID of the product ordered, unless the line item is for shipping costs (you can add custom items using a draft order). This column is a foreign key reference to the product_id column in the dim.product table.", + "fullyQualifiedName": "sample_data.shopify.fact_line_item.product_id", + "tags": [], + "ordinalPosition": 4 + }, + { + "name": "product_variant_id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "fullyQualifiedName": "sample_data.shopify.fact_line_item.product_variant_id", + "tags": [], + "ordinalPosition": 5 + }, + { + "name": "shop_id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "ID of the store. This column is a foreign key reference to the shop_id column in the dim_shop table.", + "fullyQualifiedName": "sample_data.shopify.fact_line_item.shop_id", + "tags": [], + "ordinalPosition": 6 + }, + { + "name": "name", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "Name of the line item. This name combines the product title and the variant title into the following format: product-title - variant-title. If there is no variant title, then the format is product-title. This column is the same as order.line_items.name\"in the Admin API.", + "fullyQualifiedName": "sample_data.shopify.fact_line_item.name", + "tags": [], + "ordinalPosition": 7 + }, + { + "name": "product_title", + "dataType": "VARCHAR", + "dataLength": 150, + "dataTypeDisplay": "varchar", + "description": "Name of the product ordered. This column is the same as order.line_items.title in the Admin API.", + "fullyQualifiedName": "sample_data.shopify.fact_line_item.product_title", + "tags": [], + "ordinalPosition": 8 + }, + { + "name": "price", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Price of the product variant.", + "fullyQualifiedName": "sample_data.shopify.fact_line_item.price", + "tags": [], + "ordinalPosition": 9 + }, + { + "name": "quantity", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Number of product variant items ordered in the line item.", + "fullyQualifiedName": "sample_data.shopify.fact_line_item.quantity", + "tags": [], + "ordinalPosition": 10 + }, + { + "name": "requires_shipping", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Whether the product variant requires fulfillment (shipping). For example, online gift cards don't require shipping.", + "fullyQualifiedName": "sample_data.shopify.fact_line_item.requires_shipping", + "tags": [], + "ordinalPosition": 11 + }, + { + "name": "taxable", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Whether taxes are charged for the product variant, otherwise contains 0. For example, when the line item is a gift card, taxes are not charged.", + "fullyQualifiedName": "sample_data.shopify.fact_line_item.taxable", + "tags": [], + "ordinalPosition": 12 + }, + { + "name": "gift_card", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Whether the product variant is a gift card.", + "fullyQualifiedName": "sample_data.shopify.fact_line_item.gift_card", + "tags": [], + "ordinalPosition": 13 + }, + { + "name": "grams", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Weight of a single unit of the product variant. Contains 0 when the product variant is a gift card.", + "fullyQualifiedName": "sample_data.shopify.fact_line_item.grams", + "tags": [], + "ordinalPosition": 14 + }, + { + "name": "product_vendor", + "dataType": "VARCHAR", + "dataLength": 200, + "dataTypeDisplay": "varchar", + "description": "Name of the manufacturer, wholesaler, or other vendor of the product.", + "fullyQualifiedName": "sample_data.shopify.fact_line_item.product_vendor", + "tags": [], + "ordinalPosition": 15 + }, + { + "name": "fulfillable_quantity", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Number of product variant items in the line item that require fulfillment. Some product variants, such as gift cards and digital products, do not need to be fulfilled.", + "fullyQualifiedName": "sample_data.shopify.fact_line_item.fulfillable_quantity", + "tags": [], + "ordinalPosition": 16 + }, + { + "name": "fulfillment_service", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "Name of the fulfillment service provider that fulfilled (shipped) the variant ordered. Contains manual when there is no fulfillment service specified for the variant.", + "fullyQualifiedName": "sample_data.shopify.fact_line_item.fulfillment_service", + "tags": [], + "ordinalPosition": 17 + } + ], + "database": { + "id": "50da1ff8-4e1d-4967-8931-45edbf4dd908", + "type": "database", + "name": "sample_data.ecommerce_db", + "description": "This **mock** database contains tables related to shopify sales and orders with related dimension tables.", + "href": "http: //localhost:8585/api/v1/databases/50da1ff8-4e1d-4967-8931-45edbf4dd908" + }, + "tags": [], + "usageSummary": { + "dailyStats": { + "count": 20, + "percentileRank": 0 + }, + "weeklyStats": { + "count": 20, + "percentileRank": 0 + }, + "monthlyStats": { + "count": 20, + "percentileRank": 0 + }, + "date": "2021-12-01" + }, + "followers": [], + "joins": { + "startDate": "2021-11-01", + "dayCount": 30, + "columnJoins": [ + { + "columnName": "line_item_id", + "joinedWith": [ + { + "fullyQualifiedName": "sample_data.shopify.fact_sale.line_item_id", + "joinCount": 20 + } + ] + } + ] + }, + "sampleData": { + "columns": [ + "line_item_id", + "billing_address_id", + "order_id", + "product_id", + "product_variant_id", + "shop_id", + "name", + "product_title", + "price", + "quantity", + "requires_shipping", + "taxable", + "gift_card", + "grams", + "product_vendor", + "fulfillable_quantity", + "fulfillment_service" + ], + "rows": [ + [ + "caf62cec-4b00-4ffc-a9b2-f1617bbd40b4", + "45c1b8aa-d030-4f74-bf39-6fe5bbc572c4", + "be33281e-01a8-419f-88a4-242b2785564b", + "c1670659-21d3-4b4d-b137-3f99c37f7f9e", + "4de2c6c6-c0cc-4479-85b4-0ae47eefc362", + "a9b2ebdc-50c4-4cf1-8840-dee5c54e7dfc", + "Christine", + "Your serious care.", + "$0.22", + 5410, + true, + false, + false, + 1217, + "Training television.", + 511, + "Task training item." + ], + [ + "811e4fea-8f00-4dfc-803c-6554ee7ac79a", + "324e62ea-2bb3-4690-85a1-27cfbc7b61ca", + "9a2d99c7-3691-458c-8d6b-1027213bd484", + "03682530-5784-4a09-92ae-6920e6162eac", + "efe5fc7a-2fd9-4a00-8359-3d5c57914efd", + "518f6c06-448a-41c3-8104-b2c3dc647ced", + "Nathan", + "Responsibility wind.", + "$4,790.50", + 821, + false, + true, + true, + 6101, + "Whether month.", + 6345, + "Ability pick." + ], + [ + "9fad94b5-d43c-4bab-9f37-ee53e24acf6a", + "4f743593-fc43-446e-9729-ffe29c03ee1c", + "75173209-4c6c-45b5-8c1f-0a0f65290955", + "4b69968d-5b6a-47e7-a7bb-7124835b6597", + "cbbc6eda-c6ed-4a87-afbe-5a94a8ddd4e4", + "f07997a6-74da-4028-9197-8319dfd3df17", + "Christina", + "None color space.", + "$12.29", + 1945, + true, + false, + false, + 969, + "Sister why build.", + 7578, + "Whatever cell." + ], + [ + "bb5598f5-e377-4ade-be9c-340d8c59f090", + "c92a8323-1dfb-4fd2-aa5d-ceb3200a631d", + "936e64bb-3d3b-497d-af36-2e51069aadca", + "1f4eb29d-042f-4edb-b7cd-26ef52feaadd", + "2f88dbdc-a269-4f32-8e61-781fd83264cd", + "87df410e-73fc-4624-bfd3-98c912974c4b", + "Anne", + "Fill book remain.", + "$854.32", + 7149, + false, + false, + false, + 5365, + "Group.", + 8436, + "Total school try." + ], + [ + "58fd9210-5622-4be7-8149-fc05feca7b1b", + "15082f5a-f2a3-417a-8ff6-21a4dafd904d", + "0d61513e-78b8-4d21-9502-dd48b4f95272", + "b3ddecdd-629e-4dbf-9fee-71c11b09e0e1", + "c0b89e3c-f08e-425e-86b7-64b35469f387", + "5fe2e03e-03a6-41f2-9c1b-61a74108ff2a", + "Walter", + "Agree billion.", + "$81,446.38", + 3925, + true, + true, + false, + 8420, + "Theory me present.", + 3328, + "Half share lose." + ], + [ + "32b5c6ea-6b06-4e96-9128-a9b5ccb2969f", + "051157c1-3598-4080-b64e-2e0f213ba5b4", + "5c3dd77f-fb1f-4d45-99fe-c5c817581033", + "ec252f77-4d67-453a-bc7a-aa69ddc0eba2", + "b663492e-2939-4513-b94f-8ad855c36c7e", + "c8da2a4c-bf19-4aea-b8d7-9a1f714d38e7", + "Jason", + "Executive argue.", + "$11,595.28", + 6048, + true, + true, + false, + 4149, + "Wonder kitchen read.", + 9302, + "Everybody maintain." + ], + [ + "51c4e70c-ab9f-4b3f-84ec-c013ad7ff274", + "2022da68-ce13-4525-a89b-237effa94660", + "8923b30c-c2a1-4e71-b5b1-52b913b3a818", + "343f35db-0eb9-45c7-9c4c-1a4b2d615384", + "bc060108-2d02-4310-8de1-be803a081505", + "d5f2d13d-48bb-425a-93a6-324308058862", + "Andrew", + "These role or to.", + "$868.60", + 3297, + true, + true, + true, + 9627, + "True citizen.", + 8715, + "Near food one." + ], + [ + "0931a2c8-463e-433a-ba47-4f19d748d172", + "9801c52d-494e-404e-afe8-346a2d166ba7", + "a0581acf-e73f-42e0-9e48-b528d51b4165", + "e1831af3-90a5-4ca5-bc64-6604abad65fe", + "e386274c-d7cb-4ee5-927b-2a8eba927b95", + "1b5fdb4a-f7f6-4af1-a5d7-8061b27d714b", + "Andrew", + "Magazine quickly.", + "$6.62", + 6648, + true, + true, + false, + 6454, + "Wife Congress game.", + 4741, + "Build whatever." + ], + [ + "f576b10a-3105-4d11-bd46-ec9b38f34603", + "1153716f-4306-4876-8823-15bbc5993291", + "1a2b443e-8b15-4267-9d94-6e2bc0fa7981", + "faf135e6-8b1b-4c4e-af57-f4b92de10112", + "fe963623-3bec-4f3b-ae27-3b7c8b941fae", + "9b6efc48-2911-4157-955c-40c6828f5840", + "Michael", + "Mrs investment.", + "$0.24", + 4869, + false, + true, + false, + 6911, + "Accept action free.", + 864, + "Media once hand." + ], + [ + "31909989-7a11-4376-bf4f-7af2b93410c1", + "76bbcc46-7a11-4efc-aaa6-4c41656ad49f", + "e31aff33-7fcc-4ab3-a328-d9e1f3786ded", + "2db22b8c-e26e-4dd3-b03b-b2fcc94d6eec", + "8bf6ea7e-a48c-451e-96ac-1188c6b00f88", + "88d10f55-a51d-4f4d-8ab0-27039684bbe8", + "Rhonda", + "Family treat.", + "$57,756.68", + 8416, + true, + true, + false, + 8619, + "Such southern.", + 1668, + "Analysis simple." + ], + [ + "322d0c26-c14b-4c0f-9b14-88a5edfea60d", + "404a99f2-5819-4dc7-8976-e553f6c07d9a", + "960e91c8-299f-4855-a89d-24e517acf632", + "2ea754c4-e7e7-4b31-a272-0d3b5000c118", + "08c64160-30c3-45f6-add9-30f6834c927e", + "5d095b49-82d0-428f-9208-f9b8f8e32c55", + "Holly", + "Name name community.", + "$482.13", + 1428, + true, + false, + true, + 9965, + "Size difficult yard.", + 1359, + "Lot your hotel." + ], + [ + "92619045-493b-4297-bae7-6b470e2c32a3", + "7ad7c54a-cccd-4705-a517-7cdfa07fd221", + "089417bd-5454-46d8-9332-5c6ff7dba1da", + "bee89d40-a69a-47ee-9b47-68d20368acf5", + "21043bd1-db06-48c0-ba5d-cc643c5d8de2", + "86199146-afdb-40da-9359-6ca41ee83088", + "Laura", + "Decide agreement.", + "$753.95", + 2098, + true, + false, + false, + 1522, + "Money attorney.", + 2128, + "Study move continue." + ], + [ + "eb41d693-b99a-4932-b873-2948f9f85c61", + "038c3043-ae10-4c30-9396-e1d9bca951b9", + "ce112fa3-ce27-4086-aa0b-67372891a588", + "abd6eaf4-1874-4768-9b7d-0759100cd9d7", + "c315052c-b7d2-4f5e-bf5f-e6835629cbe0", + "9dd2e6e1-32e6-4947-acf7-621a8dc8b400", + "Scott", + "Put herself.", + "$5.98", + 422, + false, + false, + true, + 4028, + "Seem baby media.", + 4306, + "Two and action any." + ], + [ + "d35b8e12-4aae-45f4-b30e-6f880d71e64c", + "7870502f-6c7d-498d-80ce-1214dd1a83be", + "42fee410-5833-4121-80a3-bc4553152c52", + "6da95eab-1755-4935-918e-be33ceccf56b", + "850f4cda-0e7c-4d68-bfb7-1f34ab81c8d8", + "abdcfd04-31b5-4877-8e53-2ec9a0b9c578", + "Nicole", + "Mention somebody.", + "$69.07", + 3194, + false, + true, + false, + 5359, + "Let simply peace.", + 7339, + "Stuff executive." + ], + [ + "4c3abe8d-6d44-4a20-96f9-30779e67a52f", + "1a6bef97-8529-4cff-ac56-79d1087e7449", + "56787818-a07f-49fd-ba87-4865d81128c7", + "54c05689-98c1-4ab2-ba2a-eca8a085bb8f", + "190029f4-b7e7-41f9-a28b-ec7480171e85", + "b7a53024-3716-432e-98cc-5db33dfda844", + "Jennifer", + "Yet foot turn seek.", + "$32.81", + 5984, + true, + true, + false, + 3366, + "Watch window board.", + 8225, + "Family perhaps ago." + ], + [ + "91c410e2-7f21-455d-8d5f-d87fe343e14a", + "6c858400-f8b8-405b-92a9-f3d9f51e0403", + "31a146a7-d5ec-4f14-8b7c-e00e0c6a30c3", + "3306abe9-ff27-431d-a1e7-9c0c60639a32", + "b1d8c70f-ade5-4b5e-8b03-c14b3ff159a5", + "734b066f-fd60-4998-a8e6-7b1885260b6c", + "Sara", + "What gun owner draw.", + "$8.91", + 4929, + true, + true, + false, + 3112, + "Foot central course.", + 9262, + "Like finish image." + ], + [ + "6962e613-5218-4b79-9ef2-653b6f43b523", + "16f834aa-5915-47fe-b1a4-033eb0fad403", + "4996c590-9737-4a80-8750-f8c03696d8df", + "0a0c6529-1d82-4bf5-8b40-45057d71afdf", + "4c0f3de2-3538-4b19-8886-664e735485a3", + "ef453d1b-0e14-4bfe-8076-28077b559b2f", + "Robert", + "Accept professor.", + "$760.64", + 4474, + true, + false, + true, + 39, + "Local force fear.", + 5799, + "Government several." + ], + [ + "51b3cd12-20db-435c-a078-cc43a4e90941", + "7ef898ab-2f14-44b6-94d2-5b1f407e08dd", + "114c7cf1-2e0f-469d-883d-27d29e74fa05", + "ea51c431-989a-482c-acd9-d59ad143bc2c", + "ffb76f35-f739-4366-b247-9d89aabbece8", + "a2cd8edc-5eab-4b04-ab16-90832f5eab1b", + "Debra", + "Whose I quality.", + "$7.14", + 9673, + false, + false, + false, + 2072, + "Decision outside.", + 9614, + "Difference almost." + ], + [ + "d5db3dac-7356-4408-b2a1-82681c4a4e36", + "bf510650-e3be-46b1-aa22-152716f2ef80", + "2085c239-addb-4c6f-ad3a-904ae3a1e3a0", + "565ef209-f4b0-4186-bb71-2611fc16977e", + "643f459c-fa85-4ce5-8184-fddc814622c2", + "e91123cf-7efb-4818-8468-c14dd0c8baa3", + "Monique", + "Close raise five.", + "$7,463.33", + 8775, + false, + true, + false, + 2721, + "Local take success.", + 6073, + "Point recognize." + ], + [ + "d90fa279-b785-4a9e-89a0-1900e234dcd8", + "7bbdcc42-80ac-443b-8ae4-2fe65cc9e9f4", + "536b0728-1a05-4479-9f32-84210caba740", + "90bd0200-cad9-49d2-9bc0-44605f7e071c", + "4f248393-ecb5-4dbe-972e-0b4d6f84ec9a", + "45e621bb-11ee-414e-9e5a-a78b69c3cda0", + "Taylor", + "Say rock pick.", + "$16,954.50", + 2660, + true, + false, + false, + 3249, + "Live PM staff.", + 5587, + "Property national." + ], + [ + "f6b95b9a-77c5-4e70-9d64-14bcab8c0bf8", + "a17f86cb-75e9-4dcc-981c-1a9f867d7183", + "724c49e6-0d23-4836-9fd2-1b0bd05509b5", + "32be68f4-147a-421e-b16d-288dac8af802", + "134b27e7-7931-4df1-a45a-8051baece41a", + "fee026c6-a7d6-46f4-9ee2-6cce8ad36eaa", + "David", + "Forward south their.", + "$98.77", + 93, + false, + false, + false, + 4292, + "Turn of play prove.", + 4887, + "President second." + ], + [ + "0ae37a6c-3169-4623-8319-a876ab7f3d99", + "b31afbeb-ab75-492b-b7c5-5d1945dd4c4a", + "8a9c07bf-93a1-488f-b5a4-cfb257affd9b", + "8ca34b19-416f-48c1-b108-7c52570b9165", + "dfae8570-40f4-4fc1-8905-df4fad88dfbe", + "b2b4142b-3551-4bd4-8b0f-6dcf43c38cca", + "Colin", + "Body baby adult.", + "$29,486.21", + 7956, + false, + true, + false, + 7494, + "Southern deep three.", + 9357, + "Eat size party." + ], + [ + "ea17c92b-485b-44f3-95fc-bf6ff7cfc255", + "ef30375e-8742-4e8b-8106-97d251d896e2", + "ee357436-7cd3-47b2-901a-f9fcef6ed9e0", + "5efd4eb7-5a81-4010-bea3-85910250e4b1", + "84ae57ee-e2fd-4dc0-a9eb-8ea24d0b8019", + "d5cafc0e-0100-45c9-93db-10d5261f6e96", + "Kaitlyn", + "Produce others road.", + "$9,333.25", + 6641, + true, + false, + true, + 6862, + "For chair brother.", + 4377, + "Ok open." + ], + [ + "07fbb6b8-f80d-4c43-8481-f7708e44964a", + "de3ae369-cca3-4b7e-98da-e75e8a76c116", + "0dec7fea-edd4-43ff-bf0d-f3b6b9fac73d", + "1a64014d-996e-44e1-bbc0-21434e382bf0", + "32b6e4b5-9ab0-419b-8a39-2ac95e98882f", + "fbf0d690-724f-4ae7-8284-7429cc9c6fd9", + "Anne", + "Discuss serve PM.", + "$919.15", + 6955, + true, + false, + true, + 48, + "And before election.", + 7869, + "Whole perhaps firm." + ], + [ + "73007911-d93d-4132-bdc1-add7a20a072a", + "43bf6af0-2fd2-4a68-982b-626e8600b549", + "b3626f2b-16c0-441a-97be-6eac8bebdaa7", + "95704989-cda2-4cf0-a290-f88980d69131", + "75bbe4bd-fed0-4b76-bd32-031d7b7be6f7", + "e3ef79e4-ddc2-4dbd-ba49-01140871d3e2", + "Austin", + "Before identify.", + "$10,686.43", + 2675, + true, + true, + false, + 4372, + "Wonder issue.", + 8660, + "Begin line cultural." + ] + ] + }, + "databaseSchema": { + "id": "d7be1e2c-b3dc-11ec-b909-0242ac120002", + "type": "databaseSchema", + "name": "sample_data.ecommerce_db.shopify", + "description": "This **mock** Schema contains tables related to shopify sales and orders with related dimension tables.", + "href": "http://localhost:8585/api/v1/databaseSchemas/d7be1e2c-b3dc-11ec-b909-0242ac120002" + }, + "sourceUrl": "http://localhost:8080/fact_line_item_Lorem_ipsum_dolor_sit_amet_consectetur_adipiscing_elit_sed_do_eiusmod_tempor_incididunt_ut_labore_et_dolore_magna_aliqua_Ut_enim_ad_minim_veniam_quis_nostrud_exercitation_ullamco_laboris_nisi_ut_aliquip_ex_ea_commodo_consequat_Duis_aute_iru" + }, + { + "name": "fact_order", + "fullyQualifiedName": "sample_data.shopify.fact_order", + "description": "The orders table contains information about each order in your store. Although this table is good for generating order lists and joining with the dim_customer, use the sales table instead for computing financial or other metrics.", + "version": 0.1, + "updatedAt": 1638354087730, + "updatedBy": "anonymous", + "href": "http://localhost:8585/api/v1/tables/6bd37162-1eb2-4c22-88ef-aedb7bf35d23", + "tableType": "Regular", + "columns": [ + { + "name": "order_id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Unique numeric identifier for the order across Shopify stores. In your Shopify admin, this ID is used internally. Most merchants are familiar with the other ID that appears on orders in the Shopify admin. This ID can be found in the Name column.", + "fullyQualifiedName": "sample_data.shopify.fact_order.order_id", + "tags": [], + "constraint": "PRIMARY_KEY", + "ordinalPosition": 1 + }, + { + "name": "api_client_id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "The ID of the API client that called the Shopify API. This column is a foreign key reference to the api_client_id column in the dim_api_client table.", + "fullyQualifiedName": "sample_data.shopify.fact_order.api_client_id", + "tags": [], + "ordinalPosition": 2 + }, + { + "name": "billing_address_id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "fullyQualifiedName": "sample_data.shopify.fact_order.billing_address_id", + "tags": [], + "ordinalPosition": 3 + }, + { + "name": "customer_id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "The ID of the customer. This column is a foreign key reference to the customer_id column in the dim_customer table.", + "fullyQualifiedName": "sample_data.shopify.fact_order.customer_id", + "tags": [], + "ordinalPosition": 4 + }, + { + "name": "location_id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "fullyQualifiedName": "sample_data.shopify.fact_order.location_id", + "tags": [], + "ordinalPosition": 5 + }, + { + "name": "shipping_address_id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "fullyQualifiedName": "sample_data.shopify.fact_order.shipping_address_id", + "tags": [], + "ordinalPosition": 6 + }, + { + "name": "shop_id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "The ID of the store. This column is a foreign key reference to the shop_id column in the dim.shop table.", + "fullyQualifiedName": "sample_data.shopify.fact_order.shop_id", + "tags": [], + "ordinalPosition": 7 + }, + { + "name": "user_id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "The ID of the staff member who created the order. This column is a foreign key reference to the ID in the dim_staff table. This column applies to Shopify POS orders and to orders that were converted from draft orders.", + "fullyQualifiedName": "sample_data.shopify.fact_order.user_id", + "tags": [], + "ordinalPosition": 8 + }, + { + "name": "name", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "The identifier of the order that the merchant and customer sees. This is the ID that appears on the order in the Shopify admin. For example, #1001. By default, this identifier is unique to one store. If you have multiple stores, then use the order_id column to guarantee uniqueness across multiple stores.", + "fullyQualifiedName": "sample_data.shopify.fact_order.name", + "tags": [], + "ordinalPosition": 9 + }, + { + "name": "total_price", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "The total price of the order, including shipping and taxes. This column includes gift card sales, but does not include returns. This value may not be accurate for API-imported orders. Do not use this column for financial calculations. Instead, use the total_price column in the sales table.", + "fullyQualifiedName": "sample_data.shopify.fact_order.total_price", + "tags": [], + "ordinalPosition": 10 + }, + { + "name": "discount_code", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "The discount code that was applied to the order.", + "fullyQualifiedName": "sample_data.shopify.fact_order.discount_code", + "tags": [], + "ordinalPosition": 11 + }, + { + "name": "processed_at", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "The date (ISO 8601) and time (UTC) when the order was created. The format is YYYY-MM-DD HH:mm:ss (for example, 2016-02-05 17:04:01).", + "fullyQualifiedName": "sample_data.shopify.fact_order.processed_at", + "tags": [], + "ordinalPosition": 12 + }, + { + "name": "canceled_at", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "If the order was canceled, then this column contains the date (ISO 8601) and time (UTC) when the order was canceled. The format is YYYY-MM-DD HH:mm:ss (for example, 2016-02-05 17:04:01).", + "fullyQualifiedName": "sample_data.shopify.fact_order.canceled_at", + "tags": [], + "ordinalPosition": 13 + }, + { + "name": "deleted_at", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "If the order was deleted, then this column contains the date (ISO 8601) and time (UTC) when the order was deleted. The format is YYYY-MM-DD HH:mm:ss (for example, 2016-02-05 17:04:01).", + "fullyQualifiedName": "sample_data.shopify.fact_order.deleted_at", + "tags": [], + "ordinalPosition": 14 + }, + { + "name": "test", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "True when the order is a test order, False otherwise.", + "fullyQualifiedName": "sample_data.shopify.fact_order.test", + "tags": [], + "ordinalPosition": 15 + } + ], + "database": { + "id": "50da1ff8-4e1d-4967-8931-45edbf4dd908", + "type": "database", + "name": "sample_data.ecommerce_db", + "description": "This **mock** database contains tables related to shopify sales and orders with related dimension tables.", + "href": "http://localhost:8585/api/v1/databases/50da1ff8-4e1d-4967-8931-45edbf4dd908" + }, + "tags": [], + "usageSummary": { + "dailyStats": { + "count": 185, + "percentileRank": 73 + }, + "weeklyStats": { + "count": 185, + "percentileRank": 73 + }, + "monthlyStats": { + "count": 185, + "percentileRank": 73 + }, + "date": "2021-12-01" + }, + "followers": [], + "joins": { + "startDate": "2021-11-01", + "dayCount": 30, + "columnJoins": [ + { + "columnName": "shop_id", + "joinedWith": [ + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.order_id", + "joinCount": 60 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_api_client.api_client_id", + "joinCount": 30 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_customer.customer_id", + "joinCount": 25 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_customer.shop_id", + "joinCount": 5 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_staff.user_id", + "joinCount": 20 + } + ] + }, + { + "columnName": "api_client_id", + "joinedWith": [ + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.order_id", + "joinCount": 60 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_api_client.api_client_id", + "joinCount": 30 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_customer.customer_id", + "joinCount": 25 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_customer.shop_id", + "joinCount": 5 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_staff.user_id", + "joinCount": 20 + } + ] + }, + { + "columnName": "user_id", + "joinedWith": [ + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.order_id", + "joinCount": 60 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_api_client.api_client_id", + "joinCount": 30 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_customer.customer_id", + "joinCount": 25 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_customer.shop_id", + "joinCount": 5 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_staff.shop_id", + "joinCount": 20 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_staff.user_id", + "joinCount": 20 + } + ] + }, + { + "columnName": "customer_id", + "joinedWith": [ + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.order_id", + "joinCount": 60 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_api_client.api_client_id", + "joinCount": 30 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_customer.customer_id", + "joinCount": 25 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_customer.shop_id", + "joinCount": 5 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_staff.user_id", + "joinCount": 20 + } + ] + }, + { + "columnName": "order_id", + "joinedWith": [ + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.api_client_id", + "joinCount": 60 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.billing_address_id", + "joinCount": 60 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.customer_id", + "joinCount": 60 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.location_id", + "joinCount": 60 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.order_id", + "joinCount": 60 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.product_id", + "joinCount": 60 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.product_variant_id", + "joinCount": 60 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.shipping_address_id", + "joinCount": 60 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.shop_id", + "joinCount": 60 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.user_id", + "joinCount": 60 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_api_client.api_client_id", + "joinCount": 30 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_customer.customer_id", + "joinCount": 25 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_customer.shop_id", + "joinCount": 5 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_staff.user_id", + "joinCount": 20 + } + ] + } + ] + }, + "sampleData": { + "columns": [ + "order_id", + "api_client_id", + "billing_address_id", + "customer_id", + "location_id", + "shipping_address_id", + "shop_id", + "user_id", + "name", + "total_price", + "discount_code", + "processed_at", + "canceled_at", + "deleted_at", + "test" + ], + "rows": [ + [ + "0019b10f-76f2-42ec-afa2-ad13831183cc", + "31e2ee37-82c2-48fb-8655-b819b5d45d8e", + "7138de47-7b48-4f3e-8ea6-acc76705b932", + "ec72e3b3-03e2-4877-9858-685e28bcccc4", + "698cb99d-c04c-4e87-8f48-3ce0e7d1dfd6", + "c604bda8-13e6-49d3-86b8-7581cdaeabe0", + "32cf9f27-166a-425d-9362-88f58b61a464", + "f16c292e-fb47-46c9-bf35-e3859c3b0732", + "Kevin", + "$4,876.62", + "Type foot sure.", + 1330822026, + 1172638267, + 795158014, + true + ], + [ + "25ff7292-cc68-477e-8d4c-5dc8d70f3a11", + "83733c95-df99-44ef-898b-c1d2eb40ec40", + "ace17e1a-d5c6-4973-8ee9-c3b0eee6c7c6", + "d0b8bdbe-5d0a-4b9e-aa86-b15a74335a9e", + "e51696cb-b1f1-4b94-aa20-a4dbb08faad2", + "99b359d8-9494-4b1b-add3-602f759549c3", + "f9f3ccc7-87ad-4ab2-b9c8-177eb2372d61", + "5fd3b1bb-7bc0-4bb8-9ad3-a22daad6f984", + "James", + "$84.00", + "Wind quickly go.", + 209718384, + 1240669505, + 828006070, + false + ], + [ + "e9205e81-ab8d-4188-b314-f5e588072f02", + "f7be5599-f02c-4b37-9013-592262ddfd81", + "e1bafe7a-0dc1-47cb-9af0-7486d75d57c2", + "99df4b43-d979-4585-a969-bf3b2e2be73e", + "cd1ddb3d-b9d6-42a2-adf3-b97b8d9aa014", + "494d218d-e1b2-44be-a46d-20147d254bc3", + "96f9cf38-068c-4777-ba6d-f1b9199b14bf", + "bd46373f-8850-426f-8407-dd74f38018df", + "Katherine", + "$562.91", + "Low force artist.", + 271367568, + 943058240, + 651331950, + true + ], + [ + "66eb9e24-96cc-4e23-ad94-29c7561e24c0", + "7091069b-bfca-4c48-9b48-2d3a224619e3", + "3f3e9a1c-719c-4dcf-b8cf-52c3ac2d3aff", + "68efcf09-b770-40a7-9c25-b734256e5718", + "5c1ce28a-dd51-4c58-abda-8691a158396c", + "cba01865-f1ef-4518-953b-6c31edf136d2", + "fb1ea029-d6ef-4af1-b380-7659edc69a9f", + "82897b74-9060-43a3-8cf3-751146f55663", + "Mark", + "$64,496.85", + "Address edge.", + 1067626376, + 1365640111, + 693825800, + false + ], + [ + "f673f103-8fe0-4f9d-9caf-87e37a40240d", + "c1eaf748-f5e6-4de3-b425-4ba8701bcb7e", + "cb7487b1-2cc0-45b7-9ecd-872a9b14f691", + "d01bb7ac-6479-4378-8751-c5a69980f4da", + "fc915e2a-cf4b-4328-a9c0-c5bd2d728e9d", + "9e1d850a-0290-49f8-ab16-1135845f2ee4", + "cd87edc9-1453-4896-998c-a29ec6403a0d", + "89cc1d02-b950-412e-836f-19d4301a5ed5", + "Randy", + "$49.17", + "Phone energy.", + 1348762878, + 823081134, + 1229190846, + true + ], + [ + "27e6550c-4020-4600-a727-ad4f73576cbf", + "44f68ded-1d72-45d8-bfea-004e80073ab8", + "d9cae9d1-5ed7-45b3-a39b-d4711f9a6603", + "09861c1f-10ba-473c-9940-b31ac19f1230", + "da671371-75e0-4da7-927c-d2b6b4c7b943", + "df30c033-9398-45b0-b0d8-652c542415b7", + "38909ba2-7ffe-431d-b1f7-36d51c5935a6", + "c319c0da-eda4-4bb8-9065-fbdbc0b1cced", + "Lisa", + "$607.55", + "Rise else several.", + 951870865, + 290834368, + 1535738533, + false + ], + [ + "08455fd6-dfa0-40a4-a132-909da25c9324", + "684c9f92-628d-487f-9d85-ba0d875e12fe", + "16647e52-50ca-41ca-9ec2-a6aa0cbf0d8d", + "26dabc61-fa73-488a-8f7a-accab7a9224a", + "be068572-f178-4e60-bec0-ef99909a15bd", + "795e8c13-8485-455a-a84d-1c68dc8dcb93", + "61ccf99d-9d8d-46c8-9205-b1a9cde9fc0c", + "41b0e3fd-9efc-49a3-a480-d904dc54f1ba", + "Michael", + "$40.46", + "These stand fall.", + 862344559, + 557731044, + 1624851328, + true + ], + [ + "e57aacae-2116-4a4b-9b78-87a9768e1f82", + "3ba05c37-6457-4fc6-b02f-d4bc0a307c23", + "5606d94d-fafb-471b-b0ce-6be16cc3951b", + "af1d5f27-996a-4292-930e-713f9e3ba7a2", + "321fad21-e792-47ce-b082-cbeaf6e2b859", + "74cc53f6-2505-45e0-a2c3-cc54d22be0ad", + "fafce953-69f8-4e3d-a116-9d8e047d2c32", + "90db6a19-df22-430c-b115-9b659682f8af", + "Kelly", + "$587.00", + "Speak forget listen.", + 416779978, + 884711303, + 1628971191, + false + ], + [ + "c2a75d81-eab3-4359-9a2b-f21592b638ba", + "54091f30-4f62-40f7-902e-73ca128b6931", + "ae273897-22f2-454e-b463-958f7051bff1", + "8e199bc3-9c13-433d-99b0-0b878a173d6b", + "6b0276e7-5c70-4346-90ae-478a2a9bbbea", + "c919d0c8-f86c-4646-b840-166d63b8feb4", + "07e53e22-78da-453b-818a-ad78e9a08164", + "6d7d696e-5c5d-4a16-a3b2-4e648425b0ac", + "Candace", + "$575.79", + "Entire able key.", + 436729383, + 498327663, + 1623652014, + false + ], + [ + "5a2ebb24-8895-4697-b0d0-254b21ede831", + "5702d9e7-e448-4297-b9bd-3bfae602d04a", + "92e42382-3079-4ed4-a656-2b0745a70de2", + "5a25fbd1-0756-4a1c-aa0f-337ae309d8ea", + "21c9b38a-71b2-44bf-96b3-00b7aa12f280", + "8348352b-c34f-455a-9882-b4d6522be2ae", + "b8929ff7-d5a4-400c-ba55-5aebb1b6a986", + "6991b755-de3a-4028-af41-dd2acf30891c", + "Patrick", + "$85.62", + "Family agency.", + 468971003, + 193560193, + 1418575416, + false + ], + [ + "d78c8ab3-fa7e-482d-b8b6-62db339c9f26", + "39bc6843-3203-4149-9ba5-808fdee24cdb", + "38ab5990-2504-4955-a52a-be932fdf168b", + "2e086c6e-b064-4b7e-a499-8e82b404e8d8", + "25caac5f-0da8-4b8b-bbc4-98894a8a5904", + "18470996-56f2-417c-b8e1-b45feeba8a64", + "8255cd30-2055-414b-a859-02ae9975206d", + "5fa40c06-a767-4df0-bcea-7ec71a325006", + "Joshua", + "$5,839.64", + "Into mention city.", + 1110815783, + 1407146953, + 663939071, + false + ], + [ + "d5f698a6-2325-4519-b05c-39f78a1859a5", + "e02a5f14-2d0e-4ed3-be7b-df16cf53b7cf", + "cd9394e2-d0b5-4b79-979e-88668d60eadf", + "9315fc61-0155-4292-9c51-d991cd15795d", + "911d9455-b858-4c01-8b51-3fb92ed6fbf9", + "49696d0e-b523-477b-a4c0-dac56a56ac42", + "6bd8d0af-f08a-4f95-90e5-2dabf204b31a", + "2bba2732-5040-4077-a083-b36c507978f0", + "Daniel", + "$6,173.56", + "Positive car.", + 844476823, + 1394511954, + 533633929, + false + ], + [ + "cee67dc3-1200-46e3-88fa-54c463d72883", + "870b09cb-8169-43ec-83c0-d278cea3c4b3", + "77da90c4-ec2a-459f-a3df-d0b59c3ab77a", + "9770725b-2ac8-489c-9454-3dedbf502301", + "cc01dae2-efe1-4bfb-b900-e035f46558e7", + "185e7959-acbf-4b8c-93c0-5be199f6a866", + "d03ca4a5-e7df-41a0-868b-5239b939878d", + "656bb299-8757-4f45-9da6-3c9e743007a9", + "Gregory", + "$37.33", + "Use according agree.", + 773396054, + 1498285731, + 944616094, + true + ], + [ + "00b468d8-50b1-47fc-92bb-86af95661fbf", + "cad12cb3-eddb-42c3-9ee2-f4cbf9fdc336", + "7738dd75-b6c1-4a66-b6cc-256ada084b7e", + "b59dc589-af12-494c-a81a-b60d776adb5b", + "0417ef13-ee1e-4805-93cd-59e7949cb7eb", + "b09f7852-cf4f-4f9c-a603-061747a1f8c9", + "31dc6f7b-eb02-4755-b37d-f39a42f5fc86", + "20a8da7d-ee2c-4050-a998-560ce89eedea", + "Sandra", + "$93.13", + "Owner boy question.", + 820444532, + 1113721739, + 688566671, + true + ], + [ + "92ab3cf1-f9c3-4956-8a0e-5204589d74d2", + "a2df0411-db4f-473c-be4c-c2fa28ff62b7", + "22513b1f-70b9-4565-b33a-95a7df9f24fb", + "097f8098-51c8-4c6f-9f14-11e763472dc1", + "b724183e-c91d-410e-9a26-a86402127d7f", + "86bf8e15-88bc-4fd4-8b13-f700c6c15b2b", + "429780e1-4f9e-4e9d-9024-bea9df3f896e", + "0ae0e172-ce7e-486f-849a-d7bdbc4abbe6", + "Alexandra", + "$734.93", + "Animal account.", + 757022691, + 1167174991, + 904906980, + true + ], + [ + "3ca514d4-df1d-4887-9e35-be54eb0b8a3c", + "eed1c95d-dabd-48a4-b838-aa8d702accd2", + "4f369e3e-a48d-43fa-a7d1-ac532e2683b1", + "60dae650-7e1a-4619-a958-f140dc10e7e7", + "c83741ba-2023-4143-b085-a99c27b0b842", + "2ee80cba-aa8a-46df-bd7a-2d930c831f70", + "2d7e9eec-801e-4033-8a82-9198cbec7507", + "4bac2964-cf88-4ba0-83fd-d9b7a8422d67", + "Cynthia", + "$31,495.27", + "Office course food.", + 386384756, + 580520471, + 693179450, + false + ], + [ + "15eb04ae-d3a3-4a32-8e60-325367d62d16", + "3d8ee72a-f31c-4462-8933-858168761bd9", + "902649e0-3cbb-41f3-b3cb-60f5d46f166e", + "0ed471bb-680d-4af8-aa71-1088527b8836", + "0faffa3f-b644-440c-93a0-bf4205b81e1c", + "f1bf3efc-14c6-4f1a-96a7-6fa31a5dfdd1", + "ec1d5846-fa8d-4a15-b2e5-a7e54eed2884", + "e186202a-add7-4228-a64e-1f49ae3326ff", + "Michelle", + "$1,731.66", + "Indeed whatever.", + 46505037, + 757140056, + 835637940, + true + ], + [ + "166de01e-08d7-4a1a-ab86-42bae8b81e30", + "55095bb0-e6bb-4939-8804-32be1690b6d5", + "77465240-29fb-4a9a-9b6e-a637df41be5d", + "1bbf0b9c-6f5d-48ae-a000-63e5c3fd2780", + "3e3150ca-295a-4d92-a22c-99107964f6c0", + "96a94f44-746f-4019-801f-f2dc76fc10d9", + "e5c65552-ea5b-479d-b45b-e74a25cda105", + "1d6018bd-cb73-4d5a-ac2b-0270afe74a48", + "Samantha", + "$74,181.42", + "Feeling along.", + 1461218241, + 564414629, + 313737510, + false + ], + [ + "9f24ef9a-44a9-4022-a768-d6a161a3350b", + "056476bb-b06a-4854-a72d-833a36e02391", + "97d2cdda-579b-4311-8d63-79b38da31495", + "c0a7136c-9e7e-4643-a553-c045f57ab9a9", + "27ceefce-d16c-4a6e-b6ed-702548fa2040", + "6ccc3654-10de-4753-8d51-aa4cb5984005", + "0f1cceaf-bfe8-484a-bfcd-7c3d178fbc41", + "4d309625-4995-4492-9cbd-0e8c0d0826fb", + "Holly", + "$485.16", + "Fall song well.", + 38327487, + 699788905, + 370739973, + false + ], + [ + "6d7ec565-83f4-4b10-938e-3febe38aa2db", + "269800a0-3591-4052-9695-ab46fb5c6c42", + "f0d1ecfa-e835-418e-8d35-30dbff8cc0f6", + "6ed4be68-e918-4b44-a93b-b45ee9e6cdb8", + "1ab105c7-c798-45ae-b7b7-fa10e9820064", + "045458ea-f015-47a1-8d63-558ab4671484", + "931b5d89-dc5a-4def-80ea-772a231f4ac4", + "432329a9-bf35-48a6-8ff5-27cd34d29ecb", + "Jacqueline", + "$24,503.28", + "Doctor leg itself.", + 34548489, + 199179362, + 520165416, + true + ], + [ + "4dc2cb1b-aed7-4595-a84b-f7c8aa15eb34", + "ef5bfa69-f7d6-4c62-af36-9b0ac7878a9c", + "a7a7758a-ad69-4af4-bcc9-23a57a09b31d", + "2c2de154-02bc-4a1e-a32d-3f798a43ad34", + "af3a90aa-fe51-44d9-867b-7315e601c41c", + "eb77e3c7-3ea8-4d40-98de-1b5c675d58bb", + "209d0d33-8629-4fd5-a0a2-9d611251d8b3", + "8129ba04-2e75-4141-ae22-c30ac09dbe83", + "Douglas", + "$811.53", + "Great nor weight.", + 544327693, + 1513681008, + 1411054372, + false + ], + [ + "6167c236-88d8-4e56-b7d6-eb5f3e8687df", + "2bf84799-b67f-4846-bde0-696173193140", + "1113e259-83ac-468e-a4ad-d63d32fc137a", + "8cde66c8-e243-404b-84b6-7767be5bd833", + "6024e8d4-55c5-44e0-ae50-16672b012f01", + "22b3024d-62a4-4da3-9a77-4f713e4ba572", + "fdf34eb7-c7b4-4fd7-9ba0-1d96941161d8", + "df6bd2d5-5647-466a-8785-d31787c048bb", + "Penny", + "$68.03", + "Respond choice.", + 1109476113, + 587958791, + 1034320844, + false + ], + [ + "93e0dd03-4804-4388-a5af-74840d70909b", + "5f2daa2e-8ebe-43ff-9721-550b0a56b5d8", + "8df9927d-fe77-4d0d-908b-eb2f9a09bdbb", + "21bd3f45-4fb4-43bb-a6f2-a1692c074641", + "547322cd-e102-4e98-8ae3-1e85e28f7933", + "cb642707-30ae-4bb1-991b-48d910d74769", + "98e55302-6b0f-408f-93df-9fb2ad6119ec", + "ba2fb921-9d27-4ac1-815b-96eedc2f5f96", + "Jennifer", + "$2.67", + "Feeling outside.", + 487057894, + 1087022588, + 66620370, + false + ], + [ + "eede5d50-93f1-4eff-a3b0-89abbedd6363", + "6788643e-e79d-425a-a6db-7ac50fbc2fc5", + "8466cd85-e7d7-4b09-94c6-c71364b38338", + "f3e9237d-12a9-4361-ac2a-6a7b0334bbf2", + "ff9ab501-407c-4d9c-a948-21f6a8719943", + "051b9e8a-c23d-4c56-ae41-0b75dfed8f49", + "6ace4312-2a16-4115-872b-269e5a4320b9", + "bb2c3606-6787-4e12-b2a5-31eb4058274f", + "Kevin", + "$281.87", + "Court indeed same.", + 1134763669, + 408896593, + 1571008614, + true + ], + [ + "98e94513-a735-4a52-9da2-df4c710df091", + "e1c86dea-7154-4421-8d72-62e9e83ee708", + "4b917b7a-19c3-48bd-b5ae-5b253aed0c9c", + "3743affb-8221-475f-9055-1c0a2b89757b", + "c2e3b4d5-afe9-4327-aa65-cacd1c582d3c", + "ce61c793-8f2b-492f-9ddf-f59cb041a311", + "e2ef459b-2edc-45a5-a808-177076c99e39", + "4bf6a6eb-de2c-4028-88d8-8117392f6e20", + "Eric", + "$44.14", + "Training once fall.", + 166643348, + 266519710, + 1080831241, + false + ] + ] + }, + "databaseSchema": { + "id": "d7be1e2c-b3dc-11ec-b909-0242ac120002", + "type": "databaseSchema", + "name": "sample_data.ecommerce_db.shopify", + "description": "This **mock** Schema contains tables related to shopify sales and orders with related dimension tables.", + "href": "http://localhost:8585/api/v1/databaseSchemas/d7be1e2c-b3dc-11ec-b909-0242ac120002" + }, + "sourceUrl": "http://localhost:8080/fact_order" + }, + { + "name": "fact_sale", + "fullyQualifiedName": "sample_data.shopify.fact_sale", + "description": "The fact table captures the value of products sold or returned, as well as the values of other charges such as taxes and shipping costs. The sales table contains one row per order line item, one row per returned line item, and one row per shipping charge. Use this table when you need financial metrics.", + "version": 0.1, + "updatedAt": 1638354087762, + "updatedBy": "anonymous", + "href": "http://localhost:8585/api/v1/tables/d16bcfa1-a63b-4f06-b042-9dd39a8c429b", + "tableType": "Regular", + "columns": [ + { + "name": "sale_id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "ID of the sale row. This column is the primary key for this table.", + "fullyQualifiedName": "sample_data.shopify.fact_sale.sale_id", + "tags": [], + "constraint": "PRIMARY_KEY", + "ordinalPosition": 1 + }, + { + "name": "billing_address_id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "ID of the billing address of the customer. This column is a foreign key reference to the address_id column in the dim_address table.", + "fullyQualifiedName": "sample_data.shopify.fact_sale.billing_address_id", + "tags": [], + "ordinalPosition": 2 + }, + { + "name": "api_client_id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "ID of the API client from which the adjustment was made. This column is a foreign key reference to the ID of the API client in the dim_api_client table.", + "fullyQualifiedName": "sample_data.shopify.fact_sale.api_client_id", + "tags": [], + "ordinalPosition": 3 + }, + { + "name": "customer_id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "ID of the customer. This column is a foreign key reference to the customer_id column in the dim_customer table.", + "fullyQualifiedName": "sample_data.shopify.fact_sale.customer_id", + "tags": [], + "ordinalPosition": 4 + }, + { + "name": "line_item_id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "ID of the line item. This column is a foreign key reference to line_item_id column in the fact_line_item table. When the row describes a shipping charge, there is no line_item_id value.", + "fullyQualifiedName": "sample_data.shopify.fact_sale.line_item_id", + "tags": [], + "ordinalPosition": 5 + }, + { + "name": "location_id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "ID of the Shopify POS location. This column is a foreign key reference to the location_id column in the dim_location table. When the order is not a POS order, then there is no location ID.", + "fullyQualifiedName": "sample_data.shopify.fact_sale.location_id", + "tags": [], + "ordinalPosition": 6 + }, + { + "name": "order_id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "ID of the order. This column is a foreign key reference to order_id column in the fact_order table.", + "fullyQualifiedName": "sample_data.shopify.fact_sale.order_id", + "tags": [], + "ordinalPosition": 7 + }, + { + "name": "product_id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "ID of the product sold or returned. This column is a foreign key reference to the product_id column in the dim.product table. When the line item describes a shipping charge, then there is no product ID.", + "fullyQualifiedName": "sample_data.shopify.fact_sale.product_id", + "tags": [], + "ordinalPosition": 8 + }, + { + "name": "product_variant_id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "ID of the product variant sold or returned. This column is a foreign key reference to the product_variant_id column in the dim.product_variant table. When the row describes a shipping charge, then there is no product variant ID.", + "fullyQualifiedName": "sample_data.shopify.fact_sale.product_variant_id", + "tags": [], + "ordinalPosition": 9 + }, + { + "name": "shipping_address_id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "ID of the shipping address of the customer who made the order. This column is a foreign key reference to the address_id column in the dim_address table. Some sales, such as those made using Shopify POS, do not have a customer's shipping address associated with them.", + "fullyQualifiedName": "sample_data.shopify.fact_sale.shipping_address_id", + "tags": [], + "ordinalPosition": 10 + }, + { + "name": "shop_id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "ID of your store. This column is a foreign key reference to the shop_id column in the dim.shop table.", + "fullyQualifiedName": "sample_data.shopify.fact_sale.shop_id", + "tags": [], + "ordinalPosition": 11 + }, + { + "name": "user_id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "ID of the staff member who is associated with the sale. This column is a foreign key reference to the user_id column in the dim_staff table. Not all sales have a staff member associated with them.", + "fullyQualifiedName": "sample_data.shopify.fact_sale.user_id", + "tags": [], + "ordinalPosition": 12 + }, + { + "name": "gross_sales", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Price of the product purchased multiplied by the quantity ordered. This value is formatted in the currency of your store. If the product purchased is a gift card, then 0 is returned because gift cards are not included in gross sales calculations. The gross sales amount also does not include any discounts, returns, taxes or shipping charges. The gross_sales column is calculated using the following formula: product (excluding gift cards) price x quantity (before taxes, shipping, discounts, and returns). Canceled, pending, and unpaid orders will have a value for this column, but test and deleted orders will not.", + "fullyQualifiedName": "sample_data.shopify.fact_sale.gross_sales", + "tags": [], + "ordinalPosition": 13 + }, + { + "name": "net_sales", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Net sales of the line item. The value of the line item's gross sales minus any discounts minus the value of any returned items. Net sales does not include taxes or shipping costs, or the sale of gift cards. If the line item contains gift cards, then the field contains 0. Net sales is calculated by using the following formula: gross_sales - discounts - returns.", + "fullyQualifiedName": "sample_data.shopify.fact_sale.net_sales", + "tags": [], + "ordinalPosition": 14 + }, + { + "name": "total_sales", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Total sales of the line item. This value does not include gift cards. Total sales is calculated using the following formula: net_sales + shipping + taxes.", + "fullyQualifiedName": "sample_data.shopify.fact_sale.total_sales", + "tags": [], + "ordinalPosition": 15 + }, + { + "name": "returns", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Value of the products returned by the customer regardless of the amount that the merchant actually receives from the customer. This value is usually a negative number, but it can also be zero (for example, if the item being returned was a free gift with purchase). Taxes and shipping charges are not included. The returns amount is calculated by using the following formula: 0 - (product variant price * quantity) + discounts.", + "fullyQualifiedName": "sample_data.shopify.fact_sale.returns", + "tags": [], + "ordinalPosition": 16 + }, + { + "name": "discounts", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Total amount discounted from the line item. The discounts column contains the sum of any line item discounts plus the line item's portion of any order-level discount. The value of the discount is either negative or zero. The discounts column is calculated using the following formula: line item discount + order level discount share.", + "fullyQualifiedName": "sample_data.shopify.fact_sale.discounts", + "tags": [], + "ordinalPosition": 17 + }, + { + "name": "shipping", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "When the line item is for a shipping charge, this column contains the amount charged for shipping the order or the amount of the shipping charge that is refunded when an item is returned. This value is positive for a shipping charge, and negative for the value returned. Any applicable taxes charged for shipping costs are recorded in the Taxes column. This column is calculated using the following formula: shipping charge or refund - shipping discount..", + "fullyQualifiedName": "sample_data.shopify.fact_sale.shipping", + "tags": [], + "ordinalPosition": 18 + }, + { + "name": "taxes", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "The amount of taxes charged or returned for the line item. This value will be positive for a sale and negative for a return. Tax on an order is split proportionally amongst the line items to which it applies. Gift cards are not taxed. If multiple taxes are applied (for example, State and City sales taxes), then this column contains the sum of those tax amounts. This column can include taxes charged on shipping, if they are applicable.", + "fullyQualifiedName": "sample_data.shopify.fact_sale.taxes", + "tags": [], + "ordinalPosition": 19 + }, + { + "name": "gift_card_discounts", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Total amount discounted from gift card sales. For example, if a $50 gift card is sold at a $10 discount for $40, then this column will contain $10.", + "fullyQualifiedName": "sample_data.shopify.fact_sale.gift_card_discounts", + "tags": [], + "ordinalPosition": 20 + }, + { + "name": "gift_card_gross_sales", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Total face value of gift cards sold. For example, a $50 gift card is sold at a $10 discount for $40. In this example, the gift_card_gross_sales column will contain $50. Use this column to measure the increase in liabilities due to gift cards being issued (even though this value will not balance against the actual payments that you receive).", + "fullyQualifiedName": "sample_data.shopify.fact_sale.gift_card_gross_sales", + "tags": [], + "ordinalPosition": 21 + }, + { + "name": "gift_cards_issued", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Net amount that the gift cards sold for, after discounts. For example, for a $50 gift card sold at a $10 discount for $40, this column will contain $40. Use this column to balance against the payments that you receive.", + "fullyQualifiedName": "sample_data.shopify.fact_sale.gift_cards_issued", + "tags": [], + "ordinalPosition": 22 + }, + { + "name": "quantity", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Quantity of the items sold or returned. This value will be negative for returns and zero for line items that contain shipping charges.", + "fullyQualifiedName": "sample_data.shopify.fact_sale.quantity", + "tags": [], + "ordinalPosition": 23 + }, + { + "name": "currency", + "dataType": "VARCHAR", + "dataLength": 200, + "dataTypeDisplay": "varchar", + "description": "Three-letter ISO currency code of the payment. For example, USD is the code for United States Dollar. This is the currency of the store at the time of the order.", + "fullyQualifiedName": "sample_data.shopify.fact_sale.currency", + "tags": [], + "ordinalPosition": 24 + }, + { + "name": "is_deleted", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Contains 1 when the sale's order was deleted, otherwise contains 0.", + "fullyQualifiedName": "sample_data.shopify.fact_sale.is_deleted", + "tags": [], + "ordinalPosition": 25 + }, + { + "name": "test", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Whether the sale is a test order. Returns True when the sale is a test sale. See Test orders.", + "fullyQualifiedName": "sample_data.shopify.fact_sale.test", + "tags": [], + "ordinalPosition": 26 + }, + { + "name": "happened_at", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Date (ISO 8601) and time (UTC) when the order was created for a sale or when the order was returned.", + "fullyQualifiedName": "sample_data.shopify.fact_sale.happened_at", + "tags": [], + "ordinalPosition": 27 + } + ], + "database": { + "id": "50da1ff8-4e1d-4967-8931-45edbf4dd908", + "type": "database", + "name": "sample_data.ecommerce_db", + "description": "This **mock** database contains tables related to shopify sales and orders with related dimension tables.", + "href": "http://localhost:8585/api/v1/databases/50da1ff8-4e1d-4967-8931-45edbf4dd908" + }, + "tags": [], + "usageSummary": { + "dailyStats": { + "count": 400, + "percentileRank": 91 + }, + "weeklyStats": { + "count": 400, + "percentileRank": 91 + }, + "monthlyStats": { + "count": 400, + "percentileRank": 91 + }, + "date": "2021-12-01" + }, + "followers": [], + "joins": { + "startDate": "2021-11-01", + "dayCount": 30, + "columnJoins": [ + { + "columnName": "billing_address_id", + "joinedWith": [ + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_address.address_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_api_client.api_client_id", + "joinCount": 55 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_customer.customer_id", + "joinCount": 45 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_location.location_id", + "joinCount": 50 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.product\".product_id", + "joinCount": 40 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.shop\".shop_id", + "joinCount": 40 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_staff.user_id", + "joinCount": 20 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_order.order_id", + "joinCount": 60 + } + ] + }, + { + "columnName": "shop_id", + "joinedWith": [ + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_address.address_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_api_client.api_client_id", + "joinCount": 55 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_customer.customer_id", + "joinCount": 45 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_location.location_id", + "joinCount": 50 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.product\".product_id", + "joinCount": 40 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.shop\".shop_id", + "joinCount": 40 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_staff.user_id", + "joinCount": 20 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_order.order_id", + "joinCount": 60 + } + ] + }, + { + "columnName": "line_item_id", + "joinedWith": [ + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_line_item:line_item_id", + "joinCount": 20 + } + ] + }, + { + "columnName": "shipping_address_id", + "joinedWith": [ + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_address.address_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_api_client.api_client_id", + "joinCount": 55 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_customer.customer_id", + "joinCount": 45 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_location.location_id", + "joinCount": 50 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.product\".product_id", + "joinCount": 40 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.shop\".shop_id", + "joinCount": 40 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_staff.user_id", + "joinCount": 20 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_order.order_id", + "joinCount": 60 + } + ] + }, + { + "columnName": "api_client_id", + "joinedWith": [ + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_address.address_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_api_client.api_client_id", + "joinCount": 55 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_customer.customer_id", + "joinCount": 45 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_location.location_id", + "joinCount": 50 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.product\".product_id", + "joinCount": 40 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.shop\".shop_id", + "joinCount": 40 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_staff.user_id", + "joinCount": 20 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_order.order_id", + "joinCount": 60 + } + ] + }, + { + "columnName": "user_id", + "joinedWith": [ + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_address.address_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_api_client.api_client_id", + "joinCount": 55 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_customer.customer_id", + "joinCount": 45 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_location.location_id", + "joinCount": 50 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.product\".product_id", + "joinCount": 40 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.shop\".shop_id", + "joinCount": 40 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_staff.shop_id", + "joinCount": 20 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_staff.user_id", + "joinCount": 20 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_order.order_id", + "joinCount": 60 + } + ] + }, + { + "columnName": "product_id", + "joinedWith": [ + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_address.address_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_api_client.api_client_id", + "joinCount": 55 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_customer.customer_id", + "joinCount": 45 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_location.location_id", + "joinCount": 50 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.product\".product_id", + "joinCount": 40 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.shop\".shop_id", + "joinCount": 40 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_staff.user_id", + "joinCount": 20 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_order.order_id", + "joinCount": 60 + } + ] + }, + { + "columnName": "product_variant_id", + "joinedWith": [ + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_address.address_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_api_client.api_client_id", + "joinCount": 55 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_customer.customer_id", + "joinCount": 45 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_location.location_id", + "joinCount": 50 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.product\".product_id", + "joinCount": 40 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.shop\".shop_id", + "joinCount": 40 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_staff.user_id", + "joinCount": 20 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_order.order_id", + "joinCount": 60 + } + ] + }, + { + "columnName": "customer_id", + "joinedWith": [ + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_address.address_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_api_client.api_client_id", + "joinCount": 55 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_customer.customer_id", + "joinCount": 45 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_customer.shop_id", + "joinCount": 45 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_location.location_id", + "joinCount": 50 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.product\".product_id", + "joinCount": 40 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.shop\".shop_id", + "joinCount": 40 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_staff.user_id", + "joinCount": 20 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_order.order_id", + "joinCount": 60 + } + ] + }, + { + "columnName": "order_id", + "joinedWith": [ + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_address.address_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_api_client.api_client_id", + "joinCount": 55 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_customer.customer_id", + "joinCount": 45 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_location.location_id", + "joinCount": 50 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.product\".product_id", + "joinCount": 40 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.shop\".shop_id", + "joinCount": 40 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_staff.user_id", + "joinCount": 20 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_order.api_client_id", + "joinCount": 60 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_order.customer_id", + "joinCount": 60 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_order.order_id", + "joinCount": 60 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_order.shop_id", + "joinCount": 60 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_order.user_id", + "joinCount": 60 + } + ] + }, + { + "columnName": "location_id", + "joinedWith": [ + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_address.address_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_api_client.api_client_id", + "joinCount": 55 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_customer.customer_id", + "joinCount": 45 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_location.location_id", + "joinCount": 50 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.product\".product_id", + "joinCount": 40 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.shop\".shop_id", + "joinCount": 40 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_staff.user_id", + "joinCount": 20 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_order.order_id", + "joinCount": 60 + } + ] + } + ] + }, + "sampleData": { + "columns": [ + "sale_id", + "billing_address_id", + "api_client_id", + "customer_id", + "line_item_id", + "location_id", + "order_id", + "product_id", + "product_variant_id", + "shipping_address_id", + "shop_id", + "user_id", + "gross_sales", + "net_sales", + "total_sales", + "returns", + "discounts", + "shipping", + "taxes", + "gift_card_discounts", + "gift_card_gross_sales", + "gift_cards_issued", + "quantity", + "currency", + "is_deleted", + "test", + "happened_at" + ], + "rows": [ + [ + "2b3c04be-73a4-400f-bad6-a3fa88b26a2d", + "9f502eb9-0455-43d2-99a7-7ab028578674", + "93bad0ce-cff9-4d02-8599-e6eff696ec06", + "5392f3b6-5490-4388-adda-f6a0e8d3b6f1", + "b4a0a627-4caa-44ea-9293-5321e4a9a615", + "3113c34b-4f56-43ef-b2f7-85a1b846b33e", + "cc86d5ed-aaf4-4593-adbf-b012ecd835bd", + "eeeddd3a-378d-4f76-93eb-fe61301fa6eb", + "dc9212a3-9412-4018-b860-6119f932edec", + "509c725c-e864-4b07-a220-cf06a6649eca", + "efb07aef-4188-4e75-81b5-8ac26fe1d6e9", + "ad839ed0-e65b-4bc3-8223-5460d66204e3", + 8231, + 1725, + 106, + 3753, + 7806, + 2792, + 3092, + 8243, + 1418, + 5164, + 3480, + "$46.92", + true, + false, + 284557208 + ], + [ + "8fcae9f7-ae17-4d48-aa59-00e969a06f44", + "4f9c05f2-1fef-4649-bd86-ed9cf3bb2bd0", + "bac3dd4c-d429-4dd7-be53-51b4e27ba176", + "56b9b7bd-2a80-49a5-86ee-b9f3c0bfc3e5", + "c845bf4d-1eb4-47fa-ab83-a36f0e3ed5ae", + "96e01920-05be-46c2-8e32-417461c2e8dc", + "f868cead-99d1-4970-be51-1fb067a95269", + "598c47ff-1e8b-49ca-8fcc-93f2c35b4a69", + "4d05cba7-e7d1-4977-8657-2d88d9b9f4ae", + "546990a0-ffe2-4aab-bd7a-b393af144272", + "0cc3ec68-f212-4790-affd-94f66c3ffddb", + "6139e1cd-5a97-4ab7-bb50-0bca429e0aba", + 9685, + 6667, + 2513, + 6084, + 6759, + 8739, + 797, + 339, + 6306, + 1216, + 8844, + "$2,623.03", + false, + false, + 1165807870 + ], + [ + "936c6b79-6cbc-462d-b743-69acf9566bfc", + "a4ad788d-b510-4c97-8d44-ef75f91a754a", + "ba19e3ea-a877-4b10-86dd-00b75f96695f", + "a76458e9-b7a4-4c37-902e-dfe5a6e1da66", + "264a1986-4b8b-4218-a459-0538a1317327", + "aafa7ecf-9ac0-4250-a920-26b8ac34c6af", + "16be2745-fe1b-47b9-b6f3-9bcee6b5c73c", + "4984879e-30d8-4efe-93a8-a6b92da9e381", + "54631da9-abef-4380-bb04-e52af3dbda2d", + "abfe4536-80b3-41ec-a9c1-95e3262895a1", + "2021fc9e-ef78-4e02-a150-75f7465354bc", + "c6aa8fe3-eba8-40d9-a59d-d90a8c534b21", + 1272, + 234, + 1070, + 4010, + 3001, + 7753, + 8539, + 7659, + 3972, + 3286, + 2301, + "$7.95", + false, + true, + 1604012068 + ], + [ + "a53309ce-f22e-4b4c-8e62-e1285cd698f4", + "583cd55c-9e84-4c94-bd6a-50b44012f8cd", + "d3c53275-3e80-4a2e-bc90-4286031120b2", + "34808169-7cc0-4c94-b628-522c7bcd5e0e", + "89735063-8b40-404b-98de-971b94b25af3", + "10b09906-dfd7-4964-aae8-b494d2b3c74c", + "e2d06093-b366-4d9c-87f4-4f00ec8b8c32", + "9822f269-e7b7-4f64-a844-4fe585eb1dac", + "2c0e857a-d732-49b7-96a0-4859a97b1731", + "ec880ad7-6fec-4ffa-b0a5-e25c0832e43c", + "9c3e947f-2892-4db3-9634-c07f03771969", + "794176f1-1e1c-47ac-a386-81b1548edad6", + 299, + 3495, + 5647, + 6889, + 107, + 9414, + 9714, + 2413, + 8378, + 4747, + 5553, + "$79,363.75", + false, + false, + 299334621 + ], + [ + "a8399308-f107-4d53-b307-a5f5abb41a47", + "d3bafb8c-8638-4dfe-b5e4-f431395b0384", + "ae1bdefa-946d-4ab5-9690-7e3cb15bedf6", + "75137797-5189-407a-b94c-91d82935445c", + "10580d7d-9a8a-4c86-9a58-27e065cf519c", + "cbf77ea6-cefb-45f3-bbdd-0ef72873474c", + "ee10a5a2-b424-4515-b8af-59352a1bdb20", + "dc08c325-3545-4ec4-9f66-fdcbe0a3c492", + "51b87d0e-194b-44c0-800b-b4cd133998ac", + "8212d97b-2cb4-4b02-89b1-6f4bf0eb06b0", + "3ecfd126-266a-4989-bd00-5821e8a04baa", + "46aac7a8-011d-4549-88dc-6232de00d0ea", + 1576, + 6465, + 9893, + 5649, + 8218, + 398, + 4581, + 1324, + 6938, + 5328, + 9213, + "$62,247.04", + false, + false, + 1448369157 + ], + [ + "6e352cb7-1e09-403b-9a6a-356102224fdd", + "79963a33-01f2-43f0-9a54-f495bfafcbfd", + "64a70aff-5c07-467e-90ac-422aa8cec80c", + "26d67968-4777-4b57-b331-deb8f7e6de72", + "3f66c791-8b67-4ee5-991c-538f6a715b38", + "dfe713a2-5218-4ac7-b959-22d8aca0f57c", + "dfb14016-7b2e-4565-9df0-c632923cdfa3", + "187bcb21-b94c-4502-90a4-007cebd1fdbf", + "299b5e9e-ca57-4ceb-98c4-334c5c8d5008", + "14a0914f-2447-49cc-96dd-34b72c8af541", + "e9307e60-3110-41cd-b43c-4d1829701e1d", + "3e50c0f1-589e-4d2b-ba37-ade60e926ac2", + 9592, + 5431, + 4444, + 6037, + 5351, + 4806, + 8592, + 2378, + 6936, + 9134, + 5586, + "$935.60", + false, + true, + 1355810610 + ], + [ + "9d863a14-a8eb-4273-a71b-438e0a6463b9", + "83445e17-4c54-483a-b9ce-b93daf1e2428", + "96531125-8159-4f53-bc5b-ab6b73a390bd", + "0a914623-08b3-4627-aeed-096d2d3e7857", + "21f219fa-a1a1-44c7-8bdc-2c794321051c", + "c7ed7c7b-e3e9-407f-9ca8-52762fb9634a", + "afdf8182-e24c-40b1-84e3-b3900bf27fc8", + "5d188a80-6575-4675-9aef-2785ddc1859a", + "1cda1f3c-3480-41c4-bc85-791c8815bc26", + "f85863d9-96c2-494f-881e-6b169367d2ce", + "8d182f00-84a0-4376-b4e1-39594ab28654", + "d2be77f4-c1fa-4f36-a2b0-4d8546094408", + 9000, + 5292, + 5760, + 8378, + 3333, + 9404, + 7258, + 773, + 8982, + 2613, + 8005, + "$3.54", + false, + false, + 1098380999 + ], + [ + "61d859cf-b4a2-4e15-8ca9-3a39b90cfcae", + "5e097c8d-b850-4a7c-a3ba-d042ea23f5ee", + "f6f8e533-49f4-4762-bfe3-89a5ac75a8c5", + "ad4a9a50-55b7-4058-a3a7-5cdcaa19fb7e", + "7ebc82c6-790f-4926-9150-7bb731d2555f", + "ad29ab7b-ef22-4b2f-bffc-f5e8e11f54ca", + "6c2af61e-f718-48cf-963e-f0050dc31f38", + "2ef661ec-e80c-40ce-bd82-9da3d323cff8", + "14d77096-93e7-44e0-ac67-8e623c8a756f", + "270ba39c-8b2e-45d7-b02a-1a7abc809086", + "bfe0754d-4761-4e4e-80b0-9a22a1095569", + "f428829c-581f-4efd-a07b-2ac0cfa21ac8", + 5882, + 1748, + 6641, + 2990, + 3310, + 1722, + 2671, + 1155, + 1433, + 5236, + 4526, + "$9,201.71", + false, + true, + 953790452 + ], + [ + "d0816df5-1d9e-4323-91f7-c13ce94f2ca6", + "eec855e3-4326-422f-8896-67c46303b1ba", + "d0828f25-ade4-49f5-9f42-ab845a7f4abf", + "d704320b-9dbd-4d4f-b8e3-2252608663ae", + "1e93fd8b-195d-4c35-8b10-7cd12f8107b9", + "52fa5ea3-2098-490e-9372-f9498954c502", + "7c6b8701-8d31-4bfa-ba8c-f12ecb72614e", + "f638a858-0238-4482-bbf3-3a4bfb1de854", + "2806b9c2-ba75-403f-9dd2-80dfa45f6855", + "3a893e6a-aaed-4927-9b54-2c45affbb26a", + "7e192612-5199-4aee-920f-8c49ad40f5c7", + "7f11d049-b5f7-4e90-9ed6-9d2a901a4c4f", + 8984, + 6145, + 496, + 1217, + 9939, + 5554, + 6502, + 8280, + 4494, + 3572, + 5054, + "$5.88", + false, + true, + 303959178 + ], + [ + "890bf664-8d87-4837-aec8-97a55dd9ff7a", + "e4acba3b-0bf6-4877-b141-6705285219ef", + "fd5f0ee8-b393-4ead-82e5-cded5ad20500", + "a1e08252-0e07-41ae-8d74-216122b66d43", + "0e032f12-fb27-4740-b249-c4b64d719e0a", + "a203daa6-f767-4a45-88cd-476042f3dd2b", + "07eb39c9-add1-409b-9d3c-9dd1b238a29a", + "fe2a18ca-51ca-47a4-a454-129d118161eb", + "8800e830-5002-4dff-a224-f4e596e0fa71", + "79af2b40-8843-44ff-85bd-459ab59b2574", + "274f5dd7-6ffe-44d6-8ecb-6f8807242cfc", + "61ef45a5-5428-41a5-aefe-9ae00a83072a", + 6360, + 6497, + 7353, + 6607, + 3722, + 9038, + 5543, + 7766, + 1889, + 633, + 5121, + "$47.87", + false, + false, + 1039960039 + ], + [ + "5a8499ed-6f72-4dbf-b6b8-7bd6bed694e8", + "27414077-6221-4590-b74b-555788183b28", + "25b09185-52dd-4d5a-991c-165c1748b8fd", + "daec26fc-8af8-4314-a1ce-8a6821e888c5", + "453c114b-0863-4f2c-8e59-47e9e03e0a30", + "0ba608c2-1942-45e7-8186-469384bde17c", + "20a0e41b-a53b-429f-b802-6834949802b2", + "8f23f415-be88-478f-894f-41d194be0d72", + "99ac479e-03a9-4951-9ceb-5248e25501d0", + "7a122c4d-9f7d-4612-89be-26e8f2633384", + "3203ebc8-f040-4a22-8051-53e26d7c75ae", + "2c16205f-3b8f-49d2-8d2e-4eda27090445", + 2267, + 6585, + 2498, + 6670, + 3673, + 28, + 8265, + 4186, + 8002, + 3080, + 929, + "$50.78", + true, + true, + 381526739 + ], + [ + "53d83b72-00a4-401b-b2fd-88ef216cb370", + "7b1d6340-19d7-404a-9bcf-b4391a06975b", + "e9f25e28-5986-407a-bb1a-aca42dd0809a", + "363c1eef-7e00-4b70-9a19-be63bbec2ce3", + "489de0b3-9a11-46dc-b474-7d5196e16bf0", + "5b1f0260-2723-48c4-9125-8885cf296c5f", + "493a2976-e2ca-4f1d-b73e-c3fe45caeef4", + "82b35f15-8e07-4031-bc9e-e1bc2c29376f", + "10ef9479-9503-41c5-85ee-9acee9efac8f", + "834bd950-eff8-4b4d-af76-9260328fd027", + "c930bd9a-462b-46d3-a439-b8698f438020", + "768c2392-70af-437e-9e0b-524cbdeefec1", + 2292, + 2119, + 9645, + 1916, + 3729, + 1024, + 8782, + 3913, + 1945, + 5367, + 3681, + "$68.87", + true, + false, + 1018476339 + ], + [ + "743aedce-c19b-4de6-a3a5-44abe76b631b", + "60fc4181-517e-465c-863e-96682c63a4da", + "20c1ad74-3e3e-43fd-b70e-8d865357f610", + "4f739c5d-ec5e-4a73-8368-07a87b54156a", + "404a8ca0-2ea5-4a50-9710-3f18d22bcbc3", + "df47cd8c-3c29-42db-9e5a-13bbe6d3dcdc", + "415027d7-0068-43b8-b0f3-1c5ed4e6fed1", + "aa92bc72-96bb-40dd-bfff-8e87966adebe", + "c9701d6e-8732-47e9-84bc-6d6f7dd88248", + "791a23d4-2c45-4292-a627-ebf75c744298", + "53223798-8f75-46b0-8b3b-fa12d9a352a8", + "32fea79c-b81e-43c4-91e2-862b1a51c099", + 4879, + 1918, + 3797, + 4178, + 1959, + 1899, + 5322, + 1860, + 4216, + 8385, + 2282, + "$29,275.45", + true, + true, + 286911468 + ], + [ + "6e6a97bf-eb88-41a3-a955-61e094d8a13a", + "1c642fe1-96c8-40f0-9117-9041ca09e99e", + "023ae957-b57b-4117-ac11-638b9908b25f", + "0cbab8d7-e9ce-4643-b737-09aba2d41ce0", + "c8915f98-590f-426a-8625-50aad5769f76", + "1bd71906-c7f6-4d22-a3d5-e8149bc7d7e4", + "208aaf57-8cdd-4118-ac51-f056d651a275", + "1d72eca8-d193-4cd0-8211-dadfe0941525", + "8c1f025b-d8b6-4c11-bba4-d2ad969df182", + "7650b35f-82d6-41c8-96e9-cc8568d73377", + "3568937d-4adc-4a50-8fa2-7e5b4290ee39", + "990c1e00-6c0b-44a2-a708-b37ade17183c", + 540, + 6727, + 7227, + 6665, + 3119, + 935, + 4720, + 6822, + 9858, + 8392, + 1658, + "$3,792.19", + true, + false, + 721743265 + ], + [ + "dc773f73-6bda-4dcf-be72-e973163471d9", + "c5f2d4f0-4f72-470e-a6ca-2e6041f7f697", + "15df4ab0-cee5-49ea-9b3f-29a6e530d089", + "140d6b1e-4845-4b86-a482-1c9f8272092b", + "104d6c75-043e-4e16-891f-eb0586b11c5e", + "d34790c1-b8a3-48ef-969e-f5adcbf61626", + "7daaa9da-7fb6-4889-8bad-76f92bbb4a4b", + "782e22df-7a32-418d-8556-92e019cae26b", + "8577dc80-5cd8-4106-9063-d3b2453793e8", + "a3bde947-a0b1-4568-8413-307156083836", + "11433e85-35c2-4bed-ac63-ac4e0aa6862b", + "4867e7d0-c8f5-42bc-ac52-9dcadc012925", + 5385, + 6449, + 8863, + 9314, + 3756, + 1082, + 685, + 3472, + 4900, + 7137, + 2266, + "$4,157.40", + false, + false, + 573408267 + ], + [ + "69c04e11-d7d4-49b3-8ab7-950265ff9f75", + "06413298-2aca-42ec-82d0-5990710e1721", + "be268375-168e-46bc-9bce-5ce288b35434", + "31ae938b-4b73-47e0-a3eb-f92f1b73db57", + "e63aa99c-7386-4517-8f67-43300e6635f4", + "2ee28606-5b0f-41cd-8c4c-16d13ae3ea02", + "23be1744-540c-4a3a-9be7-62b6fc325201", + "2fccec1a-e7f4-4ece-afd5-7a2a8f6a8df1", + "494575e8-164c-4e15-b07b-ed3c7a5ed4e0", + "ce749e24-a440-4745-874b-bbab0c236ead", + "5e443e05-b176-436c-8d8b-9f7a00098c8c", + "d718c74f-bd0b-4eb4-b4b8-aec7447c1ba6", + 1516, + 9572, + 9670, + 9036, + 4119, + 4095, + 2286, + 64, + 3755, + 2480, + 8931, + "$52,331.57", + true, + true, + 482254965 + ], + [ + "68c07db1-c2f0-4675-8917-5af457bd4a90", + "d9a612e8-87eb-4882-8ed9-840607094ac8", + "7271e44e-ed87-4a4e-b0b7-68e0cebab9f3", + "6939ee3f-a206-4627-a973-8111941815b8", + "9438bacf-067d-4d5b-a33f-9cb252c45ab1", + "e1401d2d-1aa6-4246-87d9-1708756a4b97", + "0b7aa5a0-b8c7-4f12-a88e-2ee86bfe2d78", + "b7da4535-6391-4dd9-81f1-fdc543c659bb", + "5e78ab47-99cc-4d6d-a74f-332565bdfbd0", + "8265b4f4-f1f8-4aed-817f-339417a3a7eb", + "6ece7a65-e5cf-4c76-be9d-085d934ad4fa", + "3a86a20e-b51c-44ed-93bc-c642d0c2f186", + 6012, + 1607, + 4333, + 6309, + 3880, + 3050, + 3961, + 2494, + 2996, + 2456, + 9075, + "$5.53", + true, + false, + 36764188 + ], + [ + "ec308a11-90e8-46a0-a6fc-60683ea84b0d", + "c1adb720-56d5-4d5d-aeef-4ba12a3d4c55", + "1a51e955-8486-446f-a29c-01c8de70acf6", + "c37c9395-ec46-4595-b751-be38674a30af", + "086b598d-25fb-4b6d-8f40-340f95d081d1", + "97e5c602-7076-42c4-95f8-d81cba0f3ba9", + "b89560fc-6ad1-41a2-9c3c-c059c558410a", + "c7cc6b50-0165-41ef-a0d2-2feea084f017", + "858572cf-7196-4f51-a9d1-01f130332562", + "326bc1c7-f74e-40ec-8dfc-b6ae0e6625ab", + "f02b21c9-f7d8-4d84-9243-4cb9bfbc58a6", + "0a281b23-2297-409c-82f5-1d4ae0873976", + 2585, + 1583, + 4676, + 2627, + 9317, + 2904, + 5912, + 1359, + 9534, + 1879, + 7107, + "$86,570.00", + false, + true, + 329450801 + ], + [ + "f84538e7-de61-4808-81e2-5eb700739b1d", + "a0a6b33c-0ebc-40af-b30d-efed93660807", + "20719997-f363-4a3c-afa8-34df186c853d", + "e396ffde-4655-4c5b-8f83-1d9135cbe27b", + "510f52b2-8f65-47f9-80bc-c30a13370f9d", + "b13b1ebc-d017-47b9-8303-c20b78fe4dbd", + "3a8c9275-2b43-4f99-b957-4e35bf019995", + "0578ce68-1f46-4508-95d6-4005b525afc4", + "47991b09-8a6b-467b-9923-06da64b7eae1", + "f793564f-4e06-4f69-a2a5-9b6a96b0c6b1", + "6b3ff4d3-0784-4d8f-b52d-7c4c3879568c", + "af7e8460-7347-42c1-8f19-61722743c4e1", + 6305, + 3006, + 9550, + 782, + 9062, + 195, + 2849, + 713, + 1033, + 606, + 567, + "$73,100.01", + false, + false, + 122218817 + ], + [ + "8720fc05-3237-4dc7-b741-69f3e8288923", + "d54e1508-cd8b-4903-b132-c07d1c03be3d", + "895392e8-1269-4f00-86c3-3bb9a5b49eef", + "ffc62a8a-ab28-43b5-b818-38db57d162db", + "be828999-92ca-4e7e-b8aa-30af27753d24", + "c4eadc41-3766-42a6-9178-f3eac740f173", + "89417c63-6b52-4f67-8b0d-8ba157e68d8c", + "b7df5178-3cd8-4f7c-a7a6-0d33790d1994", + "305688fe-7834-40ab-97f5-0929d537055a", + "3807dc06-827d-4342-9c51-06f2d4189eec", + "3ba42fb6-7cfd-40fb-a56c-887fe0c53251", + "42a10220-32ee-4e02-a0a4-60567077a194", + 9203, + 3879, + 2850, + 8466, + 4365, + 1642, + 8816, + 2453, + 7777, + 3818, + 5959, + "$4,648.39", + false, + false, + 105214299 + ], + [ + "322f1f9a-e867-494c-b90f-3e8d56d6ef66", + "8bc7dc0c-aa3f-455e-a794-feec40db0d8e", + "33f9f306-3fd0-4b30-9ef2-7c885ef1fe73", + "b2a91029-20f8-4e0c-a80b-77a5a403c236", + "103d835f-cfb2-47c2-bf1a-b861b4c7bf2c", + "8eeab758-1750-4e3f-b00a-efefb99a39bc", + "abfa4bbf-9c41-47ed-b995-0deba717efc1", + "aebfd886-8118-4196-97fe-1f441ab64f3d", + "e82465ac-d258-4251-ba8a-a784f6e0bf33", + "49414b22-fd2a-474e-a0ee-748eb6078e57", + "066fd4fa-9911-4bf5-b372-67306571d0a4", + "b533ab4e-e310-48e4-86e0-a808b55994a5", + 1129, + 5225, + 5837, + 4812, + 386, + 4638, + 4239, + 6761, + 6384, + 9874, + 6791, + "$784.35", + false, + false, + 1018673412 + ], + [ + "aa5479f6-7660-48c2-af0f-5c75e8a9fe92", + "8d45bcfd-1c6e-43b4-a1f1-4e2827d9d86c", + "29e5c746-0f70-4f27-9569-e829f0b87e3d", + "f3dda666-af5c-4185-87ae-8d566caa83bc", + "5fc19676-3def-47e7-a01e-35cb9457812e", + "2e926907-a8dc-4b52-9400-d55c5d5b5f37", + "59d1563f-7fff-4ea6-bb1a-e060bdd669aa", + "4d88fca5-0af5-42f6-bdfd-5c2bfc99575d", + "dc5531b2-b88c-4dcd-9d44-3d502c60e108", + "fff573cb-c933-44df-a46c-5563c78d7d03", + "e8e5fec6-7745-4901-999e-fa70d3198866", + "e74d1dc4-cb29-4d87-ae88-931d14c1132c", + 700, + 7100, + 5983, + 7188, + 5428, + 7233, + 9312, + 9439, + 5866, + 9497, + 4106, + "$5,791.84", + true, + false, + 264597060 + ], + [ + "4e9aa62b-04bf-4e0e-9b45-9a3aa7575e95", + "939f2927-a851-4dde-8558-ab0bfac7c955", + "4a2ab727-826b-472c-a89b-2dd1f3d33085", + "7697ddf9-2466-4532-8b53-2b0f25b576c7", + "17c7bfc6-bf9f-4f43-9b10-440338582742", + "8d517785-6f59-4e0e-a7eb-9cd9328ef44a", + "b9a36ef0-1862-4575-8856-ab82d6a8e753", + "1c29486e-a7d8-40d6-94b4-0200a25d7920", + "7986995f-a6b4-456d-9d1a-cb1eb324a1f9", + "a0dd01be-886c-4c7c-8447-a054920d2966", + "655c236f-6535-4644-8992-9761557e65fc", + "796ae1f9-d32c-40b3-afbc-bce2c105050a", + 2662, + 1231, + 4638, + 1932, + 1848, + 7118, + 3026, + 2298, + 724, + 5500, + 2145, + "$9.05", + false, + true, + 593894528 + ], + [ + "e066ab9f-75c8-489e-88a5-450995a9e473", + "d7b47277-cde3-40d9-9420-2f5532fb407b", + "b7649563-3e7c-4e6c-b9c4-a7e9420d2e96", + "04e7d3ba-11bf-4370-9866-9f2b7a67cb59", + "c011cd14-9489-4aec-82d0-ac70fa0849e4", + "3b2352fb-2ca1-4e2b-8b9e-f8c1435863cc", + "52fe65c2-40f4-473f-8557-ebeb5fbad816", + "986aefb6-27e4-4ea6-a211-87abd39c8fcd", + "7cc9d8d8-4fa5-4f8a-8d17-fc15ffe4294b", + "b7b730ce-d885-41dc-969d-f270c5d437f4", + "b31708ec-bf62-420c-b6d3-c539f1162646", + "0779b465-b645-406a-b4bf-a85aec5ade49", + 7388, + 3460, + 9981, + 6913, + 347, + 801, + 2762, + 299, + 7911, + 6267, + 9401, + "$6.50", + true, + true, + 1601338936 + ], + [ + "cecf3e7a-7e8f-4bca-88bf-c7b734129104", + "89f07a3d-b136-4e2e-b410-ed67aa27907e", + "835bc3f5-2f9c-452c-b3b1-4b5f7b1879f2", + "ce2883dc-eec9-45e8-8186-e4cc9e026b85", + "1d591e91-51f8-4ae3-8780-526da640ef5c", + "d2825593-d565-44aa-9411-c25631a16dd6", + "43bd19a3-11fc-4227-a7e7-3ea92e6c5014", + "b879d37b-147d-4e67-ab8b-695de181d23c", + "6d411488-1a83-4032-928f-e9beb2bf3128", + "078559d9-6055-464b-914e-049e45672645", + "34d11ccb-cd43-4971-b442-8c764b104066", + "3daa9228-f5f7-4f5c-b401-ca09e9c46556", + 8213, + 3569, + 9156, + 3945, + 1461, + 8180, + 3053, + 3003, + 3060, + 1485, + 2639, + "$21,405.64", + false, + true, + 321602929 + ] + ] + }, + "tableProfile": { + "timestamp": 1634366539, + "columnCount": 27, + "rowCount": 169, + "columnProfile": [ + { + "name": "sale_id", + "uniqueCount": 46, + "uniqueProportion": 0.4556834255, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "billing_address_id", + "uniqueCount": 36, + "uniqueProportion": 0.412740311, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "api_client_id", + "uniqueCount": 9, + "uniqueProportion": 0.4848320849, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "customer_id", + "uniqueCount": 16, + "uniqueProportion": 0.274374675, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "line_item_id", + "uniqueCount": 19, + "uniqueProportion": 0.1779729031, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "location_id", + "uniqueCount": 5, + "uniqueProportion": 0.403198425, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "order_id", + "uniqueCount": 41, + "uniqueProportion": 0.5763257885, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "product_id", + "uniqueCount": 1, + "uniqueProportion": 0.271483578, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "product_variant_id", + "uniqueCount": 18, + "uniqueProportion": 0.54392552, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "shipping_address_id", + "uniqueCount": 48, + "uniqueProportion": 0.457357716, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "shop_id", + "uniqueCount": 47, + "uniqueProportion": 0.1455819185, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "user_id", + "uniqueCount": 25, + "uniqueProportion": 0.502421822, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "gross_sales", + "uniqueCount": 10, + "uniqueProportion": 0.4514540014, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "net_sales", + "uniqueCount": 5, + "uniqueProportion": 0.643516191, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "total_sales", + "uniqueCount": 37, + "uniqueProportion": 0.1991445491, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "returns", + "uniqueCount": 23, + "uniqueProportion": 0.3934633215, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "discounts", + "uniqueCount": 10, + "uniqueProportion": 0.521182903, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "shipping", + "uniqueCount": 41, + "uniqueProportion": 0.577276297, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "taxes", + "uniqueCount": 15, + "uniqueProportion": 0.1038962515, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "gift_card_discounts", + "uniqueCount": 24, + "uniqueProportion": 0.4806029226, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "gift_card_gross_sales", + "uniqueCount": 23, + "uniqueProportion": 0.285063012, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "gift_cards_issued", + "uniqueCount": 4, + "uniqueProportion": 0.502737667, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "quantity", + "uniqueCount": 4, + "uniqueProportion": 0.424923401, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "currency", + "uniqueCount": 39, + "uniqueProportion": 0.1127764811, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "is_deleted", + "uniqueCount": 35, + "uniqueProportion": 0.5043061999, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "test", + "uniqueCount": 32, + "uniqueProportion": 0.370361415, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "happened_at", + "uniqueCount": 47, + "uniqueProportion": 0.983529122, + "distinctCount": 0, + "distinctProportion": 0 + } + ] + }, + "databaseSchema": { + "id": "d7be1e2c-b3dc-11ec-b909-0242ac120002", + "type": "databaseSchema", + "name": "sample_data.ecommerce_db.shopify", + "description": "This **mock** Schema contains tables related to shopify sales and orders with related dimension tables.", + "href": "http://localhost:8585/api/v1/databaseSchemas/d7be1e2c-b3dc-11ec-b909-0242ac120002" + }, + "sourceUrl": "http://localhost:8080/fact_sale" + }, + { + "id": "e12a4906-aaa3-47f8-960c-f19409a5e5a4", + "name": "fact_session", + "description": "This fact table contains information about the visitors to your online store. This table has one row per session, where one session can contain many page views. If you use Urchin Traffic Module (UTM) parameters in marketing campaigns, then you can use this table to track how many customers they direct to your store.", + "version": 0.1, + "updatedAt": 1638354087797, + "updatedBy": "anonymous", + "href": "http://localhost:8585/api/v1/tables/e12a4906-aaa3-47f8-960c-f19409a5e5a4", + "tableType": "Regular", + "columns": [ + { + "name": "derived_session_token", + "dataType": "VARCHAR", + "dataLength": 200, + "dataTypeDisplay": "varchar", + "description": "The ID of the visitor session. This column is the primary key for the table.", + "tags": [], + "constraint": "PRIMARY_KEY", + "ordinalPosition": 1 + }, + { + "name": "shop_id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "The ID of the store. This column is a foreign key reference to the shop_id column in the dim_shop table.", + "tags": [], + "ordinalPosition": 2 + }, + { + "name": "session_duration", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "The time that the visitor spent in your store during the session. This value is the sum of the time spent on each page view (except for the last page viewed) during the session. The maximum value is 1800 seconds (30 minutes).", + "tags": [], + "ordinalPosition": 3 + }, + { + "name": "count_of_pageviews", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "The number of pages viewed during the session.", + "tags": [], + "ordinalPosition": 4 + }, + { + "name": "session_started_at", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "The date (ISO 8601) and time (UTC) when this visitor session begins. It is the timestamp when the visitor first visits the store during this session. The format is YYYY-MM-DD HH:mm:ss (for example, 2016-02-05 17:04:01).", + "tags": [], + "ordinalPosition": 5 + }, + { + "name": "session_token", + "dataType": "VARCHAR", + "dataLength": 200, + "dataTypeDisplay": "varchar", + "description": "The ID of the session token that is created by the browser. A session token expires after 30 minutes of inactivity.", + "tags": [], + "ordinalPosition": 6 + }, + { + "name": "user_token", + "dataType": "VARCHAR", + "dataLength": 20, + "dataTypeDisplay": "varchar", + "description": "The unique token assigned to the user. A user token expires after 2 years of inactivity.", + "tags": [], + "constraint": "UNIQUE", + "ordinalPosition": 7 + }, + { + "name": "landing_page_url", + "dataType": "VARCHAR", + "dataLength": 1000, + "dataTypeDisplay": "varchar", + "description": "The full URL of the first page visited during the session. For example, https://www.myshop.com/products/cool-tshirt?utm_source=Shop&utm_medium=....", + "tags": [], + "ordinalPosition": 8 + }, + { + "name": "exit_page_path", + "dataType": "VARCHAR", + "dataLength": 1000, + "dataTypeDisplay": "varchar", + "description": "The path portion of the URL of the last page that the visitor visited during the session. This field is the same as exit_page_url except that it doesn\\u2019t contain the name of the store or any parameters. For example, /products/cool-tshirt.", + "tags": [], + "ordinalPosition": 9 + }, + { + "name": "exit_page_url", + "dataType": "VARCHAR", + "dataLength": 1000, + "dataTypeDisplay": "varchar", + "description": "The full URL of the last page that the visitor visited during the session. For example, https://www.myshop.com/products/cool-tshirt?utm_source=Shop&utm_medium=....", + "tags": [], + "ordinalPosition": 10 + }, + { + "name": "referrer_tld", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "The top-level domain of the referring website. For example, if the hostname is www.facebook.com, then the referrer_tld is com.", + "tags": [], + "ordinalPosition": 11 + }, + { + "name": "ua_browser", + "dataType": "VARCHAR", + "dataLength": 200, + "dataTypeDisplay": "varchar", + "description": "The name of the browser that the visitor used. For example, Mobile Safari, Chrome.", + "tags": [], + "ordinalPosition": 12 + }, + { + "name": "ua_raw", + "dataType": "VARCHAR", + "dataLength": 2000, + "dataTypeDisplay": "varchar", + "description": "The string that identifies the user agent of the user. User agent shows data about the operating system and device that a visitor uses to browse your store.", + "tags": [], + "ordinalPosition": 13 + }, + { + "name": "count_of_orders_completed", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "The number of orders created during the session.", + "tags": [], + "ordinalPosition": 14 + }, + { + "name": "completed_first_order_at", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "The date (ISO 8601) and time (UTC) when the visitor completes their first order during this session. Contains NULL if the visitor never completes an order during this session. The format is YYYY-MM-DD HH:mm:ss (for example, 2016-02-05 17:04:01).", + "tags": [], + "ordinalPosition": 15 + }, + { + "name": "hit_first_checkout_at", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "The date (ISO 8601) and time (UTC) when the visitor first visits the checkout page during this session. Contains NULL if the visitor never visits the checkout page during the session. The format is YYYY-MM-DD HH:mm:ss (for example, 2016-02-05 17:04:01).", + "tags": [], + "ordinalPosition": 16 + }, + { + "name": "started_first_checkout_at", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "The date (ISO 8601) and time (UTC) when the visitor first starts entering their information into the checkout fields. Contains NULL if the visitor never enters their information during the session. The format is YYYY-MM-DD HH:mm:ss (for example, 2016-02-05 17:04:01).", + "tags": [], + "ordinalPosition": 17 + }, + { + "name": "count_of_cart_additions", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "The number of items added to the cart during the session. For example, if a customer adds 5 t-shirts and 1 lipstick to their cart, and then removes one of the t-shirts, then the value in this column is 6.", + "tags": [], + "ordinalPosition": 18 + }, + { + "name": "count_of_distinct_products_added_to_cart", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "The number of distinct products added to the cart during the session. For example, if a customer adds 5 t-shirts and 1 lipstick are added to the cart, then the value in this column is 2.", + "tags": [], + "ordinalPosition": 19 + }, + { + "name": "count_of_distinct_product_variants_added_to_cart", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "The number of distinct product variants added to the cart during the session. For example, if a customer adds 2 small and 3 large t-shirts and 1 lipstick to the cart, then the value in this column is 3.", + "tags": [], + "ordinalPosition": 20 + }, + { + "name": "had_error", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "True when an an error appears during the checkout that is not a payment error, False otherwise.", + "tags": [], + "ordinalPosition": 21 + }, + { + "name": "had_payment_error", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "True when a payment error occurs during the checkout, False otherwise.", + "tags": [], + "ordinalPosition": 22 + }, + { + "name": "had_out_of_stock_warning", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "True when an out-of-stock warning appears on the checkout page, False otherwise.", + "tags": [], + "ordinalPosition": 23 + }, + { + "name": "had_credit_card_info_error", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "True when a payment error occurs because of a credit card error, False otherwise.", + "tags": [], + "ordinalPosition": 24 + }, + { + "name": "had_discount", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "True when a checkout error occurs because of a discount error, False otherwise.", + "tags": [], + "ordinalPosition": 25 + }, + { + "name": "had_free_shipping", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "True when the order has no shipping cost, False otherwise.", + "tags": [], + "ordinalPosition": 26 + }, + { + "name": "location_city", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "The name of the city where the visitor is located. For example, Topeka.", + "tags": [], + "ordinalPosition": 27 + }, + { + "name": "location_region", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "The name of the region, such as a province or state, where the visitor is located. For example, Kansas.", + "tags": [], + "ordinalPosition": 28 + }, + { + "name": "location_region_code", + "dataType": "VARCHAR", + "dataLength": 200, + "dataTypeDisplay": "varchar", + "description": "The code for the region, such as a province or state, where the visitor is located. For example, KS.", + "tags": [], + "ordinalPosition": 29 + }, + { + "name": "location_country", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "The name of the country where the visitor is located. For example, United States.", + "tags": [], + "ordinalPosition": 30 + }, + { + "name": "location_country_code", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "The two-digit ISO country code where the visitor is located. For example, US.", + "tags": [], + "ordinalPosition": 31 + } + ], + "database": { + "id": "50da1ff8-4e1d-4967-8931-45edbf4dd908", + "type": "database", + "name": "sample_data.ecommerce_db", + "description": "This **mock** database contains tables related to shopify sales and orders with related dimension tables.", + "href": "http://localhost:8585/api/v1/databases/50da1ff8-4e1d-4967-8931-45edbf4dd908" + }, + "tags": [], + "usageSummary": { + "dailyStats": { + "count": 0, + "percentileRank": 0 + }, + "weeklyStats": { + "count": 0, + "percentileRank": 0 + }, + "monthlyStats": { + "count": 0, + "percentileRank": 0 + }, + "date": "2021-12-01" + }, + "followers": [], + "joins": { + "startDate": "2021-11-01", + "dayCount": 30, + "columnJoins": [] + }, + "sampleData": { + "columns": [ + "derived_session_token", + "shop_id", + "session_duration", + "count_of_pageviews", + "session_started_at", + "session_token", + "user_token", + "landing_page_url", + "exit_page_path", + "exit_page_url", + "referrer_tld", + "ua_browser", + "ua_raw", + "count_of_orders_completed", + "completed_first_order_at", + "hit_first_checkout_at", + "started_first_checkout_at", + "count_of_cart_additions", + "count_of_distinct_products_added_to_cart", + "count_of_distinct_product_variants_added_to_cart", + "had_error", + "had_payment_error", + "had_out_of_stock_warning", + "had_credit_card_info_error", + "had_discount", + "had_free_shipping", + "location_city", + "location_region", + "location_region_code", + "location_country", + "location_country_code" + ], + "rows": [ + [ + "Business notice.", + "98f2964f-28cf-4669-80ea-da1b8212ec38", + 6515, + 9710, + 280757041, + "Upon or direction.", + "Could my but.", + "Goal yourself by.", + "Oil million.", + "Throw tough picture.", + "State minute bad.", + "Chair effect window.", + "Item group loss.", + 3161, + 1441261638, + 997312254, + 204032729, + 9843, + 310, + 1859, + false, + false, + true, + false, + false, + false, + "New Ronaldchester", + "12597 Banks Fort Suite 100", + "533 Smith Ports", + "Cape Verde", + "Armenia" + ], + [ + "Maybe office kid it.", + "e3f0f5ed-a1e1-446d-8a6e-fce226d6db5b", + 8174, + 6925, + 412037667, + "Talk support season.", + "Tough former.", + "Wish both.", + "Someone debate.", + "Simply doctor bed.", + "Week space you.", + "Hear describe.", + "Full drop according.", + 3694, + 931612130, + 1263390104, + 237627849, + 8205, + 3120, + 5149, + false, + false, + false, + true, + true, + true, + "Seanport", + "898 Brown Way Suite 282", + "436 Saunders Heights", + "Tanzania", + "Burkina Faso" + ], + [ + "Administration.", + "438c9481-e054-498e-bd5c-59f02d67f36d", + 6751, + 4028, + 1224417435, + "City this plant.", + "Tell when.", + "Industry page.", + "Act see control.", + "Thus center general.", + "Close key quickly.", + "Example common.", + "Own figure among.", + 8669, + 343269703, + 1633098523, + 1233982170, + 7359, + 8691, + 5784, + true, + true, + true, + false, + false, + false, + "New Alexanderland", + "5071 Deborah Corners Suite 422", + "48742 Jessica Vista", + "Algeria", + "Eritrea" + ], + [ + "When raise model.", + "17bfef3d-674e-4a25-afe0-3e030c02b6c7", + 7732, + 2403, + 1610852338, + "Bill relate stuff.", + "Capital stuff.", + "Later tax prove.", + "Nation call radio.", + "International arm.", + "Chance final.", + "Someone tough.", + "Care amount.", + 241, + 1505323989, + 1491500018, + 894620757, + 4673, + 2966, + 1548, + false, + true, + true, + false, + false, + true, + "Thomaschester", + "6604 Angela Ranch", + "6081 Barbara Stravenue", + "San Marino", + "Colombia" + ], + [ + "Behavior once light.", + "9a7deeee-bfe6-4f05-a926-accdf93182d6", + 2159, + 6916, + 1487502234, + "Moment within.", + "Republican.", + "Up design.", + "View among apply.", + "And it building.", + "Operation yourself.", + "Skin enter hear.", + "Brother amount.", + 8706, + 1166851191, + 235523384, + 723103612, + 9832, + 8422, + 9680, + false, + true, + true, + true, + true, + false, + "South Dillon", + "41371 Vazquez Manors", + "7067 Charles Vista Suite 442", + "Equatorial Guinea", + "Spain" + ], + [ + "Here tell fight.", + "5a515461-e4d0-4bfb-abc4-3cc4d8c73ca7", + 1736, + 6863, + 1291026877, + "Talk partner thing.", + "Group look somebody.", + "Cold family amount.", + "Approach world.", + "Head benefit they.", + "Mouth station true.", + "Choice them sit Mr.", + "Figure training leg.", + 7814, + 26942572, + 1484045398, + 1561774354, + 698, + 1058, + 74, + true, + true, + false, + false, + false, + false, + "Katherinehaven", + "098 Bowers Keys", + "4487 Wilson Park Suite 958", + "Lao People's Democratic Republic", + "Saint Pierre and Miquelon" + ], + [ + "Feel strong church.", + "7a13aeef-893f-4189-8a46-628b7ebb16f0", + 5304, + 4831, + 435244341, + "Sure thank drive.", + "Wonder and public.", + "Just condition.", + "Series require view.", + "Against.", + "Stay somebody.", + "Somebody beat model.", + "Discuss budget.", + 2533, + 1474089924, + 1255696124, + 731399725, + 8451, + 8613, + 2382, + true, + true, + true, + false, + true, + true, + "Lake Bruce", + "907 Tina Summit", + "382 Johnson Valley", + "Albania", + "Benin" + ], + [ + "Country likely give.", + "03687649-a91d-47d5-b6b8-8de89c71d514", + 7798, + 3998, + 496696572, + "Certainly rich.", + "Trip interesting.", + "Watch pay Congress.", + "Second table player.", + "Along defense chair.", + "Until member.", + "Author message ok.", + "Role popular one.", + 119, + 1051439649, + 591220914, + 973401506, + 9246, + 2375, + 321, + true, + true, + true, + true, + false, + false, + "Codystad", + "972 Reed Island Suite 687", + "4871 Jarvis Light Suite 130", + "Saudi Arabia", + "Marshall Islands" + ], + [ + "Performance second.", + "6e02c51d-42d1-474d-aa85-569f5b5c86c0", + 7600, + 4493, + 432525693, + "Affect fear there.", + "Involve day imagine.", + "Instead word play.", + "Child dog care rich.", + "Note special social.", + "Anything box large.", + "Office start change.", + "Several material.", + 2435, + 147427601, + 578274942, + 1081063955, + 4733, + 3173, + 8865, + true, + true, + false, + false, + true, + false, + "Garrettview", + "654 Miller Crossing", + "249 Oliver Hill", + "Tuvalu", + "Faroe Islands" + ], + [ + "Budget radio.", + "ceba06f1-0fa3-4d77-9c5b-35891760e077", + 3654, + 4476, + 704799217, + "Reduce city herself.", + "Happen see various.", + "Every open art.", + "Important section.", + "Exactly wish friend.", + "Employee message PM.", + "Area statement.", + "As bill continue.", + 1591, + 970778500, + 130938177, + 736565299, + 7071, + 4068, + 108, + false, + false, + true, + false, + true, + false, + "Port William", + "094 Strong Square Suite 958", + "841 Laura Pass Suite 842", + "Anguilla", + "United States Minor Outlying Islands" + ], + [ + "Available ability.", + "fad425cf-e3b6-42e7-929c-feaa160e8c0e", + 9268, + 6476, + 1173901969, + "Issue shake think.", + "Common child.", + "Clear pull Mrs.", + "Next central agent.", + "Draw perhaps trade.", + "Visit speak leader.", + "Plan herself poor.", + "Indicate summer.", + 5450, + 204688764, + 292994356, + 172115308, + 3591, + 5133, + 9949, + false, + false, + false, + false, + false, + true, + "Lake Tristantown", + "87174 Wood Branch Suite 727", + "543 Corey Falls", + "Liechtenstein", + "Turkmenistan" + ], + [ + "Room reveal worry.", + "5fc7157d-cb00-4d17-8032-fa12028a12af", + 1364, + 694, + 586527428, + "Officer political.", + "Fight risk.", + "Many people paper.", + "Material out those.", + "Buy else evidence.", + "Wonder cost woman.", + "Would including.", + "And reflect little.", + 1842, + 1357578437, + 26876047, + 170184137, + 4454, + 27, + 4854, + true, + true, + true, + true, + true, + false, + "Markland", + "3337 Allen Springs", + "979 Olivia Islands Apt. 324", + "Heard Island and McDonald Islands", + "Indonesia" + ], + [ + "Perform.", + "ae727b8a-86ac-4fda-a42d-ced170c53e4e", + 7466, + 5998, + 40704571, + "Base car painting.", + "Decade close no.", + "Debate realize.", + "Final special view.", + "Much whole follow.", + "Either seven guy.", + "No eye woman.", + "Billion ago help.", + 2895, + 810980449, + 539358416, + 774895786, + 922, + 9762, + 7865, + false, + true, + true, + false, + false, + true, + "East Richardside", + "1213 Taylor Trail", + "1574 Francis Row Suite 125", + "Liechtenstein", + "Aruba" + ], + [ + "Be end its reflect.", + "4a4f2406-8cd2-4bb0-b81a-df628cba0be7", + 6830, + 5576, + 480168726, + "Campaign.", + "Likely enter.", + "Nor smile east plan.", + "Their action too.", + "Coach whole.", + "Number politics.", + "Safe I camera along.", + "Finish brother.", + 9003, + 1393742198, + 384345696, + 189895868, + 8487, + 9745, + 6128, + false, + false, + true, + false, + true, + false, + "Douglaston", + "9562 Nunez Cliff", + "7541 Luis Spurs Apt. 805", + "Dominica", + "Malaysia" + ], + [ + "Certain her company.", + "e015e331-897e-4dd7-a1f1-83e93463580a", + 6509, + 656, + 607992192, + "Tonight those.", + "Argue quickly sit.", + "Almost rate ten.", + "Baby century.", + "Get our too within.", + "Change challenge be.", + "Oil talk on.", + "Article site.", + 587, + 678673148, + 744279088, + 677055702, + 1193, + 8991, + 4302, + true, + false, + true, + false, + false, + false, + "Guerreroville", + "415 Cross Isle Apt. 078", + "93918 Kathleen Overpass", + "Morocco", + "Israel" + ], + [ + "Only how around.", + "af6ffb39-82ff-4cd6-aa9e-6711f388f912", + 6394, + 3315, + 70235596, + "These finally.", + "Hope better town my.", + "His it though true.", + "Keep spring save.", + "Former live.", + "Century back.", + "Baby around brother.", + "Foreign sing great.", + 4163, + 233881613, + 250786674, + 141383656, + 6951, + 585, + 6701, + false, + false, + false, + true, + false, + false, + "Kellyshire", + "90374 Larson Villages", + "9936 Bridget Underpass Apt. 972", + "Netherlands Antilles", + "Burundi" + ], + [ + "Voice eight source.", + "642a1847-9f2d-4320-81bd-a044e9b308d7", + 2368, + 4802, + 1042891754, + "Sister quite before.", + "Security thousand.", + "Responsibility.", + "Born act help.", + "Reach worker piece.", + "Skill power artist.", + "Friend well.", + "Purpose true.", + 9419, + 471428438, + 1627026861, + 783147999, + 8534, + 9271, + 8214, + true, + false, + false, + false, + true, + false, + "West Brianburgh", + "805 Jackson Ford", + "06227 Jeffrey Mall Suite 164", + "Macedonia", + "British Virgin Islands" + ], + [ + "Believe prevent.", + "bea6c1b7-9a4d-450c-9d18-e3ec60743456", + 5919, + 3483, + 595007266, + "Hand keep ahead.", + "Example although.", + "Poor hot whose edge.", + "Condition computer.", + "Stuff style.", + "Machine east appear.", + "Her bar she expert.", + "Operation agent.", + 6403, + 1388332969, + 1616852117, + 1438180483, + 1939, + 1212, + 8257, + false, + true, + false, + false, + true, + true, + "Campbellchester", + "698 Brian Lakes Apt. 206", + "1931 Kevin Pines Suite 659", + "Denmark", + "Algeria" + ], + [ + "They question staff.", + "a0dd3c2b-8ad0-4e6a-9334-72bc5c3b1fdb", + 6511, + 789, + 1331850766, + "Week huge student.", + "Think dog medical.", + "Else church into.", + "Throw save fine.", + "Draw level main.", + "Appear attention.", + "Interview message.", + "If can if structure.", + 6329, + 1035217232, + 1333096297, + 840548559, + 4085, + 2628, + 467, + false, + true, + false, + false, + true, + true, + "Williamborough", + "537 Jackson Key", + "77788 Savage Port", + "Guam", + "Palau" + ], + [ + "News spend certain.", + "f410ac5a-4e27-4089-9a7e-0b0e162c976f", + 4022, + 3124, + 1536351773, + "Can artist garden.", + "Chair pretty leader.", + "Above among six.", + "Fill news statement.", + "Professional hour.", + "Democratic right.", + "Be item it over far.", + "Computer attack.", + 547, + 1405627132, + 307673336, + 242604845, + 1810, + 2144, + 6498, + false, + false, + true, + true, + true, + true, + "East Douglas", + "71969 James Villages Apt. 379", + "203 Gabriella Field Apt. 881", + "Tonga", + "French Guiana" + ], + [ + "Stop participant.", + "2e205929-03c9-468f-87b0-3781cede3dc2", + 9437, + 873, + 1245660893, + "Tax vote point.", + "Property fill.", + "Man miss wall five.", + "Effect meet ball.", + "Day sit away table.", + "Guess former owner.", + "Age drive carry.", + "Something food.", + 5558, + 1259355110, + 1337043292, + 845326975, + 2203, + 6178, + 3171, + true, + false, + false, + true, + true, + true, + "Kingburgh", + "663 Peterson Neck Apt. 497", + "69994 Wilson Freeway", + "France", + "Georgia" + ], + [ + "Although my your.", + "acca98c9-ee3a-499d-825c-1c47cd79d9e2", + 7368, + 4842, + 5544025, + "Approach government.", + "Move hit defense.", + "Carry past.", + "As wall see.", + "Its anything.", + "Only Mr explain.", + "Something worry.", + "Like first night.", + 9104, + 1373299729, + 68614905, + 1597002138, + 8656, + 4294, + 2861, + false, + false, + false, + false, + false, + true, + "North Donna", + "9989 Austin Roads Apt. 017", + "939 Patel Hills", + "Guinea", + "Denmark" + ], + [ + "City blue strategy.", + "4eaff441-62b1-4e1e-9303-19aa4a9bcb71", + 8071, + 8684, + 1252352129, + "Carry media now.", + "Toward gun sport.", + "Business society.", + "Recently bad walk.", + "Difference few lot.", + "Member near perform.", + "Cup cut film grow.", + "With able character.", + 8093, + 833346127, + 810480019, + 642457174, + 7654, + 8179, + 8758, + false, + true, + true, + false, + false, + false, + "Michaelburgh", + "839 Terri Meadows Apt. 423", + "786 Hooper Hollow", + "Iran", + "Oman" + ], + [ + "Citizen brother.", + "fc4153f2-5760-42a2-998f-b84237678f88", + 3261, + 3692, + 1500168233, + "Each environment.", + "Method treat art.", + "Series change born.", + "Strategy policy our.", + "Case expect fact.", + "Miss cut price week.", + "Family claim keep.", + "Laugh test across.", + 1807, + 947812854, + 815459721, + 532021274, + 2750, + 1807, + 9275, + false, + true, + false, + false, + false, + false, + "Davisport", + "724 Bryan Spurs", + "8220 Mahoney Valley Suite 178", + "South Georgia and the South Sandwich Islands", + "France" + ], + [ + "Leader school.", + "1d8fc84c-6e7f-44be-9a9f-53bc742bd0de", + 8491, + 3382, + 563712244, + "Cultural listen.", + "Vote view church.", + "Score arm success.", + "Task hotel cover.", + "Away maybe hit real.", + "Game whether seem.", + "Finish room lawyer.", + "Avoid movie data.", + 8749, + 358835628, + 580816579, + 1571849556, + 5319, + 241, + 8684, + false, + true, + false, + false, + false, + true, + "North Ricky", + "3036 Wong Loaf", + "2895 Marissa Expressway", + "Montenegro", + "Ethiopia" + ] + ] + }, + "tableProfile": { + "timestamp": 1634366539, + "columnCount": 31, + "rowCount": 169, + "columnProfile": [ + { + "name": "derived_session_token", + "uniqueCount": 46, + "uniqueProportion": 0.4556834255, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "shop_id", + "uniqueCount": 36, + "uniqueProportion": 0.412740311, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "session_duration", + "uniqueCount": 9, + "uniqueProportion": 0.4848320849, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "count_of_pageviews", + "uniqueCount": 16, + "uniqueProportion": 0.274374675, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "session_started_at", + "uniqueCount": 19, + "uniqueProportion": 0.1779729031, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "session_token", + "uniqueCount": 5, + "uniqueProportion": 0.403198425, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "user_token", + "uniqueCount": 1, + "uniqueProportion": 0.5763257885, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "landing_page_url", + "uniqueCount": 1, + "uniqueProportion": 0.271483578, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "exit_page_path", + "uniqueCount": 18, + "uniqueProportion": 0.54392552, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "exit_page_url", + "uniqueCount": 8, + "uniqueProportion": 0.457357716, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "referrer_tld", + "uniqueCount": 47, + "uniqueProportion": 0.1455819185, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "ua_browser", + "uniqueCount": 25, + "uniqueProportion": 0.502421822, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "ua_raw", + "uniqueCount": 10, + "uniqueProportion": 0.4514540014, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "count_of_orders_completed", + "uniqueCount": 5, + "uniqueProportion": 0.643516191, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "completed_first_order_at", + "uniqueCount": 37, + "uniqueProportion": 0.1991445491, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "hit_first_checkout_at", + "uniqueCount": 23, + "uniqueProportion": 0.3934633215, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "started_first_checkout_at", + "uniqueCount": 10, + "uniqueProportion": 0.521182903, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "count_of_distinct_products_added_to_cart", + "uniqueCount": 41, + "uniqueProportion": 0.577276297, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "count_of_distinct_product_variants_added_to_cart", + "uniqueCount": 15, + "uniqueProportion": 0.1038962515, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "had_error", + "uniqueCount": 24, + "uniqueProportion": 0.4806029226, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "had_payment_error", + "uniqueCount": 23, + "uniqueProportion": 0.285063012, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "had_out_of_stock_warning", + "uniqueCount": 4, + "uniqueProportion": 0.502737667, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "had_credit_card_info_error", + "uniqueCount": 4, + "uniqueProportion": 0.424923401, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "had_discount", + "uniqueCount": 39, + "uniqueProportion": 0.1127764811, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "had_free_shipping", + "uniqueCount": 35, + "uniqueProportion": 0.5043061999, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "location_city", + "uniqueCount": 32, + "uniqueProportion": 0.370361415, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "location_region", + "uniqueCount": 47, + "uniqueProportion": 0.983529122, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "location_region_code", + "uniqueCount": 38, + "uniqueProportion": 0.1136043573, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "location_country", + "uniqueCount": 29, + "uniqueProportion": 0.0639865, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "location_country_code", + "uniqueCount": 29, + "uniqueProportion": 0.0639865, + "distinctCount": 0, + "distinctProportion": 0 + } + ] + }, + "databaseSchema": { + "id": "d7be1e2c-b3dc-11ec-b909-0242ac120002", + "type": "databaseSchema", + "name": "sample_data.ecommerce_db.shopify", + "description": "This **mock** Schema contains tables related to shopify sales and orders with related dimension tables.", + "href": "http://localhost:8585/api/v1/databaseSchemas/d7be1e2c-b3dc-11ec-b909-0242ac120002" + }, + "sourceUrl": "http://localhost:8080/fact_session" + }, + { + "id": "d3e3283f-9a51-4de9-add7-c12c3ed58ba1", + "name": "raw_customer", + "description": "This is a raw customers table as represented in our online DB. This contains personal, shipping and billing addresses and details of the customer store and customer profile. This table is used to build our dimensional and fact tables", + "version": 0.1, + "updatedAt": 1638354087833, + "updatedBy": "anonymous", + "href": "http://localhost:8585/api/v1/tables/d3e3283f-9a51-4de9-add7-c12c3ed58ba1", + "tableType": "Regular", + "columns": [ + { + "name": "comments", + "dataType": "STRING", + "dataLength": 1, + "dataTypeDisplay": "string", + "tags": [], + "constraint": "NULL", + "ordinalPosition": 1 + }, + { + "name": "creditcard", + "dataType": "STRING", + "dataLength": 1, + "dataTypeDisplay": "string", + "tags": [], + "constraint": "NULL", + "ordinalPosition": 2 + }, + { + "name": "membership", + "dataType": "STRING", + "dataLength": 1, + "dataTypeDisplay": "string", + "tags": [], + "constraint": "NULL", + "ordinalPosition": 4 + }, + { + "name": "orders", + "dataType": "ARRAY", + "arrayDataType": "STRUCT", + "dataLength": 1, + "dataTypeDisplay": "array>", + "tags": [], + "constraint": "NULL", + "ordinalPosition": 5 + }, + { + "name": "platform", + "dataType": "STRING", + "dataLength": 1, + "dataTypeDisplay": "string", + "tags": [], + "constraint": "NULL", + "ordinalPosition": 6 + }, + { + "name": "preference", + "dataType": "MAP", + "dataLength": 1, + "dataTypeDisplay": "map", + "tags": [], + "constraint": "NULL", + "ordinalPosition": 7 + }, + { + "name": "shipping_address", + "dataType": "ARRAY", + "arrayDataType": "STRUCT", + "dataLength": 1, + "dataTypeDisplay": "array>", + "tags": [], + "constraint": "NULL", + "ordinalPosition": 8 + }, + { + "name": "shipping_date", + "dataType": "STRING", + "dataLength": 1, + "dataTypeDisplay": "string", + "tags": [], + "constraint": "NULL", + "ordinalPosition": 9 + }, + { + "name": "transaction_date", + "dataType": "STRING", + "dataLength": 1, + "dataTypeDisplay": "string", + "tags": [], + "constraint": "NULL", + "ordinalPosition": 10 + }, + { + "name": "customer", + "dataType": "STRUCT", + "dataLength": 1, + "dataTypeDisplay": "struct", + "tags": [], + "constraint": "NULL", + "ordinalPosition": 3, + "children": [ + { + "name": "username", + "dataType": "VARCHAR", + "dataLength": 32, + "dataTypeDisplay": "character varying(32)", + "tags": [], + "constraint": "NULL" +>>>>>>> c90138501f (Fix #21822: OpenSearch by default limits the number of characters it will analyze for highlighting to 1,000,000 characters. If your description field is very large (e.g. Markdown docs, embedded HTML, or verbose documentation), this limit gets exceeded. (#21821)) + }, + "tags": [], + "usageSummary": { + "dailyStats": { + "count": 73, + "percentileRank": 45 + }, + "weeklyStats": { + "count": 73, + "percentileRank": 45 + }, + "monthlyStats": { + "count": 67, + "percentileRank": 45 + }, + "date": "2021-12-01" + }, + "followers": [], + "joins": { + "startDate": "2021-11-01", + "dayCount": 30, + "columnJoins": [ + { + "columnName": "shop_id", + "joinedWith": [ + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.shop\".shop_id", + "joinCount": 35 + } + ] + }, + { + "columnName": "address_::>id", + "joinedWith": [ + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.api_client_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.billing_address_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.customer_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.location_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.order_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.product_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.product_variant_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.shipping_address_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.shop_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.user_id", + "joinCount": 49 + } + ] + } + ] + }, + "sampleData": { + "columns": [ + "address_::>id", + "shop_id", + "first_name", + "last_name", + "address1", + "address2", + "company", + "city", + "region", + "zip", + "country", + "phone" + ], + "rows": [ + [ + "bc35100e-2da5-48bb-bfc8-667dafe66532", + "70424951-bc97-4b20-9ce7-be37c4619361", + "Zachary", + "Brett", + "9054 Maria Circle Apt. 296", + "48348 Victoria Valleys Suite 144", + "Robinson Inc", + "Stephanieport", + "048 Moore Turnpike Apt. 061", + "30839", + "Latvia", + "(381)575-6692" + ], + [ + "d9a5b1a0-bf92-4b71-884d-9818308d040d", + "ffdc81e4-b0dc-47b2-8240-8540ba6c3029", + "Melissa", + "Amy", + "6212 William Plaza Suite 362", + "741 Eric Bypass", + "Todd, Henderson and Jenkins", + "Petersonstad", + "363 Gary Mills", + "91794", + "Lesotho", + "828-855-9883" + ], + [ + "facf92d7-05ea-43d2-ba2a-067d63dee60c", + "a8d30187-1409-4606-9259-322a4f6caf74", + "Amber", + "Albert", + "3170 Warren Orchard Apt. 834", + "3204 Brewer Shoal Suite 324", + "Davila-Snyder", + "Nicoleland", + "023 Paul Course", + "14086", + "Sweden", + "438-959-1151" + ], + [ + "bab9a506-e23d-4c53-9402-d070e7704376", + "e02e1fac-b650-4db8-8c9d-5fa5edf5d863", + "Heidi", + "Kelly", + "30942 Gonzalez Stravenue", + "3158 Watts Green", + "Moore PLC", + "West Erica", + "6294 Elliott Ville", + "07418", + "Saint Martin", + "(830)112-9566x8681" + ], + [ + "67ff12ae-5d40-4795-9a82-3afa62a4aea1", + "bf45dc22-8d23-49d9-9d87-7b4bd2dd1762", + "Adam", + "Anna", + "986 Walker Unions", + "5798 Ross Spur Apt. 510", + "Schultz, Allen and Price", + "West Brandyton", + "07379 Alejandra Manors", + "09192", + "Cambodia", + "(859)222-9872x9188" + ], + [ + "97831db3-23df-424e-b2e3-19f196874002", + "cfc3c305-748b-4992-9fef-ddd0aa7ce927", + "Tracey", + "Kaitlin", + "1810 Fletcher Islands", + "6988 Steven Vista Apt. 738", + "Patel-Evans", + "Powellbury", + "8856 Lambert Forest Apt. 010", + "49826", + "Turks and Caicos Islands", + "195.384.1264x84605" + ], + [ + "a405990b-732f-431e-b3ad-0ce05a484671", + "f53ff51f-3365-4029-ae67-a679e1dca626", + "Carmen", + "Jessica", + "58361 Audrey Parks Apt. 128", + "864 Phillips Squares", + "Perez Inc", + "Laurieshire", + "407 Nicole Greens", + "06175", + "Kenya", + "(565)853-4978x18062" + ], + [ + "d3be5a1e-10f0-46e6-8033-d15766e73047", + "ffeea1b4-eb28-452a-8b06-2408e36b1a94", + "Melinda", + "Paul", + "09590 Gonzales Camp Apt. 092", + "146 Carlson Manor Suite 961", + "Mills Ltd", + "South Wendy", + "6273 Victor Springs Apt. 655", + "68154", + "United Arab Emirates", + "(209)678-7748x53000" + ], + [ + "52636d10-1505-4f0a-894a-52a194cdba26", + "8c021bf4-f33a-4d41-b55f-78d801a45d5e", + "Jacob", + "Jamie", + "0952 Colon Greens", + "00913 Natalie Tunnel Apt. 769", + "Sullivan Group", + "Longbury", + "03714 April Landing", + "74874", + "Turkey", + "(038)859-4310x9693" + ], + [ + "b2a1279b-392f-404f-88e0-f755d2bd3c14", + "2351209a-94b2-4b20-a517-1eef888c0d5b", + "Allen", + "Dean", + "8492 Smith Plains Apt. 986", + "420 Hodges Inlet Suite 088", + "Thornton-Mcknight", + "Gregoryborough", + "56904 Tony Branch Suite 945", + "88544", + "Mauritania", + "001-198-032-8011x00683" + ], + [ + "3a7cc826-4e7d-46de-a13d-895d5319a881", + "1a03bf40-3f40-460e-b170-2fadea8bdbee", + "Jill", + "Diana", + "092 Jose Unions", + "36896 Serrano Plaza", + "Wilson and Sons", + "North Justinchester", + "750 Contreras Bridge Apt. 456", + "77859", + "Kazakhstan", + "311.331.9899x4838" + ], + [ + "d4891b70-a002-41a9-a072-a1d3ef99c4d9", + "e49ad3aa-2c30-4148-81f8-4e2980467d1c", + "Jonathan", + "Lauren", + "4416 Christina Ville", + "44992 Katie Inlet Suite 965", + "Bennett, Hicks and Davidson", + "Lake Kendra", + "67281 Lee Drive Suite 987", + "27227", + "Jersey", + "950.930.9189x591" + ], + [ + "fbc3eeda-75b3-41f6-91a3-d671e3cc17d6", + "c3c73e91-020d-4fee-a1a9-e9781d684d9a", + "Gary", + "Jonathan", + "71309 Theresa Trail", + "29432 Brenda Overpass", + "Mccarthy-Huang", + "Lake Amanda", + "000 William Ranch", + "93218", + "Kazakhstan", + "001-109-449-4210x33965" + ], + [ + "684360f0-48c0-4bf7-9476-6231b7861c0b", + "18d728f1-8ec6-4e94-9725-fcd2ed719723", + "Karen", + "Paul", + "2867 Hunter Center Apt. 091", + "46974 Peter Drives Suite 073", + "Stephens, Wall and Johnson", + "Mcdowellfurt", + "33302 Mcintosh Orchard Apt. 884", + "17017", + "Gambia", + "484-039-6675" + ], + [ + "ec768cba-fc73-484a-bfc2-792e1bf29342", + "9c85fb32-1109-4409-a87d-75112fc3708f", + "Edgar", + "Hailey", + "70196 Moore Canyon", + "885 Jimenez Parkways", + "Gomez Group", + "Marktown", + "44624 Lawrence Springs Apt. 502", + "71815", + "Hungary", + "(777)526-6200" + ], + [ + "128eae16-fc8d-4d0e-9f07-78b6e4825709", + "530c610e-ab24-4f28-8d7f-684bb05817c8", + "Don", + "Edgar", + "040 Jessica Mews Apt. 149", + "3454 Lopez Neck", + "Clark, Simon and Griffith", + "Rickborough", + "549 Jeffrey Stream", + "71662", + "Korea", + "4911281340" + ], + [ + "341c94b3-cac4-46f0-bcba-33ccb52eacec", + "9f80457c-dd0e-4c4d-ab1f-cf76f734ad1c", + "Kevin", + "Kimberly", + "29504 Moore Grove", + "0079 Williams Pine Suite 274", + "Gregory-Mcgrath", + "Cantufort", + "5849 Paige River", + "72224", + "Zambia", + "(112)074-5447" + ], + [ + "d05acf85-8f05-40e8-bd8b-00a751ed4b16", + "a8214997-3076-4732-be67-66e0169f894d", + "Candace", + "Donna", + "1110 Powers Neck Suite 716", + "50101 Pamela Orchard Apt. 576", + "Brown, Hunter and Adkins", + "Adrianaville", + "4326 Orr Extensions", + "94064", + "Haiti", + "001-843-960-7631x732" + ], + [ + "44886c82-0e01-4b65-bf46-235d4d1e4e17", + "c0055521-b8d3-4ad8-86c3-cf310b5719c9", + "Holly", + "Tony", + "562 Shaw Burgs", + "568 Reed Vista", + "Ramirez Group", + "West Aaronfurt", + "6008 Brianna Lock Suite 088", + "46723", + "Uganda", + "343.960.6582" + ], + [ + "3ba1f5ff-fcd9-4315-8e72-14b716496a3c", + "3dc80460-e52c-4e94-a3dc-e9234f73e016", + "Melissa", + "Jessica", + "4076 Lisa Unions", + "46781 Brittany Route", + "Williams Inc", + "Harmonmouth", + "4349 Hughes Grove Suite 834", + "94032", + "South Georgia and the South Sandwich Islands", + "195-206-6214x45451" + ], + [ + "f757641c-963a-4696-9314-7f19f2df79fa", + "8d3afcc6-3662-4d23-899a-b9c37108f522", + "Larry", + "Brian", + "1698 Brittany Ridges", + "00442 Terry Via", + "Gallagher Group", + "Smithton", + "4835 Long Hills", + "96036", + "Japan", + "(592)844-2557x28538" + ], + [ + "a2c68229-75c5-43a5-b18b-8a8b504d4f9d", + "d78f0b90-d3a9-4568-b7de-8bb45423b25b", + "Gary", + "Luis", + "909 Carolyn Highway Apt. 717", + "549 Steve Walks Suite 058", + "Serrano, Harrison and Beard", + "South Kimberly", + "18324 Briana Point", + "36285", + "Macao", + "392.711.2369x14285" + ], + [ + "2a89cec7-1cf5-4c9c-ad79-745a1984e36f", + "4035c32c-7a03-409f-a8f4-bb3ff3d7c91d", + "Brittany", + "Brenda", + "2691 Brandon Plaza", + "13209 Alexis Cove Suite 182", + "Durham LLC", + "New Christyton", + "080 Peters Track", + "97880", + "Gabon", + "+1-604-197-7676x09064" + ], + [ + "a391bf33-6665-4caa-a2d7-de3132bf60d3", + "88156561-0c36-4053-a1d7-b58fac121003", + "Debbie", + "Sharon", + "600 Keller Trafficway", + "18809 Peter Village", + "Vazquez, Allen and Washington", + "Singhmouth", + "5628 Terrence Locks Suite 798", + "20287", + "Anguilla", + "001-151-880-6914x699" + ], + [ + "19bcef03-483c-4225-bb61-aafe48a2f981", + "8a35b2d9-8f65-484f-b735-8eb42c2bbfec", + "Mark", + "Ashley", + "3124 Kenneth Mountains Suite 321", + "111 Carter Drives Apt. 942", + "Hill PLC", + "Port Shannonville", + "6035 Calderon Ramp", + "25829", + "Angola", + "441.553.9413x20451" + ] + ] + }, + "tableProfile": { + "timestamp": 1634366539, + "columnCount": 12, + "rowCount": 725, + "customMetrics": [ + { + "name": "CountOfUSAddress", + "value": 15467 + }, + { + "name": "CountOfFRAddress", + "value": 1467 + } + ], + "columnProfile": [ + { + "name": "address_::>id", + "uniqueCount": 9, + "uniqueProportion": 0.52805369, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "shop_id", + "uniqueCount": 29, + "uniqueProportion": 0.2290940013, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "first_name", + "uniqueCount": 13, + "uniqueProportion": 0.1327792, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "last_name", + "uniqueCount": 23, + "uniqueProportion": 0.177126, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "address1", + "uniqueCount": 53, + "uniqueProportion": 0.0396391, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "address2", + "uniqueCount": 76, + "uniqueProportion": 0.0690369, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "company", + "uniqueCount": 23, + "uniqueProportion": 0.1210963, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "city", + "uniqueCount": 6, + "uniqueProportion": 0.024072, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "region", + "uniqueCount": 3, + "uniqueProportion": 0.1478114, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "zip", + "uniqueCount": 11, + "uniqueProportion": 0.1383472, + "distinctCount": 0, + "distinctProportion": 0, + "customMetrics": [ + { + "name": "CountOfLAZipCode", + "value": 3456 + }, + { + "name": "CountOfOrangeCountyZipCode", + "value": 2345 + } + ] + }, + { + "name": "country", + "uniqueCount": 13, + "uniqueProportion": 0.1601013, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "phone", + "uniqueCount": 8, + "uniqueProportion": 0.1297079, + "distinctCount": 0, + "distinctProportion": 0 + } + ] + }, +<<<<<<< HEAD + "databaseSchema": { + "id": "d7be1e2c-b3dc-11ec-b909-0242ac120002", + "type": "databaseSchema", + "name": "sample_data.ecommerce_db.shopify", + "description": "This **mock** Schema contains tables related to shopify sales and orders with related dimension tables.", + "href": "http://localhost:8585/api/v1/databaseSchemas/d7be1e2c-b3dc-11ec-b909-0242ac120002" + }, + "customMetrics": [ + { + "name": "CountOfUSAddress", + "expression": "SELECT COUNT(address_id) FROM dim_address WHERE country = 'US'" + }, + { + "name": "CountOfFRAddress", + "expression": "SELECT COUNT(address_id) FROM dim_address WHERE country = 'FR'" + } + ], + "sourceUrl": "http://localhost:8080/dim_::>address" + }, + { + "name": "icemarketdata_global", + "description": "This dimension table contains the billing and shipping addresses of customers. You can join this table with the sales table to generate lists of the billing and shipping addresses. Customers can enter their addresses more than once, so the same address can appear in more than one row in this table. This table contains one row per customer address.", + "version": 0.1, + "updatedAt": 1638354087391, + "updatedBy": "anonymous", + "href": "http://localhost:8585/api/v1/tables/3cda8ecb-f4c6-4ed4-8506-abe965b54b86", + "tableType": "Regular", + "schemaDefinition": "CREATE TABLE dim_address(address_id NUMERIC PRIMARY KEY, shop_id NUMERIC)", + "retentionPeriod": "10D", + "columns": [ + { + "name": "address_::>id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Unique identifier for the address.", + "tags": [], + "ordinalPosition": 1 + }, + { + "name": "shop_id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "The ID of the store. This column is a foreign key reference to the shop_id column in the dim_shop table.", + "tags": [], + "ordinalPosition": 2 + }, + { + "name": "first_name", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "First name of the customer.", + "tags": [], + "ordinalPosition": 3 + }, + { + "name": "last_name", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "Last name of the customer.", + "tags": [], + "ordinalPosition": 4 + }, + { + "name": "address1", + "dataType": "VARCHAR", + "dataLength": 500, + "dataTypeDisplay": "varchar", + "description": "The first address line. For example, 150 Elgin St.", + "tags": [], + "ordinalPosition": 5 + }, + { + "name": "address2", + "dataType": "VARCHAR", + "dataLength": 500, + "dataTypeDisplay": "varchar", + "description": "The second address line. For example, Suite 800.", + "tags": [], + "ordinalPosition": 6 + }, + { + "name": "company", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "The name of the customer's business, if one exists.", + "tags": [], + "ordinalPosition": 7 + }, + { + "name": "city", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "The name of the city. For example, Palo Alto.", + "tags": [], + "ordinalPosition": 8 + }, + { + "name": "region", + "dataType": "VARCHAR", + "dataLength": 512, + "dataTypeDisplay": "varchar", + "description": "The name of the region, such as a province or state, where the customer is located. For example, Ontario or New York. This column is the same as CustomerAddress.province in the Admin API.", + "tags": [], + "ordinalPosition": 9 + }, + { + "name": "zip", + "dataType": "VARCHAR", + "dataLength": 10, + "dataTypeDisplay": "varchar", + "description": "The ZIP or postal code. For example, 90210.", + "tags": [], + "ordinalPosition": 10, + "customMetrics": [ + { + "name": "CountOfLAZipCode", + "columnName": "zip", + "expression": "SELECT COUNT(zip) FROM dim_address WHERE zip LIKE '900%'" + }, + { + "name": "CountOfOrangeCountyZipCode", + "columnName": "zip", + "expression": "SELECT COUNT(zip) FROM dim_address WHERE zip LIKE '92%'" + } + ] + }, + { + "name": "country", + "dataType": "VARCHAR", + "dataLength": 50, + "dataTypeDisplay": "varchar", + "description": "The full name of the country. For example, Canada.", + "tags": [], + "ordinalPosition": 11 + }, + { + "name": "phone", + "dataType": "VARCHAR", + "dataLength": 15, + "dataTypeDisplay": "varchar", + "description": "The phone number of the customer.", + "tags": [], + "ordinalPosition": 12, + "customMetrics": [ + { + "name": "CountOfNonUsPhoneNumbers", + "columnName": "phone", + "expression": "SELECT COUNT(phone) FROM dim_address WHERE phone NOT LIKE '1%'" + } + ] + } + ], + "tableConstraints": [ + { + "constraintType": "PRIMARY_KEY", + "columns": [ + "address_::>id", + "shop_id" + ] + } + ], + "database": { + "id": "50da1ff8-4e1d-4967-8931-45edbf4dd908", + "type": "database", + "name": "sample_data.ecommerce_db", + "description": "This **mock** database contains tables related to shopify sales and orders with related dimension tables.", + "href": "http://localhost:8585/api/v1/databases/50da1ff8-4e1d-4967-8931-45edbf4dd908" + }, + "tags": [], + "usageSummary": { + "dailyStats": { + "count": 73, + "percentileRank": 45 + }, + "weeklyStats": { + "count": 73, + "percentileRank": 45 + }, + "monthlyStats": { + "count": 67, + "percentileRank": 45 + }, + "date": "2021-12-01" + }, + "followers": [], + "joins": { + "startDate": "2021-11-01", + "dayCount": 30, + "columnJoins": [ + { + "columnName": "shop_id", + "joinedWith": [ + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.shop\".shop_id", + "joinCount": 35 + } + ] + }, + { + "columnName": "address_::>id", + "joinedWith": [ + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.api_client_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.billing_address_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.customer_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.location_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.order_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.product_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.product_variant_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.shipping_address_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.shop_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.user_id", + "joinCount": 49 + } + ] + } + ] + }, + "sampleData": { + "columns": [ + "address_::>id", + "shop_id", + "first_name", + "last_name", + "address1", + "address2", + "company", + "city", + "region", + "zip", + "country", + "phone" + ], + "rows": [ + [ + "bc35100e-2da5-48bb-bfc8-667dafe66532", + "70424951-bc97-4b20-9ce7-be37c4619361", + "Zachary", + "Brett", + "9054 Maria Circle Apt. 296", + "48348 Victoria Valleys Suite 144", + "Robinson Inc", + "Stephanieport", + "048 Moore Turnpike Apt. 061", + "30839", + "Latvia", + "(381)575-6692" + ], + [ + "d9a5b1a0-bf92-4b71-884d-9818308d040d", + "ffdc81e4-b0dc-47b2-8240-8540ba6c3029", + "Melissa", + "Amy", + "6212 William Plaza Suite 362", + "741 Eric Bypass", + "Todd, Henderson and Jenkins", + "Petersonstad", + "363 Gary Mills", + "91794", + "Lesotho", + "828-855-9883" + ], + [ + "facf92d7-05ea-43d2-ba2a-067d63dee60c", + "a8d30187-1409-4606-9259-322a4f6caf74", + "Amber", + "Albert", + "3170 Warren Orchard Apt. 834", + "3204 Brewer Shoal Suite 324", + "Davila-Snyder", + "Nicoleland", + "023 Paul Course", + "14086", + "Sweden", + "438-959-1151" + ], + [ + "bab9a506-e23d-4c53-9402-d070e7704376", + "e02e1fac-b650-4db8-8c9d-5fa5edf5d863", + "Heidi", + "Kelly", + "30942 Gonzalez Stravenue", + "3158 Watts Green", + "Moore PLC", + "West Erica", + "6294 Elliott Ville", + "07418", + "Saint Martin", + "(830)112-9566x8681" + ], + [ + "67ff12ae-5d40-4795-9a82-3afa62a4aea1", + "bf45dc22-8d23-49d9-9d87-7b4bd2dd1762", + "Adam", + "Anna", + "986 Walker Unions", + "5798 Ross Spur Apt. 510", + "Schultz, Allen and Price", + "West Brandyton", + "07379 Alejandra Manors", + "09192", + "Cambodia", + "(859)222-9872x9188" + ], + [ + "97831db3-23df-424e-b2e3-19f196874002", + "cfc3c305-748b-4992-9fef-ddd0aa7ce927", + "Tracey", + "Kaitlin", + "1810 Fletcher Islands", + "6988 Steven Vista Apt. 738", + "Patel-Evans", + "Powellbury", + "8856 Lambert Forest Apt. 010", + "49826", + "Turks and Caicos Islands", + "195.384.1264x84605" + ], + [ + "a405990b-732f-431e-b3ad-0ce05a484671", + "f53ff51f-3365-4029-ae67-a679e1dca626", + "Carmen", + "Jessica", + "58361 Audrey Parks Apt. 128", + "864 Phillips Squares", + "Perez Inc", + "Laurieshire", + "407 Nicole Greens", + "06175", + "Kenya", + "(565)853-4978x18062" + ], + [ + "d3be5a1e-10f0-46e6-8033-d15766e73047", + "ffeea1b4-eb28-452a-8b06-2408e36b1a94", + "Melinda", + "Paul", + "09590 Gonzales Camp Apt. 092", + "146 Carlson Manor Suite 961", + "Mills Ltd", + "South Wendy", + "6273 Victor Springs Apt. 655", + "68154", + "United Arab Emirates", + "(209)678-7748x53000" + ], + [ + "52636d10-1505-4f0a-894a-52a194cdba26", + "8c021bf4-f33a-4d41-b55f-78d801a45d5e", + "Jacob", + "Jamie", + "0952 Colon Greens", + "00913 Natalie Tunnel Apt. 769", + "Sullivan Group", + "Longbury", + "03714 April Landing", + "74874", + "Turkey", + "(038)859-4310x9693" + ], + [ + "b2a1279b-392f-404f-88e0-f755d2bd3c14", + "2351209a-94b2-4b20-a517-1eef888c0d5b", + "Allen", + "Dean", + "8492 Smith Plains Apt. 986", + "420 Hodges Inlet Suite 088", + "Thornton-Mcknight", + "Gregoryborough", + "56904 Tony Branch Suite 945", + "88544", + "Mauritania", + "001-198-032-8011x00683" + ], + [ + "3a7cc826-4e7d-46de-a13d-895d5319a881", + "1a03bf40-3f40-460e-b170-2fadea8bdbee", + "Jill", + "Diana", + "092 Jose Unions", + "36896 Serrano Plaza", + "Wilson and Sons", + "North Justinchester", + "750 Contreras Bridge Apt. 456", + "77859", + "Kazakhstan", + "311.331.9899x4838" + ], + [ + "d4891b70-a002-41a9-a072-a1d3ef99c4d9", + "e49ad3aa-2c30-4148-81f8-4e2980467d1c", + "Jonathan", + "Lauren", + "4416 Christina Ville", + "44992 Katie Inlet Suite 965", + "Bennett, Hicks and Davidson", + "Lake Kendra", + "67281 Lee Drive Suite 987", + "27227", + "Jersey", + "950.930.9189x591" + ], + [ + "fbc3eeda-75b3-41f6-91a3-d671e3cc17d6", + "c3c73e91-020d-4fee-a1a9-e9781d684d9a", + "Gary", + "Jonathan", + "71309 Theresa Trail", + "29432 Brenda Overpass", + "Mccarthy-Huang", + "Lake Amanda", + "000 William Ranch", + "93218", + "Kazakhstan", + "001-109-449-4210x33965" + ], + [ + "684360f0-48c0-4bf7-9476-6231b7861c0b", + "18d728f1-8ec6-4e94-9725-fcd2ed719723", + "Karen", + "Paul", + "2867 Hunter Center Apt. 091", + "46974 Peter Drives Suite 073", + "Stephens, Wall and Johnson", + "Mcdowellfurt", + "33302 Mcintosh Orchard Apt. 884", + "17017", + "Gambia", + "484-039-6675" + ], + [ + "ec768cba-fc73-484a-bfc2-792e1bf29342", + "9c85fb32-1109-4409-a87d-75112fc3708f", + "Edgar", + "Hailey", + "70196 Moore Canyon", + "885 Jimenez Parkways", + "Gomez Group", + "Marktown", + "44624 Lawrence Springs Apt. 502", + "71815", + "Hungary", + "(777)526-6200" + ], + [ + "128eae16-fc8d-4d0e-9f07-78b6e4825709", + "530c610e-ab24-4f28-8d7f-684bb05817c8", + "Don", + "Edgar", + "040 Jessica Mews Apt. 149", + "3454 Lopez Neck", + "Clark, Simon and Griffith", + "Rickborough", + "549 Jeffrey Stream", + "71662", + "Korea", + "4911281340" + ], + [ + "341c94b3-cac4-46f0-bcba-33ccb52eacec", + "9f80457c-dd0e-4c4d-ab1f-cf76f734ad1c", + "Kevin", + "Kimberly", + "29504 Moore Grove", + "0079 Williams Pine Suite 274", + "Gregory-Mcgrath", + "Cantufort", + "5849 Paige River", + "72224", + "Zambia", + "(112)074-5447" + ], + [ + "d05acf85-8f05-40e8-bd8b-00a751ed4b16", + "a8214997-3076-4732-be67-66e0169f894d", + "Candace", + "Donna", + "1110 Powers Neck Suite 716", + "50101 Pamela Orchard Apt. 576", + "Brown, Hunter and Adkins", + "Adrianaville", + "4326 Orr Extensions", + "94064", + "Haiti", + "001-843-960-7631x732" + ], + [ + "44886c82-0e01-4b65-bf46-235d4d1e4e17", + "c0055521-b8d3-4ad8-86c3-cf310b5719c9", + "Holly", + "Tony", + "562 Shaw Burgs", + "568 Reed Vista", + "Ramirez Group", + "West Aaronfurt", + "6008 Brianna Lock Suite 088", + "46723", + "Uganda", + "343.960.6582" + ], + [ + "3ba1f5ff-fcd9-4315-8e72-14b716496a3c", + "3dc80460-e52c-4e94-a3dc-e9234f73e016", + "Melissa", + "Jessica", + "4076 Lisa Unions", + "46781 Brittany Route", + "Williams Inc", + "Harmonmouth", + "4349 Hughes Grove Suite 834", + "94032", + "South Georgia and the South Sandwich Islands", + "195-206-6214x45451" + ], + [ + "f757641c-963a-4696-9314-7f19f2df79fa", + "8d3afcc6-3662-4d23-899a-b9c37108f522", + "Larry", + "Brian", + "1698 Brittany Ridges", + "00442 Terry Via", + "Gallagher Group", + "Smithton", + "4835 Long Hills", + "96036", + "Japan", + "(592)844-2557x28538" + ], + [ + "a2c68229-75c5-43a5-b18b-8a8b504d4f9d", + "d78f0b90-d3a9-4568-b7de-8bb45423b25b", + "Gary", + "Luis", + "909 Carolyn Highway Apt. 717", + "549 Steve Walks Suite 058", + "Serrano, Harrison and Beard", + "South Kimberly", + "18324 Briana Point", + "36285", + "Macao", + "392.711.2369x14285" + ], + [ + "2a89cec7-1cf5-4c9c-ad79-745a1984e36f", + "4035c32c-7a03-409f-a8f4-bb3ff3d7c91d", + "Brittany", + "Brenda", + "2691 Brandon Plaza", + "13209 Alexis Cove Suite 182", + "Durham LLC", + "New Christyton", + "080 Peters Track", + "97880", + "Gabon", + "+1-604-197-7676x09064" + ], + [ + "a391bf33-6665-4caa-a2d7-de3132bf60d3", + "88156561-0c36-4053-a1d7-b58fac121003", + "Debbie", + "Sharon", + "600 Keller Trafficway", + "18809 Peter Village", + "Vazquez, Allen and Washington", + "Singhmouth", + "5628 Terrence Locks Suite 798", + "20287", + "Anguilla", + "001-151-880-6914x699" + ], + [ + "19bcef03-483c-4225-bb61-aafe48a2f981", + "8a35b2d9-8f65-484f-b735-8eb42c2bbfec", + "Mark", + "Ashley", + "3124 Kenneth Mountains Suite 321", + "111 Carter Drives Apt. 942", + "Hill PLC", + "Port Shannonville", + "6035 Calderon Ramp", + "25829", + "Angola", + "441.553.9413x20451" + ] + ] + }, + "tableProfile": { + "timestamp": 1634366539, + "columnCount": 12, + "rowCount": 725, + "customMetrics": [ + { + "name": "CountOfUSAddress", + "value": 15467 + }, + { + "name": "CountOfFRAddress", + "value": 1467 + } + ], + "columnProfile": [ + { + "name": "address_::>id", + "uniqueCount": 9, + "uniqueProportion": 0.52805369, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "shop_id", + "uniqueCount": 29, + "uniqueProportion": 0.2290940013, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "first_name", + "uniqueCount": 13, + "uniqueProportion": 0.1327792, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "last_name", + "uniqueCount": 23, + "uniqueProportion": 0.177126, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "address1", + "uniqueCount": 53, + "uniqueProportion": 0.0396391, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "address2", + "uniqueCount": 76, + "uniqueProportion": 0.0690369, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "company", + "uniqueCount": 23, + "uniqueProportion": 0.1210963, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "city", + "uniqueCount": 6, + "uniqueProportion": 0.024072, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "region", + "uniqueCount": 3, + "uniqueProportion": 0.1478114, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "zip", + "uniqueCount": 11, + "uniqueProportion": 0.1383472, + "distinctCount": 0, + "distinctProportion": 0, + "customMetrics": [ + { + "name": "CountOfLAZipCode", + "value": 3456 + }, + { + "name": "CountOfOrangeCountyZipCode", + "value": 2345 + } + ] + }, + { + "name": "country", + "uniqueCount": 13, + "uniqueProportion": 0.1601013, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "phone", + "uniqueCount": 8, + "uniqueProportion": 0.1297079, + "distinctCount": 0, + "distinctProportion": 0 + } + ] + }, + "databaseSchema": { + "id": "d7be1e2c-b3dc-11ec-b909-0242ac120002", + "type": "databaseSchema", + "name": "sample_data.ecommerce_db.shopify", + "description": "This **mock** Schema contains tables related to shopify sales and orders with related dimension tables.", + "href": "http://localhost:8585/api/v1/databaseSchemas/d7be1e2c-b3dc-11ec-b909-0242ac120002" + }, + "customMetrics": [ + { + "name": "CountOfUSAddress", + "expression": "SELECT COUNT(address_id) FROM dim_address WHERE country = 'US'" + }, + { + "name": "CountOfFRAddress", + "expression": "SELECT COUNT(address_id) FROM dim_address WHERE country = 'FR'" + } + ], + "sourceUrl": "http://localhost:8080/icemarketdata_global" + }, + { + "name": "global_market", + "description": "This dimension table contains the billing and shipping addresses of customers. You can join this table with the sales table to generate lists of the billing and shipping addresses. Customers can enter their addresses more than once, so the same address can appear in more than one row in this table. This table contains one row per customer address.", + "version": 0.1, + "updatedAt": 1638354087391, + "updatedBy": "anonymous", + "href": "http://localhost:8585/api/v1/tables/3cda8ecb-f4c6-4ed4-8506-abe965b54b86", + "tableType": "Regular", + "schemaDefinition": "CREATE TABLE dim_address(address_id NUMERIC PRIMARY KEY, shop_id NUMERIC)", + "retentionPeriod": "10D", + "columns": [ + { + "name": "address_::>id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Unique identifier for the address.", + "tags": [], + "ordinalPosition": 1 + }, + { + "name": "shop_id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "The ID of the store. This column is a foreign key reference to the shop_id column in the dim_shop table.", + "tags": [], + "ordinalPosition": 2 + }, + { + "name": "first_name", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "First name of the customer.", + "tags": [], + "ordinalPosition": 3 + }, + { + "name": "last_name", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "Last name of the customer.", + "tags": [], + "ordinalPosition": 4 + }, + { + "name": "address1", + "dataType": "VARCHAR", + "dataLength": 500, + "dataTypeDisplay": "varchar", + "description": "The first address line. For example, 150 Elgin St.", + "tags": [], + "ordinalPosition": 5 + }, + { + "name": "address2", + "dataType": "VARCHAR", + "dataLength": 500, + "dataTypeDisplay": "varchar", + "description": "The second address line. For example, Suite 800.", + "tags": [], + "ordinalPosition": 6 + }, + { + "name": "company", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "The name of the customer's business, if one exists.", + "tags": [], + "ordinalPosition": 7 + }, + { + "name": "city", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "The name of the city. For example, Palo Alto.", + "tags": [], + "ordinalPosition": 8 + }, + { + "name": "region", + "dataType": "VARCHAR", + "dataLength": 512, + "dataTypeDisplay": "varchar", + "description": "The name of the region, such as a province or state, where the customer is located. For example, Ontario or New York. This column is the same as CustomerAddress.province in the Admin API.", + "tags": [], + "ordinalPosition": 9 + }, + { + "name": "zip", + "dataType": "VARCHAR", + "dataLength": 10, + "dataTypeDisplay": "varchar", + "description": "The ZIP or postal code. For example, 90210.", + "tags": [], + "ordinalPosition": 10, + "customMetrics": [ + { + "name": "CountOfLAZipCode", + "columnName": "zip", + "expression": "SELECT COUNT(zip) FROM dim_address WHERE zip LIKE '900%'" + }, + { + "name": "CountOfOrangeCountyZipCode", + "columnName": "zip", + "expression": "SELECT COUNT(zip) FROM dim_address WHERE zip LIKE '92%'" + } + ] + }, + { + "name": "country", + "dataType": "VARCHAR", + "dataLength": 50, + "dataTypeDisplay": "varchar", + "description": "The full name of the country. For example, Canada.", + "tags": [], + "ordinalPosition": 11 + }, + { + "name": "phone", + "dataType": "VARCHAR", + "dataLength": 15, + "dataTypeDisplay": "varchar", + "description": "The phone number of the customer.", + "tags": [], + "ordinalPosition": 12, + "customMetrics": [ + { + "name": "CountOfNonUsPhoneNumbers", + "columnName": "phone", + "expression": "SELECT COUNT(phone) FROM dim_address WHERE phone NOT LIKE '1%'" + } + ] + } + ], + "tableConstraints": [ + { + "constraintType": "PRIMARY_KEY", + "columns": [ + "address_::>id", + "shop_id" + ] + } + ], + "database": { + "id": "50da1ff8-4e1d-4967-8931-45edbf4dd908", + "type": "database", + "name": "sample_data.ecommerce_db", + "description": "This **mock** database contains tables related to shopify sales and orders with related dimension tables.", + "href": "http://localhost:8585/api/v1/databases/50da1ff8-4e1d-4967-8931-45edbf4dd908" + }, + "tags": [], + "usageSummary": { + "dailyStats": { + "count": 73, + "percentileRank": 45 + }, + "weeklyStats": { + "count": 73, + "percentileRank": 45 + }, + "monthlyStats": { + "count": 67, + "percentileRank": 45 + }, + "date": "2021-12-01" + }, + "followers": [], + "joins": { + "startDate": "2021-11-01", + "dayCount": 30, + "columnJoins": [ + { + "columnName": "shop_id", + "joinedWith": [ + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.shop\".shop_id", + "joinCount": 35 + } + ] + }, + { + "columnName": "address_::>id", + "joinedWith": [ + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.api_client_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.billing_address_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.customer_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.location_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.order_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.product_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.product_variant_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.shipping_address_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.shop_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.user_id", + "joinCount": 49 + } + ] + } + ] + }, + "sampleData": { + "columns": [ + "address_::>id", + "shop_id", + "first_name", + "last_name", + "address1", + "address2", + "company", + "city", + "region", + "zip", + "country", + "phone" + ], + "rows": [ + [ + "bc35100e-2da5-48bb-bfc8-667dafe66532", + "70424951-bc97-4b20-9ce7-be37c4619361", + "Zachary", + "Brett", + "9054 Maria Circle Apt. 296", + "48348 Victoria Valleys Suite 144", + "Robinson Inc", + "Stephanieport", + "048 Moore Turnpike Apt. 061", + "30839", + "Latvia", + "(381)575-6692" + ], + [ + "d9a5b1a0-bf92-4b71-884d-9818308d040d", + "ffdc81e4-b0dc-47b2-8240-8540ba6c3029", + "Melissa", + "Amy", + "6212 William Plaza Suite 362", + "741 Eric Bypass", + "Todd, Henderson and Jenkins", + "Petersonstad", + "363 Gary Mills", + "91794", + "Lesotho", + "828-855-9883" + ], + [ + "facf92d7-05ea-43d2-ba2a-067d63dee60c", + "a8d30187-1409-4606-9259-322a4f6caf74", + "Amber", + "Albert", + "3170 Warren Orchard Apt. 834", + "3204 Brewer Shoal Suite 324", + "Davila-Snyder", + "Nicoleland", + "023 Paul Course", + "14086", + "Sweden", + "438-959-1151" + ], + [ + "bab9a506-e23d-4c53-9402-d070e7704376", + "e02e1fac-b650-4db8-8c9d-5fa5edf5d863", + "Heidi", + "Kelly", + "30942 Gonzalez Stravenue", + "3158 Watts Green", + "Moore PLC", + "West Erica", + "6294 Elliott Ville", + "07418", + "Saint Martin", + "(830)112-9566x8681" + ], + [ + "67ff12ae-5d40-4795-9a82-3afa62a4aea1", + "bf45dc22-8d23-49d9-9d87-7b4bd2dd1762", + "Adam", + "Anna", + "986 Walker Unions", + "5798 Ross Spur Apt. 510", + "Schultz, Allen and Price", + "West Brandyton", + "07379 Alejandra Manors", + "09192", + "Cambodia", + "(859)222-9872x9188" + ], + [ + "97831db3-23df-424e-b2e3-19f196874002", + "cfc3c305-748b-4992-9fef-ddd0aa7ce927", + "Tracey", + "Kaitlin", + "1810 Fletcher Islands", + "6988 Steven Vista Apt. 738", + "Patel-Evans", + "Powellbury", + "8856 Lambert Forest Apt. 010", + "49826", + "Turks and Caicos Islands", + "195.384.1264x84605" + ], + [ + "a405990b-732f-431e-b3ad-0ce05a484671", + "f53ff51f-3365-4029-ae67-a679e1dca626", + "Carmen", + "Jessica", + "58361 Audrey Parks Apt. 128", + "864 Phillips Squares", + "Perez Inc", + "Laurieshire", + "407 Nicole Greens", + "06175", + "Kenya", + "(565)853-4978x18062" + ], + [ + "d3be5a1e-10f0-46e6-8033-d15766e73047", + "ffeea1b4-eb28-452a-8b06-2408e36b1a94", + "Melinda", + "Paul", + "09590 Gonzales Camp Apt. 092", + "146 Carlson Manor Suite 961", + "Mills Ltd", + "South Wendy", + "6273 Victor Springs Apt. 655", + "68154", + "United Arab Emirates", + "(209)678-7748x53000" + ], + [ + "52636d10-1505-4f0a-894a-52a194cdba26", + "8c021bf4-f33a-4d41-b55f-78d801a45d5e", + "Jacob", + "Jamie", + "0952 Colon Greens", + "00913 Natalie Tunnel Apt. 769", + "Sullivan Group", + "Longbury", + "03714 April Landing", + "74874", + "Turkey", + "(038)859-4310x9693" + ], + [ + "b2a1279b-392f-404f-88e0-f755d2bd3c14", + "2351209a-94b2-4b20-a517-1eef888c0d5b", + "Allen", + "Dean", + "8492 Smith Plains Apt. 986", + "420 Hodges Inlet Suite 088", + "Thornton-Mcknight", + "Gregoryborough", + "56904 Tony Branch Suite 945", + "88544", + "Mauritania", + "001-198-032-8011x00683" + ], + [ + "3a7cc826-4e7d-46de-a13d-895d5319a881", + "1a03bf40-3f40-460e-b170-2fadea8bdbee", + "Jill", + "Diana", + "092 Jose Unions", + "36896 Serrano Plaza", + "Wilson and Sons", + "North Justinchester", + "750 Contreras Bridge Apt. 456", + "77859", + "Kazakhstan", + "311.331.9899x4838" + ], + [ + "d4891b70-a002-41a9-a072-a1d3ef99c4d9", + "e49ad3aa-2c30-4148-81f8-4e2980467d1c", + "Jonathan", + "Lauren", + "4416 Christina Ville", + "44992 Katie Inlet Suite 965", + "Bennett, Hicks and Davidson", + "Lake Kendra", + "67281 Lee Drive Suite 987", + "27227", + "Jersey", + "950.930.9189x591" + ], + [ + "fbc3eeda-75b3-41f6-91a3-d671e3cc17d6", + "c3c73e91-020d-4fee-a1a9-e9781d684d9a", + "Gary", + "Jonathan", + "71309 Theresa Trail", + "29432 Brenda Overpass", + "Mccarthy-Huang", + "Lake Amanda", + "000 William Ranch", + "93218", + "Kazakhstan", + "001-109-449-4210x33965" + ], + [ + "684360f0-48c0-4bf7-9476-6231b7861c0b", + "18d728f1-8ec6-4e94-9725-fcd2ed719723", + "Karen", + "Paul", + "2867 Hunter Center Apt. 091", + "46974 Peter Drives Suite 073", + "Stephens, Wall and Johnson", + "Mcdowellfurt", + "33302 Mcintosh Orchard Apt. 884", + "17017", + "Gambia", + "484-039-6675" + ], + [ + "ec768cba-fc73-484a-bfc2-792e1bf29342", + "9c85fb32-1109-4409-a87d-75112fc3708f", + "Edgar", + "Hailey", + "70196 Moore Canyon", + "885 Jimenez Parkways", + "Gomez Group", + "Marktown", + "44624 Lawrence Springs Apt. 502", + "71815", + "Hungary", + "(777)526-6200" + ], + [ + "128eae16-fc8d-4d0e-9f07-78b6e4825709", + "530c610e-ab24-4f28-8d7f-684bb05817c8", + "Don", + "Edgar", + "040 Jessica Mews Apt. 149", + "3454 Lopez Neck", + "Clark, Simon and Griffith", + "Rickborough", + "549 Jeffrey Stream", + "71662", + "Korea", + "4911281340" + ], + [ + "341c94b3-cac4-46f0-bcba-33ccb52eacec", + "9f80457c-dd0e-4c4d-ab1f-cf76f734ad1c", + "Kevin", + "Kimberly", + "29504 Moore Grove", + "0079 Williams Pine Suite 274", + "Gregory-Mcgrath", + "Cantufort", + "5849 Paige River", + "72224", + "Zambia", + "(112)074-5447" + ], + [ + "d05acf85-8f05-40e8-bd8b-00a751ed4b16", + "a8214997-3076-4732-be67-66e0169f894d", + "Candace", + "Donna", + "1110 Powers Neck Suite 716", + "50101 Pamela Orchard Apt. 576", + "Brown, Hunter and Adkins", + "Adrianaville", + "4326 Orr Extensions", + "94064", + "Haiti", + "001-843-960-7631x732" + ], + [ + "44886c82-0e01-4b65-bf46-235d4d1e4e17", + "c0055521-b8d3-4ad8-86c3-cf310b5719c9", + "Holly", + "Tony", + "562 Shaw Burgs", + "568 Reed Vista", + "Ramirez Group", + "West Aaronfurt", + "6008 Brianna Lock Suite 088", + "46723", + "Uganda", + "343.960.6582" + ], + [ + "3ba1f5ff-fcd9-4315-8e72-14b716496a3c", + "3dc80460-e52c-4e94-a3dc-e9234f73e016", + "Melissa", + "Jessica", + "4076 Lisa Unions", + "46781 Brittany Route", + "Williams Inc", + "Harmonmouth", + "4349 Hughes Grove Suite 834", + "94032", + "South Georgia and the South Sandwich Islands", + "195-206-6214x45451" + ], + [ + "f757641c-963a-4696-9314-7f19f2df79fa", + "8d3afcc6-3662-4d23-899a-b9c37108f522", + "Larry", + "Brian", + "1698 Brittany Ridges", + "00442 Terry Via", + "Gallagher Group", + "Smithton", + "4835 Long Hills", + "96036", + "Japan", + "(592)844-2557x28538" + ], + [ + "a2c68229-75c5-43a5-b18b-8a8b504d4f9d", + "d78f0b90-d3a9-4568-b7de-8bb45423b25b", + "Gary", + "Luis", + "909 Carolyn Highway Apt. 717", + "549 Steve Walks Suite 058", + "Serrano, Harrison and Beard", + "South Kimberly", + "18324 Briana Point", + "36285", + "Macao", + "392.711.2369x14285" + ], + [ + "2a89cec7-1cf5-4c9c-ad79-745a1984e36f", + "4035c32c-7a03-409f-a8f4-bb3ff3d7c91d", + "Brittany", + "Brenda", + "2691 Brandon Plaza", + "13209 Alexis Cove Suite 182", + "Durham LLC", + "New Christyton", + "080 Peters Track", + "97880", + "Gabon", + "+1-604-197-7676x09064" + ], + [ + "a391bf33-6665-4caa-a2d7-de3132bf60d3", + "88156561-0c36-4053-a1d7-b58fac121003", + "Debbie", + "Sharon", + "600 Keller Trafficway", + "18809 Peter Village", + "Vazquez, Allen and Washington", + "Singhmouth", + "5628 Terrence Locks Suite 798", + "20287", + "Anguilla", + "001-151-880-6914x699" + ], + [ + "19bcef03-483c-4225-bb61-aafe48a2f981", + "8a35b2d9-8f65-484f-b735-8eb42c2bbfec", + "Mark", + "Ashley", + "3124 Kenneth Mountains Suite 321", + "111 Carter Drives Apt. 942", + "Hill PLC", + "Port Shannonville", + "6035 Calderon Ramp", + "25829", + "Angola", + "441.553.9413x20451" + ] + ] + }, + "tableProfile": { + "timestamp": 1634366539, + "columnCount": 12, + "rowCount": 725, + "customMetrics": [ + { + "name": "CountOfUSAddress", + "value": 15467 + }, + { + "name": "CountOfFRAddress", + "value": 1467 + } + ], + "columnProfile": [ + { + "name": "address_::>id", + "uniqueCount": 9, + "uniqueProportion": 0.52805369, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "shop_id", + "uniqueCount": 29, + "uniqueProportion": 0.2290940013, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "first_name", + "uniqueCount": 13, + "uniqueProportion": 0.1327792, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "last_name", + "uniqueCount": 23, + "uniqueProportion": 0.177126, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "address1", + "uniqueCount": 53, + "uniqueProportion": 0.0396391, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "address2", + "uniqueCount": 76, + "uniqueProportion": 0.0690369, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "company", + "uniqueCount": 23, + "uniqueProportion": 0.1210963, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "city", + "uniqueCount": 6, + "uniqueProportion": 0.024072, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "region", + "uniqueCount": 3, + "uniqueProportion": 0.1478114, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "zip", + "uniqueCount": 11, + "uniqueProportion": 0.1383472, + "distinctCount": 0, + "distinctProportion": 0, + "customMetrics": [ + { + "name": "CountOfLAZipCode", + "value": 3456 + }, + { + "name": "CountOfOrangeCountyZipCode", + "value": 2345 + } + ] + }, + { + "name": "country", + "uniqueCount": 13, + "uniqueProportion": 0.1601013, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "phone", + "uniqueCount": 8, + "uniqueProportion": 0.1297079, + "distinctCount": 0, + "distinctProportion": 0 + } + ] + }, + "databaseSchema": { + "id": "d7be1e2c-b3dc-11ec-b909-0242ac120002", + "type": "databaseSchema", + "name": "sample_data.ecommerce_db.shopify", + "description": "This **mock** Schema contains tables related to shopify sales and orders with related dimension tables.", + "href": "http://localhost:8585/api/v1/databaseSchemas/d7be1e2c-b3dc-11ec-b909-0242ac120002" + }, + "customMetrics": [ + { + "name": "CountOfUSAddress", + "expression": "SELECT COUNT(address_id) FROM dim_address WHERE country = 'US'" + }, + { + "name": "CountOfFRAddress", + "expression": "SELECT COUNT(address_id) FROM dim_address WHERE country = 'FR'" + } + ], + "sourceUrl": "http://localhost:8080/global_market" + }, + { + "name": "global", + "description": "This dimension table contains the billing and shipping addresses of customers. You can join this table with the sales table to generate lists of the billing and shipping addresses. Customers can enter their addresses more than once, so the same address can appear in more than one row in this table. This table contains one row per customer address.", + "version": 0.1, + "updatedAt": 1638354087391, + "updatedBy": "anonymous", + "href": "http://localhost:8585/api/v1/tables/3cda8ecb-f4c6-4ed4-8506-abe965b54b86", + "tableType": "Regular", + "schemaDefinition": "CREATE TABLE dim_address(address_id NUMERIC PRIMARY KEY, shop_id NUMERIC)", + "retentionPeriod": "10D", + "columns": [ + { + "name": "address_::>id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Unique identifier for the address.", + "tags": [], + "ordinalPosition": 1 + }, + { + "name": "shop_id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "The ID of the store. This column is a foreign key reference to the shop_id column in the dim_shop table.", + "tags": [], + "ordinalPosition": 2 + }, + { + "name": "first_name", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "First name of the customer.", + "tags": [], + "ordinalPosition": 3 + }, + { + "name": "last_name", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "Last name of the customer.", + "tags": [], + "ordinalPosition": 4 + }, + { + "name": "address1", + "dataType": "VARCHAR", + "dataLength": 500, + "dataTypeDisplay": "varchar", + "description": "The first address line. For example, 150 Elgin St.", + "tags": [], + "ordinalPosition": 5 + }, + { + "name": "address2", + "dataType": "VARCHAR", + "dataLength": 500, + "dataTypeDisplay": "varchar", + "description": "The second address line. For example, Suite 800.", + "tags": [], + "ordinalPosition": 6 + }, + { + "name": "company", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "The name of the customer's business, if one exists.", + "tags": [], + "ordinalPosition": 7 + }, + { + "name": "city", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "The name of the city. For example, Palo Alto.", + "tags": [], + "ordinalPosition": 8 + }, + { + "name": "region", + "dataType": "VARCHAR", + "dataLength": 512, + "dataTypeDisplay": "varchar", + "description": "The name of the region, such as a province or state, where the customer is located. For example, Ontario or New York. This column is the same as CustomerAddress.province in the Admin API.", + "tags": [], + "ordinalPosition": 9 + }, + { + "name": "zip", + "dataType": "VARCHAR", + "dataLength": 10, + "dataTypeDisplay": "varchar", + "description": "The ZIP or postal code. For example, 90210.", + "tags": [], + "ordinalPosition": 10, + "customMetrics": [ + { + "name": "CountOfLAZipCode", + "columnName": "zip", + "expression": "SELECT COUNT(zip) FROM dim_address WHERE zip LIKE '900%'" + }, + { + "name": "CountOfOrangeCountyZipCode", + "columnName": "zip", + "expression": "SELECT COUNT(zip) FROM dim_address WHERE zip LIKE '92%'" + } + ] + }, + { + "name": "country", + "dataType": "VARCHAR", + "dataLength": 50, + "dataTypeDisplay": "varchar", + "description": "The full name of the country. For example, Canada.", + "tags": [], + "ordinalPosition": 11 + }, + { + "name": "phone", + "dataType": "VARCHAR", + "dataLength": 15, + "dataTypeDisplay": "varchar", + "description": "The phone number of the customer.", + "tags": [], + "ordinalPosition": 12, + "customMetrics": [ + { + "name": "CountOfNonUsPhoneNumbers", + "columnName": "phone", + "expression": "SELECT COUNT(phone) FROM dim_address WHERE phone NOT LIKE '1%'" + } + ] + } + ], + "tableConstraints": [ + { + "constraintType": "PRIMARY_KEY", + "columns": [ + "address_::>id", + "shop_id" + ] + } + ], + "database": { + "id": "50da1ff8-4e1d-4967-8931-45edbf4dd908", + "type": "database", + "name": "sample_data.ecommerce_db", + "description": "This **mock** database contains tables related to shopify sales and orders with related dimension tables.", + "href": "http://localhost:8585/api/v1/databases/50da1ff8-4e1d-4967-8931-45edbf4dd908" + }, + "tags": [], + "usageSummary": { + "dailyStats": { + "count": 73, + "percentileRank": 45 + }, + "weeklyStats": { + "count": 73, + "percentileRank": 45 + }, + "monthlyStats": { + "count": 67, + "percentileRank": 45 + }, + "date": "2021-12-01" + }, + "followers": [], + "joins": { + "startDate": "2021-11-01", + "dayCount": 30, + "columnJoins": [ + { + "columnName": "shop_id", + "joinedWith": [ + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.shop\".shop_id", + "joinCount": 35 + } + ] + }, + { + "columnName": "address_::>id", + "joinedWith": [ + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.api_client_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.billing_address_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.customer_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.location_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.order_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.product_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.product_variant_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.shipping_address_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.shop_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.user_id", + "joinCount": 49 + } + ] + } + ] + }, + "sampleData": { + "columns": [ + "address_::>id", + "shop_id", + "first_name", + "last_name", + "address1", + "address2", + "company", + "city", + "region", + "zip", + "country", + "phone" + ], + "rows": [ + [ + "bc35100e-2da5-48bb-bfc8-667dafe66532", + "70424951-bc97-4b20-9ce7-be37c4619361", + "Zachary", + "Brett", + "9054 Maria Circle Apt. 296", + "48348 Victoria Valleys Suite 144", + "Robinson Inc", + "Stephanieport", + "048 Moore Turnpike Apt. 061", + "30839", + "Latvia", + "(381)575-6692" + ], + [ + "d9a5b1a0-bf92-4b71-884d-9818308d040d", + "ffdc81e4-b0dc-47b2-8240-8540ba6c3029", + "Melissa", + "Amy", + "6212 William Plaza Suite 362", + "741 Eric Bypass", + "Todd, Henderson and Jenkins", + "Petersonstad", + "363 Gary Mills", + "91794", + "Lesotho", + "828-855-9883" + ], + [ + "facf92d7-05ea-43d2-ba2a-067d63dee60c", + "a8d30187-1409-4606-9259-322a4f6caf74", + "Amber", + "Albert", + "3170 Warren Orchard Apt. 834", + "3204 Brewer Shoal Suite 324", + "Davila-Snyder", + "Nicoleland", + "023 Paul Course", + "14086", + "Sweden", + "438-959-1151" + ], + [ + "bab9a506-e23d-4c53-9402-d070e7704376", + "e02e1fac-b650-4db8-8c9d-5fa5edf5d863", + "Heidi", + "Kelly", + "30942 Gonzalez Stravenue", + "3158 Watts Green", + "Moore PLC", + "West Erica", + "6294 Elliott Ville", + "07418", + "Saint Martin", + "(830)112-9566x8681" + ], + [ + "67ff12ae-5d40-4795-9a82-3afa62a4aea1", + "bf45dc22-8d23-49d9-9d87-7b4bd2dd1762", + "Adam", + "Anna", + "986 Walker Unions", + "5798 Ross Spur Apt. 510", + "Schultz, Allen and Price", + "West Brandyton", + "07379 Alejandra Manors", + "09192", + "Cambodia", + "(859)222-9872x9188" + ], + [ + "97831db3-23df-424e-b2e3-19f196874002", + "cfc3c305-748b-4992-9fef-ddd0aa7ce927", + "Tracey", + "Kaitlin", + "1810 Fletcher Islands", + "6988 Steven Vista Apt. 738", + "Patel-Evans", + "Powellbury", + "8856 Lambert Forest Apt. 010", + "49826", + "Turks and Caicos Islands", + "195.384.1264x84605" + ], + [ + "a405990b-732f-431e-b3ad-0ce05a484671", + "f53ff51f-3365-4029-ae67-a679e1dca626", + "Carmen", + "Jessica", + "58361 Audrey Parks Apt. 128", + "864 Phillips Squares", + "Perez Inc", + "Laurieshire", + "407 Nicole Greens", + "06175", + "Kenya", + "(565)853-4978x18062" + ], + [ + "d3be5a1e-10f0-46e6-8033-d15766e73047", + "ffeea1b4-eb28-452a-8b06-2408e36b1a94", + "Melinda", + "Paul", + "09590 Gonzales Camp Apt. 092", + "146 Carlson Manor Suite 961", + "Mills Ltd", + "South Wendy", + "6273 Victor Springs Apt. 655", + "68154", + "United Arab Emirates", + "(209)678-7748x53000" + ], + [ + "52636d10-1505-4f0a-894a-52a194cdba26", + "8c021bf4-f33a-4d41-b55f-78d801a45d5e", + "Jacob", + "Jamie", + "0952 Colon Greens", + "00913 Natalie Tunnel Apt. 769", + "Sullivan Group", + "Longbury", + "03714 April Landing", + "74874", + "Turkey", + "(038)859-4310x9693" + ], + [ + "b2a1279b-392f-404f-88e0-f755d2bd3c14", + "2351209a-94b2-4b20-a517-1eef888c0d5b", + "Allen", + "Dean", + "8492 Smith Plains Apt. 986", + "420 Hodges Inlet Suite 088", + "Thornton-Mcknight", + "Gregoryborough", + "56904 Tony Branch Suite 945", + "88544", + "Mauritania", + "001-198-032-8011x00683" + ], + [ + "3a7cc826-4e7d-46de-a13d-895d5319a881", + "1a03bf40-3f40-460e-b170-2fadea8bdbee", + "Jill", + "Diana", + "092 Jose Unions", + "36896 Serrano Plaza", + "Wilson and Sons", + "North Justinchester", + "750 Contreras Bridge Apt. 456", + "77859", + "Kazakhstan", + "311.331.9899x4838" + ], + [ + "d4891b70-a002-41a9-a072-a1d3ef99c4d9", + "e49ad3aa-2c30-4148-81f8-4e2980467d1c", + "Jonathan", + "Lauren", + "4416 Christina Ville", + "44992 Katie Inlet Suite 965", + "Bennett, Hicks and Davidson", + "Lake Kendra", + "67281 Lee Drive Suite 987", + "27227", + "Jersey", + "950.930.9189x591" + ], + [ + "fbc3eeda-75b3-41f6-91a3-d671e3cc17d6", + "c3c73e91-020d-4fee-a1a9-e9781d684d9a", + "Gary", + "Jonathan", + "71309 Theresa Trail", + "29432 Brenda Overpass", + "Mccarthy-Huang", + "Lake Amanda", + "000 William Ranch", + "93218", + "Kazakhstan", + "001-109-449-4210x33965" + ], + [ + "684360f0-48c0-4bf7-9476-6231b7861c0b", + "18d728f1-8ec6-4e94-9725-fcd2ed719723", + "Karen", + "Paul", + "2867 Hunter Center Apt. 091", + "46974 Peter Drives Suite 073", + "Stephens, Wall and Johnson", + "Mcdowellfurt", + "33302 Mcintosh Orchard Apt. 884", + "17017", + "Gambia", + "484-039-6675" + ], + [ + "ec768cba-fc73-484a-bfc2-792e1bf29342", + "9c85fb32-1109-4409-a87d-75112fc3708f", + "Edgar", + "Hailey", + "70196 Moore Canyon", + "885 Jimenez Parkways", + "Gomez Group", + "Marktown", + "44624 Lawrence Springs Apt. 502", + "71815", + "Hungary", + "(777)526-6200" + ], + [ + "128eae16-fc8d-4d0e-9f07-78b6e4825709", + "530c610e-ab24-4f28-8d7f-684bb05817c8", + "Don", + "Edgar", + "040 Jessica Mews Apt. 149", + "3454 Lopez Neck", + "Clark, Simon and Griffith", + "Rickborough", + "549 Jeffrey Stream", + "71662", + "Korea", + "4911281340" + ], + [ + "341c94b3-cac4-46f0-bcba-33ccb52eacec", + "9f80457c-dd0e-4c4d-ab1f-cf76f734ad1c", + "Kevin", + "Kimberly", + "29504 Moore Grove", + "0079 Williams Pine Suite 274", + "Gregory-Mcgrath", + "Cantufort", + "5849 Paige River", + "72224", + "Zambia", + "(112)074-5447" + ], + [ + "d05acf85-8f05-40e8-bd8b-00a751ed4b16", + "a8214997-3076-4732-be67-66e0169f894d", + "Candace", + "Donna", + "1110 Powers Neck Suite 716", + "50101 Pamela Orchard Apt. 576", + "Brown, Hunter and Adkins", + "Adrianaville", + "4326 Orr Extensions", + "94064", + "Haiti", + "001-843-960-7631x732" + ], + [ + "44886c82-0e01-4b65-bf46-235d4d1e4e17", + "c0055521-b8d3-4ad8-86c3-cf310b5719c9", + "Holly", + "Tony", + "562 Shaw Burgs", + "568 Reed Vista", + "Ramirez Group", + "West Aaronfurt", + "6008 Brianna Lock Suite 088", + "46723", + "Uganda", + "343.960.6582" + ], + [ + "3ba1f5ff-fcd9-4315-8e72-14b716496a3c", + "3dc80460-e52c-4e94-a3dc-e9234f73e016", + "Melissa", + "Jessica", + "4076 Lisa Unions", + "46781 Brittany Route", + "Williams Inc", + "Harmonmouth", + "4349 Hughes Grove Suite 834", + "94032", + "South Georgia and the South Sandwich Islands", + "195-206-6214x45451" + ], + [ + "f757641c-963a-4696-9314-7f19f2df79fa", + "8d3afcc6-3662-4d23-899a-b9c37108f522", + "Larry", + "Brian", + "1698 Brittany Ridges", + "00442 Terry Via", + "Gallagher Group", + "Smithton", + "4835 Long Hills", + "96036", + "Japan", + "(592)844-2557x28538" + ], + [ + "a2c68229-75c5-43a5-b18b-8a8b504d4f9d", + "d78f0b90-d3a9-4568-b7de-8bb45423b25b", + "Gary", + "Luis", + "909 Carolyn Highway Apt. 717", + "549 Steve Walks Suite 058", + "Serrano, Harrison and Beard", + "South Kimberly", + "18324 Briana Point", + "36285", + "Macao", + "392.711.2369x14285" + ], + [ + "2a89cec7-1cf5-4c9c-ad79-745a1984e36f", + "4035c32c-7a03-409f-a8f4-bb3ff3d7c91d", + "Brittany", + "Brenda", + "2691 Brandon Plaza", + "13209 Alexis Cove Suite 182", + "Durham LLC", + "New Christyton", + "080 Peters Track", + "97880", + "Gabon", + "+1-604-197-7676x09064" + ], + [ + "a391bf33-6665-4caa-a2d7-de3132bf60d3", + "88156561-0c36-4053-a1d7-b58fac121003", + "Debbie", + "Sharon", + "600 Keller Trafficway", + "18809 Peter Village", + "Vazquez, Allen and Washington", + "Singhmouth", + "5628 Terrence Locks Suite 798", + "20287", + "Anguilla", + "001-151-880-6914x699" + ], + [ + "19bcef03-483c-4225-bb61-aafe48a2f981", + "8a35b2d9-8f65-484f-b735-8eb42c2bbfec", + "Mark", + "Ashley", + "3124 Kenneth Mountains Suite 321", + "111 Carter Drives Apt. 942", + "Hill PLC", + "Port Shannonville", + "6035 Calderon Ramp", + "25829", + "Angola", + "441.553.9413x20451" + ] + ] + }, + "tableProfile": { + "timestamp": 1634366539, + "columnCount": 12, + "rowCount": 725, + "customMetrics": [ + { + "name": "CountOfUSAddress", + "value": 15467 + }, + { + "name": "CountOfFRAddress", + "value": 1467 + } + ], + "columnProfile": [ + { + "name": "address_::>id", + "uniqueCount": 9, + "uniqueProportion": 0.52805369, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "shop_id", + "uniqueCount": 29, + "uniqueProportion": 0.2290940013, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "first_name", + "uniqueCount": 13, + "uniqueProportion": 0.1327792, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "last_name", + "uniqueCount": 23, + "uniqueProportion": 0.177126, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "address1", + "uniqueCount": 53, + "uniqueProportion": 0.0396391, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "address2", + "uniqueCount": 76, + "uniqueProportion": 0.0690369, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "company", + "uniqueCount": 23, + "uniqueProportion": 0.1210963, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "city", + "uniqueCount": 6, + "uniqueProportion": 0.024072, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "region", + "uniqueCount": 3, + "uniqueProportion": 0.1478114, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "zip", + "uniqueCount": 11, + "uniqueProportion": 0.1383472, + "distinctCount": 0, + "distinctProportion": 0, + "customMetrics": [ + { + "name": "CountOfLAZipCode", + "value": 3456 + }, + { + "name": "CountOfOrangeCountyZipCode", + "value": 2345 + } + ] + }, + { + "name": "country", + "uniqueCount": 13, + "uniqueProportion": 0.1601013, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "phone", + "uniqueCount": 8, + "uniqueProportion": 0.1297079, + "distinctCount": 0, + "distinctProportion": 0 + } + ] + }, + "databaseSchema": { + "id": "d7be1e2c-b3dc-11ec-b909-0242ac120002", + "type": "databaseSchema", + "name": "sample_data.ecommerce_db.shopify", + "description": "This **mock** Schema contains tables related to shopify sales and orders with related dimension tables.", + "href": "http://localhost:8585/api/v1/databaseSchemas/d7be1e2c-b3dc-11ec-b909-0242ac120002" + }, + "customMetrics": [ + { + "name": "CountOfUSAddress", + "expression": "SELECT COUNT(address_id) FROM dim_address WHERE country = 'US'" + }, + { + "name": "CountOfFRAddress", + "expression": "SELECT COUNT(address_id) FROM dim_address WHERE country = 'FR'" + } + ], + "sourceUrl": "http://localhost:8080/global" + }, + { + "name": "ice_global", + "description": "This dimension table contains the billing and shipping addresses of customers. You can join this table with the sales table to generate lists of the billing and shipping addresses. Customers can enter their addresses more than once, so the same address can appear in more than one row in this table. This table contains one row per customer address.", + "version": 0.1, + "updatedAt": 1638354087391, + "updatedBy": "anonymous", + "href": "http://localhost:8585/api/v1/tables/3cda8ecb-f4c6-4ed4-8506-abe965b54b86", + "tableType": "Regular", + "schemaDefinition": "CREATE TABLE dim_address(address_id NUMERIC PRIMARY KEY, shop_id NUMERIC)", + "retentionPeriod": "10D", + "columns": [ + { + "name": "address_::>id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Unique identifier for the address.", + "tags": [], + "ordinalPosition": 1 + }, + { + "name": "shop_id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "The ID of the store. This column is a foreign key reference to the shop_id column in the dim_shop table.", + "tags": [], + "ordinalPosition": 2 + }, + { + "name": "first_name", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "First name of the customer.", + "tags": [], + "ordinalPosition": 3 + }, + { + "name": "last_name", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "Last name of the customer.", + "tags": [], + "ordinalPosition": 4 + }, + { + "name": "address1", + "dataType": "VARCHAR", + "dataLength": 500, + "dataTypeDisplay": "varchar", + "description": "The first address line. For example, 150 Elgin St.", + "tags": [], + "ordinalPosition": 5 + }, + { + "name": "address2", + "dataType": "VARCHAR", + "dataLength": 500, + "dataTypeDisplay": "varchar", + "description": "The second address line. For example, Suite 800.", + "tags": [], + "ordinalPosition": 6 + }, + { + "name": "company", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "The name of the customer's business, if one exists.", + "tags": [], + "ordinalPosition": 7 + }, + { + "name": "city", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "The name of the city. For example, Palo Alto.", + "tags": [], + "ordinalPosition": 8 + }, + { + "name": "region", + "dataType": "VARCHAR", + "dataLength": 512, + "dataTypeDisplay": "varchar", + "description": "The name of the region, such as a province or state, where the customer is located. For example, Ontario or New York. This column is the same as CustomerAddress.province in the Admin API.", + "tags": [], + "ordinalPosition": 9 + }, + { + "name": "zip", + "dataType": "VARCHAR", + "dataLength": 10, + "dataTypeDisplay": "varchar", + "description": "The ZIP or postal code. For example, 90210.", + "tags": [], + "ordinalPosition": 10, + "customMetrics": [ + { + "name": "CountOfLAZipCode", + "columnName": "zip", + "expression": "SELECT COUNT(zip) FROM dim_address WHERE zip LIKE '900%'" + }, + { + "name": "CountOfOrangeCountyZipCode", + "columnName": "zip", + "expression": "SELECT COUNT(zip) FROM dim_address WHERE zip LIKE '92%'" + } + ] + }, + { + "name": "country", + "dataType": "VARCHAR", + "dataLength": 50, + "dataTypeDisplay": "varchar", + "description": "The full name of the country. For example, Canada.", + "tags": [], + "ordinalPosition": 11 + }, + { + "name": "phone", + "dataType": "VARCHAR", + "dataLength": 15, + "dataTypeDisplay": "varchar", + "description": "The phone number of the customer.", + "tags": [], + "ordinalPosition": 12, + "customMetrics": [ + { + "name": "CountOfNonUsPhoneNumbers", + "columnName": "phone", + "expression": "SELECT COUNT(phone) FROM dim_address WHERE phone NOT LIKE '1%'" + } + ] + } + ], + "tableConstraints": [ + { + "constraintType": "PRIMARY_KEY", + "columns": [ + "address_::>id", + "shop_id" + ] + } + ], + "database": { + "id": "50da1ff8-4e1d-4967-8931-45edbf4dd908", + "type": "database", + "name": "sample_data.ecommerce_db", + "description": "This **mock** database contains tables related to shopify sales and orders with related dimension tables.", + "href": "http://localhost:8585/api/v1/databases/50da1ff8-4e1d-4967-8931-45edbf4dd908" + }, + "tags": [], + "usageSummary": { + "dailyStats": { + "count": 73, + "percentileRank": 45 + }, + "weeklyStats": { + "count": 73, + "percentileRank": 45 + }, + "monthlyStats": { + "count": 67, + "percentileRank": 45 + }, + "date": "2021-12-01" + }, + "followers": [], + "joins": { + "startDate": "2021-11-01", + "dayCount": 30, + "columnJoins": [ + { + "columnName": "shop_id", + "joinedWith": [ + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.shop\".shop_id", + "joinCount": 35 + } + ] + }, + { + "columnName": "address_::>id", + "joinedWith": [ + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.api_client_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.billing_address_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.customer_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.location_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.order_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.product_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.product_variant_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.shipping_address_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.shop_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.user_id", + "joinCount": 49 + } + ] + } + ] + }, + "sampleData": { + "columns": [ + "address_::>id", + "shop_id", + "first_name", + "last_name", + "address1", + "address2", + "company", + "city", + "region", + "zip", + "country", + "phone" + ], + "rows": [ + [ + "bc35100e-2da5-48bb-bfc8-667dafe66532", + "70424951-bc97-4b20-9ce7-be37c4619361", + "Zachary", + "Brett", + "9054 Maria Circle Apt. 296", + "48348 Victoria Valleys Suite 144", + "Robinson Inc", + "Stephanieport", + "048 Moore Turnpike Apt. 061", + "30839", + "Latvia", + "(381)575-6692" + ], + [ + "d9a5b1a0-bf92-4b71-884d-9818308d040d", + "ffdc81e4-b0dc-47b2-8240-8540ba6c3029", + "Melissa", + "Amy", + "6212 William Plaza Suite 362", + "741 Eric Bypass", + "Todd, Henderson and Jenkins", + "Petersonstad", + "363 Gary Mills", + "91794", + "Lesotho", + "828-855-9883" + ], + [ + "facf92d7-05ea-43d2-ba2a-067d63dee60c", + "a8d30187-1409-4606-9259-322a4f6caf74", + "Amber", + "Albert", + "3170 Warren Orchard Apt. 834", + "3204 Brewer Shoal Suite 324", + "Davila-Snyder", + "Nicoleland", + "023 Paul Course", + "14086", + "Sweden", + "438-959-1151" + ], + [ + "bab9a506-e23d-4c53-9402-d070e7704376", + "e02e1fac-b650-4db8-8c9d-5fa5edf5d863", + "Heidi", + "Kelly", + "30942 Gonzalez Stravenue", + "3158 Watts Green", + "Moore PLC", + "West Erica", + "6294 Elliott Ville", + "07418", + "Saint Martin", + "(830)112-9566x8681" + ], + [ + "67ff12ae-5d40-4795-9a82-3afa62a4aea1", + "bf45dc22-8d23-49d9-9d87-7b4bd2dd1762", + "Adam", + "Anna", + "986 Walker Unions", + "5798 Ross Spur Apt. 510", + "Schultz, Allen and Price", + "West Brandyton", + "07379 Alejandra Manors", + "09192", + "Cambodia", + "(859)222-9872x9188" + ], + [ + "97831db3-23df-424e-b2e3-19f196874002", + "cfc3c305-748b-4992-9fef-ddd0aa7ce927", + "Tracey", + "Kaitlin", + "1810 Fletcher Islands", + "6988 Steven Vista Apt. 738", + "Patel-Evans", + "Powellbury", + "8856 Lambert Forest Apt. 010", + "49826", + "Turks and Caicos Islands", + "195.384.1264x84605" + ], + [ + "a405990b-732f-431e-b3ad-0ce05a484671", + "f53ff51f-3365-4029-ae67-a679e1dca626", + "Carmen", + "Jessica", + "58361 Audrey Parks Apt. 128", + "864 Phillips Squares", + "Perez Inc", + "Laurieshire", + "407 Nicole Greens", + "06175", + "Kenya", + "(565)853-4978x18062" + ], + [ + "d3be5a1e-10f0-46e6-8033-d15766e73047", + "ffeea1b4-eb28-452a-8b06-2408e36b1a94", + "Melinda", + "Paul", + "09590 Gonzales Camp Apt. 092", + "146 Carlson Manor Suite 961", + "Mills Ltd", + "South Wendy", + "6273 Victor Springs Apt. 655", + "68154", + "United Arab Emirates", + "(209)678-7748x53000" + ], + [ + "52636d10-1505-4f0a-894a-52a194cdba26", + "8c021bf4-f33a-4d41-b55f-78d801a45d5e", + "Jacob", + "Jamie", + "0952 Colon Greens", + "00913 Natalie Tunnel Apt. 769", + "Sullivan Group", + "Longbury", + "03714 April Landing", + "74874", + "Turkey", + "(038)859-4310x9693" + ], + [ + "b2a1279b-392f-404f-88e0-f755d2bd3c14", + "2351209a-94b2-4b20-a517-1eef888c0d5b", + "Allen", + "Dean", + "8492 Smith Plains Apt. 986", + "420 Hodges Inlet Suite 088", + "Thornton-Mcknight", + "Gregoryborough", + "56904 Tony Branch Suite 945", + "88544", + "Mauritania", + "001-198-032-8011x00683" + ], + [ + "3a7cc826-4e7d-46de-a13d-895d5319a881", + "1a03bf40-3f40-460e-b170-2fadea8bdbee", + "Jill", + "Diana", + "092 Jose Unions", + "36896 Serrano Plaza", + "Wilson and Sons", + "North Justinchester", + "750 Contreras Bridge Apt. 456", + "77859", + "Kazakhstan", + "311.331.9899x4838" + ], + [ + "d4891b70-a002-41a9-a072-a1d3ef99c4d9", + "e49ad3aa-2c30-4148-81f8-4e2980467d1c", + "Jonathan", + "Lauren", + "4416 Christina Ville", + "44992 Katie Inlet Suite 965", + "Bennett, Hicks and Davidson", + "Lake Kendra", + "67281 Lee Drive Suite 987", + "27227", + "Jersey", + "950.930.9189x591" + ], + [ + "fbc3eeda-75b3-41f6-91a3-d671e3cc17d6", + "c3c73e91-020d-4fee-a1a9-e9781d684d9a", + "Gary", + "Jonathan", + "71309 Theresa Trail", + "29432 Brenda Overpass", + "Mccarthy-Huang", + "Lake Amanda", + "000 William Ranch", + "93218", + "Kazakhstan", + "001-109-449-4210x33965" + ], + [ + "684360f0-48c0-4bf7-9476-6231b7861c0b", + "18d728f1-8ec6-4e94-9725-fcd2ed719723", + "Karen", + "Paul", + "2867 Hunter Center Apt. 091", + "46974 Peter Drives Suite 073", + "Stephens, Wall and Johnson", + "Mcdowellfurt", + "33302 Mcintosh Orchard Apt. 884", + "17017", + "Gambia", + "484-039-6675" + ], + [ + "ec768cba-fc73-484a-bfc2-792e1bf29342", + "9c85fb32-1109-4409-a87d-75112fc3708f", + "Edgar", + "Hailey", + "70196 Moore Canyon", + "885 Jimenez Parkways", + "Gomez Group", + "Marktown", + "44624 Lawrence Springs Apt. 502", + "71815", + "Hungary", + "(777)526-6200" + ], + [ + "128eae16-fc8d-4d0e-9f07-78b6e4825709", + "530c610e-ab24-4f28-8d7f-684bb05817c8", + "Don", + "Edgar", + "040 Jessica Mews Apt. 149", + "3454 Lopez Neck", + "Clark, Simon and Griffith", + "Rickborough", + "549 Jeffrey Stream", + "71662", + "Korea", + "4911281340" + ], + [ + "341c94b3-cac4-46f0-bcba-33ccb52eacec", + "9f80457c-dd0e-4c4d-ab1f-cf76f734ad1c", + "Kevin", + "Kimberly", + "29504 Moore Grove", + "0079 Williams Pine Suite 274", + "Gregory-Mcgrath", + "Cantufort", + "5849 Paige River", + "72224", + "Zambia", + "(112)074-5447" + ], + [ + "d05acf85-8f05-40e8-bd8b-00a751ed4b16", + "a8214997-3076-4732-be67-66e0169f894d", + "Candace", + "Donna", + "1110 Powers Neck Suite 716", + "50101 Pamela Orchard Apt. 576", + "Brown, Hunter and Adkins", + "Adrianaville", + "4326 Orr Extensions", + "94064", + "Haiti", + "001-843-960-7631x732" + ], + [ + "44886c82-0e01-4b65-bf46-235d4d1e4e17", + "c0055521-b8d3-4ad8-86c3-cf310b5719c9", + "Holly", + "Tony", + "562 Shaw Burgs", + "568 Reed Vista", + "Ramirez Group", + "West Aaronfurt", + "6008 Brianna Lock Suite 088", + "46723", + "Uganda", + "343.960.6582" + ], + [ + "3ba1f5ff-fcd9-4315-8e72-14b716496a3c", + "3dc80460-e52c-4e94-a3dc-e9234f73e016", + "Melissa", + "Jessica", + "4076 Lisa Unions", + "46781 Brittany Route", + "Williams Inc", + "Harmonmouth", + "4349 Hughes Grove Suite 834", + "94032", + "South Georgia and the South Sandwich Islands", + "195-206-6214x45451" + ], + [ + "f757641c-963a-4696-9314-7f19f2df79fa", + "8d3afcc6-3662-4d23-899a-b9c37108f522", + "Larry", + "Brian", + "1698 Brittany Ridges", + "00442 Terry Via", + "Gallagher Group", + "Smithton", + "4835 Long Hills", + "96036", + "Japan", + "(592)844-2557x28538" + ], + [ + "a2c68229-75c5-43a5-b18b-8a8b504d4f9d", + "d78f0b90-d3a9-4568-b7de-8bb45423b25b", + "Gary", + "Luis", + "909 Carolyn Highway Apt. 717", + "549 Steve Walks Suite 058", + "Serrano, Harrison and Beard", + "South Kimberly", + "18324 Briana Point", + "36285", + "Macao", + "392.711.2369x14285" + ], + [ + "2a89cec7-1cf5-4c9c-ad79-745a1984e36f", + "4035c32c-7a03-409f-a8f4-bb3ff3d7c91d", + "Brittany", + "Brenda", + "2691 Brandon Plaza", + "13209 Alexis Cove Suite 182", + "Durham LLC", + "New Christyton", + "080 Peters Track", + "97880", + "Gabon", + "+1-604-197-7676x09064" + ], + [ + "a391bf33-6665-4caa-a2d7-de3132bf60d3", + "88156561-0c36-4053-a1d7-b58fac121003", + "Debbie", + "Sharon", + "600 Keller Trafficway", + "18809 Peter Village", + "Vazquez, Allen and Washington", + "Singhmouth", + "5628 Terrence Locks Suite 798", + "20287", + "Anguilla", + "001-151-880-6914x699" + ], + [ + "19bcef03-483c-4225-bb61-aafe48a2f981", + "8a35b2d9-8f65-484f-b735-8eb42c2bbfec", + "Mark", + "Ashley", + "3124 Kenneth Mountains Suite 321", + "111 Carter Drives Apt. 942", + "Hill PLC", + "Port Shannonville", + "6035 Calderon Ramp", + "25829", + "Angola", + "441.553.9413x20451" + ] + ] + }, + "tableProfile": { + "timestamp": 1634366539, + "columnCount": 12, + "rowCount": 725, + "customMetrics": [ + { + "name": "CountOfUSAddress", + "value": 15467 + }, + { + "name": "CountOfFRAddress", + "value": 1467 + } + ], + "columnProfile": [ + { + "name": "address_::>id", + "uniqueCount": 9, + "uniqueProportion": 0.52805369, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "shop_id", + "uniqueCount": 29, + "uniqueProportion": 0.2290940013, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "first_name", + "uniqueCount": 13, + "uniqueProportion": 0.1327792, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "last_name", + "uniqueCount": 23, + "uniqueProportion": 0.177126, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "address1", + "uniqueCount": 53, + "uniqueProportion": 0.0396391, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "address2", + "uniqueCount": 76, + "uniqueProportion": 0.0690369, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "company", + "uniqueCount": 23, + "uniqueProportion": 0.1210963, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "city", + "uniqueCount": 6, + "uniqueProportion": 0.024072, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "region", + "uniqueCount": 3, + "uniqueProportion": 0.1478114, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "zip", + "uniqueCount": 11, + "uniqueProportion": 0.1383472, + "distinctCount": 0, + "distinctProportion": 0, + "customMetrics": [ + { + "name": "CountOfLAZipCode", + "value": 3456 + }, + { + "name": "CountOfOrangeCountyZipCode", + "value": 2345 + } + ] + }, + { + "name": "country", + "uniqueCount": 13, + "uniqueProportion": 0.1601013, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "phone", + "uniqueCount": 8, + "uniqueProportion": 0.1297079, + "distinctCount": 0, + "distinctProportion": 0 + } + ] + }, + "databaseSchema": { + "id": "d7be1e2c-b3dc-11ec-b909-0242ac120002", + "type": "databaseSchema", + "name": "sample_data.ecommerce_db.shopify", + "description": "This **mock** Schema contains tables related to shopify sales and orders with related dimension tables.", + "href": "http://localhost:8585/api/v1/databaseSchemas/d7be1e2c-b3dc-11ec-b909-0242ac120002" + }, + "customMetrics": [ + { + "name": "CountOfUSAddress", + "expression": "SELECT COUNT(address_id) FROM dim_address WHERE country = 'US'" + }, + { + "name": "CountOfFRAddress", + "expression": "SELECT COUNT(address_id) FROM dim_address WHERE country = 'FR'" + } + ], + "sourceUrl": "http://localhost:8080/ice_global" + }, + { + "name": "mortgage", + "description": "This dimension table contains the billing and shipping addresses of customers. You can join this table with the sales table to generate lists of the billing and shipping addresses. Customers can enter their addresses more than once, so the same address can appear in more than one row in this table. This table contains one row per customer address.", + "version": 0.1, + "updatedAt": 1638354087391, + "updatedBy": "anonymous", + "href": "http://localhost:8585/api/v1/tables/3cda8ecb-f4c6-4ed4-8506-abe965b54b86", + "tableType": "Regular", + "schemaDefinition": "CREATE TABLE dim_address(address_id NUMERIC PRIMARY KEY, shop_id NUMERIC)", + "retentionPeriod": "10D", + "columns": [ + { + "name": "address_::>id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Unique identifier for the address.", + "tags": [], + "ordinalPosition": 1 + }, + { + "name": "shop_id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "The ID of the store. This column is a foreign key reference to the shop_id column in the dim_shop table.", + "tags": [], + "ordinalPosition": 2 + }, + { + "name": "first_name", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "First name of the customer.", + "tags": [], + "ordinalPosition": 3 + }, + { + "name": "last_name", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "Last name of the customer.", + "tags": [], + "ordinalPosition": 4 + }, + { + "name": "address1", + "dataType": "VARCHAR", + "dataLength": 500, + "dataTypeDisplay": "varchar", + "description": "The first address line. For example, 150 Elgin St.", + "tags": [], + "ordinalPosition": 5 + }, + { + "name": "address2", + "dataType": "VARCHAR", + "dataLength": 500, + "dataTypeDisplay": "varchar", + "description": "The second address line. For example, Suite 800.", + "tags": [], + "ordinalPosition": 6 + }, + { + "name": "company", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "The name of the customer's business, if one exists.", + "tags": [], + "ordinalPosition": 7 + }, + { + "name": "city", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "The name of the city. For example, Palo Alto.", + "tags": [], + "ordinalPosition": 8 + }, + { + "name": "region", + "dataType": "VARCHAR", + "dataLength": 512, + "dataTypeDisplay": "varchar", + "description": "The name of the region, such as a province or state, where the customer is located. For example, Ontario or New York. This column is the same as CustomerAddress.province in the Admin API.", + "tags": [], + "ordinalPosition": 9 + }, + { + "name": "zip", + "dataType": "VARCHAR", + "dataLength": 10, + "dataTypeDisplay": "varchar", + "description": "The ZIP or postal code. For example, 90210.", + "tags": [], + "ordinalPosition": 10, + "customMetrics": [ + { + "name": "CountOfLAZipCode", + "columnName": "zip", + "expression": "SELECT COUNT(zip) FROM dim_address WHERE zip LIKE '900%'" + }, + { + "name": "CountOfOrangeCountyZipCode", + "columnName": "zip", + "expression": "SELECT COUNT(zip) FROM dim_address WHERE zip LIKE '92%'" + } + ] + }, + { + "name": "country", + "dataType": "VARCHAR", + "dataLength": 50, + "dataTypeDisplay": "varchar", + "description": "The full name of the country. For example, Canada.", + "tags": [], + "ordinalPosition": 11 + }, + { + "name": "phone", + "dataType": "VARCHAR", + "dataLength": 15, + "dataTypeDisplay": "varchar", + "description": "The phone number of the customer.", + "tags": [], + "ordinalPosition": 12, + "customMetrics": [ + { + "name": "CountOfNonUsPhoneNumbers", + "columnName": "phone", + "expression": "SELECT COUNT(phone) FROM dim_address WHERE phone NOT LIKE '1%'" + } + ] + } + ], + "tableConstraints": [ + { + "constraintType": "PRIMARY_KEY", + "columns": [ + "address_::>id", + "shop_id" + ] + } + ], + "database": { + "id": "50da1ff8-4e1d-4967-8931-45edbf4dd908", + "type": "database", + "name": "sample_data.ecommerce_db", + "description": "This **mock** database contains tables related to shopify sales and orders with related dimension tables.", + "href": "http://localhost:8585/api/v1/databases/50da1ff8-4e1d-4967-8931-45edbf4dd908" + }, + "tags": [], + "usageSummary": { + "dailyStats": { + "count": 73, + "percentileRank": 45 + }, + "weeklyStats": { + "count": 73, + "percentileRank": 45 + }, + "monthlyStats": { + "count": 67, + "percentileRank": 45 + }, + "date": "2021-12-01" + }, + "followers": [], + "joins": { + "startDate": "2021-11-01", + "dayCount": 30, + "columnJoins": [ + { + "columnName": "shop_id", + "joinedWith": [ + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.shop\".shop_id", + "joinCount": 35 + } + ] + }, + { + "columnName": "address_::>id", + "joinedWith": [ + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.api_client_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.billing_address_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.customer_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.location_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.order_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.product_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.product_variant_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.shipping_address_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.shop_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.user_id", + "joinCount": 49 + } + ] + } + ] + }, + "sampleData": { + "columns": [ + "address_::>id", + "shop_id", + "first_name", + "last_name", + "address1", + "address2", + "company", + "city", + "region", + "zip", + "country", + "phone" + ], + "rows": [ + [ + "bc35100e-2da5-48bb-bfc8-667dafe66532", + "70424951-bc97-4b20-9ce7-be37c4619361", + "Zachary", + "Brett", + "9054 Maria Circle Apt. 296", + "48348 Victoria Valleys Suite 144", + "Robinson Inc", + "Stephanieport", + "048 Moore Turnpike Apt. 061", + "30839", + "Latvia", + "(381)575-6692" + ], + [ + "d9a5b1a0-bf92-4b71-884d-9818308d040d", + "ffdc81e4-b0dc-47b2-8240-8540ba6c3029", + "Melissa", + "Amy", + "6212 William Plaza Suite 362", + "741 Eric Bypass", + "Todd, Henderson and Jenkins", + "Petersonstad", + "363 Gary Mills", + "91794", + "Lesotho", + "828-855-9883" + ], + [ + "facf92d7-05ea-43d2-ba2a-067d63dee60c", + "a8d30187-1409-4606-9259-322a4f6caf74", + "Amber", + "Albert", + "3170 Warren Orchard Apt. 834", + "3204 Brewer Shoal Suite 324", + "Davila-Snyder", + "Nicoleland", + "023 Paul Course", + "14086", + "Sweden", + "438-959-1151" + ], + [ + "bab9a506-e23d-4c53-9402-d070e7704376", + "e02e1fac-b650-4db8-8c9d-5fa5edf5d863", + "Heidi", + "Kelly", + "30942 Gonzalez Stravenue", + "3158 Watts Green", + "Moore PLC", + "West Erica", + "6294 Elliott Ville", + "07418", + "Saint Martin", + "(830)112-9566x8681" + ], + [ + "67ff12ae-5d40-4795-9a82-3afa62a4aea1", + "bf45dc22-8d23-49d9-9d87-7b4bd2dd1762", + "Adam", + "Anna", + "986 Walker Unions", + "5798 Ross Spur Apt. 510", + "Schultz, Allen and Price", + "West Brandyton", + "07379 Alejandra Manors", + "09192", + "Cambodia", + "(859)222-9872x9188" + ], + [ + "97831db3-23df-424e-b2e3-19f196874002", + "cfc3c305-748b-4992-9fef-ddd0aa7ce927", + "Tracey", + "Kaitlin", + "1810 Fletcher Islands", + "6988 Steven Vista Apt. 738", + "Patel-Evans", + "Powellbury", + "8856 Lambert Forest Apt. 010", + "49826", + "Turks and Caicos Islands", + "195.384.1264x84605" + ], + [ + "a405990b-732f-431e-b3ad-0ce05a484671", + "f53ff51f-3365-4029-ae67-a679e1dca626", + "Carmen", + "Jessica", + "58361 Audrey Parks Apt. 128", + "864 Phillips Squares", + "Perez Inc", + "Laurieshire", + "407 Nicole Greens", + "06175", + "Kenya", + "(565)853-4978x18062" + ], + [ + "d3be5a1e-10f0-46e6-8033-d15766e73047", + "ffeea1b4-eb28-452a-8b06-2408e36b1a94", + "Melinda", + "Paul", + "09590 Gonzales Camp Apt. 092", + "146 Carlson Manor Suite 961", + "Mills Ltd", + "South Wendy", + "6273 Victor Springs Apt. 655", + "68154", + "United Arab Emirates", + "(209)678-7748x53000" + ], + [ + "52636d10-1505-4f0a-894a-52a194cdba26", + "8c021bf4-f33a-4d41-b55f-78d801a45d5e", + "Jacob", + "Jamie", + "0952 Colon Greens", + "00913 Natalie Tunnel Apt. 769", + "Sullivan Group", + "Longbury", + "03714 April Landing", + "74874", + "Turkey", + "(038)859-4310x9693" + ], + [ + "b2a1279b-392f-404f-88e0-f755d2bd3c14", + "2351209a-94b2-4b20-a517-1eef888c0d5b", + "Allen", + "Dean", + "8492 Smith Plains Apt. 986", + "420 Hodges Inlet Suite 088", + "Thornton-Mcknight", + "Gregoryborough", + "56904 Tony Branch Suite 945", + "88544", + "Mauritania", + "001-198-032-8011x00683" + ], + [ + "3a7cc826-4e7d-46de-a13d-895d5319a881", + "1a03bf40-3f40-460e-b170-2fadea8bdbee", + "Jill", + "Diana", + "092 Jose Unions", + "36896 Serrano Plaza", + "Wilson and Sons", + "North Justinchester", + "750 Contreras Bridge Apt. 456", + "77859", + "Kazakhstan", + "311.331.9899x4838" + ], + [ + "d4891b70-a002-41a9-a072-a1d3ef99c4d9", + "e49ad3aa-2c30-4148-81f8-4e2980467d1c", + "Jonathan", + "Lauren", + "4416 Christina Ville", + "44992 Katie Inlet Suite 965", + "Bennett, Hicks and Davidson", + "Lake Kendra", + "67281 Lee Drive Suite 987", + "27227", + "Jersey", + "950.930.9189x591" + ], + [ + "fbc3eeda-75b3-41f6-91a3-d671e3cc17d6", + "c3c73e91-020d-4fee-a1a9-e9781d684d9a", + "Gary", + "Jonathan", + "71309 Theresa Trail", + "29432 Brenda Overpass", + "Mccarthy-Huang", + "Lake Amanda", + "000 William Ranch", + "93218", + "Kazakhstan", + "001-109-449-4210x33965" + ], + [ + "684360f0-48c0-4bf7-9476-6231b7861c0b", + "18d728f1-8ec6-4e94-9725-fcd2ed719723", + "Karen", + "Paul", + "2867 Hunter Center Apt. 091", + "46974 Peter Drives Suite 073", + "Stephens, Wall and Johnson", + "Mcdowellfurt", + "33302 Mcintosh Orchard Apt. 884", + "17017", + "Gambia", + "484-039-6675" + ], + [ + "ec768cba-fc73-484a-bfc2-792e1bf29342", + "9c85fb32-1109-4409-a87d-75112fc3708f", + "Edgar", + "Hailey", + "70196 Moore Canyon", + "885 Jimenez Parkways", + "Gomez Group", + "Marktown", + "44624 Lawrence Springs Apt. 502", + "71815", + "Hungary", + "(777)526-6200" + ], + [ + "128eae16-fc8d-4d0e-9f07-78b6e4825709", + "530c610e-ab24-4f28-8d7f-684bb05817c8", + "Don", + "Edgar", + "040 Jessica Mews Apt. 149", + "3454 Lopez Neck", + "Clark, Simon and Griffith", + "Rickborough", + "549 Jeffrey Stream", + "71662", + "Korea", + "4911281340" + ], + [ + "341c94b3-cac4-46f0-bcba-33ccb52eacec", + "9f80457c-dd0e-4c4d-ab1f-cf76f734ad1c", + "Kevin", + "Kimberly", + "29504 Moore Grove", + "0079 Williams Pine Suite 274", + "Gregory-Mcgrath", + "Cantufort", + "5849 Paige River", + "72224", + "Zambia", + "(112)074-5447" + ], + [ + "d05acf85-8f05-40e8-bd8b-00a751ed4b16", + "a8214997-3076-4732-be67-66e0169f894d", + "Candace", + "Donna", + "1110 Powers Neck Suite 716", + "50101 Pamela Orchard Apt. 576", + "Brown, Hunter and Adkins", + "Adrianaville", + "4326 Orr Extensions", + "94064", + "Haiti", + "001-843-960-7631x732" + ], + [ + "44886c82-0e01-4b65-bf46-235d4d1e4e17", + "c0055521-b8d3-4ad8-86c3-cf310b5719c9", + "Holly", + "Tony", + "562 Shaw Burgs", + "568 Reed Vista", + "Ramirez Group", + "West Aaronfurt", + "6008 Brianna Lock Suite 088", + "46723", + "Uganda", + "343.960.6582" + ], + [ + "3ba1f5ff-fcd9-4315-8e72-14b716496a3c", + "3dc80460-e52c-4e94-a3dc-e9234f73e016", + "Melissa", + "Jessica", + "4076 Lisa Unions", + "46781 Brittany Route", + "Williams Inc", + "Harmonmouth", + "4349 Hughes Grove Suite 834", + "94032", + "South Georgia and the South Sandwich Islands", + "195-206-6214x45451" + ], + [ + "f757641c-963a-4696-9314-7f19f2df79fa", + "8d3afcc6-3662-4d23-899a-b9c37108f522", + "Larry", + "Brian", + "1698 Brittany Ridges", + "00442 Terry Via", + "Gallagher Group", + "Smithton", + "4835 Long Hills", + "96036", + "Japan", + "(592)844-2557x28538" + ], + [ + "a2c68229-75c5-43a5-b18b-8a8b504d4f9d", + "d78f0b90-d3a9-4568-b7de-8bb45423b25b", + "Gary", + "Luis", + "909 Carolyn Highway Apt. 717", + "549 Steve Walks Suite 058", + "Serrano, Harrison and Beard", + "South Kimberly", + "18324 Briana Point", + "36285", + "Macao", + "392.711.2369x14285" + ], + [ + "2a89cec7-1cf5-4c9c-ad79-745a1984e36f", + "4035c32c-7a03-409f-a8f4-bb3ff3d7c91d", + "Brittany", + "Brenda", + "2691 Brandon Plaza", + "13209 Alexis Cove Suite 182", + "Durham LLC", + "New Christyton", + "080 Peters Track", + "97880", + "Gabon", + "+1-604-197-7676x09064" + ], + [ + "a391bf33-6665-4caa-a2d7-de3132bf60d3", + "88156561-0c36-4053-a1d7-b58fac121003", + "Debbie", + "Sharon", + "600 Keller Trafficway", + "18809 Peter Village", + "Vazquez, Allen and Washington", + "Singhmouth", + "5628 Terrence Locks Suite 798", + "20287", + "Anguilla", + "001-151-880-6914x699" + ], + [ + "19bcef03-483c-4225-bb61-aafe48a2f981", + "8a35b2d9-8f65-484f-b735-8eb42c2bbfec", + "Mark", + "Ashley", + "3124 Kenneth Mountains Suite 321", + "111 Carter Drives Apt. 942", + "Hill PLC", + "Port Shannonville", + "6035 Calderon Ramp", + "25829", + "Angola", + "441.553.9413x20451" + ] + ] + }, + "tableProfile": { + "timestamp": 1634366539, + "columnCount": 12, + "rowCount": 725, + "customMetrics": [ + { + "name": "CountOfUSAddress", + "value": 15467 + }, + { + "name": "CountOfFRAddress", + "value": 1467 + } + ], + "columnProfile": [ + { + "name": "address_::>id", + "uniqueCount": 9, + "uniqueProportion": 0.52805369, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "shop_id", + "uniqueCount": 29, + "uniqueProportion": 0.2290940013, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "first_name", + "uniqueCount": 13, + "uniqueProportion": 0.1327792, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "last_name", + "uniqueCount": 23, + "uniqueProportion": 0.177126, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "address1", + "uniqueCount": 53, + "uniqueProportion": 0.0396391, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "address2", + "uniqueCount": 76, + "uniqueProportion": 0.0690369, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "company", + "uniqueCount": 23, + "uniqueProportion": 0.1210963, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "city", + "uniqueCount": 6, + "uniqueProportion": 0.024072, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "region", + "uniqueCount": 3, + "uniqueProportion": 0.1478114, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "zip", + "uniqueCount": 11, + "uniqueProportion": 0.1383472, + "distinctCount": 0, + "distinctProportion": 0, + "customMetrics": [ + { + "name": "CountOfLAZipCode", + "value": 3456 + }, + { + "name": "CountOfOrangeCountyZipCode", + "value": 2345 + } + ] + }, + { + "name": "country", + "uniqueCount": 13, + "uniqueProportion": 0.1601013, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "phone", + "uniqueCount": 8, + "uniqueProportion": 0.1297079, + "distinctCount": 0, + "distinctProportion": 0 + } + ] + }, + "databaseSchema": { + "id": "d7be1e2c-b3dc-11ec-b909-0242ac120002", + "type": "databaseSchema", + "name": "sample_data.ecommerce_db.shopify", + "description": "This **mock** Schema contains tables related to shopify sales and orders with related dimension tables.", + "href": "http://localhost:8585/api/v1/databaseSchemas/d7be1e2c-b3dc-11ec-b909-0242ac120002" + }, + "customMetrics": [ + { + "name": "CountOfUSAddress", + "expression": "SELECT COUNT(address_id) FROM dim_address WHERE country = 'US'" + }, + { + "name": "CountOfFRAddress", + "expression": "SELECT COUNT(address_id) FROM dim_address WHERE country = 'FR'" + } + ], + "sourceUrl": "http://localhost:8080/mortgage" + }, + { + "name": "funds_closingprocessdocumentsrelationship", + "description": "This dimension table contains the billing and shipping addresses of customers. You can join this table with the sales table to generate lists of the billing and shipping addresses. Customers can enter their addresses more than once, so the same address can appear in more than one row in this table. This table contains one row per customer address.", + "version": 0.1, + "updatedAt": 1638354087391, + "updatedBy": "anonymous", + "href": "http://localhost:8585/api/v1/tables/3cda8ecb-f4c6-4ed4-8506-abe965b54b86", + "tableType": "Regular", + "schemaDefinition": "CREATE TABLE dim_address(address_id NUMERIC PRIMARY KEY, shop_id NUMERIC)", + "retentionPeriod": "10D", + "columns": [ + { + "name": "address_::>id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Unique identifier for the address.", + "tags": [], + "ordinalPosition": 1 + }, + { + "name": "shop_id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "The ID of the store. This column is a foreign key reference to the shop_id column in the dim_shop table.", + "tags": [], + "ordinalPosition": 2 + }, + { + "name": "first_name", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "First name of the customer.", + "tags": [], + "ordinalPosition": 3 + }, + { + "name": "last_name", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "Last name of the customer.", + "tags": [], + "ordinalPosition": 4 + }, + { + "name": "address1", + "dataType": "VARCHAR", + "dataLength": 500, + "dataTypeDisplay": "varchar", + "description": "The first address line. For example, 150 Elgin St.", + "tags": [], + "ordinalPosition": 5 + }, + { + "name": "address2", + "dataType": "VARCHAR", + "dataLength": 500, + "dataTypeDisplay": "varchar", + "description": "The second address line. For example, Suite 800.", + "tags": [], + "ordinalPosition": 6 + }, + { + "name": "company", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "The name of the customer's business, if one exists.", + "tags": [], + "ordinalPosition": 7 + }, + { + "name": "city", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "The name of the city. For example, Palo Alto.", + "tags": [], + "ordinalPosition": 8 + }, + { + "name": "region", + "dataType": "VARCHAR", + "dataLength": 512, + "dataTypeDisplay": "varchar", + "description": "The name of the region, such as a province or state, where the customer is located. For example, Ontario or New York. This column is the same as CustomerAddress.province in the Admin API.", + "tags": [], + "ordinalPosition": 9 + }, + { + "name": "zip", + "dataType": "VARCHAR", + "dataLength": 10, + "dataTypeDisplay": "varchar", + "description": "The ZIP or postal code. For example, 90210.", + "tags": [], + "ordinalPosition": 10, + "customMetrics": [ + { + "name": "CountOfLAZipCode", + "columnName": "zip", + "expression": "SELECT COUNT(zip) FROM dim_address WHERE zip LIKE '900%'" + }, + { + "name": "CountOfOrangeCountyZipCode", + "columnName": "zip", + "expression": "SELECT COUNT(zip) FROM dim_address WHERE zip LIKE '92%'" + } + ] + }, + { + "name": "country", + "dataType": "VARCHAR", + "dataLength": 50, + "dataTypeDisplay": "varchar", + "description": "The full name of the country. For example, Canada.", + "tags": [], + "ordinalPosition": 11 + }, + { + "name": "phone", + "dataType": "VARCHAR", + "dataLength": 15, + "dataTypeDisplay": "varchar", + "description": "The phone number of the customer.", + "tags": [], + "ordinalPosition": 12, + "customMetrics": [ + { + "name": "CountOfNonUsPhoneNumbers", + "columnName": "phone", + "expression": "SELECT COUNT(phone) FROM dim_address WHERE phone NOT LIKE '1%'" + } + ] + } + ], + "tableConstraints": [ + { + "constraintType": "PRIMARY_KEY", + "columns": [ + "address_::>id", + "shop_id" + ] + } + ], + "database": { + "id": "50da1ff8-4e1d-4967-8931-45edbf4dd908", + "type": "database", + "name": "sample_data.ecommerce_db", + "description": "This **mock** database contains tables related to shopify sales and orders with related dimension tables.", + "href": "http://localhost:8585/api/v1/databases/50da1ff8-4e1d-4967-8931-45edbf4dd908" + }, + "tags": [], + "usageSummary": { + "dailyStats": { + "count": 73, + "percentileRank": 45 + }, + "weeklyStats": { + "count": 73, + "percentileRank": 45 + }, + "monthlyStats": { + "count": 67, + "percentileRank": 45 + }, + "date": "2021-12-01" + }, + "followers": [], + "joins": { + "startDate": "2021-11-01", + "dayCount": 30, + "columnJoins": [ + { + "columnName": "shop_id", + "joinedWith": [ + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.shop\".shop_id", + "joinCount": 35 + } + ] + }, + { + "columnName": "address_::>id", + "joinedWith": [ + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.api_client_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.billing_address_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.customer_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.location_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.order_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.product_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.product_variant_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.shipping_address_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.shop_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.user_id", + "joinCount": 49 + } + ] + } + ] + }, + "sampleData": { + "columns": [ + "address_::>id", + "shop_id", + "first_name", + "last_name", + "address1", + "address2", + "company", + "city", + "region", + "zip", + "country", + "phone" + ], + "rows": [ + [ + "bc35100e-2da5-48bb-bfc8-667dafe66532", + "70424951-bc97-4b20-9ce7-be37c4619361", + "Zachary", + "Brett", + "9054 Maria Circle Apt. 296", + "48348 Victoria Valleys Suite 144", + "Robinson Inc", + "Stephanieport", + "048 Moore Turnpike Apt. 061", + "30839", + "Latvia", + "(381)575-6692" + ], + [ + "d9a5b1a0-bf92-4b71-884d-9818308d040d", + "ffdc81e4-b0dc-47b2-8240-8540ba6c3029", + "Melissa", + "Amy", + "6212 William Plaza Suite 362", + "741 Eric Bypass", + "Todd, Henderson and Jenkins", + "Petersonstad", + "363 Gary Mills", + "91794", + "Lesotho", + "828-855-9883" + ], + [ + "facf92d7-05ea-43d2-ba2a-067d63dee60c", + "a8d30187-1409-4606-9259-322a4f6caf74", + "Amber", + "Albert", + "3170 Warren Orchard Apt. 834", + "3204 Brewer Shoal Suite 324", + "Davila-Snyder", + "Nicoleland", + "023 Paul Course", + "14086", + "Sweden", + "438-959-1151" + ], + [ + "bab9a506-e23d-4c53-9402-d070e7704376", + "e02e1fac-b650-4db8-8c9d-5fa5edf5d863", + "Heidi", + "Kelly", + "30942 Gonzalez Stravenue", + "3158 Watts Green", + "Moore PLC", + "West Erica", + "6294 Elliott Ville", + "07418", + "Saint Martin", + "(830)112-9566x8681" + ], + [ + "67ff12ae-5d40-4795-9a82-3afa62a4aea1", + "bf45dc22-8d23-49d9-9d87-7b4bd2dd1762", + "Adam", + "Anna", + "986 Walker Unions", + "5798 Ross Spur Apt. 510", + "Schultz, Allen and Price", + "West Brandyton", + "07379 Alejandra Manors", + "09192", + "Cambodia", + "(859)222-9872x9188" + ], + [ + "97831db3-23df-424e-b2e3-19f196874002", + "cfc3c305-748b-4992-9fef-ddd0aa7ce927", + "Tracey", + "Kaitlin", + "1810 Fletcher Islands", + "6988 Steven Vista Apt. 738", + "Patel-Evans", + "Powellbury", + "8856 Lambert Forest Apt. 010", + "49826", + "Turks and Caicos Islands", + "195.384.1264x84605" + ], + [ + "a405990b-732f-431e-b3ad-0ce05a484671", + "f53ff51f-3365-4029-ae67-a679e1dca626", + "Carmen", + "Jessica", + "58361 Audrey Parks Apt. 128", + "864 Phillips Squares", + "Perez Inc", + "Laurieshire", + "407 Nicole Greens", + "06175", + "Kenya", + "(565)853-4978x18062" + ], + [ + "d3be5a1e-10f0-46e6-8033-d15766e73047", + "ffeea1b4-eb28-452a-8b06-2408e36b1a94", + "Melinda", + "Paul", + "09590 Gonzales Camp Apt. 092", + "146 Carlson Manor Suite 961", + "Mills Ltd", + "South Wendy", + "6273 Victor Springs Apt. 655", + "68154", + "United Arab Emirates", + "(209)678-7748x53000" + ], + [ + "52636d10-1505-4f0a-894a-52a194cdba26", + "8c021bf4-f33a-4d41-b55f-78d801a45d5e", + "Jacob", + "Jamie", + "0952 Colon Greens", + "00913 Natalie Tunnel Apt. 769", + "Sullivan Group", + "Longbury", + "03714 April Landing", + "74874", + "Turkey", + "(038)859-4310x9693" + ], + [ + "b2a1279b-392f-404f-88e0-f755d2bd3c14", + "2351209a-94b2-4b20-a517-1eef888c0d5b", + "Allen", + "Dean", + "8492 Smith Plains Apt. 986", + "420 Hodges Inlet Suite 088", + "Thornton-Mcknight", + "Gregoryborough", + "56904 Tony Branch Suite 945", + "88544", + "Mauritania", + "001-198-032-8011x00683" + ], + [ + "3a7cc826-4e7d-46de-a13d-895d5319a881", + "1a03bf40-3f40-460e-b170-2fadea8bdbee", + "Jill", + "Diana", + "092 Jose Unions", + "36896 Serrano Plaza", + "Wilson and Sons", + "North Justinchester", + "750 Contreras Bridge Apt. 456", + "77859", + "Kazakhstan", + "311.331.9899x4838" + ], + [ + "d4891b70-a002-41a9-a072-a1d3ef99c4d9", + "e49ad3aa-2c30-4148-81f8-4e2980467d1c", + "Jonathan", + "Lauren", + "4416 Christina Ville", + "44992 Katie Inlet Suite 965", + "Bennett, Hicks and Davidson", + "Lake Kendra", + "67281 Lee Drive Suite 987", + "27227", + "Jersey", + "950.930.9189x591" + ], + [ + "fbc3eeda-75b3-41f6-91a3-d671e3cc17d6", + "c3c73e91-020d-4fee-a1a9-e9781d684d9a", + "Gary", + "Jonathan", + "71309 Theresa Trail", + "29432 Brenda Overpass", + "Mccarthy-Huang", + "Lake Amanda", + "000 William Ranch", + "93218", + "Kazakhstan", + "001-109-449-4210x33965" + ], + [ + "684360f0-48c0-4bf7-9476-6231b7861c0b", + "18d728f1-8ec6-4e94-9725-fcd2ed719723", + "Karen", + "Paul", + "2867 Hunter Center Apt. 091", + "46974 Peter Drives Suite 073", + "Stephens, Wall and Johnson", + "Mcdowellfurt", + "33302 Mcintosh Orchard Apt. 884", + "17017", + "Gambia", + "484-039-6675" + ], + [ + "ec768cba-fc73-484a-bfc2-792e1bf29342", + "9c85fb32-1109-4409-a87d-75112fc3708f", + "Edgar", + "Hailey", + "70196 Moore Canyon", + "885 Jimenez Parkways", + "Gomez Group", + "Marktown", + "44624 Lawrence Springs Apt. 502", + "71815", + "Hungary", + "(777)526-6200" + ], + [ + "128eae16-fc8d-4d0e-9f07-78b6e4825709", + "530c610e-ab24-4f28-8d7f-684bb05817c8", + "Don", + "Edgar", + "040 Jessica Mews Apt. 149", + "3454 Lopez Neck", + "Clark, Simon and Griffith", + "Rickborough", + "549 Jeffrey Stream", + "71662", + "Korea", + "4911281340" + ], + [ + "341c94b3-cac4-46f0-bcba-33ccb52eacec", + "9f80457c-dd0e-4c4d-ab1f-cf76f734ad1c", + "Kevin", + "Kimberly", + "29504 Moore Grove", + "0079 Williams Pine Suite 274", + "Gregory-Mcgrath", + "Cantufort", + "5849 Paige River", + "72224", + "Zambia", + "(112)074-5447" + ], + [ + "d05acf85-8f05-40e8-bd8b-00a751ed4b16", + "a8214997-3076-4732-be67-66e0169f894d", + "Candace", + "Donna", + "1110 Powers Neck Suite 716", + "50101 Pamela Orchard Apt. 576", + "Brown, Hunter and Adkins", + "Adrianaville", + "4326 Orr Extensions", + "94064", + "Haiti", + "001-843-960-7631x732" + ], + [ + "44886c82-0e01-4b65-bf46-235d4d1e4e17", + "c0055521-b8d3-4ad8-86c3-cf310b5719c9", + "Holly", + "Tony", + "562 Shaw Burgs", + "568 Reed Vista", + "Ramirez Group", + "West Aaronfurt", + "6008 Brianna Lock Suite 088", + "46723", + "Uganda", + "343.960.6582" + ], + [ + "3ba1f5ff-fcd9-4315-8e72-14b716496a3c", + "3dc80460-e52c-4e94-a3dc-e9234f73e016", + "Melissa", + "Jessica", + "4076 Lisa Unions", + "46781 Brittany Route", + "Williams Inc", + "Harmonmouth", + "4349 Hughes Grove Suite 834", + "94032", + "South Georgia and the South Sandwich Islands", + "195-206-6214x45451" + ], + [ + "f757641c-963a-4696-9314-7f19f2df79fa", + "8d3afcc6-3662-4d23-899a-b9c37108f522", + "Larry", + "Brian", + "1698 Brittany Ridges", + "00442 Terry Via", + "Gallagher Group", + "Smithton", + "4835 Long Hills", + "96036", + "Japan", + "(592)844-2557x28538" + ], + [ + "a2c68229-75c5-43a5-b18b-8a8b504d4f9d", + "d78f0b90-d3a9-4568-b7de-8bb45423b25b", + "Gary", + "Luis", + "909 Carolyn Highway Apt. 717", + "549 Steve Walks Suite 058", + "Serrano, Harrison and Beard", + "South Kimberly", + "18324 Briana Point", + "36285", + "Macao", + "392.711.2369x14285" + ], + [ + "2a89cec7-1cf5-4c9c-ad79-745a1984e36f", + "4035c32c-7a03-409f-a8f4-bb3ff3d7c91d", + "Brittany", + "Brenda", + "2691 Brandon Plaza", + "13209 Alexis Cove Suite 182", + "Durham LLC", + "New Christyton", + "080 Peters Track", + "97880", + "Gabon", + "+1-604-197-7676x09064" + ], + [ + "a391bf33-6665-4caa-a2d7-de3132bf60d3", + "88156561-0c36-4053-a1d7-b58fac121003", + "Debbie", + "Sharon", + "600 Keller Trafficway", + "18809 Peter Village", + "Vazquez, Allen and Washington", + "Singhmouth", + "5628 Terrence Locks Suite 798", + "20287", + "Anguilla", + "001-151-880-6914x699" + ], + [ + "19bcef03-483c-4225-bb61-aafe48a2f981", + "8a35b2d9-8f65-484f-b735-8eb42c2bbfec", + "Mark", + "Ashley", + "3124 Kenneth Mountains Suite 321", + "111 Carter Drives Apt. 942", + "Hill PLC", + "Port Shannonville", + "6035 Calderon Ramp", + "25829", + "Angola", + "441.553.9413x20451" + ] + ] + }, + "tableProfile": { + "timestamp": 1634366539, + "columnCount": 12, + "rowCount": 725, + "customMetrics": [ + { + "name": "CountOfUSAddress", + "value": 15467 + }, + { + "name": "CountOfFRAddress", + "value": 1467 + } + ], + "columnProfile": [ + { + "name": "address_::>id", + "uniqueCount": 9, + "uniqueProportion": 0.52805369, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "shop_id", + "uniqueCount": 29, + "uniqueProportion": 0.2290940013, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "first_name", + "uniqueCount": 13, + "uniqueProportion": 0.1327792, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "last_name", + "uniqueCount": 23, + "uniqueProportion": 0.177126, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "address1", + "uniqueCount": 53, + "uniqueProportion": 0.0396391, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "address2", + "uniqueCount": 76, + "uniqueProportion": 0.0690369, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "company", + "uniqueCount": 23, + "uniqueProportion": 0.1210963, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "city", + "uniqueCount": 6, + "uniqueProportion": 0.024072, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "region", + "uniqueCount": 3, + "uniqueProportion": 0.1478114, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "zip", + "uniqueCount": 11, + "uniqueProportion": 0.1383472, + "distinctCount": 0, + "distinctProportion": 0, + "customMetrics": [ + { + "name": "CountOfLAZipCode", + "value": 3456 + }, + { + "name": "CountOfOrangeCountyZipCode", + "value": 2345 + } + ] + }, + { + "name": "country", + "uniqueCount": 13, + "uniqueProportion": 0.1601013, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "phone", + "uniqueCount": 8, + "uniqueProportion": 0.1297079, + "distinctCount": 0, + "distinctProportion": 0 + } + ] + }, + "databaseSchema": { + "id": "d7be1e2c-b3dc-11ec-b909-0242ac120002", + "type": "databaseSchema", + "name": "sample_data.ecommerce_db.shopify", + "description": "This **mock** Schema contains tables related to shopify sales and orders with related dimension tables.", + "href": "http://localhost:8585/api/v1/databaseSchemas/d7be1e2c-b3dc-11ec-b909-0242ac120002" + }, + "customMetrics": [ + { + "name": "CountOfUSAddress", + "expression": "SELECT COUNT(address_id) FROM dim_address WHERE country = 'US'" + }, + { + "name": "CountOfFRAddress", + "expression": "SELECT COUNT(address_id) FROM dim_address WHERE country = 'FR'" + } + ], + "sourceUrl": "http://localhost:8080/funds_closingprocessdocumentsrelationship" + }, + { + "name": "dim_address", + "description": "This dimension table contains the billing and shipping addresses of customers. You can join this table with the sales table to generate lists of the billing and shipping addresses. Customers can enter their addresses more than once, so the same address can appear in more than one row in this table. This table contains one row per customer address.", + "version": 0.1, + "updatedAt": 1638354087391, + "updatedBy": "anonymous", + "href": "http://localhost:8585/api/v1/tables/3cda8ecb-f4c6-4ed4-8506-abe965b54b86", + "tableType": "Regular", + "schemaDefinition": "CREATE TABLE dim_address(address_id NUMERIC PRIMARY KEY, shop_id NUMERIC)", + "retentionPeriod": "10D", + "columns": [ + { + "name": "address_id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Unique identifier for the address.", + "tags": [], + "ordinalPosition": 1 + }, + { + "name": "shop_id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "The ID of the store. This column is a foreign key reference to the shop_id column in the dim_shop table.", + "tags": [], + "ordinalPosition": 2 + }, + { + "name": "first_name", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "First name of the customer.", + "tags": [], + "ordinalPosition": 3 + }, + { + "name": "last_name", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "Last name of the customer.", + "tags": [], + "ordinalPosition": 4 + }, + { + "name": "address1", + "dataType": "VARCHAR", + "dataLength": 500, + "dataTypeDisplay": "varchar", + "description": "The first address line. For example, 150 Elgin St.", + "tags": [], + "ordinalPosition": 5 + }, + { + "name": "address2", + "dataType": "VARCHAR", + "dataLength": 500, + "dataTypeDisplay": "varchar", + "description": "The second address line. For example, Suite 800.", + "tags": [], + "ordinalPosition": 6 + }, + { + "name": "company", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "The name of the customer's business, if one exists.", + "tags": [], + "ordinalPosition": 7 + }, + { + "name": "city", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "The name of the city. For example, Palo Alto.", + "tags": [], + "ordinalPosition": 8 + }, + { + "name": "region", + "dataType": "VARCHAR", + "dataLength": 512, + "dataTypeDisplay": "varchar", + "description": "The name of the region, such as a province or state, where the customer is located. For example, Ontario or New York. This column is the same as CustomerAddress.province in the Admin API.", + "tags": [], + "ordinalPosition": 9 + }, + { + "name": "zip", + "dataType": "VARCHAR", + "dataLength": 10, + "dataTypeDisplay": "varchar", + "description": "The ZIP or postal code. For example, 90210.", + "tags": [], + "ordinalPosition": 10, + "customMetrics": [ + { + "name": "CountOfLAZipCode", + "columnName": "zip", + "expression": "SELECT COUNT(zip) FROM dim_address WHERE zip LIKE '900%'" + }, + { + "name": "CountOfOrangeCountyZipCode", + "columnName": "zip", + "expression": "SELECT COUNT(zip) FROM dim_address WHERE zip LIKE '92%'" + } + ] + }, + { + "name": "country", + "dataType": "VARCHAR", + "dataLength": 50, + "dataTypeDisplay": "varchar", + "description": "The full name of the country. For example, Canada.", + "tags": [], + "ordinalPosition": 11 + }, + { + "name": "phone", + "dataType": "VARCHAR", + "dataLength": 15, + "dataTypeDisplay": "varchar", + "description": "The phone number of the customer.", + "tags": [], + "ordinalPosition": 12, + "customMetrics": [ + { + "name": "CountOfNonUsPhoneNumbers", + "columnName": "phone", + "expression": "SELECT COUNT(phone) FROM dim_address WHERE phone NOT LIKE '1%'" + } + ] + } + ], + "tableConstraints": [ + { + "constraintType": "PRIMARY_KEY", + "columns": [ + "address_id", + "shop_id" + ] + } + ], + "database": { + "id": "50da1ff8-4e1d-4967-8931-45edbf4dd908", + "type": "database", + "name": "sample_data.ecommerce_db", + "description": "This **mock** database contains tables related to shopify sales and orders with related dimension tables.", + "href": "http://localhost:8585/api/v1/databases/50da1ff8-4e1d-4967-8931-45edbf4dd908" + }, + "tags": [], + "usageSummary": { + "dailyStats": { + "count": 73, + "percentileRank": 45 + }, + "weeklyStats": { + "count": 73, + "percentileRank": 45 + }, + "monthlyStats": { + "count": 67, + "percentileRank": 45 + }, + "date": "2021-12-01" + }, + "followers": [], + "joins": { + "startDate": "2021-11-01", + "dayCount": 30, + "columnJoins": [ + { + "columnName": "shop_id", + "joinedWith": [ + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.shop\".shop_id", + "joinCount": 35 + } + ] + }, + { + "columnName": "address_id", + "joinedWith": [ + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.api_client_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.billing_address_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.customer_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.location_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.order_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.product_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.product_variant_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.shipping_address_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.shop_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.user_id", + "joinCount": 49 + } + ] + } + ] + }, + "sampleData": { + "columns": [ + "address_id", + "shop_id", + "first_name", + "last_name", + "address1", + "address2", + "company", + "city", + "region", + "zip", + "country", + "phone" + ], + "rows": [ + [ + "bc35100e-2da5-48bb-bfc8-667dafe66532", + "70424951-bc97-4b20-9ce7-be37c4619361", + "Zachary", + "Brett", + "9054 Maria Circle Apt. 296", + "48348 Victoria Valleys Suite 144", + "Robinson Inc", + "Stephanieport", + "048 Moore Turnpike Apt. 061", + "30839", + "Latvia", + "(381)575-6692" + ], + [ + "d9a5b1a0-bf92-4b71-884d-9818308d040d", + "ffdc81e4-b0dc-47b2-8240-8540ba6c3029", + "Melissa", + "Amy", + "6212 William Plaza Suite 362", + "741 Eric Bypass", + "Todd, Henderson and Jenkins", + "Petersonstad", + "363 Gary Mills", + "91794", + "Lesotho", + "828-855-9883" + ], + [ + "facf92d7-05ea-43d2-ba2a-067d63dee60c", + "a8d30187-1409-4606-9259-322a4f6caf74", + "Amber", + "Albert", + "3170 Warren Orchard Apt. 834", + "3204 Brewer Shoal Suite 324", + "Davila-Snyder", + "Nicoleland", + "023 Paul Course", + "14086", + "Sweden", + "438-959-1151" + ], + [ + "bab9a506-e23d-4c53-9402-d070e7704376", + "e02e1fac-b650-4db8-8c9d-5fa5edf5d863", + "Heidi", + "Kelly", + "30942 Gonzalez Stravenue", + "3158 Watts Green", + "Moore PLC", + "West Erica", + "6294 Elliott Ville", + "07418", + "Saint Martin", + "(830)112-9566x8681" + ], + [ + "67ff12ae-5d40-4795-9a82-3afa62a4aea1", + "bf45dc22-8d23-49d9-9d87-7b4bd2dd1762", + "Adam", + "Anna", + "986 Walker Unions", + "5798 Ross Spur Apt. 510", + "Schultz, Allen and Price", + "West Brandyton", + "07379 Alejandra Manors", + "09192", + "Cambodia", + "(859)222-9872x9188" + ], + [ + "97831db3-23df-424e-b2e3-19f196874002", + "cfc3c305-748b-4992-9fef-ddd0aa7ce927", + "Tracey", + "Kaitlin", + "1810 Fletcher Islands", + "6988 Steven Vista Apt. 738", + "Patel-Evans", + "Powellbury", + "8856 Lambert Forest Apt. 010", + "49826", + "Turks and Caicos Islands", + "195.384.1264x84605" + ], + [ + "a405990b-732f-431e-b3ad-0ce05a484671", + "f53ff51f-3365-4029-ae67-a679e1dca626", + "Carmen", + "Jessica", + "58361 Audrey Parks Apt. 128", + "864 Phillips Squares", + "Perez Inc", + "Laurieshire", + "407 Nicole Greens", + "06175", + "Kenya", + "(565)853-4978x18062" + ], + [ + "d3be5a1e-10f0-46e6-8033-d15766e73047", + "ffeea1b4-eb28-452a-8b06-2408e36b1a94", + "Melinda", + "Paul", + "09590 Gonzales Camp Apt. 092", + "146 Carlson Manor Suite 961", + "Mills Ltd", + "South Wendy", + "6273 Victor Springs Apt. 655", + "68154", + "United Arab Emirates", + "(209)678-7748x53000" + ], + [ + "52636d10-1505-4f0a-894a-52a194cdba26", + "8c021bf4-f33a-4d41-b55f-78d801a45d5e", + "Jacob", + "Jamie", + "0952 Colon Greens", + "00913 Natalie Tunnel Apt. 769", + "Sullivan Group", + "Longbury", + "03714 April Landing", + "74874", + "Turkey", + "(038)859-4310x9693" + ], + [ + "b2a1279b-392f-404f-88e0-f755d2bd3c14", + "2351209a-94b2-4b20-a517-1eef888c0d5b", + "Allen", + "Dean", + "8492 Smith Plains Apt. 986", + "420 Hodges Inlet Suite 088", + "Thornton-Mcknight", + "Gregoryborough", + "56904 Tony Branch Suite 945", + "88544", + "Mauritania", + "001-198-032-8011x00683" + ], + [ + "3a7cc826-4e7d-46de-a13d-895d5319a881", + "1a03bf40-3f40-460e-b170-2fadea8bdbee", + "Jill", + "Diana", + "092 Jose Unions", + "36896 Serrano Plaza", + "Wilson and Sons", + "North Justinchester", + "750 Contreras Bridge Apt. 456", + "77859", + "Kazakhstan", + "311.331.9899x4838" + ], + [ + "d4891b70-a002-41a9-a072-a1d3ef99c4d9", + "e49ad3aa-2c30-4148-81f8-4e2980467d1c", + "Jonathan", + "Lauren", + "4416 Christina Ville", + "44992 Katie Inlet Suite 965", + "Bennett, Hicks and Davidson", + "Lake Kendra", + "67281 Lee Drive Suite 987", + "27227", + "Jersey", + "950.930.9189x591" + ], + [ + "fbc3eeda-75b3-41f6-91a3-d671e3cc17d6", + "c3c73e91-020d-4fee-a1a9-e9781d684d9a", + "Gary", + "Jonathan", + "71309 Theresa Trail", + "29432 Brenda Overpass", + "Mccarthy-Huang", + "Lake Amanda", + "000 William Ranch", + "93218", + "Kazakhstan", + "001-109-449-4210x33965" + ], + [ + "684360f0-48c0-4bf7-9476-6231b7861c0b", + "18d728f1-8ec6-4e94-9725-fcd2ed719723", + "Karen", + "Paul", + "2867 Hunter Center Apt. 091", + "46974 Peter Drives Suite 073", + "Stephens, Wall and Johnson", + "Mcdowellfurt", + "33302 Mcintosh Orchard Apt. 884", + "17017", + "Gambia", + "484-039-6675" + ], + [ + "ec768cba-fc73-484a-bfc2-792e1bf29342", + "9c85fb32-1109-4409-a87d-75112fc3708f", + "Edgar", + "Hailey", + "70196 Moore Canyon", + "885 Jimenez Parkways", + "Gomez Group", + "Marktown", + "44624 Lawrence Springs Apt. 502", + "71815", + "Hungary", + "(777)526-6200" + ], + [ + "128eae16-fc8d-4d0e-9f07-78b6e4825709", + "530c610e-ab24-4f28-8d7f-684bb05817c8", + "Don", + "Edgar", + "040 Jessica Mews Apt. 149", + "3454 Lopez Neck", + "Clark, Simon and Griffith", + "Rickborough", + "549 Jeffrey Stream", + "71662", + "Korea", + "4911281340" + ], + [ + "341c94b3-cac4-46f0-bcba-33ccb52eacec", + "9f80457c-dd0e-4c4d-ab1f-cf76f734ad1c", + "Kevin", + "Kimberly", + "29504 Moore Grove", + "0079 Williams Pine Suite 274", + "Gregory-Mcgrath", + "Cantufort", + "5849 Paige River", + "72224", + "Zambia", + "(112)074-5447" + ], + [ + "d05acf85-8f05-40e8-bd8b-00a751ed4b16", + "a8214997-3076-4732-be67-66e0169f894d", + "Candace", + "Donna", + "1110 Powers Neck Suite 716", + "50101 Pamela Orchard Apt. 576", + "Brown, Hunter and Adkins", + "Adrianaville", + "4326 Orr Extensions", + "94064", + "Haiti", + "001-843-960-7631x732" + ], + [ + "44886c82-0e01-4b65-bf46-235d4d1e4e17", + "c0055521-b8d3-4ad8-86c3-cf310b5719c9", + "Holly", + "Tony", + "562 Shaw Burgs", + "568 Reed Vista", + "Ramirez Group", + "West Aaronfurt", + "6008 Brianna Lock Suite 088", + "46723", + "Uganda", + "343.960.6582" + ], + [ + "3ba1f5ff-fcd9-4315-8e72-14b716496a3c", + "3dc80460-e52c-4e94-a3dc-e9234f73e016", + "Melissa", + "Jessica", + "4076 Lisa Unions", + "46781 Brittany Route", + "Williams Inc", + "Harmonmouth", + "4349 Hughes Grove Suite 834", + "94032", + "South Georgia and the South Sandwich Islands", + "195-206-6214x45451" + ], + [ + "f757641c-963a-4696-9314-7f19f2df79fa", + "8d3afcc6-3662-4d23-899a-b9c37108f522", + "Larry", + "Brian", + "1698 Brittany Ridges", + "00442 Terry Via", + "Gallagher Group", + "Smithton", + "4835 Long Hills", + "96036", + "Japan", + "(592)844-2557x28538" + ], + [ + "a2c68229-75c5-43a5-b18b-8a8b504d4f9d", + "d78f0b90-d3a9-4568-b7de-8bb45423b25b", + "Gary", + "Luis", + "909 Carolyn Highway Apt. 717", + "549 Steve Walks Suite 058", + "Serrano, Harrison and Beard", + "South Kimberly", + "18324 Briana Point", + "36285", + "Macao", + "392.711.2369x14285" + ], + [ + "2a89cec7-1cf5-4c9c-ad79-745a1984e36f", + "4035c32c-7a03-409f-a8f4-bb3ff3d7c91d", + "Brittany", + "Brenda", + "2691 Brandon Plaza", + "13209 Alexis Cove Suite 182", + "Durham LLC", + "New Christyton", + "080 Peters Track", + "97880", + "Gabon", + "+1-604-197-7676x09064" + ], + [ + "a391bf33-6665-4caa-a2d7-de3132bf60d3", + "88156561-0c36-4053-a1d7-b58fac121003", + "Debbie", + "Sharon", + "600 Keller Trafficway", + "18809 Peter Village", + "Vazquez, Allen and Washington", + "Singhmouth", + "5628 Terrence Locks Suite 798", + "20287", + "Anguilla", + "001-151-880-6914x699" + ], + [ + "19bcef03-483c-4225-bb61-aafe48a2f981", + "8a35b2d9-8f65-484f-b735-8eb42c2bbfec", + "Mark", + "Ashley", + "3124 Kenneth Mountains Suite 321", + "111 Carter Drives Apt. 942", + "Hill PLC", + "Port Shannonville", + "6035 Calderon Ramp", + "25829", + "Angola", + "441.553.9413x20451" + ] + ] + }, + "tableProfile": { + "timestamp": 1634366539, + "columnCount": 12, + "rowCount": 725, + "customMetrics": [ + { + "name": "CountOfUSAddress", + "value": 15467 + }, + { + "name": "CountOfFRAddress", + "value": 1467 + } + ], + "columnProfile": [ + { + "name": "address_id", + "uniqueCount": 9, + "uniqueProportion": 0.52805369, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "shop_id", + "uniqueCount": 29, + "uniqueProportion": 0.2290940013, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "first_name", + "uniqueCount": 13, + "uniqueProportion": 0.1327792, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "last_name", + "uniqueCount": 23, + "uniqueProportion": 0.177126, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "address1", + "uniqueCount": 53, + "uniqueProportion": 0.0396391, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "address2", + "uniqueCount": 76, + "uniqueProportion": 0.0690369, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "company", + "uniqueCount": 23, + "uniqueProportion": 0.1210963, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "city", + "uniqueCount": 6, + "uniqueProportion": 0.024072, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "region", + "uniqueCount": 3, + "uniqueProportion": 0.1478114, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "zip", + "uniqueCount": 11, + "uniqueProportion": 0.1383472, + "distinctCount": 0, + "distinctProportion": 0, + "customMetrics": [ + { + "name": "CountOfLAZipCode", + "value": 3456 + }, + { + "name": "CountOfOrangeCountyZipCode", + "value": 2345 + } + ] + }, + { + "name": "country", + "uniqueCount": 13, + "uniqueProportion": 0.1601013, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "phone", + "uniqueCount": 8, + "uniqueProportion": 0.1297079, + "distinctCount": 0, + "distinctProportion": 0 + } + ] + }, + "databaseSchema": { + "id": "d7be1e2c-b3dc-11ec-b909-0242ac120002", + "type": "databaseSchema", + "name": "sample_data.ecommerce_db.shopify", + "description": "This **mock** Schema contains tables related to shopify sales and orders with related dimension tables.", + "href": "http://localhost:8585/api/v1/databaseSchemas/d7be1e2c-b3dc-11ec-b909-0242ac120002" + }, + "customMetrics": [ + { + "name": "CountOfUSAddress", + "expression": "SELECT COUNT(address_id) FROM dim_address WHERE country = 'US'" + }, + { + "name": "CountOfFRAddress", + "expression": "SELECT COUNT(address_id) FROM dim_address WHERE country = 'FR'" + } + ], + "sourceUrl": "http://localhost:8080/dim_address" + }, + { + "id": "1cda9ecb-f4c6-4ed4-8506-abe965b64c87", + "name": "dim_address_clean", + "description": "Created from dim_address after a small cleanup.", + "version": 0.1, + "updatedAt": 1638354087591, + "updatedBy": "anonymous", + "href": "http://localhost:8585/api/v1/tables/1cda9ecb-f4c6-4ed4-8506-abe965b64c87", + "tableType": "View", + "schemaDefinition": "CREATE VIEW dim_address_clean(address_id NUMERIC PRIMARY KEY, shop_id NUMERIC)", + "columns": [ + { + "name": "address_id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Unique identifier for the address.", + "tags": [], + "ordinalPosition": 1 + }, + { + "name": "shop_id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "The ID of the store. This column is a foreign key reference to the shop_id column in the dim_shop table.", + "tags": [], + "ordinalPosition": 2 + }, + { + "name": "first_name", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "First name of the customer.", + "tags": [], + "ordinalPosition": 3 + }, + { + "name": "last_name", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "Last name of the customer.", + "tags": [], + "ordinalPosition": 4 + }, + { + "name": "address", + "dataType": "VARCHAR", + "dataLength": 500, + "dataTypeDisplay": "varchar", + "description": "Clean address", + "tags": [], + "ordinalPosition": 5 + }, + { + "name": "company", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "The name of the customer's business, if one exists.", + "tags": [], + "ordinalPosition": 7 + }, + { + "name": "city", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "The name of the city. For example, Palo Alto.", + "tags": [], + "ordinalPosition": 8 + }, + { + "name": "region", + "dataType": "VARCHAR", + "dataLength": 512, + "dataTypeDisplay": "varchar", + "description": "The name of the region, such as a province or state, where the customer is located. For example, Ontario or New York. This column is the same as CustomerAddress.province in the Admin API.", + "tags": [], + "ordinalPosition": 9 + }, + { + "name": "zip", + "dataType": "VARCHAR", + "dataLength": 10, + "dataTypeDisplay": "varchar", + "description": "The ZIP or postal code. For example, 90210.", + "tags": [], + "ordinalPosition": 10 + }, + { + "name": "country", + "dataType": "VARCHAR", + "dataLength": 50, + "dataTypeDisplay": "varchar", + "description": "The full name of the country. For example, Canada.", + "tags": [], + "ordinalPosition": 11 + }, + { + "name": "phone", + "dataType": "VARCHAR", + "dataLength": 15, + "dataTypeDisplay": "varchar", + "description": "The phone number of the customer.", + "tags": [], + "ordinalPosition": 12 + } + ], + "tableConstraints": [ + { + "constraintType": "PRIMARY_KEY", + "columns": [ + "address_id", + "shop_id" + ] + } + ], + "database": { + "id": "50da1ff8-4e1d-4967-8931-45edbf4dd908", + "type": "database", + "name": "sample_data.ecommerce_db", + "description": "This **mock** database contains tables related to shopify sales and orders with related dimension tables.", + "href": "http://localhost:8585/api/v1/databases/50da1ff8-4e1d-4967-8931-45edbf4dd908" + }, + "tags": [], + "usageSummary": { + "dailyStats": { + "count": 87, + "percentileRank": 45 + }, + "weeklyStats": { + "count": 87, + "percentileRank": 45 + }, + "monthlyStats": { + "count": 87, + "percentileRank": 45 + }, + "date": "2021-12-01" + }, + "followers": [], + "sampleData": { + "columns": [ + "address_id", + "shop_id", + "first_name", + "last_name", + "address", + "company", + "city", + "region", + "zip", + "country", + "phone" + ], + "rows": [ + [ + "bc35100e-2da5-48bb-bfc8-667dafe66532", + "70424951-bc97-4b20-9ce7-be37c4619361", + "Zachary", + "Brett", + "9054 Maria Circle Apt. 296", + "Robinson Inc", + "Stephanieport", + "048 Moore Turnpike Apt. 061", + "30839", + "Latvia", + "(381)575-6692" + ], + [ + "d9a5b1a0-bf92-4b71-884d-9818308d040d", + "ffdc81e4-b0dc-47b2-8240-8540ba6c3029", + "Melissa", + "Amy", + "6212 William Plaza Suite 362", + "Todd, Henderson and Jenkins", + "Petersonstad", + "363 Gary Mills", + "91794", + "Lesotho", + "828-855-9883" + ], + [ + "facf92d7-05ea-43d2-ba2a-067d63dee60c", + "a8d30187-1409-4606-9259-322a4f6caf74", + "Amber", + "Albert", + "3170 Warren Orchard Apt. 834", + "Davila-Snyder", + "Nicoleland", + "023 Paul Course", + "14086", + "Sweden", + "438-959-1151" + ], + [ + "bab9a506-e23d-4c53-9402-d070e7704376", + "e02e1fac-b650-4db8-8c9d-5fa5edf5d863", + "Heidi", + "Kelly", + "30942 Gonzalez Stravenue", + "Moore PLC", + "West Erica", + "6294 Elliott Ville", + "07418", + "Saint Martin", + "(830)112-9566x8681" + ], + [ + "67ff12ae-5d40-4795-9a82-3afa62a4aea1", + "bf45dc22-8d23-49d9-9d87-7b4bd2dd1762", + "Adam", + "Anna", + "986 Walker Unions", + "Schultz, Allen and Price", + "West Brandyton", + "07379 Alejandra Manors", + "09192", + "Cambodia", + "(859)222-9872x9188" + ], + [ + "97831db3-23df-424e-b2e3-19f196874002", + "cfc3c305-748b-4992-9fef-ddd0aa7ce927", + "Tracey", + "Kaitlin", + "1810 Fletcher Islands", + "Patel-Evans", + "Powellbury", + "8856 Lambert Forest Apt. 010", + "49826", + "Turks and Caicos Islands", + "195.384.1264x84605" + ], + [ + "a405990b-732f-431e-b3ad-0ce05a484671", + "f53ff51f-3365-4029-ae67-a679e1dca626", + "Carmen", + "Jessica", + "58361 Audrey Parks Apt. 128", + "Perez Inc", + "Laurieshire", + "407 Nicole Greens", + "06175", + "Kenya", + "(565)853-4978x18062" + ], + [ + "d3be5a1e-10f0-46e6-8033-d15766e73047", + "ffeea1b4-eb28-452a-8b06-2408e36b1a94", + "Melinda", + "Paul", + "09590 Gonzales Camp Apt. 092", + "Mills Ltd", + "South Wendy", + "6273 Victor Springs Apt. 655", + "68154", + "United Arab Emirates", + "(209)678-7748x53000" + ], + [ + "52636d10-1505-4f0a-894a-52a194cdba26", + "8c021bf4-f33a-4d41-b55f-78d801a45d5e", + "Jacob", + "Jamie", + "0952 Colon Greens", + "Sullivan Group", + "Longbury", + "03714 April Landing", + "74874", + "Turkey", + "(038)859-4310x9693" + ], + [ + "b2a1279b-392f-404f-88e0-f755d2bd3c14", + "2351209a-94b2-4b20-a517-1eef888c0d5b", + "Allen", + "Dean", + "8492 Smith Plains Apt. 986", + "Thornton-Mcknight", + "Gregoryborough", + "56904 Tony Branch Suite 945", + "88544", + "Mauritania", + "001-198-032-8011x00683" + ], + [ + "3a7cc826-4e7d-46de-a13d-895d5319a881", + "1a03bf40-3f40-460e-b170-2fadea8bdbee", + "Jill", + "Diana", + "092 Jose Unions", + "Wilson and Sons", + "North Justinchester", + "750 Contreras Bridge Apt. 456", + "77859", + "Kazakhstan", + "311.331.9899x4838" + ], + [ + "d4891b70-a002-41a9-a072-a1d3ef99c4d9", + "e49ad3aa-2c30-4148-81f8-4e2980467d1c", + "Jonathan", + "Lauren", + "4416 Christina Ville", + "Bennett, Hicks and Davidson", + "Lake Kendra", + "67281 Lee Drive Suite 987", + "27227", + "Jersey", + "950.930.9189x591" + ], + [ + "fbc3eeda-75b3-41f6-91a3-d671e3cc17d6", + "c3c73e91-020d-4fee-a1a9-e9781d684d9a", + "Gary", + "Jonathan", + "71309 Theresa Trail", + "Mccarthy-Huang", + "Lake Amanda", + "000 William Ranch", + "93218", + "Kazakhstan", + "001-109-449-4210x33965" + ] + ] + }, + "databaseSchema": { + "id": "d7be1e2c-b3dc-11ec-b909-0242ac120002", + "type": "databaseSchema", + "name": "sample_data.ecommerce_db.shopify", + "description": "This **mock** Schema contains tables related to shopify sales and orders with related dimension tables.", + "href": "http://localhost:8585/api/v1/databaseSchemas/d7be1e2c-b3dc-11ec-b909-0242ac120002" + }, + "sourceUrl": "http://localhost:8080/dim_address_clean" + }, + { + "name": "dim.api/client", + "description": "This dimension table contains a row for each channel or app that your customers use to create orders. Some examples of these include Facebook and Online Store. You can join this table with the sales table to measure channel performance.", + "version": 0.1, + "updatedAt": 1638354087454, + "updatedBy": "anonymous", + "href": "http://localhost:8585/api/v1/tables/753833e0-f526-47b6-8555-97f5bb2882d5", + "tableType": "Regular", + "schemaDefinition": "CREATE TABLE dim.api/client(api_client_id NUMERIC PRIMARY KEY, title VARCHAR)", + "columns": [ + { + "name": "api_client_id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "ID of the API client that called the Shopify API. For example, the ID for the online store is 580111.", + "tags": [], + "ordinalPosition": 1 + }, + { + "name": "title", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "Full name of the app or channel. For example, Point of Sale, Online Store.", + "tags": [], + "ordinalPosition": 2 + } + ], + "database": { + "id": "50da1ff8-4e1d-4967-8931-45edbf4dd908", + "type": "database", + "name": "sample_data.ecommerce_db", + "description": "This **mock** database contains tables related to shopify sales and orders with related dimension tables.", + "href": "http://localhost:8585/api/v1/databases/50da1ff8-4e1d-4967-8931-45edbf4dd908" + }, + "tags": [], + "usageSummary": { + "dailyStats": { + "count": 85, + "percentileRank": 36 + }, + "weeklyStats": { + "count": 85, + "percentileRank": 36 + }, + "monthlyStats": { + "count": 85, + "percentileRank": 36 + }, + "date": "2021-12-01" + }, + "followers": [], + "joins": { + "startDate": "2021-11-01", + "dayCount": 30, + "columnJoins": [ + { + "columnName": "api_client_id", + "joinedWith": [ + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_order.api_client_id", + "joinCount": 30 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_order.customer_id", + "joinCount": 30 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_order.order_id", + "joinCount": 30 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_order.shop_id", + "joinCount": 30 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_order.user_id", + "joinCount": 30 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.api_client_id", + "joinCount": 55 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.billing_address_id", + "joinCount": 55 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.customer_id", + "joinCount": 55 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.location_id", + "joinCount": 55 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.order_id", + "joinCount": 55 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.product_id", + "joinCount": 55 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.product_variant_id", + "joinCount": 55 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.shipping_address_id", + "joinCount": 55 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.shop_id", + "joinCount": 55 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.user_id", + "joinCount": 55 + } + ] + } + ] + }, + "sampleData": { + "columns": [ + "api_client_id", + "title" + ], + "rows": [ + [ + "081bb68c-8517-43e7-9a28-6a19fef8b57b", + "Series page society." + ], + [ + "8f778142-0b2a-4e79-9b70-770012f8ecf3", + "Program able leave." + ], + [ + "45d9513d-bf96-4e97-aaa1-cdf9fae8b686", + "Recognize paper." + ], + [ + "53bf1c17-bc1b-4a67-8098-1719af0a10a1", + "Become officer seek." + ], + [ + "dc3b5e7d-8daa-4258-a016-9da71c12bfd4", + "Box remember onto." + ], + [ + "88e76f19-9637-4602-ad45-4033298d61b8", + "Both administration." + ], + [ + "c1fd8340-e8bb-4aa3-857e-9ce3f962eef9", + "Must smile attack." + ], + [ + "7612984b-c271-4c34-98d2-3261c1d34272", + "Catch campaign." + ], + [ + "7304aa3c-33dc-45b0-bd73-87125807e879", + "Use provide left." + ], + [ + "a87102e5-115f-4a99-8276-065cd15fb653", + "Point yeah." + ], + [ + "18d61d8b-ea59-4d58-8bec-4549dd3a9e61", + "Democratic cold." + ], + [ + "bbb55ed1-3afb-41f7-b547-2b95f47bfb7b", + "Despite brother." + ], + [ + "701b206d-a8e2-448c-9293-d886f1e2324c", + "Environmental." + ], + [ + "c5b55540-b3b2-44b8-a691-6ebd0d3b49ef", + "Seek guy account." + ], + [ + "1e1c9c4b-0a3e-499c-9531-552188bab24e", + "Turn something push." + ], + [ + "6f78b737-e8b8-427f-97f3-9a0b00cc99b5", + "Age tax very." + ], + [ + "75c47d28-bf60-45c7-bf8c-0e99d42e08ac", + "Successful single." + ], + [ + "e76f8c4a-138f-4c52-8169-74d5d66423e0", + "Only bar head ball." + ], + [ + "a3ecc6c2-6525-4353-9f34-1dcf020cf237", + "Difference among." + ], + [ + "989f5855-edae-47f0-b474-83038c092993", + "Member attack." + ], + [ + "96793d22-7a70-409a-8720-e3a4a48944c4", + "Identify face floor." + ], + [ + "cf1ecdca-1466-4ca9-ad95-adc153e02456", + "Determine guy field." + ], + [ + "97a0d6b7-bb46-449b-a45a-a8874888f6c9", + "Practice represent." + ], + [ + "9937cb82-1627-433b-8656-f7909971a7e7", + "First each threat." + ], + [ + "3beab500-cb33-4776-b6b2-5e79728daa79", + "Step he news space." + ] + ] + }, + "tableProfile": { + "timestamp": 1634366539, + "columnCount": 2, + "rowCount": 685, + "columnProfile": [ + { + "name": "api_client_id", + "uniqueCount": 9, + "uniqueProportion": 0.87924166, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "title", + "uniqueCount": 29, + "uniqueProportion": 0.4712713414, + "distinctCount": 0, + "distinctProportion": 0 + } + ] + }, + "databaseSchema": { + "id": "d7be1e2c-b3dc-11ec-b909-0242ac120002", + "type": "databaseSchema", + "name": "sample_data.ecommerce_db.shopify", + "description": "This **mock** Schema contains tables related to shopify sales and orders with related dimension tables.", + "href": "http://localhost:8585/api/v1/databaseSchemas/d7be1e2c-b3dc-11ec-b909-0242ac120002" + }, + "sourceUrl": "http://localhost:8080/dim.api/client" + }, + { + "name": "dim_customer", + "description": "The dimension table contains data about your customers. The customers table contains one row per customer. It includes historical metrics (such as the total amount that each customer has spent in your store) as well as forward-looking metrics (such as the predicted number of days between future orders and the expected order value in the next 30 days). This table also includes columns that segment customers into various categories (such as new, returning, promising, at risk, dormant, and loyal), which you can use to target marketing activities.", + "version": 0.1, + "updatedAt": 1638354087492, + "updatedBy": "anonymous", + "href": "http://localhost:8585/api/v1/tables/9c96042f-311a-4826-b5b2-8658914e2ee8", + "tableType": "Regular", + "schemaDefinition": "CREATE TABLE dim_customer(customer_id NUMERIC PRIMARY KEY, shop_id NUMERIC, average_order_size NUMERIC)", + "columns": [ + { + "name": "customer_id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "The ID of the customer. This is the primary key column for this table.", + "tags": [], + "constraint": "PRIMARY_KEY", + "ordinalPosition": 1 + }, + { + "name": "shop_id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "The ID of the store. This column is a foreign key reference to the shop_id column in the dim_shop table.", + "tags": [], + "ordinalPosition": 2 + }, + { + "name": "average_order_size", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "The average amount of money that the customer spends on orders from the store. The value is formatted in the store's currency and it is calculated using the following formula: total_order_value / total_order_count.", + "tags": [], + "ordinalPosition": 3 + }, + { + "name": "total_order_count", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "The total number of orders that the customer has made from this store across their lifetime.", + "tags": [], + "ordinalPosition": 4 + }, + { + "name": "total_order_value", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "The total amount of money that the customer has spent on orders from the store across their lifetime. The value is formatted in the store's currency.", + "tags": [], + "ordinalPosition": 5 + }, + { + "name": "first_order_date", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "The date (ISO 8601) and time (UTC) when the customer placed their first order. The format is YYYY-MM-DD HH:mm:ss (for example, 2016-02-05 17:04:01).", + "tags": [], + "ordinalPosition": 6 + }, + { + "name": "last_order_date", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "The date (ISO 8601) and time (UTC) when the customer placed their most recent order. The format is YYYY-MM-DD HH:mm:ss (for example, 2016-02-05 17:04:01).", + "tags": [], + "ordinalPosition": 7 + }, + { + "name": "rank", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "A numeric ranking of the customer's lifetime value for the store relative to all customers.", + "tags": [], + "ordinalPosition": 8 + }, + { + "name": "new", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Returns true if the customer made their first order in the last 30 days. Otherwise returns false.", + "tags": [], + "ordinalPosition": 9 + }, + { + "name": "returning", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Returns true when the customer has made more than one order. Returns false when the customer has made one order only. Returns Null when the customer exists in Shopify, but they have not made any orders. For example, this column can be null because the customer provided their contact information and then abandoned the checkout. Customers can also be created manually in the Shopify admin and by apps that use the Admin API.", + "tags": [], + "ordinalPosition": 10 + }, + { + "name": "loyal", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Returns true when the customer has a high probability of returning, and has placed more orders than the average customer. Otherwise returns false.", + "tags": [], + "ordinalPosition": 11 + }, + { + "name": "at_risk", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Returns true for repeat customers, who have a medium probability of returning and have not placed an order in a while. Otherwise returns false.", + "tags": [], + "ordinalPosition": 12 + }, + { + "name": "dormant", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Returns true when the customer has a very low probability of returning to make another purchase. Otherwise returns false.", + "tags": [], + "ordinalPosition": 13 + }, + { + "name": "promising", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Returns true when the customer has a high probability of returning and becoming a loyal customer. Otherwise returns false.", + "tags": [], + "ordinalPosition": 14 + }, + { + "name": "predicted_average_number_of_days_between_orders", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "The predicated number of days between future orders.", + "tags": [], + "ordinalPosition": 15 + }, + { + "name": "expected_purchase_value_in_next_30_days", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "The total purchase amount of the orders that the customer is expected to make in the next 30 days. The value is formatted in the store's currency.", + "tags": [], + "ordinalPosition": 16 + }, + { + "name": "first_name", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "The first name of the customer.", + "tags": [], + "ordinalPosition": 17 + }, + { + "name": "last_name", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "The last name of the customer.", + "tags": [], + "ordinalPosition": 18 + }, + { + "name": "city", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "The city from the customer's billing address. For example, Topeka.", + "tags": [], + "ordinalPosition": 19 + }, + { + "name": "region", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "The name of the region, such as the province or state, from the customer's billing address. For example, Alberta, Florida. This column is the same as CustomerAddress.province in the Admin API.", + "tags": [], + "ordinalPosition": 20 + }, + { + "name": "country", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "The country from the customer's billing address. For example, United States.", + "tags": [], + "ordinalPosition": 21 + }, + { + "name": "email", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "The email of the customer.", + "tags": [], + "ordinalPosition": 22 + }, + { + "name": "phone", + "dataType": "VARCHAR", + "dataLength": 15, + "dataTypeDisplay": "varchar", + "description": "The phone number of the customer.", + "tags": [], + "ordinalPosition": 23 + }, + { + "name": "verified_email", + "dataType": "BOOLEAN", + "dataLength": 15, + "dataTypeDisplay": "boolean", + "description": "Returns true when the customer's email has been verified. Otherwise returns false.", + "tags": [], + "ordinalPosition": 24 + }, + { + "name": "created_at", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "The date (ISO 8601) and time (UTC) when the customer was added to the store. The format is YYYY-MM-DD HH:mm:ss (for example, 2018-02-05 17:04:01).", + "tags": [], + "ordinalPosition": 25 + }, + { + "name": "accepts_marketing", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Returns true when the customer has agreed to accept marketing. Otherwise returns false.", + "tags": [], + "ordinalPosition": 26 + }, + { + "name": "customer", + "dataType": "STRUCT", + "dataTypeDisplay": "struct", + "description": "Customer Personal Details", + "tags": [], + "ordinalPosition": 27, + "children": [ + { + "name": "username", + "dataType": "VARCHAR", + "dataLength": 20, + "dataTypeDisplay": "VARCHAR(32)", + "tags": [] + }, + { + "name": "name", + "dataType": "VARCHAR", + "dataLength": 20, + "dataTypeDisplay": "VARCHAR(32)", + "tags": [] + }, + { + "name": "sex", + "dataType": "CHAR", + "dataLength": 1, + "dataTypeDisplay": "CHAR(1)", + "tags": [] + }, + { + "name": "address", + "dataType": "VARCHAR", + "dataLength": 128, + "dataTypeDisplay": "VARCHAR(128)", + "tags": [] + }, + { + "name": "mail", + "dataType": "VARCHAR", + "dataLength": 64, + "dataTypeDisplay": "VARCHAR(64)", + "tags": [] + }, + { + "name": "birthdate", + "dataType": "VARCHAR", + "dataLength": 16, + "dataTypeDisplay": "VARCHAR(16)", + "tags": [] + } + ] + }, + { + "name": "shipping_address", + "dataType": "ARRAY", + "arrayDataType": "STRUCT", + "dataTypeDisplay": "array>>", + "children": [ + { + "dataType": "STRING", + "dataTypeDisplay": "string", + "name": "type" + }, + { + "dataType": "ARRAY", + "arrayDataType": "INT", + "dataTypeDisplay": "array", + "name": "provider" + } + ], + "tags": [] + }, + { + "name": "orders", + "dataType": "ARRAY", + "arrayDataType": "STRUCT", + "dataTypeDisplay": "array>", + "tags": [] + } + ], + "database": { + "id": "50da1ff8-4e1d-4967-8931-45edbf4dd908", + "type": "database", + "name": "sample_data.ecommerce_db", + "description": "This **mock** database contains tables related to shopify sales and orders with related dimension tables.", + "href": "http://localhost:8585/api/v1/databases/50da1ff8-4e1d-4967-8931-45edbf4dd908" + }, + "tags": [], + "usageSummary": { + "dailyStats": { + "count": 140, + "percentileRank": 64 + }, + "weeklyStats": { + "count": 140, + "percentileRank": 64 + }, + "monthlyStats": { + "count": 140, + "percentileRank": 64 + }, + "date": "2021-12-01" + }, + "followers": [], + "joins": { + "startDate": "2021-11-01", + "dayCount": 30, + "columnJoins": [ + { + "columnName": "shop_id", + "joinedWith": [ + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.shop\".shop_id", + "joinCount": 50 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_order.api_client_id", + "joinCount": 5 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_order.customer_id", + "joinCount": 5 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_order.order_id", + "joinCount": 5 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_order.shop_id", + "joinCount": 5 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_order.user_id", + "joinCount": 5 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.customer_id", + "joinCount": 45 + } + ] + }, + { + "columnName": "customer_id", + "joinedWith": [ + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.shop\".shop_id", + "joinCount": 50 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_order.api_client_id", + "joinCount": 25 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_order.customer_id", + "joinCount": 25 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_order.order_id", + "joinCount": 25 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_order.shop_id", + "joinCount": 25 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_order.user_id", + "joinCount": 25 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.api_client_id", + "joinCount": 45 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.billing_address_id", + "joinCount": 45 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.customer_id", + "joinCount": 45 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.location_id", + "joinCount": 45 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.order_id", + "joinCount": 45 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.product_id", + "joinCount": 45 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.product_variant_id", + "joinCount": 45 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.shipping_address_id", + "joinCount": 45 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.shop_id", + "joinCount": 45 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.user_id", + "joinCount": 45 + } + ] + } + ] + }, + "sampleData": { + "columns": [ + "customer_id", + "shop_id", + "average_order_size", + "total_order_count", + "total_order_value", + "first_order_date", + "last_order_date", + "rank", + "new", + "returning", + "loyal", + "at_risk", + "dormant", + "promising", + "predicted_average_number_of_days_between_orders", + "expected_purchase_value_in_next_30_days", + "first_name", + "last_name", + "city", + "region", + "country", + "email", + "phone", + "verified_email", + "created_at", + "accepts_marketing", + "customer", + "shipping_address", + "orders" + ], + "rows": [ + [ + "f9c58494-45d2-4870-9be6-cdf44dc3e917", + "26de2184-0c0f-4581-a0fc-8583e7a16be3", + 5319, + 1558, + 4974, + 367945433, + 510452782, + 4924, + true, + true, + true, + false, + false, + true, + 9392, + 7870, + "Patrick", + "Edward", + "Barronton", + "544 Sarah Row", + "Trinidad and Tobago", + "Box trade foot.", + "(068)353-1672x37991", + true, + 419876539, + false, + null, + "253 Susan Centers", + null + ], + [ + "a6ff0477-c421-43ea-8414-9bd2f3c78949", + "9931d7db-c9cd-4638-94f2-c2e116cbf3ba", + 2073, + 420, + 9624, + 1357347243, + 621700477, + 9343, + true, + false, + true, + true, + false, + true, + 3480, + 7169, + "Wayne", + "Joseph", + "Jamesmouth", + "882 Humphrey Port Apt. 168", + "Faroe Islands", + "Major force even.", + "(763)253-6086x937", + false, + 335295527, + false, + null, + "44086 Tina Streets", + null + ], + [ + "29342c8d-31e7-4560-8205-854ea7f4336e", + "93d22fff-e33e-4ec0-bf71-0312d4d6179e", + 7497, + 6458, + 3504, + 124276917, + 799916395, + 9779, + true, + false, + true, + true, + true, + false, + 8410, + 4185, + "Allison", + "Melissa", + "North Mirandaborough", + "82463 Joshua Radial Suite 143", + "Malta", + "Beat bad election.", + "001-085-266-1772x8323", + false, + 50858351, + false, + null, + "4336 Edward Drive Apt. 292", + null + ], + [ + "1a214f40-26e6-4ade-992c-6829dbd59c9e", + "38d6bfc7-de2f-45b8-a199-9f01fbe7bd92", + 1569, + 1183, + 5748, + 467768196, + 228788006, + 425, + false, + true, + true, + false, + false, + false, + 9041, + 6190, + "Andrew", + "Marcus", + "Smithburgh", + "934 Moore Corners Suite 590", + "Serbia", + "Old experience.", + "(689)581-9551", + true, + 947996155, + true, + null, + "339 Riley Wall Suite 684", + null + ], + [ + "fb52187e-5320-4edf-a34b-95134ff90018", + "317510de-74b5-4ad3-a90e-0410267dcd9c", + 6906, + 5929, + 4117, + 1409738836, + 233871433, + 7263, + true, + false, + true, + false, + true, + true, + 7294, + 4125, + "Sandra", + "Deborah", + "Lake Amandaberg", + "7461 Turner Mission Suite 905", + "Thailand", + "Scene allow address.", + "001-721-477-6864x8748", + true, + 1416732054, + false, + null, + "500 Bryan Garden", + null + ], + [ + "55a80144-dc95-4703-bf57-a95c956f7065", + "0cb54c3b-435d-4f5d-aa84-25966ab59314", + 7539, + 3972, + 7652, + 517470935, + 147727199, + 9235, + true, + true, + true, + true, + true, + false, + 3365, + 9730, + "Doris", + "Cameron", + "Robertsonfurt", + "536 Matthew Lodge Suite 549", + "Ecuador", + "Meet air citizen.", + "107.756.2914", + false, + 1048998253, + true, + null, + "5338 Lucas Mountain Apt. 884", + null + ], + [ + "1ea2c7bb-89e8-4a3e-b56b-c96cc7cf9561", + "ab7aacc2-ee3a-4f98-8f57-67f497b183ec", + 7818, + 2697, + 1017, + 1491434403, + 215410698, + 1339, + true, + false, + true, + false, + true, + true, + 629, + 7690, + "Olivia", + "Rebecca", + "Lake Miranda", + "700 Webster Trace Suite 806", + "Turkey", + "Budget whatever.", + "+1-721-613-6430x9546", + false, + 1309931336, + true, + null, + "646 Nancy Drives", + null + ], + [ + "2afac78c-383a-43e8-9b62-c814b77f324f", + "1291baae-bf73-489b-91f9-a7416096d766", + 2448, + 541, + 1194, + 884535487, + 878425140, + 3099, + true, + false, + true, + false, + true, + true, + 5970, + 9577, + "Rachel", + "Stephanie", + "Port Jennifermouth", + "565 Aguilar Mount Apt. 296", + "Pakistan", + "Child mission even.", + "913-203-4857x4647", + true, + 1186856044, + false, + null, + "91586 James Lane Suite 503", + null + ], + [ + "80d91657-eaab-46e3-9f3e-71f64df65d44", + "216f3c77-a518-4b82-a159-054aaa7a1452", + 1562, + 2186, + 9272, + 679613782, + 1394852136, + 6245, + false, + true, + false, + true, + true, + false, + 2327, + 7096, + "Steven", + "Neil", + "Bettyport", + "6512 Kaitlyn Ranch", + "Panama", + "Candidate believe.", + "8662237021", + false, + 858437579, + false, + null, + "43975 Warren Stream Suite 326", + null + ], + [ + "e0d7db0b-6efd-4c53-8294-4e170b93247e", + "f0de4645-9fa9-4083-811f-3d70a254632f", + 4712, + 1961, + 2642, + 1156583664, + 1631650029, + 9022, + false, + false, + true, + true, + true, + false, + 7267, + 1595, + "Amanda", + "Nancy", + "Brandonberg", + "084 Michelle Union Apt. 950", + "Faroe Islands", + "Even central real.", + "968.498.1302", + false, + 1580783443, + false, + null, + "982 Foster Station", + null + ], + [ + "b0d51628-0d03-4476-9ea6-2134d4d28502", + "52d3ab6e-087d-4c94-ab21-0978c059e896", + 6184, + 2784, + 8462, + 648418748, + 349810293, + 6447, + true, + false, + false, + false, + false, + false, + 5827, + 4004, + "Natalie", + "Howard", + "Thompsonside", + "2122 Veronica Way Apt. 530", + "Pitcairn Islands", + "Property have water.", + "(029)549-9084x8301", + true, + 660479383, + false, + null, + "33483 Bailey Neck", + null + ], + [ + "f59c5a8c-4ab0-46a9-8561-f755cee3a37f", + "f912d10c-c38e-45ff-93d1-f58a317c02e9", + 6547, + 9446, + 4131, + 808549396, + 1501798860, + 2157, + true, + false, + false, + false, + false, + false, + 8917, + 4489, + "Brian", + "Tonya", + "New Linda", + "870 Griffin Prairie Apt. 161", + "Grenada", + "Personal before.", + "(348)802-1390x27988", + false, + 670649664, + false, + null, + "863 Duran Mission Suite 209", + null + ], + [ + "df3627ca-c932-4966-9951-d8107f56ea8e", + "56ff18c1-abf5-4cf2-aea5-bc6adb31e831", + 9222, + 2252, + 4526, + 856829887, + 602649169, + 7675, + true, + true, + false, + true, + true, + false, + 8085, + 8066, + "Jenny", + "Catherine", + "Katherineport", + "50112 Dennis Road", + "Reunion", + "Behind recently.", + "184.739.4000x5831", + true, + 965981062, + false, + null, + "31462 Powell Groves Apt. 566", + null + ], + [ + "1dd21462-4ec2-4929-98fd-e2d72dbb7d9f", + "cf4a1b08-2e10-45f6-b2c2-986faee52828", + 7639, + 3887, + 9894, + 993882477, + 879070683, + 460, + true, + false, + false, + true, + true, + true, + 7741, + 7867, + "Ryan", + "Lisa", + "Thompsonfurt", + "4425 Butler Lights", + "Syrian Arab Republic", + "Present office.", + "191-309-8922x99260", + true, + 27228521, + true, + null, + "76874 Johnson Turnpike Apt. 511", + null + ], + [ + "b3c4150f-6121-479b-8091-ba250c5fc1b9", + "de7e46c5-6bfa-44a9-a2ed-a75f8c480175", + 3738, + 1455, + 550, + 403194769, + 928198748, + 4020, + true, + true, + false, + false, + true, + false, + 7827, + 4088, + "Amanda", + "Crystal", + "East Tiffany", + "092 John Shoals", + "Madagascar", + "Give we provide.", + "(120)768-3344x140", + false, + 861503917, + false, + null, + "697 Ross Flats", + null + ], + [ + "223a0d00-356e-416f-884a-63926fcbfa0a", + "455a445a-1879-427a-b6b2-3eb65cbf732b", + 2345, + 1500, + 2012, + 1359212099, + 384937168, + 1786, + true, + true, + true, + false, + true, + true, + 1416, + 2357, + "Lori", + "Jon", + "Shannonshire", + "72470 Mary Motorway Apt. 916", + "Anguilla", + "Already cause.", + "+1-309-585-5193x3363", + false, + 795153702, + false, + null, + "7128 Perry Hills Suite 151", + null + ], + [ + "90b4aad9-3159-4215-a04e-8547be7faf6d", + "b24cd33d-ffa5-4348-acbe-4b32acb4474c", + 7218, + 4776, + 6668, + 198257958, + 864841376, + 7200, + true, + true, + true, + true, + false, + true, + 7220, + 867, + "Victoria", + "Andrew", + "Crystalview", + "1028 Turner Meadows Suite 969", + "Netherlands", + "Matter professor.", + "(169)702-1259x355", + false, + 1219179342, + false, + null, + "554 Amy Creek", + null + ], + [ + "648e56a6-1665-4ef7-8c23-1b111b2a86fd", + "ed219903-f3a5-4ef9-b427-badf22adf5d9", + 8918, + 1344, + 7247, + 107452387, + 1153183417, + 1895, + true, + true, + true, + true, + false, + true, + 4277, + 7750, + "Andrea", + "Chad", + "Perezberg", + "016 Melanie Via Apt. 393", + "Kenya", + "Action service.", + "+1-587-667-4017x9913", + false, + 1474320474, + false, + null, + "15578 Gerald Circles", + null + ], + [ + "58301780-86c5-42c8-b230-4b7b8a3eb073", + "be781906-fe68-4748-9351-9fb60035256a", + 828, + 8081, + 7949, + 101160326, + 291354655, + 3713, + true, + true, + false, + false, + false, + true, + 783, + 8214, + "Toni", + "Patrick", + "Scottville", + "921 Stephanie Gardens", + "Qatar", + "Prevent special.", + "+1-272-659-0626x740", + false, + 248306083, + true, + null, + "2835 Patrick Stream", + null + ], + [ + "763a3bf5-6c4a-4b14-bece-de5cf8bff813", + "c556ac3a-f845-41c5-a4ed-2b40f192715b", + 1338, + 8378, + 8288, + 1112128417, + 821860765, + 3217, + false, + true, + false, + true, + true, + false, + 3397, + 2925, + "Jamie", + "James", + "Stevenview", + "9747 Mcguire Extensions Apt. 601", + "Ecuador", + "Manage car produce.", + "067-724-8353", + false, + 1484532795, + false, + null, + "70111 Lewis Mountain Suite 358", + null + ], + [ + "693e7261-8cc1-433e-9707-633f0e72ba60", + "defd3a6b-42bb-4001-8653-5f2bb40f025b", + 3773, + 9858, + 3006, + 381120202, + 1408551053, + 9228, + true, + true, + false, + true, + false, + true, + 1241, + 1094, + "Ronald", + "Jeremy", + "Susanborough", + "4483 Donald Junctions Apt. 404", + "Eritrea", + "Gun tax kitchen.", + "771.209.9651", + false, + 511352396, + false, + null, + "1204 Johnson Camp Apt. 394", + null + ], + [ + "85af84bc-996a-41f9-909d-c47bb0aa597e", + "79828744-48d1-43af-8d2c-6128da5a40a5", + 9541, + 2212, + 390, + 1325925002, + 134242007, + 411, + true, + true, + false, + true, + false, + false, + 9743, + 9748, + "Amy", + "Lauren", + "Katelynland", + "53114 Olson Views Suite 233", + "Israel", + "Officer agent.", + "(715)372-9676", + false, + 164768061, + true, + null, + "773 Patrick Point", + null + ], + [ + "93f705b3-cb83-43f2-b5c0-cf7eed0066bf", + "c01455d4-0b31-41cb-bedf-f74a4354e0a3", + 4975, + 1888, + 34, + 823798884, + 369505402, + 1936, + true, + true, + false, + false, + true, + true, + 3677, + 1343, + "Erin", + "James", + "New Mollyland", + "43337 Perez Fort Suite 720", + "British Virgin Islands", + "Open memory want.", + "(622)003-4143", + false, + 1566620876, + true, + null, + "3284 Rebecca Course", + null + ], + [ + "051f6d67-4203-4286-b7dd-c340eac92b97", + "2d11246d-3303-4255-97e8-bc435cc86138", + 3599, + 1688, + 5817, + 762620541, + 1489086202, + 6413, + true, + false, + true, + true, + false, + true, + 5960, + 4176, + "Sarah", + "Stephen", + "South Kaitlyn", + "0164 Maxwell Ridge Suite 956", + "Argentina", + "Whatever weight.", + "0646215715", + false, + 301754573, + false, + null, + "80343 Long Ville", + null + ], + [ + "8fc76355-2475-48dd-af7a-c3c3cfbba89f", + "58700ac0-1706-4a31-b56c-08e8e5ff1130", + 5329, + 2914, + 5668, + 361725472, + 1560794667, + 2510, + false, + true, + true, + false, + false, + true, + 1089, + 7599, + "Barbara", + "Michael", + "Ronaldside", + "6746 Sanchez Squares Apt. 026", + "Russian Federation", + "Painting represent.", + "+1-998-905-8089x1214", + true, + 1285084061, + true, + null, + "224 Michael Manor Suite 604", + null + ] + ] + }, + "tableProfile": { + "timestamp": 1634366539, + "columnCount": 29, + "rowCount": 169, + "columnProfile": [ + { + "name": "customer_id", + "uniqueCount": 46, + "uniqueProportion": 0.4556834255, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "shop_id", + "uniqueCount": 36, + "uniqueProportion": 0.412740311, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "average_order_size", + "uniqueCount": 9, + "uniqueProportion": 0.4848320849, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "total_order_count", + "uniqueCount": 16, + "uniqueProportion": 0.274374675, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "total_order_value", + "uniqueCount": 19, + "uniqueProportion": 0.1779729031, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "first_order_date", + "uniqueCount": 5, + "uniqueProportion": 0.403198425, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "last_order_date", + "uniqueCount": 41, + "uniqueProportion": 0.5763257885, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "rank", + "uniqueCount": 1, + "uniqueProportion": 0.271483578, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "new", + "uniqueCount": 18, + "uniqueProportion": 0.54392552, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "returning", + "uniqueCount": 48, + "uniqueProportion": 0.457357716, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "loyal", + "uniqueCount": 47, + "uniqueProportion": 0.1455819185, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "at_risk", + "uniqueCount": 25, + "uniqueProportion": 0.502421822, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "dormant", + "uniqueCount": 10, + "uniqueProportion": 0.4514540014, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "promising", + "uniqueCount": 5, + "uniqueProportion": 0.643516191, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "predicted_average_number_of_days_between_orders", + "uniqueCount": 37, + "uniqueProportion": 0.1991445491, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "expected_purchase_value_in_next_30_days", + "uniqueCount": 23, + "uniqueProportion": 0.3934633215, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "first_name", + "uniqueCount": 10, + "uniqueProportion": 0.521182903, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "last_name", + "uniqueCount": 41, + "uniqueProportion": 0.577276297, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "city", + "uniqueCount": 15, + "uniqueProportion": 0.1038962515, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "region", + "uniqueCount": 24, + "uniqueProportion": 0.4806029226, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "country", + "uniqueCount": 23, + "uniqueProportion": 0.285063012, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "email", + "uniqueCount": 4, + "uniqueProportion": 0.502737667, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "phone", + "uniqueCount": 4, + "uniqueProportion": 0.424923401, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "verified_email", + "uniqueCount": 39, + "uniqueProportion": 0.1127764811, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "created_at", + "uniqueCount": 35, + "uniqueProportion": 0.5043061999, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "accepts_marketing", + "uniqueCount": 32, + "uniqueProportion": 0.370361415, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "customer", + "uniqueCount": 47, + "uniqueProportion": 0.983529122, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "shipping_address", + "uniqueCount": 38, + "uniqueProportion": 0.1136043573, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "orders", + "uniqueCount": 29, + "uniqueProportion": 0.0639865, + "distinctCount": 0, + "distinctProportion": 0 + } + ] + }, + "databaseSchema": { + "id": "d7be1e2c-b3dc-11ec-b909-0242ac120002", + "type": "databaseSchema", + "name": "sample_data.ecommerce_db.shopify", + "description": "This **mock** Schema contains tables related to shopify sales and orders with related dimension tables.", + "href": "http://localhost:8585/api/v1/databaseSchemas/d7be1e2c-b3dc-11ec-b909-0242ac120002" + }, + "sourceUrl": "http://localhost:8080/dim_customer" + }, + { + "id": "e64426b9-852a-468e-ac16-1231bb01fe96", + "name": "dim_location", + "description": "The dimension table contains metrics about your Shopify POS. This table contains one row per Shopify POS location. You can use this table to generate a list of the Shopify POS locations or you can join the table with the sales table to measure sales performance.", + "version": 0.1, + "updatedAt": 1638354087532, + "updatedBy": "anonymous", + "href": "http://localhost:8585/api/v1/tables/e64426b9-852a-468e-ac16-1231bb01fe96", + "tableType": "Regular", + "schemaDefinition": "CREATE TABLE dim_location(location_id NUMERIC PRIMARY KEY, shop_id NUMERIC)", + "columns": [ + { + "name": "location_id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "tags": [], + "constraint": "PRIMARY_KEY", + "ordinalPosition": 1 + }, + { + "name": "shop_id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "The ID of the store. This column is a foreign key reference to the shop_id column in the dim_shop table.", + "tags": [], + "ordinalPosition": 2 + }, + { + "name": "name", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "Name of the POS location as provided by the merchant. For example, 150 Elgin Street or Downtown Boutique.", + "tags": [], + "ordinalPosition": 3 + }, + { + "name": "address", + "dataType": "STRUCT", + "dataTypeDisplay": "struct>", + "tags": [], + "children": [ + { + "name": "street_name", + "dataType": "VARCHAR", + "dataLength": 24, + "dataTypeDisplay": "VARCHAR(24)", + "tags": [] + }, + { + "name": "zipcode", + "dataType": "INT", + "dataTypeDisplay": "int", + "tags": [] + }, + { + "name": "city", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "VARCHAR(100)", + "tags": [] + }, + { + "name": "country", + "dataType": "STRUCT", + "dataTypeDisplay": "struct", + "tags": [], + "children": [ + { + "name": "country_code", + "dataType": "INT", + "dataTypeDisplay": "INT", + "tags": [] + }, + { + "name": "country_name", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "VARCHAR(100)", + "tags": [] + } + ] + } + ] + } + ], + "database": { + "id": "50da1ff8-4e1d-4967-8931-45edbf4dd908", + "type": "database", + "name": "sample_data.ecommerce_db", + "description": "This **mock** database contains tables related to shopify sales and orders with related dimension tables.", + "href": "http://localhost:8585/api/v1/databases/50da1ff8-4e1d-4967-8931-45edbf4dd908" + }, + "tags": [], + "usageSummary": { + "dailyStats": { + "count": 75, + "percentileRank": 18 + }, + "weeklyStats": { + "count": 75, + "percentileRank": 18 + }, + "monthlyStats": { + "count": 75, + "percentileRank": 18 + }, + "date": "2021-12-01" + }, + "followers": [], + "joins": { + "startDate": "2021-11-01", + "dayCount": 30, + "columnJoins": [ + { + "columnName": "location_id", + "joinedWith": [ + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.api_client_id", + "joinCount": 50 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.billing_address_id", + "joinCount": 50 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.customer_id", + "joinCount": 50 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.location_id", + "joinCount": 50 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.order_id", + "joinCount": 50 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.product_id", + "joinCount": 50 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.product_variant_id", + "joinCount": 50 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.shipping_address_id", + "joinCount": 50 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.shop_id", + "joinCount": 50 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.user_id", + "joinCount": 50 + } + ] + } + ] + }, + "sampleData": { + "columns": [ + "location_id", + "shop_id", + "name", + "address" + ], + "rows": [ + [ + "f035fc0a-4678-4507-9b69-98230c9f160d", + "addb1f78-7a4a-429e-9d73-d973afbc5d43", + "Aaron", + "44702 Alicia Harbors" + ], + [ + "f1b785da-b15d-4ccd-845d-e5aaec5d469c", + "3e476c6e-7e86-4238-878e-239c56f27bea", + "Natalie", + "48377 Chan Valleys Apt. 887" + ], + [ + "de5c95ed-a23d-4342-8fb2-eb1e003c4d7b", + "252b17e5-5f64-4b41-973d-abd994eb713f", + "Amber", + "3696 Robert Tunnel" + ], + [ + "7a55f43a-5c4c-41b9-a8ad-3fc0082a6fb2", + "1f9f9bfb-93c7-40bc-a676-99adda621780", + "Kevin", + "2673 Matthew Square Suite 836" + ], + [ + "558c0821-a61f-42c4-bdb4-6bb2bf998965", + "83323f76-d892-4c9a-80cd-56be1a5ff7fd", + "Joel", + "57327 Vaughn Mill" + ], + [ + "03795134-1b27-48a4-94bf-09ee80dc2081", + "159672ac-6157-4c58-8c28-3c74feaa1caf", + "Jonathan", + "98365 Boyer Knoll Apt. 788" + ], + [ + "576ffe20-638c-4f77-8bf6-4e60ec2ec545", + "0d1278de-163d-4acf-a85f-40d57c60c9ad", + "Jason", + "97522 Davis Drives Suite 575" + ], + [ + "016c16b7-42cc-461b-98fa-254f9d69e351", + "54e74aa7-8597-48fd-9a01-65dd84491aa1", + "Brendan", + "181 Richard Street" + ], + [ + "f2ab0ecd-6ac2-4f1d-bcbd-3fda28cda6a4", + "ab41e0dc-2155-4729-8b1f-3c988d530a92", + "Jennifer", + "687 West Ridges" + ], + [ + "4e5ce53b-d12a-4a31-afa9-25025187d484", + "0063a75c-8b2a-4baf-9653-435f638968dd", + "Michelle", + "18836 Williams Spurs Suite 496" + ], + [ + "bd6eac1f-a29f-4e2c-829e-05178f9bf0eb", + "677367b0-9754-4f45-9c49-ab4457624ae8", + "Jose", + "64010 Christy Common Suite 031" + ], + [ + "d683fcef-42aa-410c-b3ad-7246002cc813", + "e9c96a55-409c-418d-8d42-a6fa11766809", + "Elizabeth", + "726 Anne Circles" + ], + [ + "0bd18ae2-2e0c-4e74-a609-82310d9785a6", + "101c74fb-000c-460e-99cd-96ab8bca1ac2", + "Christopher", + "543 Paige Vista Suite 556" + ], + [ + "6b5b96db-3379-4723-8b59-7166892b8c78", + "99a0b164-35dd-45b0-a7eb-9e2a03a6a10e", + "Erika", + "0158 Carpenter Divide Apt. 262" + ], + [ + "c8a89f7f-0fea-4dac-93f1-891dd7454bb7", + "325bb9c0-b85d-4fa5-9080-df329786012c", + "Joseph", + "55639 Jasmine Spurs Apt. 709" + ], + [ + "e5780594-577f-4dc3-9500-83e9f857dc4e", + "149cc993-f440-4da0-b490-2650c68624df", + "Ricky", + "0990 Molly Crescent" + ], + [ + "7baafe41-1bfa-4c03-8aef-27a801e161b2", + "f10bfdc0-cb0c-4a7b-ae04-54388ac39634", + "Allison", + "9879 Abigail Underpass" + ], + [ + "3503dfac-5247-4787-9b39-aaf8fd7bd4bf", + "7310921d-fc29-40a6-b9d1-3b5246d8b24a", + "Kelly", + "32519 Davis Loop Apt. 089" + ], + [ + "929d9624-96fc-4cc9-9c60-0b5b494c4f55", + "06a31b40-7137-404f-aac5-68ab53651346", + "Steven", + "0946 Willis Throughway Apt. 244" + ], + [ + "e2d91bc9-5078-416a-907a-0cfb800dcfc3", + "d8f1357f-07b9-40a6-978a-55d3d70e1a70", + "Robert", + "52348 David Passage Apt. 761" + ], + [ + "427d7182-ad8a-4f28-87a1-d68c52ea9ae2", + "d3de8dc2-9f7f-44c4-85b8-6ccb8e55161c", + "David", + "73453 Jason Burg Suite 848" + ], + [ + "afff8dd8-ec0b-4999-9b26-0d7da77f087f", + "ad016378-9258-430d-a980-9b650dabd251", + "Sarah", + "28112 Aaron Falls" + ], + [ + "950e15b1-632f-4913-a24f-a6d22602d464", + "00babad4-7dc6-4b64-a5a0-237e64d7e981", + "Cassandra", + "083 Moore Flat Suite 646" + ], + [ + "8fc9225f-a8d1-4099-af68-1f13da7c62f6", + "1f042c7d-9bf9-4665-9414-65618cf80147", + "Daniel", + "3783 Flores Route" + ], + [ + "aa578c85-d5fc-43e8-80e0-ad65ad9bfba5", + "a0c9eeac-fd9c-49e7-8504-326c42925d79", + "Benjamin", + "521 Dyer Shoal Suite 145" + ] + ] + }, + "databaseSchema": { + "id": "d7be1e2c-b3dc-11ec-b909-0242ac120002", + "type": "databaseSchema", + "name": "sample_data.ecommerce_db.shopify", + "description": "This **mock** Schema contains tables related to shopify sales and orders with related dimension tables.", + "href": "http://localhost:8585/api/v1/databaseSchemas/d7be1e2c-b3dc-11ec-b909-0242ac120002" + }, + "sourceUrl": "http://localhost:8080/dim_location" + }, + { + "name": "dim.product", + "description": "This dimension table contains information about each of the products in your store. This table contains one row per product. This table reflects the current state of products in your Shopify admin.", + "version": 0.1, + "updatedAt": 1638354087567, + "updatedBy": "anonymous", + "href": "http://localhost:8585/api/v1/tables/f888bde6-ce08-42c3-96aa-1d726e248930", + "tableType": "Regular", + "schemaDefinition": "CREATE TABLE dim.produc(product_id NUMERIC PRIMARY KEY, shop_id NUMERIC)", + "columns": [ + { + "name": "product_id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Unique identifier for the product. This column is the primary key for this table.", + "tags": [], + "constraint": "PRIMARY_KEY", + "ordinalPosition": 1 + }, + { + "name": "shop_id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "ID of the store. This column is a foreign key reference to the shop_id column in the dim_shop table.", + "tags": [], + "ordinalPosition": 2 + }, + { + "name": "title", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "Name of the product.", + "tags": [], + "ordinalPosition": 3 + }, + { + "name": "vendor", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "Name of the manufacturer, wholesaler, or other vendor of the product.", + "tags": [], + "ordinalPosition": 4 + }, + { + "name": "created_at", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Date (ISO 8601) and time (UTC) when the product was added to the store. The format is YYYY-MM-DD HH:mm:ss (for example, 2016-02-05 17:04:01).", + "tags": [], + "ordinalPosition": 5 + }, + { + "name": "deleted_at", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Date (ISO 8601) and time (UTC) when the product was deleted. The format is YYYY-MM-DD HH:mm:ss (for example, 2016-02-05 17:04:01).", + "tags": [], + "ordinalPosition": 6 + } + ], + "database": { + "id": "50da1ff8-4e1d-4967-8931-45edbf4dd908", + "type": "database", + "name": "sample_data.ecommerce_db", + "description": "This **mock** database contains tables related to shopify sales and orders with related dimension tables.", + "href": "http://localhost:8585/api/v1/databases/50da1ff8-4e1d-4967-8931-45edbf4dd908" + }, + "tags": [], + "usageSummary": { + "dailyStats": { + "count": 130, + "percentileRank": 55 + }, + "weeklyStats": { + "count": 130, + "percentileRank": 55 + }, + "monthlyStats": { + "count": 130, + "percentileRank": 55 + }, + "date": "2021-12-01" + }, + "followers": [], + "joins": { + "startDate": "2021-11-01", + "dayCount": 30, + "columnJoins": [ + { + "columnName": "shop_id", + "joinedWith": [ + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.shop\".shop_id", + "joinCount": 5 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.product\".product_id", + "joinCount": 5 + } + ] + }, + { + "columnName": "product_id", + "joinedWith": [ + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.shop\".shop_id", + "joinCount": 5 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim.product.variant:product_id", + "joinCount": 5 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim.product.variant:shop_id", + "joinCount": 5 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.api_client_id", + "joinCount": 40 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.billing_address_id", + "joinCount": 40 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.customer_id", + "joinCount": 40 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.location_id", + "joinCount": 40 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.order_id", + "joinCount": 40 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.product_id", + "joinCount": 40 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.product_variant_id", + "joinCount": 40 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.shipping_address_id", + "joinCount": 40 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.shop_id", + "joinCount": 40 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.user_id", + "joinCount": 40 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.product\".product_id", + "joinCount": 5 + } + ] + } + ] + }, + "sampleData": { + "columns": [ + "product_id", + "shop_id", + "title", + "vendor", + "created_at", + "deleted_at" + ], + "rows": [ + [ + "661f0de1-f6f0-4877-a1e3-2a157fbc9706", + "a8420c5d-0692-40b7-a80f-735ed92966e3", + "See attention that.", + "College two phone.", + 1391919218, + 809884763 + ], + [ + "b8717275-3dcd-4307-8566-3f76908f974e", + "df2a5c89-8036-4b35-94cc-eb18f502c106", + "Because week.", + "Responsibility sign.", + 539679338, + 1342567968 + ], + [ + "175c0dbd-2395-489a-aca2-fcfd41630b7e", + "2120473c-cc9b-4664-ba3a-29c3a612f7c9", + "Into here cover.", + "Short direction.", + 1143055098, + 13723803 + ], + [ + "95dd8eee-ec2e-4158-93a4-ded484e7323e", + "9e6eb722-2bcc-4966-b938-5c628f9e2b9f", + "Suffer way store.", + "Become near could.", + 107378074, + 688928881 + ], + [ + "e9058b4b-0850-41d3-9203-1e80f9e804a6", + "d2a4cb89-c67a-4793-bfe8-b430a3730f3d", + "While ever no.", + "True perhaps rate.", + 463349038, + 1128306091 + ], + [ + "d06536b2-96f7-4595-a689-7731b0e54990", + "fc0e942f-994d-4295-845c-25b718780175", + "Wear term stage.", + "Significant dream.", + 1201296348, + 614007941 + ], + [ + "6b769531-2e42-4d5e-9368-9254664719b4", + "2d4cd470-f705-4d6d-8163-bca5f246c094", + "Black land worry.", + "Tonight care agent.", + 501155544, + 1484839133 + ], + [ + "4de2cbe8-60fa-46c0-8417-0c8ba1bf374b", + "a710d09e-f92b-4644-84ac-1d2440818ff7", + "Southern probably.", + "Loss politics.", + 1156222784, + 578690595 + ], + [ + "534e7079-373a-4999-8d28-cfc4987785bb", + "b7f7fb4a-554f-494a-a7a7-e88d60567e63", + "Nature eight catch.", + "American serve bad.", + 26607643, + 1238027743 + ], + [ + "091d5a67-0fad-4e3c-886a-f273a7020c5c", + "3462666d-cc0a-4e94-af6e-977fa5ab0b1a", + "South even.", + "Debate sure many.", + 1407695353, + 872139355 + ], + [ + "7e908943-4b1c-465d-9af3-043deab5a2cb", + "ec0aa48a-ff0c-405f-9c6d-b58c0a7be5fc", + "Security hot.", + "Whether agree.", + 23871212, + 1625000067 + ], + [ + "33427615-c5f8-4241-a8da-f005a6cf98a4", + "99dec98d-0da8-43a7-bc53-1eca30aea55c", + "Though economic.", + "Television tough.", + 1298483856, + 1188769012 + ], + [ + "ad4fed03-5669-4d48-ae4b-129191e8cbbb", + "def509c7-ebc2-4f0c-85ee-a658936d37f5", + "Single everything.", + "Road whom personal.", + 1306130907, + 1335422105 + ], + [ + "56a85347-a5a3-4692-8deb-cade720b949f", + "daee7db1-a517-4bd1-93d7-5b941337b8c1", + "Hope ok series.", + "Lead figure son.", + 174205637, + 469043529 + ], + [ + "4dfaf0aa-2c7d-43b0-9754-353d0e98ba8e", + "da2f1f64-fc55-435f-9e34-8a2d1d76af5a", + "Surface fight.", + "Choose former move.", + 655601704, + 1565914645 + ], + [ + "ead2bfa1-3566-49e6-a7f2-e87b395d9b2c", + "d23aff7d-9b54-4489-af0f-5e7145ced405", + "Give thing way mind.", + "Always culture.", + 1366107704, + 546920841 + ], + [ + "e6d0fb26-8aff-4b1e-8f79-6d23401101e1", + "e1a86394-9a31-47ed-ad12-c1ba7e04cc01", + "Phone movement.", + "Hot suffer nothing.", + 597512529, + 1463830519 + ], + [ + "e77acb90-64d1-4e80-8fcd-e42aaa6142b6", + "1f13b491-76cb-4c85-a640-3bcc9e13001b", + "Special Mrs house.", + "Practice tonight.", + 169901236, + 31279141 + ], + [ + "50d9a630-09ee-479b-af64-4a9f972163a5", + "491f230e-da6f-489a-b5ce-e82a3c8618e7", + "His since meeting.", + "Game concern.", + 1255723873, + 733960969 + ], + [ + "ad7a01ae-7180-4c60-91ba-5cd69041c324", + "9b60517e-afe3-403d-8de0-708ed334b18c", + "Vote key full look.", + "Source answer issue.", + 649655884, + 1199940762 + ], + [ + "b7bd0a2b-eb40-4ca8-b4be-62a9babf8778", + "e6dc1566-82ef-4084-84c3-fd75140fdc8e", + "There until indeed.", + "Purpose magazine.", + 1107111218, + 1198036826 + ], + [ + "8bd07567-1218-4c34-a35b-1fc65a4688f6", + "138d9082-c7d7-49a6-8ec4-0dab7f175c26", + "Explain evening.", + "Which notice yes.", + 188387496, + 1128149432 + ], + [ + "3f5906b6-24d8-4f8d-ab17-4f49ecc5896e", + "8e5ec9ca-56b2-4e69-b5b4-cc1e16efbfff", + "Surface fine catch.", + "Nor make religious.", + 101727784, + 259041292 + ], + [ + "6f0e8f34-20f8-41c4-85bb-a6fd5de0ffe4", + "3137e26b-008c-4c7f-9d56-a203f54d3157", + "Law run moment deal.", + "Race go tough.", + 1310468732, + 1087135074 + ], + [ + "79ab2bd9-76e2-4e9e-b140-33674a44e93d", + "b9953a51-0e05-4a8c-8c6f-53b55941d806", + "Between over center.", + "Shoulder could.", + 1317233677, + 1387172028 + ] + ] + }, + "databaseSchema": { + "id": "d7be1e2c-b3dc-11ec-b909-0242ac120002", + "type": "databaseSchema", + "name": "sample_data.ecommerce_db.shopify", + "description": "This **mock** Schema contains tables related to shopify sales and orders with related dimension tables.", + "href": "http://localhost:8585/api/v1/databaseSchemas/d7be1e2c-b3dc-11ec-b909-0242ac120002" + }, + "sourceUrl": "http://localhost:8080/dim.product" + }, + { + "name": "dim.product.variant", + "description": "This dimension table contains current information about each of the product variants in your store. This table contains one row per product variant.", + "version": 0.1, + "updatedAt": 1638354087601, + "updatedBy": "anonymous", + "href": "http://localhost:8585/api/v1/tables/c71690a3-0764-4791-a1d3-0c47f1e0c2ab", + "tableType": "Regular", + "schemaDefinition": "CREATE TABLE dim.product.variant(product_variant_id NUMERIC PRIMARY KEY, shop_id NUMERIC)", + "columns": [ + { + "name": "product_variant_id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "The ID of the product variant. This column is the primary key for this table.", + "tags": [], + "constraint": "PRIMARY_KEY", + "ordinalPosition": 1 + }, + { + "name": "product_id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "The ID of the product. This column is a foreign key reference to the product_id column in dim.product table.", + "tags": [], + "ordinalPosition": 2 + }, + { + "name": "shop_id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "The ID of the store. This column is a foreign key reference to the shop_id column in the dim_shop table.", + "tags": [], + "ordinalPosition": 3 + }, + { + "name": "title", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "The title of the product variant.", + "tags": [], + "ordinalPosition": 4 + }, + { + "name": "barcode", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "The Barcode, UPC, or ISBN number of the product variant.", + "tags": [], + "ordinalPosition": 5 + }, + { + "name": "sku", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "The SKU of the product variant.", + "tags": [], + "ordinalPosition": 6 + }, + { + "name": "price", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "The price of the product variant, in your store's currency.", + "tags": [], + "ordinalPosition": 7 + }, + { + "name": "grams", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Number of grams that the product variant weighs.", + "tags": [], + "ordinalPosition": 8 + }, + { + "name": "created_at", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "The date (ISO 8601) and time (UTC) when the product variant was added to the store. The format is YYYY-MM-DD HH:mm:ss (for example, 2016-02-05 17:04:01).", + "tags": [], + "ordinalPosition": 9 + }, + { + "name": "deleted_at", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "The date (ISO 8601) and time (UTC) when the product variant was deleted. The format is YYYY-MM-DD HH:mm:ss (for example, 2016-02-05 17:04:01).", + "tags": [], + "ordinalPosition": 10 + } + ], + "database": { + "id": "50da1ff8-4e1d-4967-8931-45edbf4dd908", + "type": "database", + "name": "sample_data.ecommerce_db", + "description": "This **mock** database contains tables related to shopify sales and orders with related dimension tables.", + "href": "http://localhost:8585/api/v1/databases/50da1ff8-4e1d-4967-8931-45edbf4dd908" + }, + "tags": [], + "usageSummary": { + "dailyStats": { + "count": 35, + "percentileRank": 9 + }, + "weeklyStats": { + "count": 35, + "percentileRank": 9 + }, + "monthlyStats": { + "count": 35, + "percentileRank": 9 + }, + "date": "2021-12-01" + }, + "followers": [], + "joins": { + "startDate": "2021-11-01", + "dayCount": 30, + "columnJoins": [ + { + "columnName": "shop_id", + "joinedWith": [ + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.shop\".shop_id", + "joinCount": 5 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.product\".product_id", + "joinCount": 5 + } + ] + }, + { + "columnName": "product_id", + "joinedWith": [ + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.shop\".shop_id", + "joinCount": 5 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.product\".product_id", + "joinCount": 5 + } + ] + } + ] + }, + "sampleData": { + "columns": [ + "product_variant_id", + "product_id", + "shop_id", + "title", + "barcode", + "sku", + "price", + "grams", + "created_at", + "deleted_at" + ], + "rows": [ + [ + "f8e574f1-7b65-4525-8e32-c29b7aff7825", + "8b7630c3-158f-42d9-9a52-61be4d01672b", + "a851ac9c-6e2e-4fff-a27c-2affc81ce9c5", + "News operation down.", + "7936417038073", + "Price less south.", + "$250.48", + 7066, + 427075190, + 1206889650 + ], + [ + "279a3ed7-0417-4254-bba5-656f3e05361f", + "acb37a80-466f-4e8c-bc01-3e0f2b40e746", + "b09da22d-ee1d-480a-acdf-946e6868b7c2", + "Job kid what boy.", + "8966399070630", + "Ball should.", + "$400.90", + 6511, + 1456734040, + 1291946721 + ], + [ + "0aa55c68-adb5-4f40-b396-6dc3487d29d0", + "379c1f5f-2a1d-4f0d-a914-f5f7ebe68a5e", + "5269402e-f7d4-4a7d-a9e8-9fccabcd623c", + "Source experience.", + "9957618409866", + "Beat water him open.", + "$4,171.77", + 8113, + 405809724, + 1007479831 + ], + [ + "9eb91380-94d8-479e-a839-9233c3571cbe", + "70653dc4-45d7-4c8a-af4a-7c1d2c1c1abb", + "3a124e0e-ce60-4b15-8285-494bbbee4456", + "Other that read.", + "3255433181902", + "Section offer fund.", + "$5.43", + 1552, + 530384818, + 1508396248 + ], + [ + "3dfca165-e6e7-434b-9d53-0212731d993f", + "8d03ba68-3d35-40dc-9393-3a0fc17919f4", + "092c0a50-4800-4f46-bcf7-7288e0fa30f4", + "Recent tax explain.", + "2624033252502", + "Likely to little.", + "$7,887.44", + 167, + 525380879, + 290044417 + ], + [ + "e578f327-6fbe-476b-8252-8c764724f3b6", + "504f6592-834f-4081-87f1-8c9eb7eef2cc", + "79b8cad2-34eb-4fa6-85b2-7d872089365e", + "Really around.", + "2099062423696", + "Unit water minute.", + "$17,128.81", + 19, + 214772399, + 899266403 + ], + [ + "23306430-bb25-46fc-b9fa-c9daccc2b074", + "82e0b6a1-b735-4554-917d-eecc2d974c09", + "036e7fcd-fb1e-4e78-8160-6e274e06e906", + "Organization.", + "4478308756466", + "Leave after.", + "$0.52", + 7568, + 1075317167, + 420696680 + ], + [ + "85328c0e-4849-4182-990e-c2f240ceea9f", + "3552ff0e-d990-4fe5-808c-5fe598ba7c13", + "ae845257-c942-4485-8e3b-4db656f55515", + "Think Republican.", + "0413649746299", + "Democratic both.", + "$2.66", + 5756, + 1387396840, + 632760573 + ], + [ + "ff71be9d-d6c3-45f1-87ce-74ad1eb453aa", + "954a3197-cee9-41ba-bbca-e8ee8ad6dacb", + "db76bbdc-058e-43f0-9ec1-790f19836ed8", + "Trade blood cost.", + "7569118847073", + "Baby per east read.", + "$933.46", + 8595, + 730344114, + 378278379 + ], + [ + "06f705ad-0555-4e81-83d0-28d6132659f6", + "3a079e5d-4b18-44ce-9dc1-46c4b02524a0", + "34e8076a-95a2-4bc5-84e2-14a774136e2e", + "Yes they leg book.", + "7791562905287", + "Speak like.", + "$644.92", + 1743, + 63503825, + 151268813 + ], + [ + "93af182a-80d8-445c-90f4-a9e912e8ecc3", + "097113de-f75e-4965-bf0c-0bbfc8156de7", + "fa4a3b7a-949e-4048-8107-fadf65fbc8d3", + "Another present.", + "8676340278793", + "Total increase.", + "$801.86", + 8378, + 151451418, + 164805548 + ], + [ + "8a7dcb40-6ec5-4d74-91bd-395ec47b7ae1", + "d7f096c3-bead-456d-b158-d2a7a3ad5941", + "f814db8b-c4f5-4dff-8d52-ece9d8386a66", + "Difference attorney.", + "1331491143549", + "Figure stock cell.", + "$666.04", + 8540, + 1202149330, + 1483850114 + ], + [ + "138d8552-264a-4945-83ea-434b141f98c5", + "bf119bc4-d0ca-4e09-a0eb-884300c0310a", + "534c5e1f-78e3-4730-b0de-ba483efe6c07", + "Itself consumer.", + "1491282862155", + "Official interview.", + "$660.07", + 2615, + 485479324, + 294641735 + ], + [ + "c5937576-3bd4-48e6-b1ad-a817ca17629c", + "3789ae30-ae61-4d83-9b3d-00d916802b9e", + "7b1a3920-ba36-438c-ad66-a90866d9db29", + "Piece member thing.", + "5597020850302", + "Determine cold.", + "$494.87", + 1167, + 300864344, + 238901819 + ], + [ + "07c3af7a-f99a-438a-b28d-ed145b260f24", + "595a87a1-3256-4d27-856e-ea644f3d0273", + "980156c7-8d34-4943-8dd1-6264b10608a3", + "Support leg star.", + "2221719473468", + "Little population.", + "$9,924.11", + 6756, + 1050274923, + 1332654848 + ], + [ + "7b979ee3-8869-41e5-bd58-4bab0370a4f8", + "57ff5bbf-20af-4590-a224-344be4bb733f", + "47160f11-9c84-42a5-b0de-b073951188aa", + "Style six itself.", + "1692328633580", + "Sing place board.", + "$8,404.62", + 4933, + 919655628, + 1396988348 + ], + [ + "965c3643-53df-4938-9b18-094e64839daa", + "f46d2000-e339-4e26-b239-8c0850bbdb52", + "34da7b4e-eaa7-4a5e-99c6-4634aad5a57e", + "Measure spring.", + "4630255797576", + "Trade last reality.", + "$74.12", + 2928, + 1115674851, + 1415470840 + ], + [ + "3a862535-95f9-422d-a4d0-1713c861e2f2", + "dea1a3bc-a0bd-4704-9582-aa83b41947b7", + "8adc8335-9fe0-4f25-968e-f4b87283761e", + "Team especially Mrs.", + "9325007455648", + "Lead arm grow.", + "$24,699.20", + 8020, + 735668150, + 566344182 + ], + [ + "0c56876d-33a4-4c31-bdca-474bd73374dd", + "22b793d0-d488-4e38-a1c2-42f6ad97cbd8", + "34c2f96e-fd95-45c6-a108-9e7c2b4bc76d", + "Our table theory.", + "8912237142939", + "Better traditional.", + "$85,954.64", + 1302, + 40289469, + 1370650300 + ], + [ + "f8b93294-d943-4f56-a646-547ddeda1501", + "dd8b5ffd-8fe7-4198-96ed-112c358013df", + "c1aa38b0-cb2e-48b3-8900-c0d8f398d753", + "Hair little.", + "4129099981024", + "One wish which.", + "$2.78", + 1063, + 1070717512, + 64944778 + ], + [ + "4dccb731-dce6-4caa-aea4-ad2eb337882e", + "193dd38b-a12c-4188-beb8-7a32ddab4b69", + "bbbfa46f-d5cb-421b-aa89-2dc33ccfedc4", + "Want see draw hot.", + "4039135387249", + "Back security.", + "$82.11", + 7892, + 588398263, + 1577016457 + ], + [ + "223e7377-8a1c-4fe0-9924-af98daa5d1ae", + "98e3fbdb-17d3-466a-af1b-56540e25e84e", + "5b39d7f4-927a-4c51-84c2-6e836b987f4a", + "Result parent.", + "5070705235767", + "City build manager.", + "$35.85", + 187, + 122536199, + 452023822 + ], + [ + "49abe75f-71e1-4d63-8553-62d52b1c424f", + "b7884d13-707f-4f22-a6be-339bdbaa0b4a", + "3a66e445-d681-49c5-bf1f-4e8658f18dfd", + "Education without.", + "1768026006725", + "Exist office green.", + "$7,620.33", + 3179, + 79366133, + 97513892 + ], + [ + "733603db-fdfc-4a9b-8cc8-243152340020", + "46b2dfb2-a474-4658-9f90-2ecbb69b8344", + "ffc7cf83-93e4-45ed-8b51-4eca82f0d28c", + "Camera population.", + "2633598136110", + "Meet health land.", + "$35.94", + 204, + 1574347690, + 935455382 + ], + [ + "fdd8ca54-353c-419d-a9e6-49d5ba080609", + "c39b8a09-b490-4610-b49e-9fca2418641e", + "0839292d-622d-4ede-8b9e-7b03753f64e8", + "Increase moment.", + "2188578645422", + "Hold popular always.", + "$6,830.85", + 8791, + 1334803113, + 532964825 + ] + ] + }, + "databaseSchema": { + "id": "d7be1e2c-b3dc-11ec-b909-0242ac120002", + "type": "databaseSchema", + "name": "sample_data.ecommerce_db.shopify", + "description": "This **mock** Schema contains tables related to shopify sales and orders with related dimension tables.", + "href": "http://localhost:8585/api/v1/databaseSchemas/d7be1e2c-b3dc-11ec-b909-0242ac120002" + }, + "sourceUrl": "http://localhost:8080/dim.product.variant" + }, + { + "name": "dim.shop", + "description": "This dimension table contains online shop information. This table contains one shop per row.", + "version": 0.1, + "updatedAt": 1638354087633, + "updatedBy": "anonymous", + "href": "http://localhost:8585/api/v1/tables/bf6a7486-617d-474c-8d40-0f3735cc9272", + "tableType": "Regular", + "columns": [ + { + "name": "shop_id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Unique identifier for the store. This column is the primary key for this table.", + "tags": [], + "constraint": "PRIMARY_KEY", + "ordinalPosition": 1 + }, + { + "name": "name", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "Name of your store.", + "tags": [], + "ordinalPosition": 2 + }, + { + "name": "domain", + "dataType": "VARCHAR", + "dataLength": 1000, + "dataTypeDisplay": "varchar", + "description": "Primary domain specified for your online store. Your primary domain is the one that your customers and search engines see. For example, www.mycompany.com.", + "tags": [], + "ordinalPosition": 3 + } + ], + "database": { + "id": "50da1ff8-4e1d-4967-8931-45edbf4dd908", + "type": "database", + "name": "sample_data.ecommerce_db", + "description": "This **mock** database contains tables related to shopify sales and orders with related dimension tables.", + "href": "http://localhost:8585/api/v1/databases/50da1ff8-4e1d-4967-8931-45edbf4dd908" + }, + "tags": [], + "usageSummary": { + "dailyStats": { + "count": 195, + "percentileRank": 82 + }, + "weeklyStats": { + "count": 195, + "percentileRank": 82 + }, + "monthlyStats": { + "count": 195, + "percentileRank": 82 + }, + "date": "2021-12-01" + }, + "followers": [], + "joins": { + "startDate": "2021-11-01", + "dayCount": 30, + "columnJoins": [ + { + "columnName": "shop_id", + "joinedWith": [ + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_staff.shop_id", + "joinCount": 35 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_staff.user_id", + "joinCount": 35 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.api_client_id", + "joinCount": 40 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.billing_address_id", + "joinCount": 40 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.customer_id", + "joinCount": 40 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.location_id", + "joinCount": 40 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.order_id", + "joinCount": 40 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.product_id", + "joinCount": 40 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.product_variant_id", + "joinCount": 40 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.shipping_address_id", + "joinCount": 40 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.shop_id", + "joinCount": 40 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.user_id", + "joinCount": 40 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_address.shop_id", + "joinCount": 35 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_customer.customer_id", + "joinCount": 50 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_customer.shop_id", + "joinCount": 50 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim.product_variant:product_id", + "joinCount": 5 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim.product_variant:shop_id", + "joinCount": 5 + } + ] + } + ] + }, + "sampleData": { + "columns": [ + "shop_id", + "name", + "domain" + ], + "rows": [ + [ + "3e828749-345b-4ca6-8e3f-c790eacd102b", + "Thomas", + "Less father move." + ], + [ + "e5abb88b-96e0-4e18-818a-72e81150efbb", + "Hunter", + "Father last." + ], + [ + "f3c2e753-ed20-44f9-8b33-cf68b1390daf", + "Jennifer", + "Modern finally." + ], + [ + "f74574d0-728e-494d-8984-d28d40d64e8a", + "David", + "Type consider clear." + ], + [ + "bc417736-6bc9-49fe-86a7-ef4a85caabdf", + "Megan", + "Education debate." + ], + [ + "7db25894-ab37-4d1c-b59f-6fb3205970d9", + "Stacy", + "News man deal." + ], + [ + "41e0f0e0-4117-42d0-b513-7b15570a1517", + "Andrew", + "Study three there." + ], + [ + "e3ccfec5-fd3e-4f34-a544-b9c56619ba8d", + "Michael", + "Authority interview." + ], + [ + "88f55d3c-f3f1-460e-bbca-123fd54bf69e", + "Willie", + "Wall firm agent say." + ], + [ + "e242ba13-86b5-4a4b-98ae-c693e852588b", + "Brooke", + "Every recent father." + ], + [ + "05549f9c-2338-4d9a-b88a-8ad04161c0ba", + "Sarah", + "Medical then end." + ], + [ + "197b9cbe-0082-4e55-8f25-bf08f12f177d", + "Jamie", + "Rest sound us." + ], + [ + "48034cc4-1946-46f9-bba4-d50ebcee2e23", + "Mark", + "Left necessary move." + ], + [ + "84758913-2c94-46fd-8813-b165aee87b64", + "Jeffrey", + "Report heavy for." + ], + [ + "c14e1dbf-dbe5-4123-932b-c3c668020696", + "Jonathan", + "Relationship simple." + ], + [ + "17648e55-b162-4fc8-98fc-5e6f1f98b129", + "Stacey", + "Significant nation." + ], + [ + "0c22e11c-2548-4985-83e5-8f2a26171393", + "Thomas", + "Than woman whose." + ], + [ + "495d7dc2-7a3b-4fe2-a48d-c0b085614345", + "Julie", + "Beautiful fall deep." + ], + [ + "4cc379f7-5b57-4b3f-a540-826acf5177e9", + "Kimberly", + "Near know various." + ], + [ + "8849b853-3316-40d0-bc4e-67ce79859d0b", + "April", + "Task toward no." + ], + [ + "29c1f8fa-2cbe-499a-8045-3e912e2a8528", + "David", + "Leader simply agent." + ], + [ + "5d5455ab-6302-4028-b26d-0631ec08a5af", + "Vanessa", + "Say ten ago." + ], + [ + "bb270f1d-20e0-44d3-98e0-ec765273e037", + "Selena", + "Like firm man find." + ], + [ + "dff27b59-2ee5-49ea-873d-f7c46164c05c", + "Stephanie", + "Available involve." + ], + [ + "d94414b7-5bba-4a52-94af-c778e3c1a5b5", + "Nicholas", + "Several west." + ] + ] + }, + "databaseSchema": { + "id": "d7be1e2c-b3dc-11ec-b909-0242ac120002", + "type": "databaseSchema", + "name": "sample_data.ecommerce_db.shopify", + "description": "This **mock** Schema contains tables related to shopify sales and orders with related dimension tables.", + "href": "http://localhost:8585/api/v1/databaseSchemas/d7be1e2c-b3dc-11ec-b909-0242ac120002" + }, + "sourceUrl": "http://localhost:8080/dim.shop" + }, + { + "name": "dim(shop)", + "description": "This dimension table contains online shop information with weird characters.", + "version": 0.1, + "updatedAt": 1638354087633, + "updatedBy": "anonymous", + "tableType": "Regular", + "columns": [ + { + "name": "shop(id)", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Unique identifier for the store. This column is the primary key for this table.", + "tags": [], + "constraint": "PRIMARY_KEY", + "ordinalPosition": 1 + }, + { + "name": "shop(name)", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "Name of your store.", + "tags": [], + "ordinalPosition": 2 + }, + { + "name": "shop(domain)", + "dataType": "VARCHAR", + "dataLength": 1000, + "dataTypeDisplay": "varchar", + "description": "Primary domain specified for your online store. Your primary domain is the one that your customers and search engines see. For example, www.mycompany.com.", + "tags": [], + "ordinalPosition": 3 + } + ], + "database": { + "id": "50da1ff8-4e1d-4967-8931-45edbf4dd908", + "type": "database", + "name": "sample_data.ecommerce_db", + "description": "This **mock** database contains tables related to shopify sales and orders with related dimension tables.", + "href": "http://localhost:8585/api/v1/databases/50da1ff8-4e1d-4967-8931-45edbf4dd908" + }, + "databaseSchema": { + "id": "d7be1e2c-b3dc-11ec-b909-0242ac120002", + "type": "databaseSchema", + "name": "sample_data.ecommerce_db.shopify", + "description": "This **mock** Schema contains tables related to shopify sales and orders with related dimension tables.", + "href": "http://localhost:8585/api/v1/databaseSchemas/d7be1e2c-b3dc-11ec-b909-0242ac120002" + }, + "tags": [], + "sourceUrl": "http://localhost:8080/dim(shop)" + }, + { + "name": "магазин", + "description": "This dimension table contains online shop information with weird characters.", + "version": 0.1, + "updatedAt": 1638354087633, + "updatedBy": "anonymous", + "tableType": "Regular", + "columns": [ + { + "name": "идентификатор", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "идентификатор", + "tags": [], + "constraint": "PRIMARY_KEY", + "ordinalPosition": 1 + }, + { + "name": "имя", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "имя", + "tags": [], + "ordinalPosition": 2 + }, + { + "name": "домен", + "dataType": "VARCHAR", + "dataLength": 1000, + "dataTypeDisplay": "varchar", + "description": "домен", + "tags": [], + "ordinalPosition": 3 + } + ], + "database": { + "id": "50da1ff8-4e1d-4967-8931-45edbf4dd908", + "type": "database", + "name": "sample_data.ecommerce_db", + "description": "This **mock** database contains tables related to shopify sales and orders with related dimension tables.", + "href": "http://localhost:8585/api/v1/databases/50da1ff8-4e1d-4967-8931-45edbf4dd908" + }, + "databaseSchema": { + "id": "d7be1e2c-b3dc-11ec-b909-0242ac120002", + "type": "databaseSchema", + "name": "sample_data.ecommerce_db.shopify", + "description": "This **mock** Schema contains tables related to shopify sales and orders with related dimension tables.", + "href": "http://localhost:8585/api/v1/databaseSchemas/d7be1e2c-b3dc-11ec-b909-0242ac120002" + }, + "tags": [], + "sourceUrl": "http://localhost:8080/\\u043c\\u0430\\u0433\\u0430\\u0437\\u0438\\u043d" + }, + { + "name": "dim_staff", + "description": "This dimension table contains information about the staff accounts in the store. It contains one row per staff account. Use this table to generate a list of your staff accounts, or join it with the sales, API clients and locations tables to analyze staff performance at Shopify POS locations.", + "version": 0.1, + "updatedAt": 1638354087663, + "updatedBy": "anonymous", + "href": "http://localhost:8585/api/v1/tables/7a0483c9-68c8-4faa-a553-a353e135aeff", + "tableType": "Regular", + "columns": [ + { + "name": "user_id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Unique identifier for the user of your Shopify POS or your Shopify admin.", + "tags": [], + "constraint": "PRIMARY_KEY", + "ordinalPosition": 1 + }, + { + "name": "shop_id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "The ID of the store. This column is a foreign key reference to the shop_id column in the dim.shop table.", + "tags": [], + "ordinalPosition": 2 + }, + { + "name": "first_name", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "First name of the staff member.", + "tags": [], + "ordinalPosition": 3 + }, + { + "name": "last_name", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "Last name of the staff member.", + "tags": [], + "ordinalPosition": 4 + }, + { + "name": "email", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "Email address of the staff member.", + "tags": [], + "ordinalPosition": 5 + } + ], + "database": { + "id": "50da1ff8-4e1d-4967-8931-45edbf4dd908", + "type": "database", + "name": "sample_data.ecommerce_db", + "description": "This **mock** database contains tables related to shopify sales and orders with related dimension tables.", + "href": "http://localhost:8585/api/v1/databases/50da1ff8-4e1d-4967-8931-45edbf4dd908" + }, + "tags": [], + "usageSummary": { + "dailyStats": { + "count": 75, + "percentileRank": 18 + }, + "weeklyStats": { + "count": 75, + "percentileRank": 18 + }, + "monthlyStats": { + "count": 75, + "percentileRank": 18 + }, + "date": "2021-12-01" + }, + "followers": [], + "joins": { + "startDate": "2021-11-01", + "dayCount": 30, + "columnJoins": [ + { + "columnName": "shop_id", + "joinedWith": [ + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_order.user_id", + "joinCount": 20 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.user_id", + "joinCount": 20 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim.shop:shop_id", + "joinCount": 35 + } + ] + }, + { + "columnName": "user_id", + "joinedWith": [ + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_order.api_client_id", + "joinCount": 20 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_order.customer_id", + "joinCount": 20 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_order.order_id", + "joinCount": 20 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_order.shop_id", + "joinCount": 20 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_order.user_id", + "joinCount": 20 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.api_client_id", + "joinCount": 20 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.billing_address_id", + "joinCount": 20 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.customer_id", + "joinCount": 20 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.location_id", + "joinCount": 20 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.order_id", + "joinCount": 20 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.product_id", + "joinCount": 20 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.product_variant_id", + "joinCount": 20 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.shipping_address_id", + "joinCount": 20 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.shop_id", + "joinCount": 20 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.user_id", + "joinCount": 20 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.shop\".shop_id", + "joinCount": 35 + } + ] + } + ] + }, + "sampleData": { + "columns": [ + "user_id", + "shop_id", + "first_name", + "last_name", + "email" + ], + "rows": [ + [ + "5a115c0e-f391-4710-a95f-0ad88ccc7f88", + "af67bd87-537f-49be-8de8-2909b0dccfee", + "Raymond", + "Nicholas", + "Say peace peace." + ], + [ + "1071d5ae-5f8d-4127-a733-99dd11de25d2", + "1d4e87a3-6beb-48e4-a878-c03a75f57875", + "Elizabeth", + "James", + "Program rather go." + ], + [ + "46beb027-cf83-4819-a78f-fe1d159d2f89", + "5dc337ae-5f73-4873-bd8e-4a88ce60194e", + "Jill", + "Peggy", + "Often his fund page." + ], + [ + "bcb6ef92-01df-4936-a7dd-a2aed7a19ed0", + "088cd1f4-5bb1-455d-a764-c515fe5d3d2b", + "Juan", + "Mark", + "Control contain." + ], + [ + "7b0d1d34-0268-490f-9458-746e9af720c1", + "4c609b04-c16d-47e2-9648-160da772ed28", + "Matthew", + "Hunter", + "Him TV history." + ], + [ + "550bcf02-ef57-4c14-b02c-c45c84dbc144", + "fbb3857e-e3a3-4db0-a403-927a4905177e", + "Donald", + "Heather", + "Writer detail often." + ], + [ + "14fd206d-bf3f-4011-883b-56c999ee7bfe", + "48177436-2bb0-43e4-a0a2-15c801b82db7", + "Craig", + "Kristie", + "Might organization." + ], + [ + "20c22271-e1a7-4076-a1ee-87dc421ef767", + "1d4ec979-f837-4685-a5aa-cdacae76b8b4", + "Steven", + "Kenneth", + "Lead reveal but." + ], + [ + "d2806695-8993-4da3-8f6f-9f205a9f494c", + "d8aee504-e8e5-4ce7-bb7a-f99599c29db5", + "Sarah", + "Riley", + "Build statement." + ], + [ + "256faf2d-923c-4cb9-94ef-bb281c108588", + "6c39e01d-f762-4d08-a44c-c0bcb1c0bb75", + "Anita", + "Jeremy", + "Hospital long." + ], + [ + "7aa67031-4f01-43f8-9f5c-8fc2a85fb00d", + "3f707384-5ca1-442d-bfdb-1dd96df1b531", + "Manuel", + "Stephen", + "Address tend gas." + ], + [ + "edd0f656-2a72-4946-8049-afdbcb177ca4", + "0e323531-0ae3-4520-97f2-86fd4894af35", + "Jerry", + "Cody", + "Community wind." + ], + [ + "6472792d-49eb-4da6-b21c-e797b60c5842", + "ff89c994-8d01-431f-9e44-33ad84259edb", + "Jared", + "Kari", + "Sign medical color." + ], + [ + "3eabd386-6616-4ed0-8e34-40f49fd7a3bf", + "167885a2-2e71-4b26-976e-e4e99cb9f63d", + "Sandra", + "Jeffery", + "Bar know beyond." + ], + [ + "710b8fb2-ed25-4bf0-aee1-a8017a3f6b73", + "f69d5f7b-55dc-43d6-bb04-3c3fde491a2b", + "Randy", + "Samantha", + "Red matter measure." + ], + [ + "7cf8961e-2d83-4af8-ad87-b97db04289b6", + "ade9e289-d929-42de-8099-4da22dd9c3b2", + "Kevin", + "John", + "Manager seat hold." + ], + [ + "fd68c724-0b9b-4f4b-99d8-dadad426600c", + "7aa91f61-358e-46dd-ab7d-500859c61b6d", + "Austin", + "David", + "Be determine travel." + ], + [ + "77a81aa9-bc0b-4441-b680-cea2eb2a47a0", + "e93ef096-f856-43a9-b198-d1edbc7f2bab", + "Jeffrey", + "Kelly", + "Thought be light." + ], + [ + "1e847c44-493f-4bfc-b7d6-0a70e0c0c188", + "e514969c-6118-4a37-8e56-39e0820d5dc0", + "Kelly", + "Jacqueline", + "Page language tree." + ], + [ + "7786d7a8-c39a-4106-8cb5-b0e962c490a5", + "65ad391c-85ac-4a9c-8157-90276dfee419", + "Kimberly", + "Victoria", + "Environment simply." + ], + [ + "1c2cc040-cc10-4206-9a7f-c16bdcb2f345", + "458f2c22-b2a2-40f9-8cbc-d9ae24a4a904", + "Melanie", + "Christopher", + "Theory above yet." + ], + [ + "225bce46-ba8a-4cda-acbb-12a246e22d03", + "7d305f39-9a57-4df4-97d7-510aaf5084d1", + "Jeremy", + "Anthony", + "Condition report." + ], + [ + "4ce2b96a-4311-4499-864c-d065c1502054", + "246f1a6a-62e3-4068-b5b5-5b4c8e600832", + "Bruce", + "Shelby", + "Thank get shake." + ], + [ + "d2ffd834-e487-4afa-9c1a-ddd2191182cb", + "c45bee6f-df30-4966-97b7-14d9a1326fe4", + "Sean", + "Jennifer", + "Compare blood store." + ], + [ + "bf84f8d3-5140-4e38-9649-6e0998feefaf", + "64e750b8-7acf-4632-90fc-4c8e7a856651", + "Walter", + "Jessica", + "Nation medical to." + ] + ] + }, + "tableProfile": { + "timestamp": 1634366539, + "columnCount": 5, + "rowCount": 100, + "columnProfile": [ + { + "name": "user_id", + "uniqueCount": 100.0, + "uniqueProportion": 1.0, + "nullCount": 0.0, + "nullProportion": 0.0, + "sum": 5050, + "min": 1, + "max": 100, + "mean": 50.5, + "stddev": 28.86607004772212 + }, + { + "name": "shop_id", + "uniqueCount": 100.0, + "uniqueProportion": 1.0, + "nullCount": 0.0, + "nullProportion": 0.0, + "sum": 5050, + "min": 1, + "max": 100, + "mean": 50.5, + "stddev": 28.86607004772212 + }, + { + "name": "first_name", + "uniqueCount": 79.0, + "uniqueProportion": 0.79, + "nullCount": 1, + "nullProportion": 0.01, + "minLength": 5, + "maxLength": 19 + }, + { + "name": "last_name", + "uniqueCount": 100.0, + "uniqueProportion": 1.0, + "nullCount": 0, + "nullProportion": 0.0, + "minLength": 7, + "maxLength": 15 + }, + { + "name": "email", + "uniqueCount": 100.0, + "uniqueProportion": 1.0, + "nullCount": 0, + "nullProportion": 0.0, + "minLength": 12, + "maxLength": 30 + } + ] + }, + "databaseSchema": { + "id": "d7be1e2c-b3dc-11ec-b909-0242ac120002", + "type": "databaseSchema", + "name": "sample_data.ecommerce_db.shopify", + "description": "This **mock** Schema contains tables related to shopify sales and orders with related dimension tables.", + "href": "http://localhost:8585/api/v1/databaseSchemas/d7be1e2c-b3dc-11ec-b909-0242ac120002" + }, + "sourceUrl": "http://localhost:8080/dim_staff" + }, + { + "name": "fact_line_item_Lorem_ipsum_dolor_sit_amet_consectetur_adipiscing_elit_sed_do_eiusmod_tempor_incididunt_ut_labore_et_dolore_magna_aliqua_Ut_enim_ad_minim_veniam_quis_nostrud_exercitation_ullamco_laboris_nisi_ut_aliquip_ex_ea_commodo_consequat_Duis_aute_iru", + "fullyQualifiedName": "sample_data.shopify.fact_line_item_Lorem_ipsum_dolor_sit_amet_consectetur_adipiscing_elit_sed_do_eiusmod_tempor_incididunt_ut_labore_et_dolore_magna_aliqua_Ut_enim_ad_minim_veniam_quis_nostrud_exercitation_ullamco_laboris_nisi_ut_aliquip_ex_ea_commodo_consequat_Duis_aute_iru", + "description": "The fact table contains information about the line items in orders. Each row in the table is a line item in an order. It contains product and product variant details as they were at the time of the order. This table does not include information about returns. Join this table with the TODO fact_sales table to get the details of the product on the day it was sold. This data will match what appears on the order in your Shopify admin as well as the in the Sales reports.", + "version": 0.1, + "updatedAt": 1638354087696, + "updatedBy": "anonymous", + "href": "http://localhost:8585/api/v1/tables/ebb535b6-234a-477f-8713-b0bc7ff5897f", + "tableType": "Regular", + "columns": [ + { + "name": "line_item_id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "ID of the line item. This column is the primary key for the this table.", + "fullyQualifiedName": "sample_data.shopify.fact_line_item.line_item_id", + "tags": [], + "constraint": "PRIMARY_KEY", + "ordinalPosition": 1 + }, + { + "name": "billing_address_id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "fullyQualifiedName": "sample_data.shopify.fact_line_item.billing_address_id", + "tags": [], + "ordinalPosition": 2 + }, + { + "name": "order_id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "ID of the order. This column is a foreign key reference to the orders_id column in the fact_order table.", + "fullyQualifiedName": "sample_data.shopify.fact_line_item.order_id", + "tags": [], + "ordinalPosition": 3 + }, + { + "name": "product_id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "ID of the product ordered, unless the line item is for shipping costs (you can add custom items using a draft order). This column is a foreign key reference to the product_id column in the dim.product table.", + "fullyQualifiedName": "sample_data.shopify.fact_line_item.product_id", + "tags": [], + "ordinalPosition": 4 + }, + { + "name": "product_variant_id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "fullyQualifiedName": "sample_data.shopify.fact_line_item.product_variant_id", + "tags": [], + "ordinalPosition": 5 + }, + { + "name": "shop_id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "ID of the store. This column is a foreign key reference to the shop_id column in the dim_shop table.", + "fullyQualifiedName": "sample_data.shopify.fact_line_item.shop_id", + "tags": [], + "ordinalPosition": 6 + }, + { + "name": "name", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "Name of the line item. This name combines the product title and the variant title into the following format: product-title - variant-title. If there is no variant title, then the format is product-title. This column is the same as order.line_items.name\"in the Admin API.", + "fullyQualifiedName": "sample_data.shopify.fact_line_item.name", + "tags": [], + "ordinalPosition": 7 + }, + { + "name": "product_title", + "dataType": "VARCHAR", + "dataLength": 150, + "dataTypeDisplay": "varchar", + "description": "Name of the product ordered. This column is the same as order.line_items.title in the Admin API.", + "fullyQualifiedName": "sample_data.shopify.fact_line_item.product_title", + "tags": [], + "ordinalPosition": 8 + }, + { + "name": "price", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Price of the product variant.", + "fullyQualifiedName": "sample_data.shopify.fact_line_item.price", + "tags": [], + "ordinalPosition": 9 + }, + { + "name": "quantity", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Number of product variant items ordered in the line item.", + "fullyQualifiedName": "sample_data.shopify.fact_line_item.quantity", + "tags": [], + "ordinalPosition": 10 + }, + { + "name": "requires_shipping", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Whether the product variant requires fulfillment (shipping). For example, online gift cards don't require shipping.", + "fullyQualifiedName": "sample_data.shopify.fact_line_item.requires_shipping", + "tags": [], + "ordinalPosition": 11 + }, + { + "name": "taxable", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Whether taxes are charged for the product variant, otherwise contains 0. For example, when the line item is a gift card, taxes are not charged.", + "fullyQualifiedName": "sample_data.shopify.fact_line_item.taxable", + "tags": [], + "ordinalPosition": 12 + }, + { + "name": "gift_card", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Whether the product variant is a gift card.", + "fullyQualifiedName": "sample_data.shopify.fact_line_item.gift_card", + "tags": [], + "ordinalPosition": 13 + }, + { + "name": "grams", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Weight of a single unit of the product variant. Contains 0 when the product variant is a gift card.", + "fullyQualifiedName": "sample_data.shopify.fact_line_item.grams", + "tags": [], + "ordinalPosition": 14 + }, + { + "name": "product_vendor", + "dataType": "VARCHAR", + "dataLength": 200, + "dataTypeDisplay": "varchar", + "description": "Name of the manufacturer, wholesaler, or other vendor of the product.", + "fullyQualifiedName": "sample_data.shopify.fact_line_item.product_vendor", + "tags": [], + "ordinalPosition": 15 + }, + { + "name": "fulfillable_quantity", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Number of product variant items in the line item that require fulfillment. Some product variants, such as gift cards and digital products, do not need to be fulfilled.", + "fullyQualifiedName": "sample_data.shopify.fact_line_item.fulfillable_quantity", + "tags": [], + "ordinalPosition": 16 + }, + { + "name": "fulfillment_service", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "Name of the fulfillment service provider that fulfilled (shipped) the variant ordered. Contains manual when there is no fulfillment service specified for the variant.", + "fullyQualifiedName": "sample_data.shopify.fact_line_item.fulfillment_service", + "tags": [], + "ordinalPosition": 17 + } + ], + "database": { + "id": "50da1ff8-4e1d-4967-8931-45edbf4dd908", + "type": "database", + "name": "sample_data.ecommerce_db", + "description": "This **mock** database contains tables related to shopify sales and orders with related dimension tables.", + "href": "http: //localhost:8585/api/v1/databases/50da1ff8-4e1d-4967-8931-45edbf4dd908" + }, + "tags": [], + "usageSummary": { + "dailyStats": { + "count": 20, + "percentileRank": 0 + }, + "weeklyStats": { + "count": 20, + "percentileRank": 0 + }, + "monthlyStats": { + "count": 20, + "percentileRank": 0 + }, + "date": "2021-12-01" + }, + "followers": [], + "joins": { + "startDate": "2021-11-01", + "dayCount": 30, + "columnJoins": [ + { + "columnName": "line_item_id", + "joinedWith": [ + { + "fullyQualifiedName": "sample_data.shopify.fact_sale.line_item_id", + "joinCount": 20 + } + ] + } + ] + }, + "sampleData": { + "columns": [ + "line_item_id", + "billing_address_id", + "order_id", + "product_id", + "product_variant_id", + "shop_id", + "name", + "product_title", + "price", + "quantity", + "requires_shipping", + "taxable", + "gift_card", + "grams", + "product_vendor", + "fulfillable_quantity", + "fulfillment_service" + ], + "rows": [ + [ + "caf62cec-4b00-4ffc-a9b2-f1617bbd40b4", + "45c1b8aa-d030-4f74-bf39-6fe5bbc572c4", + "be33281e-01a8-419f-88a4-242b2785564b", + "c1670659-21d3-4b4d-b137-3f99c37f7f9e", + "4de2c6c6-c0cc-4479-85b4-0ae47eefc362", + "a9b2ebdc-50c4-4cf1-8840-dee5c54e7dfc", + "Christine", + "Your serious care.", + "$0.22", + 5410, + true, + false, + false, + 1217, + "Training television.", + 511, + "Task training item." + ], + [ + "811e4fea-8f00-4dfc-803c-6554ee7ac79a", + "324e62ea-2bb3-4690-85a1-27cfbc7b61ca", + "9a2d99c7-3691-458c-8d6b-1027213bd484", + "03682530-5784-4a09-92ae-6920e6162eac", + "efe5fc7a-2fd9-4a00-8359-3d5c57914efd", + "518f6c06-448a-41c3-8104-b2c3dc647ced", + "Nathan", + "Responsibility wind.", + "$4,790.50", + 821, + false, + true, + true, + 6101, + "Whether month.", + 6345, + "Ability pick." + ], + [ + "9fad94b5-d43c-4bab-9f37-ee53e24acf6a", + "4f743593-fc43-446e-9729-ffe29c03ee1c", + "75173209-4c6c-45b5-8c1f-0a0f65290955", + "4b69968d-5b6a-47e7-a7bb-7124835b6597", + "cbbc6eda-c6ed-4a87-afbe-5a94a8ddd4e4", + "f07997a6-74da-4028-9197-8319dfd3df17", + "Christina", + "None color space.", + "$12.29", + 1945, + true, + false, + false, + 969, + "Sister why build.", + 7578, + "Whatever cell." + ], + [ + "bb5598f5-e377-4ade-be9c-340d8c59f090", + "c92a8323-1dfb-4fd2-aa5d-ceb3200a631d", + "936e64bb-3d3b-497d-af36-2e51069aadca", + "1f4eb29d-042f-4edb-b7cd-26ef52feaadd", + "2f88dbdc-a269-4f32-8e61-781fd83264cd", + "87df410e-73fc-4624-bfd3-98c912974c4b", + "Anne", + "Fill book remain.", + "$854.32", + 7149, + false, + false, + false, + 5365, + "Group.", + 8436, + "Total school try." + ], + [ + "58fd9210-5622-4be7-8149-fc05feca7b1b", + "15082f5a-f2a3-417a-8ff6-21a4dafd904d", + "0d61513e-78b8-4d21-9502-dd48b4f95272", + "b3ddecdd-629e-4dbf-9fee-71c11b09e0e1", + "c0b89e3c-f08e-425e-86b7-64b35469f387", + "5fe2e03e-03a6-41f2-9c1b-61a74108ff2a", + "Walter", + "Agree billion.", + "$81,446.38", + 3925, + true, + true, + false, + 8420, + "Theory me present.", + 3328, + "Half share lose." + ], + [ + "32b5c6ea-6b06-4e96-9128-a9b5ccb2969f", + "051157c1-3598-4080-b64e-2e0f213ba5b4", + "5c3dd77f-fb1f-4d45-99fe-c5c817581033", + "ec252f77-4d67-453a-bc7a-aa69ddc0eba2", + "b663492e-2939-4513-b94f-8ad855c36c7e", + "c8da2a4c-bf19-4aea-b8d7-9a1f714d38e7", + "Jason", + "Executive argue.", + "$11,595.28", + 6048, + true, + true, + false, + 4149, + "Wonder kitchen read.", + 9302, + "Everybody maintain." + ], + [ + "51c4e70c-ab9f-4b3f-84ec-c013ad7ff274", + "2022da68-ce13-4525-a89b-237effa94660", + "8923b30c-c2a1-4e71-b5b1-52b913b3a818", + "343f35db-0eb9-45c7-9c4c-1a4b2d615384", + "bc060108-2d02-4310-8de1-be803a081505", + "d5f2d13d-48bb-425a-93a6-324308058862", + "Andrew", + "These role or to.", + "$868.60", + 3297, + true, + true, + true, + 9627, + "True citizen.", + 8715, + "Near food one." + ], + [ + "0931a2c8-463e-433a-ba47-4f19d748d172", + "9801c52d-494e-404e-afe8-346a2d166ba7", + "a0581acf-e73f-42e0-9e48-b528d51b4165", + "e1831af3-90a5-4ca5-bc64-6604abad65fe", + "e386274c-d7cb-4ee5-927b-2a8eba927b95", + "1b5fdb4a-f7f6-4af1-a5d7-8061b27d714b", + "Andrew", + "Magazine quickly.", + "$6.62", + 6648, + true, + true, + false, + 6454, + "Wife Congress game.", + 4741, + "Build whatever." + ], + [ + "f576b10a-3105-4d11-bd46-ec9b38f34603", + "1153716f-4306-4876-8823-15bbc5993291", + "1a2b443e-8b15-4267-9d94-6e2bc0fa7981", + "faf135e6-8b1b-4c4e-af57-f4b92de10112", + "fe963623-3bec-4f3b-ae27-3b7c8b941fae", + "9b6efc48-2911-4157-955c-40c6828f5840", + "Michael", + "Mrs investment.", + "$0.24", + 4869, + false, + true, + false, + 6911, + "Accept action free.", + 864, + "Media once hand." + ], + [ + "31909989-7a11-4376-bf4f-7af2b93410c1", + "76bbcc46-7a11-4efc-aaa6-4c41656ad49f", + "e31aff33-7fcc-4ab3-a328-d9e1f3786ded", + "2db22b8c-e26e-4dd3-b03b-b2fcc94d6eec", + "8bf6ea7e-a48c-451e-96ac-1188c6b00f88", + "88d10f55-a51d-4f4d-8ab0-27039684bbe8", + "Rhonda", + "Family treat.", + "$57,756.68", + 8416, + true, + true, + false, + 8619, + "Such southern.", + 1668, + "Analysis simple." + ], + [ + "322d0c26-c14b-4c0f-9b14-88a5edfea60d", + "404a99f2-5819-4dc7-8976-e553f6c07d9a", + "960e91c8-299f-4855-a89d-24e517acf632", + "2ea754c4-e7e7-4b31-a272-0d3b5000c118", + "08c64160-30c3-45f6-add9-30f6834c927e", + "5d095b49-82d0-428f-9208-f9b8f8e32c55", + "Holly", + "Name name community.", + "$482.13", + 1428, + true, + false, + true, + 9965, + "Size difficult yard.", + 1359, + "Lot your hotel." + ], + [ + "92619045-493b-4297-bae7-6b470e2c32a3", + "7ad7c54a-cccd-4705-a517-7cdfa07fd221", + "089417bd-5454-46d8-9332-5c6ff7dba1da", + "bee89d40-a69a-47ee-9b47-68d20368acf5", + "21043bd1-db06-48c0-ba5d-cc643c5d8de2", + "86199146-afdb-40da-9359-6ca41ee83088", + "Laura", + "Decide agreement.", + "$753.95", + 2098, + true, + false, + false, + 1522, + "Money attorney.", + 2128, + "Study move continue." + ], + [ + "eb41d693-b99a-4932-b873-2948f9f85c61", + "038c3043-ae10-4c30-9396-e1d9bca951b9", + "ce112fa3-ce27-4086-aa0b-67372891a588", + "abd6eaf4-1874-4768-9b7d-0759100cd9d7", + "c315052c-b7d2-4f5e-bf5f-e6835629cbe0", + "9dd2e6e1-32e6-4947-acf7-621a8dc8b400", + "Scott", + "Put herself.", + "$5.98", + 422, + false, + false, + true, + 4028, + "Seem baby media.", + 4306, + "Two and action any." + ], + [ + "d35b8e12-4aae-45f4-b30e-6f880d71e64c", + "7870502f-6c7d-498d-80ce-1214dd1a83be", + "42fee410-5833-4121-80a3-bc4553152c52", + "6da95eab-1755-4935-918e-be33ceccf56b", + "850f4cda-0e7c-4d68-bfb7-1f34ab81c8d8", + "abdcfd04-31b5-4877-8e53-2ec9a0b9c578", + "Nicole", + "Mention somebody.", + "$69.07", + 3194, + false, + true, + false, + 5359, + "Let simply peace.", + 7339, + "Stuff executive." + ], + [ + "4c3abe8d-6d44-4a20-96f9-30779e67a52f", + "1a6bef97-8529-4cff-ac56-79d1087e7449", + "56787818-a07f-49fd-ba87-4865d81128c7", + "54c05689-98c1-4ab2-ba2a-eca8a085bb8f", + "190029f4-b7e7-41f9-a28b-ec7480171e85", + "b7a53024-3716-432e-98cc-5db33dfda844", + "Jennifer", + "Yet foot turn seek.", + "$32.81", + 5984, + true, + true, + false, + 3366, + "Watch window board.", + 8225, + "Family perhaps ago." + ], + [ + "91c410e2-7f21-455d-8d5f-d87fe343e14a", + "6c858400-f8b8-405b-92a9-f3d9f51e0403", + "31a146a7-d5ec-4f14-8b7c-e00e0c6a30c3", + "3306abe9-ff27-431d-a1e7-9c0c60639a32", + "b1d8c70f-ade5-4b5e-8b03-c14b3ff159a5", + "734b066f-fd60-4998-a8e6-7b1885260b6c", + "Sara", + "What gun owner draw.", + "$8.91", + 4929, + true, + true, + false, + 3112, + "Foot central course.", + 9262, + "Like finish image." + ], + [ + "6962e613-5218-4b79-9ef2-653b6f43b523", + "16f834aa-5915-47fe-b1a4-033eb0fad403", + "4996c590-9737-4a80-8750-f8c03696d8df", + "0a0c6529-1d82-4bf5-8b40-45057d71afdf", + "4c0f3de2-3538-4b19-8886-664e735485a3", + "ef453d1b-0e14-4bfe-8076-28077b559b2f", + "Robert", + "Accept professor.", + "$760.64", + 4474, + true, + false, + true, + 39, + "Local force fear.", + 5799, + "Government several." + ], + [ + "51b3cd12-20db-435c-a078-cc43a4e90941", + "7ef898ab-2f14-44b6-94d2-5b1f407e08dd", + "114c7cf1-2e0f-469d-883d-27d29e74fa05", + "ea51c431-989a-482c-acd9-d59ad143bc2c", + "ffb76f35-f739-4366-b247-9d89aabbece8", + "a2cd8edc-5eab-4b04-ab16-90832f5eab1b", + "Debra", + "Whose I quality.", + "$7.14", + 9673, + false, + false, + false, + 2072, + "Decision outside.", + 9614, + "Difference almost." + ], + [ + "d5db3dac-7356-4408-b2a1-82681c4a4e36", + "bf510650-e3be-46b1-aa22-152716f2ef80", + "2085c239-addb-4c6f-ad3a-904ae3a1e3a0", + "565ef209-f4b0-4186-bb71-2611fc16977e", + "643f459c-fa85-4ce5-8184-fddc814622c2", + "e91123cf-7efb-4818-8468-c14dd0c8baa3", + "Monique", + "Close raise five.", + "$7,463.33", + 8775, + false, + true, + false, + 2721, + "Local take success.", + 6073, + "Point recognize." + ], + [ + "d90fa279-b785-4a9e-89a0-1900e234dcd8", + "7bbdcc42-80ac-443b-8ae4-2fe65cc9e9f4", + "536b0728-1a05-4479-9f32-84210caba740", + "90bd0200-cad9-49d2-9bc0-44605f7e071c", + "4f248393-ecb5-4dbe-972e-0b4d6f84ec9a", + "45e621bb-11ee-414e-9e5a-a78b69c3cda0", + "Taylor", + "Say rock pick.", + "$16,954.50", + 2660, + true, + false, + false, + 3249, + "Live PM staff.", + 5587, + "Property national." + ], + [ + "f6b95b9a-77c5-4e70-9d64-14bcab8c0bf8", + "a17f86cb-75e9-4dcc-981c-1a9f867d7183", + "724c49e6-0d23-4836-9fd2-1b0bd05509b5", + "32be68f4-147a-421e-b16d-288dac8af802", + "134b27e7-7931-4df1-a45a-8051baece41a", + "fee026c6-a7d6-46f4-9ee2-6cce8ad36eaa", + "David", + "Forward south their.", + "$98.77", + 93, + false, + false, + false, + 4292, + "Turn of play prove.", + 4887, + "President second." + ], + [ + "0ae37a6c-3169-4623-8319-a876ab7f3d99", + "b31afbeb-ab75-492b-b7c5-5d1945dd4c4a", + "8a9c07bf-93a1-488f-b5a4-cfb257affd9b", + "8ca34b19-416f-48c1-b108-7c52570b9165", + "dfae8570-40f4-4fc1-8905-df4fad88dfbe", + "b2b4142b-3551-4bd4-8b0f-6dcf43c38cca", + "Colin", + "Body baby adult.", + "$29,486.21", + 7956, + false, + true, + false, + 7494, + "Southern deep three.", + 9357, + "Eat size party." + ], + [ + "ea17c92b-485b-44f3-95fc-bf6ff7cfc255", + "ef30375e-8742-4e8b-8106-97d251d896e2", + "ee357436-7cd3-47b2-901a-f9fcef6ed9e0", + "5efd4eb7-5a81-4010-bea3-85910250e4b1", + "84ae57ee-e2fd-4dc0-a9eb-8ea24d0b8019", + "d5cafc0e-0100-45c9-93db-10d5261f6e96", + "Kaitlyn", + "Produce others road.", + "$9,333.25", + 6641, + true, + false, + true, + 6862, + "For chair brother.", + 4377, + "Ok open." + ], + [ + "07fbb6b8-f80d-4c43-8481-f7708e44964a", + "de3ae369-cca3-4b7e-98da-e75e8a76c116", + "0dec7fea-edd4-43ff-bf0d-f3b6b9fac73d", + "1a64014d-996e-44e1-bbc0-21434e382bf0", + "32b6e4b5-9ab0-419b-8a39-2ac95e98882f", + "fbf0d690-724f-4ae7-8284-7429cc9c6fd9", + "Anne", + "Discuss serve PM.", + "$919.15", + 6955, + true, + false, + true, + 48, + "And before election.", + 7869, + "Whole perhaps firm." + ], + [ + "73007911-d93d-4132-bdc1-add7a20a072a", + "43bf6af0-2fd2-4a68-982b-626e8600b549", + "b3626f2b-16c0-441a-97be-6eac8bebdaa7", + "95704989-cda2-4cf0-a290-f88980d69131", + "75bbe4bd-fed0-4b76-bd32-031d7b7be6f7", + "e3ef79e4-ddc2-4dbd-ba49-01140871d3e2", + "Austin", + "Before identify.", + "$10,686.43", + 2675, + true, + true, + false, + 4372, + "Wonder issue.", + 8660, + "Begin line cultural." + ] + ] + }, + "databaseSchema": { + "id": "d7be1e2c-b3dc-11ec-b909-0242ac120002", + "type": "databaseSchema", + "name": "sample_data.ecommerce_db.shopify", + "description": "This **mock** Schema contains tables related to shopify sales and orders with related dimension tables.", + "href": "http://localhost:8585/api/v1/databaseSchemas/d7be1e2c-b3dc-11ec-b909-0242ac120002" + }, + "sourceUrl": "http://localhost:8080/fact_line_item_Lorem_ipsum_dolor_sit_amet_consectetur_adipiscing_elit_sed_do_eiusmod_tempor_incididunt_ut_labore_et_dolore_magna_aliqua_Ut_enim_ad_minim_veniam_quis_nostrud_exercitation_ullamco_laboris_nisi_ut_aliquip_ex_ea_commodo_consequat_Duis_aute_iru" + }, + { + "name": "fact_order", + "fullyQualifiedName": "sample_data.shopify.fact_order", + "description": "The orders table contains information about each order in your store. Although this table is good for generating order lists and joining with the dim_customer, use the sales table instead for computing financial or other metrics.", + "version": 0.1, + "updatedAt": 1638354087730, + "updatedBy": "anonymous", + "href": "http://localhost:8585/api/v1/tables/6bd37162-1eb2-4c22-88ef-aedb7bf35d23", + "tableType": "Regular", + "columns": [ + { + "name": "order_id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Unique numeric identifier for the order across Shopify stores. In your Shopify admin, this ID is used internally. Most merchants are familiar with the other ID that appears on orders in the Shopify admin. This ID can be found in the Name column.", + "fullyQualifiedName": "sample_data.shopify.fact_order.order_id", + "tags": [], + "constraint": "PRIMARY_KEY", + "ordinalPosition": 1 + }, + { + "name": "api_client_id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "The ID of the API client that called the Shopify API. This column is a foreign key reference to the api_client_id column in the dim_api_client table.", + "fullyQualifiedName": "sample_data.shopify.fact_order.api_client_id", + "tags": [], + "ordinalPosition": 2 + }, + { + "name": "billing_address_id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "fullyQualifiedName": "sample_data.shopify.fact_order.billing_address_id", + "tags": [], + "ordinalPosition": 3 + }, + { + "name": "customer_id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "The ID of the customer. This column is a foreign key reference to the customer_id column in the dim_customer table.", + "fullyQualifiedName": "sample_data.shopify.fact_order.customer_id", + "tags": [], + "ordinalPosition": 4 + }, + { + "name": "location_id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "fullyQualifiedName": "sample_data.shopify.fact_order.location_id", + "tags": [], + "ordinalPosition": 5 + }, + { + "name": "shipping_address_id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "fullyQualifiedName": "sample_data.shopify.fact_order.shipping_address_id", + "tags": [], + "ordinalPosition": 6 + }, + { + "name": "shop_id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "The ID of the store. This column is a foreign key reference to the shop_id column in the dim.shop table.", + "fullyQualifiedName": "sample_data.shopify.fact_order.shop_id", + "tags": [], + "ordinalPosition": 7 + }, + { + "name": "user_id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "The ID of the staff member who created the order. This column is a foreign key reference to the ID in the dim_staff table. This column applies to Shopify POS orders and to orders that were converted from draft orders.", + "fullyQualifiedName": "sample_data.shopify.fact_order.user_id", + "tags": [], + "ordinalPosition": 8 + }, + { + "name": "name", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "The identifier of the order that the merchant and customer sees. This is the ID that appears on the order in the Shopify admin. For example, #1001. By default, this identifier is unique to one store. If you have multiple stores, then use the order_id column to guarantee uniqueness across multiple stores.", + "fullyQualifiedName": "sample_data.shopify.fact_order.name", + "tags": [], + "ordinalPosition": 9 + }, + { + "name": "total_price", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "The total price of the order, including shipping and taxes. This column includes gift card sales, but does not include returns. This value may not be accurate for API-imported orders. Do not use this column for financial calculations. Instead, use the total_price column in the sales table.", + "fullyQualifiedName": "sample_data.shopify.fact_order.total_price", + "tags": [], + "ordinalPosition": 10 + }, + { + "name": "discount_code", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "The discount code that was applied to the order.", + "fullyQualifiedName": "sample_data.shopify.fact_order.discount_code", + "tags": [], + "ordinalPosition": 11 + }, + { + "name": "processed_at", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "The date (ISO 8601) and time (UTC) when the order was created. The format is YYYY-MM-DD HH:mm:ss (for example, 2016-02-05 17:04:01).", + "fullyQualifiedName": "sample_data.shopify.fact_order.processed_at", + "tags": [], + "ordinalPosition": 12 + }, + { + "name": "canceled_at", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "If the order was canceled, then this column contains the date (ISO 8601) and time (UTC) when the order was canceled. The format is YYYY-MM-DD HH:mm:ss (for example, 2016-02-05 17:04:01).", + "fullyQualifiedName": "sample_data.shopify.fact_order.canceled_at", + "tags": [], + "ordinalPosition": 13 + }, + { + "name": "deleted_at", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "If the order was deleted, then this column contains the date (ISO 8601) and time (UTC) when the order was deleted. The format is YYYY-MM-DD HH:mm:ss (for example, 2016-02-05 17:04:01).", + "fullyQualifiedName": "sample_data.shopify.fact_order.deleted_at", + "tags": [], + "ordinalPosition": 14 + }, + { + "name": "test", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "True when the order is a test order, False otherwise.", + "fullyQualifiedName": "sample_data.shopify.fact_order.test", + "tags": [], + "ordinalPosition": 15 + } + ], + "database": { + "id": "50da1ff8-4e1d-4967-8931-45edbf4dd908", + "type": "database", + "name": "sample_data.ecommerce_db", + "description": "This **mock** database contains tables related to shopify sales and orders with related dimension tables.", + "href": "http://localhost:8585/api/v1/databases/50da1ff8-4e1d-4967-8931-45edbf4dd908" + }, + "tags": [], + "usageSummary": { + "dailyStats": { + "count": 185, + "percentileRank": 73 + }, + "weeklyStats": { + "count": 185, + "percentileRank": 73 + }, + "monthlyStats": { + "count": 185, + "percentileRank": 73 + }, + "date": "2021-12-01" + }, + "followers": [], + "joins": { + "startDate": "2021-11-01", + "dayCount": 30, + "columnJoins": [ + { + "columnName": "shop_id", + "joinedWith": [ + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.order_id", + "joinCount": 60 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_api_client.api_client_id", + "joinCount": 30 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_customer.customer_id", + "joinCount": 25 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_customer.shop_id", + "joinCount": 5 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_staff.user_id", + "joinCount": 20 + } + ] + }, + { + "columnName": "api_client_id", + "joinedWith": [ + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.order_id", + "joinCount": 60 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_api_client.api_client_id", + "joinCount": 30 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_customer.customer_id", + "joinCount": 25 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_customer.shop_id", + "joinCount": 5 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_staff.user_id", + "joinCount": 20 + } + ] + }, + { + "columnName": "user_id", + "joinedWith": [ + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.order_id", + "joinCount": 60 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_api_client.api_client_id", + "joinCount": 30 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_customer.customer_id", + "joinCount": 25 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_customer.shop_id", + "joinCount": 5 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_staff.shop_id", + "joinCount": 20 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_staff.user_id", + "joinCount": 20 + } + ] + }, + { + "columnName": "customer_id", + "joinedWith": [ + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.order_id", + "joinCount": 60 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_api_client.api_client_id", + "joinCount": 30 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_customer.customer_id", + "joinCount": 25 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_customer.shop_id", + "joinCount": 5 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_staff.user_id", + "joinCount": 20 + } + ] + }, + { + "columnName": "order_id", + "joinedWith": [ + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.api_client_id", + "joinCount": 60 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.billing_address_id", + "joinCount": 60 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.customer_id", + "joinCount": 60 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.location_id", + "joinCount": 60 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.order_id", + "joinCount": 60 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.product_id", + "joinCount": 60 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.product_variant_id", + "joinCount": 60 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.shipping_address_id", + "joinCount": 60 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.shop_id", + "joinCount": 60 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.user_id", + "joinCount": 60 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_api_client.api_client_id", + "joinCount": 30 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_customer.customer_id", + "joinCount": 25 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_customer.shop_id", + "joinCount": 5 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_staff.user_id", + "joinCount": 20 + } + ] + } + ] + }, + "sampleData": { + "columns": [ + "order_id", + "api_client_id", + "billing_address_id", + "customer_id", + "location_id", + "shipping_address_id", + "shop_id", + "user_id", + "name", + "total_price", + "discount_code", + "processed_at", + "canceled_at", + "deleted_at", + "test" + ], + "rows": [ + [ + "0019b10f-76f2-42ec-afa2-ad13831183cc", + "31e2ee37-82c2-48fb-8655-b819b5d45d8e", + "7138de47-7b48-4f3e-8ea6-acc76705b932", + "ec72e3b3-03e2-4877-9858-685e28bcccc4", + "698cb99d-c04c-4e87-8f48-3ce0e7d1dfd6", + "c604bda8-13e6-49d3-86b8-7581cdaeabe0", + "32cf9f27-166a-425d-9362-88f58b61a464", + "f16c292e-fb47-46c9-bf35-e3859c3b0732", + "Kevin", + "$4,876.62", + "Type foot sure.", + 1330822026, + 1172638267, + 795158014, + true + ], + [ + "25ff7292-cc68-477e-8d4c-5dc8d70f3a11", + "83733c95-df99-44ef-898b-c1d2eb40ec40", + "ace17e1a-d5c6-4973-8ee9-c3b0eee6c7c6", + "d0b8bdbe-5d0a-4b9e-aa86-b15a74335a9e", + "e51696cb-b1f1-4b94-aa20-a4dbb08faad2", + "99b359d8-9494-4b1b-add3-602f759549c3", + "f9f3ccc7-87ad-4ab2-b9c8-177eb2372d61", + "5fd3b1bb-7bc0-4bb8-9ad3-a22daad6f984", + "James", + "$84.00", + "Wind quickly go.", + 209718384, + 1240669505, + 828006070, + false + ], + [ + "e9205e81-ab8d-4188-b314-f5e588072f02", + "f7be5599-f02c-4b37-9013-592262ddfd81", + "e1bafe7a-0dc1-47cb-9af0-7486d75d57c2", + "99df4b43-d979-4585-a969-bf3b2e2be73e", + "cd1ddb3d-b9d6-42a2-adf3-b97b8d9aa014", + "494d218d-e1b2-44be-a46d-20147d254bc3", + "96f9cf38-068c-4777-ba6d-f1b9199b14bf", + "bd46373f-8850-426f-8407-dd74f38018df", + "Katherine", + "$562.91", + "Low force artist.", + 271367568, + 943058240, + 651331950, + true + ], + [ + "66eb9e24-96cc-4e23-ad94-29c7561e24c0", + "7091069b-bfca-4c48-9b48-2d3a224619e3", + "3f3e9a1c-719c-4dcf-b8cf-52c3ac2d3aff", + "68efcf09-b770-40a7-9c25-b734256e5718", + "5c1ce28a-dd51-4c58-abda-8691a158396c", + "cba01865-f1ef-4518-953b-6c31edf136d2", + "fb1ea029-d6ef-4af1-b380-7659edc69a9f", + "82897b74-9060-43a3-8cf3-751146f55663", + "Mark", + "$64,496.85", + "Address edge.", + 1067626376, + 1365640111, + 693825800, + false + ], + [ + "f673f103-8fe0-4f9d-9caf-87e37a40240d", + "c1eaf748-f5e6-4de3-b425-4ba8701bcb7e", + "cb7487b1-2cc0-45b7-9ecd-872a9b14f691", + "d01bb7ac-6479-4378-8751-c5a69980f4da", + "fc915e2a-cf4b-4328-a9c0-c5bd2d728e9d", + "9e1d850a-0290-49f8-ab16-1135845f2ee4", + "cd87edc9-1453-4896-998c-a29ec6403a0d", + "89cc1d02-b950-412e-836f-19d4301a5ed5", + "Randy", + "$49.17", + "Phone energy.", + 1348762878, + 823081134, + 1229190846, + true + ], + [ + "27e6550c-4020-4600-a727-ad4f73576cbf", + "44f68ded-1d72-45d8-bfea-004e80073ab8", + "d9cae9d1-5ed7-45b3-a39b-d4711f9a6603", + "09861c1f-10ba-473c-9940-b31ac19f1230", + "da671371-75e0-4da7-927c-d2b6b4c7b943", + "df30c033-9398-45b0-b0d8-652c542415b7", + "38909ba2-7ffe-431d-b1f7-36d51c5935a6", + "c319c0da-eda4-4bb8-9065-fbdbc0b1cced", + "Lisa", + "$607.55", + "Rise else several.", + 951870865, + 290834368, + 1535738533, + false + ], + [ + "08455fd6-dfa0-40a4-a132-909da25c9324", + "684c9f92-628d-487f-9d85-ba0d875e12fe", + "16647e52-50ca-41ca-9ec2-a6aa0cbf0d8d", + "26dabc61-fa73-488a-8f7a-accab7a9224a", + "be068572-f178-4e60-bec0-ef99909a15bd", + "795e8c13-8485-455a-a84d-1c68dc8dcb93", + "61ccf99d-9d8d-46c8-9205-b1a9cde9fc0c", + "41b0e3fd-9efc-49a3-a480-d904dc54f1ba", + "Michael", + "$40.46", + "These stand fall.", + 862344559, + 557731044, + 1624851328, + true + ], + [ + "e57aacae-2116-4a4b-9b78-87a9768e1f82", + "3ba05c37-6457-4fc6-b02f-d4bc0a307c23", + "5606d94d-fafb-471b-b0ce-6be16cc3951b", + "af1d5f27-996a-4292-930e-713f9e3ba7a2", + "321fad21-e792-47ce-b082-cbeaf6e2b859", + "74cc53f6-2505-45e0-a2c3-cc54d22be0ad", + "fafce953-69f8-4e3d-a116-9d8e047d2c32", + "90db6a19-df22-430c-b115-9b659682f8af", + "Kelly", + "$587.00", + "Speak forget listen.", + 416779978, + 884711303, + 1628971191, + false + ], + [ + "c2a75d81-eab3-4359-9a2b-f21592b638ba", + "54091f30-4f62-40f7-902e-73ca128b6931", + "ae273897-22f2-454e-b463-958f7051bff1", + "8e199bc3-9c13-433d-99b0-0b878a173d6b", + "6b0276e7-5c70-4346-90ae-478a2a9bbbea", + "c919d0c8-f86c-4646-b840-166d63b8feb4", + "07e53e22-78da-453b-818a-ad78e9a08164", + "6d7d696e-5c5d-4a16-a3b2-4e648425b0ac", + "Candace", + "$575.79", + "Entire able key.", + 436729383, + 498327663, + 1623652014, + false + ], + [ + "5a2ebb24-8895-4697-b0d0-254b21ede831", + "5702d9e7-e448-4297-b9bd-3bfae602d04a", + "92e42382-3079-4ed4-a656-2b0745a70de2", + "5a25fbd1-0756-4a1c-aa0f-337ae309d8ea", + "21c9b38a-71b2-44bf-96b3-00b7aa12f280", + "8348352b-c34f-455a-9882-b4d6522be2ae", + "b8929ff7-d5a4-400c-ba55-5aebb1b6a986", + "6991b755-de3a-4028-af41-dd2acf30891c", + "Patrick", + "$85.62", + "Family agency.", + 468971003, + 193560193, + 1418575416, + false + ], + [ + "d78c8ab3-fa7e-482d-b8b6-62db339c9f26", + "39bc6843-3203-4149-9ba5-808fdee24cdb", + "38ab5990-2504-4955-a52a-be932fdf168b", + "2e086c6e-b064-4b7e-a499-8e82b404e8d8", + "25caac5f-0da8-4b8b-bbc4-98894a8a5904", + "18470996-56f2-417c-b8e1-b45feeba8a64", + "8255cd30-2055-414b-a859-02ae9975206d", + "5fa40c06-a767-4df0-bcea-7ec71a325006", + "Joshua", + "$5,839.64", + "Into mention city.", + 1110815783, + 1407146953, + 663939071, + false + ], + [ + "d5f698a6-2325-4519-b05c-39f78a1859a5", + "e02a5f14-2d0e-4ed3-be7b-df16cf53b7cf", + "cd9394e2-d0b5-4b79-979e-88668d60eadf", + "9315fc61-0155-4292-9c51-d991cd15795d", + "911d9455-b858-4c01-8b51-3fb92ed6fbf9", + "49696d0e-b523-477b-a4c0-dac56a56ac42", + "6bd8d0af-f08a-4f95-90e5-2dabf204b31a", + "2bba2732-5040-4077-a083-b36c507978f0", + "Daniel", + "$6,173.56", + "Positive car.", + 844476823, + 1394511954, + 533633929, + false + ], + [ + "cee67dc3-1200-46e3-88fa-54c463d72883", + "870b09cb-8169-43ec-83c0-d278cea3c4b3", + "77da90c4-ec2a-459f-a3df-d0b59c3ab77a", + "9770725b-2ac8-489c-9454-3dedbf502301", + "cc01dae2-efe1-4bfb-b900-e035f46558e7", + "185e7959-acbf-4b8c-93c0-5be199f6a866", + "d03ca4a5-e7df-41a0-868b-5239b939878d", + "656bb299-8757-4f45-9da6-3c9e743007a9", + "Gregory", + "$37.33", + "Use according agree.", + 773396054, + 1498285731, + 944616094, + true + ], + [ + "00b468d8-50b1-47fc-92bb-86af95661fbf", + "cad12cb3-eddb-42c3-9ee2-f4cbf9fdc336", + "7738dd75-b6c1-4a66-b6cc-256ada084b7e", + "b59dc589-af12-494c-a81a-b60d776adb5b", + "0417ef13-ee1e-4805-93cd-59e7949cb7eb", + "b09f7852-cf4f-4f9c-a603-061747a1f8c9", + "31dc6f7b-eb02-4755-b37d-f39a42f5fc86", + "20a8da7d-ee2c-4050-a998-560ce89eedea", + "Sandra", + "$93.13", + "Owner boy question.", + 820444532, + 1113721739, + 688566671, + true + ], + [ + "92ab3cf1-f9c3-4956-8a0e-5204589d74d2", + "a2df0411-db4f-473c-be4c-c2fa28ff62b7", + "22513b1f-70b9-4565-b33a-95a7df9f24fb", + "097f8098-51c8-4c6f-9f14-11e763472dc1", + "b724183e-c91d-410e-9a26-a86402127d7f", + "86bf8e15-88bc-4fd4-8b13-f700c6c15b2b", + "429780e1-4f9e-4e9d-9024-bea9df3f896e", + "0ae0e172-ce7e-486f-849a-d7bdbc4abbe6", + "Alexandra", + "$734.93", + "Animal account.", + 757022691, + 1167174991, + 904906980, + true + ], + [ + "3ca514d4-df1d-4887-9e35-be54eb0b8a3c", + "eed1c95d-dabd-48a4-b838-aa8d702accd2", + "4f369e3e-a48d-43fa-a7d1-ac532e2683b1", + "60dae650-7e1a-4619-a958-f140dc10e7e7", + "c83741ba-2023-4143-b085-a99c27b0b842", + "2ee80cba-aa8a-46df-bd7a-2d930c831f70", + "2d7e9eec-801e-4033-8a82-9198cbec7507", + "4bac2964-cf88-4ba0-83fd-d9b7a8422d67", + "Cynthia", + "$31,495.27", + "Office course food.", + 386384756, + 580520471, + 693179450, + false + ], + [ + "15eb04ae-d3a3-4a32-8e60-325367d62d16", + "3d8ee72a-f31c-4462-8933-858168761bd9", + "902649e0-3cbb-41f3-b3cb-60f5d46f166e", + "0ed471bb-680d-4af8-aa71-1088527b8836", + "0faffa3f-b644-440c-93a0-bf4205b81e1c", + "f1bf3efc-14c6-4f1a-96a7-6fa31a5dfdd1", + "ec1d5846-fa8d-4a15-b2e5-a7e54eed2884", + "e186202a-add7-4228-a64e-1f49ae3326ff", + "Michelle", + "$1,731.66", + "Indeed whatever.", + 46505037, + 757140056, + 835637940, + true + ], + [ + "166de01e-08d7-4a1a-ab86-42bae8b81e30", + "55095bb0-e6bb-4939-8804-32be1690b6d5", + "77465240-29fb-4a9a-9b6e-a637df41be5d", + "1bbf0b9c-6f5d-48ae-a000-63e5c3fd2780", + "3e3150ca-295a-4d92-a22c-99107964f6c0", + "96a94f44-746f-4019-801f-f2dc76fc10d9", + "e5c65552-ea5b-479d-b45b-e74a25cda105", + "1d6018bd-cb73-4d5a-ac2b-0270afe74a48", + "Samantha", + "$74,181.42", + "Feeling along.", + 1461218241, + 564414629, + 313737510, + false + ], + [ + "9f24ef9a-44a9-4022-a768-d6a161a3350b", + "056476bb-b06a-4854-a72d-833a36e02391", + "97d2cdda-579b-4311-8d63-79b38da31495", + "c0a7136c-9e7e-4643-a553-c045f57ab9a9", + "27ceefce-d16c-4a6e-b6ed-702548fa2040", + "6ccc3654-10de-4753-8d51-aa4cb5984005", + "0f1cceaf-bfe8-484a-bfcd-7c3d178fbc41", + "4d309625-4995-4492-9cbd-0e8c0d0826fb", + "Holly", + "$485.16", + "Fall song well.", + 38327487, + 699788905, + 370739973, + false + ], + [ + "6d7ec565-83f4-4b10-938e-3febe38aa2db", + "269800a0-3591-4052-9695-ab46fb5c6c42", + "f0d1ecfa-e835-418e-8d35-30dbff8cc0f6", + "6ed4be68-e918-4b44-a93b-b45ee9e6cdb8", + "1ab105c7-c798-45ae-b7b7-fa10e9820064", + "045458ea-f015-47a1-8d63-558ab4671484", + "931b5d89-dc5a-4def-80ea-772a231f4ac4", + "432329a9-bf35-48a6-8ff5-27cd34d29ecb", + "Jacqueline", + "$24,503.28", + "Doctor leg itself.", + 34548489, + 199179362, + 520165416, + true + ], + [ + "4dc2cb1b-aed7-4595-a84b-f7c8aa15eb34", + "ef5bfa69-f7d6-4c62-af36-9b0ac7878a9c", + "a7a7758a-ad69-4af4-bcc9-23a57a09b31d", + "2c2de154-02bc-4a1e-a32d-3f798a43ad34", + "af3a90aa-fe51-44d9-867b-7315e601c41c", + "eb77e3c7-3ea8-4d40-98de-1b5c675d58bb", + "209d0d33-8629-4fd5-a0a2-9d611251d8b3", + "8129ba04-2e75-4141-ae22-c30ac09dbe83", + "Douglas", + "$811.53", + "Great nor weight.", + 544327693, + 1513681008, + 1411054372, + false + ], + [ + "6167c236-88d8-4e56-b7d6-eb5f3e8687df", + "2bf84799-b67f-4846-bde0-696173193140", + "1113e259-83ac-468e-a4ad-d63d32fc137a", + "8cde66c8-e243-404b-84b6-7767be5bd833", + "6024e8d4-55c5-44e0-ae50-16672b012f01", + "22b3024d-62a4-4da3-9a77-4f713e4ba572", + "fdf34eb7-c7b4-4fd7-9ba0-1d96941161d8", + "df6bd2d5-5647-466a-8785-d31787c048bb", + "Penny", + "$68.03", + "Respond choice.", + 1109476113, + 587958791, + 1034320844, + false + ], + [ + "93e0dd03-4804-4388-a5af-74840d70909b", + "5f2daa2e-8ebe-43ff-9721-550b0a56b5d8", + "8df9927d-fe77-4d0d-908b-eb2f9a09bdbb", + "21bd3f45-4fb4-43bb-a6f2-a1692c074641", + "547322cd-e102-4e98-8ae3-1e85e28f7933", + "cb642707-30ae-4bb1-991b-48d910d74769", + "98e55302-6b0f-408f-93df-9fb2ad6119ec", + "ba2fb921-9d27-4ac1-815b-96eedc2f5f96", + "Jennifer", + "$2.67", + "Feeling outside.", + 487057894, + 1087022588, + 66620370, + false + ], + [ + "eede5d50-93f1-4eff-a3b0-89abbedd6363", + "6788643e-e79d-425a-a6db-7ac50fbc2fc5", + "8466cd85-e7d7-4b09-94c6-c71364b38338", + "f3e9237d-12a9-4361-ac2a-6a7b0334bbf2", + "ff9ab501-407c-4d9c-a948-21f6a8719943", + "051b9e8a-c23d-4c56-ae41-0b75dfed8f49", + "6ace4312-2a16-4115-872b-269e5a4320b9", + "bb2c3606-6787-4e12-b2a5-31eb4058274f", + "Kevin", + "$281.87", + "Court indeed same.", + 1134763669, + 408896593, + 1571008614, + true + ], + [ + "98e94513-a735-4a52-9da2-df4c710df091", + "e1c86dea-7154-4421-8d72-62e9e83ee708", + "4b917b7a-19c3-48bd-b5ae-5b253aed0c9c", + "3743affb-8221-475f-9055-1c0a2b89757b", + "c2e3b4d5-afe9-4327-aa65-cacd1c582d3c", + "ce61c793-8f2b-492f-9ddf-f59cb041a311", + "e2ef459b-2edc-45a5-a808-177076c99e39", + "4bf6a6eb-de2c-4028-88d8-8117392f6e20", + "Eric", + "$44.14", + "Training once fall.", + 166643348, + 266519710, + 1080831241, + false + ] + ] + }, + "databaseSchema": { + "id": "d7be1e2c-b3dc-11ec-b909-0242ac120002", + "type": "databaseSchema", + "name": "sample_data.ecommerce_db.shopify", + "description": "This **mock** Schema contains tables related to shopify sales and orders with related dimension tables.", + "href": "http://localhost:8585/api/v1/databaseSchemas/d7be1e2c-b3dc-11ec-b909-0242ac120002" + }, + "sourceUrl": "http://localhost:8080/fact_order" + }, + { + "name": "fact_sale", + "fullyQualifiedName": "sample_data.shopify.fact_sale", + "description": "The fact table captures the value of products sold or returned, as well as the values of other charges such as taxes and shipping costs. The sales table contains one row per order line item, one row per returned line item, and one row per shipping charge. Use this table when you need financial metrics.", + "version": 0.1, + "updatedAt": 1638354087762, + "updatedBy": "anonymous", + "href": "http://localhost:8585/api/v1/tables/d16bcfa1-a63b-4f06-b042-9dd39a8c429b", + "tableType": "Regular", + "columns": [ + { + "name": "sale_id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "ID of the sale row. This column is the primary key for this table.", + "fullyQualifiedName": "sample_data.shopify.fact_sale.sale_id", + "tags": [], + "constraint": "PRIMARY_KEY", + "ordinalPosition": 1 + }, + { + "name": "billing_address_id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "ID of the billing address of the customer. This column is a foreign key reference to the address_id column in the dim_address table.", + "fullyQualifiedName": "sample_data.shopify.fact_sale.billing_address_id", + "tags": [], + "ordinalPosition": 2 + }, + { + "name": "api_client_id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "ID of the API client from which the adjustment was made. This column is a foreign key reference to the ID of the API client in the dim_api_client table.", + "fullyQualifiedName": "sample_data.shopify.fact_sale.api_client_id", + "tags": [], + "ordinalPosition": 3 + }, + { + "name": "customer_id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "ID of the customer. This column is a foreign key reference to the customer_id column in the dim_customer table.", + "fullyQualifiedName": "sample_data.shopify.fact_sale.customer_id", + "tags": [], + "ordinalPosition": 4 + }, + { + "name": "line_item_id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "ID of the line item. This column is a foreign key reference to line_item_id column in the fact_line_item table. When the row describes a shipping charge, there is no line_item_id value.", + "fullyQualifiedName": "sample_data.shopify.fact_sale.line_item_id", + "tags": [], + "ordinalPosition": 5 + }, + { + "name": "location_id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "ID of the Shopify POS location. This column is a foreign key reference to the location_id column in the dim_location table. When the order is not a POS order, then there is no location ID.", + "fullyQualifiedName": "sample_data.shopify.fact_sale.location_id", + "tags": [], + "ordinalPosition": 6 + }, + { + "name": "order_id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "ID of the order. This column is a foreign key reference to order_id column in the fact_order table.", + "fullyQualifiedName": "sample_data.shopify.fact_sale.order_id", + "tags": [], + "ordinalPosition": 7 + }, + { + "name": "product_id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "ID of the product sold or returned. This column is a foreign key reference to the product_id column in the dim.product table. When the line item describes a shipping charge, then there is no product ID.", + "fullyQualifiedName": "sample_data.shopify.fact_sale.product_id", + "tags": [], + "ordinalPosition": 8 + }, + { + "name": "product_variant_id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "ID of the product variant sold or returned. This column is a foreign key reference to the product_variant_id column in the dim.product_variant table. When the row describes a shipping charge, then there is no product variant ID.", + "fullyQualifiedName": "sample_data.shopify.fact_sale.product_variant_id", + "tags": [], + "ordinalPosition": 9 + }, + { + "name": "shipping_address_id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "ID of the shipping address of the customer who made the order. This column is a foreign key reference to the address_id column in the dim_address table. Some sales, such as those made using Shopify POS, do not have a customer's shipping address associated with them.", + "fullyQualifiedName": "sample_data.shopify.fact_sale.shipping_address_id", + "tags": [], + "ordinalPosition": 10 + }, + { + "name": "shop_id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "ID of your store. This column is a foreign key reference to the shop_id column in the dim.shop table.", + "fullyQualifiedName": "sample_data.shopify.fact_sale.shop_id", + "tags": [], + "ordinalPosition": 11 + }, + { + "name": "user_id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "ID of the staff member who is associated with the sale. This column is a foreign key reference to the user_id column in the dim_staff table. Not all sales have a staff member associated with them.", + "fullyQualifiedName": "sample_data.shopify.fact_sale.user_id", + "tags": [], + "ordinalPosition": 12 + }, + { + "name": "gross_sales", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Price of the product purchased multiplied by the quantity ordered. This value is formatted in the currency of your store. If the product purchased is a gift card, then 0 is returned because gift cards are not included in gross sales calculations. The gross sales amount also does not include any discounts, returns, taxes or shipping charges. The gross_sales column is calculated using the following formula: product (excluding gift cards) price x quantity (before taxes, shipping, discounts, and returns). Canceled, pending, and unpaid orders will have a value for this column, but test and deleted orders will not.", + "fullyQualifiedName": "sample_data.shopify.fact_sale.gross_sales", + "tags": [], + "ordinalPosition": 13 + }, + { + "name": "net_sales", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Net sales of the line item. The value of the line item's gross sales minus any discounts minus the value of any returned items. Net sales does not include taxes or shipping costs, or the sale of gift cards. If the line item contains gift cards, then the field contains 0. Net sales is calculated by using the following formula: gross_sales - discounts - returns.", + "fullyQualifiedName": "sample_data.shopify.fact_sale.net_sales", + "tags": [], + "ordinalPosition": 14 + }, + { + "name": "total_sales", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Total sales of the line item. This value does not include gift cards. Total sales is calculated using the following formula: net_sales + shipping + taxes.", + "fullyQualifiedName": "sample_data.shopify.fact_sale.total_sales", + "tags": [], + "ordinalPosition": 15 + }, + { + "name": "returns", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Value of the products returned by the customer regardless of the amount that the merchant actually receives from the customer. This value is usually a negative number, but it can also be zero (for example, if the item being returned was a free gift with purchase). Taxes and shipping charges are not included. The returns amount is calculated by using the following formula: 0 - (product variant price * quantity) + discounts.", + "fullyQualifiedName": "sample_data.shopify.fact_sale.returns", + "tags": [], + "ordinalPosition": 16 + }, + { + "name": "discounts", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Total amount discounted from the line item. The discounts column contains the sum of any line item discounts plus the line item's portion of any order-level discount. The value of the discount is either negative or zero. The discounts column is calculated using the following formula: line item discount + order level discount share.", + "fullyQualifiedName": "sample_data.shopify.fact_sale.discounts", + "tags": [], + "ordinalPosition": 17 + }, + { + "name": "shipping", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "When the line item is for a shipping charge, this column contains the amount charged for shipping the order or the amount of the shipping charge that is refunded when an item is returned. This value is positive for a shipping charge, and negative for the value returned. Any applicable taxes charged for shipping costs are recorded in the Taxes column. This column is calculated using the following formula: shipping charge or refund - shipping discount..", + "fullyQualifiedName": "sample_data.shopify.fact_sale.shipping", + "tags": [], + "ordinalPosition": 18 + }, + { + "name": "taxes", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "The amount of taxes charged or returned for the line item. This value will be positive for a sale and negative for a return. Tax on an order is split proportionally amongst the line items to which it applies. Gift cards are not taxed. If multiple taxes are applied (for example, State and City sales taxes), then this column contains the sum of those tax amounts. This column can include taxes charged on shipping, if they are applicable.", + "fullyQualifiedName": "sample_data.shopify.fact_sale.taxes", + "tags": [], + "ordinalPosition": 19 + }, + { + "name": "gift_card_discounts", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Total amount discounted from gift card sales. For example, if a $50 gift card is sold at a $10 discount for $40, then this column will contain $10.", + "fullyQualifiedName": "sample_data.shopify.fact_sale.gift_card_discounts", + "tags": [], + "ordinalPosition": 20 + }, + { + "name": "gift_card_gross_sales", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Total face value of gift cards sold. For example, a $50 gift card is sold at a $10 discount for $40. In this example, the gift_card_gross_sales column will contain $50. Use this column to measure the increase in liabilities due to gift cards being issued (even though this value will not balance against the actual payments that you receive).", + "fullyQualifiedName": "sample_data.shopify.fact_sale.gift_card_gross_sales", + "tags": [], + "ordinalPosition": 21 + }, + { + "name": "gift_cards_issued", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Net amount that the gift cards sold for, after discounts. For example, for a $50 gift card sold at a $10 discount for $40, this column will contain $40. Use this column to balance against the payments that you receive.", + "fullyQualifiedName": "sample_data.shopify.fact_sale.gift_cards_issued", + "tags": [], + "ordinalPosition": 22 + }, + { + "name": "quantity", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Quantity of the items sold or returned. This value will be negative for returns and zero for line items that contain shipping charges.", + "fullyQualifiedName": "sample_data.shopify.fact_sale.quantity", + "tags": [], + "ordinalPosition": 23 + }, + { + "name": "currency", + "dataType": "VARCHAR", + "dataLength": 200, + "dataTypeDisplay": "varchar", + "description": "Three-letter ISO currency code of the payment. For example, USD is the code for United States Dollar. This is the currency of the store at the time of the order.", + "fullyQualifiedName": "sample_data.shopify.fact_sale.currency", + "tags": [], + "ordinalPosition": 24 + }, + { + "name": "is_deleted", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Contains 1 when the sale's order was deleted, otherwise contains 0.", + "fullyQualifiedName": "sample_data.shopify.fact_sale.is_deleted", + "tags": [], + "ordinalPosition": 25 + }, + { + "name": "test", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Whether the sale is a test order. Returns True when the sale is a test sale. See Test orders.", + "fullyQualifiedName": "sample_data.shopify.fact_sale.test", + "tags": [], + "ordinalPosition": 26 + }, + { + "name": "happened_at", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Date (ISO 8601) and time (UTC) when the order was created for a sale or when the order was returned.", + "fullyQualifiedName": "sample_data.shopify.fact_sale.happened_at", + "tags": [], + "ordinalPosition": 27 + } + ], + "database": { + "id": "50da1ff8-4e1d-4967-8931-45edbf4dd908", + "type": "database", + "name": "sample_data.ecommerce_db", + "description": "This **mock** database contains tables related to shopify sales and orders with related dimension tables.", + "href": "http://localhost:8585/api/v1/databases/50da1ff8-4e1d-4967-8931-45edbf4dd908" + }, + "tags": [], + "usageSummary": { + "dailyStats": { + "count": 400, + "percentileRank": 91 + }, + "weeklyStats": { + "count": 400, + "percentileRank": 91 + }, + "monthlyStats": { + "count": 400, + "percentileRank": 91 + }, + "date": "2021-12-01" + }, + "followers": [], + "joins": { + "startDate": "2021-11-01", + "dayCount": 30, + "columnJoins": [ + { + "columnName": "billing_address_id", + "joinedWith": [ + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_address.address_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_api_client.api_client_id", + "joinCount": 55 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_customer.customer_id", + "joinCount": 45 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_location.location_id", + "joinCount": 50 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.product\".product_id", + "joinCount": 40 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.shop\".shop_id", + "joinCount": 40 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_staff.user_id", + "joinCount": 20 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_order.order_id", + "joinCount": 60 + } + ] + }, + { + "columnName": "shop_id", + "joinedWith": [ + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_address.address_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_api_client.api_client_id", + "joinCount": 55 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_customer.customer_id", + "joinCount": 45 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_location.location_id", + "joinCount": 50 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.product\".product_id", + "joinCount": 40 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.shop\".shop_id", + "joinCount": 40 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_staff.user_id", + "joinCount": 20 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_order.order_id", + "joinCount": 60 + } + ] + }, + { + "columnName": "line_item_id", + "joinedWith": [ + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_line_item:line_item_id", + "joinCount": 20 + } + ] + }, + { + "columnName": "shipping_address_id", + "joinedWith": [ + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_address.address_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_api_client.api_client_id", + "joinCount": 55 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_customer.customer_id", + "joinCount": 45 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_location.location_id", + "joinCount": 50 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.product\".product_id", + "joinCount": 40 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.shop\".shop_id", + "joinCount": 40 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_staff.user_id", + "joinCount": 20 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_order.order_id", + "joinCount": 60 + } + ] + }, + { + "columnName": "api_client_id", + "joinedWith": [ + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_address.address_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_api_client.api_client_id", + "joinCount": 55 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_customer.customer_id", + "joinCount": 45 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_location.location_id", + "joinCount": 50 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.product\".product_id", + "joinCount": 40 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.shop\".shop_id", + "joinCount": 40 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_staff.user_id", + "joinCount": 20 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_order.order_id", + "joinCount": 60 + } + ] + }, + { + "columnName": "user_id", + "joinedWith": [ + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_address.address_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_api_client.api_client_id", + "joinCount": 55 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_customer.customer_id", + "joinCount": 45 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_location.location_id", + "joinCount": 50 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.product\".product_id", + "joinCount": 40 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.shop\".shop_id", + "joinCount": 40 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_staff.shop_id", + "joinCount": 20 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_staff.user_id", + "joinCount": 20 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_order.order_id", + "joinCount": 60 + } + ] + }, + { + "columnName": "product_id", + "joinedWith": [ + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_address.address_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_api_client.api_client_id", + "joinCount": 55 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_customer.customer_id", + "joinCount": 45 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_location.location_id", + "joinCount": 50 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.product\".product_id", + "joinCount": 40 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.shop\".shop_id", + "joinCount": 40 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_staff.user_id", + "joinCount": 20 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_order.order_id", + "joinCount": 60 + } + ] + }, + { + "columnName": "product_variant_id", + "joinedWith": [ + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_address.address_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_api_client.api_client_id", + "joinCount": 55 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_customer.customer_id", + "joinCount": 45 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_location.location_id", + "joinCount": 50 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.product\".product_id", + "joinCount": 40 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.shop\".shop_id", + "joinCount": 40 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_staff.user_id", + "joinCount": 20 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_order.order_id", + "joinCount": 60 + } + ] + }, + { + "columnName": "customer_id", + "joinedWith": [ + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_address.address_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_api_client.api_client_id", + "joinCount": 55 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_customer.customer_id", + "joinCount": 45 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_customer.shop_id", + "joinCount": 45 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_location.location_id", + "joinCount": 50 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.product\".product_id", + "joinCount": 40 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.shop\".shop_id", + "joinCount": 40 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_staff.user_id", + "joinCount": 20 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_order.order_id", + "joinCount": 60 + } + ] + }, + { + "columnName": "order_id", + "joinedWith": [ + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_address.address_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_api_client.api_client_id", + "joinCount": 55 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_customer.customer_id", + "joinCount": 45 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_location.location_id", + "joinCount": 50 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.product\".product_id", + "joinCount": 40 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.shop\".shop_id", + "joinCount": 40 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_staff.user_id", + "joinCount": 20 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_order.api_client_id", + "joinCount": 60 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_order.customer_id", + "joinCount": 60 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_order.order_id", + "joinCount": 60 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_order.shop_id", + "joinCount": 60 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_order.user_id", + "joinCount": 60 + } + ] + }, + { + "columnName": "location_id", + "joinedWith": [ + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_address.address_id", + "joinCount": 49 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_api_client.api_client_id", + "joinCount": 55 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_customer.customer_id", + "joinCount": 45 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_location.location_id", + "joinCount": 50 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.product\".product_id", + "joinCount": 40 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.shop\".shop_id", + "joinCount": 40 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_staff.user_id", + "joinCount": 20 + }, + { + "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_order.order_id", + "joinCount": 60 + } + ] + } + ] + }, + "sampleData": { + "columns": [ + "sale_id", + "billing_address_id", + "api_client_id", + "customer_id", + "line_item_id", + "location_id", + "order_id", + "product_id", + "product_variant_id", + "shipping_address_id", + "shop_id", + "user_id", + "gross_sales", + "net_sales", + "total_sales", + "returns", + "discounts", + "shipping", + "taxes", + "gift_card_discounts", + "gift_card_gross_sales", + "gift_cards_issued", + "quantity", + "currency", + "is_deleted", + "test", + "happened_at" + ], + "rows": [ + [ + "2b3c04be-73a4-400f-bad6-a3fa88b26a2d", + "9f502eb9-0455-43d2-99a7-7ab028578674", + "93bad0ce-cff9-4d02-8599-e6eff696ec06", + "5392f3b6-5490-4388-adda-f6a0e8d3b6f1", + "b4a0a627-4caa-44ea-9293-5321e4a9a615", + "3113c34b-4f56-43ef-b2f7-85a1b846b33e", + "cc86d5ed-aaf4-4593-adbf-b012ecd835bd", + "eeeddd3a-378d-4f76-93eb-fe61301fa6eb", + "dc9212a3-9412-4018-b860-6119f932edec", + "509c725c-e864-4b07-a220-cf06a6649eca", + "efb07aef-4188-4e75-81b5-8ac26fe1d6e9", + "ad839ed0-e65b-4bc3-8223-5460d66204e3", + 8231, + 1725, + 106, + 3753, + 7806, + 2792, + 3092, + 8243, + 1418, + 5164, + 3480, + "$46.92", + true, + false, + 284557208 + ], + [ + "8fcae9f7-ae17-4d48-aa59-00e969a06f44", + "4f9c05f2-1fef-4649-bd86-ed9cf3bb2bd0", + "bac3dd4c-d429-4dd7-be53-51b4e27ba176", + "56b9b7bd-2a80-49a5-86ee-b9f3c0bfc3e5", + "c845bf4d-1eb4-47fa-ab83-a36f0e3ed5ae", + "96e01920-05be-46c2-8e32-417461c2e8dc", + "f868cead-99d1-4970-be51-1fb067a95269", + "598c47ff-1e8b-49ca-8fcc-93f2c35b4a69", + "4d05cba7-e7d1-4977-8657-2d88d9b9f4ae", + "546990a0-ffe2-4aab-bd7a-b393af144272", + "0cc3ec68-f212-4790-affd-94f66c3ffddb", + "6139e1cd-5a97-4ab7-bb50-0bca429e0aba", + 9685, + 6667, + 2513, + 6084, + 6759, + 8739, + 797, + 339, + 6306, + 1216, + 8844, + "$2,623.03", + false, + false, + 1165807870 + ], + [ + "936c6b79-6cbc-462d-b743-69acf9566bfc", + "a4ad788d-b510-4c97-8d44-ef75f91a754a", + "ba19e3ea-a877-4b10-86dd-00b75f96695f", + "a76458e9-b7a4-4c37-902e-dfe5a6e1da66", + "264a1986-4b8b-4218-a459-0538a1317327", + "aafa7ecf-9ac0-4250-a920-26b8ac34c6af", + "16be2745-fe1b-47b9-b6f3-9bcee6b5c73c", + "4984879e-30d8-4efe-93a8-a6b92da9e381", + "54631da9-abef-4380-bb04-e52af3dbda2d", + "abfe4536-80b3-41ec-a9c1-95e3262895a1", + "2021fc9e-ef78-4e02-a150-75f7465354bc", + "c6aa8fe3-eba8-40d9-a59d-d90a8c534b21", + 1272, + 234, + 1070, + 4010, + 3001, + 7753, + 8539, + 7659, + 3972, + 3286, + 2301, + "$7.95", + false, + true, + 1604012068 + ], + [ + "a53309ce-f22e-4b4c-8e62-e1285cd698f4", + "583cd55c-9e84-4c94-bd6a-50b44012f8cd", + "d3c53275-3e80-4a2e-bc90-4286031120b2", + "34808169-7cc0-4c94-b628-522c7bcd5e0e", + "89735063-8b40-404b-98de-971b94b25af3", + "10b09906-dfd7-4964-aae8-b494d2b3c74c", + "e2d06093-b366-4d9c-87f4-4f00ec8b8c32", + "9822f269-e7b7-4f64-a844-4fe585eb1dac", + "2c0e857a-d732-49b7-96a0-4859a97b1731", + "ec880ad7-6fec-4ffa-b0a5-e25c0832e43c", + "9c3e947f-2892-4db3-9634-c07f03771969", + "794176f1-1e1c-47ac-a386-81b1548edad6", + 299, + 3495, + 5647, + 6889, + 107, + 9414, + 9714, + 2413, + 8378, + 4747, + 5553, + "$79,363.75", + false, + false, + 299334621 + ], + [ + "a8399308-f107-4d53-b307-a5f5abb41a47", + "d3bafb8c-8638-4dfe-b5e4-f431395b0384", + "ae1bdefa-946d-4ab5-9690-7e3cb15bedf6", + "75137797-5189-407a-b94c-91d82935445c", + "10580d7d-9a8a-4c86-9a58-27e065cf519c", + "cbf77ea6-cefb-45f3-bbdd-0ef72873474c", + "ee10a5a2-b424-4515-b8af-59352a1bdb20", + "dc08c325-3545-4ec4-9f66-fdcbe0a3c492", + "51b87d0e-194b-44c0-800b-b4cd133998ac", + "8212d97b-2cb4-4b02-89b1-6f4bf0eb06b0", + "3ecfd126-266a-4989-bd00-5821e8a04baa", + "46aac7a8-011d-4549-88dc-6232de00d0ea", + 1576, + 6465, + 9893, + 5649, + 8218, + 398, + 4581, + 1324, + 6938, + 5328, + 9213, + "$62,247.04", + false, + false, + 1448369157 + ], + [ + "6e352cb7-1e09-403b-9a6a-356102224fdd", + "79963a33-01f2-43f0-9a54-f495bfafcbfd", + "64a70aff-5c07-467e-90ac-422aa8cec80c", + "26d67968-4777-4b57-b331-deb8f7e6de72", + "3f66c791-8b67-4ee5-991c-538f6a715b38", + "dfe713a2-5218-4ac7-b959-22d8aca0f57c", + "dfb14016-7b2e-4565-9df0-c632923cdfa3", + "187bcb21-b94c-4502-90a4-007cebd1fdbf", + "299b5e9e-ca57-4ceb-98c4-334c5c8d5008", + "14a0914f-2447-49cc-96dd-34b72c8af541", + "e9307e60-3110-41cd-b43c-4d1829701e1d", + "3e50c0f1-589e-4d2b-ba37-ade60e926ac2", + 9592, + 5431, + 4444, + 6037, + 5351, + 4806, + 8592, + 2378, + 6936, + 9134, + 5586, + "$935.60", + false, + true, + 1355810610 + ], + [ + "9d863a14-a8eb-4273-a71b-438e0a6463b9", + "83445e17-4c54-483a-b9ce-b93daf1e2428", + "96531125-8159-4f53-bc5b-ab6b73a390bd", + "0a914623-08b3-4627-aeed-096d2d3e7857", + "21f219fa-a1a1-44c7-8bdc-2c794321051c", + "c7ed7c7b-e3e9-407f-9ca8-52762fb9634a", + "afdf8182-e24c-40b1-84e3-b3900bf27fc8", + "5d188a80-6575-4675-9aef-2785ddc1859a", + "1cda1f3c-3480-41c4-bc85-791c8815bc26", + "f85863d9-96c2-494f-881e-6b169367d2ce", + "8d182f00-84a0-4376-b4e1-39594ab28654", + "d2be77f4-c1fa-4f36-a2b0-4d8546094408", + 9000, + 5292, + 5760, + 8378, + 3333, + 9404, + 7258, + 773, + 8982, + 2613, + 8005, + "$3.54", + false, + false, + 1098380999 + ], + [ + "61d859cf-b4a2-4e15-8ca9-3a39b90cfcae", + "5e097c8d-b850-4a7c-a3ba-d042ea23f5ee", + "f6f8e533-49f4-4762-bfe3-89a5ac75a8c5", + "ad4a9a50-55b7-4058-a3a7-5cdcaa19fb7e", + "7ebc82c6-790f-4926-9150-7bb731d2555f", + "ad29ab7b-ef22-4b2f-bffc-f5e8e11f54ca", + "6c2af61e-f718-48cf-963e-f0050dc31f38", + "2ef661ec-e80c-40ce-bd82-9da3d323cff8", + "14d77096-93e7-44e0-ac67-8e623c8a756f", + "270ba39c-8b2e-45d7-b02a-1a7abc809086", + "bfe0754d-4761-4e4e-80b0-9a22a1095569", + "f428829c-581f-4efd-a07b-2ac0cfa21ac8", + 5882, + 1748, + 6641, + 2990, + 3310, + 1722, + 2671, + 1155, + 1433, + 5236, + 4526, + "$9,201.71", + false, + true, + 953790452 + ], + [ + "d0816df5-1d9e-4323-91f7-c13ce94f2ca6", + "eec855e3-4326-422f-8896-67c46303b1ba", + "d0828f25-ade4-49f5-9f42-ab845a7f4abf", + "d704320b-9dbd-4d4f-b8e3-2252608663ae", + "1e93fd8b-195d-4c35-8b10-7cd12f8107b9", + "52fa5ea3-2098-490e-9372-f9498954c502", + "7c6b8701-8d31-4bfa-ba8c-f12ecb72614e", + "f638a858-0238-4482-bbf3-3a4bfb1de854", + "2806b9c2-ba75-403f-9dd2-80dfa45f6855", + "3a893e6a-aaed-4927-9b54-2c45affbb26a", + "7e192612-5199-4aee-920f-8c49ad40f5c7", + "7f11d049-b5f7-4e90-9ed6-9d2a901a4c4f", + 8984, + 6145, + 496, + 1217, + 9939, + 5554, + 6502, + 8280, + 4494, + 3572, + 5054, + "$5.88", + false, + true, + 303959178 + ], + [ + "890bf664-8d87-4837-aec8-97a55dd9ff7a", + "e4acba3b-0bf6-4877-b141-6705285219ef", + "fd5f0ee8-b393-4ead-82e5-cded5ad20500", + "a1e08252-0e07-41ae-8d74-216122b66d43", + "0e032f12-fb27-4740-b249-c4b64d719e0a", + "a203daa6-f767-4a45-88cd-476042f3dd2b", + "07eb39c9-add1-409b-9d3c-9dd1b238a29a", + "fe2a18ca-51ca-47a4-a454-129d118161eb", + "8800e830-5002-4dff-a224-f4e596e0fa71", + "79af2b40-8843-44ff-85bd-459ab59b2574", + "274f5dd7-6ffe-44d6-8ecb-6f8807242cfc", + "61ef45a5-5428-41a5-aefe-9ae00a83072a", + 6360, + 6497, + 7353, + 6607, + 3722, + 9038, + 5543, + 7766, + 1889, + 633, + 5121, + "$47.87", + false, + false, + 1039960039 + ], + [ + "5a8499ed-6f72-4dbf-b6b8-7bd6bed694e8", + "27414077-6221-4590-b74b-555788183b28", + "25b09185-52dd-4d5a-991c-165c1748b8fd", + "daec26fc-8af8-4314-a1ce-8a6821e888c5", + "453c114b-0863-4f2c-8e59-47e9e03e0a30", + "0ba608c2-1942-45e7-8186-469384bde17c", + "20a0e41b-a53b-429f-b802-6834949802b2", + "8f23f415-be88-478f-894f-41d194be0d72", + "99ac479e-03a9-4951-9ceb-5248e25501d0", + "7a122c4d-9f7d-4612-89be-26e8f2633384", + "3203ebc8-f040-4a22-8051-53e26d7c75ae", + "2c16205f-3b8f-49d2-8d2e-4eda27090445", + 2267, + 6585, + 2498, + 6670, + 3673, + 28, + 8265, + 4186, + 8002, + 3080, + 929, + "$50.78", + true, + true, + 381526739 + ], + [ + "53d83b72-00a4-401b-b2fd-88ef216cb370", + "7b1d6340-19d7-404a-9bcf-b4391a06975b", + "e9f25e28-5986-407a-bb1a-aca42dd0809a", + "363c1eef-7e00-4b70-9a19-be63bbec2ce3", + "489de0b3-9a11-46dc-b474-7d5196e16bf0", + "5b1f0260-2723-48c4-9125-8885cf296c5f", + "493a2976-e2ca-4f1d-b73e-c3fe45caeef4", + "82b35f15-8e07-4031-bc9e-e1bc2c29376f", + "10ef9479-9503-41c5-85ee-9acee9efac8f", + "834bd950-eff8-4b4d-af76-9260328fd027", + "c930bd9a-462b-46d3-a439-b8698f438020", + "768c2392-70af-437e-9e0b-524cbdeefec1", + 2292, + 2119, + 9645, + 1916, + 3729, + 1024, + 8782, + 3913, + 1945, + 5367, + 3681, + "$68.87", + true, + false, + 1018476339 + ], + [ + "743aedce-c19b-4de6-a3a5-44abe76b631b", + "60fc4181-517e-465c-863e-96682c63a4da", + "20c1ad74-3e3e-43fd-b70e-8d865357f610", + "4f739c5d-ec5e-4a73-8368-07a87b54156a", + "404a8ca0-2ea5-4a50-9710-3f18d22bcbc3", + "df47cd8c-3c29-42db-9e5a-13bbe6d3dcdc", + "415027d7-0068-43b8-b0f3-1c5ed4e6fed1", + "aa92bc72-96bb-40dd-bfff-8e87966adebe", + "c9701d6e-8732-47e9-84bc-6d6f7dd88248", + "791a23d4-2c45-4292-a627-ebf75c744298", + "53223798-8f75-46b0-8b3b-fa12d9a352a8", + "32fea79c-b81e-43c4-91e2-862b1a51c099", + 4879, + 1918, + 3797, + 4178, + 1959, + 1899, + 5322, + 1860, + 4216, + 8385, + 2282, + "$29,275.45", + true, + true, + 286911468 + ], + [ + "6e6a97bf-eb88-41a3-a955-61e094d8a13a", + "1c642fe1-96c8-40f0-9117-9041ca09e99e", + "023ae957-b57b-4117-ac11-638b9908b25f", + "0cbab8d7-e9ce-4643-b737-09aba2d41ce0", + "c8915f98-590f-426a-8625-50aad5769f76", + "1bd71906-c7f6-4d22-a3d5-e8149bc7d7e4", + "208aaf57-8cdd-4118-ac51-f056d651a275", + "1d72eca8-d193-4cd0-8211-dadfe0941525", + "8c1f025b-d8b6-4c11-bba4-d2ad969df182", + "7650b35f-82d6-41c8-96e9-cc8568d73377", + "3568937d-4adc-4a50-8fa2-7e5b4290ee39", + "990c1e00-6c0b-44a2-a708-b37ade17183c", + 540, + 6727, + 7227, + 6665, + 3119, + 935, + 4720, + 6822, + 9858, + 8392, + 1658, + "$3,792.19", + true, + false, + 721743265 + ], + [ + "dc773f73-6bda-4dcf-be72-e973163471d9", + "c5f2d4f0-4f72-470e-a6ca-2e6041f7f697", + "15df4ab0-cee5-49ea-9b3f-29a6e530d089", + "140d6b1e-4845-4b86-a482-1c9f8272092b", + "104d6c75-043e-4e16-891f-eb0586b11c5e", + "d34790c1-b8a3-48ef-969e-f5adcbf61626", + "7daaa9da-7fb6-4889-8bad-76f92bbb4a4b", + "782e22df-7a32-418d-8556-92e019cae26b", + "8577dc80-5cd8-4106-9063-d3b2453793e8", + "a3bde947-a0b1-4568-8413-307156083836", + "11433e85-35c2-4bed-ac63-ac4e0aa6862b", + "4867e7d0-c8f5-42bc-ac52-9dcadc012925", + 5385, + 6449, + 8863, + 9314, + 3756, + 1082, + 685, + 3472, + 4900, + 7137, + 2266, + "$4,157.40", + false, + false, + 573408267 + ], + [ + "69c04e11-d7d4-49b3-8ab7-950265ff9f75", + "06413298-2aca-42ec-82d0-5990710e1721", + "be268375-168e-46bc-9bce-5ce288b35434", + "31ae938b-4b73-47e0-a3eb-f92f1b73db57", + "e63aa99c-7386-4517-8f67-43300e6635f4", + "2ee28606-5b0f-41cd-8c4c-16d13ae3ea02", + "23be1744-540c-4a3a-9be7-62b6fc325201", + "2fccec1a-e7f4-4ece-afd5-7a2a8f6a8df1", + "494575e8-164c-4e15-b07b-ed3c7a5ed4e0", + "ce749e24-a440-4745-874b-bbab0c236ead", + "5e443e05-b176-436c-8d8b-9f7a00098c8c", + "d718c74f-bd0b-4eb4-b4b8-aec7447c1ba6", + 1516, + 9572, + 9670, + 9036, + 4119, + 4095, + 2286, + 64, + 3755, + 2480, + 8931, + "$52,331.57", + true, + true, + 482254965 + ], + [ + "68c07db1-c2f0-4675-8917-5af457bd4a90", + "d9a612e8-87eb-4882-8ed9-840607094ac8", + "7271e44e-ed87-4a4e-b0b7-68e0cebab9f3", + "6939ee3f-a206-4627-a973-8111941815b8", + "9438bacf-067d-4d5b-a33f-9cb252c45ab1", + "e1401d2d-1aa6-4246-87d9-1708756a4b97", + "0b7aa5a0-b8c7-4f12-a88e-2ee86bfe2d78", + "b7da4535-6391-4dd9-81f1-fdc543c659bb", + "5e78ab47-99cc-4d6d-a74f-332565bdfbd0", + "8265b4f4-f1f8-4aed-817f-339417a3a7eb", + "6ece7a65-e5cf-4c76-be9d-085d934ad4fa", + "3a86a20e-b51c-44ed-93bc-c642d0c2f186", + 6012, + 1607, + 4333, + 6309, + 3880, + 3050, + 3961, + 2494, + 2996, + 2456, + 9075, + "$5.53", + true, + false, + 36764188 + ], + [ + "ec308a11-90e8-46a0-a6fc-60683ea84b0d", + "c1adb720-56d5-4d5d-aeef-4ba12a3d4c55", + "1a51e955-8486-446f-a29c-01c8de70acf6", + "c37c9395-ec46-4595-b751-be38674a30af", + "086b598d-25fb-4b6d-8f40-340f95d081d1", + "97e5c602-7076-42c4-95f8-d81cba0f3ba9", + "b89560fc-6ad1-41a2-9c3c-c059c558410a", + "c7cc6b50-0165-41ef-a0d2-2feea084f017", + "858572cf-7196-4f51-a9d1-01f130332562", + "326bc1c7-f74e-40ec-8dfc-b6ae0e6625ab", + "f02b21c9-f7d8-4d84-9243-4cb9bfbc58a6", + "0a281b23-2297-409c-82f5-1d4ae0873976", + 2585, + 1583, + 4676, + 2627, + 9317, + 2904, + 5912, + 1359, + 9534, + 1879, + 7107, + "$86,570.00", + false, + true, + 329450801 + ], + [ + "f84538e7-de61-4808-81e2-5eb700739b1d", + "a0a6b33c-0ebc-40af-b30d-efed93660807", + "20719997-f363-4a3c-afa8-34df186c853d", + "e396ffde-4655-4c5b-8f83-1d9135cbe27b", + "510f52b2-8f65-47f9-80bc-c30a13370f9d", + "b13b1ebc-d017-47b9-8303-c20b78fe4dbd", + "3a8c9275-2b43-4f99-b957-4e35bf019995", + "0578ce68-1f46-4508-95d6-4005b525afc4", + "47991b09-8a6b-467b-9923-06da64b7eae1", + "f793564f-4e06-4f69-a2a5-9b6a96b0c6b1", + "6b3ff4d3-0784-4d8f-b52d-7c4c3879568c", + "af7e8460-7347-42c1-8f19-61722743c4e1", + 6305, + 3006, + 9550, + 782, + 9062, + 195, + 2849, + 713, + 1033, + 606, + 567, + "$73,100.01", + false, + false, + 122218817 + ], + [ + "8720fc05-3237-4dc7-b741-69f3e8288923", + "d54e1508-cd8b-4903-b132-c07d1c03be3d", + "895392e8-1269-4f00-86c3-3bb9a5b49eef", + "ffc62a8a-ab28-43b5-b818-38db57d162db", + "be828999-92ca-4e7e-b8aa-30af27753d24", + "c4eadc41-3766-42a6-9178-f3eac740f173", + "89417c63-6b52-4f67-8b0d-8ba157e68d8c", + "b7df5178-3cd8-4f7c-a7a6-0d33790d1994", + "305688fe-7834-40ab-97f5-0929d537055a", + "3807dc06-827d-4342-9c51-06f2d4189eec", + "3ba42fb6-7cfd-40fb-a56c-887fe0c53251", + "42a10220-32ee-4e02-a0a4-60567077a194", + 9203, + 3879, + 2850, + 8466, + 4365, + 1642, + 8816, + 2453, + 7777, + 3818, + 5959, + "$4,648.39", + false, + false, + 105214299 + ], + [ + "322f1f9a-e867-494c-b90f-3e8d56d6ef66", + "8bc7dc0c-aa3f-455e-a794-feec40db0d8e", + "33f9f306-3fd0-4b30-9ef2-7c885ef1fe73", + "b2a91029-20f8-4e0c-a80b-77a5a403c236", + "103d835f-cfb2-47c2-bf1a-b861b4c7bf2c", + "8eeab758-1750-4e3f-b00a-efefb99a39bc", + "abfa4bbf-9c41-47ed-b995-0deba717efc1", + "aebfd886-8118-4196-97fe-1f441ab64f3d", + "e82465ac-d258-4251-ba8a-a784f6e0bf33", + "49414b22-fd2a-474e-a0ee-748eb6078e57", + "066fd4fa-9911-4bf5-b372-67306571d0a4", + "b533ab4e-e310-48e4-86e0-a808b55994a5", + 1129, + 5225, + 5837, + 4812, + 386, + 4638, + 4239, + 6761, + 6384, + 9874, + 6791, + "$784.35", + false, + false, + 1018673412 + ], + [ + "aa5479f6-7660-48c2-af0f-5c75e8a9fe92", + "8d45bcfd-1c6e-43b4-a1f1-4e2827d9d86c", + "29e5c746-0f70-4f27-9569-e829f0b87e3d", + "f3dda666-af5c-4185-87ae-8d566caa83bc", + "5fc19676-3def-47e7-a01e-35cb9457812e", + "2e926907-a8dc-4b52-9400-d55c5d5b5f37", + "59d1563f-7fff-4ea6-bb1a-e060bdd669aa", + "4d88fca5-0af5-42f6-bdfd-5c2bfc99575d", + "dc5531b2-b88c-4dcd-9d44-3d502c60e108", + "fff573cb-c933-44df-a46c-5563c78d7d03", + "e8e5fec6-7745-4901-999e-fa70d3198866", + "e74d1dc4-cb29-4d87-ae88-931d14c1132c", + 700, + 7100, + 5983, + 7188, + 5428, + 7233, + 9312, + 9439, + 5866, + 9497, + 4106, + "$5,791.84", + true, + false, + 264597060 + ], + [ + "4e9aa62b-04bf-4e0e-9b45-9a3aa7575e95", + "939f2927-a851-4dde-8558-ab0bfac7c955", + "4a2ab727-826b-472c-a89b-2dd1f3d33085", + "7697ddf9-2466-4532-8b53-2b0f25b576c7", + "17c7bfc6-bf9f-4f43-9b10-440338582742", + "8d517785-6f59-4e0e-a7eb-9cd9328ef44a", + "b9a36ef0-1862-4575-8856-ab82d6a8e753", + "1c29486e-a7d8-40d6-94b4-0200a25d7920", + "7986995f-a6b4-456d-9d1a-cb1eb324a1f9", + "a0dd01be-886c-4c7c-8447-a054920d2966", + "655c236f-6535-4644-8992-9761557e65fc", + "796ae1f9-d32c-40b3-afbc-bce2c105050a", + 2662, + 1231, + 4638, + 1932, + 1848, + 7118, + 3026, + 2298, + 724, + 5500, + 2145, + "$9.05", + false, + true, + 593894528 + ], + [ + "e066ab9f-75c8-489e-88a5-450995a9e473", + "d7b47277-cde3-40d9-9420-2f5532fb407b", + "b7649563-3e7c-4e6c-b9c4-a7e9420d2e96", + "04e7d3ba-11bf-4370-9866-9f2b7a67cb59", + "c011cd14-9489-4aec-82d0-ac70fa0849e4", + "3b2352fb-2ca1-4e2b-8b9e-f8c1435863cc", + "52fe65c2-40f4-473f-8557-ebeb5fbad816", + "986aefb6-27e4-4ea6-a211-87abd39c8fcd", + "7cc9d8d8-4fa5-4f8a-8d17-fc15ffe4294b", + "b7b730ce-d885-41dc-969d-f270c5d437f4", + "b31708ec-bf62-420c-b6d3-c539f1162646", + "0779b465-b645-406a-b4bf-a85aec5ade49", + 7388, + 3460, + 9981, + 6913, + 347, + 801, + 2762, + 299, + 7911, + 6267, + 9401, + "$6.50", + true, + true, + 1601338936 + ], + [ + "cecf3e7a-7e8f-4bca-88bf-c7b734129104", + "89f07a3d-b136-4e2e-b410-ed67aa27907e", + "835bc3f5-2f9c-452c-b3b1-4b5f7b1879f2", + "ce2883dc-eec9-45e8-8186-e4cc9e026b85", + "1d591e91-51f8-4ae3-8780-526da640ef5c", + "d2825593-d565-44aa-9411-c25631a16dd6", + "43bd19a3-11fc-4227-a7e7-3ea92e6c5014", + "b879d37b-147d-4e67-ab8b-695de181d23c", + "6d411488-1a83-4032-928f-e9beb2bf3128", + "078559d9-6055-464b-914e-049e45672645", + "34d11ccb-cd43-4971-b442-8c764b104066", + "3daa9228-f5f7-4f5c-b401-ca09e9c46556", + 8213, + 3569, + 9156, + 3945, + 1461, + 8180, + 3053, + 3003, + 3060, + 1485, + 2639, + "$21,405.64", + false, + true, + 321602929 + ] + ] + }, + "tableProfile": { + "timestamp": 1634366539, + "columnCount": 27, + "rowCount": 169, + "columnProfile": [ + { + "name": "sale_id", + "uniqueCount": 46, + "uniqueProportion": 0.4556834255, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "billing_address_id", + "uniqueCount": 36, + "uniqueProportion": 0.412740311, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "api_client_id", + "uniqueCount": 9, + "uniqueProportion": 0.4848320849, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "customer_id", + "uniqueCount": 16, + "uniqueProportion": 0.274374675, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "line_item_id", + "uniqueCount": 19, + "uniqueProportion": 0.1779729031, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "location_id", + "uniqueCount": 5, + "uniqueProportion": 0.403198425, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "order_id", + "uniqueCount": 41, + "uniqueProportion": 0.5763257885, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "product_id", + "uniqueCount": 1, + "uniqueProportion": 0.271483578, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "product_variant_id", + "uniqueCount": 18, + "uniqueProportion": 0.54392552, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "shipping_address_id", + "uniqueCount": 48, + "uniqueProportion": 0.457357716, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "shop_id", + "uniqueCount": 47, + "uniqueProportion": 0.1455819185, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "user_id", + "uniqueCount": 25, + "uniqueProportion": 0.502421822, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "gross_sales", + "uniqueCount": 10, + "uniqueProportion": 0.4514540014, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "net_sales", + "uniqueCount": 5, + "uniqueProportion": 0.643516191, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "total_sales", + "uniqueCount": 37, + "uniqueProportion": 0.1991445491, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "returns", + "uniqueCount": 23, + "uniqueProportion": 0.3934633215, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "discounts", + "uniqueCount": 10, + "uniqueProportion": 0.521182903, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "shipping", + "uniqueCount": 41, + "uniqueProportion": 0.577276297, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "taxes", + "uniqueCount": 15, + "uniqueProportion": 0.1038962515, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "gift_card_discounts", + "uniqueCount": 24, + "uniqueProportion": 0.4806029226, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "gift_card_gross_sales", + "uniqueCount": 23, + "uniqueProportion": 0.285063012, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "gift_cards_issued", + "uniqueCount": 4, + "uniqueProportion": 0.502737667, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "quantity", + "uniqueCount": 4, + "uniqueProportion": 0.424923401, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "currency", + "uniqueCount": 39, + "uniqueProportion": 0.1127764811, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "is_deleted", + "uniqueCount": 35, + "uniqueProportion": 0.5043061999, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "test", + "uniqueCount": 32, + "uniqueProportion": 0.370361415, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "happened_at", + "uniqueCount": 47, + "uniqueProportion": 0.983529122, + "distinctCount": 0, + "distinctProportion": 0 + } + ] + }, + "databaseSchema": { + "id": "d7be1e2c-b3dc-11ec-b909-0242ac120002", + "type": "databaseSchema", + "name": "sample_data.ecommerce_db.shopify", + "description": "This **mock** Schema contains tables related to shopify sales and orders with related dimension tables.", + "href": "http://localhost:8585/api/v1/databaseSchemas/d7be1e2c-b3dc-11ec-b909-0242ac120002" + }, + "sourceUrl": "http://localhost:8080/fact_sale" + }, + { + "id": "e12a4906-aaa3-47f8-960c-f19409a5e5a4", + "name": "fact_session", + "description": "This fact table contains information about the visitors to your online store. This table has one row per session, where one session can contain many page views. If you use Urchin Traffic Module (UTM) parameters in marketing campaigns, then you can use this table to track how many customers they direct to your store.", + "version": 0.1, + "updatedAt": 1638354087797, + "updatedBy": "anonymous", + "href": "http://localhost:8585/api/v1/tables/e12a4906-aaa3-47f8-960c-f19409a5e5a4", + "tableType": "Regular", + "columns": [ + { + "name": "derived_session_token", + "dataType": "VARCHAR", + "dataLength": 200, + "dataTypeDisplay": "varchar", + "description": "The ID of the visitor session. This column is the primary key for the table.", + "tags": [], + "constraint": "PRIMARY_KEY", + "ordinalPosition": 1 + }, + { + "name": "shop_id", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "The ID of the store. This column is a foreign key reference to the shop_id column in the dim_shop table.", + "tags": [], + "ordinalPosition": 2 + }, + { + "name": "session_duration", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "The time that the visitor spent in your store during the session. This value is the sum of the time spent on each page view (except for the last page viewed) during the session. The maximum value is 1800 seconds (30 minutes).", + "tags": [], + "ordinalPosition": 3 + }, + { + "name": "count_of_pageviews", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "The number of pages viewed during the session.", + "tags": [], + "ordinalPosition": 4 + }, + { + "name": "session_started_at", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "The date (ISO 8601) and time (UTC) when this visitor session begins. It is the timestamp when the visitor first visits the store during this session. The format is YYYY-MM-DD HH:mm:ss (for example, 2016-02-05 17:04:01).", + "tags": [], + "ordinalPosition": 5 + }, + { + "name": "session_token", + "dataType": "VARCHAR", + "dataLength": 200, + "dataTypeDisplay": "varchar", + "description": "The ID of the session token that is created by the browser. A session token expires after 30 minutes of inactivity.", + "tags": [], + "ordinalPosition": 6 + }, + { + "name": "user_token", + "dataType": "VARCHAR", + "dataLength": 20, + "dataTypeDisplay": "varchar", + "description": "The unique token assigned to the user. A user token expires after 2 years of inactivity.", + "tags": [], + "constraint": "UNIQUE", + "ordinalPosition": 7 + }, + { + "name": "landing_page_url", + "dataType": "VARCHAR", + "dataLength": 1000, + "dataTypeDisplay": "varchar", + "description": "The full URL of the first page visited during the session. For example, https://www.myshop.com/products/cool-tshirt?utm_source=Shop&utm_medium=....", + "tags": [], + "ordinalPosition": 8 + }, + { + "name": "exit_page_path", + "dataType": "VARCHAR", + "dataLength": 1000, + "dataTypeDisplay": "varchar", + "description": "The path portion of the URL of the last page that the visitor visited during the session. This field is the same as exit_page_url except that it doesn\\u2019t contain the name of the store or any parameters. For example, /products/cool-tshirt.", + "tags": [], + "ordinalPosition": 9 + }, + { + "name": "exit_page_url", + "dataType": "VARCHAR", + "dataLength": 1000, + "dataTypeDisplay": "varchar", + "description": "The full URL of the last page that the visitor visited during the session. For example, https://www.myshop.com/products/cool-tshirt?utm_source=Shop&utm_medium=....", + "tags": [], + "ordinalPosition": 10 + }, + { + "name": "referrer_tld", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "The top-level domain of the referring website. For example, if the hostname is www.facebook.com, then the referrer_tld is com.", + "tags": [], + "ordinalPosition": 11 + }, + { + "name": "ua_browser", + "dataType": "VARCHAR", + "dataLength": 200, + "dataTypeDisplay": "varchar", + "description": "The name of the browser that the visitor used. For example, Mobile Safari, Chrome.", + "tags": [], + "ordinalPosition": 12 + }, + { + "name": "ua_raw", + "dataType": "VARCHAR", + "dataLength": 2000, + "dataTypeDisplay": "varchar", + "description": "The string that identifies the user agent of the user. User agent shows data about the operating system and device that a visitor uses to browse your store.", + "tags": [], + "ordinalPosition": 13 + }, + { + "name": "count_of_orders_completed", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "The number of orders created during the session.", + "tags": [], + "ordinalPosition": 14 + }, + { + "name": "completed_first_order_at", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "The date (ISO 8601) and time (UTC) when the visitor completes their first order during this session. Contains NULL if the visitor never completes an order during this session. The format is YYYY-MM-DD HH:mm:ss (for example, 2016-02-05 17:04:01).", + "tags": [], + "ordinalPosition": 15 + }, + { + "name": "hit_first_checkout_at", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "The date (ISO 8601) and time (UTC) when the visitor first visits the checkout page during this session. Contains NULL if the visitor never visits the checkout page during the session. The format is YYYY-MM-DD HH:mm:ss (for example, 2016-02-05 17:04:01).", + "tags": [], + "ordinalPosition": 16 + }, + { + "name": "started_first_checkout_at", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "The date (ISO 8601) and time (UTC) when the visitor first starts entering their information into the checkout fields. Contains NULL if the visitor never enters their information during the session. The format is YYYY-MM-DD HH:mm:ss (for example, 2016-02-05 17:04:01).", + "tags": [], + "ordinalPosition": 17 + }, + { + "name": "count_of_cart_additions", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "The number of items added to the cart during the session. For example, if a customer adds 5 t-shirts and 1 lipstick to their cart, and then removes one of the t-shirts, then the value in this column is 6.", + "tags": [], + "ordinalPosition": 18 + }, + { + "name": "count_of_distinct_products_added_to_cart", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "The number of distinct products added to the cart during the session. For example, if a customer adds 5 t-shirts and 1 lipstick are added to the cart, then the value in this column is 2.", + "tags": [], + "ordinalPosition": 19 + }, + { + "name": "count_of_distinct_product_variants_added_to_cart", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "The number of distinct product variants added to the cart during the session. For example, if a customer adds 2 small and 3 large t-shirts and 1 lipstick to the cart, then the value in this column is 3.", + "tags": [], + "ordinalPosition": 20 + }, + { + "name": "had_error", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "True when an an error appears during the checkout that is not a payment error, False otherwise.", + "tags": [], + "ordinalPosition": 21 + }, + { + "name": "had_payment_error", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "True when a payment error occurs during the checkout, False otherwise.", + "tags": [], + "ordinalPosition": 22 + }, + { + "name": "had_out_of_stock_warning", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "True when an out-of-stock warning appears on the checkout page, False otherwise.", + "tags": [], + "ordinalPosition": 23 + }, + { + "name": "had_credit_card_info_error", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "True when a payment error occurs because of a credit card error, False otherwise.", + "tags": [], + "ordinalPosition": 24 + }, + { + "name": "had_discount", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "True when a checkout error occurs because of a discount error, False otherwise.", + "tags": [], + "ordinalPosition": 25 + }, + { + "name": "had_free_shipping", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "True when the order has no shipping cost, False otherwise.", + "tags": [], + "ordinalPosition": 26 + }, + { + "name": "location_city", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "The name of the city where the visitor is located. For example, Topeka.", + "tags": [], + "ordinalPosition": 27 + }, + { + "name": "location_region", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "The name of the region, such as a province or state, where the visitor is located. For example, Kansas.", + "tags": [], + "ordinalPosition": 28 + }, + { + "name": "location_region_code", + "dataType": "VARCHAR", + "dataLength": 200, + "dataTypeDisplay": "varchar", + "description": "The code for the region, such as a province or state, where the visitor is located. For example, KS.", + "tags": [], + "ordinalPosition": 29 + }, + { + "name": "location_country", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "The name of the country where the visitor is located. For example, United States.", + "tags": [], + "ordinalPosition": 30 + }, + { + "name": "location_country_code", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "varchar", + "description": "The two-digit ISO country code where the visitor is located. For example, US.", + "tags": [], + "ordinalPosition": 31 + } + ], + "database": { + "id": "50da1ff8-4e1d-4967-8931-45edbf4dd908", + "type": "database", + "name": "sample_data.ecommerce_db", + "description": "This **mock** database contains tables related to shopify sales and orders with related dimension tables.", + "href": "http://localhost:8585/api/v1/databases/50da1ff8-4e1d-4967-8931-45edbf4dd908" + }, + "tags": [], + "usageSummary": { + "dailyStats": { + "count": 0, + "percentileRank": 0 + }, + "weeklyStats": { + "count": 0, + "percentileRank": 0 + }, + "monthlyStats": { + "count": 0, + "percentileRank": 0 + }, + "date": "2021-12-01" + }, + "followers": [], + "joins": { + "startDate": "2021-11-01", + "dayCount": 30, + "columnJoins": [] + }, + "sampleData": { + "columns": [ + "derived_session_token", + "shop_id", + "session_duration", + "count_of_pageviews", + "session_started_at", + "session_token", + "user_token", + "landing_page_url", + "exit_page_path", + "exit_page_url", + "referrer_tld", + "ua_browser", + "ua_raw", + "count_of_orders_completed", + "completed_first_order_at", + "hit_first_checkout_at", + "started_first_checkout_at", + "count_of_cart_additions", + "count_of_distinct_products_added_to_cart", + "count_of_distinct_product_variants_added_to_cart", + "had_error", + "had_payment_error", + "had_out_of_stock_warning", + "had_credit_card_info_error", + "had_discount", + "had_free_shipping", + "location_city", + "location_region", + "location_region_code", + "location_country", + "location_country_code" + ], + "rows": [ + [ + "Business notice.", + "98f2964f-28cf-4669-80ea-da1b8212ec38", + 6515, + 9710, + 280757041, + "Upon or direction.", + "Could my but.", + "Goal yourself by.", + "Oil million.", + "Throw tough picture.", + "State minute bad.", + "Chair effect window.", + "Item group loss.", + 3161, + 1441261638, + 997312254, + 204032729, + 9843, + 310, + 1859, + false, + false, + true, + false, + false, + false, + "New Ronaldchester", + "12597 Banks Fort Suite 100", + "533 Smith Ports", + "Cape Verde", + "Armenia" + ], + [ + "Maybe office kid it.", + "e3f0f5ed-a1e1-446d-8a6e-fce226d6db5b", + 8174, + 6925, + 412037667, + "Talk support season.", + "Tough former.", + "Wish both.", + "Someone debate.", + "Simply doctor bed.", + "Week space you.", + "Hear describe.", + "Full drop according.", + 3694, + 931612130, + 1263390104, + 237627849, + 8205, + 3120, + 5149, + false, + false, + false, + true, + true, + true, + "Seanport", + "898 Brown Way Suite 282", + "436 Saunders Heights", + "Tanzania", + "Burkina Faso" + ], + [ + "Administration.", + "438c9481-e054-498e-bd5c-59f02d67f36d", + 6751, + 4028, + 1224417435, + "City this plant.", + "Tell when.", + "Industry page.", + "Act see control.", + "Thus center general.", + "Close key quickly.", + "Example common.", + "Own figure among.", + 8669, + 343269703, + 1633098523, + 1233982170, + 7359, + 8691, + 5784, + true, + true, + true, + false, + false, + false, + "New Alexanderland", + "5071 Deborah Corners Suite 422", + "48742 Jessica Vista", + "Algeria", + "Eritrea" + ], + [ + "When raise model.", + "17bfef3d-674e-4a25-afe0-3e030c02b6c7", + 7732, + 2403, + 1610852338, + "Bill relate stuff.", + "Capital stuff.", + "Later tax prove.", + "Nation call radio.", + "International arm.", + "Chance final.", + "Someone tough.", + "Care amount.", + 241, + 1505323989, + 1491500018, + 894620757, + 4673, + 2966, + 1548, + false, + true, + true, + false, + false, + true, + "Thomaschester", + "6604 Angela Ranch", + "6081 Barbara Stravenue", + "San Marino", + "Colombia" + ], + [ + "Behavior once light.", + "9a7deeee-bfe6-4f05-a926-accdf93182d6", + 2159, + 6916, + 1487502234, + "Moment within.", + "Republican.", + "Up design.", + "View among apply.", + "And it building.", + "Operation yourself.", + "Skin enter hear.", + "Brother amount.", + 8706, + 1166851191, + 235523384, + 723103612, + 9832, + 8422, + 9680, + false, + true, + true, + true, + true, + false, + "South Dillon", + "41371 Vazquez Manors", + "7067 Charles Vista Suite 442", + "Equatorial Guinea", + "Spain" + ], + [ + "Here tell fight.", + "5a515461-e4d0-4bfb-abc4-3cc4d8c73ca7", + 1736, + 6863, + 1291026877, + "Talk partner thing.", + "Group look somebody.", + "Cold family amount.", + "Approach world.", + "Head benefit they.", + "Mouth station true.", + "Choice them sit Mr.", + "Figure training leg.", + 7814, + 26942572, + 1484045398, + 1561774354, + 698, + 1058, + 74, + true, + true, + false, + false, + false, + false, + "Katherinehaven", + "098 Bowers Keys", + "4487 Wilson Park Suite 958", "Lao People's Democratic Republic", + "Saint Pierre and Miquelon" + ], + [ + "Feel strong church.", + "7a13aeef-893f-4189-8a46-628b7ebb16f0", + 5304, + 4831, + 435244341, + "Sure thank drive.", + "Wonder and public.", + "Just condition.", + "Series require view.", + "Against.", + "Stay somebody.", + "Somebody beat model.", + "Discuss budget.", + 2533, + 1474089924, + 1255696124, + 731399725, + 8451, + 8613, + 2382, + true, + true, + true, + false, + true, + true, + "Lake Bruce", + "907 Tina Summit", + "382 Johnson Valley", + "Albania", + "Benin" + ], + [ + "Country likely give.", + "03687649-a91d-47d5-b6b8-8de89c71d514", + 7798, + 3998, + 496696572, + "Certainly rich.", + "Trip interesting.", + "Watch pay Congress.", + "Second table player.", + "Along defense chair.", + "Until member.", + "Author message ok.", + "Role popular one.", + 119, + 1051439649, + 591220914, + 973401506, + 9246, + 2375, + 321, + true, + true, + true, + true, + false, + false, + "Codystad", + "972 Reed Island Suite 687", + "4871 Jarvis Light Suite 130", + "Saudi Arabia", + "Marshall Islands" + ], + [ + "Performance second.", + "6e02c51d-42d1-474d-aa85-569f5b5c86c0", + 7600, + 4493, + 432525693, + "Affect fear there.", + "Involve day imagine.", + "Instead word play.", + "Child dog care rich.", + "Note special social.", + "Anything box large.", + "Office start change.", + "Several material.", + 2435, + 147427601, + 578274942, + 1081063955, + 4733, + 3173, + 8865, + true, + true, + false, + false, + true, + false, + "Garrettview", + "654 Miller Crossing", + "249 Oliver Hill", + "Tuvalu", + "Faroe Islands" + ], + [ + "Budget radio.", + "ceba06f1-0fa3-4d77-9c5b-35891760e077", + 3654, + 4476, + 704799217, + "Reduce city herself.", + "Happen see various.", + "Every open art.", + "Important section.", + "Exactly wish friend.", + "Employee message PM.", + "Area statement.", + "As bill continue.", + 1591, + 970778500, + 130938177, + 736565299, + 7071, + 4068, + 108, + false, + false, + true, + false, + true, + false, + "Port William", + "094 Strong Square Suite 958", + "841 Laura Pass Suite 842", + "Anguilla", + "United States Minor Outlying Islands" + ], + [ + "Available ability.", + "fad425cf-e3b6-42e7-929c-feaa160e8c0e", + 9268, + 6476, + 1173901969, + "Issue shake think.", + "Common child.", + "Clear pull Mrs.", + "Next central agent.", + "Draw perhaps trade.", + "Visit speak leader.", + "Plan herself poor.", + "Indicate summer.", + 5450, + 204688764, + 292994356, + 172115308, + 3591, + 5133, + 9949, + false, + false, + false, + false, + false, + true, + "Lake Tristantown", + "87174 Wood Branch Suite 727", + "543 Corey Falls", + "Liechtenstein", + "Turkmenistan" + ], + [ + "Room reveal worry.", + "5fc7157d-cb00-4d17-8032-fa12028a12af", + 1364, + 694, + 586527428, + "Officer political.", + "Fight risk.", + "Many people paper.", + "Material out those.", + "Buy else evidence.", + "Wonder cost woman.", + "Would including.", + "And reflect little.", + 1842, + 1357578437, + 26876047, + 170184137, + 4454, + 27, + 4854, + true, + true, + true, + true, + true, + false, + "Markland", + "3337 Allen Springs", + "979 Olivia Islands Apt. 324", + "Heard Island and McDonald Islands", + "Indonesia" + ], + [ + "Perform.", + "ae727b8a-86ac-4fda-a42d-ced170c53e4e", + 7466, + 5998, + 40704571, + "Base car painting.", + "Decade close no.", + "Debate realize.", + "Final special view.", + "Much whole follow.", + "Either seven guy.", + "No eye woman.", + "Billion ago help.", + 2895, + 810980449, + 539358416, + 774895786, + 922, + 9762, + 7865, + false, + true, + true, + false, + false, + true, + "East Richardside", + "1213 Taylor Trail", + "1574 Francis Row Suite 125", + "Liechtenstein", + "Aruba" + ], + [ + "Be end its reflect.", + "4a4f2406-8cd2-4bb0-b81a-df628cba0be7", + 6830, + 5576, + 480168726, + "Campaign.", + "Likely enter.", + "Nor smile east plan.", + "Their action too.", + "Coach whole.", + "Number politics.", + "Safe I camera along.", + "Finish brother.", + 9003, + 1393742198, + 384345696, + 189895868, + 8487, + 9745, + 6128, + false, + false, + true, + false, + true, + false, + "Douglaston", + "9562 Nunez Cliff", + "7541 Luis Spurs Apt. 805", + "Dominica", + "Malaysia" + ], + [ + "Certain her company.", + "e015e331-897e-4dd7-a1f1-83e93463580a", + 6509, + 656, + 607992192, + "Tonight those.", + "Argue quickly sit.", + "Almost rate ten.", + "Baby century.", + "Get our too within.", + "Change challenge be.", + "Oil talk on.", + "Article site.", + 587, + 678673148, + 744279088, + 677055702, + 1193, + 8991, + 4302, + true, + false, + true, + false, + false, + false, + "Guerreroville", + "415 Cross Isle Apt. 078", + "93918 Kathleen Overpass", + "Morocco", + "Israel" + ], + [ + "Only how around.", + "af6ffb39-82ff-4cd6-aa9e-6711f388f912", + 6394, + 3315, + 70235596, + "These finally.", + "Hope better town my.", + "His it though true.", + "Keep spring save.", + "Former live.", + "Century back.", + "Baby around brother.", + "Foreign sing great.", + 4163, + 233881613, + 250786674, + 141383656, + 6951, + 585, + 6701, + false, + false, + false, + true, + false, + false, + "Kellyshire", + "90374 Larson Villages", + "9936 Bridget Underpass Apt. 972", + "Netherlands Antilles", + "Burundi" + ], + [ + "Voice eight source.", + "642a1847-9f2d-4320-81bd-a044e9b308d7", + 2368, + 4802, + 1042891754, + "Sister quite before.", + "Security thousand.", + "Responsibility.", + "Born act help.", + "Reach worker piece.", + "Skill power artist.", + "Friend well.", + "Purpose true.", + 9419, + 471428438, + 1627026861, + 783147999, + 8534, + 9271, + 8214, + true, + false, + false, + false, + true, + false, + "West Brianburgh", + "805 Jackson Ford", + "06227 Jeffrey Mall Suite 164", + "Macedonia", + "British Virgin Islands" + ], + [ + "Believe prevent.", + "bea6c1b7-9a4d-450c-9d18-e3ec60743456", + 5919, + 3483, + 595007266, + "Hand keep ahead.", + "Example although.", + "Poor hot whose edge.", + "Condition computer.", + "Stuff style.", + "Machine east appear.", + "Her bar she expert.", + "Operation agent.", + 6403, + 1388332969, + 1616852117, + 1438180483, + 1939, + 1212, + 8257, + false, + true, + false, + false, + true, + true, + "Campbellchester", + "698 Brian Lakes Apt. 206", + "1931 Kevin Pines Suite 659", + "Denmark", + "Algeria" + ], + [ + "They question staff.", + "a0dd3c2b-8ad0-4e6a-9334-72bc5c3b1fdb", + 6511, + 789, + 1331850766, + "Week huge student.", + "Think dog medical.", + "Else church into.", + "Throw save fine.", + "Draw level main.", + "Appear attention.", + "Interview message.", + "If can if structure.", + 6329, + 1035217232, + 1333096297, + 840548559, + 4085, + 2628, + 467, + false, + true, + false, + false, + true, + true, + "Williamborough", + "537 Jackson Key", + "77788 Savage Port", + "Guam", + "Palau" + ], + [ + "News spend certain.", + "f410ac5a-4e27-4089-9a7e-0b0e162c976f", + 4022, + 3124, + 1536351773, + "Can artist garden.", + "Chair pretty leader.", + "Above among six.", + "Fill news statement.", + "Professional hour.", + "Democratic right.", + "Be item it over far.", + "Computer attack.", + 547, + 1405627132, + 307673336, + 242604845, + 1810, + 2144, + 6498, + false, + false, + true, + true, + true, + true, + "East Douglas", + "71969 James Villages Apt. 379", + "203 Gabriella Field Apt. 881", + "Tonga", + "French Guiana" + ], + [ + "Stop participant.", + "2e205929-03c9-468f-87b0-3781cede3dc2", + 9437, + 873, + 1245660893, + "Tax vote point.", + "Property fill.", + "Man miss wall five.", + "Effect meet ball.", + "Day sit away table.", + "Guess former owner.", + "Age drive carry.", + "Something food.", + 5558, + 1259355110, + 1337043292, + 845326975, + 2203, + 6178, + 3171, + true, + false, + false, + true, + true, + true, + "Kingburgh", + "663 Peterson Neck Apt. 497", + "69994 Wilson Freeway", + "France", + "Georgia" + ], + [ + "Although my your.", + "acca98c9-ee3a-499d-825c-1c47cd79d9e2", + 7368, + 4842, + 5544025, + "Approach government.", + "Move hit defense.", + "Carry past.", + "As wall see.", + "Its anything.", + "Only Mr explain.", + "Something worry.", + "Like first night.", + 9104, + 1373299729, + 68614905, + 1597002138, + 8656, + 4294, + 2861, + false, + false, + false, + false, + false, + true, + "North Donna", + "9989 Austin Roads Apt. 017", + "939 Patel Hills", + "Guinea", + "Denmark" + ], + [ + "City blue strategy.", + "4eaff441-62b1-4e1e-9303-19aa4a9bcb71", + 8071, + 8684, + 1252352129, + "Carry media now.", + "Toward gun sport.", + "Business society.", + "Recently bad walk.", + "Difference few lot.", + "Member near perform.", + "Cup cut film grow.", + "With able character.", + 8093, + 833346127, + 810480019, + 642457174, + 7654, + 8179, + 8758, + false, + true, + true, + false, + false, + false, + "Michaelburgh", + "839 Terri Meadows Apt. 423", + "786 Hooper Hollow", + "Iran", + "Oman" + ], + [ + "Citizen brother.", + "fc4153f2-5760-42a2-998f-b84237678f88", + 3261, + 3692, + 1500168233, + "Each environment.", + "Method treat art.", + "Series change born.", + "Strategy policy our.", + "Case expect fact.", + "Miss cut price week.", + "Family claim keep.", + "Laugh test across.", + 1807, + 947812854, + 815459721, + 532021274, + 2750, + 1807, + 9275, + false, + true, + false, + false, + false, + false, + "Davisport", + "724 Bryan Spurs", + "8220 Mahoney Valley Suite 178", + "South Georgia and the South Sandwich Islands", + "France" + ], + [ + "Leader school.", + "1d8fc84c-6e7f-44be-9a9f-53bc742bd0de", + 8491, + 3382, + 563712244, + "Cultural listen.", + "Vote view church.", + "Score arm success.", + "Task hotel cover.", + "Away maybe hit real.", + "Game whether seem.", + "Finish room lawyer.", + "Avoid movie data.", + 8749, + 358835628, + 580816579, + 1571849556, + 5319, + 241, + 8684, + false, + true, + false, + false, + false, + true, + "North Ricky", + "3036 Wong Loaf", + "2895 Marissa Expressway", + "Montenegro", + "Ethiopia" + ] + ] + }, + "tableProfile": { + "timestamp": 1634366539, + "columnCount": 31, + "rowCount": 169, + "columnProfile": [ + { + "name": "derived_session_token", + "uniqueCount": 46, + "uniqueProportion": 0.4556834255, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "shop_id", + "uniqueCount": 36, + "uniqueProportion": 0.412740311, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "session_duration", + "uniqueCount": 9, + "uniqueProportion": 0.4848320849, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "count_of_pageviews", + "uniqueCount": 16, + "uniqueProportion": 0.274374675, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "session_started_at", + "uniqueCount": 19, + "uniqueProportion": 0.1779729031, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "session_token", + "uniqueCount": 5, + "uniqueProportion": 0.403198425, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "user_token", + "uniqueCount": 1, + "uniqueProportion": 0.5763257885, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "landing_page_url", + "uniqueCount": 1, + "uniqueProportion": 0.271483578, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "exit_page_path", + "uniqueCount": 18, + "uniqueProportion": 0.54392552, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "exit_page_url", + "uniqueCount": 8, + "uniqueProportion": 0.457357716, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "referrer_tld", + "uniqueCount": 47, + "uniqueProportion": 0.1455819185, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "ua_browser", + "uniqueCount": 25, + "uniqueProportion": 0.502421822, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "ua_raw", + "uniqueCount": 10, + "uniqueProportion": 0.4514540014, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "count_of_orders_completed", + "uniqueCount": 5, + "uniqueProportion": 0.643516191, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "completed_first_order_at", + "uniqueCount": 37, + "uniqueProportion": 0.1991445491, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "hit_first_checkout_at", + "uniqueCount": 23, + "uniqueProportion": 0.3934633215, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "started_first_checkout_at", + "uniqueCount": 10, + "uniqueProportion": 0.521182903, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "count_of_distinct_products_added_to_cart", + "uniqueCount": 41, + "uniqueProportion": 0.577276297, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "count_of_distinct_product_variants_added_to_cart", + "uniqueCount": 15, + "uniqueProportion": 0.1038962515, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "had_error", + "uniqueCount": 24, + "uniqueProportion": 0.4806029226, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "had_payment_error", + "uniqueCount": 23, + "uniqueProportion": 0.285063012, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "had_out_of_stock_warning", + "uniqueCount": 4, + "uniqueProportion": 0.502737667, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "had_credit_card_info_error", + "uniqueCount": 4, + "uniqueProportion": 0.424923401, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "had_discount", + "uniqueCount": 39, + "uniqueProportion": 0.1127764811, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "had_free_shipping", + "uniqueCount": 35, + "uniqueProportion": 0.5043061999, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "location_city", + "uniqueCount": 32, + "uniqueProportion": 0.370361415, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "location_region", + "uniqueCount": 47, + "uniqueProportion": 0.983529122, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "location_region_code", + "uniqueCount": 38, + "uniqueProportion": 0.1136043573, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "location_country", + "uniqueCount": 29, + "uniqueProportion": 0.0639865, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "location_country_code", + "uniqueCount": 29, + "uniqueProportion": 0.0639865, + "distinctCount": 0, + "distinctProportion": 0 + } + ] + }, + "databaseSchema": { + "id": "d7be1e2c-b3dc-11ec-b909-0242ac120002", + "type": "databaseSchema", + "name": "sample_data.ecommerce_db.shopify", + "description": "This **mock** Schema contains tables related to shopify sales and orders with related dimension tables.", + "href": "http://localhost:8585/api/v1/databaseSchemas/d7be1e2c-b3dc-11ec-b909-0242ac120002" + }, + "sourceUrl": "http://localhost:8080/fact_session" + }, + { + "id": "d3e3283f-9a51-4de9-add7-c12c3ed58ba1", + "name": "raw_customer", + "description": "This is a raw customers table as represented in our online DB. This contains personal, shipping and billing addresses and details of the customer store and customer profile. This table is used to build our dimensional and fact tables", + "version": 0.1, + "updatedAt": 1638354087833, + "updatedBy": "anonymous", + "href": "http://localhost:8585/api/v1/tables/d3e3283f-9a51-4de9-add7-c12c3ed58ba1", + "tableType": "Regular", + "columns": [ + { + "name": "comments", + "dataType": "STRING", + "dataLength": 1, + "dataTypeDisplay": "string", + "tags": [], + "constraint": "NULL", + "ordinalPosition": 1 + }, + { + "name": "creditcard", + "dataType": "STRING", + "dataLength": 1, + "dataTypeDisplay": "string", + "tags": [], + "constraint": "NULL", + "ordinalPosition": 2 + }, + { + "name": "membership", + "dataType": "STRING", + "dataLength": 1, + "dataTypeDisplay": "string", + "tags": [], + "constraint": "NULL", + "ordinalPosition": 4 + }, + { + "name": "orders", + "dataType": "ARRAY", + "arrayDataType": "STRUCT", + "dataLength": 1, + "dataTypeDisplay": "array>", + "tags": [], + "constraint": "NULL", + "ordinalPosition": 5 + }, + { + "name": "platform", + "dataType": "STRING", + "dataLength": 1, + "dataTypeDisplay": "string", + "tags": [], + "constraint": "NULL", + "ordinalPosition": 6 + }, + { + "name": "preference", + "dataType": "MAP", + "dataLength": 1, + "dataTypeDisplay": "map", + "tags": [], + "constraint": "NULL", + "ordinalPosition": 7 + }, + { + "name": "shipping_address", + "dataType": "ARRAY", + "arrayDataType": "STRUCT", + "dataLength": 1, + "dataTypeDisplay": "array>", + "tags": [], + "constraint": "NULL", + "ordinalPosition": 8 + }, + { + "name": "shipping_date", + "dataType": "STRING", + "dataLength": 1, + "dataTypeDisplay": "string", + "tags": [], + "constraint": "NULL", + "ordinalPosition": 9 + }, + { + "name": "transaction_date", + "dataType": "STRING", + "dataLength": 1, + "dataTypeDisplay": "string", + "tags": [], + "constraint": "NULL", + "ordinalPosition": 10 + }, + { + "name": "customer", + "dataType": "STRUCT", + "dataLength": 1, + "dataTypeDisplay": "struct", + "tags": [], + "constraint": "NULL", + "ordinalPosition": 3, + "children": [ + { + "name": "username", + "dataType": "VARCHAR", + "dataLength": 32, + "dataTypeDisplay": "character varying(32)", + "tags": [], + "constraint": "NULL" + }, + { + "name": "name", + "dataType": "VARCHAR", + "dataLength": 32, + "dataTypeDisplay": "character varying(32)", + "tags": [], + "constraint": "NULL" + }, + { + "name": "sex", + "dataType": "CHAR", + "dataLength": 1, + "dataTypeDisplay": "char(1)", + "tags": [], + "constraint": "NULL" + }, + { + "name": "address", + "dataType": "VARCHAR", + "dataLength": 128, + "dataTypeDisplay": "character varying(128)", + "tags": [], + "constraint": "NULL" + }, + { + "name": "mail", + "dataType": "VARCHAR", + "dataLength": 64, + "dataTypeDisplay": "character varying(64)", + "tags": [], + "constraint": "NULL" + }, + { + "name": "birthdate", + "dataType": "VARCHAR", + "dataLength": 16, + "dataTypeDisplay": "character varying(16)", + "tags": [], + "constraint": "NULL" + } + ] + } + ], + "database": { + "id": "50da1ff8-4e1d-4967-8931-45edbf4dd908", + "type": "database", + "name": "sample_data.ecommerce_db", + "description": "This **mock** database contains tables related to shopify sales and orders with related dimension tables.", + "href": "http://localhost:8585/api/v1/databases/50da1ff8-4e1d-4967-8931-45edbf4dd908" + }, + "tags": [], + "usageSummary": { + "dailyStats": { + "count": 0, + "percentileRank": 0 + }, + "weeklyStats": { + "count": 0, + "percentileRank": 0 + }, + "monthlyStats": { + "count": 0, + "percentileRank": 0 + }, + "date": "2021-12-01" + }, + "followers": [], + "joins": { + "startDate": "2021-11-01", + "dayCount": 30, + "columnJoins": [] + }, + "sampleData": { + "columns": [ + "comments", + "creditcard", + "membership", + "orders", + "platform", + "preference", + "shipping_address", + "shipping_date", + "transaction_date", + "customer" + ], + "rows": [ + [ + null, + null, + null, + null, + null, + null, + "4623 Mitchell Crossroad Apt. 206", + 242084248, + 80893208, + null + ], + [ + null, + null, + null, + null, + null, + null, + "80527 Jessica Courts", + 287198341, + 1135534568, + null + ], + [ + null, + null, + null, + null, + null, + null, + "951 Holland Flats", + 814078750, + 192700469, + null + ], + [ + null, + null, + null, + null, + null, + null, + "697 Hess Villages Apt. 365", + 97483440, + 1232399547, + null + ], + [ + null, + null, + null, + null, + null, + null, + "20835 Julia Extension Apt. 352", + 1550867691, + 678711020, + null + ], + [ + null, + null, + null, + null, + null, + null, + "438 George Green Suite 652", + 1199543048, + 412335178, + null + ], + [ + null, + null, + null, + null, + null, + null, + "6206 Stephanie Dam", + 456586033, + 1409312217, + null + ], + [ + null, + null, + null, + null, + null, + null, + "9654 Henderson Keys", + 1185594873, + 504953059, + null + ], + [ + null, + null, + null, + null, + null, + null, + "626 Mays Forest", + 652053668, + 667525459, + null + ], + [ + null, + null, + null, + null, + null, + null, + "7916 Daniel Valley", + 1018918703, + 850455966, + null + ], + [ + null, + null, + null, + null, + null, + null, + "61398 Roberson Plains", + 61323024, + 1225264804, + null + ], + [ + null, + null, + null, + null, + null, + null, + "70819 Jamie Prairie Apt. 427", + 725256829, + 1191992354, + null + ], + [ + null, + null, + null, + null, + null, + null, + "030 Riley Summit Apt. 640", + 88691594, + 970878935, + null + ], + [ + null, + null, + null, + null, + null, + null, + "0646 Carrie Valleys", + 726140153, + 1209684435, + null + ], + [ + null, + null, + null, + null, + null, + null, + "342 Steele Point Suite 388", + 536416165, + 487566360, + null + ], + [ + null, + null, + null, + null, + null, + null, + "0064 Walker Courts Suite 141", + 445703097, + 57868792, + null + ], + [ + null, + null, + null, + null, + null, + null, + "8394 Carter Plains", + 304850404, + 671543822, + null + ], + [ + null, + null, + null, + null, + null, + null, + "3967 Kristin Ramp Apt. 788", + 682198675, + 209589233, + null + ], + [ + null, + null, + null, + null, + null, + null, + "0890 Durham Stravenue Suite 927", + 1546709381, + 30232173, + null + ], + [ + null, + null, + null, + null, + null, + null, + "8507 Christopher Spurs Apt. 508", + 1226200217, + 239895098, + null + ], + [ + null, + null, + null, + null, + null, + null, + "2732 Kimberly Pike", + 221054516, + 1014280311, + null + ], + [ + null, + null, + null, + null, + null, + null, + "717 Wolf Flats", + 583955725, + 816705266, + null + ], + [ + null, + null, + null, + null, + null, + null, + "67983 Morgan Mountains Suite 694", + 109726711, + 1102451601, + null + ], + [ + null, + null, + null, + null, + null, + null, + "2164 Chambers Way", + 846170119, + 1297650242, + null + ], + [ + null, + null, + null, + null, + null, + null, + "88439 Brown Road", + 333730714, + 844310983, + null + ] + ] + }, + "tableProfile": { + "timestamp": 1634366539, + "columnCount": 10, + "rowCount": 1909, + "columnProfile": [ + { + "name": "comments", + "uniqueCount": 9, + "uniqueProportion": 0.49029275, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "creditcard", + "uniqueCount": 29, + "uniqueProportion": 0.4956064142, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "membership", + "uniqueCount": 13, + "uniqueProportion": 0.1327792, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "orders", + "uniqueCount": 23, + "uniqueProportion": 0.177126, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "platform", + "uniqueCount": 69, + "uniqueProportion": 0.0396391, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "preference", + "uniqueCount": 86, + "uniqueProportion": 0.0690369, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "shipping_address", + "uniqueCount": 23, + "uniqueProportion": 0.1210963, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "shipping_date", + "uniqueCount": 6, + "uniqueProportion": 0.024072, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "transaction_date", + "uniqueCount": 3, + "uniqueProportion": 0.1478114, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "customer", + "uniqueCount": 11, + "uniqueProportion": 0.1383472, + "distinctCount": 0, + "distinctProportion": 0 + } + ] + }, + "databaseSchema": { + "id": "d7be1e2c-b3dc-11ec-b909-0242ac120002", + "type": "databaseSchema", + "name": "sample_data.ecommerce_db.shopify", + "description": "This **mock** Schema contains tables related to shopify sales and orders with related dimension tables.", + "href": "http://localhost:8585/api/v1/databaseSchemas/d7be1e2c-b3dc-11ec-b909-0242ac120002" + }, + "sourceUrl": "http://localhost:8080/raw_customer" + }, + { + "id": "96b4af15-3bdf-4483-a602-3014bbd8ebc6", + "name": "raw_order", + "description": "This is a raw orders table as represented in our online DB. This table contains all the orders by the customers and can be used to buid our dim and fact tables", + "version": 0.1, + "updatedAt": 1638354087862, + "updatedBy": "anonymous", + "href": "http://localhost:8585/api/v1/tables/96b4af15-3bdf-4483-a602-3014bbd8ebc6", + "tableType": "Regular", + "columns": [ + { + "name": "comments", + "dataType": "STRING", + "dataLength": 1, + "dataTypeDisplay": "string", + "tags": [], + "constraint": "NULL", + "ordinalPosition": 1 + }, + { + "name": "creditcard", + "dataType": "STRING", + "dataLength": 1, + "dataTypeDisplay": "string", + "tags": [], + "constraint": "NULL", + "ordinalPosition": 2 + }, + { + "name": "membership", + "dataType": "STRING", + "dataLength": 1, + "dataTypeDisplay": "string", + "tags": [], + "constraint": "NULL", + "ordinalPosition": 4 + }, + { + "name": "orders", + "dataType": "ARRAY", + "arrayDataType": "STRUCT", + "dataLength": 1, + "dataTypeDisplay": "array>", + "tags": [], + "constraint": "NULL", + "ordinalPosition": 5 + }, + { + "name": "platform", + "dataType": "STRING", + "dataLength": 1, + "dataTypeDisplay": "string", + "tags": [], + "constraint": "NULL", + "ordinalPosition": 6 + }, + { + "name": "preference", + "dataType": "MAP", + "dataLength": 1, + "dataTypeDisplay": "map", + "tags": [], + "constraint": "NULL", + "ordinalPosition": 7 + }, + { + "name": "shipping_address", + "dataType": "ARRAY", + "arrayDataType": "STRUCT", + "dataLength": 1, + "dataTypeDisplay": "array>", + "tags": [], + "constraint": "NULL", + "ordinalPosition": 8 + }, + { + "name": "shipping_date", + "dataType": "STRING", + "dataLength": 1, + "dataTypeDisplay": "string", + "tags": [], + "constraint": "NULL", + "ordinalPosition": 9 + }, + { + "name": "transaction_date", + "dataType": "STRING", + "dataLength": 1, + "dataTypeDisplay": "string", + "tags": [], + "constraint": "NULL", + "ordinalPosition": 10 + }, + { + "name": "total_order_count", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "The total number of orders that the customer has made from this store across their lifetime.", + "tags": [], + "ordinalPosition": 11 + }, + { + "name": "total_order_value", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "The total amount of money that the customer has spent on orders from the store across their lifetime. The value is formatted in the store's currency.", + "tags": [], + "ordinalPosition": 12 + }, + { + "name": "first_order_date", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "The date (ISO 8601) and time (UTC) when the customer placed their first order. The format is YYYY-MM-DD HH:mm:ss (for example, 2016-02-05 17:04:01).", + "tags": [], + "ordinalPosition": 13 + }, + { + "name": "last_order_date", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "The date (ISO 8601) and time (UTC) when the customer placed their most recent order. The format is YYYY-MM-DD HH:mm:ss (for example, 2016-02-05 17:04:01).", + "tags": [], + "ordinalPosition": 14 + } + ], + "database": { + "id": "50da1ff8-4e1d-4967-8931-45edbf4dd908", + "type": "database", + "name": "sample_data.ecommerce_db", + "description": "This **mock** database contains tables related to shopify sales and orders with related dimension tables.", + "href": "http://localhost:8585/api/v1/databases/50da1ff8-4e1d-4967-8931-45edbf4dd908" + }, + "tags": [], + "usageSummary": { + "dailyStats": { + "count": 0, + "percentileRank": 0 + }, + "weeklyStats": { + "count": 0, + "percentileRank": 0 + }, + "monthlyStats": { + "count": 0, + "percentileRank": 0 + }, + "date": "2021-12-01" + }, + "followers": [], + "joins": { + "startDate": "2021-11-01", + "dayCount": 30, + "columnJoins": [] + }, + "sampleData": { + "columns": [ + "comments", + "creditcard", + "membership", + "orders", + "platform", + "preference", + "shipping_address", + "shipping_date", + "transaction_date", + "total_order_count", + "total_order_value", + "first_order_date", + "last_order_date" + ], + "rows": [ + [ + null, + null, + null, + null, + null, + null, + "9987 Shepard Underpass Suite 829", + 726665767, + 1383088348, + 1571, + 7937, + 811170544, + 369445530 + ], + [ + null, + null, + null, + null, + null, + null, + "59776 Diaz Isle Suite 373", + 683412101, + 667229183, + 7919, + 8768, + 1522699896, + 720783033 + ], + [ + null, + null, + null, + null, + null, + null, + "471 Steven Lane Apt. 977", + 315943873, + 1564383968, + 4652, + 5735, + 443842581, + 1573056643 + ], + [ + null, + null, + null, + null, + null, + null, + "789 Rose Unions Apt. 755", + 682296623, + 921937561, + 2610, + 3176, + 813522623, + 1006715929 + ], + [ + null, + null, + null, + null, + null, + null, + "151 Evans Lodge Apt. 634", + 1415425597, + 1145198666, + 6610, + 1433, + 1506967973, + 190645326 + ], + [ + null, + null, + null, + null, + null, + null, + "853 David Glen", + 657463840, + 658896020, + 3705, + 8549, + 415916199, + 285083290 + ], + [ + null, + null, + null, + null, + null, + null, + "9697 Scott Locks Suite 197", + 1259222247, + 1393361062, + 5824, + 8881, + 1316015631, + 1598135866 + ], + [ + null, + null, + null, + null, + null, + null, + "0425 Fletcher Village", + 1246898499, + 1633228030, + 4173, + 1583, + 102436863, + 865031571 + ], + [ + null, + null, + null, + null, + null, + null, + "15751 Castro Point Suite 451", + 1608682680, + 1567114050, + 6340, + 625, + 375666873, + 991232919 + ], + [ + null, + null, + null, + null, + null, + null, + "05084 Faulkner Lodge Suite 811", + 1132871794, + 1622046526, + 772, + 9411, + 1458743867, + 429475162 + ], + [ + null, + null, + null, + null, + null, + null, + "6043 Lyons Court", + 1185224522, + 1231382502, + 5032, + 9998, + 1397469241, + 543255694 + ], + [ + null, + null, + null, + null, + null, + null, + "17041 Davis Cove", + 453587971, + 1074564089, + 9406, + 2881, + 1574941539, + 1451844711 + ], + [ + null, + null, + null, + null, + null, + null, + "42460 Jones Turnpike", + 1089742451, + 1087758203, + 9593, + 1850, + 1312021573, + 1016819160 + ], + [ + null, + null, + null, + null, + null, + null, + "8956 Tamara Extensions", + 1149893805, + 1209792156, + 2942, + 9917, + 1433423752, + 152115175 + ], + [ + null, + null, + null, + null, + null, + null, + "534 Scott Bridge Apt. 956", + 636656520, + 1585062193, + 6475, + 5061, + 509996865, + 873299671 + ], + [ + null, + null, + null, + null, + null, + null, + "36067 Brown Meadows Apt. 313", + 98615505, + 500312618, + 3339, + 9186, + 914419085, + 1336484763 + ], + [ + null, + null, + null, + null, + null, + null, + "97987 Gibson Center Suite 910", + 1464868669, + 1591300671, + 1966, + 7667, + 1289436427, + 1417368621 + ], + [ + null, + null, + null, + null, + null, + null, + "74146 Greene Summit Apt. 670", + 683704052, + 88935361, + 1801, + 6764, + 437414813, + 1467065017 + ], + [ + null, + null, + null, + null, + null, + null, + "27141 John Meadow Suite 478", + 734027591, + 1462987480, + 2653, + 2830, + 1013641348, + 604204487 + ], + [ + null, + null, + null, + null, + null, + null, + "270 Thomas Port Apt. 134", + 1081559903, + 560070050, + 7936, + 8981, + 206058058, + 1540427936 + ], + [ + null, + null, + null, + null, + null, + null, + "03414 Cooper Mission", + 1096111091, + 1458766140, + 3272, + 7285, + 1461188519, + 357692491 + ], + [ + null, + null, + null, + null, + null, + null, + "013 Gould Square Suite 463", + 1506204555, + 1286834827, + 5367, + 6441, + 781185782, + 51915773 + ], + [ + null, + null, + null, + null, + null, + null, + "77002 Hatfield Garden", + 982757396, + 552038278, + 2895, + 9044, + 833014857, + 143130829 + ], + [ + null, + null, + null, + null, + null, + null, + "8349 Garcia Knolls Apt. 841", + 91042733, + 1566249656, + 1277, + 1321, + 763231604, + 1532686309 + ], + [ + null, + null, + null, + null, + null, + null, + "884 King Point Suite 294", + 1281958163, + 1507082407, + 564, + 7247, + 1035048614, + 1366169091 + ] + ] + }, + "tableProfile": { + "timestamp": 1634366539, + "columnCount": 13, + "rowCount": 295, + "columnProfile": [ + { + "name": "comments", + "uniqueCount": 9, + "uniqueProportion": 0.93902492, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "creditcard", + "uniqueCount": 29, + "uniqueProportion": 0.3763427824, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "membership", + "uniqueCount": 13, + "uniqueProportion": 0.1327792, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "orders", + "uniqueCount": 23, + "uniqueProportion": 0.177126, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "platform", + "uniqueCount": 11, + "uniqueProportion": 0.0396391, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "preference", + "uniqueCount": 93, + "uniqueProportion": 0.0690369, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "shipping_address", + "uniqueCount": 23, + "uniqueProportion": 0.1210963, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "shipping_date", + "uniqueCount": 6, + "uniqueProportion": 0.024072, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "transaction_date", + "uniqueCount": 3, + "uniqueProportion": 0.1478114, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "total_order_count", + "uniqueCount": 11, + "uniqueProportion": 0.1383472, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "total_order_value", + "uniqueCount": 13, + "uniqueProportion": 0.1601013, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "first_order_date", + "uniqueCount": 8, + "uniqueProportion": 0.1297079, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "last_order_date", + "uniqueCount": 16, + "uniqueProportion": 0.1968912, + "distinctCount": 0, + "distinctProportion": 0 + } + ] + }, + "databaseSchema": { + "id": "d7be1e2c-b3dc-11ec-b909-0242ac120002", + "type": "databaseSchema", + "name": "sample_data.ecommerce_db.shopify", + "description": "This **mock** Schema contains tables related to shopify sales and orders with related dimension tables.", + "href": "http://localhost:8585/api/v1/databaseSchemas/d7be1e2c-b3dc-11ec-b909-0242ac120002" + }, + "sourceUrl": "http://localhost:8080/raw_order" + }, + { + "name": "raw_product_catalog", + "description": "This is a raw product catalog table contains the product listing, price, seller etc.. represented in our online DB. ", + "version": 0.1, + "updatedAt": 1638354087891, + "updatedBy": "anonymous", + "href": "http://localhost:8585/api/v1/tables/afce49e7-8ae1-41e3-971e-8f79c254b24a", + "tableType": "Regular", + "columns": [ + { + "name": "comments", + "dataType": "STRING", + "dataLength": 1, + "dataTypeDisplay": "string", + "tags": [], + "constraint": "NULL", + "ordinalPosition": 1 + }, + { + "name": "products", + "dataType": "ARRAY", + "arrayDataType": "STRUCT", + "dataLength": 1, + "dataTypeDisplay": "array>", + "tags": [], + "constraint": "NULL", + "ordinalPosition": 2 + }, + { + "name": "platform", + "dataType": "STRING", + "dataLength": 1, + "dataTypeDisplay": "string", + "tags": [], + "constraint": "NULL", + "ordinalPosition": 3 + }, + { + "name": "store_address", + "dataType": "ARRAY", + "arrayDataType": "STRUCT", + "dataLength": 1, + "dataTypeDisplay": "array>", + "tags": [], + "constraint": "NULL", + "ordinalPosition": 4 + }, + { + "name": "first_order_date", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "The date (ISO 8601) and time (UTC) when the customer placed their first order. The format is YYYY-MM-DD HH:mm:ss (for example, 2016-02-05 17:04:01).", + "tags": [], + "ordinalPosition": 5 + }, + { + "name": "last_order_date", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "The date (ISO 8601) and time (UTC) when the customer placed their most recent order. The format is YYYY-MM-DD HH:mm:ss (for example, 2016-02-05 17:04:01).", + "tags": [], + "ordinalPosition": 6 + } + ], + "database": { + "id": "50da1ff8-4e1d-4967-8931-45edbf4dd908", + "type": "database", + "name": "sample_data.ecommerce_db", + "description": "This **mock** database contains tables related to shopify sales and orders with related dimension tables.", + "href": "http://localhost:8585/api/v1/databases/50da1ff8-4e1d-4967-8931-45edbf4dd908" + }, + "tags": [], + "usageSummary": { + "dailyStats": { + "count": 0, + "percentileRank": 0 + }, + "weeklyStats": { + "count": 0, + "percentileRank": 0 + }, + "monthlyStats": { + "count": 0, + "percentileRank": 0 + }, + "date": "2021-12-01" + }, + "followers": [], + "joins": { + "startDate": "2021-11-01", + "dayCount": 30, + "columnJoins": [] + }, + "sampleData": { + "columns": [ + "comments", + "products", + "platform", + "store_address", + "first_order_date", + "last_order_date" + ], + "rows": [ + [ + null, + null, + null, + "58000 Alvarez Rapids Apt. 602", + 1337535723, + 173852881 + ], + [ + null, + null, + null, + "59905 Jonathan Port Apt. 854", + 337858914, + 1594712176 + ], + [ + null, + null, + null, + "40350 Kathleen Landing Suite 912", + 1206793251, + 1506434078 + ], + [ + null, + null, + null, + "847 Alexander Ramp Suite 306", + 259712382, + 1239249801 + ], + [ + null, + null, + null, + "4964 Ashley Mountains", + 188897650, + 334242022 + ], + [ + null, + null, + null, + "74837 Tiffany Alley", + 757965137, + 776394228 + ], + [ + null, + null, + null, + "763 Hannah Estates", + 1249754037, + 1478052123 + ], + [ + null, + null, + null, + "24884 Leroy Loop Apt. 655", + 969552490, + 165488316 + ], + [ + null, + null, + null, + "06999 Nichols Views Apt. 320", + 410594012, + 550998064 + ], + [ + null, + null, + null, + "349 Contreras Stream", + 333525897, + 108686257 + ], + [ + null, + null, + null, + "337 Karl Gateway", + 552663349, + 937172198 + ], + [ + null, + null, + null, + "3563 Dennis Ferry Suite 409", + 163818763, + 230897049 + ], + [ + null, + null, + null, + "863 Hanson Mission", + 1487177042, + 473147042 + ], + [ + null, + null, + null, + "4028 Ronald Tunnel Apt. 090", + 1473895366, + 475982676 + ], + [ + null, + null, + null, + "1201 Mcgee Point", + 1539252599, + 428568512 + ], + [ + null, + null, + null, + "606 Flowers Ford Suite 893", + 1501457023, + 401440766 + ], + [ + null, + null, + null, + "681 Julie Park", + 528766306, + 793954315 + ], + [ + null, + null, + null, + "409 Shelton Mount Suite 426", + 603721333, + 1405236818 + ], + [ + null, + null, + null, + "651 William Divide", + 740076176, + 1228091432 + ], + [ + null, + null, + null, + "73284 Lisa Wall Suite 046", + 1510947807, + 346862909 + ], + [ + null, + null, + null, + "395 Medina Islands Apt. 657", + 1253153538, + 1521782431 + ], + [ + null, + null, + null, + "4705 Derek Harbor Suite 536", + 128632467, + 709287170 + ], + [ + null, + null, + null, + "61049 Riley Burgs", + 343143504, + 1144081467 + ], + [ + null, + null, + null, + "12461 Daniels Terrace Suite 962", + 252933637, + 1182238431 + ], + [ + null, + null, + null, + "563 Lewis Lock", + 1081671745, + 1073198203 + ] + ] + }, + "tableProfile": { + "timestamp": 1634366539, + "columnCount": 6, + "rowCount": 215, + "columnProfile": [ + { + "name": "comments", + "uniqueCount": 9, + "uniqueProportion": 0.17377999, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "products", + "uniqueCount": 29, + "uniqueProportion": 0.1434539832, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "platform", + "uniqueCount": 13, + "uniqueProportion": 0.1327792, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "store_address", + "uniqueCount": 23, + "uniqueProportion": 0.177126, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "store_address", + "uniqueCount": 78, + "uniqueProportion": 0.0396391, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "first_order_date", + "uniqueCount": 48, + "uniqueProportion": 0.0690369, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "last_order_date", + "uniqueCount": 23, + "uniqueProportion": 0.1210963, + "distinctCount": 0, + "distinctProportion": 0 + } + ] + }, + "databaseSchema": { + "id": "d7be1e2c-b3dc-11ec-b909-0242ac120002", + "type": "databaseSchema", + "name": "sample_data.ecommerce_db.shopify", + "description": "This **mock** Schema contains tables related to shopify sales and orders with related dimension tables.", + "href": "http://localhost:8585/api/v1/databaseSchemas/d7be1e2c-b3dc-11ec-b909-0242ac120002" + }, + "sourceUrl": "http://localhost:8080/raw_product_catalog" + } + ] +======= + { + "name": "birthdate", + "dataType": "VARCHAR", + "dataLength": 16, + "dataTypeDisplay": "character varying(16)", + "tags": [], + "constraint": "NULL" + } + ] + } + ], + "database": { + "id": "50da1ff8-4e1d-4967-8931-45edbf4dd908", + "type": "database", + "name": "sample_data.ecommerce_db", + "description": "This **mock** database contains tables related to shopify sales and orders with related dimension tables.", + "href": "http://localhost:8585/api/v1/databases/50da1ff8-4e1d-4967-8931-45edbf4dd908" + }, + "tags": [], + "usageSummary": { + "dailyStats": { + "count": 0, + "percentileRank": 0 + }, + "weeklyStats": { + "count": 0, + "percentileRank": 0 + }, + "monthlyStats": { + "count": 0, + "percentileRank": 0 + }, + "date": "2021-12-01" + }, + "followers": [], + "joins": { + "startDate": "2021-11-01", + "dayCount": 30, + "columnJoins": [] + }, + "sampleData": { + "columns": [ + "comments", + "creditcard", + "membership", + "orders", + "platform", + "preference", + "shipping_address", + "shipping_date", + "transaction_date", + "customer" + ], + "rows": [ + [ + null, + null, + null, + null, + null, + null, + "4623 Mitchell Crossroad Apt. 206", + 242084248, + 80893208, + null + ], + [ + null, + null, + null, + null, + null, + null, + "80527 Jessica Courts", + 287198341, + 1135534568, + null + ], + [ + null, + null, + null, + null, + null, + null, + "951 Holland Flats", + 814078750, + 192700469, + null + ], + [ + null, + null, + null, + null, + null, + null, + "697 Hess Villages Apt. 365", + 97483440, + 1232399547, + null + ], + [ + null, + null, + null, + null, + null, + null, + "20835 Julia Extension Apt. 352", + 1550867691, + 678711020, + null + ], + [ + null, + null, + null, + null, + null, + null, + "438 George Green Suite 652", + 1199543048, + 412335178, + null + ], + [ + null, + null, + null, + null, + null, + null, + "6206 Stephanie Dam", + 456586033, + 1409312217, + null + ], + [ + null, + null, + null, + null, + null, + null, + "9654 Henderson Keys", + 1185594873, + 504953059, + null + ], + [ + null, + null, + null, + null, + null, + null, + "626 Mays Forest", + 652053668, + 667525459, + null + ], + [ + null, + null, + null, + null, + null, + null, + "7916 Daniel Valley", + 1018918703, + 850455966, + null + ], + [ + null, + null, + null, + null, + null, + null, + "61398 Roberson Plains", + 61323024, + 1225264804, + null + ], + [ + null, + null, + null, + null, + null, + null, + "70819 Jamie Prairie Apt. 427", + 725256829, + 1191992354, + null + ], + [ + null, + null, + null, + null, + null, + null, + "030 Riley Summit Apt. 640", + 88691594, + 970878935, + null + ], + [ + null, + null, + null, + null, + null, + null, + "0646 Carrie Valleys", + 726140153, + 1209684435, + null + ], + [ + null, + null, + null, + null, + null, + null, + "342 Steele Point Suite 388", + 536416165, + 487566360, + null + ], + [ + null, + null, + null, + null, + null, + null, + "0064 Walker Courts Suite 141", + 445703097, + 57868792, + null + ], + [ + null, + null, + null, + null, + null, + null, + "8394 Carter Plains", + 304850404, + 671543822, + null + ], + [ + null, + null, + null, + null, + null, + null, + "3967 Kristin Ramp Apt. 788", + 682198675, + 209589233, + null + ], + [ + null, + null, + null, + null, + null, + null, + "0890 Durham Stravenue Suite 927", + 1546709381, + 30232173, + null + ], + [ + null, + null, + null, + null, + null, + null, + "8507 Christopher Spurs Apt. 508", + 1226200217, + 239895098, + null + ], + [ + null, + null, + null, + null, + null, + null, + "2732 Kimberly Pike", + 221054516, + 1014280311, + null + ], + [ + null, + null, + null, + null, + null, + null, + "717 Wolf Flats", + 583955725, + 816705266, + null + ], + [ + null, + null, + null, + null, + null, + null, + "67983 Morgan Mountains Suite 694", + 109726711, + 1102451601, + null + ], + [ + null, + null, + null, + null, + null, + null, + "2164 Chambers Way", + 846170119, + 1297650242, + null + ], + [ + null, + null, + null, + null, + null, + null, + "88439 Brown Road", + 333730714, + 844310983, + null + ] + ] + }, + "tableProfile": { + "timestamp": 1634366539, + "columnCount": 10, + "rowCount": 1909, + "columnProfile": [ + { + "name": "comments", + "uniqueCount": 9, + "uniqueProportion": 0.49029275, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "creditcard", + "uniqueCount": 29, + "uniqueProportion": 0.4956064142, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "membership", + "uniqueCount": 13, + "uniqueProportion": 0.1327792, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "orders", + "uniqueCount": 23, + "uniqueProportion": 0.177126, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "platform", + "uniqueCount": 69, + "uniqueProportion": 0.0396391, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "preference", + "uniqueCount": 86, + "uniqueProportion": 0.0690369, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "shipping_address", + "uniqueCount": 23, + "uniqueProportion": 0.1210963, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "shipping_date", + "uniqueCount": 6, + "uniqueProportion": 0.024072, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "transaction_date", + "uniqueCount": 3, + "uniqueProportion": 0.1478114, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "customer", + "uniqueCount": 11, + "uniqueProportion": 0.1383472, + "distinctCount": 0, + "distinctProportion": 0 + } + ] + }, + "databaseSchema": { + "id": "d7be1e2c-b3dc-11ec-b909-0242ac120002", + "type": "databaseSchema", + "name": "sample_data.ecommerce_db.shopify", + "description": "This **mock** Schema contains tables related to shopify sales and orders with related dimension tables.", + "href": "http://localhost:8585/api/v1/databaseSchemas/d7be1e2c-b3dc-11ec-b909-0242ac120002" + }, + "sourceUrl": "http://localhost:8080/raw_customer" + }, + { + "id": "96b4af15-3bdf-4483-a602-3014bbd8ebc6", + "name": "raw_order", + "description": "This is a raw orders table as represented in our online DB. This table contains all the orders by the customers and can be used to buid our dim and fact tables", + "version": 0.1, + "updatedAt": 1638354087862, + "updatedBy": "anonymous", + "href": "http://localhost:8585/api/v1/tables/96b4af15-3bdf-4483-a602-3014bbd8ebc6", + "tableType": "Partitioned", + "tablePartition": { + "columns": [ + { + "columnName": "_PARTITIONTIME", + "intervalType": "INGESTION-TIME", + "interval": "DAY" + } + ] + }, + "columns": [ + { + "name": "comments", + "dataType": "STRING", + "dataLength": 1, + "dataTypeDisplay": "string", + "tags": [], + "constraint": "NULL", + "ordinalPosition": 1 + }, + { + "name": "creditcard", + "dataType": "STRING", + "dataLength": 1, + "dataTypeDisplay": "string", + "tags": [], + "constraint": "NULL", + "ordinalPosition": 2 + }, + { + "name": "membership", + "dataType": "STRING", + "dataLength": 1, + "dataTypeDisplay": "string", + "tags": [], + "constraint": "NULL", + "ordinalPosition": 4 + }, + { + "name": "orders", + "dataType": "ARRAY", + "arrayDataType": "STRUCT", + "dataLength": 1, + "dataTypeDisplay": "array>", + "tags": [], + "constraint": "NULL", + "ordinalPosition": 5 + }, + { + "name": "platform", + "dataType": "STRING", + "dataLength": 1, + "dataTypeDisplay": "string", + "tags": [], + "constraint": "NULL", + "ordinalPosition": 6 + }, + { + "name": "preference", + "dataType": "MAP", + "dataLength": 1, + "dataTypeDisplay": "map", + "tags": [], + "constraint": "NULL", + "ordinalPosition": 7 + }, + { + "name": "shipping_address", + "dataType": "ARRAY", + "arrayDataType": "STRUCT", + "dataLength": 1, + "dataTypeDisplay": "array>", + "tags": [], + "constraint": "NULL", + "ordinalPosition": 8 + }, + { + "name": "shipping_date", + "dataType": "STRING", + "dataLength": 1, + "dataTypeDisplay": "string", + "tags": [], + "constraint": "NULL", + "ordinalPosition": 9 + }, + { + "name": "transaction_date", + "dataType": "STRING", + "dataLength": 1, + "dataTypeDisplay": "string", + "tags": [], + "constraint": "NULL", + "ordinalPosition": 10 + }, + { + "name": "total_order_count", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "The total number of orders that the customer has made from this store across their lifetime.", + "tags": [], + "ordinalPosition": 11 + }, + { + "name": "total_order_value", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "The total amount of money that the customer has spent on orders from the store across their lifetime. The value is formatted in the store's currency.", + "tags": [], + "ordinalPosition": 12 + }, + { + "name": "first_order_date", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "The date (ISO 8601) and time (UTC) when the customer placed their first order. The format is YYYY-MM-DD HH:mm:ss (for example, 2016-02-05 17:04:01).", + "tags": [], + "ordinalPosition": 13 + }, + { + "name": "last_order_date", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "The date (ISO 8601) and time (UTC) when the customer placed their most recent order. The format is YYYY-MM-DD HH:mm:ss (for example, 2016-02-05 17:04:01).", + "tags": [], + "ordinalPosition": 14 + } + ], + "database": { + "id": "50da1ff8-4e1d-4967-8931-45edbf4dd908", + "type": "database", + "name": "sample_data.ecommerce_db", + "description": "This **mock** database contains tables related to shopify sales and orders with related dimension tables.", + "href": "http://localhost:8585/api/v1/databases/50da1ff8-4e1d-4967-8931-45edbf4dd908" + }, + "tags": [], + "usageSummary": { + "dailyStats": { + "count": 0, + "percentileRank": 0 + }, + "weeklyStats": { + "count": 0, + "percentileRank": 0 + }, + "monthlyStats": { + "count": 0, + "percentileRank": 0 + }, + "date": "2021-12-01" + }, + "followers": [], + "joins": { + "startDate": "2021-11-01", + "dayCount": 30, + "columnJoins": [] + }, + "sampleData": { + "columns": [ + "comments", + "creditcard", + "membership", + "orders", + "platform", + "preference", + "shipping_address", + "shipping_date", + "transaction_date", + "total_order_count", + "total_order_value", + "first_order_date", + "last_order_date" + ], + "rows": [ + [ + null, + null, + null, + null, + null, + null, + "9987 Shepard Underpass Suite 829", + 726665767, + 1383088348, + 1571, + 7937, + 811170544, + 369445530 + ], + [ + null, + null, + null, + null, + null, + null, + "59776 Diaz Isle Suite 373", + 683412101, + 667229183, + 7919, + 8768, + 1522699896, + 720783033 + ], + [ + null, + null, + null, + null, + null, + null, + "471 Steven Lane Apt. 977", + 315943873, + 1564383968, + 4652, + 5735, + 443842581, + 1573056643 + ], + [ + null, + null, + null, + null, + null, + null, + "789 Rose Unions Apt. 755", + 682296623, + 921937561, + 2610, + 3176, + 813522623, + 1006715929 + ], + [ + null, + null, + null, + null, + null, + null, + "151 Evans Lodge Apt. 634", + 1415425597, + 1145198666, + 6610, + 1433, + 1506967973, + 190645326 + ], + [ + null, + null, + null, + null, + null, + null, + "853 David Glen", + 657463840, + 658896020, + 3705, + 8549, + 415916199, + 285083290 + ], + [ + null, + null, + null, + null, + null, + null, + "9697 Scott Locks Suite 197", + 1259222247, + 1393361062, + 5824, + 8881, + 1316015631, + 1598135866 + ], + [ + null, + null, + null, + null, + null, + null, + "0425 Fletcher Village", + 1246898499, + 1633228030, + 4173, + 1583, + 102436863, + 865031571 + ], + [ + null, + null, + null, + null, + null, + null, + "15751 Castro Point Suite 451", + 1608682680, + 1567114050, + 6340, + 625, + 375666873, + 991232919 + ], + [ + null, + null, + null, + null, + null, + null, + "05084 Faulkner Lodge Suite 811", + 1132871794, + 1622046526, + 772, + 9411, + 1458743867, + 429475162 + ], + [ + null, + null, + null, + null, + null, + null, + "6043 Lyons Court", + 1185224522, + 1231382502, + 5032, + 9998, + 1397469241, + 543255694 + ], + [ + null, + null, + null, + null, + null, + null, + "17041 Davis Cove", + 453587971, + 1074564089, + 9406, + 2881, + 1574941539, + 1451844711 + ], + [ + null, + null, + null, + null, + null, + null, + "42460 Jones Turnpike", + 1089742451, + 1087758203, + 9593, + 1850, + 1312021573, + 1016819160 + ], + [ + null, + null, + null, + null, + null, + null, + "8956 Tamara Extensions", + 1149893805, + 1209792156, + 2942, + 9917, + 1433423752, + 152115175 + ], + [ + null, + null, + null, + null, + null, + null, + "534 Scott Bridge Apt. 956", + 636656520, + 1585062193, + 6475, + 5061, + 509996865, + 873299671 + ], + [ + null, + null, + null, + null, + null, + null, + "36067 Brown Meadows Apt. 313", + 98615505, + 500312618, + 3339, + 9186, + 914419085, + 1336484763 + ], + [ + null, + null, + null, + null, + null, + null, + "97987 Gibson Center Suite 910", + 1464868669, + 1591300671, + 1966, + 7667, + 1289436427, + 1417368621 + ], + [ + null, + null, + null, + null, + null, + null, + "74146 Greene Summit Apt. 670", + 683704052, + 88935361, + 1801, + 6764, + 437414813, + 1467065017 + ], + [ + null, + null, + null, + null, + null, + null, + "27141 John Meadow Suite 478", + 734027591, + 1462987480, + 2653, + 2830, + 1013641348, + 604204487 + ], + [ + null, + null, + null, + null, + null, + null, + "270 Thomas Port Apt. 134", + 1081559903, + 560070050, + 7936, + 8981, + 206058058, + 1540427936 + ], + [ + null, + null, + null, + null, + null, + null, + "03414 Cooper Mission", + 1096111091, + 1458766140, + 3272, + 7285, + 1461188519, + 357692491 + ], + [ + null, + null, + null, + null, + null, + null, + "013 Gould Square Suite 463", + 1506204555, + 1286834827, + 5367, + 6441, + 781185782, + 51915773 + ], + [ + null, + null, + null, + null, + null, + null, + "77002 Hatfield Garden", + 982757396, + 552038278, + 2895, + 9044, + 833014857, + 143130829 + ], + [ + null, + null, + null, + null, + null, + null, + "8349 Garcia Knolls Apt. 841", + 91042733, + 1566249656, + 1277, + 1321, + 763231604, + 1532686309 + ], + [ + null, + null, + null, + null, + null, + null, + "884 King Point Suite 294", + 1281958163, + 1507082407, + 564, + 7247, + 1035048614, + 1366169091 + ] + ] + }, + "tableProfile": { + "timestamp": 1634366539, + "columnCount": 13, + "rowCount": 295, + "columnProfile": [ + { + "name": "comments", + "uniqueCount": 9, + "uniqueProportion": 0.93902492, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "creditcard", + "uniqueCount": 29, + "uniqueProportion": 0.3763427824, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "membership", + "uniqueCount": 13, + "uniqueProportion": 0.1327792, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "orders", + "uniqueCount": 23, + "uniqueProportion": 0.177126, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "platform", + "uniqueCount": 11, + "uniqueProportion": 0.0396391, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "preference", + "uniqueCount": 93, + "uniqueProportion": 0.0690369, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "shipping_address", + "uniqueCount": 23, + "uniqueProportion": 0.1210963, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "shipping_date", + "uniqueCount": 6, + "uniqueProportion": 0.024072, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "transaction_date", + "uniqueCount": 3, + "uniqueProportion": 0.1478114, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "total_order_count", + "uniqueCount": 11, + "uniqueProportion": 0.1383472, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "total_order_value", + "uniqueCount": 13, + "uniqueProportion": 0.1601013, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "first_order_date", + "uniqueCount": 8, + "uniqueProportion": 0.1297079, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "last_order_date", + "uniqueCount": 16, + "uniqueProportion": 0.1968912, + "distinctCount": 0, + "distinctProportion": 0 + } + ] + }, + "databaseSchema": { + "id": "d7be1e2c-b3dc-11ec-b909-0242ac120002", + "type": "databaseSchema", + "name": "sample_data.ecommerce_db.shopify", + "description": "This **mock** Schema contains tables related to shopify sales and orders with related dimension tables.", + "href": "http://localhost:8585/api/v1/databaseSchemas/d7be1e2c-b3dc-11ec-b909-0242ac120002" + }, + "sourceUrl": "http://localhost:8080/raw_order" + }, + { + "name": "raw_product_catalog", + "description": "This is a raw product catalog table contains the product listing, price, seller etc.. represented in our online DB. ", + "version": 0.1, + "updatedAt": 1638354087891, + "updatedBy": "anonymous", + "href": "http://localhost:8585/api/v1/tables/afce49e7-8ae1-41e3-971e-8f79c254b24a", + "tableType": "Partitioned", + "tablePartition": { + "columns": [ + { + "columnName": "_PARTITIONDATE", + "intervalType": "INGESTION-TIME", + "interval": "DAY" + } + ] + }, + "columns": [ + { + "name": "comments", + "dataType": "STRING", + "dataLength": 1, + "dataTypeDisplay": "string", + "tags": [], + "constraint": "NULL", + "ordinalPosition": 1 + }, + { + "name": "products", + "dataType": "ARRAY", + "arrayDataType": "STRUCT", + "dataLength": 1, + "dataTypeDisplay": "array>", + "tags": [], + "constraint": "NULL", + "ordinalPosition": 2 + }, + { + "name": "platform", + "dataType": "STRING", + "dataLength": 1, + "dataTypeDisplay": "string", + "tags": [], + "constraint": "NULL", + "ordinalPosition": 3 + }, + { + "name": "store_address", + "dataType": "ARRAY", + "arrayDataType": "STRUCT", + "dataLength": 1, + "dataTypeDisplay": "array>", + "tags": [], + "constraint": "NULL", + "ordinalPosition": 4 + }, + { + "name": "first_order_date", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "The date (ISO 8601) and time (UTC) when the customer placed their first order. The format is YYYY-MM-DD HH:mm:ss (for example, 2016-02-05 17:04:01).", + "tags": [], + "ordinalPosition": 5 + }, + { + "name": "last_order_date", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "The date (ISO 8601) and time (UTC) when the customer placed their most recent order. The format is YYYY-MM-DD HH:mm:ss (for example, 2016-02-05 17:04:01).", + "tags": [], + "ordinalPosition": 6 + } + ], + "database": { + "id": "50da1ff8-4e1d-4967-8931-45edbf4dd908", + "type": "database", + "name": "sample_data.ecommerce_db", + "description": "This **mock** database contains tables related to shopify sales and orders with related dimension tables.", + "href": "http://localhost:8585/api/v1/databases/50da1ff8-4e1d-4967-8931-45edbf4dd908" + }, + "tags": [], + "usageSummary": { + "dailyStats": { + "count": 0, + "percentileRank": 0 + }, + "weeklyStats": { + "count": 0, + "percentileRank": 0 + }, + "monthlyStats": { + "count": 0, + "percentileRank": 0 + }, + "date": "2021-12-01" + }, + "followers": [], + "joins": { + "startDate": "2021-11-01", + "dayCount": 30, + "columnJoins": [] + }, + "sampleData": { + "columns": [ + "comments", + "products", + "platform", + "store_address", + "first_order_date", + "last_order_date" + ], + "rows": [ + [ + null, + null, + null, + "58000 Alvarez Rapids Apt. 602", + 1337535723, + 173852881 + ], + [ + null, + null, + null, + "59905 Jonathan Port Apt. 854", + 337858914, + 1594712176 + ], + [ + null, + null, + null, + "40350 Kathleen Landing Suite 912", + 1206793251, + 1506434078 + ], + [ + null, + null, + null, + "847 Alexander Ramp Suite 306", + 259712382, + 1239249801 + ], + [ + null, + null, + null, + "4964 Ashley Mountains", + 188897650, + 334242022 + ], + [ + null, + null, + null, + "74837 Tiffany Alley", + 757965137, + 776394228 + ], + [ + null, + null, + null, + "763 Hannah Estates", + 1249754037, + 1478052123 + ], + [ + null, + null, + null, + "24884 Leroy Loop Apt. 655", + 969552490, + 165488316 + ], + [ + null, + null, + null, + "06999 Nichols Views Apt. 320", + 410594012, + 550998064 + ], + [ + null, + null, + null, + "349 Contreras Stream", + 333525897, + 108686257 + ], + [ + null, + null, + null, + "337 Karl Gateway", + 552663349, + 937172198 + ], + [ + null, + null, + null, + "3563 Dennis Ferry Suite 409", + 163818763, + 230897049 + ], + [ + null, + null, + null, + "863 Hanson Mission", + 1487177042, + 473147042 + ], + [ + null, + null, + null, + "4028 Ronald Tunnel Apt. 090", + 1473895366, + 475982676 + ], + [ + null, + null, + null, + "1201 Mcgee Point", + 1539252599, + 428568512 + ], + [ + null, + null, + null, + "606 Flowers Ford Suite 893", + 1501457023, + 401440766 + ], + [ + null, + null, + null, + "681 Julie Park", + 528766306, + 793954315 + ], + [ + null, + null, + null, + "409 Shelton Mount Suite 426", + 603721333, + 1405236818 + ], + [ + null, + null, + null, + "651 William Divide", + 740076176, + 1228091432 + ], + [ + null, + null, + null, + "73284 Lisa Wall Suite 046", + 1510947807, + 346862909 + ], + [ + null, + null, + null, + "395 Medina Islands Apt. 657", + 1253153538, + 1521782431 + ], + [ + null, + null, + null, + "4705 Derek Harbor Suite 536", + 128632467, + 709287170 + ], + [ + null, + null, + null, + "61049 Riley Burgs", + 343143504, + 1144081467 + ], + [ + null, + null, + null, + "12461 Daniels Terrace Suite 962", + 252933637, + 1182238431 + ], + [ + null, + null, + null, + "563 Lewis Lock", + 1081671745, + 1073198203 + ] + ] + }, + "tableProfile": { + "timestamp": 1634366539, + "columnCount": 6, + "rowCount": 215, + "columnProfile": [ + { + "name": "comments", + "uniqueCount": 9, + "uniqueProportion": 0.17377999, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "products", + "uniqueCount": 29, + "uniqueProportion": 0.1434539832, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "platform", + "uniqueCount": 13, + "uniqueProportion": 0.1327792, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "store_address", + "uniqueCount": 23, + "uniqueProportion": 0.177126, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "store_address", + "uniqueCount": 78, + "uniqueProportion": 0.0396391, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "first_order_date", + "uniqueCount": 48, + "uniqueProportion": 0.0690369, + "distinctCount": 0, + "distinctProportion": 0 + }, + { + "name": "last_order_date", + "uniqueCount": 23, + "uniqueProportion": 0.1210963, + "distinctCount": 0, + "distinctProportion": 0 + } + ] + }, + "databaseSchema": { + "id": "d7be1e2c-b3dc-11ec-b909-0242ac120002", + "type": "databaseSchema", + "name": "sample_data.ecommerce_db.shopify", + "description": "This **mock** Schema contains tables related to shopify sales and orders with related dimension tables.", + "href": "http://localhost:8585/api/v1/databaseSchemas/d7be1e2c-b3dc-11ec-b909-0242ac120002" + }, + "sourceUrl": "http://localhost:8080/raw_product_catalog" + }, + { + "name": "performance_test_table", + "description": "A table with thousands of columns designed for testing the performance of paginated column APIs. This table contains 2000 columns with various data types to simulate real-world scenarios where tables have large numbers of columns.", + "version": 0.1, + "updatedAt": 1638354087391, + "updatedBy": "performance_test", + "href": "http://localhost:8585/api/v1/tables/performance-test-table-id", + "tableType": "Regular", + "tags": [], + "schemaDefinition": "CREATE TABLE performance_test_table -- Table with 2000 columns for performance testing", + "retentionPeriod": "30D", + "columns": [ + { + "name": "test_col_0001", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 1 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1, + "dataLength": 255 + }, + { + "name": "test_col_0002", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 2 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 2 + }, + { + "name": "test_col_0003", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 3 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 3 + }, + { + "name": "test_col_0004", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 4 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 4 + }, + { + "name": "test_col_0005", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 5 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 5 + }, + { + "name": "test_col_0006", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 6 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 6 + }, + { + "name": "test_col_0007", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 7 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 7 + }, + { + "name": "test_col_0008", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 8 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 8 + }, + { + "name": "test_col_0009", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 9 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 9 + }, + { + "name": "test_col_0010", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 10 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 10 + }, + { + "name": "test_col_0011", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 11 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 11, + "dataLength": 255 + }, + { + "name": "test_col_0012", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 12 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 12 + }, + { + "name": "test_col_0013", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 13 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 13 + }, + { + "name": "test_col_0014", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 14 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 14 + }, + { + "name": "test_col_0015", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 15 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 15 + }, + { + "name": "test_col_0016", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 16 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 16 + }, + { + "name": "test_col_0017", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 17 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 17 + }, + { + "name": "test_col_0018", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 18 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 18 + }, + { + "name": "test_col_0019", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 19 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 19 + }, + { + "name": "test_col_0020", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 20 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 20 + }, + { + "name": "test_col_0021", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 21 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 21, + "dataLength": 255 + }, + { + "name": "test_col_0022", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 22 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 22 + }, + { + "name": "test_col_0023", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 23 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 23 + }, + { + "name": "test_col_0024", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 24 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 24 + }, + { + "name": "test_col_0025", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 25 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 25 + }, + { + "name": "test_col_0026", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 26 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 26 + }, + { + "name": "test_col_0027", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 27 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 27 + }, + { + "name": "test_col_0028", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 28 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 28 + }, + { + "name": "test_col_0029", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 29 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 29 + }, + { + "name": "test_col_0030", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 30 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 30 + }, + { + "name": "test_col_0031", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 31 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 31, + "dataLength": 255 + }, + { + "name": "test_col_0032", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 32 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 32 + }, + { + "name": "test_col_0033", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 33 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 33 + }, + { + "name": "test_col_0034", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 34 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 34 + }, + { + "name": "test_col_0035", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 35 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 35 + }, + { + "name": "test_col_0036", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 36 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 36 + }, + { + "name": "test_col_0037", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 37 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 37 + }, + { + "name": "test_col_0038", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 38 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 38 + }, + { + "name": "test_col_0039", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 39 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 39 + }, + { + "name": "test_col_0040", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 40 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 40 + }, + { + "name": "test_col_0041", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 41 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 41, + "dataLength": 255 + }, + { + "name": "test_col_0042", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 42 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 42 + }, + { + "name": "test_col_0043", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 43 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 43 + }, + { + "name": "test_col_0044", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 44 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 44 + }, + { + "name": "test_col_0045", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 45 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 45 + }, + { + "name": "test_col_0046", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 46 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 46 + }, + { + "name": "test_col_0047", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 47 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 47 + }, + { + "name": "test_col_0048", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 48 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 48 + }, + { + "name": "test_col_0049", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 49 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 49 + }, + { + "name": "test_col_0050", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 50 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 50 + }, + { + "name": "test_col_0051", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 51 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 51, + "dataLength": 255 + }, + { + "name": "test_col_0052", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 52 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 52 + }, + { + "name": "test_col_0053", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 53 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 53 + }, + { + "name": "test_col_0054", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 54 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 54 + }, + { + "name": "test_col_0055", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 55 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 55 + }, + { + "name": "test_col_0056", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 56 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 56 + }, + { + "name": "test_col_0057", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 57 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 57 + }, + { + "name": "test_col_0058", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 58 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 58 + }, + { + "name": "test_col_0059", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 59 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 59 + }, + { + "name": "test_col_0060", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 60 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 60 + }, + { + "name": "test_col_0061", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 61 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 61, + "dataLength": 255 + }, + { + "name": "test_col_0062", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 62 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 62 + }, + { + "name": "test_col_0063", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 63 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 63 + }, + { + "name": "test_col_0064", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 64 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 64 + }, + { + "name": "test_col_0065", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 65 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 65 + }, + { + "name": "test_col_0066", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 66 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 66 + }, + { + "name": "test_col_0067", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 67 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 67 + }, + { + "name": "test_col_0068", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 68 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 68 + }, + { + "name": "test_col_0069", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 69 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 69 + }, + { + "name": "test_col_0070", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 70 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 70 + }, + { + "name": "test_col_0071", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 71 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 71, + "dataLength": 255 + }, + { + "name": "test_col_0072", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 72 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 72 + }, + { + "name": "test_col_0073", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 73 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 73 + }, + { + "name": "test_col_0074", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 74 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 74 + }, + { + "name": "test_col_0075", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 75 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 75 + }, + { + "name": "test_col_0076", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 76 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 76 + }, + { + "name": "test_col_0077", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 77 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 77 + }, + { + "name": "test_col_0078", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 78 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 78 + }, + { + "name": "test_col_0079", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 79 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 79 + }, + { + "name": "test_col_0080", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 80 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 80 + }, + { + "name": "test_col_0081", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 81 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 81, + "dataLength": 255 + }, + { + "name": "test_col_0082", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 82 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 82 + }, + { + "name": "test_col_0083", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 83 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 83 + }, + { + "name": "test_col_0084", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 84 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 84 + }, + { + "name": "test_col_0085", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 85 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 85 + }, + { + "name": "test_col_0086", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 86 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 86 + }, + { + "name": "test_col_0087", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 87 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 87 + }, + { + "name": "test_col_0088", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 88 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 88 + }, + { + "name": "test_col_0089", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 89 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 89 + }, + { + "name": "test_col_0090", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 90 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 90 + }, + { + "name": "test_col_0091", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 91 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 91, + "dataLength": 255 + }, + { + "name": "test_col_0092", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 92 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 92 + }, + { + "name": "test_col_0093", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 93 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 93 + }, + { + "name": "test_col_0094", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 94 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 94 + }, + { + "name": "test_col_0095", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 95 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 95 + }, + { + "name": "test_col_0096", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 96 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 96 + }, + { + "name": "test_col_0097", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 97 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 97 + }, + { + "name": "test_col_0098", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 98 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 98 + }, + { + "name": "test_col_0099", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 99 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 99 + }, + { + "name": "test_col_0100", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 100 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 100 + }, + { + "name": "test_col_0101", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 101 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 101, + "dataLength": 255 + }, + { + "name": "test_col_0102", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 102 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 102 + }, + { + "name": "test_col_0103", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 103 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 103 + }, + { + "name": "test_col_0104", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 104 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 104 + }, + { + "name": "test_col_0105", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 105 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 105 + }, + { + "name": "test_col_0106", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 106 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 106 + }, + { + "name": "test_col_0107", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 107 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 107 + }, + { + "name": "test_col_0108", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 108 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 108 + }, + { + "name": "test_col_0109", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 109 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 109 + }, + { + "name": "test_col_0110", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 110 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 110 + }, + { + "name": "test_col_0111", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 111 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 111, + "dataLength": 255 + }, + { + "name": "test_col_0112", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 112 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 112 + }, + { + "name": "test_col_0113", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 113 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 113 + }, + { + "name": "test_col_0114", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 114 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 114 + }, + { + "name": "test_col_0115", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 115 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 115 + }, + { + "name": "test_col_0116", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 116 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 116 + }, + { + "name": "test_col_0117", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 117 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 117 + }, + { + "name": "test_col_0118", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 118 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 118 + }, + { + "name": "test_col_0119", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 119 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 119 + }, + { + "name": "test_col_0120", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 120 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 120 + }, + { + "name": "test_col_0121", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 121 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 121, + "dataLength": 255 + }, + { + "name": "test_col_0122", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 122 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 122 + }, + { + "name": "test_col_0123", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 123 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 123 + }, + { + "name": "test_col_0124", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 124 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 124 + }, + { + "name": "test_col_0125", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 125 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 125 + }, + { + "name": "test_col_0126", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 126 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 126 + }, + { + "name": "test_col_0127", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 127 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 127 + }, + { + "name": "test_col_0128", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 128 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 128 + }, + { + "name": "test_col_0129", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 129 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 129 + }, + { + "name": "test_col_0130", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 130 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 130 + }, + { + "name": "test_col_0131", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 131 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 131, + "dataLength": 255 + }, + { + "name": "test_col_0132", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 132 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 132 + }, + { + "name": "test_col_0133", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 133 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 133 + }, + { + "name": "test_col_0134", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 134 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 134 + }, + { + "name": "test_col_0135", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 135 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 135 + }, + { + "name": "test_col_0136", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 136 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 136 + }, + { + "name": "test_col_0137", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 137 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 137 + }, + { + "name": "test_col_0138", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 138 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 138 + }, + { + "name": "test_col_0139", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 139 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 139 + }, + { + "name": "test_col_0140", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 140 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 140 + }, + { + "name": "test_col_0141", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 141 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 141, + "dataLength": 255 + }, + { + "name": "test_col_0142", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 142 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 142 + }, + { + "name": "test_col_0143", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 143 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 143 + }, + { + "name": "test_col_0144", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 144 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 144 + }, + { + "name": "test_col_0145", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 145 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 145 + }, + { + "name": "test_col_0146", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 146 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 146 + }, + { + "name": "test_col_0147", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 147 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 147 + }, + { + "name": "test_col_0148", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 148 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 148 + }, + { + "name": "test_col_0149", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 149 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 149 + }, + { + "name": "test_col_0150", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 150 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 150 + }, + { + "name": "test_col_0151", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 151 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 151, + "dataLength": 255 + }, + { + "name": "test_col_0152", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 152 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 152 + }, + { + "name": "test_col_0153", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 153 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 153 + }, + { + "name": "test_col_0154", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 154 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 154 + }, + { + "name": "test_col_0155", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 155 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 155 + }, + { + "name": "test_col_0156", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 156 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 156 + }, + { + "name": "test_col_0157", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 157 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 157 + }, + { + "name": "test_col_0158", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 158 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 158 + }, + { + "name": "test_col_0159", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 159 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 159 + }, + { + "name": "test_col_0160", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 160 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 160 + }, + { + "name": "test_col_0161", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 161 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 161, + "dataLength": 255 + }, + { + "name": "test_col_0162", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 162 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 162 + }, + { + "name": "test_col_0163", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 163 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 163 + }, + { + "name": "test_col_0164", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 164 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 164 + }, + { + "name": "test_col_0165", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 165 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 165 + }, + { + "name": "test_col_0166", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 166 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 166 + }, + { + "name": "test_col_0167", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 167 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 167 + }, + { + "name": "test_col_0168", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 168 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 168 + }, + { + "name": "test_col_0169", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 169 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 169 + }, + { + "name": "test_col_0170", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 170 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 170 + }, + { + "name": "test_col_0171", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 171 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 171, + "dataLength": 255 + }, + { + "name": "test_col_0172", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 172 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 172 + }, + { + "name": "test_col_0173", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 173 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 173 + }, + { + "name": "test_col_0174", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 174 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 174 + }, + { + "name": "test_col_0175", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 175 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 175 + }, + { + "name": "test_col_0176", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 176 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 176 + }, + { + "name": "test_col_0177", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 177 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 177 + }, + { + "name": "test_col_0178", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 178 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 178 + }, + { + "name": "test_col_0179", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 179 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 179 + }, + { + "name": "test_col_0180", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 180 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 180 + }, + { + "name": "test_col_0181", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 181 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 181, + "dataLength": 255 + }, + { + "name": "test_col_0182", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 182 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 182 + }, + { + "name": "test_col_0183", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 183 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 183 + }, + { + "name": "test_col_0184", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 184 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 184 + }, + { + "name": "test_col_0185", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 185 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 185 + }, + { + "name": "test_col_0186", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 186 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 186 + }, + { + "name": "test_col_0187", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 187 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 187 + }, + { + "name": "test_col_0188", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 188 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 188 + }, + { + "name": "test_col_0189", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 189 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 189 + }, + { + "name": "test_col_0190", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 190 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 190 + }, + { + "name": "test_col_0191", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 191 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 191, + "dataLength": 255 + }, + { + "name": "test_col_0192", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 192 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 192 + }, + { + "name": "test_col_0193", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 193 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 193 + }, + { + "name": "test_col_0194", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 194 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 194 + }, + { + "name": "test_col_0195", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 195 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 195 + }, + { + "name": "test_col_0196", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 196 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 196 + }, + { + "name": "test_col_0197", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 197 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 197 + }, + { + "name": "test_col_0198", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 198 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 198 + }, + { + "name": "test_col_0199", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 199 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 199 + }, + { + "name": "test_col_0200", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 200 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 200 + }, + { + "name": "test_col_0201", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 201 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 201, + "dataLength": 255 + }, + { + "name": "test_col_0202", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 202 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 202 + }, + { + "name": "test_col_0203", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 203 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 203 + }, + { + "name": "test_col_0204", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 204 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 204 + }, + { + "name": "test_col_0205", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 205 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 205 + }, + { + "name": "test_col_0206", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 206 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 206 + }, + { + "name": "test_col_0207", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 207 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 207 + }, + { + "name": "test_col_0208", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 208 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 208 + }, + { + "name": "test_col_0209", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 209 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 209 + }, + { + "name": "test_col_0210", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 210 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 210 + }, + { + "name": "test_col_0211", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 211 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 211, + "dataLength": 255 + }, + { + "name": "test_col_0212", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 212 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 212 + }, + { + "name": "test_col_0213", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 213 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 213 + }, + { + "name": "test_col_0214", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 214 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 214 + }, + { + "name": "test_col_0215", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 215 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 215 + }, + { + "name": "test_col_0216", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 216 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 216 + }, + { + "name": "test_col_0217", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 217 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 217 + }, + { + "name": "test_col_0218", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 218 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 218 + }, + { + "name": "test_col_0219", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 219 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 219 + }, + { + "name": "test_col_0220", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 220 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 220 + }, + { + "name": "test_col_0221", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 221 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 221, + "dataLength": 255 + }, + { + "name": "test_col_0222", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 222 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 222 + }, + { + "name": "test_col_0223", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 223 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 223 + }, + { + "name": "test_col_0224", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 224 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 224 + }, + { + "name": "test_col_0225", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 225 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 225 + }, + { + "name": "test_col_0226", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 226 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 226 + }, + { + "name": "test_col_0227", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 227 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 227 + }, + { + "name": "test_col_0228", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 228 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 228 + }, + { + "name": "test_col_0229", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 229 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 229 + }, + { + "name": "test_col_0230", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 230 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 230 + }, + { + "name": "test_col_0231", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 231 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 231, + "dataLength": 255 + }, + { + "name": "test_col_0232", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 232 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 232 + }, + { + "name": "test_col_0233", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 233 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 233 + }, + { + "name": "test_col_0234", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 234 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 234 + }, + { + "name": "test_col_0235", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 235 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 235 + }, + { + "name": "test_col_0236", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 236 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 236 + }, + { + "name": "test_col_0237", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 237 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 237 + }, + { + "name": "test_col_0238", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 238 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 238 + }, + { + "name": "test_col_0239", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 239 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 239 + }, + { + "name": "test_col_0240", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 240 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 240 + }, + { + "name": "test_col_0241", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 241 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 241, + "dataLength": 255 + }, + { + "name": "test_col_0242", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 242 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 242 + }, + { + "name": "test_col_0243", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 243 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 243 + }, + { + "name": "test_col_0244", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 244 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 244 + }, + { + "name": "test_col_0245", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 245 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 245 + }, + { + "name": "test_col_0246", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 246 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 246 + }, + { + "name": "test_col_0247", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 247 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 247 + }, + { + "name": "test_col_0248", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 248 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 248 + }, + { + "name": "test_col_0249", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 249 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 249 + }, + { + "name": "test_col_0250", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 250 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 250 + }, + { + "name": "test_col_0251", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 251 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 251, + "dataLength": 255 + }, + { + "name": "test_col_0252", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 252 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 252 + }, + { + "name": "test_col_0253", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 253 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 253 + }, + { + "name": "test_col_0254", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 254 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 254 + }, + { + "name": "test_col_0255", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 255 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 255 + }, + { + "name": "test_col_0256", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 256 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 256 + }, + { + "name": "test_col_0257", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 257 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 257 + }, + { + "name": "test_col_0258", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 258 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 258 + }, + { + "name": "test_col_0259", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 259 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 259 + }, + { + "name": "test_col_0260", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 260 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 260 + }, + { + "name": "test_col_0261", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 261 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 261, + "dataLength": 255 + }, + { + "name": "test_col_0262", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 262 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 262 + }, + { + "name": "test_col_0263", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 263 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 263 + }, + { + "name": "test_col_0264", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 264 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 264 + }, + { + "name": "test_col_0265", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 265 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 265 + }, + { + "name": "test_col_0266", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 266 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 266 + }, + { + "name": "test_col_0267", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 267 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 267 + }, + { + "name": "test_col_0268", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 268 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 268 + }, + { + "name": "test_col_0269", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 269 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 269 + }, + { + "name": "test_col_0270", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 270 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 270 + }, + { + "name": "test_col_0271", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 271 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 271, + "dataLength": 255 + }, + { + "name": "test_col_0272", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 272 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 272 + }, + { + "name": "test_col_0273", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 273 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 273 + }, + { + "name": "test_col_0274", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 274 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 274 + }, + { + "name": "test_col_0275", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 275 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 275 + }, + { + "name": "test_col_0276", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 276 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 276 + }, + { + "name": "test_col_0277", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 277 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 277 + }, + { + "name": "test_col_0278", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 278 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 278 + }, + { + "name": "test_col_0279", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 279 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 279 + }, + { + "name": "test_col_0280", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 280 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 280 + }, + { + "name": "test_col_0281", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 281 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 281, + "dataLength": 255 + }, + { + "name": "test_col_0282", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 282 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 282 + }, + { + "name": "test_col_0283", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 283 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 283 + }, + { + "name": "test_col_0284", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 284 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 284 + }, + { + "name": "test_col_0285", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 285 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 285 + }, + { + "name": "test_col_0286", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 286 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 286 + }, + { + "name": "test_col_0287", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 287 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 287 + }, + { + "name": "test_col_0288", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 288 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 288 + }, + { + "name": "test_col_0289", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 289 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 289 + }, + { + "name": "test_col_0290", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 290 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 290 + }, + { + "name": "test_col_0291", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 291 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 291, + "dataLength": 255 + }, + { + "name": "test_col_0292", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 292 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 292 + }, + { + "name": "test_col_0293", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 293 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 293 + }, + { + "name": "test_col_0294", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 294 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 294 + }, + { + "name": "test_col_0295", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 295 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 295 + }, + { + "name": "test_col_0296", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 296 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 296 + }, + { + "name": "test_col_0297", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 297 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 297 + }, + { + "name": "test_col_0298", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 298 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 298 + }, + { + "name": "test_col_0299", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 299 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 299 + }, + { + "name": "test_col_0300", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 300 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 300 + }, + { + "name": "test_col_0301", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 301 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 301, + "dataLength": 255 + }, + { + "name": "test_col_0302", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 302 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 302 + }, + { + "name": "test_col_0303", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 303 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 303 + }, + { + "name": "test_col_0304", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 304 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 304 + }, + { + "name": "test_col_0305", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 305 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 305 + }, + { + "name": "test_col_0306", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 306 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 306 + }, + { + "name": "test_col_0307", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 307 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 307 + }, + { + "name": "test_col_0308", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 308 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 308 + }, + { + "name": "test_col_0309", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 309 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 309 + }, + { + "name": "test_col_0310", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 310 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 310 + }, + { + "name": "test_col_0311", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 311 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 311, + "dataLength": 255 + }, + { + "name": "test_col_0312", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 312 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 312 + }, + { + "name": "test_col_0313", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 313 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 313 + }, + { + "name": "test_col_0314", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 314 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 314 + }, + { + "name": "test_col_0315", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 315 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 315 + }, + { + "name": "test_col_0316", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 316 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 316 + }, + { + "name": "test_col_0317", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 317 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 317 + }, + { + "name": "test_col_0318", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 318 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 318 + }, + { + "name": "test_col_0319", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 319 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 319 + }, + { + "name": "test_col_0320", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 320 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 320 + }, + { + "name": "test_col_0321", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 321 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 321, + "dataLength": 255 + }, + { + "name": "test_col_0322", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 322 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 322 + }, + { + "name": "test_col_0323", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 323 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 323 + }, + { + "name": "test_col_0324", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 324 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 324 + }, + { + "name": "test_col_0325", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 325 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 325 + }, + { + "name": "test_col_0326", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 326 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 326 + }, + { + "name": "test_col_0327", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 327 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 327 + }, + { + "name": "test_col_0328", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 328 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 328 + }, + { + "name": "test_col_0329", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 329 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 329 + }, + { + "name": "test_col_0330", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 330 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 330 + }, + { + "name": "test_col_0331", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 331 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 331, + "dataLength": 255 + }, + { + "name": "test_col_0332", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 332 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 332 + }, + { + "name": "test_col_0333", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 333 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 333 + }, + { + "name": "test_col_0334", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 334 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 334 + }, + { + "name": "test_col_0335", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 335 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 335 + }, + { + "name": "test_col_0336", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 336 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 336 + }, + { + "name": "test_col_0337", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 337 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 337 + }, + { + "name": "test_col_0338", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 338 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 338 + }, + { + "name": "test_col_0339", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 339 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 339 + }, + { + "name": "test_col_0340", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 340 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 340 + }, + { + "name": "test_col_0341", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 341 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 341, + "dataLength": 255 + }, + { + "name": "test_col_0342", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 342 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 342 + }, + { + "name": "test_col_0343", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 343 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 343 + }, + { + "name": "test_col_0344", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 344 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 344 + }, + { + "name": "test_col_0345", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 345 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 345 + }, + { + "name": "test_col_0346", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 346 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 346 + }, + { + "name": "test_col_0347", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 347 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 347 + }, + { + "name": "test_col_0348", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 348 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 348 + }, + { + "name": "test_col_0349", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 349 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 349 + }, + { + "name": "test_col_0350", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 350 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 350 + }, + { + "name": "test_col_0351", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 351 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 351, + "dataLength": 255 + }, + { + "name": "test_col_0352", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 352 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 352 + }, + { + "name": "test_col_0353", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 353 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 353 + }, + { + "name": "test_col_0354", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 354 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 354 + }, + { + "name": "test_col_0355", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 355 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 355 + }, + { + "name": "test_col_0356", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 356 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 356 + }, + { + "name": "test_col_0357", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 357 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 357 + }, + { + "name": "test_col_0358", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 358 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 358 + }, + { + "name": "test_col_0359", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 359 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 359 + }, + { + "name": "test_col_0360", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 360 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 360 + }, + { + "name": "test_col_0361", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 361 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 361, + "dataLength": 255 + }, + { + "name": "test_col_0362", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 362 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 362 + }, + { + "name": "test_col_0363", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 363 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 363 + }, + { + "name": "test_col_0364", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 364 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 364 + }, + { + "name": "test_col_0365", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 365 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 365 + }, + { + "name": "test_col_0366", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 366 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 366 + }, + { + "name": "test_col_0367", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 367 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 367 + }, + { + "name": "test_col_0368", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 368 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 368 + }, + { + "name": "test_col_0369", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 369 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 369 + }, + { + "name": "test_col_0370", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 370 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 370 + }, + { + "name": "test_col_0371", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 371 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 371, + "dataLength": 255 + }, + { + "name": "test_col_0372", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 372 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 372 + }, + { + "name": "test_col_0373", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 373 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 373 + }, + { + "name": "test_col_0374", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 374 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 374 + }, + { + "name": "test_col_0375", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 375 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 375 + }, + { + "name": "test_col_0376", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 376 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 376 + }, + { + "name": "test_col_0377", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 377 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 377 + }, + { + "name": "test_col_0378", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 378 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 378 + }, + { + "name": "test_col_0379", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 379 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 379 + }, + { + "name": "test_col_0380", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 380 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 380 + }, + { + "name": "test_col_0381", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 381 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 381, + "dataLength": 255 + }, + { + "name": "test_col_0382", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 382 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 382 + }, + { + "name": "test_col_0383", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 383 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 383 + }, + { + "name": "test_col_0384", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 384 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 384 + }, + { + "name": "test_col_0385", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 385 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 385 + }, + { + "name": "test_col_0386", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 386 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 386 + }, + { + "name": "test_col_0387", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 387 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 387 + }, + { + "name": "test_col_0388", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 388 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 388 + }, + { + "name": "test_col_0389", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 389 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 389 + }, + { + "name": "test_col_0390", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 390 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 390 + }, + { + "name": "test_col_0391", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 391 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 391, + "dataLength": 255 + }, + { + "name": "test_col_0392", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 392 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 392 + }, + { + "name": "test_col_0393", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 393 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 393 + }, + { + "name": "test_col_0394", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 394 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 394 + }, + { + "name": "test_col_0395", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 395 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 395 + }, + { + "name": "test_col_0396", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 396 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 396 + }, + { + "name": "test_col_0397", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 397 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 397 + }, + { + "name": "test_col_0398", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 398 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 398 + }, + { + "name": "test_col_0399", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 399 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 399 + }, + { + "name": "test_col_0400", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 400 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 400 + }, + { + "name": "test_col_0401", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 401 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 401, + "dataLength": 255 + }, + { + "name": "test_col_0402", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 402 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 402 + }, + { + "name": "test_col_0403", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 403 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 403 + }, + { + "name": "test_col_0404", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 404 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 404 + }, + { + "name": "test_col_0405", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 405 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 405 + }, + { + "name": "test_col_0406", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 406 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 406 + }, + { + "name": "test_col_0407", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 407 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 407 + }, + { + "name": "test_col_0408", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 408 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 408 + }, + { + "name": "test_col_0409", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 409 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 409 + }, + { + "name": "test_col_0410", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 410 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 410 + }, + { + "name": "test_col_0411", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 411 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 411, + "dataLength": 255 + }, + { + "name": "test_col_0412", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 412 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 412 + }, + { + "name": "test_col_0413", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 413 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 413 + }, + { + "name": "test_col_0414", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 414 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 414 + }, + { + "name": "test_col_0415", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 415 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 415 + }, + { + "name": "test_col_0416", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 416 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 416 + }, + { + "name": "test_col_0417", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 417 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 417 + }, + { + "name": "test_col_0418", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 418 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 418 + }, + { + "name": "test_col_0419", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 419 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 419 + }, + { + "name": "test_col_0420", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 420 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 420 + }, + { + "name": "test_col_0421", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 421 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 421, + "dataLength": 255 + }, + { + "name": "test_col_0422", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 422 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 422 + }, + { + "name": "test_col_0423", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 423 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 423 + }, + { + "name": "test_col_0424", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 424 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 424 + }, + { + "name": "test_col_0425", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 425 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 425 + }, + { + "name": "test_col_0426", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 426 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 426 + }, + { + "name": "test_col_0427", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 427 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 427 + }, + { + "name": "test_col_0428", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 428 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 428 + }, + { + "name": "test_col_0429", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 429 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 429 + }, + { + "name": "test_col_0430", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 430 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 430 + }, + { + "name": "test_col_0431", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 431 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 431, + "dataLength": 255 + }, + { + "name": "test_col_0432", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 432 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 432 + }, + { + "name": "test_col_0433", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 433 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 433 + }, + { + "name": "test_col_0434", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 434 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 434 + }, + { + "name": "test_col_0435", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 435 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 435 + }, + { + "name": "test_col_0436", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 436 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 436 + }, + { + "name": "test_col_0437", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 437 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 437 + }, + { + "name": "test_col_0438", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 438 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 438 + }, + { + "name": "test_col_0439", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 439 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 439 + }, + { + "name": "test_col_0440", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 440 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 440 + }, + { + "name": "test_col_0441", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 441 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 441, + "dataLength": 255 + }, + { + "name": "test_col_0442", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 442 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 442 + }, + { + "name": "test_col_0443", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 443 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 443 + }, + { + "name": "test_col_0444", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 444 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 444 + }, + { + "name": "test_col_0445", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 445 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 445 + }, + { + "name": "test_col_0446", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 446 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 446 + }, + { + "name": "test_col_0447", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 447 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 447 + }, + { + "name": "test_col_0448", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 448 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 448 + }, + { + "name": "test_col_0449", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 449 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 449 + }, + { + "name": "test_col_0450", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 450 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 450 + }, + { + "name": "test_col_0451", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 451 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 451, + "dataLength": 255 + }, + { + "name": "test_col_0452", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 452 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 452 + }, + { + "name": "test_col_0453", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 453 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 453 + }, + { + "name": "test_col_0454", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 454 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 454 + }, + { + "name": "test_col_0455", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 455 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 455 + }, + { + "name": "test_col_0456", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 456 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 456 + }, + { + "name": "test_col_0457", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 457 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 457 + }, + { + "name": "test_col_0458", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 458 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 458 + }, + { + "name": "test_col_0459", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 459 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 459 + }, + { + "name": "test_col_0460", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 460 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 460 + }, + { + "name": "test_col_0461", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 461 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 461, + "dataLength": 255 + }, + { + "name": "test_col_0462", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 462 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 462 + }, + { + "name": "test_col_0463", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 463 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 463 + }, + { + "name": "test_col_0464", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 464 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 464 + }, + { + "name": "test_col_0465", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 465 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 465 + }, + { + "name": "test_col_0466", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 466 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 466 + }, + { + "name": "test_col_0467", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 467 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 467 + }, + { + "name": "test_col_0468", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 468 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 468 + }, + { + "name": "test_col_0469", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 469 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 469 + }, + { + "name": "test_col_0470", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 470 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 470 + }, + { + "name": "test_col_0471", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 471 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 471, + "dataLength": 255 + }, + { + "name": "test_col_0472", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 472 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 472 + }, + { + "name": "test_col_0473", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 473 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 473 + }, + { + "name": "test_col_0474", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 474 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 474 + }, + { + "name": "test_col_0475", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 475 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 475 + }, + { + "name": "test_col_0476", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 476 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 476 + }, + { + "name": "test_col_0477", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 477 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 477 + }, + { + "name": "test_col_0478", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 478 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 478 + }, + { + "name": "test_col_0479", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 479 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 479 + }, + { + "name": "test_col_0480", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 480 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 480 + }, + { + "name": "test_col_0481", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 481 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 481, + "dataLength": 255 + }, + { + "name": "test_col_0482", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 482 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 482 + }, + { + "name": "test_col_0483", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 483 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 483 + }, + { + "name": "test_col_0484", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 484 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 484 + }, + { + "name": "test_col_0485", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 485 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 485 + }, + { + "name": "test_col_0486", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 486 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 486 + }, + { + "name": "test_col_0487", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 487 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 487 + }, + { + "name": "test_col_0488", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 488 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 488 + }, + { + "name": "test_col_0489", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 489 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 489 + }, + { + "name": "test_col_0490", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 490 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 490 + }, + { + "name": "test_col_0491", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 491 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 491, + "dataLength": 255 + }, + { + "name": "test_col_0492", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 492 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 492 + }, + { + "name": "test_col_0493", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 493 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 493 + }, + { + "name": "test_col_0494", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 494 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 494 + }, + { + "name": "test_col_0495", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 495 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 495 + }, + { + "name": "test_col_0496", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 496 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 496 + }, + { + "name": "test_col_0497", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 497 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 497 + }, + { + "name": "test_col_0498", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 498 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 498 + }, + { + "name": "test_col_0499", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 499 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 499 + }, + { + "name": "test_col_0500", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 500 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 500 + }, + { + "name": "test_col_0501", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 501 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 501, + "dataLength": 255 + }, + { + "name": "test_col_0502", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 502 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 502 + }, + { + "name": "test_col_0503", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 503 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 503 + }, + { + "name": "test_col_0504", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 504 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 504 + }, + { + "name": "test_col_0505", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 505 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 505 + }, + { + "name": "test_col_0506", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 506 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 506 + }, + { + "name": "test_col_0507", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 507 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 507 + }, + { + "name": "test_col_0508", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 508 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 508 + }, + { + "name": "test_col_0509", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 509 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 509 + }, + { + "name": "test_col_0510", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 510 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 510 + }, + { + "name": "test_col_0511", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 511 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 511, + "dataLength": 255 + }, + { + "name": "test_col_0512", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 512 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 512 + }, + { + "name": "test_col_0513", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 513 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 513 + }, + { + "name": "test_col_0514", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 514 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 514 + }, + { + "name": "test_col_0515", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 515 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 515 + }, + { + "name": "test_col_0516", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 516 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 516 + }, + { + "name": "test_col_0517", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 517 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 517 + }, + { + "name": "test_col_0518", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 518 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 518 + }, + { + "name": "test_col_0519", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 519 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 519 + }, + { + "name": "test_col_0520", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 520 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 520 + }, + { + "name": "test_col_0521", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 521 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 521, + "dataLength": 255 + }, + { + "name": "test_col_0522", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 522 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 522 + }, + { + "name": "test_col_0523", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 523 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 523 + }, + { + "name": "test_col_0524", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 524 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 524 + }, + { + "name": "test_col_0525", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 525 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 525 + }, + { + "name": "test_col_0526", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 526 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 526 + }, + { + "name": "test_col_0527", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 527 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 527 + }, + { + "name": "test_col_0528", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 528 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 528 + }, + { + "name": "test_col_0529", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 529 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 529 + }, + { + "name": "test_col_0530", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 530 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 530 + }, + { + "name": "test_col_0531", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 531 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 531, + "dataLength": 255 + }, + { + "name": "test_col_0532", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 532 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 532 + }, + { + "name": "test_col_0533", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 533 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 533 + }, + { + "name": "test_col_0534", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 534 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 534 + }, + { + "name": "test_col_0535", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 535 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 535 + }, + { + "name": "test_col_0536", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 536 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 536 + }, + { + "name": "test_col_0537", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 537 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 537 + }, + { + "name": "test_col_0538", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 538 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 538 + }, + { + "name": "test_col_0539", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 539 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 539 + }, + { + "name": "test_col_0540", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 540 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 540 + }, + { + "name": "test_col_0541", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 541 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 541, + "dataLength": 255 + }, + { + "name": "test_col_0542", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 542 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 542 + }, + { + "name": "test_col_0543", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 543 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 543 + }, + { + "name": "test_col_0544", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 544 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 544 + }, + { + "name": "test_col_0545", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 545 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 545 + }, + { + "name": "test_col_0546", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 546 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 546 + }, + { + "name": "test_col_0547", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 547 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 547 + }, + { + "name": "test_col_0548", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 548 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 548 + }, + { + "name": "test_col_0549", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 549 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 549 + }, + { + "name": "test_col_0550", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 550 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 550 + }, + { + "name": "test_col_0551", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 551 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 551, + "dataLength": 255 + }, + { + "name": "test_col_0552", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 552 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 552 + }, + { + "name": "test_col_0553", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 553 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 553 + }, + { + "name": "test_col_0554", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 554 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 554 + }, + { + "name": "test_col_0555", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 555 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 555 + }, + { + "name": "test_col_0556", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 556 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 556 + }, + { + "name": "test_col_0557", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 557 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 557 + }, + { + "name": "test_col_0558", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 558 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 558 + }, + { + "name": "test_col_0559", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 559 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 559 + }, + { + "name": "test_col_0560", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 560 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 560 + }, + { + "name": "test_col_0561", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 561 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 561, + "dataLength": 255 + }, + { + "name": "test_col_0562", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 562 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 562 + }, + { + "name": "test_col_0563", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 563 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 563 + }, + { + "name": "test_col_0564", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 564 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 564 + }, + { + "name": "test_col_0565", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 565 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 565 + }, + { + "name": "test_col_0566", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 566 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 566 + }, + { + "name": "test_col_0567", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 567 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 567 + }, + { + "name": "test_col_0568", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 568 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 568 + }, + { + "name": "test_col_0569", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 569 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 569 + }, + { + "name": "test_col_0570", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 570 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 570 + }, + { + "name": "test_col_0571", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 571 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 571, + "dataLength": 255 + }, + { + "name": "test_col_0572", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 572 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 572 + }, + { + "name": "test_col_0573", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 573 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 573 + }, + { + "name": "test_col_0574", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 574 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 574 + }, + { + "name": "test_col_0575", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 575 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 575 + }, + { + "name": "test_col_0576", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 576 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 576 + }, + { + "name": "test_col_0577", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 577 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 577 + }, + { + "name": "test_col_0578", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 578 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 578 + }, + { + "name": "test_col_0579", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 579 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 579 + }, + { + "name": "test_col_0580", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 580 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 580 + }, + { + "name": "test_col_0581", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 581 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 581, + "dataLength": 255 + }, + { + "name": "test_col_0582", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 582 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 582 + }, + { + "name": "test_col_0583", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 583 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 583 + }, + { + "name": "test_col_0584", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 584 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 584 + }, + { + "name": "test_col_0585", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 585 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 585 + }, + { + "name": "test_col_0586", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 586 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 586 + }, + { + "name": "test_col_0587", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 587 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 587 + }, + { + "name": "test_col_0588", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 588 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 588 + }, + { + "name": "test_col_0589", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 589 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 589 + }, + { + "name": "test_col_0590", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 590 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 590 + }, + { + "name": "test_col_0591", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 591 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 591, + "dataLength": 255 + }, + { + "name": "test_col_0592", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 592 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 592 + }, + { + "name": "test_col_0593", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 593 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 593 + }, + { + "name": "test_col_0594", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 594 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 594 + }, + { + "name": "test_col_0595", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 595 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 595 + }, + { + "name": "test_col_0596", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 596 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 596 + }, + { + "name": "test_col_0597", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 597 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 597 + }, + { + "name": "test_col_0598", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 598 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 598 + }, + { + "name": "test_col_0599", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 599 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 599 + }, + { + "name": "test_col_0600", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 600 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 600 + }, + { + "name": "test_col_0601", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 601 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 601, + "dataLength": 255 + }, + { + "name": "test_col_0602", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 602 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 602 + }, + { + "name": "test_col_0603", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 603 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 603 + }, + { + "name": "test_col_0604", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 604 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 604 + }, + { + "name": "test_col_0605", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 605 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 605 + }, + { + "name": "test_col_0606", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 606 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 606 + }, + { + "name": "test_col_0607", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 607 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 607 + }, + { + "name": "test_col_0608", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 608 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 608 + }, + { + "name": "test_col_0609", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 609 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 609 + }, + { + "name": "test_col_0610", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 610 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 610 + }, + { + "name": "test_col_0611", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 611 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 611, + "dataLength": 255 + }, + { + "name": "test_col_0612", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 612 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 612 + }, + { + "name": "test_col_0613", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 613 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 613 + }, + { + "name": "test_col_0614", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 614 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 614 + }, + { + "name": "test_col_0615", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 615 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 615 + }, + { + "name": "test_col_0616", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 616 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 616 + }, + { + "name": "test_col_0617", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 617 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 617 + }, + { + "name": "test_col_0618", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 618 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 618 + }, + { + "name": "test_col_0619", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 619 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 619 + }, + { + "name": "test_col_0620", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 620 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 620 + }, + { + "name": "test_col_0621", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 621 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 621, + "dataLength": 255 + }, + { + "name": "test_col_0622", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 622 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 622 + }, + { + "name": "test_col_0623", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 623 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 623 + }, + { + "name": "test_col_0624", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 624 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 624 + }, + { + "name": "test_col_0625", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 625 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 625 + }, + { + "name": "test_col_0626", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 626 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 626 + }, + { + "name": "test_col_0627", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 627 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 627 + }, + { + "name": "test_col_0628", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 628 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 628 + }, + { + "name": "test_col_0629", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 629 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 629 + }, + { + "name": "test_col_0630", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 630 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 630 + }, + { + "name": "test_col_0631", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 631 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 631, + "dataLength": 255 + }, + { + "name": "test_col_0632", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 632 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 632 + }, + { + "name": "test_col_0633", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 633 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 633 + }, + { + "name": "test_col_0634", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 634 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 634 + }, + { + "name": "test_col_0635", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 635 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 635 + }, + { + "name": "test_col_0636", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 636 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 636 + }, + { + "name": "test_col_0637", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 637 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 637 + }, + { + "name": "test_col_0638", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 638 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 638 + }, + { + "name": "test_col_0639", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 639 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 639 + }, + { + "name": "test_col_0640", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 640 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 640 + }, + { + "name": "test_col_0641", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 641 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 641, + "dataLength": 255 + }, + { + "name": "test_col_0642", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 642 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 642 + }, + { + "name": "test_col_0643", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 643 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 643 + }, + { + "name": "test_col_0644", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 644 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 644 + }, + { + "name": "test_col_0645", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 645 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 645 + }, + { + "name": "test_col_0646", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 646 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 646 + }, + { + "name": "test_col_0647", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 647 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 647 + }, + { + "name": "test_col_0648", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 648 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 648 + }, + { + "name": "test_col_0649", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 649 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 649 + }, + { + "name": "test_col_0650", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 650 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 650 + }, + { + "name": "test_col_0651", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 651 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 651, + "dataLength": 255 + }, + { + "name": "test_col_0652", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 652 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 652 + }, + { + "name": "test_col_0653", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 653 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 653 + }, + { + "name": "test_col_0654", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 654 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 654 + }, + { + "name": "test_col_0655", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 655 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 655 + }, + { + "name": "test_col_0656", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 656 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 656 + }, + { + "name": "test_col_0657", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 657 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 657 + }, + { + "name": "test_col_0658", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 658 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 658 + }, + { + "name": "test_col_0659", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 659 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 659 + }, + { + "name": "test_col_0660", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 660 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 660 + }, + { + "name": "test_col_0661", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 661 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 661, + "dataLength": 255 + }, + { + "name": "test_col_0662", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 662 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 662 + }, + { + "name": "test_col_0663", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 663 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 663 + }, + { + "name": "test_col_0664", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 664 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 664 + }, + { + "name": "test_col_0665", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 665 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 665 + }, + { + "name": "test_col_0666", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 666 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 666 + }, + { + "name": "test_col_0667", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 667 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 667 + }, + { + "name": "test_col_0668", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 668 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 668 + }, + { + "name": "test_col_0669", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 669 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 669 + }, + { + "name": "test_col_0670", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 670 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 670 + }, + { + "name": "test_col_0671", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 671 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 671, + "dataLength": 255 + }, + { + "name": "test_col_0672", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 672 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 672 + }, + { + "name": "test_col_0673", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 673 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 673 + }, + { + "name": "test_col_0674", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 674 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 674 + }, + { + "name": "test_col_0675", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 675 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 675 + }, + { + "name": "test_col_0676", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 676 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 676 + }, + { + "name": "test_col_0677", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 677 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 677 + }, + { + "name": "test_col_0678", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 678 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 678 + }, + { + "name": "test_col_0679", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 679 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 679 + }, + { + "name": "test_col_0680", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 680 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 680 + }, + { + "name": "test_col_0681", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 681 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 681, + "dataLength": 255 + }, + { + "name": "test_col_0682", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 682 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 682 + }, + { + "name": "test_col_0683", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 683 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 683 + }, + { + "name": "test_col_0684", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 684 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 684 + }, + { + "name": "test_col_0685", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 685 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 685 + }, + { + "name": "test_col_0686", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 686 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 686 + }, + { + "name": "test_col_0687", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 687 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 687 + }, + { + "name": "test_col_0688", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 688 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 688 + }, + { + "name": "test_col_0689", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 689 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 689 + }, + { + "name": "test_col_0690", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 690 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 690 + }, + { + "name": "test_col_0691", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 691 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 691, + "dataLength": 255 + }, + { + "name": "test_col_0692", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 692 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 692 + }, + { + "name": "test_col_0693", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 693 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 693 + }, + { + "name": "test_col_0694", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 694 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 694 + }, + { + "name": "test_col_0695", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 695 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 695 + }, + { + "name": "test_col_0696", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 696 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 696 + }, + { + "name": "test_col_0697", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 697 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 697 + }, + { + "name": "test_col_0698", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 698 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 698 + }, + { + "name": "test_col_0699", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 699 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 699 + }, + { + "name": "test_col_0700", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 700 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 700 + }, + { + "name": "test_col_0701", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 701 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 701, + "dataLength": 255 + }, + { + "name": "test_col_0702", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 702 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 702 + }, + { + "name": "test_col_0703", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 703 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 703 + }, + { + "name": "test_col_0704", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 704 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 704 + }, + { + "name": "test_col_0705", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 705 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 705 + }, + { + "name": "test_col_0706", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 706 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 706 + }, + { + "name": "test_col_0707", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 707 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 707 + }, + { + "name": "test_col_0708", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 708 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 708 + }, + { + "name": "test_col_0709", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 709 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 709 + }, + { + "name": "test_col_0710", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 710 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 710 + }, + { + "name": "test_col_0711", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 711 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 711, + "dataLength": 255 + }, + { + "name": "test_col_0712", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 712 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 712 + }, + { + "name": "test_col_0713", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 713 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 713 + }, + { + "name": "test_col_0714", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 714 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 714 + }, + { + "name": "test_col_0715", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 715 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 715 + }, + { + "name": "test_col_0716", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 716 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 716 + }, + { + "name": "test_col_0717", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 717 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 717 + }, + { + "name": "test_col_0718", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 718 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 718 + }, + { + "name": "test_col_0719", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 719 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 719 + }, + { + "name": "test_col_0720", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 720 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 720 + }, + { + "name": "test_col_0721", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 721 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 721, + "dataLength": 255 + }, + { + "name": "test_col_0722", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 722 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 722 + }, + { + "name": "test_col_0723", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 723 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 723 + }, + { + "name": "test_col_0724", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 724 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 724 + }, + { + "name": "test_col_0725", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 725 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 725 + }, + { + "name": "test_col_0726", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 726 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 726 + }, + { + "name": "test_col_0727", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 727 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 727 + }, + { + "name": "test_col_0728", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 728 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 728 + }, + { + "name": "test_col_0729", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 729 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 729 + }, + { + "name": "test_col_0730", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 730 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 730 + }, + { + "name": "test_col_0731", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 731 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 731, + "dataLength": 255 + }, + { + "name": "test_col_0732", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 732 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 732 + }, + { + "name": "test_col_0733", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 733 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 733 + }, + { + "name": "test_col_0734", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 734 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 734 + }, + { + "name": "test_col_0735", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 735 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 735 + }, + { + "name": "test_col_0736", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 736 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 736 + }, + { + "name": "test_col_0737", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 737 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 737 + }, + { + "name": "test_col_0738", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 738 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 738 + }, + { + "name": "test_col_0739", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 739 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 739 + }, + { + "name": "test_col_0740", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 740 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 740 + }, + { + "name": "test_col_0741", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 741 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 741, + "dataLength": 255 + }, + { + "name": "test_col_0742", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 742 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 742 + }, + { + "name": "test_col_0743", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 743 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 743 + }, + { + "name": "test_col_0744", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 744 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 744 + }, + { + "name": "test_col_0745", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 745 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 745 + }, + { + "name": "test_col_0746", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 746 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 746 + }, + { + "name": "test_col_0747", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 747 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 747 + }, + { + "name": "test_col_0748", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 748 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 748 + }, + { + "name": "test_col_0749", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 749 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 749 + }, + { + "name": "test_col_0750", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 750 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 750 + }, + { + "name": "test_col_0751", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 751 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 751, + "dataLength": 255 + }, + { + "name": "test_col_0752", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 752 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 752 + }, + { + "name": "test_col_0753", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 753 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 753 + }, + { + "name": "test_col_0754", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 754 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 754 + }, + { + "name": "test_col_0755", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 755 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 755 + }, + { + "name": "test_col_0756", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 756 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 756 + }, + { + "name": "test_col_0757", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 757 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 757 + }, + { + "name": "test_col_0758", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 758 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 758 + }, + { + "name": "test_col_0759", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 759 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 759 + }, + { + "name": "test_col_0760", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 760 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 760 + }, + { + "name": "test_col_0761", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 761 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 761, + "dataLength": 255 + }, + { + "name": "test_col_0762", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 762 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 762 + }, + { + "name": "test_col_0763", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 763 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 763 + }, + { + "name": "test_col_0764", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 764 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 764 + }, + { + "name": "test_col_0765", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 765 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 765 + }, + { + "name": "test_col_0766", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 766 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 766 + }, + { + "name": "test_col_0767", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 767 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 767 + }, + { + "name": "test_col_0768", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 768 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 768 + }, + { + "name": "test_col_0769", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 769 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 769 + }, + { + "name": "test_col_0770", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 770 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 770 + }, + { + "name": "test_col_0771", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 771 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 771, + "dataLength": 255 + }, + { + "name": "test_col_0772", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 772 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 772 + }, + { + "name": "test_col_0773", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 773 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 773 + }, + { + "name": "test_col_0774", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 774 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 774 + }, + { + "name": "test_col_0775", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 775 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 775 + }, + { + "name": "test_col_0776", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 776 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 776 + }, + { + "name": "test_col_0777", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 777 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 777 + }, + { + "name": "test_col_0778", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 778 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 778 + }, + { + "name": "test_col_0779", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 779 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 779 + }, + { + "name": "test_col_0780", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 780 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 780 + }, + { + "name": "test_col_0781", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 781 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 781, + "dataLength": 255 + }, + { + "name": "test_col_0782", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 782 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 782 + }, + { + "name": "test_col_0783", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 783 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 783 + }, + { + "name": "test_col_0784", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 784 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 784 + }, + { + "name": "test_col_0785", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 785 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 785 + }, + { + "name": "test_col_0786", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 786 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 786 + }, + { + "name": "test_col_0787", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 787 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 787 + }, + { + "name": "test_col_0788", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 788 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 788 + }, + { + "name": "test_col_0789", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 789 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 789 + }, + { + "name": "test_col_0790", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 790 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 790 + }, + { + "name": "test_col_0791", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 791 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 791, + "dataLength": 255 + }, + { + "name": "test_col_0792", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 792 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 792 + }, + { + "name": "test_col_0793", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 793 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 793 + }, + { + "name": "test_col_0794", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 794 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 794 + }, + { + "name": "test_col_0795", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 795 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 795 + }, + { + "name": "test_col_0796", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 796 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 796 + }, + { + "name": "test_col_0797", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 797 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 797 + }, + { + "name": "test_col_0798", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 798 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 798 + }, + { + "name": "test_col_0799", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 799 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 799 + }, + { + "name": "test_col_0800", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 800 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 800 + }, + { + "name": "test_col_0801", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 801 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 801, + "dataLength": 255 + }, + { + "name": "test_col_0802", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 802 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 802 + }, + { + "name": "test_col_0803", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 803 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 803 + }, + { + "name": "test_col_0804", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 804 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 804 + }, + { + "name": "test_col_0805", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 805 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 805 + }, + { + "name": "test_col_0806", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 806 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 806 + }, + { + "name": "test_col_0807", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 807 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 807 + }, + { + "name": "test_col_0808", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 808 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 808 + }, + { + "name": "test_col_0809", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 809 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 809 + }, + { + "name": "test_col_0810", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 810 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 810 + }, + { + "name": "test_col_0811", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 811 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 811, + "dataLength": 255 + }, + { + "name": "test_col_0812", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 812 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 812 + }, + { + "name": "test_col_0813", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 813 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 813 + }, + { + "name": "test_col_0814", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 814 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 814 + }, + { + "name": "test_col_0815", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 815 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 815 + }, + { + "name": "test_col_0816", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 816 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 816 + }, + { + "name": "test_col_0817", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 817 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 817 + }, + { + "name": "test_col_0818", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 818 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 818 + }, + { + "name": "test_col_0819", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 819 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 819 + }, + { + "name": "test_col_0820", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 820 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 820 + }, + { + "name": "test_col_0821", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 821 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 821, + "dataLength": 255 + }, + { + "name": "test_col_0822", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 822 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 822 + }, + { + "name": "test_col_0823", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 823 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 823 + }, + { + "name": "test_col_0824", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 824 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 824 + }, + { + "name": "test_col_0825", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 825 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 825 + }, + { + "name": "test_col_0826", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 826 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 826 + }, + { + "name": "test_col_0827", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 827 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 827 + }, + { + "name": "test_col_0828", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 828 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 828 + }, + { + "name": "test_col_0829", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 829 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 829 + }, + { + "name": "test_col_0830", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 830 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 830 + }, + { + "name": "test_col_0831", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 831 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 831, + "dataLength": 255 + }, + { + "name": "test_col_0832", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 832 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 832 + }, + { + "name": "test_col_0833", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 833 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 833 + }, + { + "name": "test_col_0834", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 834 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 834 + }, + { + "name": "test_col_0835", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 835 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 835 + }, + { + "name": "test_col_0836", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 836 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 836 + }, + { + "name": "test_col_0837", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 837 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 837 + }, + { + "name": "test_col_0838", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 838 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 838 + }, + { + "name": "test_col_0839", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 839 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 839 + }, + { + "name": "test_col_0840", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 840 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 840 + }, + { + "name": "test_col_0841", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 841 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 841, + "dataLength": 255 + }, + { + "name": "test_col_0842", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 842 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 842 + }, + { + "name": "test_col_0843", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 843 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 843 + }, + { + "name": "test_col_0844", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 844 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 844 + }, + { + "name": "test_col_0845", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 845 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 845 + }, + { + "name": "test_col_0846", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 846 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 846 + }, + { + "name": "test_col_0847", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 847 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 847 + }, + { + "name": "test_col_0848", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 848 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 848 + }, + { + "name": "test_col_0849", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 849 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 849 + }, + { + "name": "test_col_0850", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 850 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 850 + }, + { + "name": "test_col_0851", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 851 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 851, + "dataLength": 255 + }, + { + "name": "test_col_0852", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 852 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 852 + }, + { + "name": "test_col_0853", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 853 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 853 + }, + { + "name": "test_col_0854", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 854 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 854 + }, + { + "name": "test_col_0855", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 855 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 855 + }, + { + "name": "test_col_0856", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 856 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 856 + }, + { + "name": "test_col_0857", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 857 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 857 + }, + { + "name": "test_col_0858", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 858 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 858 + }, + { + "name": "test_col_0859", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 859 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 859 + }, + { + "name": "test_col_0860", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 860 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 860 + }, + { + "name": "test_col_0861", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 861 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 861, + "dataLength": 255 + }, + { + "name": "test_col_0862", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 862 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 862 + }, + { + "name": "test_col_0863", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 863 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 863 + }, + { + "name": "test_col_0864", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 864 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 864 + }, + { + "name": "test_col_0865", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 865 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 865 + }, + { + "name": "test_col_0866", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 866 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 866 + }, + { + "name": "test_col_0867", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 867 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 867 + }, + { + "name": "test_col_0868", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 868 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 868 + }, + { + "name": "test_col_0869", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 869 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 869 + }, + { + "name": "test_col_0870", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 870 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 870 + }, + { + "name": "test_col_0871", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 871 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 871, + "dataLength": 255 + }, + { + "name": "test_col_0872", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 872 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 872 + }, + { + "name": "test_col_0873", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 873 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 873 + }, + { + "name": "test_col_0874", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 874 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 874 + }, + { + "name": "test_col_0875", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 875 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 875 + }, + { + "name": "test_col_0876", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 876 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 876 + }, + { + "name": "test_col_0877", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 877 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 877 + }, + { + "name": "test_col_0878", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 878 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 878 + }, + { + "name": "test_col_0879", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 879 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 879 + }, + { + "name": "test_col_0880", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 880 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 880 + }, + { + "name": "test_col_0881", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 881 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 881, + "dataLength": 255 + }, + { + "name": "test_col_0882", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 882 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 882 + }, + { + "name": "test_col_0883", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 883 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 883 + }, + { + "name": "test_col_0884", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 884 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 884 + }, + { + "name": "test_col_0885", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 885 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 885 + }, + { + "name": "test_col_0886", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 886 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 886 + }, + { + "name": "test_col_0887", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 887 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 887 + }, + { + "name": "test_col_0888", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 888 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 888 + }, + { + "name": "test_col_0889", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 889 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 889 + }, + { + "name": "test_col_0890", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 890 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 890 + }, + { + "name": "test_col_0891", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 891 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 891, + "dataLength": 255 + }, + { + "name": "test_col_0892", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 892 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 892 + }, + { + "name": "test_col_0893", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 893 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 893 + }, + { + "name": "test_col_0894", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 894 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 894 + }, + { + "name": "test_col_0895", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 895 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 895 + }, + { + "name": "test_col_0896", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 896 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 896 + }, + { + "name": "test_col_0897", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 897 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 897 + }, + { + "name": "test_col_0898", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 898 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 898 + }, + { + "name": "test_col_0899", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 899 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 899 + }, + { + "name": "test_col_0900", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 900 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 900 + }, + { + "name": "test_col_0901", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 901 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 901, + "dataLength": 255 + }, + { + "name": "test_col_0902", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 902 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 902 + }, + { + "name": "test_col_0903", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 903 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 903 + }, + { + "name": "test_col_0904", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 904 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 904 + }, + { + "name": "test_col_0905", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 905 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 905 + }, + { + "name": "test_col_0906", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 906 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 906 + }, + { + "name": "test_col_0907", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 907 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 907 + }, + { + "name": "test_col_0908", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 908 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 908 + }, + { + "name": "test_col_0909", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 909 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 909 + }, + { + "name": "test_col_0910", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 910 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 910 + }, + { + "name": "test_col_0911", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 911 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 911, + "dataLength": 255 + }, + { + "name": "test_col_0912", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 912 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 912 + }, + { + "name": "test_col_0913", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 913 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 913 + }, + { + "name": "test_col_0914", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 914 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 914 + }, + { + "name": "test_col_0915", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 915 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 915 + }, + { + "name": "test_col_0916", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 916 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 916 + }, + { + "name": "test_col_0917", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 917 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 917 + }, + { + "name": "test_col_0918", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 918 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 918 + }, + { + "name": "test_col_0919", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 919 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 919 + }, + { + "name": "test_col_0920", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 920 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 920 + }, + { + "name": "test_col_0921", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 921 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 921, + "dataLength": 255 + }, + { + "name": "test_col_0922", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 922 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 922 + }, + { + "name": "test_col_0923", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 923 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 923 + }, + { + "name": "test_col_0924", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 924 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 924 + }, + { + "name": "test_col_0925", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 925 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 925 + }, + { + "name": "test_col_0926", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 926 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 926 + }, + { + "name": "test_col_0927", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 927 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 927 + }, + { + "name": "test_col_0928", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 928 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 928 + }, + { + "name": "test_col_0929", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 929 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 929 + }, + { + "name": "test_col_0930", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 930 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 930 + }, + { + "name": "test_col_0931", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 931 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 931, + "dataLength": 255 + }, + { + "name": "test_col_0932", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 932 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 932 + }, + { + "name": "test_col_0933", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 933 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 933 + }, + { + "name": "test_col_0934", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 934 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 934 + }, + { + "name": "test_col_0935", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 935 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 935 + }, + { + "name": "test_col_0936", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 936 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 936 + }, + { + "name": "test_col_0937", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 937 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 937 + }, + { + "name": "test_col_0938", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 938 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 938 + }, + { + "name": "test_col_0939", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 939 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 939 + }, + { + "name": "test_col_0940", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 940 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 940 + }, + { + "name": "test_col_0941", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 941 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 941, + "dataLength": 255 + }, + { + "name": "test_col_0942", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 942 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 942 + }, + { + "name": "test_col_0943", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 943 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 943 + }, + { + "name": "test_col_0944", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 944 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 944 + }, + { + "name": "test_col_0945", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 945 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 945 + }, + { + "name": "test_col_0946", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 946 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 946 + }, + { + "name": "test_col_0947", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 947 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 947 + }, + { + "name": "test_col_0948", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 948 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 948 + }, + { + "name": "test_col_0949", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 949 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 949 + }, + { + "name": "test_col_0950", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 950 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 950 + }, + { + "name": "test_col_0951", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 951 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 951, + "dataLength": 255 + }, + { + "name": "test_col_0952", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 952 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 952 + }, + { + "name": "test_col_0953", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 953 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 953 + }, + { + "name": "test_col_0954", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 954 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 954 + }, + { + "name": "test_col_0955", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 955 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 955 + }, + { + "name": "test_col_0956", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 956 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 956 + }, + { + "name": "test_col_0957", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 957 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 957 + }, + { + "name": "test_col_0958", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 958 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 958 + }, + { + "name": "test_col_0959", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 959 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 959 + }, + { + "name": "test_col_0960", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 960 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 960 + }, + { + "name": "test_col_0961", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 961 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 961, + "dataLength": 255 + }, + { + "name": "test_col_0962", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 962 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 962 + }, + { + "name": "test_col_0963", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 963 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 963 + }, + { + "name": "test_col_0964", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 964 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 964 + }, + { + "name": "test_col_0965", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 965 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 965 + }, + { + "name": "test_col_0966", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 966 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 966 + }, + { + "name": "test_col_0967", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 967 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 967 + }, + { + "name": "test_col_0968", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 968 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 968 + }, + { + "name": "test_col_0969", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 969 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 969 + }, + { + "name": "test_col_0970", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 970 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 970 + }, + { + "name": "test_col_0971", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 971 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 971, + "dataLength": 255 + }, + { + "name": "test_col_0972", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 972 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 972 + }, + { + "name": "test_col_0973", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 973 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 973 + }, + { + "name": "test_col_0974", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 974 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 974 + }, + { + "name": "test_col_0975", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 975 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 975 + }, + { + "name": "test_col_0976", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 976 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 976 + }, + { + "name": "test_col_0977", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 977 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 977 + }, + { + "name": "test_col_0978", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 978 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 978 + }, + { + "name": "test_col_0979", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 979 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 979 + }, + { + "name": "test_col_0980", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 980 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 980 + }, + { + "name": "test_col_0981", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 981 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 981, + "dataLength": 255 + }, + { + "name": "test_col_0982", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 982 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 982 + }, + { + "name": "test_col_0983", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 983 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 983 + }, + { + "name": "test_col_0984", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 984 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 984 + }, + { + "name": "test_col_0985", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 985 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 985 + }, + { + "name": "test_col_0986", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 986 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 986 + }, + { + "name": "test_col_0987", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 987 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 987 + }, + { + "name": "test_col_0988", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 988 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 988 + }, + { + "name": "test_col_0989", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 989 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 989 + }, + { + "name": "test_col_0990", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 990 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 990 + }, + { + "name": "test_col_0991", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 991 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 991, + "dataLength": 255 + }, + { + "name": "test_col_0992", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 992 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 992 + }, + { + "name": "test_col_0993", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 993 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 993 + }, + { + "name": "test_col_0994", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 994 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 994 + }, + { + "name": "test_col_0995", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 995 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 995 + }, + { + "name": "test_col_0996", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 996 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 996 + }, + { + "name": "test_col_0997", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 997 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 997 + }, + { + "name": "test_col_0998", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 998 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 998 + }, + { + "name": "test_col_0999", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 999 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 999 + }, + { + "name": "test_col_1000", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 1000 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1000 + }, + { + "name": "test_col_1001", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 1001 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1001, + "dataLength": 255 + }, + { + "name": "test_col_1002", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 1002 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1002 + }, + { + "name": "test_col_1003", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 1003 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1003 + }, + { + "name": "test_col_1004", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 1004 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1004 + }, + { + "name": "test_col_1005", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 1005 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1005 + }, + { + "name": "test_col_1006", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 1006 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1006 + }, + { + "name": "test_col_1007", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 1007 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1007 + }, + { + "name": "test_col_1008", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 1008 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1008 + }, + { + "name": "test_col_1009", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 1009 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1009 + }, + { + "name": "test_col_1010", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 1010 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1010 + }, + { + "name": "test_col_1011", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 1011 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1011, + "dataLength": 255 + }, + { + "name": "test_col_1012", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 1012 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1012 + }, + { + "name": "test_col_1013", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 1013 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1013 + }, + { + "name": "test_col_1014", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 1014 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1014 + }, + { + "name": "test_col_1015", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 1015 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1015 + }, + { + "name": "test_col_1016", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 1016 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1016 + }, + { + "name": "test_col_1017", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 1017 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1017 + }, + { + "name": "test_col_1018", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 1018 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1018 + }, + { + "name": "test_col_1019", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 1019 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1019 + }, + { + "name": "test_col_1020", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 1020 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1020 + }, + { + "name": "test_col_1021", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 1021 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1021, + "dataLength": 255 + }, + { + "name": "test_col_1022", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 1022 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1022 + }, + { + "name": "test_col_1023", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 1023 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1023 + }, + { + "name": "test_col_1024", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 1024 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1024 + }, + { + "name": "test_col_1025", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 1025 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1025 + }, + { + "name": "test_col_1026", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 1026 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1026 + }, + { + "name": "test_col_1027", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 1027 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1027 + }, + { + "name": "test_col_1028", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 1028 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1028 + }, + { + "name": "test_col_1029", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 1029 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1029 + }, + { + "name": "test_col_1030", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 1030 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1030 + }, + { + "name": "test_col_1031", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 1031 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1031, + "dataLength": 255 + }, + { + "name": "test_col_1032", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 1032 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1032 + }, + { + "name": "test_col_1033", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 1033 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1033 + }, + { + "name": "test_col_1034", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 1034 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1034 + }, + { + "name": "test_col_1035", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 1035 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1035 + }, + { + "name": "test_col_1036", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 1036 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1036 + }, + { + "name": "test_col_1037", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 1037 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1037 + }, + { + "name": "test_col_1038", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 1038 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1038 + }, + { + "name": "test_col_1039", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 1039 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1039 + }, + { + "name": "test_col_1040", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 1040 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1040 + }, + { + "name": "test_col_1041", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 1041 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1041, + "dataLength": 255 + }, + { + "name": "test_col_1042", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 1042 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1042 + }, + { + "name": "test_col_1043", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 1043 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1043 + }, + { + "name": "test_col_1044", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 1044 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1044 + }, + { + "name": "test_col_1045", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 1045 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1045 + }, + { + "name": "test_col_1046", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 1046 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1046 + }, + { + "name": "test_col_1047", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 1047 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1047 + }, + { + "name": "test_col_1048", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 1048 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1048 + }, + { + "name": "test_col_1049", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 1049 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1049 + }, + { + "name": "test_col_1050", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 1050 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1050 + }, + { + "name": "test_col_1051", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 1051 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1051, + "dataLength": 255 + }, + { + "name": "test_col_1052", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 1052 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1052 + }, + { + "name": "test_col_1053", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 1053 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1053 + }, + { + "name": "test_col_1054", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 1054 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1054 + }, + { + "name": "test_col_1055", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 1055 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1055 + }, + { + "name": "test_col_1056", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 1056 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1056 + }, + { + "name": "test_col_1057", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 1057 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1057 + }, + { + "name": "test_col_1058", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 1058 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1058 + }, + { + "name": "test_col_1059", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 1059 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1059 + }, + { + "name": "test_col_1060", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 1060 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1060 + }, + { + "name": "test_col_1061", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 1061 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1061, + "dataLength": 255 + }, + { + "name": "test_col_1062", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 1062 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1062 + }, + { + "name": "test_col_1063", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 1063 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1063 + }, + { + "name": "test_col_1064", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 1064 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1064 + }, + { + "name": "test_col_1065", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 1065 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1065 + }, + { + "name": "test_col_1066", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 1066 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1066 + }, + { + "name": "test_col_1067", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 1067 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1067 + }, + { + "name": "test_col_1068", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 1068 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1068 + }, + { + "name": "test_col_1069", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 1069 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1069 + }, + { + "name": "test_col_1070", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 1070 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1070 + }, + { + "name": "test_col_1071", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 1071 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1071, + "dataLength": 255 + }, + { + "name": "test_col_1072", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 1072 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1072 + }, + { + "name": "test_col_1073", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 1073 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1073 + }, + { + "name": "test_col_1074", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 1074 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1074 + }, + { + "name": "test_col_1075", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 1075 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1075 + }, + { + "name": "test_col_1076", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 1076 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1076 + }, + { + "name": "test_col_1077", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 1077 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1077 + }, + { + "name": "test_col_1078", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 1078 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1078 + }, + { + "name": "test_col_1079", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 1079 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1079 + }, + { + "name": "test_col_1080", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 1080 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1080 + }, + { + "name": "test_col_1081", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 1081 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1081, + "dataLength": 255 + }, + { + "name": "test_col_1082", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 1082 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1082 + }, + { + "name": "test_col_1083", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 1083 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1083 + }, + { + "name": "test_col_1084", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 1084 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1084 + }, + { + "name": "test_col_1085", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 1085 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1085 + }, + { + "name": "test_col_1086", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 1086 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1086 + }, + { + "name": "test_col_1087", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 1087 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1087 + }, + { + "name": "test_col_1088", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 1088 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1088 + }, + { + "name": "test_col_1089", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 1089 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1089 + }, + { + "name": "test_col_1090", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 1090 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1090 + }, + { + "name": "test_col_1091", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 1091 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1091, + "dataLength": 255 + }, + { + "name": "test_col_1092", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 1092 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1092 + }, + { + "name": "test_col_1093", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 1093 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1093 + }, + { + "name": "test_col_1094", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 1094 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1094 + }, + { + "name": "test_col_1095", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 1095 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1095 + }, + { + "name": "test_col_1096", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 1096 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1096 + }, + { + "name": "test_col_1097", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 1097 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1097 + }, + { + "name": "test_col_1098", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 1098 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1098 + }, + { + "name": "test_col_1099", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 1099 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1099 + }, + { + "name": "test_col_1100", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 1100 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1100 + }, + { + "name": "test_col_1101", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 1101 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1101, + "dataLength": 255 + }, + { + "name": "test_col_1102", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 1102 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1102 + }, + { + "name": "test_col_1103", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 1103 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1103 + }, + { + "name": "test_col_1104", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 1104 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1104 + }, + { + "name": "test_col_1105", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 1105 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1105 + }, + { + "name": "test_col_1106", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 1106 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1106 + }, + { + "name": "test_col_1107", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 1107 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1107 + }, + { + "name": "test_col_1108", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 1108 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1108 + }, + { + "name": "test_col_1109", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 1109 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1109 + }, + { + "name": "test_col_1110", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 1110 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1110 + }, + { + "name": "test_col_1111", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 1111 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1111, + "dataLength": 255 + }, + { + "name": "test_col_1112", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 1112 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1112 + }, + { + "name": "test_col_1113", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 1113 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1113 + }, + { + "name": "test_col_1114", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 1114 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1114 + }, + { + "name": "test_col_1115", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 1115 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1115 + }, + { + "name": "test_col_1116", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 1116 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1116 + }, + { + "name": "test_col_1117", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 1117 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1117 + }, + { + "name": "test_col_1118", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 1118 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1118 + }, + { + "name": "test_col_1119", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 1119 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1119 + }, + { + "name": "test_col_1120", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 1120 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1120 + }, + { + "name": "test_col_1121", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 1121 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1121, + "dataLength": 255 + }, + { + "name": "test_col_1122", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 1122 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1122 + }, + { + "name": "test_col_1123", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 1123 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1123 + }, + { + "name": "test_col_1124", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 1124 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1124 + }, + { + "name": "test_col_1125", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 1125 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1125 + }, + { + "name": "test_col_1126", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 1126 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1126 + }, + { + "name": "test_col_1127", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 1127 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1127 + }, + { + "name": "test_col_1128", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 1128 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1128 + }, + { + "name": "test_col_1129", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 1129 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1129 + }, + { + "name": "test_col_1130", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 1130 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1130 + }, + { + "name": "test_col_1131", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 1131 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1131, + "dataLength": 255 + }, + { + "name": "test_col_1132", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 1132 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1132 + }, + { + "name": "test_col_1133", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 1133 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1133 + }, + { + "name": "test_col_1134", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 1134 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1134 + }, + { + "name": "test_col_1135", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 1135 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1135 + }, + { + "name": "test_col_1136", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 1136 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1136 + }, + { + "name": "test_col_1137", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 1137 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1137 + }, + { + "name": "test_col_1138", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 1138 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1138 + }, + { + "name": "test_col_1139", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 1139 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1139 + }, + { + "name": "test_col_1140", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 1140 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1140 + }, + { + "name": "test_col_1141", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 1141 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1141, + "dataLength": 255 + }, + { + "name": "test_col_1142", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 1142 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1142 + }, + { + "name": "test_col_1143", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 1143 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1143 + }, + { + "name": "test_col_1144", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 1144 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1144 + }, + { + "name": "test_col_1145", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 1145 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1145 + }, + { + "name": "test_col_1146", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 1146 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1146 + }, + { + "name": "test_col_1147", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 1147 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1147 + }, + { + "name": "test_col_1148", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 1148 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1148 + }, + { + "name": "test_col_1149", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 1149 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1149 + }, + { + "name": "test_col_1150", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 1150 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1150 + }, + { + "name": "test_col_1151", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 1151 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1151, + "dataLength": 255 + }, + { + "name": "test_col_1152", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 1152 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1152 + }, + { + "name": "test_col_1153", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 1153 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1153 + }, + { + "name": "test_col_1154", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 1154 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1154 + }, + { + "name": "test_col_1155", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 1155 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1155 + }, + { + "name": "test_col_1156", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 1156 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1156 + }, + { + "name": "test_col_1157", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 1157 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1157 + }, + { + "name": "test_col_1158", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 1158 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1158 + }, + { + "name": "test_col_1159", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 1159 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1159 + }, + { + "name": "test_col_1160", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 1160 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1160 + }, + { + "name": "test_col_1161", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 1161 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1161, + "dataLength": 255 + }, + { + "name": "test_col_1162", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 1162 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1162 + }, + { + "name": "test_col_1163", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 1163 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1163 + }, + { + "name": "test_col_1164", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 1164 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1164 + }, + { + "name": "test_col_1165", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 1165 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1165 + }, + { + "name": "test_col_1166", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 1166 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1166 + }, + { + "name": "test_col_1167", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 1167 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1167 + }, + { + "name": "test_col_1168", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 1168 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1168 + }, + { + "name": "test_col_1169", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 1169 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1169 + }, + { + "name": "test_col_1170", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 1170 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1170 + }, + { + "name": "test_col_1171", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 1171 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1171, + "dataLength": 255 + }, + { + "name": "test_col_1172", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 1172 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1172 + }, + { + "name": "test_col_1173", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 1173 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1173 + }, + { + "name": "test_col_1174", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 1174 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1174 + }, + { + "name": "test_col_1175", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 1175 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1175 + }, + { + "name": "test_col_1176", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 1176 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1176 + }, + { + "name": "test_col_1177", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 1177 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1177 + }, + { + "name": "test_col_1178", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 1178 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1178 + }, + { + "name": "test_col_1179", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 1179 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1179 + }, + { + "name": "test_col_1180", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 1180 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1180 + }, + { + "name": "test_col_1181", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 1181 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1181, + "dataLength": 255 + }, + { + "name": "test_col_1182", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 1182 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1182 + }, + { + "name": "test_col_1183", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 1183 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1183 + }, + { + "name": "test_col_1184", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 1184 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1184 + }, + { + "name": "test_col_1185", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 1185 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1185 + }, + { + "name": "test_col_1186", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 1186 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1186 + }, + { + "name": "test_col_1187", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 1187 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1187 + }, + { + "name": "test_col_1188", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 1188 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1188 + }, + { + "name": "test_col_1189", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 1189 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1189 + }, + { + "name": "test_col_1190", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 1190 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1190 + }, + { + "name": "test_col_1191", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 1191 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1191, + "dataLength": 255 + }, + { + "name": "test_col_1192", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 1192 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1192 + }, + { + "name": "test_col_1193", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 1193 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1193 + }, + { + "name": "test_col_1194", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 1194 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1194 + }, + { + "name": "test_col_1195", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 1195 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1195 + }, + { + "name": "test_col_1196", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 1196 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1196 + }, + { + "name": "test_col_1197", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 1197 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1197 + }, + { + "name": "test_col_1198", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 1198 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1198 + }, + { + "name": "test_col_1199", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 1199 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1199 + }, + { + "name": "test_col_1200", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 1200 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1200 + }, + { + "name": "test_col_1201", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 1201 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1201, + "dataLength": 255 + }, + { + "name": "test_col_1202", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 1202 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1202 + }, + { + "name": "test_col_1203", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 1203 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1203 + }, + { + "name": "test_col_1204", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 1204 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1204 + }, + { + "name": "test_col_1205", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 1205 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1205 + }, + { + "name": "test_col_1206", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 1206 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1206 + }, + { + "name": "test_col_1207", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 1207 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1207 + }, + { + "name": "test_col_1208", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 1208 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1208 + }, + { + "name": "test_col_1209", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 1209 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1209 + }, + { + "name": "test_col_1210", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 1210 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1210 + }, + { + "name": "test_col_1211", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 1211 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1211, + "dataLength": 255 + }, + { + "name": "test_col_1212", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 1212 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1212 + }, + { + "name": "test_col_1213", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 1213 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1213 + }, + { + "name": "test_col_1214", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 1214 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1214 + }, + { + "name": "test_col_1215", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 1215 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1215 + }, + { + "name": "test_col_1216", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 1216 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1216 + }, + { + "name": "test_col_1217", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 1217 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1217 + }, + { + "name": "test_col_1218", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 1218 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1218 + }, + { + "name": "test_col_1219", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 1219 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1219 + }, + { + "name": "test_col_1220", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 1220 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1220 + }, + { + "name": "test_col_1221", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 1221 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1221, + "dataLength": 255 + }, + { + "name": "test_col_1222", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 1222 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1222 + }, + { + "name": "test_col_1223", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 1223 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1223 + }, + { + "name": "test_col_1224", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 1224 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1224 + }, + { + "name": "test_col_1225", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 1225 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1225 + }, + { + "name": "test_col_1226", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 1226 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1226 + }, + { + "name": "test_col_1227", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 1227 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1227 + }, + { + "name": "test_col_1228", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 1228 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1228 + }, + { + "name": "test_col_1229", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 1229 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1229 + }, + { + "name": "test_col_1230", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 1230 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1230 + }, + { + "name": "test_col_1231", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 1231 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1231, + "dataLength": 255 + }, + { + "name": "test_col_1232", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 1232 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1232 + }, + { + "name": "test_col_1233", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 1233 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1233 + }, + { + "name": "test_col_1234", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 1234 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1234 + }, + { + "name": "test_col_1235", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 1235 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1235 + }, + { + "name": "test_col_1236", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 1236 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1236 + }, + { + "name": "test_col_1237", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 1237 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1237 + }, + { + "name": "test_col_1238", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 1238 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1238 + }, + { + "name": "test_col_1239", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 1239 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1239 + }, + { + "name": "test_col_1240", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 1240 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1240 + }, + { + "name": "test_col_1241", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 1241 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1241, + "dataLength": 255 + }, + { + "name": "test_col_1242", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 1242 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1242 + }, + { + "name": "test_col_1243", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 1243 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1243 + }, + { + "name": "test_col_1244", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 1244 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1244 + }, + { + "name": "test_col_1245", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 1245 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1245 + }, + { + "name": "test_col_1246", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 1246 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1246 + }, + { + "name": "test_col_1247", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 1247 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1247 + }, + { + "name": "test_col_1248", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 1248 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1248 + }, + { + "name": "test_col_1249", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 1249 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1249 + }, + { + "name": "test_col_1250", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 1250 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1250 + }, + { + "name": "test_col_1251", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 1251 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1251, + "dataLength": 255 + }, + { + "name": "test_col_1252", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 1252 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1252 + }, + { + "name": "test_col_1253", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 1253 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1253 + }, + { + "name": "test_col_1254", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 1254 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1254 + }, + { + "name": "test_col_1255", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 1255 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1255 + }, + { + "name": "test_col_1256", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 1256 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1256 + }, + { + "name": "test_col_1257", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 1257 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1257 + }, + { + "name": "test_col_1258", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 1258 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1258 + }, + { + "name": "test_col_1259", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 1259 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1259 + }, + { + "name": "test_col_1260", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 1260 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1260 + }, + { + "name": "test_col_1261", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 1261 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1261, + "dataLength": 255 + }, + { + "name": "test_col_1262", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 1262 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1262 + }, + { + "name": "test_col_1263", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 1263 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1263 + }, + { + "name": "test_col_1264", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 1264 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1264 + }, + { + "name": "test_col_1265", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 1265 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1265 + }, + { + "name": "test_col_1266", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 1266 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1266 + }, + { + "name": "test_col_1267", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 1267 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1267 + }, + { + "name": "test_col_1268", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 1268 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1268 + }, + { + "name": "test_col_1269", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 1269 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1269 + }, + { + "name": "test_col_1270", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 1270 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1270 + }, + { + "name": "test_col_1271", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 1271 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1271, + "dataLength": 255 + }, + { + "name": "test_col_1272", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 1272 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1272 + }, + { + "name": "test_col_1273", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 1273 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1273 + }, + { + "name": "test_col_1274", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 1274 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1274 + }, + { + "name": "test_col_1275", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 1275 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1275 + }, + { + "name": "test_col_1276", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 1276 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1276 + }, + { + "name": "test_col_1277", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 1277 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1277 + }, + { + "name": "test_col_1278", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 1278 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1278 + }, + { + "name": "test_col_1279", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 1279 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1279 + }, + { + "name": "test_col_1280", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 1280 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1280 + }, + { + "name": "test_col_1281", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 1281 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1281, + "dataLength": 255 + }, + { + "name": "test_col_1282", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 1282 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1282 + }, + { + "name": "test_col_1283", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 1283 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1283 + }, + { + "name": "test_col_1284", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 1284 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1284 + }, + { + "name": "test_col_1285", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 1285 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1285 + }, + { + "name": "test_col_1286", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 1286 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1286 + }, + { + "name": "test_col_1287", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 1287 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1287 + }, + { + "name": "test_col_1288", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 1288 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1288 + }, + { + "name": "test_col_1289", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 1289 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1289 + }, + { + "name": "test_col_1290", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 1290 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1290 + }, + { + "name": "test_col_1291", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 1291 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1291, + "dataLength": 255 + }, + { + "name": "test_col_1292", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 1292 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1292 + }, + { + "name": "test_col_1293", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 1293 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1293 + }, + { + "name": "test_col_1294", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 1294 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1294 + }, + { + "name": "test_col_1295", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 1295 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1295 + }, + { + "name": "test_col_1296", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 1296 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1296 + }, + { + "name": "test_col_1297", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 1297 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1297 + }, + { + "name": "test_col_1298", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 1298 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1298 + }, + { + "name": "test_col_1299", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 1299 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1299 + }, + { + "name": "test_col_1300", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 1300 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1300 + }, + { + "name": "test_col_1301", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 1301 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1301, + "dataLength": 255 + }, + { + "name": "test_col_1302", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 1302 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1302 + }, + { + "name": "test_col_1303", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 1303 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1303 + }, + { + "name": "test_col_1304", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 1304 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1304 + }, + { + "name": "test_col_1305", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 1305 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1305 + }, + { + "name": "test_col_1306", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 1306 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1306 + }, + { + "name": "test_col_1307", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 1307 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1307 + }, + { + "name": "test_col_1308", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 1308 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1308 + }, + { + "name": "test_col_1309", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 1309 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1309 + }, + { + "name": "test_col_1310", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 1310 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1310 + }, + { + "name": "test_col_1311", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 1311 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1311, + "dataLength": 255 + }, + { + "name": "test_col_1312", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 1312 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1312 + }, + { + "name": "test_col_1313", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 1313 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1313 + }, + { + "name": "test_col_1314", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 1314 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1314 + }, + { + "name": "test_col_1315", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 1315 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1315 + }, + { + "name": "test_col_1316", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 1316 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1316 + }, + { + "name": "test_col_1317", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 1317 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1317 + }, + { + "name": "test_col_1318", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 1318 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1318 + }, + { + "name": "test_col_1319", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 1319 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1319 + }, + { + "name": "test_col_1320", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 1320 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1320 + }, + { + "name": "test_col_1321", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 1321 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1321, + "dataLength": 255 + }, + { + "name": "test_col_1322", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 1322 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1322 + }, + { + "name": "test_col_1323", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 1323 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1323 + }, + { + "name": "test_col_1324", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 1324 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1324 + }, + { + "name": "test_col_1325", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 1325 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1325 + }, + { + "name": "test_col_1326", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 1326 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1326 + }, + { + "name": "test_col_1327", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 1327 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1327 + }, + { + "name": "test_col_1328", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 1328 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1328 + }, + { + "name": "test_col_1329", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 1329 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1329 + }, + { + "name": "test_col_1330", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 1330 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1330 + }, + { + "name": "test_col_1331", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 1331 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1331, + "dataLength": 255 + }, + { + "name": "test_col_1332", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 1332 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1332 + }, + { + "name": "test_col_1333", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 1333 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1333 + }, + { + "name": "test_col_1334", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 1334 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1334 + }, + { + "name": "test_col_1335", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 1335 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1335 + }, + { + "name": "test_col_1336", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 1336 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1336 + }, + { + "name": "test_col_1337", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 1337 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1337 + }, + { + "name": "test_col_1338", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 1338 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1338 + }, + { + "name": "test_col_1339", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 1339 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1339 + }, + { + "name": "test_col_1340", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 1340 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1340 + }, + { + "name": "test_col_1341", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 1341 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1341, + "dataLength": 255 + }, + { + "name": "test_col_1342", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 1342 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1342 + }, + { + "name": "test_col_1343", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 1343 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1343 + }, + { + "name": "test_col_1344", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 1344 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1344 + }, + { + "name": "test_col_1345", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 1345 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1345 + }, + { + "name": "test_col_1346", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 1346 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1346 + }, + { + "name": "test_col_1347", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 1347 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1347 + }, + { + "name": "test_col_1348", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 1348 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1348 + }, + { + "name": "test_col_1349", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 1349 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1349 + }, + { + "name": "test_col_1350", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 1350 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1350 + }, + { + "name": "test_col_1351", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 1351 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1351, + "dataLength": 255 + }, + { + "name": "test_col_1352", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 1352 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1352 + }, + { + "name": "test_col_1353", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 1353 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1353 + }, + { + "name": "test_col_1354", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 1354 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1354 + }, + { + "name": "test_col_1355", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 1355 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1355 + }, + { + "name": "test_col_1356", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 1356 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1356 + }, + { + "name": "test_col_1357", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 1357 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1357 + }, + { + "name": "test_col_1358", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 1358 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1358 + }, + { + "name": "test_col_1359", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 1359 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1359 + }, + { + "name": "test_col_1360", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 1360 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1360 + }, + { + "name": "test_col_1361", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 1361 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1361, + "dataLength": 255 + }, + { + "name": "test_col_1362", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 1362 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1362 + }, + { + "name": "test_col_1363", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 1363 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1363 + }, + { + "name": "test_col_1364", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 1364 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1364 + }, + { + "name": "test_col_1365", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 1365 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1365 + }, + { + "name": "test_col_1366", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 1366 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1366 + }, + { + "name": "test_col_1367", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 1367 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1367 + }, + { + "name": "test_col_1368", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 1368 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1368 + }, + { + "name": "test_col_1369", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 1369 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1369 + }, + { + "name": "test_col_1370", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 1370 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1370 + }, + { + "name": "test_col_1371", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 1371 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1371, + "dataLength": 255 + }, + { + "name": "test_col_1372", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 1372 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1372 + }, + { + "name": "test_col_1373", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 1373 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1373 + }, + { + "name": "test_col_1374", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 1374 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1374 + }, + { + "name": "test_col_1375", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 1375 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1375 + }, + { + "name": "test_col_1376", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 1376 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1376 + }, + { + "name": "test_col_1377", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 1377 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1377 + }, + { + "name": "test_col_1378", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 1378 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1378 + }, + { + "name": "test_col_1379", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 1379 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1379 + }, + { + "name": "test_col_1380", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 1380 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1380 + }, + { + "name": "test_col_1381", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 1381 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1381, + "dataLength": 255 + }, + { + "name": "test_col_1382", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 1382 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1382 + }, + { + "name": "test_col_1383", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 1383 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1383 + }, + { + "name": "test_col_1384", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 1384 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1384 + }, + { + "name": "test_col_1385", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 1385 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1385 + }, + { + "name": "test_col_1386", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 1386 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1386 + }, + { + "name": "test_col_1387", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 1387 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1387 + }, + { + "name": "test_col_1388", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 1388 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1388 + }, + { + "name": "test_col_1389", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 1389 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1389 + }, + { + "name": "test_col_1390", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 1390 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1390 + }, + { + "name": "test_col_1391", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 1391 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1391, + "dataLength": 255 + }, + { + "name": "test_col_1392", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 1392 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1392 + }, + { + "name": "test_col_1393", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 1393 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1393 + }, + { + "name": "test_col_1394", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 1394 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1394 + }, + { + "name": "test_col_1395", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 1395 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1395 + }, + { + "name": "test_col_1396", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 1396 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1396 + }, + { + "name": "test_col_1397", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 1397 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1397 + }, + { + "name": "test_col_1398", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 1398 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1398 + }, + { + "name": "test_col_1399", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 1399 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1399 + }, + { + "name": "test_col_1400", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 1400 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1400 + }, + { + "name": "test_col_1401", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 1401 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1401, + "dataLength": 255 + }, + { + "name": "test_col_1402", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 1402 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1402 + }, + { + "name": "test_col_1403", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 1403 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1403 + }, + { + "name": "test_col_1404", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 1404 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1404 + }, + { + "name": "test_col_1405", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 1405 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1405 + }, + { + "name": "test_col_1406", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 1406 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1406 + }, + { + "name": "test_col_1407", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 1407 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1407 + }, + { + "name": "test_col_1408", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 1408 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1408 + }, + { + "name": "test_col_1409", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 1409 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1409 + }, + { + "name": "test_col_1410", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 1410 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1410 + }, + { + "name": "test_col_1411", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 1411 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1411, + "dataLength": 255 + }, + { + "name": "test_col_1412", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 1412 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1412 + }, + { + "name": "test_col_1413", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 1413 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1413 + }, + { + "name": "test_col_1414", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 1414 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1414 + }, + { + "name": "test_col_1415", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 1415 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1415 + }, + { + "name": "test_col_1416", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 1416 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1416 + }, + { + "name": "test_col_1417", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 1417 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1417 + }, + { + "name": "test_col_1418", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 1418 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1418 + }, + { + "name": "test_col_1419", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 1419 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1419 + }, + { + "name": "test_col_1420", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 1420 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1420 + }, + { + "name": "test_col_1421", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 1421 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1421, + "dataLength": 255 + }, + { + "name": "test_col_1422", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 1422 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1422 + }, + { + "name": "test_col_1423", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 1423 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1423 + }, + { + "name": "test_col_1424", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 1424 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1424 + }, + { + "name": "test_col_1425", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 1425 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1425 + }, + { + "name": "test_col_1426", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 1426 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1426 + }, + { + "name": "test_col_1427", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 1427 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1427 + }, + { + "name": "test_col_1428", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 1428 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1428 + }, + { + "name": "test_col_1429", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 1429 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1429 + }, + { + "name": "test_col_1430", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 1430 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1430 + }, + { + "name": "test_col_1431", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 1431 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1431, + "dataLength": 255 + }, + { + "name": "test_col_1432", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 1432 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1432 + }, + { + "name": "test_col_1433", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 1433 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1433 + }, + { + "name": "test_col_1434", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 1434 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1434 + }, + { + "name": "test_col_1435", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 1435 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1435 + }, + { + "name": "test_col_1436", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 1436 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1436 + }, + { + "name": "test_col_1437", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 1437 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1437 + }, + { + "name": "test_col_1438", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 1438 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1438 + }, + { + "name": "test_col_1439", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 1439 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1439 + }, + { + "name": "test_col_1440", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 1440 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1440 + }, + { + "name": "test_col_1441", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 1441 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1441, + "dataLength": 255 + }, + { + "name": "test_col_1442", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 1442 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1442 + }, + { + "name": "test_col_1443", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 1443 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1443 + }, + { + "name": "test_col_1444", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 1444 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1444 + }, + { + "name": "test_col_1445", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 1445 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1445 + }, + { + "name": "test_col_1446", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 1446 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1446 + }, + { + "name": "test_col_1447", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 1447 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1447 + }, + { + "name": "test_col_1448", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 1448 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1448 + }, + { + "name": "test_col_1449", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 1449 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1449 + }, + { + "name": "test_col_1450", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 1450 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1450 + }, + { + "name": "test_col_1451", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 1451 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1451, + "dataLength": 255 + }, + { + "name": "test_col_1452", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 1452 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1452 + }, + { + "name": "test_col_1453", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 1453 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1453 + }, + { + "name": "test_col_1454", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 1454 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1454 + }, + { + "name": "test_col_1455", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 1455 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1455 + }, + { + "name": "test_col_1456", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 1456 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1456 + }, + { + "name": "test_col_1457", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 1457 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1457 + }, + { + "name": "test_col_1458", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 1458 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1458 + }, + { + "name": "test_col_1459", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 1459 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1459 + }, + { + "name": "test_col_1460", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 1460 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1460 + }, + { + "name": "test_col_1461", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 1461 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1461, + "dataLength": 255 + }, + { + "name": "test_col_1462", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 1462 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1462 + }, + { + "name": "test_col_1463", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 1463 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1463 + }, + { + "name": "test_col_1464", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 1464 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1464 + }, + { + "name": "test_col_1465", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 1465 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1465 + }, + { + "name": "test_col_1466", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 1466 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1466 + }, + { + "name": "test_col_1467", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 1467 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1467 + }, + { + "name": "test_col_1468", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 1468 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1468 + }, + { + "name": "test_col_1469", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 1469 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1469 + }, + { + "name": "test_col_1470", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 1470 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1470 + }, + { + "name": "test_col_1471", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 1471 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1471, + "dataLength": 255 + }, + { + "name": "test_col_1472", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 1472 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1472 + }, + { + "name": "test_col_1473", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 1473 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1473 + }, + { + "name": "test_col_1474", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 1474 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1474 + }, + { + "name": "test_col_1475", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 1475 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1475 + }, + { + "name": "test_col_1476", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 1476 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1476 + }, + { + "name": "test_col_1477", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 1477 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1477 + }, + { + "name": "test_col_1478", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 1478 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1478 + }, + { + "name": "test_col_1479", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 1479 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1479 + }, + { + "name": "test_col_1480", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 1480 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1480 + }, + { + "name": "test_col_1481", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 1481 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1481, + "dataLength": 255 + }, + { + "name": "test_col_1482", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 1482 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1482 + }, + { + "name": "test_col_1483", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 1483 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1483 + }, + { + "name": "test_col_1484", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 1484 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1484 + }, + { + "name": "test_col_1485", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 1485 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1485 + }, + { + "name": "test_col_1486", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 1486 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1486 + }, + { + "name": "test_col_1487", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 1487 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1487 + }, + { + "name": "test_col_1488", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 1488 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1488 + }, + { + "name": "test_col_1489", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 1489 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1489 + }, + { + "name": "test_col_1490", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 1490 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1490 + }, + { + "name": "test_col_1491", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 1491 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1491, + "dataLength": 255 + }, + { + "name": "test_col_1492", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 1492 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1492 + }, + { + "name": "test_col_1493", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 1493 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1493 + }, + { + "name": "test_col_1494", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 1494 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1494 + }, + { + "name": "test_col_1495", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 1495 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1495 + }, + { + "name": "test_col_1496", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 1496 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1496 + }, + { + "name": "test_col_1497", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 1497 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1497 + }, + { + "name": "test_col_1498", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 1498 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1498 + }, + { + "name": "test_col_1499", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 1499 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1499 + }, + { + "name": "test_col_1500", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 1500 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1500 + }, + { + "name": "test_col_1501", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 1501 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1501, + "dataLength": 255 + }, + { + "name": "test_col_1502", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 1502 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1502 + }, + { + "name": "test_col_1503", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 1503 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1503 + }, + { + "name": "test_col_1504", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 1504 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1504 + }, + { + "name": "test_col_1505", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 1505 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1505 + }, + { + "name": "test_col_1506", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 1506 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1506 + }, + { + "name": "test_col_1507", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 1507 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1507 + }, + { + "name": "test_col_1508", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 1508 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1508 + }, + { + "name": "test_col_1509", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 1509 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1509 + }, + { + "name": "test_col_1510", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 1510 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1510 + }, + { + "name": "test_col_1511", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 1511 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1511, + "dataLength": 255 + }, + { + "name": "test_col_1512", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 1512 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1512 + }, + { + "name": "test_col_1513", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 1513 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1513 + }, + { + "name": "test_col_1514", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 1514 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1514 + }, + { + "name": "test_col_1515", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 1515 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1515 + }, + { + "name": "test_col_1516", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 1516 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1516 + }, + { + "name": "test_col_1517", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 1517 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1517 + }, + { + "name": "test_col_1518", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 1518 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1518 + }, + { + "name": "test_col_1519", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 1519 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1519 + }, + { + "name": "test_col_1520", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 1520 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1520 + }, + { + "name": "test_col_1521", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 1521 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1521, + "dataLength": 255 + }, + { + "name": "test_col_1522", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 1522 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1522 + }, + { + "name": "test_col_1523", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 1523 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1523 + }, + { + "name": "test_col_1524", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 1524 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1524 + }, + { + "name": "test_col_1525", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 1525 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1525 + }, + { + "name": "test_col_1526", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 1526 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1526 + }, + { + "name": "test_col_1527", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 1527 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1527 + }, + { + "name": "test_col_1528", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 1528 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1528 + }, + { + "name": "test_col_1529", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 1529 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1529 + }, + { + "name": "test_col_1530", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 1530 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1530 + }, + { + "name": "test_col_1531", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 1531 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1531, + "dataLength": 255 + }, + { + "name": "test_col_1532", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 1532 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1532 + }, + { + "name": "test_col_1533", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 1533 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1533 + }, + { + "name": "test_col_1534", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 1534 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1534 + }, + { + "name": "test_col_1535", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 1535 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1535 + }, + { + "name": "test_col_1536", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 1536 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1536 + }, + { + "name": "test_col_1537", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 1537 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1537 + }, + { + "name": "test_col_1538", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 1538 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1538 + }, + { + "name": "test_col_1539", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 1539 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1539 + }, + { + "name": "test_col_1540", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 1540 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1540 + }, + { + "name": "test_col_1541", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 1541 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1541, + "dataLength": 255 + }, + { + "name": "test_col_1542", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 1542 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1542 + }, + { + "name": "test_col_1543", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 1543 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1543 + }, + { + "name": "test_col_1544", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 1544 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1544 + }, + { + "name": "test_col_1545", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 1545 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1545 + }, + { + "name": "test_col_1546", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 1546 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1546 + }, + { + "name": "test_col_1547", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 1547 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1547 + }, + { + "name": "test_col_1548", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 1548 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1548 + }, + { + "name": "test_col_1549", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 1549 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1549 + }, + { + "name": "test_col_1550", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 1550 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1550 + }, + { + "name": "test_col_1551", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 1551 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1551, + "dataLength": 255 + }, + { + "name": "test_col_1552", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 1552 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1552 + }, + { + "name": "test_col_1553", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 1553 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1553 + }, + { + "name": "test_col_1554", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 1554 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1554 + }, + { + "name": "test_col_1555", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 1555 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1555 + }, + { + "name": "test_col_1556", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 1556 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1556 + }, + { + "name": "test_col_1557", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 1557 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1557 + }, + { + "name": "test_col_1558", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 1558 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1558 + }, + { + "name": "test_col_1559", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 1559 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1559 + }, + { + "name": "test_col_1560", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 1560 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1560 + }, + { + "name": "test_col_1561", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 1561 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1561, + "dataLength": 255 + }, + { + "name": "test_col_1562", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 1562 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1562 + }, + { + "name": "test_col_1563", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 1563 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1563 + }, + { + "name": "test_col_1564", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 1564 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1564 + }, + { + "name": "test_col_1565", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 1565 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1565 + }, + { + "name": "test_col_1566", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 1566 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1566 + }, + { + "name": "test_col_1567", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 1567 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1567 + }, + { + "name": "test_col_1568", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 1568 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1568 + }, + { + "name": "test_col_1569", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 1569 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1569 + }, + { + "name": "test_col_1570", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 1570 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1570 + }, + { + "name": "test_col_1571", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 1571 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1571, + "dataLength": 255 + }, + { + "name": "test_col_1572", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 1572 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1572 + }, + { + "name": "test_col_1573", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 1573 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1573 + }, + { + "name": "test_col_1574", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 1574 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1574 + }, + { + "name": "test_col_1575", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 1575 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1575 + }, + { + "name": "test_col_1576", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 1576 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1576 + }, + { + "name": "test_col_1577", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 1577 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1577 + }, + { + "name": "test_col_1578", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 1578 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1578 + }, + { + "name": "test_col_1579", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 1579 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1579 + }, + { + "name": "test_col_1580", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 1580 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1580 + }, + { + "name": "test_col_1581", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 1581 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1581, + "dataLength": 255 + }, + { + "name": "test_col_1582", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 1582 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1582 + }, + { + "name": "test_col_1583", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 1583 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1583 + }, + { + "name": "test_col_1584", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 1584 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1584 + }, + { + "name": "test_col_1585", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 1585 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1585 + }, + { + "name": "test_col_1586", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 1586 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1586 + }, + { + "name": "test_col_1587", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 1587 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1587 + }, + { + "name": "test_col_1588", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 1588 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1588 + }, + { + "name": "test_col_1589", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 1589 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1589 + }, + { + "name": "test_col_1590", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 1590 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1590 + }, + { + "name": "test_col_1591", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 1591 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1591, + "dataLength": 255 + }, + { + "name": "test_col_1592", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 1592 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1592 + }, + { + "name": "test_col_1593", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 1593 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1593 + }, + { + "name": "test_col_1594", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 1594 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1594 + }, + { + "name": "test_col_1595", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 1595 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1595 + }, + { + "name": "test_col_1596", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 1596 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1596 + }, + { + "name": "test_col_1597", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 1597 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1597 + }, + { + "name": "test_col_1598", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 1598 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1598 + }, + { + "name": "test_col_1599", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 1599 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1599 + }, + { + "name": "test_col_1600", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 1600 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1600 + }, + { + "name": "test_col_1601", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 1601 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1601, + "dataLength": 255 + }, + { + "name": "test_col_1602", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 1602 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1602 + }, + { + "name": "test_col_1603", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 1603 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1603 + }, + { + "name": "test_col_1604", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 1604 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1604 + }, + { + "name": "test_col_1605", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 1605 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1605 + }, + { + "name": "test_col_1606", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 1606 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1606 + }, + { + "name": "test_col_1607", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 1607 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1607 + }, + { + "name": "test_col_1608", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 1608 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1608 + }, + { + "name": "test_col_1609", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 1609 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1609 + }, + { + "name": "test_col_1610", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 1610 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1610 + }, + { + "name": "test_col_1611", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 1611 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1611, + "dataLength": 255 + }, + { + "name": "test_col_1612", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 1612 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1612 + }, + { + "name": "test_col_1613", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 1613 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1613 + }, + { + "name": "test_col_1614", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 1614 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1614 + }, + { + "name": "test_col_1615", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 1615 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1615 + }, + { + "name": "test_col_1616", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 1616 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1616 + }, + { + "name": "test_col_1617", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 1617 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1617 + }, + { + "name": "test_col_1618", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 1618 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1618 + }, + { + "name": "test_col_1619", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 1619 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1619 + }, + { + "name": "test_col_1620", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 1620 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1620 + }, + { + "name": "test_col_1621", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 1621 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1621, + "dataLength": 255 + }, + { + "name": "test_col_1622", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 1622 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1622 + }, + { + "name": "test_col_1623", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 1623 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1623 + }, + { + "name": "test_col_1624", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 1624 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1624 + }, + { + "name": "test_col_1625", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 1625 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1625 + }, + { + "name": "test_col_1626", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 1626 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1626 + }, + { + "name": "test_col_1627", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 1627 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1627 + }, + { + "name": "test_col_1628", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 1628 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1628 + }, + { + "name": "test_col_1629", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 1629 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1629 + }, + { + "name": "test_col_1630", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 1630 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1630 + }, + { + "name": "test_col_1631", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 1631 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1631, + "dataLength": 255 + }, + { + "name": "test_col_1632", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 1632 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1632 + }, + { + "name": "test_col_1633", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 1633 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1633 + }, + { + "name": "test_col_1634", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 1634 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1634 + }, + { + "name": "test_col_1635", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 1635 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1635 + }, + { + "name": "test_col_1636", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 1636 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1636 + }, + { + "name": "test_col_1637", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 1637 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1637 + }, + { + "name": "test_col_1638", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 1638 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1638 + }, + { + "name": "test_col_1639", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 1639 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1639 + }, + { + "name": "test_col_1640", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 1640 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1640 + }, + { + "name": "test_col_1641", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 1641 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1641, + "dataLength": 255 + }, + { + "name": "test_col_1642", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 1642 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1642 + }, + { + "name": "test_col_1643", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 1643 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1643 + }, + { + "name": "test_col_1644", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 1644 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1644 + }, + { + "name": "test_col_1645", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 1645 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1645 + }, + { + "name": "test_col_1646", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 1646 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1646 + }, + { + "name": "test_col_1647", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 1647 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1647 + }, + { + "name": "test_col_1648", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 1648 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1648 + }, + { + "name": "test_col_1649", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 1649 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1649 + }, + { + "name": "test_col_1650", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 1650 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1650 + }, + { + "name": "test_col_1651", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 1651 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1651, + "dataLength": 255 + }, + { + "name": "test_col_1652", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 1652 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1652 + }, + { + "name": "test_col_1653", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 1653 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1653 + }, + { + "name": "test_col_1654", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 1654 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1654 + }, + { + "name": "test_col_1655", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 1655 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1655 + }, + { + "name": "test_col_1656", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 1656 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1656 + }, + { + "name": "test_col_1657", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 1657 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1657 + }, + { + "name": "test_col_1658", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 1658 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1658 + }, + { + "name": "test_col_1659", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 1659 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1659 + }, + { + "name": "test_col_1660", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 1660 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1660 + }, + { + "name": "test_col_1661", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 1661 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1661, + "dataLength": 255 + }, + { + "name": "test_col_1662", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 1662 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1662 + }, + { + "name": "test_col_1663", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 1663 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1663 + }, + { + "name": "test_col_1664", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 1664 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1664 + }, + { + "name": "test_col_1665", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 1665 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1665 + }, + { + "name": "test_col_1666", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 1666 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1666 + }, + { + "name": "test_col_1667", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 1667 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1667 + }, + { + "name": "test_col_1668", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 1668 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1668 + }, + { + "name": "test_col_1669", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 1669 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1669 + }, + { + "name": "test_col_1670", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 1670 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1670 + }, + { + "name": "test_col_1671", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 1671 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1671, + "dataLength": 255 + }, + { + "name": "test_col_1672", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 1672 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1672 + }, + { + "name": "test_col_1673", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 1673 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1673 + }, + { + "name": "test_col_1674", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 1674 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1674 + }, + { + "name": "test_col_1675", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 1675 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1675 + }, + { + "name": "test_col_1676", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 1676 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1676 + }, + { + "name": "test_col_1677", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 1677 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1677 + }, + { + "name": "test_col_1678", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 1678 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1678 + }, + { + "name": "test_col_1679", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 1679 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1679 + }, + { + "name": "test_col_1680", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 1680 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1680 + }, + { + "name": "test_col_1681", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 1681 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1681, + "dataLength": 255 + }, + { + "name": "test_col_1682", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 1682 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1682 + }, + { + "name": "test_col_1683", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 1683 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1683 + }, + { + "name": "test_col_1684", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 1684 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1684 + }, + { + "name": "test_col_1685", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 1685 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1685 + }, + { + "name": "test_col_1686", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 1686 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1686 + }, + { + "name": "test_col_1687", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 1687 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1687 + }, + { + "name": "test_col_1688", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 1688 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1688 + }, + { + "name": "test_col_1689", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 1689 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1689 + }, + { + "name": "test_col_1690", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 1690 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1690 + }, + { + "name": "test_col_1691", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 1691 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1691, + "dataLength": 255 + }, + { + "name": "test_col_1692", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 1692 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1692 + }, + { + "name": "test_col_1693", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 1693 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1693 + }, + { + "name": "test_col_1694", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 1694 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1694 + }, + { + "name": "test_col_1695", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 1695 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1695 + }, + { + "name": "test_col_1696", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 1696 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1696 + }, + { + "name": "test_col_1697", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 1697 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1697 + }, + { + "name": "test_col_1698", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 1698 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1698 + }, + { + "name": "test_col_1699", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 1699 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1699 + }, + { + "name": "test_col_1700", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 1700 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1700 + }, + { + "name": "test_col_1701", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 1701 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1701, + "dataLength": 255 + }, + { + "name": "test_col_1702", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 1702 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1702 + }, + { + "name": "test_col_1703", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 1703 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1703 + }, + { + "name": "test_col_1704", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 1704 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1704 + }, + { + "name": "test_col_1705", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 1705 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1705 + }, + { + "name": "test_col_1706", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 1706 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1706 + }, + { + "name": "test_col_1707", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 1707 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1707 + }, + { + "name": "test_col_1708", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 1708 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1708 + }, + { + "name": "test_col_1709", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 1709 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1709 + }, + { + "name": "test_col_1710", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 1710 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1710 + }, + { + "name": "test_col_1711", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 1711 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1711, + "dataLength": 255 + }, + { + "name": "test_col_1712", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 1712 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1712 + }, + { + "name": "test_col_1713", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 1713 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1713 + }, + { + "name": "test_col_1714", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 1714 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1714 + }, + { + "name": "test_col_1715", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 1715 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1715 + }, + { + "name": "test_col_1716", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 1716 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1716 + }, + { + "name": "test_col_1717", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 1717 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1717 + }, + { + "name": "test_col_1718", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 1718 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1718 + }, + { + "name": "test_col_1719", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 1719 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1719 + }, + { + "name": "test_col_1720", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 1720 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1720 + }, + { + "name": "test_col_1721", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 1721 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1721, + "dataLength": 255 + }, + { + "name": "test_col_1722", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 1722 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1722 + }, + { + "name": "test_col_1723", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 1723 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1723 + }, + { + "name": "test_col_1724", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 1724 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1724 + }, + { + "name": "test_col_1725", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 1725 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1725 + }, + { + "name": "test_col_1726", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 1726 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1726 + }, + { + "name": "test_col_1727", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 1727 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1727 + }, + { + "name": "test_col_1728", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 1728 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1728 + }, + { + "name": "test_col_1729", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 1729 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1729 + }, + { + "name": "test_col_1730", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 1730 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1730 + }, + { + "name": "test_col_1731", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 1731 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1731, + "dataLength": 255 + }, + { + "name": "test_col_1732", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 1732 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1732 + }, + { + "name": "test_col_1733", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 1733 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1733 + }, + { + "name": "test_col_1734", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 1734 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1734 + }, + { + "name": "test_col_1735", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 1735 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1735 + }, + { + "name": "test_col_1736", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 1736 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1736 + }, + { + "name": "test_col_1737", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 1737 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1737 + }, + { + "name": "test_col_1738", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 1738 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1738 + }, + { + "name": "test_col_1739", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 1739 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1739 + }, + { + "name": "test_col_1740", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 1740 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1740 + }, + { + "name": "test_col_1741", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 1741 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1741, + "dataLength": 255 + }, + { + "name": "test_col_1742", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 1742 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1742 + }, + { + "name": "test_col_1743", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 1743 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1743 + }, + { + "name": "test_col_1744", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 1744 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1744 + }, + { + "name": "test_col_1745", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 1745 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1745 + }, + { + "name": "test_col_1746", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 1746 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1746 + }, + { + "name": "test_col_1747", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 1747 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1747 + }, + { + "name": "test_col_1748", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 1748 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1748 + }, + { + "name": "test_col_1749", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 1749 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1749 + }, + { + "name": "test_col_1750", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 1750 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1750 + }, + { + "name": "test_col_1751", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 1751 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1751, + "dataLength": 255 + }, + { + "name": "test_col_1752", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 1752 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1752 + }, + { + "name": "test_col_1753", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 1753 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1753 + }, + { + "name": "test_col_1754", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 1754 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1754 + }, + { + "name": "test_col_1755", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 1755 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1755 + }, + { + "name": "test_col_1756", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 1756 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1756 + }, + { + "name": "test_col_1757", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 1757 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1757 + }, + { + "name": "test_col_1758", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 1758 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1758 + }, + { + "name": "test_col_1759", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 1759 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1759 + }, + { + "name": "test_col_1760", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 1760 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1760 + }, + { + "name": "test_col_1761", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 1761 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1761, + "dataLength": 255 + }, + { + "name": "test_col_1762", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 1762 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1762 + }, + { + "name": "test_col_1763", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 1763 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1763 + }, + { + "name": "test_col_1764", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 1764 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1764 + }, + { + "name": "test_col_1765", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 1765 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1765 + }, + { + "name": "test_col_1766", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 1766 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1766 + }, + { + "name": "test_col_1767", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 1767 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1767 + }, + { + "name": "test_col_1768", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 1768 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1768 + }, + { + "name": "test_col_1769", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 1769 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1769 + }, + { + "name": "test_col_1770", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 1770 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1770 + }, + { + "name": "test_col_1771", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 1771 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1771, + "dataLength": 255 + }, + { + "name": "test_col_1772", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 1772 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1772 + }, + { + "name": "test_col_1773", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 1773 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1773 + }, + { + "name": "test_col_1774", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 1774 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1774 + }, + { + "name": "test_col_1775", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 1775 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1775 + }, + { + "name": "test_col_1776", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 1776 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1776 + }, + { + "name": "test_col_1777", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 1777 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1777 + }, + { + "name": "test_col_1778", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 1778 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1778 + }, + { + "name": "test_col_1779", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 1779 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1779 + }, + { + "name": "test_col_1780", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 1780 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1780 + }, + { + "name": "test_col_1781", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 1781 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1781, + "dataLength": 255 + }, + { + "name": "test_col_1782", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 1782 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1782 + }, + { + "name": "test_col_1783", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 1783 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1783 + }, + { + "name": "test_col_1784", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 1784 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1784 + }, + { + "name": "test_col_1785", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 1785 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1785 + }, + { + "name": "test_col_1786", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 1786 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1786 + }, + { + "name": "test_col_1787", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 1787 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1787 + }, + { + "name": "test_col_1788", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 1788 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1788 + }, + { + "name": "test_col_1789", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 1789 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1789 + }, + { + "name": "test_col_1790", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 1790 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1790 + }, + { + "name": "test_col_1791", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 1791 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1791, + "dataLength": 255 + }, + { + "name": "test_col_1792", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 1792 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1792 + }, + { + "name": "test_col_1793", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 1793 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1793 + }, + { + "name": "test_col_1794", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 1794 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1794 + }, + { + "name": "test_col_1795", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 1795 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1795 + }, + { + "name": "test_col_1796", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 1796 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1796 + }, + { + "name": "test_col_1797", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 1797 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1797 + }, + { + "name": "test_col_1798", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 1798 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1798 + }, + { + "name": "test_col_1799", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 1799 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1799 + }, + { + "name": "test_col_1800", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 1800 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1800 + }, + { + "name": "test_col_1801", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 1801 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1801, + "dataLength": 255 + }, + { + "name": "test_col_1802", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 1802 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1802 + }, + { + "name": "test_col_1803", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 1803 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1803 + }, + { + "name": "test_col_1804", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 1804 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1804 + }, + { + "name": "test_col_1805", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 1805 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1805 + }, + { + "name": "test_col_1806", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 1806 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1806 + }, + { + "name": "test_col_1807", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 1807 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1807 + }, + { + "name": "test_col_1808", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 1808 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1808 + }, + { + "name": "test_col_1809", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 1809 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1809 + }, + { + "name": "test_col_1810", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 1810 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1810 + }, + { + "name": "test_col_1811", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 1811 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1811, + "dataLength": 255 + }, + { + "name": "test_col_1812", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 1812 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1812 + }, + { + "name": "test_col_1813", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 1813 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1813 + }, + { + "name": "test_col_1814", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 1814 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1814 + }, + { + "name": "test_col_1815", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 1815 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1815 + }, + { + "name": "test_col_1816", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 1816 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1816 + }, + { + "name": "test_col_1817", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 1817 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1817 + }, + { + "name": "test_col_1818", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 1818 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1818 + }, + { + "name": "test_col_1819", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 1819 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1819 + }, + { + "name": "test_col_1820", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 1820 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1820 + }, + { + "name": "test_col_1821", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 1821 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1821, + "dataLength": 255 + }, + { + "name": "test_col_1822", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 1822 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1822 + }, + { + "name": "test_col_1823", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 1823 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1823 + }, + { + "name": "test_col_1824", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 1824 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1824 + }, + { + "name": "test_col_1825", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 1825 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1825 + }, + { + "name": "test_col_1826", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 1826 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1826 + }, + { + "name": "test_col_1827", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 1827 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1827 + }, + { + "name": "test_col_1828", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 1828 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1828 + }, + { + "name": "test_col_1829", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 1829 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1829 + }, + { + "name": "test_col_1830", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 1830 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1830 + }, + { + "name": "test_col_1831", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 1831 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1831, + "dataLength": 255 + }, + { + "name": "test_col_1832", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 1832 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1832 + }, + { + "name": "test_col_1833", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 1833 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1833 + }, + { + "name": "test_col_1834", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 1834 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1834 + }, + { + "name": "test_col_1835", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 1835 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1835 + }, + { + "name": "test_col_1836", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 1836 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1836 + }, + { + "name": "test_col_1837", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 1837 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1837 + }, + { + "name": "test_col_1838", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 1838 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1838 + }, + { + "name": "test_col_1839", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 1839 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1839 + }, + { + "name": "test_col_1840", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 1840 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1840 + }, + { + "name": "test_col_1841", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 1841 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1841, + "dataLength": 255 + }, + { + "name": "test_col_1842", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 1842 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1842 + }, + { + "name": "test_col_1843", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 1843 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1843 + }, + { + "name": "test_col_1844", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 1844 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1844 + }, + { + "name": "test_col_1845", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 1845 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1845 + }, + { + "name": "test_col_1846", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 1846 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1846 + }, + { + "name": "test_col_1847", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 1847 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1847 + }, + { + "name": "test_col_1848", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 1848 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1848 + }, + { + "name": "test_col_1849", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 1849 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1849 + }, + { + "name": "test_col_1850", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 1850 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1850 + }, + { + "name": "test_col_1851", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 1851 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1851, + "dataLength": 255 + }, + { + "name": "test_col_1852", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 1852 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1852 + }, + { + "name": "test_col_1853", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 1853 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1853 + }, + { + "name": "test_col_1854", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 1854 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1854 + }, + { + "name": "test_col_1855", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 1855 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1855 + }, + { + "name": "test_col_1856", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 1856 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1856 + }, + { + "name": "test_col_1857", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 1857 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1857 + }, + { + "name": "test_col_1858", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 1858 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1858 + }, + { + "name": "test_col_1859", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 1859 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1859 + }, + { + "name": "test_col_1860", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 1860 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1860 + }, + { + "name": "test_col_1861", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 1861 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1861, + "dataLength": 255 + }, + { + "name": "test_col_1862", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 1862 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1862 + }, + { + "name": "test_col_1863", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 1863 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1863 + }, + { + "name": "test_col_1864", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 1864 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1864 + }, + { + "name": "test_col_1865", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 1865 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1865 + }, + { + "name": "test_col_1866", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 1866 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1866 + }, + { + "name": "test_col_1867", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 1867 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1867 + }, + { + "name": "test_col_1868", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 1868 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1868 + }, + { + "name": "test_col_1869", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 1869 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1869 + }, + { + "name": "test_col_1870", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 1870 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1870 + }, + { + "name": "test_col_1871", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 1871 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1871, + "dataLength": 255 + }, + { + "name": "test_col_1872", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 1872 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1872 + }, + { + "name": "test_col_1873", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 1873 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1873 + }, + { + "name": "test_col_1874", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 1874 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1874 + }, + { + "name": "test_col_1875", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 1875 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1875 + }, + { + "name": "test_col_1876", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 1876 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1876 + }, + { + "name": "test_col_1877", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 1877 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1877 + }, + { + "name": "test_col_1878", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 1878 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1878 + }, + { + "name": "test_col_1879", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 1879 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1879 + }, + { + "name": "test_col_1880", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 1880 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1880 + }, + { + "name": "test_col_1881", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 1881 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1881, + "dataLength": 255 + }, + { + "name": "test_col_1882", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 1882 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1882 + }, + { + "name": "test_col_1883", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 1883 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1883 + }, + { + "name": "test_col_1884", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 1884 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1884 + }, + { + "name": "test_col_1885", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 1885 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1885 + }, + { + "name": "test_col_1886", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 1886 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1886 + }, + { + "name": "test_col_1887", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 1887 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1887 + }, + { + "name": "test_col_1888", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 1888 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1888 + }, + { + "name": "test_col_1889", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 1889 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1889 + }, + { + "name": "test_col_1890", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 1890 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1890 + }, + { + "name": "test_col_1891", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 1891 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1891, + "dataLength": 255 + }, + { + "name": "test_col_1892", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 1892 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1892 + }, + { + "name": "test_col_1893", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 1893 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1893 + }, + { + "name": "test_col_1894", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 1894 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1894 + }, + { + "name": "test_col_1895", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 1895 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1895 + }, + { + "name": "test_col_1896", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 1896 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1896 + }, + { + "name": "test_col_1897", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 1897 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1897 + }, + { + "name": "test_col_1898", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 1898 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1898 + }, + { + "name": "test_col_1899", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 1899 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1899 + }, + { + "name": "test_col_1900", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 1900 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1900 + }, + { + "name": "test_col_1901", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 1901 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1901, + "dataLength": 255 + }, + { + "name": "test_col_1902", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 1902 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1902 + }, + { + "name": "test_col_1903", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 1903 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1903 + }, + { + "name": "test_col_1904", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 1904 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1904 + }, + { + "name": "test_col_1905", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 1905 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1905 + }, + { + "name": "test_col_1906", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 1906 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1906 + }, + { + "name": "test_col_1907", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 1907 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1907 + }, + { + "name": "test_col_1908", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 1908 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1908 + }, + { + "name": "test_col_1909", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 1909 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1909 + }, + { + "name": "test_col_1910", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 1910 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1910 + }, + { + "name": "test_col_1911", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 1911 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1911, + "dataLength": 255 + }, + { + "name": "test_col_1912", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 1912 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1912 + }, + { + "name": "test_col_1913", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 1913 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1913 + }, + { + "name": "test_col_1914", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 1914 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1914 + }, + { + "name": "test_col_1915", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 1915 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1915 + }, + { + "name": "test_col_1916", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 1916 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1916 + }, + { + "name": "test_col_1917", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 1917 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1917 + }, + { + "name": "test_col_1918", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 1918 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1918 + }, + { + "name": "test_col_1919", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 1919 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1919 + }, + { + "name": "test_col_1920", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 1920 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1920 + }, + { + "name": "test_col_1921", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 1921 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1921, + "dataLength": 255 + }, + { + "name": "test_col_1922", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 1922 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1922 + }, + { + "name": "test_col_1923", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 1923 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1923 + }, + { + "name": "test_col_1924", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 1924 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1924 + }, + { + "name": "test_col_1925", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 1925 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1925 + }, + { + "name": "test_col_1926", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 1926 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1926 + }, + { + "name": "test_col_1927", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 1927 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1927 + }, + { + "name": "test_col_1928", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 1928 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1928 + }, + { + "name": "test_col_1929", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 1929 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1929 + }, + { + "name": "test_col_1930", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 1930 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1930 + }, + { + "name": "test_col_1931", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 1931 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1931, + "dataLength": 255 + }, + { + "name": "test_col_1932", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 1932 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1932 + }, + { + "name": "test_col_1933", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 1933 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1933 + }, + { + "name": "test_col_1934", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 1934 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1934 + }, + { + "name": "test_col_1935", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 1935 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1935 + }, + { + "name": "test_col_1936", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 1936 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1936 + }, + { + "name": "test_col_1937", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 1937 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1937 + }, + { + "name": "test_col_1938", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 1938 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1938 + }, + { + "name": "test_col_1939", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 1939 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1939 + }, + { + "name": "test_col_1940", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 1940 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1940 + }, + { + "name": "test_col_1941", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 1941 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1941, + "dataLength": 255 + }, + { + "name": "test_col_1942", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 1942 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1942 + }, + { + "name": "test_col_1943", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 1943 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1943 + }, + { + "name": "test_col_1944", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 1944 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1944 + }, + { + "name": "test_col_1945", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 1945 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1945 + }, + { + "name": "test_col_1946", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 1946 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1946 + }, + { + "name": "test_col_1947", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 1947 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1947 + }, + { + "name": "test_col_1948", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 1948 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1948 + }, + { + "name": "test_col_1949", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 1949 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1949 + }, + { + "name": "test_col_1950", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 1950 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1950 + }, + { + "name": "test_col_1951", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 1951 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1951, + "dataLength": 255 + }, + { + "name": "test_col_1952", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 1952 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1952 + }, + { + "name": "test_col_1953", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 1953 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1953 + }, + { + "name": "test_col_1954", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 1954 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1954 + }, + { + "name": "test_col_1955", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 1955 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1955 + }, + { + "name": "test_col_1956", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 1956 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1956 + }, + { + "name": "test_col_1957", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 1957 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1957 + }, + { + "name": "test_col_1958", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 1958 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1958 + }, + { + "name": "test_col_1959", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 1959 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1959 + }, + { + "name": "test_col_1960", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 1960 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1960 + }, + { + "name": "test_col_1961", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 1961 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1961, + "dataLength": 255 + }, + { + "name": "test_col_1962", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 1962 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1962 + }, + { + "name": "test_col_1963", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 1963 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1963 + }, + { + "name": "test_col_1964", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 1964 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1964 + }, + { + "name": "test_col_1965", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 1965 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1965 + }, + { + "name": "test_col_1966", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 1966 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1966 + }, + { + "name": "test_col_1967", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 1967 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1967 + }, + { + "name": "test_col_1968", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 1968 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1968 + }, + { + "name": "test_col_1969", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 1969 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1969 + }, + { + "name": "test_col_1970", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 1970 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1970 + }, + { + "name": "test_col_1971", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 1971 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1971, + "dataLength": 255 + }, + { + "name": "test_col_1972", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 1972 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1972 + }, + { + "name": "test_col_1973", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 1973 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1973 + }, + { + "name": "test_col_1974", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 1974 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1974 + }, + { + "name": "test_col_1975", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 1975 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1975 + }, + { + "name": "test_col_1976", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 1976 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1976 + }, + { + "name": "test_col_1977", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 1977 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1977 + }, + { + "name": "test_col_1978", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 1978 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1978 + }, + { + "name": "test_col_1979", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 1979 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1979 + }, + { + "name": "test_col_1980", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 1980 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1980 + }, + { + "name": "test_col_1981", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 1981 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1981, + "dataLength": 255 + }, + { + "name": "test_col_1982", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 1982 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1982 + }, + { + "name": "test_col_1983", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 1983 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1983 + }, + { + "name": "test_col_1984", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 1984 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1984 + }, + { + "name": "test_col_1985", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 1985 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1985 + }, + { + "name": "test_col_1986", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 1986 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1986 + }, + { + "name": "test_col_1987", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 1987 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1987 + }, + { + "name": "test_col_1988", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 1988 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1988 + }, + { + "name": "test_col_1989", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 1989 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1989 + }, + { + "name": "test_col_1990", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 1990 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1990 + }, + { + "name": "test_col_1991", + "dataType": "VARCHAR", + "dataTypeDisplay": "varchar", + "description": "Performance test column 1991 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1991, + "dataLength": 255 + }, + { + "name": "test_col_1992", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Performance test column 1992 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1992 + }, + { + "name": "test_col_1993", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Performance test column 1993 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1993 + }, + { + "name": "test_col_1994", + "dataType": "TIMESTAMP", + "dataTypeDisplay": "timestamp", + "description": "Performance test column 1994 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1994 + }, + { + "name": "test_col_1995", + "dataType": "BOOLEAN", + "dataTypeDisplay": "boolean", + "description": "Performance test column 1995 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1995 + }, + { + "name": "test_col_1996", + "dataType": "DATE", + "dataTypeDisplay": "date", + "description": "Performance test column 1996 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1996 + }, + { + "name": "test_col_1997", + "dataType": "TEXT", + "dataTypeDisplay": "text", + "description": "Performance test column 1997 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1997 + }, + { + "name": "test_col_1998", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Performance test column 1998 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1998 + }, + { + "name": "test_col_1999", + "dataType": "FLOAT", + "dataTypeDisplay": "float", + "description": "Performance test column 1999 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 1999 + }, + { + "name": "test_col_2000", + "dataType": "NUMERIC", + "dataTypeDisplay": "numeric", + "description": "Performance test column 2000 - generated for testing pagination with large number of columns", + "tags": [], + "ordinalPosition": 2000 + } + ], + "tableConstraints": [ + { + "constraintType": "PRIMARY_KEY", + "columns": [ + "test_col_0001" + ] + } + ], + "database": { + "id": "c7be1e2c-b3dc-11ec-b909-0242ac120002", + "type": "database", + "name": "sample_data.ecommerce_db", + "description": "This **mock** database contains mock tables related to shopify sales and orders with related dimension tables.", + "href": "http://localhost:8585/api/v1/databases/c7be1e2c-b3dc-11ec-b909-0242ac120002" + }, + "databaseSchema": { + "id": "d7be1e2c-b3dc-11ec-b909-0242ac120002", + "type": "databaseSchema", + "name": "sample_data.ecommerce_db.shopify", + "description": "This **mock** Schema contains tables related to shopify sales and orders with related dimension tables.", + "href": "http://localhost:8585/api/v1/databaseSchemas/d7be1e2c-b3dc-11ec-b909-0242ac120002" + }, + "sourceUrl": "http://localhost:8080/performance_test_table" + }, + { + "name": "big_data_table_with_nested_columns", + "description": "A large table with thousands of columns including nested structures for testing pagination and search performance", + "version": 0.1, + "updatedAt": 1638354087391, + "updatedBy": "anonymous", + "href": "http://localhost:8585/api/v1/tables/big-data-table-nested", + "tableType": "Regular", + "schemaDefinition": "CREATE TABLE big_data_table_with_nested_columns AS SELECT * FROM big_source", + "columns": [ + { + "name": "column_0001", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Auto-generated column 1 for testing pagination and search", + "tags": [], + "ordinalPosition": 1 + }, + { + "name": "column_0002", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Auto-generated column 2 for testing pagination and search", + "tags": [], + "ordinalPosition": 2 + }, + { + "name": "column_0003", + "dataType": "VARCHAR", + "dataLength": 255, + "dataTypeDisplay": "varchar(255)", + "description": "Auto-generated column 3 for testing pagination and search", + "tags": [], + "ordinalPosition": 3 + }, + { + "name": "nested_struct_01", + "dataType": "STRUCT", + "dataTypeDisplay": "struct", + "description": "Nested structure 1 containing customer/order/product data", + "tags": [], + "ordinalPosition": 1001, + "children": [ + { + "name": "field_01", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Nested field 1 in structure 1", + "tags": [], + "ordinalPosition": 1 + }, + { + "name": "field_02", + "dataType": "DOUBLE", + "dataTypeDisplay": "double", + "description": "Nested field 2 in structure 1", + "tags": [], + "ordinalPosition": 2 + }, + { + "name": "field_03", + "dataType": "INT", + "dataTypeDisplay": "int", + "description": "Nested field 3 in structure 1", + "tags": [], + "ordinalPosition": 3 + } + ] + }, + { + "name": "deeply_nested_data", + "dataType": "STRUCT", + "dataTypeDisplay": "struct", + "description": "Deeply nested structure for testing recursive search", + "tags": [], + "ordinalPosition": 1011, + "children": [ + { + "name": "customer_info", + "dataType": "STRUCT", + "dataTypeDisplay": "struct", + "description": "Customer information structure", + "tags": [], + "ordinalPosition": 1, + "children": [ + { + "name": "personal_details", + "dataType": "STRUCT", + "dataTypeDisplay": "struct", + "description": "Personal details nested structure", + "tags": [], + "ordinalPosition": 1, + "children": [ + { + "name": "first_name", + "dataType": "VARCHAR", + "dataLength": 50, + "dataTypeDisplay": "varchar(50)", + "description": "Customer first name", + "tags": [], + "ordinalPosition": 1 + }, + { + "name": "last_name", + "dataType": "VARCHAR", + "dataLength": 50, + "dataTypeDisplay": "varchar(50)", + "description": "Customer last name", + "tags": [], + "ordinalPosition": 2 + } + ] + } + ] + } + ] + } + ], + "database": { + "id": "c7be1e2c-b3dc-11ec-b909-0242ac120002", + "type": "database", + "name": "sample_data.ecommerce_db", + "description": "This **mock** database contains mock tables related to shopify sales and orders with related dimension tables.", + "href": "http://localhost:8585/api/v1/databases/c7be1e2c-b3dc-11ec-b909-0242ac120002" + }, + "databaseSchema": { + "id": "d7be1e2c-b3dc-11ec-b909-0242ac120002", + "type": "databaseSchema", + "name": "sample_data.ecommerce_db.shopify", + "description": "This **mock** Schema contains tables related to shopify sales and orders with related dimension tables.", + "href": "http://localhost:8585/api/v1/databaseSchemas/d7be1e2c-b3dc-11ec-b909-0242ac120002" + }, + "sourceUrl": "http://localhost:8080/big_data_table_with_nested_columns", + "tags": [] + }, + { + "name": "test_long_description_table", + "description": "START_LONG_DESCRIPTION: This is a test table with an extremely long description designed to reproduce the OpenSearch highlighting error. The error occurs when the description field exceeds 1000000 characters and OpenSearch tries to highlight it without proper term vectors. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA This padding ensures the description exceeds the 1000000 character limit that causes the OpenSearch highlight.max_analyzed_offset error. The solution is to add term_vector: with_positions_offsets to the description field mapping. END_LONG_DESCRIPTION", + "version": 0.1, + "updatedAt": 1638354087391, + "updatedBy": "test_user", + "href": "http://localhost:8585/api/v1/tables/test-long-desc-table-id", + "tableType": "Regular", + "columns": [ + { + "name": "id", + "dataType": "BIGINT", + "dataTypeDisplay": "bigint", + "description": "Unique identifier", + "tags": [], + "ordinalPosition": 1 + }, + { + "name": "name", + "dataType": "VARCHAR", + "dataLength": 255, + "dataTypeDisplay": "varchar", + "description": "Name field", + "tags": [], + "ordinalPosition": 2 + } + ], + "database": { + "id": "c7be1e2c-b3dc-11ec-b909-0242ac120002", + "type": "database", + "name": "sample_data.ecommerce_db", + "description": "This **mock** database contains mock tables related to shopify sales and orders with related dimension tables.", + "href": "http://localhost:8585/api/v1/databases/c7be1e2c-b3dc-11ec-b909-0242ac120002" + }, + "databaseSchema": { + "id": "d7be1e2c-b3dc-11ec-b909-0242ac120002", + "type": "databaseSchema", + "name": "sample_data.ecommerce_db.shopify", + "description": "This **mock** Schema contains tables related to shopify sales and orders with related dimension tables.", + "href": "http://localhost:8585/api/v1/databaseSchemas/d7be1e2c-b3dc-11ec-b909-0242ac120002" + }, + "sourceUrl": "http://localhost:8080/test_long_description_table", + "tags": [] + } + ] +>>>>>>> c90138501f (Fix #21822: OpenSearch by default limits the number of characters it will analyze for highlighting to 1,000,000 characters. If your description field is very large (e.g. Markdown docs, embedded HTML, or verbose documentation), this limit gets exceeded. (#21821)) +} diff --git a/ingestion/examples/sample_data/datasets/tables.json b/ingestion/examples/sample_data/datasets/tables.json index cf9d25b1b62..86402a83b9f 100644 --- a/ingestion/examples/sample_data/datasets/tables.json +++ b/ingestion/examples/sample_data/datasets/tables.json @@ -1,18 +1,4 @@ { -<<<<<<< HEAD - "tables": [ - { - "name": "dim_::>address", - "description": "This dimension table contains the billing and shipping addresses of customers. You can join this table with the sales table to generate lists of the billing and shipping addresses. Customers can enter their addresses more than once, so the same address can appear in more than one row in this table. This table contains one row per customer address.", - "version": 0.1, - "updatedAt": 1638354087391, - "updatedBy": "anonymous", - "href": "http://localhost:8585/api/v1/tables/3cda8ecb-f4c6-4ed4-8506-abe965b54b86", - "tableType": "Regular", - "schemaDefinition": "CREATE TABLE dim_address(address_id NUMERIC PRIMARY KEY, shop_id NUMERIC)", - "retentionPeriod": "10D", - "columns": [ -======= "tables": [ { "name": "dim_::>address", @@ -7972,150 +7958,19 @@ "dataTypeDisplay": "struct", "tags": [], "children": [ ->>>>>>> c90138501f (Fix #21822: OpenSearch by default limits the number of characters it will analyze for highlighting to 1,000,000 characters. If your description field is very large (e.g. Markdown docs, embedded HTML, or verbose documentation), this limit gets exceeded. (#21821)) { - "name": "address_::>id", - "dataType": "NUMERIC", - "dataTypeDisplay": "numeric", - "description": "Unique identifier for the address.", - "tags": [], - "ordinalPosition": 1 + "name": "country_code", + "dataType": "INT", + "dataTypeDisplay": "INT", + "tags": [] }, { - "name": "shop_id", - "dataType": "NUMERIC", - "dataTypeDisplay": "numeric", - "description": "The ID of the store. This column is a foreign key reference to the shop_id column in the dim_shop table.", - "tags": [], - "ordinalPosition": 2 - }, - { - "name": "first_name", - "dataType": "VARCHAR", - "dataLength": 100, - "dataTypeDisplay": "varchar", - "description": "First name of the customer.", - "tags": [], - "ordinalPosition": 3 - }, - { - "name": "last_name", - "dataType": "VARCHAR", - "dataLength": 100, - "dataTypeDisplay": "varchar", - "description": "Last name of the customer.", - "tags": [], - "ordinalPosition": 4 - }, - { - "name": "address1", - "dataType": "VARCHAR", - "dataLength": 500, - "dataTypeDisplay": "varchar", - "description": "The first address line. For example, 150 Elgin St.", - "tags": [], - "ordinalPosition": 5 - }, - { - "name": "address2", - "dataType": "VARCHAR", - "dataLength": 500, - "dataTypeDisplay": "varchar", - "description": "The second address line. For example, Suite 800.", - "tags": [], - "ordinalPosition": 6 - }, - { - "name": "company", - "dataType": "VARCHAR", - "dataLength": 100, - "dataTypeDisplay": "varchar", - "description": "The name of the customers business, if one exists.", - "tags": [], - "ordinalPosition": 7 - }, - { - "name": "city", - "dataType": "VARCHAR", - "dataLength": 100, - "dataTypeDisplay": "varchar", - "description": "The name of the city. For example, Palo Alto.", - "tags": [], - "ordinalPosition": 8 - }, - { - "name": "region", - "dataType": "VARCHAR", - "dataLength": 512, - "dataTypeDisplay": "varchar", - "description": "The name of the region, such as a province or state, where the customer is located. For example, Ontario or New York. This column is the same as CustomerAddress.province in the Admin API.", - "tags": [], - "ordinalPosition": 9 - }, - { - "name": "zip", - "dataType": "VARCHAR", - "dataLength": 10, - "dataTypeDisplay": "varchar", - "description": "The ZIP or postal code. For example, 90210.", - "tags": [], - "ordinalPosition": 10, - "customMetrics": [ - { - "name": "CountOfLAZipCode", - "columnName": "zip", - "expression": "SELECT COUNT(zip) FROM dim_address WHERE zip LIKE '900%'" - }, - { - "name": "CountOfOrangeCountyZipCode", - "columnName": "zip", - "expression": "SELECT COUNT(zip) FROM dim_address WHERE zip LIKE '92%'" - } - ] - }, - { - "name": "country", - "dataType": "VARCHAR", - "dataLength": 50, - "dataTypeDisplay": "varchar", - "description": "The full name of the country. For example, Canada.", - "tags": [], - "ordinalPosition": 11 - }, - { - "name": "phone", - "dataType": "VARCHAR", - "dataLength": 15, - "dataTypeDisplay": "varchar", - "description": "The phone number of the customer.", - "tags": [], - "ordinalPosition": 12, - "customMetrics": [ - { - "name": "CountOfNonUsPhoneNumbers", - "columnName": "phone", - "expression": "SELECT COUNT(phone) FROM dim_address WHERE phone NOT LIKE '1%'" - } - ] + "name": "country_name", + "dataType": "VARCHAR", + "dataLength": 100, + "dataTypeDisplay": "VARCHAR(100)", + "tags": [] } -<<<<<<< HEAD - ], - "tableConstraints": [ - { - "constraintType": "PRIMARY_KEY", - "columns": [ - "address_::>id", - "shop_id" - ] - } - ], - "database": { - "id": "50da1ff8-4e1d-4967-8931-45edbf4dd908", - "type": "database", - "name": "sample_data.ecommerce_db", - "description": "This **mock** database contains tables related to shopify sales and orders with related dimension tables.", - "href": "http://localhost:8585/api/v1/databases/50da1ff8-4e1d-4967-8931-45edbf4dd908" -======= ] } ] @@ -14702,15915 +14557,39 @@ "dataTypeDisplay": "character varying(32)", "tags": [], "constraint": "NULL" ->>>>>>> c90138501f (Fix #21822: OpenSearch by default limits the number of characters it will analyze for highlighting to 1,000,000 characters. If your description field is very large (e.g. Markdown docs, embedded HTML, or verbose documentation), this limit gets exceeded. (#21821)) }, - "tags": [], - "usageSummary": { - "dailyStats": { - "count": 73, - "percentileRank": 45 - }, - "weeklyStats": { - "count": 73, - "percentileRank": 45 - }, - "monthlyStats": { - "count": 67, - "percentileRank": 45 - }, - "date": "2021-12-01" + { + "name": "name", + "dataType": "VARCHAR", + "dataLength": 32, + "dataTypeDisplay": "character varying(32)", + "tags": [], + "constraint": "NULL" + }, + { + "name": "sex", + "dataType": "CHAR", + "dataLength": 1, + "dataTypeDisplay": "char(1)", + "tags": [], + "constraint": "NULL" + }, + { + "name": "address", + "dataType": "VARCHAR", + "dataLength": 128, + "dataTypeDisplay": "character varying(128)", + "tags": [], + "constraint": "NULL" + }, + { + "name": "mail", + "dataType": "VARCHAR", + "dataLength": 64, + "dataTypeDisplay": "character varying(64)", + "tags": [], + "constraint": "NULL" }, - "followers": [], - "joins": { - "startDate": "2021-11-01", - "dayCount": 30, - "columnJoins": [ - { - "columnName": "shop_id", - "joinedWith": [ - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.shop\".shop_id", - "joinCount": 35 - } - ] - }, - { - "columnName": "address_::>id", - "joinedWith": [ - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.api_client_id", - "joinCount": 49 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.billing_address_id", - "joinCount": 49 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.customer_id", - "joinCount": 49 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.location_id", - "joinCount": 49 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.order_id", - "joinCount": 49 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.product_id", - "joinCount": 49 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.product_variant_id", - "joinCount": 49 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.shipping_address_id", - "joinCount": 49 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.shop_id", - "joinCount": 49 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.user_id", - "joinCount": 49 - } - ] - } - ] - }, - "sampleData": { - "columns": [ - "address_::>id", - "shop_id", - "first_name", - "last_name", - "address1", - "address2", - "company", - "city", - "region", - "zip", - "country", - "phone" - ], - "rows": [ - [ - "bc35100e-2da5-48bb-bfc8-667dafe66532", - "70424951-bc97-4b20-9ce7-be37c4619361", - "Zachary", - "Brett", - "9054 Maria Circle Apt. 296", - "48348 Victoria Valleys Suite 144", - "Robinson Inc", - "Stephanieport", - "048 Moore Turnpike Apt. 061", - "30839", - "Latvia", - "(381)575-6692" - ], - [ - "d9a5b1a0-bf92-4b71-884d-9818308d040d", - "ffdc81e4-b0dc-47b2-8240-8540ba6c3029", - "Melissa", - "Amy", - "6212 William Plaza Suite 362", - "741 Eric Bypass", - "Todd, Henderson and Jenkins", - "Petersonstad", - "363 Gary Mills", - "91794", - "Lesotho", - "828-855-9883" - ], - [ - "facf92d7-05ea-43d2-ba2a-067d63dee60c", - "a8d30187-1409-4606-9259-322a4f6caf74", - "Amber", - "Albert", - "3170 Warren Orchard Apt. 834", - "3204 Brewer Shoal Suite 324", - "Davila-Snyder", - "Nicoleland", - "023 Paul Course", - "14086", - "Sweden", - "438-959-1151" - ], - [ - "bab9a506-e23d-4c53-9402-d070e7704376", - "e02e1fac-b650-4db8-8c9d-5fa5edf5d863", - "Heidi", - "Kelly", - "30942 Gonzalez Stravenue", - "3158 Watts Green", - "Moore PLC", - "West Erica", - "6294 Elliott Ville", - "07418", - "Saint Martin", - "(830)112-9566x8681" - ], - [ - "67ff12ae-5d40-4795-9a82-3afa62a4aea1", - "bf45dc22-8d23-49d9-9d87-7b4bd2dd1762", - "Adam", - "Anna", - "986 Walker Unions", - "5798 Ross Spur Apt. 510", - "Schultz, Allen and Price", - "West Brandyton", - "07379 Alejandra Manors", - "09192", - "Cambodia", - "(859)222-9872x9188" - ], - [ - "97831db3-23df-424e-b2e3-19f196874002", - "cfc3c305-748b-4992-9fef-ddd0aa7ce927", - "Tracey", - "Kaitlin", - "1810 Fletcher Islands", - "6988 Steven Vista Apt. 738", - "Patel-Evans", - "Powellbury", - "8856 Lambert Forest Apt. 010", - "49826", - "Turks and Caicos Islands", - "195.384.1264x84605" - ], - [ - "a405990b-732f-431e-b3ad-0ce05a484671", - "f53ff51f-3365-4029-ae67-a679e1dca626", - "Carmen", - "Jessica", - "58361 Audrey Parks Apt. 128", - "864 Phillips Squares", - "Perez Inc", - "Laurieshire", - "407 Nicole Greens", - "06175", - "Kenya", - "(565)853-4978x18062" - ], - [ - "d3be5a1e-10f0-46e6-8033-d15766e73047", - "ffeea1b4-eb28-452a-8b06-2408e36b1a94", - "Melinda", - "Paul", - "09590 Gonzales Camp Apt. 092", - "146 Carlson Manor Suite 961", - "Mills Ltd", - "South Wendy", - "6273 Victor Springs Apt. 655", - "68154", - "United Arab Emirates", - "(209)678-7748x53000" - ], - [ - "52636d10-1505-4f0a-894a-52a194cdba26", - "8c021bf4-f33a-4d41-b55f-78d801a45d5e", - "Jacob", - "Jamie", - "0952 Colon Greens", - "00913 Natalie Tunnel Apt. 769", - "Sullivan Group", - "Longbury", - "03714 April Landing", - "74874", - "Turkey", - "(038)859-4310x9693" - ], - [ - "b2a1279b-392f-404f-88e0-f755d2bd3c14", - "2351209a-94b2-4b20-a517-1eef888c0d5b", - "Allen", - "Dean", - "8492 Smith Plains Apt. 986", - "420 Hodges Inlet Suite 088", - "Thornton-Mcknight", - "Gregoryborough", - "56904 Tony Branch Suite 945", - "88544", - "Mauritania", - "001-198-032-8011x00683" - ], - [ - "3a7cc826-4e7d-46de-a13d-895d5319a881", - "1a03bf40-3f40-460e-b170-2fadea8bdbee", - "Jill", - "Diana", - "092 Jose Unions", - "36896 Serrano Plaza", - "Wilson and Sons", - "North Justinchester", - "750 Contreras Bridge Apt. 456", - "77859", - "Kazakhstan", - "311.331.9899x4838" - ], - [ - "d4891b70-a002-41a9-a072-a1d3ef99c4d9", - "e49ad3aa-2c30-4148-81f8-4e2980467d1c", - "Jonathan", - "Lauren", - "4416 Christina Ville", - "44992 Katie Inlet Suite 965", - "Bennett, Hicks and Davidson", - "Lake Kendra", - "67281 Lee Drive Suite 987", - "27227", - "Jersey", - "950.930.9189x591" - ], - [ - "fbc3eeda-75b3-41f6-91a3-d671e3cc17d6", - "c3c73e91-020d-4fee-a1a9-e9781d684d9a", - "Gary", - "Jonathan", - "71309 Theresa Trail", - "29432 Brenda Overpass", - "Mccarthy-Huang", - "Lake Amanda", - "000 William Ranch", - "93218", - "Kazakhstan", - "001-109-449-4210x33965" - ], - [ - "684360f0-48c0-4bf7-9476-6231b7861c0b", - "18d728f1-8ec6-4e94-9725-fcd2ed719723", - "Karen", - "Paul", - "2867 Hunter Center Apt. 091", - "46974 Peter Drives Suite 073", - "Stephens, Wall and Johnson", - "Mcdowellfurt", - "33302 Mcintosh Orchard Apt. 884", - "17017", - "Gambia", - "484-039-6675" - ], - [ - "ec768cba-fc73-484a-bfc2-792e1bf29342", - "9c85fb32-1109-4409-a87d-75112fc3708f", - "Edgar", - "Hailey", - "70196 Moore Canyon", - "885 Jimenez Parkways", - "Gomez Group", - "Marktown", - "44624 Lawrence Springs Apt. 502", - "71815", - "Hungary", - "(777)526-6200" - ], - [ - "128eae16-fc8d-4d0e-9f07-78b6e4825709", - "530c610e-ab24-4f28-8d7f-684bb05817c8", - "Don", - "Edgar", - "040 Jessica Mews Apt. 149", - "3454 Lopez Neck", - "Clark, Simon and Griffith", - "Rickborough", - "549 Jeffrey Stream", - "71662", - "Korea", - "4911281340" - ], - [ - "341c94b3-cac4-46f0-bcba-33ccb52eacec", - "9f80457c-dd0e-4c4d-ab1f-cf76f734ad1c", - "Kevin", - "Kimberly", - "29504 Moore Grove", - "0079 Williams Pine Suite 274", - "Gregory-Mcgrath", - "Cantufort", - "5849 Paige River", - "72224", - "Zambia", - "(112)074-5447" - ], - [ - "d05acf85-8f05-40e8-bd8b-00a751ed4b16", - "a8214997-3076-4732-be67-66e0169f894d", - "Candace", - "Donna", - "1110 Powers Neck Suite 716", - "50101 Pamela Orchard Apt. 576", - "Brown, Hunter and Adkins", - "Adrianaville", - "4326 Orr Extensions", - "94064", - "Haiti", - "001-843-960-7631x732" - ], - [ - "44886c82-0e01-4b65-bf46-235d4d1e4e17", - "c0055521-b8d3-4ad8-86c3-cf310b5719c9", - "Holly", - "Tony", - "562 Shaw Burgs", - "568 Reed Vista", - "Ramirez Group", - "West Aaronfurt", - "6008 Brianna Lock Suite 088", - "46723", - "Uganda", - "343.960.6582" - ], - [ - "3ba1f5ff-fcd9-4315-8e72-14b716496a3c", - "3dc80460-e52c-4e94-a3dc-e9234f73e016", - "Melissa", - "Jessica", - "4076 Lisa Unions", - "46781 Brittany Route", - "Williams Inc", - "Harmonmouth", - "4349 Hughes Grove Suite 834", - "94032", - "South Georgia and the South Sandwich Islands", - "195-206-6214x45451" - ], - [ - "f757641c-963a-4696-9314-7f19f2df79fa", - "8d3afcc6-3662-4d23-899a-b9c37108f522", - "Larry", - "Brian", - "1698 Brittany Ridges", - "00442 Terry Via", - "Gallagher Group", - "Smithton", - "4835 Long Hills", - "96036", - "Japan", - "(592)844-2557x28538" - ], - [ - "a2c68229-75c5-43a5-b18b-8a8b504d4f9d", - "d78f0b90-d3a9-4568-b7de-8bb45423b25b", - "Gary", - "Luis", - "909 Carolyn Highway Apt. 717", - "549 Steve Walks Suite 058", - "Serrano, Harrison and Beard", - "South Kimberly", - "18324 Briana Point", - "36285", - "Macao", - "392.711.2369x14285" - ], - [ - "2a89cec7-1cf5-4c9c-ad79-745a1984e36f", - "4035c32c-7a03-409f-a8f4-bb3ff3d7c91d", - "Brittany", - "Brenda", - "2691 Brandon Plaza", - "13209 Alexis Cove Suite 182", - "Durham LLC", - "New Christyton", - "080 Peters Track", - "97880", - "Gabon", - "+1-604-197-7676x09064" - ], - [ - "a391bf33-6665-4caa-a2d7-de3132bf60d3", - "88156561-0c36-4053-a1d7-b58fac121003", - "Debbie", - "Sharon", - "600 Keller Trafficway", - "18809 Peter Village", - "Vazquez, Allen and Washington", - "Singhmouth", - "5628 Terrence Locks Suite 798", - "20287", - "Anguilla", - "001-151-880-6914x699" - ], - [ - "19bcef03-483c-4225-bb61-aafe48a2f981", - "8a35b2d9-8f65-484f-b735-8eb42c2bbfec", - "Mark", - "Ashley", - "3124 Kenneth Mountains Suite 321", - "111 Carter Drives Apt. 942", - "Hill PLC", - "Port Shannonville", - "6035 Calderon Ramp", - "25829", - "Angola", - "441.553.9413x20451" - ] - ] - }, - "tableProfile": { - "timestamp": 1634366539, - "columnCount": 12, - "rowCount": 725, - "customMetrics": [ - { - "name": "CountOfUSAddress", - "value": 15467 - }, - { - "name": "CountOfFRAddress", - "value": 1467 - } - ], - "columnProfile": [ - { - "name": "address_::>id", - "uniqueCount": 9, - "uniqueProportion": 0.52805369, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "shop_id", - "uniqueCount": 29, - "uniqueProportion": 0.2290940013, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "first_name", - "uniqueCount": 13, - "uniqueProportion": 0.1327792, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "last_name", - "uniqueCount": 23, - "uniqueProportion": 0.177126, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "address1", - "uniqueCount": 53, - "uniqueProportion": 0.0396391, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "address2", - "uniqueCount": 76, - "uniqueProportion": 0.0690369, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "company", - "uniqueCount": 23, - "uniqueProportion": 0.1210963, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "city", - "uniqueCount": 6, - "uniqueProportion": 0.024072, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "region", - "uniqueCount": 3, - "uniqueProportion": 0.1478114, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "zip", - "uniqueCount": 11, - "uniqueProportion": 0.1383472, - "distinctCount": 0, - "distinctProportion": 0, - "customMetrics": [ - { - "name": "CountOfLAZipCode", - "value": 3456 - }, - { - "name": "CountOfOrangeCountyZipCode", - "value": 2345 - } - ] - }, - { - "name": "country", - "uniqueCount": 13, - "uniqueProportion": 0.1601013, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "phone", - "uniqueCount": 8, - "uniqueProportion": 0.1297079, - "distinctCount": 0, - "distinctProportion": 0 - } - ] - }, -<<<<<<< HEAD - "databaseSchema": { - "id": "d7be1e2c-b3dc-11ec-b909-0242ac120002", - "type": "databaseSchema", - "name": "sample_data.ecommerce_db.shopify", - "description": "This **mock** Schema contains tables related to shopify sales and orders with related dimension tables.", - "href": "http://localhost:8585/api/v1/databaseSchemas/d7be1e2c-b3dc-11ec-b909-0242ac120002" - }, - "customMetrics": [ - { - "name": "CountOfUSAddress", - "expression": "SELECT COUNT(address_id) FROM dim_address WHERE country = 'US'" - }, - { - "name": "CountOfFRAddress", - "expression": "SELECT COUNT(address_id) FROM dim_address WHERE country = 'FR'" - } - ], - "sourceUrl": "http://localhost:8080/dim_::>address" - }, - { - "name": "icemarketdata_global", - "description": "This dimension table contains the billing and shipping addresses of customers. You can join this table with the sales table to generate lists of the billing and shipping addresses. Customers can enter their addresses more than once, so the same address can appear in more than one row in this table. This table contains one row per customer address.", - "version": 0.1, - "updatedAt": 1638354087391, - "updatedBy": "anonymous", - "href": "http://localhost:8585/api/v1/tables/3cda8ecb-f4c6-4ed4-8506-abe965b54b86", - "tableType": "Regular", - "schemaDefinition": "CREATE TABLE dim_address(address_id NUMERIC PRIMARY KEY, shop_id NUMERIC)", - "retentionPeriod": "10D", - "columns": [ - { - "name": "address_::>id", - "dataType": "NUMERIC", - "dataTypeDisplay": "numeric", - "description": "Unique identifier for the address.", - "tags": [], - "ordinalPosition": 1 - }, - { - "name": "shop_id", - "dataType": "NUMERIC", - "dataTypeDisplay": "numeric", - "description": "The ID of the store. This column is a foreign key reference to the shop_id column in the dim_shop table.", - "tags": [], - "ordinalPosition": 2 - }, - { - "name": "first_name", - "dataType": "VARCHAR", - "dataLength": 100, - "dataTypeDisplay": "varchar", - "description": "First name of the customer.", - "tags": [], - "ordinalPosition": 3 - }, - { - "name": "last_name", - "dataType": "VARCHAR", - "dataLength": 100, - "dataTypeDisplay": "varchar", - "description": "Last name of the customer.", - "tags": [], - "ordinalPosition": 4 - }, - { - "name": "address1", - "dataType": "VARCHAR", - "dataLength": 500, - "dataTypeDisplay": "varchar", - "description": "The first address line. For example, 150 Elgin St.", - "tags": [], - "ordinalPosition": 5 - }, - { - "name": "address2", - "dataType": "VARCHAR", - "dataLength": 500, - "dataTypeDisplay": "varchar", - "description": "The second address line. For example, Suite 800.", - "tags": [], - "ordinalPosition": 6 - }, - { - "name": "company", - "dataType": "VARCHAR", - "dataLength": 100, - "dataTypeDisplay": "varchar", - "description": "The name of the customer's business, if one exists.", - "tags": [], - "ordinalPosition": 7 - }, - { - "name": "city", - "dataType": "VARCHAR", - "dataLength": 100, - "dataTypeDisplay": "varchar", - "description": "The name of the city. For example, Palo Alto.", - "tags": [], - "ordinalPosition": 8 - }, - { - "name": "region", - "dataType": "VARCHAR", - "dataLength": 512, - "dataTypeDisplay": "varchar", - "description": "The name of the region, such as a province or state, where the customer is located. For example, Ontario or New York. This column is the same as CustomerAddress.province in the Admin API.", - "tags": [], - "ordinalPosition": 9 - }, - { - "name": "zip", - "dataType": "VARCHAR", - "dataLength": 10, - "dataTypeDisplay": "varchar", - "description": "The ZIP or postal code. For example, 90210.", - "tags": [], - "ordinalPosition": 10, - "customMetrics": [ - { - "name": "CountOfLAZipCode", - "columnName": "zip", - "expression": "SELECT COUNT(zip) FROM dim_address WHERE zip LIKE '900%'" - }, - { - "name": "CountOfOrangeCountyZipCode", - "columnName": "zip", - "expression": "SELECT COUNT(zip) FROM dim_address WHERE zip LIKE '92%'" - } - ] - }, - { - "name": "country", - "dataType": "VARCHAR", - "dataLength": 50, - "dataTypeDisplay": "varchar", - "description": "The full name of the country. For example, Canada.", - "tags": [], - "ordinalPosition": 11 - }, - { - "name": "phone", - "dataType": "VARCHAR", - "dataLength": 15, - "dataTypeDisplay": "varchar", - "description": "The phone number of the customer.", - "tags": [], - "ordinalPosition": 12, - "customMetrics": [ - { - "name": "CountOfNonUsPhoneNumbers", - "columnName": "phone", - "expression": "SELECT COUNT(phone) FROM dim_address WHERE phone NOT LIKE '1%'" - } - ] - } - ], - "tableConstraints": [ - { - "constraintType": "PRIMARY_KEY", - "columns": [ - "address_::>id", - "shop_id" - ] - } - ], - "database": { - "id": "50da1ff8-4e1d-4967-8931-45edbf4dd908", - "type": "database", - "name": "sample_data.ecommerce_db", - "description": "This **mock** database contains tables related to shopify sales and orders with related dimension tables.", - "href": "http://localhost:8585/api/v1/databases/50da1ff8-4e1d-4967-8931-45edbf4dd908" - }, - "tags": [], - "usageSummary": { - "dailyStats": { - "count": 73, - "percentileRank": 45 - }, - "weeklyStats": { - "count": 73, - "percentileRank": 45 - }, - "monthlyStats": { - "count": 67, - "percentileRank": 45 - }, - "date": "2021-12-01" - }, - "followers": [], - "joins": { - "startDate": "2021-11-01", - "dayCount": 30, - "columnJoins": [ - { - "columnName": "shop_id", - "joinedWith": [ - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.shop\".shop_id", - "joinCount": 35 - } - ] - }, - { - "columnName": "address_::>id", - "joinedWith": [ - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.api_client_id", - "joinCount": 49 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.billing_address_id", - "joinCount": 49 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.customer_id", - "joinCount": 49 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.location_id", - "joinCount": 49 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.order_id", - "joinCount": 49 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.product_id", - "joinCount": 49 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.product_variant_id", - "joinCount": 49 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.shipping_address_id", - "joinCount": 49 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.shop_id", - "joinCount": 49 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.user_id", - "joinCount": 49 - } - ] - } - ] - }, - "sampleData": { - "columns": [ - "address_::>id", - "shop_id", - "first_name", - "last_name", - "address1", - "address2", - "company", - "city", - "region", - "zip", - "country", - "phone" - ], - "rows": [ - [ - "bc35100e-2da5-48bb-bfc8-667dafe66532", - "70424951-bc97-4b20-9ce7-be37c4619361", - "Zachary", - "Brett", - "9054 Maria Circle Apt. 296", - "48348 Victoria Valleys Suite 144", - "Robinson Inc", - "Stephanieport", - "048 Moore Turnpike Apt. 061", - "30839", - "Latvia", - "(381)575-6692" - ], - [ - "d9a5b1a0-bf92-4b71-884d-9818308d040d", - "ffdc81e4-b0dc-47b2-8240-8540ba6c3029", - "Melissa", - "Amy", - "6212 William Plaza Suite 362", - "741 Eric Bypass", - "Todd, Henderson and Jenkins", - "Petersonstad", - "363 Gary Mills", - "91794", - "Lesotho", - "828-855-9883" - ], - [ - "facf92d7-05ea-43d2-ba2a-067d63dee60c", - "a8d30187-1409-4606-9259-322a4f6caf74", - "Amber", - "Albert", - "3170 Warren Orchard Apt. 834", - "3204 Brewer Shoal Suite 324", - "Davila-Snyder", - "Nicoleland", - "023 Paul Course", - "14086", - "Sweden", - "438-959-1151" - ], - [ - "bab9a506-e23d-4c53-9402-d070e7704376", - "e02e1fac-b650-4db8-8c9d-5fa5edf5d863", - "Heidi", - "Kelly", - "30942 Gonzalez Stravenue", - "3158 Watts Green", - "Moore PLC", - "West Erica", - "6294 Elliott Ville", - "07418", - "Saint Martin", - "(830)112-9566x8681" - ], - [ - "67ff12ae-5d40-4795-9a82-3afa62a4aea1", - "bf45dc22-8d23-49d9-9d87-7b4bd2dd1762", - "Adam", - "Anna", - "986 Walker Unions", - "5798 Ross Spur Apt. 510", - "Schultz, Allen and Price", - "West Brandyton", - "07379 Alejandra Manors", - "09192", - "Cambodia", - "(859)222-9872x9188" - ], - [ - "97831db3-23df-424e-b2e3-19f196874002", - "cfc3c305-748b-4992-9fef-ddd0aa7ce927", - "Tracey", - "Kaitlin", - "1810 Fletcher Islands", - "6988 Steven Vista Apt. 738", - "Patel-Evans", - "Powellbury", - "8856 Lambert Forest Apt. 010", - "49826", - "Turks and Caicos Islands", - "195.384.1264x84605" - ], - [ - "a405990b-732f-431e-b3ad-0ce05a484671", - "f53ff51f-3365-4029-ae67-a679e1dca626", - "Carmen", - "Jessica", - "58361 Audrey Parks Apt. 128", - "864 Phillips Squares", - "Perez Inc", - "Laurieshire", - "407 Nicole Greens", - "06175", - "Kenya", - "(565)853-4978x18062" - ], - [ - "d3be5a1e-10f0-46e6-8033-d15766e73047", - "ffeea1b4-eb28-452a-8b06-2408e36b1a94", - "Melinda", - "Paul", - "09590 Gonzales Camp Apt. 092", - "146 Carlson Manor Suite 961", - "Mills Ltd", - "South Wendy", - "6273 Victor Springs Apt. 655", - "68154", - "United Arab Emirates", - "(209)678-7748x53000" - ], - [ - "52636d10-1505-4f0a-894a-52a194cdba26", - "8c021bf4-f33a-4d41-b55f-78d801a45d5e", - "Jacob", - "Jamie", - "0952 Colon Greens", - "00913 Natalie Tunnel Apt. 769", - "Sullivan Group", - "Longbury", - "03714 April Landing", - "74874", - "Turkey", - "(038)859-4310x9693" - ], - [ - "b2a1279b-392f-404f-88e0-f755d2bd3c14", - "2351209a-94b2-4b20-a517-1eef888c0d5b", - "Allen", - "Dean", - "8492 Smith Plains Apt. 986", - "420 Hodges Inlet Suite 088", - "Thornton-Mcknight", - "Gregoryborough", - "56904 Tony Branch Suite 945", - "88544", - "Mauritania", - "001-198-032-8011x00683" - ], - [ - "3a7cc826-4e7d-46de-a13d-895d5319a881", - "1a03bf40-3f40-460e-b170-2fadea8bdbee", - "Jill", - "Diana", - "092 Jose Unions", - "36896 Serrano Plaza", - "Wilson and Sons", - "North Justinchester", - "750 Contreras Bridge Apt. 456", - "77859", - "Kazakhstan", - "311.331.9899x4838" - ], - [ - "d4891b70-a002-41a9-a072-a1d3ef99c4d9", - "e49ad3aa-2c30-4148-81f8-4e2980467d1c", - "Jonathan", - "Lauren", - "4416 Christina Ville", - "44992 Katie Inlet Suite 965", - "Bennett, Hicks and Davidson", - "Lake Kendra", - "67281 Lee Drive Suite 987", - "27227", - "Jersey", - "950.930.9189x591" - ], - [ - "fbc3eeda-75b3-41f6-91a3-d671e3cc17d6", - "c3c73e91-020d-4fee-a1a9-e9781d684d9a", - "Gary", - "Jonathan", - "71309 Theresa Trail", - "29432 Brenda Overpass", - "Mccarthy-Huang", - "Lake Amanda", - "000 William Ranch", - "93218", - "Kazakhstan", - "001-109-449-4210x33965" - ], - [ - "684360f0-48c0-4bf7-9476-6231b7861c0b", - "18d728f1-8ec6-4e94-9725-fcd2ed719723", - "Karen", - "Paul", - "2867 Hunter Center Apt. 091", - "46974 Peter Drives Suite 073", - "Stephens, Wall and Johnson", - "Mcdowellfurt", - "33302 Mcintosh Orchard Apt. 884", - "17017", - "Gambia", - "484-039-6675" - ], - [ - "ec768cba-fc73-484a-bfc2-792e1bf29342", - "9c85fb32-1109-4409-a87d-75112fc3708f", - "Edgar", - "Hailey", - "70196 Moore Canyon", - "885 Jimenez Parkways", - "Gomez Group", - "Marktown", - "44624 Lawrence Springs Apt. 502", - "71815", - "Hungary", - "(777)526-6200" - ], - [ - "128eae16-fc8d-4d0e-9f07-78b6e4825709", - "530c610e-ab24-4f28-8d7f-684bb05817c8", - "Don", - "Edgar", - "040 Jessica Mews Apt. 149", - "3454 Lopez Neck", - "Clark, Simon and Griffith", - "Rickborough", - "549 Jeffrey Stream", - "71662", - "Korea", - "4911281340" - ], - [ - "341c94b3-cac4-46f0-bcba-33ccb52eacec", - "9f80457c-dd0e-4c4d-ab1f-cf76f734ad1c", - "Kevin", - "Kimberly", - "29504 Moore Grove", - "0079 Williams Pine Suite 274", - "Gregory-Mcgrath", - "Cantufort", - "5849 Paige River", - "72224", - "Zambia", - "(112)074-5447" - ], - [ - "d05acf85-8f05-40e8-bd8b-00a751ed4b16", - "a8214997-3076-4732-be67-66e0169f894d", - "Candace", - "Donna", - "1110 Powers Neck Suite 716", - "50101 Pamela Orchard Apt. 576", - "Brown, Hunter and Adkins", - "Adrianaville", - "4326 Orr Extensions", - "94064", - "Haiti", - "001-843-960-7631x732" - ], - [ - "44886c82-0e01-4b65-bf46-235d4d1e4e17", - "c0055521-b8d3-4ad8-86c3-cf310b5719c9", - "Holly", - "Tony", - "562 Shaw Burgs", - "568 Reed Vista", - "Ramirez Group", - "West Aaronfurt", - "6008 Brianna Lock Suite 088", - "46723", - "Uganda", - "343.960.6582" - ], - [ - "3ba1f5ff-fcd9-4315-8e72-14b716496a3c", - "3dc80460-e52c-4e94-a3dc-e9234f73e016", - "Melissa", - "Jessica", - "4076 Lisa Unions", - "46781 Brittany Route", - "Williams Inc", - "Harmonmouth", - "4349 Hughes Grove Suite 834", - "94032", - "South Georgia and the South Sandwich Islands", - "195-206-6214x45451" - ], - [ - "f757641c-963a-4696-9314-7f19f2df79fa", - "8d3afcc6-3662-4d23-899a-b9c37108f522", - "Larry", - "Brian", - "1698 Brittany Ridges", - "00442 Terry Via", - "Gallagher Group", - "Smithton", - "4835 Long Hills", - "96036", - "Japan", - "(592)844-2557x28538" - ], - [ - "a2c68229-75c5-43a5-b18b-8a8b504d4f9d", - "d78f0b90-d3a9-4568-b7de-8bb45423b25b", - "Gary", - "Luis", - "909 Carolyn Highway Apt. 717", - "549 Steve Walks Suite 058", - "Serrano, Harrison and Beard", - "South Kimberly", - "18324 Briana Point", - "36285", - "Macao", - "392.711.2369x14285" - ], - [ - "2a89cec7-1cf5-4c9c-ad79-745a1984e36f", - "4035c32c-7a03-409f-a8f4-bb3ff3d7c91d", - "Brittany", - "Brenda", - "2691 Brandon Plaza", - "13209 Alexis Cove Suite 182", - "Durham LLC", - "New Christyton", - "080 Peters Track", - "97880", - "Gabon", - "+1-604-197-7676x09064" - ], - [ - "a391bf33-6665-4caa-a2d7-de3132bf60d3", - "88156561-0c36-4053-a1d7-b58fac121003", - "Debbie", - "Sharon", - "600 Keller Trafficway", - "18809 Peter Village", - "Vazquez, Allen and Washington", - "Singhmouth", - "5628 Terrence Locks Suite 798", - "20287", - "Anguilla", - "001-151-880-6914x699" - ], - [ - "19bcef03-483c-4225-bb61-aafe48a2f981", - "8a35b2d9-8f65-484f-b735-8eb42c2bbfec", - "Mark", - "Ashley", - "3124 Kenneth Mountains Suite 321", - "111 Carter Drives Apt. 942", - "Hill PLC", - "Port Shannonville", - "6035 Calderon Ramp", - "25829", - "Angola", - "441.553.9413x20451" - ] - ] - }, - "tableProfile": { - "timestamp": 1634366539, - "columnCount": 12, - "rowCount": 725, - "customMetrics": [ - { - "name": "CountOfUSAddress", - "value": 15467 - }, - { - "name": "CountOfFRAddress", - "value": 1467 - } - ], - "columnProfile": [ - { - "name": "address_::>id", - "uniqueCount": 9, - "uniqueProportion": 0.52805369, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "shop_id", - "uniqueCount": 29, - "uniqueProportion": 0.2290940013, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "first_name", - "uniqueCount": 13, - "uniqueProportion": 0.1327792, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "last_name", - "uniqueCount": 23, - "uniqueProportion": 0.177126, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "address1", - "uniqueCount": 53, - "uniqueProportion": 0.0396391, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "address2", - "uniqueCount": 76, - "uniqueProportion": 0.0690369, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "company", - "uniqueCount": 23, - "uniqueProportion": 0.1210963, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "city", - "uniqueCount": 6, - "uniqueProportion": 0.024072, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "region", - "uniqueCount": 3, - "uniqueProportion": 0.1478114, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "zip", - "uniqueCount": 11, - "uniqueProportion": 0.1383472, - "distinctCount": 0, - "distinctProportion": 0, - "customMetrics": [ - { - "name": "CountOfLAZipCode", - "value": 3456 - }, - { - "name": "CountOfOrangeCountyZipCode", - "value": 2345 - } - ] - }, - { - "name": "country", - "uniqueCount": 13, - "uniqueProportion": 0.1601013, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "phone", - "uniqueCount": 8, - "uniqueProportion": 0.1297079, - "distinctCount": 0, - "distinctProportion": 0 - } - ] - }, - "databaseSchema": { - "id": "d7be1e2c-b3dc-11ec-b909-0242ac120002", - "type": "databaseSchema", - "name": "sample_data.ecommerce_db.shopify", - "description": "This **mock** Schema contains tables related to shopify sales and orders with related dimension tables.", - "href": "http://localhost:8585/api/v1/databaseSchemas/d7be1e2c-b3dc-11ec-b909-0242ac120002" - }, - "customMetrics": [ - { - "name": "CountOfUSAddress", - "expression": "SELECT COUNT(address_id) FROM dim_address WHERE country = 'US'" - }, - { - "name": "CountOfFRAddress", - "expression": "SELECT COUNT(address_id) FROM dim_address WHERE country = 'FR'" - } - ], - "sourceUrl": "http://localhost:8080/icemarketdata_global" - }, - { - "name": "global_market", - "description": "This dimension table contains the billing and shipping addresses of customers. You can join this table with the sales table to generate lists of the billing and shipping addresses. Customers can enter their addresses more than once, so the same address can appear in more than one row in this table. This table contains one row per customer address.", - "version": 0.1, - "updatedAt": 1638354087391, - "updatedBy": "anonymous", - "href": "http://localhost:8585/api/v1/tables/3cda8ecb-f4c6-4ed4-8506-abe965b54b86", - "tableType": "Regular", - "schemaDefinition": "CREATE TABLE dim_address(address_id NUMERIC PRIMARY KEY, shop_id NUMERIC)", - "retentionPeriod": "10D", - "columns": [ - { - "name": "address_::>id", - "dataType": "NUMERIC", - "dataTypeDisplay": "numeric", - "description": "Unique identifier for the address.", - "tags": [], - "ordinalPosition": 1 - }, - { - "name": "shop_id", - "dataType": "NUMERIC", - "dataTypeDisplay": "numeric", - "description": "The ID of the store. This column is a foreign key reference to the shop_id column in the dim_shop table.", - "tags": [], - "ordinalPosition": 2 - }, - { - "name": "first_name", - "dataType": "VARCHAR", - "dataLength": 100, - "dataTypeDisplay": "varchar", - "description": "First name of the customer.", - "tags": [], - "ordinalPosition": 3 - }, - { - "name": "last_name", - "dataType": "VARCHAR", - "dataLength": 100, - "dataTypeDisplay": "varchar", - "description": "Last name of the customer.", - "tags": [], - "ordinalPosition": 4 - }, - { - "name": "address1", - "dataType": "VARCHAR", - "dataLength": 500, - "dataTypeDisplay": "varchar", - "description": "The first address line. For example, 150 Elgin St.", - "tags": [], - "ordinalPosition": 5 - }, - { - "name": "address2", - "dataType": "VARCHAR", - "dataLength": 500, - "dataTypeDisplay": "varchar", - "description": "The second address line. For example, Suite 800.", - "tags": [], - "ordinalPosition": 6 - }, - { - "name": "company", - "dataType": "VARCHAR", - "dataLength": 100, - "dataTypeDisplay": "varchar", - "description": "The name of the customer's business, if one exists.", - "tags": [], - "ordinalPosition": 7 - }, - { - "name": "city", - "dataType": "VARCHAR", - "dataLength": 100, - "dataTypeDisplay": "varchar", - "description": "The name of the city. For example, Palo Alto.", - "tags": [], - "ordinalPosition": 8 - }, - { - "name": "region", - "dataType": "VARCHAR", - "dataLength": 512, - "dataTypeDisplay": "varchar", - "description": "The name of the region, such as a province or state, where the customer is located. For example, Ontario or New York. This column is the same as CustomerAddress.province in the Admin API.", - "tags": [], - "ordinalPosition": 9 - }, - { - "name": "zip", - "dataType": "VARCHAR", - "dataLength": 10, - "dataTypeDisplay": "varchar", - "description": "The ZIP or postal code. For example, 90210.", - "tags": [], - "ordinalPosition": 10, - "customMetrics": [ - { - "name": "CountOfLAZipCode", - "columnName": "zip", - "expression": "SELECT COUNT(zip) FROM dim_address WHERE zip LIKE '900%'" - }, - { - "name": "CountOfOrangeCountyZipCode", - "columnName": "zip", - "expression": "SELECT COUNT(zip) FROM dim_address WHERE zip LIKE '92%'" - } - ] - }, - { - "name": "country", - "dataType": "VARCHAR", - "dataLength": 50, - "dataTypeDisplay": "varchar", - "description": "The full name of the country. For example, Canada.", - "tags": [], - "ordinalPosition": 11 - }, - { - "name": "phone", - "dataType": "VARCHAR", - "dataLength": 15, - "dataTypeDisplay": "varchar", - "description": "The phone number of the customer.", - "tags": [], - "ordinalPosition": 12, - "customMetrics": [ - { - "name": "CountOfNonUsPhoneNumbers", - "columnName": "phone", - "expression": "SELECT COUNT(phone) FROM dim_address WHERE phone NOT LIKE '1%'" - } - ] - } - ], - "tableConstraints": [ - { - "constraintType": "PRIMARY_KEY", - "columns": [ - "address_::>id", - "shop_id" - ] - } - ], - "database": { - "id": "50da1ff8-4e1d-4967-8931-45edbf4dd908", - "type": "database", - "name": "sample_data.ecommerce_db", - "description": "This **mock** database contains tables related to shopify sales and orders with related dimension tables.", - "href": "http://localhost:8585/api/v1/databases/50da1ff8-4e1d-4967-8931-45edbf4dd908" - }, - "tags": [], - "usageSummary": { - "dailyStats": { - "count": 73, - "percentileRank": 45 - }, - "weeklyStats": { - "count": 73, - "percentileRank": 45 - }, - "monthlyStats": { - "count": 67, - "percentileRank": 45 - }, - "date": "2021-12-01" - }, - "followers": [], - "joins": { - "startDate": "2021-11-01", - "dayCount": 30, - "columnJoins": [ - { - "columnName": "shop_id", - "joinedWith": [ - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.shop\".shop_id", - "joinCount": 35 - } - ] - }, - { - "columnName": "address_::>id", - "joinedWith": [ - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.api_client_id", - "joinCount": 49 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.billing_address_id", - "joinCount": 49 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.customer_id", - "joinCount": 49 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.location_id", - "joinCount": 49 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.order_id", - "joinCount": 49 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.product_id", - "joinCount": 49 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.product_variant_id", - "joinCount": 49 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.shipping_address_id", - "joinCount": 49 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.shop_id", - "joinCount": 49 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.user_id", - "joinCount": 49 - } - ] - } - ] - }, - "sampleData": { - "columns": [ - "address_::>id", - "shop_id", - "first_name", - "last_name", - "address1", - "address2", - "company", - "city", - "region", - "zip", - "country", - "phone" - ], - "rows": [ - [ - "bc35100e-2da5-48bb-bfc8-667dafe66532", - "70424951-bc97-4b20-9ce7-be37c4619361", - "Zachary", - "Brett", - "9054 Maria Circle Apt. 296", - "48348 Victoria Valleys Suite 144", - "Robinson Inc", - "Stephanieport", - "048 Moore Turnpike Apt. 061", - "30839", - "Latvia", - "(381)575-6692" - ], - [ - "d9a5b1a0-bf92-4b71-884d-9818308d040d", - "ffdc81e4-b0dc-47b2-8240-8540ba6c3029", - "Melissa", - "Amy", - "6212 William Plaza Suite 362", - "741 Eric Bypass", - "Todd, Henderson and Jenkins", - "Petersonstad", - "363 Gary Mills", - "91794", - "Lesotho", - "828-855-9883" - ], - [ - "facf92d7-05ea-43d2-ba2a-067d63dee60c", - "a8d30187-1409-4606-9259-322a4f6caf74", - "Amber", - "Albert", - "3170 Warren Orchard Apt. 834", - "3204 Brewer Shoal Suite 324", - "Davila-Snyder", - "Nicoleland", - "023 Paul Course", - "14086", - "Sweden", - "438-959-1151" - ], - [ - "bab9a506-e23d-4c53-9402-d070e7704376", - "e02e1fac-b650-4db8-8c9d-5fa5edf5d863", - "Heidi", - "Kelly", - "30942 Gonzalez Stravenue", - "3158 Watts Green", - "Moore PLC", - "West Erica", - "6294 Elliott Ville", - "07418", - "Saint Martin", - "(830)112-9566x8681" - ], - [ - "67ff12ae-5d40-4795-9a82-3afa62a4aea1", - "bf45dc22-8d23-49d9-9d87-7b4bd2dd1762", - "Adam", - "Anna", - "986 Walker Unions", - "5798 Ross Spur Apt. 510", - "Schultz, Allen and Price", - "West Brandyton", - "07379 Alejandra Manors", - "09192", - "Cambodia", - "(859)222-9872x9188" - ], - [ - "97831db3-23df-424e-b2e3-19f196874002", - "cfc3c305-748b-4992-9fef-ddd0aa7ce927", - "Tracey", - "Kaitlin", - "1810 Fletcher Islands", - "6988 Steven Vista Apt. 738", - "Patel-Evans", - "Powellbury", - "8856 Lambert Forest Apt. 010", - "49826", - "Turks and Caicos Islands", - "195.384.1264x84605" - ], - [ - "a405990b-732f-431e-b3ad-0ce05a484671", - "f53ff51f-3365-4029-ae67-a679e1dca626", - "Carmen", - "Jessica", - "58361 Audrey Parks Apt. 128", - "864 Phillips Squares", - "Perez Inc", - "Laurieshire", - "407 Nicole Greens", - "06175", - "Kenya", - "(565)853-4978x18062" - ], - [ - "d3be5a1e-10f0-46e6-8033-d15766e73047", - "ffeea1b4-eb28-452a-8b06-2408e36b1a94", - "Melinda", - "Paul", - "09590 Gonzales Camp Apt. 092", - "146 Carlson Manor Suite 961", - "Mills Ltd", - "South Wendy", - "6273 Victor Springs Apt. 655", - "68154", - "United Arab Emirates", - "(209)678-7748x53000" - ], - [ - "52636d10-1505-4f0a-894a-52a194cdba26", - "8c021bf4-f33a-4d41-b55f-78d801a45d5e", - "Jacob", - "Jamie", - "0952 Colon Greens", - "00913 Natalie Tunnel Apt. 769", - "Sullivan Group", - "Longbury", - "03714 April Landing", - "74874", - "Turkey", - "(038)859-4310x9693" - ], - [ - "b2a1279b-392f-404f-88e0-f755d2bd3c14", - "2351209a-94b2-4b20-a517-1eef888c0d5b", - "Allen", - "Dean", - "8492 Smith Plains Apt. 986", - "420 Hodges Inlet Suite 088", - "Thornton-Mcknight", - "Gregoryborough", - "56904 Tony Branch Suite 945", - "88544", - "Mauritania", - "001-198-032-8011x00683" - ], - [ - "3a7cc826-4e7d-46de-a13d-895d5319a881", - "1a03bf40-3f40-460e-b170-2fadea8bdbee", - "Jill", - "Diana", - "092 Jose Unions", - "36896 Serrano Plaza", - "Wilson and Sons", - "North Justinchester", - "750 Contreras Bridge Apt. 456", - "77859", - "Kazakhstan", - "311.331.9899x4838" - ], - [ - "d4891b70-a002-41a9-a072-a1d3ef99c4d9", - "e49ad3aa-2c30-4148-81f8-4e2980467d1c", - "Jonathan", - "Lauren", - "4416 Christina Ville", - "44992 Katie Inlet Suite 965", - "Bennett, Hicks and Davidson", - "Lake Kendra", - "67281 Lee Drive Suite 987", - "27227", - "Jersey", - "950.930.9189x591" - ], - [ - "fbc3eeda-75b3-41f6-91a3-d671e3cc17d6", - "c3c73e91-020d-4fee-a1a9-e9781d684d9a", - "Gary", - "Jonathan", - "71309 Theresa Trail", - "29432 Brenda Overpass", - "Mccarthy-Huang", - "Lake Amanda", - "000 William Ranch", - "93218", - "Kazakhstan", - "001-109-449-4210x33965" - ], - [ - "684360f0-48c0-4bf7-9476-6231b7861c0b", - "18d728f1-8ec6-4e94-9725-fcd2ed719723", - "Karen", - "Paul", - "2867 Hunter Center Apt. 091", - "46974 Peter Drives Suite 073", - "Stephens, Wall and Johnson", - "Mcdowellfurt", - "33302 Mcintosh Orchard Apt. 884", - "17017", - "Gambia", - "484-039-6675" - ], - [ - "ec768cba-fc73-484a-bfc2-792e1bf29342", - "9c85fb32-1109-4409-a87d-75112fc3708f", - "Edgar", - "Hailey", - "70196 Moore Canyon", - "885 Jimenez Parkways", - "Gomez Group", - "Marktown", - "44624 Lawrence Springs Apt. 502", - "71815", - "Hungary", - "(777)526-6200" - ], - [ - "128eae16-fc8d-4d0e-9f07-78b6e4825709", - "530c610e-ab24-4f28-8d7f-684bb05817c8", - "Don", - "Edgar", - "040 Jessica Mews Apt. 149", - "3454 Lopez Neck", - "Clark, Simon and Griffith", - "Rickborough", - "549 Jeffrey Stream", - "71662", - "Korea", - "4911281340" - ], - [ - "341c94b3-cac4-46f0-bcba-33ccb52eacec", - "9f80457c-dd0e-4c4d-ab1f-cf76f734ad1c", - "Kevin", - "Kimberly", - "29504 Moore Grove", - "0079 Williams Pine Suite 274", - "Gregory-Mcgrath", - "Cantufort", - "5849 Paige River", - "72224", - "Zambia", - "(112)074-5447" - ], - [ - "d05acf85-8f05-40e8-bd8b-00a751ed4b16", - "a8214997-3076-4732-be67-66e0169f894d", - "Candace", - "Donna", - "1110 Powers Neck Suite 716", - "50101 Pamela Orchard Apt. 576", - "Brown, Hunter and Adkins", - "Adrianaville", - "4326 Orr Extensions", - "94064", - "Haiti", - "001-843-960-7631x732" - ], - [ - "44886c82-0e01-4b65-bf46-235d4d1e4e17", - "c0055521-b8d3-4ad8-86c3-cf310b5719c9", - "Holly", - "Tony", - "562 Shaw Burgs", - "568 Reed Vista", - "Ramirez Group", - "West Aaronfurt", - "6008 Brianna Lock Suite 088", - "46723", - "Uganda", - "343.960.6582" - ], - [ - "3ba1f5ff-fcd9-4315-8e72-14b716496a3c", - "3dc80460-e52c-4e94-a3dc-e9234f73e016", - "Melissa", - "Jessica", - "4076 Lisa Unions", - "46781 Brittany Route", - "Williams Inc", - "Harmonmouth", - "4349 Hughes Grove Suite 834", - "94032", - "South Georgia and the South Sandwich Islands", - "195-206-6214x45451" - ], - [ - "f757641c-963a-4696-9314-7f19f2df79fa", - "8d3afcc6-3662-4d23-899a-b9c37108f522", - "Larry", - "Brian", - "1698 Brittany Ridges", - "00442 Terry Via", - "Gallagher Group", - "Smithton", - "4835 Long Hills", - "96036", - "Japan", - "(592)844-2557x28538" - ], - [ - "a2c68229-75c5-43a5-b18b-8a8b504d4f9d", - "d78f0b90-d3a9-4568-b7de-8bb45423b25b", - "Gary", - "Luis", - "909 Carolyn Highway Apt. 717", - "549 Steve Walks Suite 058", - "Serrano, Harrison and Beard", - "South Kimberly", - "18324 Briana Point", - "36285", - "Macao", - "392.711.2369x14285" - ], - [ - "2a89cec7-1cf5-4c9c-ad79-745a1984e36f", - "4035c32c-7a03-409f-a8f4-bb3ff3d7c91d", - "Brittany", - "Brenda", - "2691 Brandon Plaza", - "13209 Alexis Cove Suite 182", - "Durham LLC", - "New Christyton", - "080 Peters Track", - "97880", - "Gabon", - "+1-604-197-7676x09064" - ], - [ - "a391bf33-6665-4caa-a2d7-de3132bf60d3", - "88156561-0c36-4053-a1d7-b58fac121003", - "Debbie", - "Sharon", - "600 Keller Trafficway", - "18809 Peter Village", - "Vazquez, Allen and Washington", - "Singhmouth", - "5628 Terrence Locks Suite 798", - "20287", - "Anguilla", - "001-151-880-6914x699" - ], - [ - "19bcef03-483c-4225-bb61-aafe48a2f981", - "8a35b2d9-8f65-484f-b735-8eb42c2bbfec", - "Mark", - "Ashley", - "3124 Kenneth Mountains Suite 321", - "111 Carter Drives Apt. 942", - "Hill PLC", - "Port Shannonville", - "6035 Calderon Ramp", - "25829", - "Angola", - "441.553.9413x20451" - ] - ] - }, - "tableProfile": { - "timestamp": 1634366539, - "columnCount": 12, - "rowCount": 725, - "customMetrics": [ - { - "name": "CountOfUSAddress", - "value": 15467 - }, - { - "name": "CountOfFRAddress", - "value": 1467 - } - ], - "columnProfile": [ - { - "name": "address_::>id", - "uniqueCount": 9, - "uniqueProportion": 0.52805369, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "shop_id", - "uniqueCount": 29, - "uniqueProportion": 0.2290940013, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "first_name", - "uniqueCount": 13, - "uniqueProportion": 0.1327792, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "last_name", - "uniqueCount": 23, - "uniqueProportion": 0.177126, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "address1", - "uniqueCount": 53, - "uniqueProportion": 0.0396391, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "address2", - "uniqueCount": 76, - "uniqueProportion": 0.0690369, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "company", - "uniqueCount": 23, - "uniqueProportion": 0.1210963, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "city", - "uniqueCount": 6, - "uniqueProportion": 0.024072, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "region", - "uniqueCount": 3, - "uniqueProportion": 0.1478114, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "zip", - "uniqueCount": 11, - "uniqueProportion": 0.1383472, - "distinctCount": 0, - "distinctProportion": 0, - "customMetrics": [ - { - "name": "CountOfLAZipCode", - "value": 3456 - }, - { - "name": "CountOfOrangeCountyZipCode", - "value": 2345 - } - ] - }, - { - "name": "country", - "uniqueCount": 13, - "uniqueProportion": 0.1601013, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "phone", - "uniqueCount": 8, - "uniqueProportion": 0.1297079, - "distinctCount": 0, - "distinctProportion": 0 - } - ] - }, - "databaseSchema": { - "id": "d7be1e2c-b3dc-11ec-b909-0242ac120002", - "type": "databaseSchema", - "name": "sample_data.ecommerce_db.shopify", - "description": "This **mock** Schema contains tables related to shopify sales and orders with related dimension tables.", - "href": "http://localhost:8585/api/v1/databaseSchemas/d7be1e2c-b3dc-11ec-b909-0242ac120002" - }, - "customMetrics": [ - { - "name": "CountOfUSAddress", - "expression": "SELECT COUNT(address_id) FROM dim_address WHERE country = 'US'" - }, - { - "name": "CountOfFRAddress", - "expression": "SELECT COUNT(address_id) FROM dim_address WHERE country = 'FR'" - } - ], - "sourceUrl": "http://localhost:8080/global_market" - }, - { - "name": "global", - "description": "This dimension table contains the billing and shipping addresses of customers. You can join this table with the sales table to generate lists of the billing and shipping addresses. Customers can enter their addresses more than once, so the same address can appear in more than one row in this table. This table contains one row per customer address.", - "version": 0.1, - "updatedAt": 1638354087391, - "updatedBy": "anonymous", - "href": "http://localhost:8585/api/v1/tables/3cda8ecb-f4c6-4ed4-8506-abe965b54b86", - "tableType": "Regular", - "schemaDefinition": "CREATE TABLE dim_address(address_id NUMERIC PRIMARY KEY, shop_id NUMERIC)", - "retentionPeriod": "10D", - "columns": [ - { - "name": "address_::>id", - "dataType": "NUMERIC", - "dataTypeDisplay": "numeric", - "description": "Unique identifier for the address.", - "tags": [], - "ordinalPosition": 1 - }, - { - "name": "shop_id", - "dataType": "NUMERIC", - "dataTypeDisplay": "numeric", - "description": "The ID of the store. This column is a foreign key reference to the shop_id column in the dim_shop table.", - "tags": [], - "ordinalPosition": 2 - }, - { - "name": "first_name", - "dataType": "VARCHAR", - "dataLength": 100, - "dataTypeDisplay": "varchar", - "description": "First name of the customer.", - "tags": [], - "ordinalPosition": 3 - }, - { - "name": "last_name", - "dataType": "VARCHAR", - "dataLength": 100, - "dataTypeDisplay": "varchar", - "description": "Last name of the customer.", - "tags": [], - "ordinalPosition": 4 - }, - { - "name": "address1", - "dataType": "VARCHAR", - "dataLength": 500, - "dataTypeDisplay": "varchar", - "description": "The first address line. For example, 150 Elgin St.", - "tags": [], - "ordinalPosition": 5 - }, - { - "name": "address2", - "dataType": "VARCHAR", - "dataLength": 500, - "dataTypeDisplay": "varchar", - "description": "The second address line. For example, Suite 800.", - "tags": [], - "ordinalPosition": 6 - }, - { - "name": "company", - "dataType": "VARCHAR", - "dataLength": 100, - "dataTypeDisplay": "varchar", - "description": "The name of the customer's business, if one exists.", - "tags": [], - "ordinalPosition": 7 - }, - { - "name": "city", - "dataType": "VARCHAR", - "dataLength": 100, - "dataTypeDisplay": "varchar", - "description": "The name of the city. For example, Palo Alto.", - "tags": [], - "ordinalPosition": 8 - }, - { - "name": "region", - "dataType": "VARCHAR", - "dataLength": 512, - "dataTypeDisplay": "varchar", - "description": "The name of the region, such as a province or state, where the customer is located. For example, Ontario or New York. This column is the same as CustomerAddress.province in the Admin API.", - "tags": [], - "ordinalPosition": 9 - }, - { - "name": "zip", - "dataType": "VARCHAR", - "dataLength": 10, - "dataTypeDisplay": "varchar", - "description": "The ZIP or postal code. For example, 90210.", - "tags": [], - "ordinalPosition": 10, - "customMetrics": [ - { - "name": "CountOfLAZipCode", - "columnName": "zip", - "expression": "SELECT COUNT(zip) FROM dim_address WHERE zip LIKE '900%'" - }, - { - "name": "CountOfOrangeCountyZipCode", - "columnName": "zip", - "expression": "SELECT COUNT(zip) FROM dim_address WHERE zip LIKE '92%'" - } - ] - }, - { - "name": "country", - "dataType": "VARCHAR", - "dataLength": 50, - "dataTypeDisplay": "varchar", - "description": "The full name of the country. For example, Canada.", - "tags": [], - "ordinalPosition": 11 - }, - { - "name": "phone", - "dataType": "VARCHAR", - "dataLength": 15, - "dataTypeDisplay": "varchar", - "description": "The phone number of the customer.", - "tags": [], - "ordinalPosition": 12, - "customMetrics": [ - { - "name": "CountOfNonUsPhoneNumbers", - "columnName": "phone", - "expression": "SELECT COUNT(phone) FROM dim_address WHERE phone NOT LIKE '1%'" - } - ] - } - ], - "tableConstraints": [ - { - "constraintType": "PRIMARY_KEY", - "columns": [ - "address_::>id", - "shop_id" - ] - } - ], - "database": { - "id": "50da1ff8-4e1d-4967-8931-45edbf4dd908", - "type": "database", - "name": "sample_data.ecommerce_db", - "description": "This **mock** database contains tables related to shopify sales and orders with related dimension tables.", - "href": "http://localhost:8585/api/v1/databases/50da1ff8-4e1d-4967-8931-45edbf4dd908" - }, - "tags": [], - "usageSummary": { - "dailyStats": { - "count": 73, - "percentileRank": 45 - }, - "weeklyStats": { - "count": 73, - "percentileRank": 45 - }, - "monthlyStats": { - "count": 67, - "percentileRank": 45 - }, - "date": "2021-12-01" - }, - "followers": [], - "joins": { - "startDate": "2021-11-01", - "dayCount": 30, - "columnJoins": [ - { - "columnName": "shop_id", - "joinedWith": [ - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.shop\".shop_id", - "joinCount": 35 - } - ] - }, - { - "columnName": "address_::>id", - "joinedWith": [ - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.api_client_id", - "joinCount": 49 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.billing_address_id", - "joinCount": 49 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.customer_id", - "joinCount": 49 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.location_id", - "joinCount": 49 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.order_id", - "joinCount": 49 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.product_id", - "joinCount": 49 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.product_variant_id", - "joinCount": 49 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.shipping_address_id", - "joinCount": 49 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.shop_id", - "joinCount": 49 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.user_id", - "joinCount": 49 - } - ] - } - ] - }, - "sampleData": { - "columns": [ - "address_::>id", - "shop_id", - "first_name", - "last_name", - "address1", - "address2", - "company", - "city", - "region", - "zip", - "country", - "phone" - ], - "rows": [ - [ - "bc35100e-2da5-48bb-bfc8-667dafe66532", - "70424951-bc97-4b20-9ce7-be37c4619361", - "Zachary", - "Brett", - "9054 Maria Circle Apt. 296", - "48348 Victoria Valleys Suite 144", - "Robinson Inc", - "Stephanieport", - "048 Moore Turnpike Apt. 061", - "30839", - "Latvia", - "(381)575-6692" - ], - [ - "d9a5b1a0-bf92-4b71-884d-9818308d040d", - "ffdc81e4-b0dc-47b2-8240-8540ba6c3029", - "Melissa", - "Amy", - "6212 William Plaza Suite 362", - "741 Eric Bypass", - "Todd, Henderson and Jenkins", - "Petersonstad", - "363 Gary Mills", - "91794", - "Lesotho", - "828-855-9883" - ], - [ - "facf92d7-05ea-43d2-ba2a-067d63dee60c", - "a8d30187-1409-4606-9259-322a4f6caf74", - "Amber", - "Albert", - "3170 Warren Orchard Apt. 834", - "3204 Brewer Shoal Suite 324", - "Davila-Snyder", - "Nicoleland", - "023 Paul Course", - "14086", - "Sweden", - "438-959-1151" - ], - [ - "bab9a506-e23d-4c53-9402-d070e7704376", - "e02e1fac-b650-4db8-8c9d-5fa5edf5d863", - "Heidi", - "Kelly", - "30942 Gonzalez Stravenue", - "3158 Watts Green", - "Moore PLC", - "West Erica", - "6294 Elliott Ville", - "07418", - "Saint Martin", - "(830)112-9566x8681" - ], - [ - "67ff12ae-5d40-4795-9a82-3afa62a4aea1", - "bf45dc22-8d23-49d9-9d87-7b4bd2dd1762", - "Adam", - "Anna", - "986 Walker Unions", - "5798 Ross Spur Apt. 510", - "Schultz, Allen and Price", - "West Brandyton", - "07379 Alejandra Manors", - "09192", - "Cambodia", - "(859)222-9872x9188" - ], - [ - "97831db3-23df-424e-b2e3-19f196874002", - "cfc3c305-748b-4992-9fef-ddd0aa7ce927", - "Tracey", - "Kaitlin", - "1810 Fletcher Islands", - "6988 Steven Vista Apt. 738", - "Patel-Evans", - "Powellbury", - "8856 Lambert Forest Apt. 010", - "49826", - "Turks and Caicos Islands", - "195.384.1264x84605" - ], - [ - "a405990b-732f-431e-b3ad-0ce05a484671", - "f53ff51f-3365-4029-ae67-a679e1dca626", - "Carmen", - "Jessica", - "58361 Audrey Parks Apt. 128", - "864 Phillips Squares", - "Perez Inc", - "Laurieshire", - "407 Nicole Greens", - "06175", - "Kenya", - "(565)853-4978x18062" - ], - [ - "d3be5a1e-10f0-46e6-8033-d15766e73047", - "ffeea1b4-eb28-452a-8b06-2408e36b1a94", - "Melinda", - "Paul", - "09590 Gonzales Camp Apt. 092", - "146 Carlson Manor Suite 961", - "Mills Ltd", - "South Wendy", - "6273 Victor Springs Apt. 655", - "68154", - "United Arab Emirates", - "(209)678-7748x53000" - ], - [ - "52636d10-1505-4f0a-894a-52a194cdba26", - "8c021bf4-f33a-4d41-b55f-78d801a45d5e", - "Jacob", - "Jamie", - "0952 Colon Greens", - "00913 Natalie Tunnel Apt. 769", - "Sullivan Group", - "Longbury", - "03714 April Landing", - "74874", - "Turkey", - "(038)859-4310x9693" - ], - [ - "b2a1279b-392f-404f-88e0-f755d2bd3c14", - "2351209a-94b2-4b20-a517-1eef888c0d5b", - "Allen", - "Dean", - "8492 Smith Plains Apt. 986", - "420 Hodges Inlet Suite 088", - "Thornton-Mcknight", - "Gregoryborough", - "56904 Tony Branch Suite 945", - "88544", - "Mauritania", - "001-198-032-8011x00683" - ], - [ - "3a7cc826-4e7d-46de-a13d-895d5319a881", - "1a03bf40-3f40-460e-b170-2fadea8bdbee", - "Jill", - "Diana", - "092 Jose Unions", - "36896 Serrano Plaza", - "Wilson and Sons", - "North Justinchester", - "750 Contreras Bridge Apt. 456", - "77859", - "Kazakhstan", - "311.331.9899x4838" - ], - [ - "d4891b70-a002-41a9-a072-a1d3ef99c4d9", - "e49ad3aa-2c30-4148-81f8-4e2980467d1c", - "Jonathan", - "Lauren", - "4416 Christina Ville", - "44992 Katie Inlet Suite 965", - "Bennett, Hicks and Davidson", - "Lake Kendra", - "67281 Lee Drive Suite 987", - "27227", - "Jersey", - "950.930.9189x591" - ], - [ - "fbc3eeda-75b3-41f6-91a3-d671e3cc17d6", - "c3c73e91-020d-4fee-a1a9-e9781d684d9a", - "Gary", - "Jonathan", - "71309 Theresa Trail", - "29432 Brenda Overpass", - "Mccarthy-Huang", - "Lake Amanda", - "000 William Ranch", - "93218", - "Kazakhstan", - "001-109-449-4210x33965" - ], - [ - "684360f0-48c0-4bf7-9476-6231b7861c0b", - "18d728f1-8ec6-4e94-9725-fcd2ed719723", - "Karen", - "Paul", - "2867 Hunter Center Apt. 091", - "46974 Peter Drives Suite 073", - "Stephens, Wall and Johnson", - "Mcdowellfurt", - "33302 Mcintosh Orchard Apt. 884", - "17017", - "Gambia", - "484-039-6675" - ], - [ - "ec768cba-fc73-484a-bfc2-792e1bf29342", - "9c85fb32-1109-4409-a87d-75112fc3708f", - "Edgar", - "Hailey", - "70196 Moore Canyon", - "885 Jimenez Parkways", - "Gomez Group", - "Marktown", - "44624 Lawrence Springs Apt. 502", - "71815", - "Hungary", - "(777)526-6200" - ], - [ - "128eae16-fc8d-4d0e-9f07-78b6e4825709", - "530c610e-ab24-4f28-8d7f-684bb05817c8", - "Don", - "Edgar", - "040 Jessica Mews Apt. 149", - "3454 Lopez Neck", - "Clark, Simon and Griffith", - "Rickborough", - "549 Jeffrey Stream", - "71662", - "Korea", - "4911281340" - ], - [ - "341c94b3-cac4-46f0-bcba-33ccb52eacec", - "9f80457c-dd0e-4c4d-ab1f-cf76f734ad1c", - "Kevin", - "Kimberly", - "29504 Moore Grove", - "0079 Williams Pine Suite 274", - "Gregory-Mcgrath", - "Cantufort", - "5849 Paige River", - "72224", - "Zambia", - "(112)074-5447" - ], - [ - "d05acf85-8f05-40e8-bd8b-00a751ed4b16", - "a8214997-3076-4732-be67-66e0169f894d", - "Candace", - "Donna", - "1110 Powers Neck Suite 716", - "50101 Pamela Orchard Apt. 576", - "Brown, Hunter and Adkins", - "Adrianaville", - "4326 Orr Extensions", - "94064", - "Haiti", - "001-843-960-7631x732" - ], - [ - "44886c82-0e01-4b65-bf46-235d4d1e4e17", - "c0055521-b8d3-4ad8-86c3-cf310b5719c9", - "Holly", - "Tony", - "562 Shaw Burgs", - "568 Reed Vista", - "Ramirez Group", - "West Aaronfurt", - "6008 Brianna Lock Suite 088", - "46723", - "Uganda", - "343.960.6582" - ], - [ - "3ba1f5ff-fcd9-4315-8e72-14b716496a3c", - "3dc80460-e52c-4e94-a3dc-e9234f73e016", - "Melissa", - "Jessica", - "4076 Lisa Unions", - "46781 Brittany Route", - "Williams Inc", - "Harmonmouth", - "4349 Hughes Grove Suite 834", - "94032", - "South Georgia and the South Sandwich Islands", - "195-206-6214x45451" - ], - [ - "f757641c-963a-4696-9314-7f19f2df79fa", - "8d3afcc6-3662-4d23-899a-b9c37108f522", - "Larry", - "Brian", - "1698 Brittany Ridges", - "00442 Terry Via", - "Gallagher Group", - "Smithton", - "4835 Long Hills", - "96036", - "Japan", - "(592)844-2557x28538" - ], - [ - "a2c68229-75c5-43a5-b18b-8a8b504d4f9d", - "d78f0b90-d3a9-4568-b7de-8bb45423b25b", - "Gary", - "Luis", - "909 Carolyn Highway Apt. 717", - "549 Steve Walks Suite 058", - "Serrano, Harrison and Beard", - "South Kimberly", - "18324 Briana Point", - "36285", - "Macao", - "392.711.2369x14285" - ], - [ - "2a89cec7-1cf5-4c9c-ad79-745a1984e36f", - "4035c32c-7a03-409f-a8f4-bb3ff3d7c91d", - "Brittany", - "Brenda", - "2691 Brandon Plaza", - "13209 Alexis Cove Suite 182", - "Durham LLC", - "New Christyton", - "080 Peters Track", - "97880", - "Gabon", - "+1-604-197-7676x09064" - ], - [ - "a391bf33-6665-4caa-a2d7-de3132bf60d3", - "88156561-0c36-4053-a1d7-b58fac121003", - "Debbie", - "Sharon", - "600 Keller Trafficway", - "18809 Peter Village", - "Vazquez, Allen and Washington", - "Singhmouth", - "5628 Terrence Locks Suite 798", - "20287", - "Anguilla", - "001-151-880-6914x699" - ], - [ - "19bcef03-483c-4225-bb61-aafe48a2f981", - "8a35b2d9-8f65-484f-b735-8eb42c2bbfec", - "Mark", - "Ashley", - "3124 Kenneth Mountains Suite 321", - "111 Carter Drives Apt. 942", - "Hill PLC", - "Port Shannonville", - "6035 Calderon Ramp", - "25829", - "Angola", - "441.553.9413x20451" - ] - ] - }, - "tableProfile": { - "timestamp": 1634366539, - "columnCount": 12, - "rowCount": 725, - "customMetrics": [ - { - "name": "CountOfUSAddress", - "value": 15467 - }, - { - "name": "CountOfFRAddress", - "value": 1467 - } - ], - "columnProfile": [ - { - "name": "address_::>id", - "uniqueCount": 9, - "uniqueProportion": 0.52805369, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "shop_id", - "uniqueCount": 29, - "uniqueProportion": 0.2290940013, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "first_name", - "uniqueCount": 13, - "uniqueProportion": 0.1327792, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "last_name", - "uniqueCount": 23, - "uniqueProportion": 0.177126, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "address1", - "uniqueCount": 53, - "uniqueProportion": 0.0396391, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "address2", - "uniqueCount": 76, - "uniqueProportion": 0.0690369, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "company", - "uniqueCount": 23, - "uniqueProportion": 0.1210963, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "city", - "uniqueCount": 6, - "uniqueProportion": 0.024072, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "region", - "uniqueCount": 3, - "uniqueProportion": 0.1478114, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "zip", - "uniqueCount": 11, - "uniqueProportion": 0.1383472, - "distinctCount": 0, - "distinctProportion": 0, - "customMetrics": [ - { - "name": "CountOfLAZipCode", - "value": 3456 - }, - { - "name": "CountOfOrangeCountyZipCode", - "value": 2345 - } - ] - }, - { - "name": "country", - "uniqueCount": 13, - "uniqueProportion": 0.1601013, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "phone", - "uniqueCount": 8, - "uniqueProportion": 0.1297079, - "distinctCount": 0, - "distinctProportion": 0 - } - ] - }, - "databaseSchema": { - "id": "d7be1e2c-b3dc-11ec-b909-0242ac120002", - "type": "databaseSchema", - "name": "sample_data.ecommerce_db.shopify", - "description": "This **mock** Schema contains tables related to shopify sales and orders with related dimension tables.", - "href": "http://localhost:8585/api/v1/databaseSchemas/d7be1e2c-b3dc-11ec-b909-0242ac120002" - }, - "customMetrics": [ - { - "name": "CountOfUSAddress", - "expression": "SELECT COUNT(address_id) FROM dim_address WHERE country = 'US'" - }, - { - "name": "CountOfFRAddress", - "expression": "SELECT COUNT(address_id) FROM dim_address WHERE country = 'FR'" - } - ], - "sourceUrl": "http://localhost:8080/global" - }, - { - "name": "ice_global", - "description": "This dimension table contains the billing and shipping addresses of customers. You can join this table with the sales table to generate lists of the billing and shipping addresses. Customers can enter their addresses more than once, so the same address can appear in more than one row in this table. This table contains one row per customer address.", - "version": 0.1, - "updatedAt": 1638354087391, - "updatedBy": "anonymous", - "href": "http://localhost:8585/api/v1/tables/3cda8ecb-f4c6-4ed4-8506-abe965b54b86", - "tableType": "Regular", - "schemaDefinition": "CREATE TABLE dim_address(address_id NUMERIC PRIMARY KEY, shop_id NUMERIC)", - "retentionPeriod": "10D", - "columns": [ - { - "name": "address_::>id", - "dataType": "NUMERIC", - "dataTypeDisplay": "numeric", - "description": "Unique identifier for the address.", - "tags": [], - "ordinalPosition": 1 - }, - { - "name": "shop_id", - "dataType": "NUMERIC", - "dataTypeDisplay": "numeric", - "description": "The ID of the store. This column is a foreign key reference to the shop_id column in the dim_shop table.", - "tags": [], - "ordinalPosition": 2 - }, - { - "name": "first_name", - "dataType": "VARCHAR", - "dataLength": 100, - "dataTypeDisplay": "varchar", - "description": "First name of the customer.", - "tags": [], - "ordinalPosition": 3 - }, - { - "name": "last_name", - "dataType": "VARCHAR", - "dataLength": 100, - "dataTypeDisplay": "varchar", - "description": "Last name of the customer.", - "tags": [], - "ordinalPosition": 4 - }, - { - "name": "address1", - "dataType": "VARCHAR", - "dataLength": 500, - "dataTypeDisplay": "varchar", - "description": "The first address line. For example, 150 Elgin St.", - "tags": [], - "ordinalPosition": 5 - }, - { - "name": "address2", - "dataType": "VARCHAR", - "dataLength": 500, - "dataTypeDisplay": "varchar", - "description": "The second address line. For example, Suite 800.", - "tags": [], - "ordinalPosition": 6 - }, - { - "name": "company", - "dataType": "VARCHAR", - "dataLength": 100, - "dataTypeDisplay": "varchar", - "description": "The name of the customer's business, if one exists.", - "tags": [], - "ordinalPosition": 7 - }, - { - "name": "city", - "dataType": "VARCHAR", - "dataLength": 100, - "dataTypeDisplay": "varchar", - "description": "The name of the city. For example, Palo Alto.", - "tags": [], - "ordinalPosition": 8 - }, - { - "name": "region", - "dataType": "VARCHAR", - "dataLength": 512, - "dataTypeDisplay": "varchar", - "description": "The name of the region, such as a province or state, where the customer is located. For example, Ontario or New York. This column is the same as CustomerAddress.province in the Admin API.", - "tags": [], - "ordinalPosition": 9 - }, - { - "name": "zip", - "dataType": "VARCHAR", - "dataLength": 10, - "dataTypeDisplay": "varchar", - "description": "The ZIP or postal code. For example, 90210.", - "tags": [], - "ordinalPosition": 10, - "customMetrics": [ - { - "name": "CountOfLAZipCode", - "columnName": "zip", - "expression": "SELECT COUNT(zip) FROM dim_address WHERE zip LIKE '900%'" - }, - { - "name": "CountOfOrangeCountyZipCode", - "columnName": "zip", - "expression": "SELECT COUNT(zip) FROM dim_address WHERE zip LIKE '92%'" - } - ] - }, - { - "name": "country", - "dataType": "VARCHAR", - "dataLength": 50, - "dataTypeDisplay": "varchar", - "description": "The full name of the country. For example, Canada.", - "tags": [], - "ordinalPosition": 11 - }, - { - "name": "phone", - "dataType": "VARCHAR", - "dataLength": 15, - "dataTypeDisplay": "varchar", - "description": "The phone number of the customer.", - "tags": [], - "ordinalPosition": 12, - "customMetrics": [ - { - "name": "CountOfNonUsPhoneNumbers", - "columnName": "phone", - "expression": "SELECT COUNT(phone) FROM dim_address WHERE phone NOT LIKE '1%'" - } - ] - } - ], - "tableConstraints": [ - { - "constraintType": "PRIMARY_KEY", - "columns": [ - "address_::>id", - "shop_id" - ] - } - ], - "database": { - "id": "50da1ff8-4e1d-4967-8931-45edbf4dd908", - "type": "database", - "name": "sample_data.ecommerce_db", - "description": "This **mock** database contains tables related to shopify sales and orders with related dimension tables.", - "href": "http://localhost:8585/api/v1/databases/50da1ff8-4e1d-4967-8931-45edbf4dd908" - }, - "tags": [], - "usageSummary": { - "dailyStats": { - "count": 73, - "percentileRank": 45 - }, - "weeklyStats": { - "count": 73, - "percentileRank": 45 - }, - "monthlyStats": { - "count": 67, - "percentileRank": 45 - }, - "date": "2021-12-01" - }, - "followers": [], - "joins": { - "startDate": "2021-11-01", - "dayCount": 30, - "columnJoins": [ - { - "columnName": "shop_id", - "joinedWith": [ - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.shop\".shop_id", - "joinCount": 35 - } - ] - }, - { - "columnName": "address_::>id", - "joinedWith": [ - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.api_client_id", - "joinCount": 49 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.billing_address_id", - "joinCount": 49 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.customer_id", - "joinCount": 49 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.location_id", - "joinCount": 49 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.order_id", - "joinCount": 49 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.product_id", - "joinCount": 49 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.product_variant_id", - "joinCount": 49 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.shipping_address_id", - "joinCount": 49 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.shop_id", - "joinCount": 49 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.user_id", - "joinCount": 49 - } - ] - } - ] - }, - "sampleData": { - "columns": [ - "address_::>id", - "shop_id", - "first_name", - "last_name", - "address1", - "address2", - "company", - "city", - "region", - "zip", - "country", - "phone" - ], - "rows": [ - [ - "bc35100e-2da5-48bb-bfc8-667dafe66532", - "70424951-bc97-4b20-9ce7-be37c4619361", - "Zachary", - "Brett", - "9054 Maria Circle Apt. 296", - "48348 Victoria Valleys Suite 144", - "Robinson Inc", - "Stephanieport", - "048 Moore Turnpike Apt. 061", - "30839", - "Latvia", - "(381)575-6692" - ], - [ - "d9a5b1a0-bf92-4b71-884d-9818308d040d", - "ffdc81e4-b0dc-47b2-8240-8540ba6c3029", - "Melissa", - "Amy", - "6212 William Plaza Suite 362", - "741 Eric Bypass", - "Todd, Henderson and Jenkins", - "Petersonstad", - "363 Gary Mills", - "91794", - "Lesotho", - "828-855-9883" - ], - [ - "facf92d7-05ea-43d2-ba2a-067d63dee60c", - "a8d30187-1409-4606-9259-322a4f6caf74", - "Amber", - "Albert", - "3170 Warren Orchard Apt. 834", - "3204 Brewer Shoal Suite 324", - "Davila-Snyder", - "Nicoleland", - "023 Paul Course", - "14086", - "Sweden", - "438-959-1151" - ], - [ - "bab9a506-e23d-4c53-9402-d070e7704376", - "e02e1fac-b650-4db8-8c9d-5fa5edf5d863", - "Heidi", - "Kelly", - "30942 Gonzalez Stravenue", - "3158 Watts Green", - "Moore PLC", - "West Erica", - "6294 Elliott Ville", - "07418", - "Saint Martin", - "(830)112-9566x8681" - ], - [ - "67ff12ae-5d40-4795-9a82-3afa62a4aea1", - "bf45dc22-8d23-49d9-9d87-7b4bd2dd1762", - "Adam", - "Anna", - "986 Walker Unions", - "5798 Ross Spur Apt. 510", - "Schultz, Allen and Price", - "West Brandyton", - "07379 Alejandra Manors", - "09192", - "Cambodia", - "(859)222-9872x9188" - ], - [ - "97831db3-23df-424e-b2e3-19f196874002", - "cfc3c305-748b-4992-9fef-ddd0aa7ce927", - "Tracey", - "Kaitlin", - "1810 Fletcher Islands", - "6988 Steven Vista Apt. 738", - "Patel-Evans", - "Powellbury", - "8856 Lambert Forest Apt. 010", - "49826", - "Turks and Caicos Islands", - "195.384.1264x84605" - ], - [ - "a405990b-732f-431e-b3ad-0ce05a484671", - "f53ff51f-3365-4029-ae67-a679e1dca626", - "Carmen", - "Jessica", - "58361 Audrey Parks Apt. 128", - "864 Phillips Squares", - "Perez Inc", - "Laurieshire", - "407 Nicole Greens", - "06175", - "Kenya", - "(565)853-4978x18062" - ], - [ - "d3be5a1e-10f0-46e6-8033-d15766e73047", - "ffeea1b4-eb28-452a-8b06-2408e36b1a94", - "Melinda", - "Paul", - "09590 Gonzales Camp Apt. 092", - "146 Carlson Manor Suite 961", - "Mills Ltd", - "South Wendy", - "6273 Victor Springs Apt. 655", - "68154", - "United Arab Emirates", - "(209)678-7748x53000" - ], - [ - "52636d10-1505-4f0a-894a-52a194cdba26", - "8c021bf4-f33a-4d41-b55f-78d801a45d5e", - "Jacob", - "Jamie", - "0952 Colon Greens", - "00913 Natalie Tunnel Apt. 769", - "Sullivan Group", - "Longbury", - "03714 April Landing", - "74874", - "Turkey", - "(038)859-4310x9693" - ], - [ - "b2a1279b-392f-404f-88e0-f755d2bd3c14", - "2351209a-94b2-4b20-a517-1eef888c0d5b", - "Allen", - "Dean", - "8492 Smith Plains Apt. 986", - "420 Hodges Inlet Suite 088", - "Thornton-Mcknight", - "Gregoryborough", - "56904 Tony Branch Suite 945", - "88544", - "Mauritania", - "001-198-032-8011x00683" - ], - [ - "3a7cc826-4e7d-46de-a13d-895d5319a881", - "1a03bf40-3f40-460e-b170-2fadea8bdbee", - "Jill", - "Diana", - "092 Jose Unions", - "36896 Serrano Plaza", - "Wilson and Sons", - "North Justinchester", - "750 Contreras Bridge Apt. 456", - "77859", - "Kazakhstan", - "311.331.9899x4838" - ], - [ - "d4891b70-a002-41a9-a072-a1d3ef99c4d9", - "e49ad3aa-2c30-4148-81f8-4e2980467d1c", - "Jonathan", - "Lauren", - "4416 Christina Ville", - "44992 Katie Inlet Suite 965", - "Bennett, Hicks and Davidson", - "Lake Kendra", - "67281 Lee Drive Suite 987", - "27227", - "Jersey", - "950.930.9189x591" - ], - [ - "fbc3eeda-75b3-41f6-91a3-d671e3cc17d6", - "c3c73e91-020d-4fee-a1a9-e9781d684d9a", - "Gary", - "Jonathan", - "71309 Theresa Trail", - "29432 Brenda Overpass", - "Mccarthy-Huang", - "Lake Amanda", - "000 William Ranch", - "93218", - "Kazakhstan", - "001-109-449-4210x33965" - ], - [ - "684360f0-48c0-4bf7-9476-6231b7861c0b", - "18d728f1-8ec6-4e94-9725-fcd2ed719723", - "Karen", - "Paul", - "2867 Hunter Center Apt. 091", - "46974 Peter Drives Suite 073", - "Stephens, Wall and Johnson", - "Mcdowellfurt", - "33302 Mcintosh Orchard Apt. 884", - "17017", - "Gambia", - "484-039-6675" - ], - [ - "ec768cba-fc73-484a-bfc2-792e1bf29342", - "9c85fb32-1109-4409-a87d-75112fc3708f", - "Edgar", - "Hailey", - "70196 Moore Canyon", - "885 Jimenez Parkways", - "Gomez Group", - "Marktown", - "44624 Lawrence Springs Apt. 502", - "71815", - "Hungary", - "(777)526-6200" - ], - [ - "128eae16-fc8d-4d0e-9f07-78b6e4825709", - "530c610e-ab24-4f28-8d7f-684bb05817c8", - "Don", - "Edgar", - "040 Jessica Mews Apt. 149", - "3454 Lopez Neck", - "Clark, Simon and Griffith", - "Rickborough", - "549 Jeffrey Stream", - "71662", - "Korea", - "4911281340" - ], - [ - "341c94b3-cac4-46f0-bcba-33ccb52eacec", - "9f80457c-dd0e-4c4d-ab1f-cf76f734ad1c", - "Kevin", - "Kimberly", - "29504 Moore Grove", - "0079 Williams Pine Suite 274", - "Gregory-Mcgrath", - "Cantufort", - "5849 Paige River", - "72224", - "Zambia", - "(112)074-5447" - ], - [ - "d05acf85-8f05-40e8-bd8b-00a751ed4b16", - "a8214997-3076-4732-be67-66e0169f894d", - "Candace", - "Donna", - "1110 Powers Neck Suite 716", - "50101 Pamela Orchard Apt. 576", - "Brown, Hunter and Adkins", - "Adrianaville", - "4326 Orr Extensions", - "94064", - "Haiti", - "001-843-960-7631x732" - ], - [ - "44886c82-0e01-4b65-bf46-235d4d1e4e17", - "c0055521-b8d3-4ad8-86c3-cf310b5719c9", - "Holly", - "Tony", - "562 Shaw Burgs", - "568 Reed Vista", - "Ramirez Group", - "West Aaronfurt", - "6008 Brianna Lock Suite 088", - "46723", - "Uganda", - "343.960.6582" - ], - [ - "3ba1f5ff-fcd9-4315-8e72-14b716496a3c", - "3dc80460-e52c-4e94-a3dc-e9234f73e016", - "Melissa", - "Jessica", - "4076 Lisa Unions", - "46781 Brittany Route", - "Williams Inc", - "Harmonmouth", - "4349 Hughes Grove Suite 834", - "94032", - "South Georgia and the South Sandwich Islands", - "195-206-6214x45451" - ], - [ - "f757641c-963a-4696-9314-7f19f2df79fa", - "8d3afcc6-3662-4d23-899a-b9c37108f522", - "Larry", - "Brian", - "1698 Brittany Ridges", - "00442 Terry Via", - "Gallagher Group", - "Smithton", - "4835 Long Hills", - "96036", - "Japan", - "(592)844-2557x28538" - ], - [ - "a2c68229-75c5-43a5-b18b-8a8b504d4f9d", - "d78f0b90-d3a9-4568-b7de-8bb45423b25b", - "Gary", - "Luis", - "909 Carolyn Highway Apt. 717", - "549 Steve Walks Suite 058", - "Serrano, Harrison and Beard", - "South Kimberly", - "18324 Briana Point", - "36285", - "Macao", - "392.711.2369x14285" - ], - [ - "2a89cec7-1cf5-4c9c-ad79-745a1984e36f", - "4035c32c-7a03-409f-a8f4-bb3ff3d7c91d", - "Brittany", - "Brenda", - "2691 Brandon Plaza", - "13209 Alexis Cove Suite 182", - "Durham LLC", - "New Christyton", - "080 Peters Track", - "97880", - "Gabon", - "+1-604-197-7676x09064" - ], - [ - "a391bf33-6665-4caa-a2d7-de3132bf60d3", - "88156561-0c36-4053-a1d7-b58fac121003", - "Debbie", - "Sharon", - "600 Keller Trafficway", - "18809 Peter Village", - "Vazquez, Allen and Washington", - "Singhmouth", - "5628 Terrence Locks Suite 798", - "20287", - "Anguilla", - "001-151-880-6914x699" - ], - [ - "19bcef03-483c-4225-bb61-aafe48a2f981", - "8a35b2d9-8f65-484f-b735-8eb42c2bbfec", - "Mark", - "Ashley", - "3124 Kenneth Mountains Suite 321", - "111 Carter Drives Apt. 942", - "Hill PLC", - "Port Shannonville", - "6035 Calderon Ramp", - "25829", - "Angola", - "441.553.9413x20451" - ] - ] - }, - "tableProfile": { - "timestamp": 1634366539, - "columnCount": 12, - "rowCount": 725, - "customMetrics": [ - { - "name": "CountOfUSAddress", - "value": 15467 - }, - { - "name": "CountOfFRAddress", - "value": 1467 - } - ], - "columnProfile": [ - { - "name": "address_::>id", - "uniqueCount": 9, - "uniqueProportion": 0.52805369, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "shop_id", - "uniqueCount": 29, - "uniqueProportion": 0.2290940013, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "first_name", - "uniqueCount": 13, - "uniqueProportion": 0.1327792, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "last_name", - "uniqueCount": 23, - "uniqueProportion": 0.177126, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "address1", - "uniqueCount": 53, - "uniqueProportion": 0.0396391, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "address2", - "uniqueCount": 76, - "uniqueProportion": 0.0690369, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "company", - "uniqueCount": 23, - "uniqueProportion": 0.1210963, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "city", - "uniqueCount": 6, - "uniqueProportion": 0.024072, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "region", - "uniqueCount": 3, - "uniqueProportion": 0.1478114, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "zip", - "uniqueCount": 11, - "uniqueProportion": 0.1383472, - "distinctCount": 0, - "distinctProportion": 0, - "customMetrics": [ - { - "name": "CountOfLAZipCode", - "value": 3456 - }, - { - "name": "CountOfOrangeCountyZipCode", - "value": 2345 - } - ] - }, - { - "name": "country", - "uniqueCount": 13, - "uniqueProportion": 0.1601013, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "phone", - "uniqueCount": 8, - "uniqueProportion": 0.1297079, - "distinctCount": 0, - "distinctProportion": 0 - } - ] - }, - "databaseSchema": { - "id": "d7be1e2c-b3dc-11ec-b909-0242ac120002", - "type": "databaseSchema", - "name": "sample_data.ecommerce_db.shopify", - "description": "This **mock** Schema contains tables related to shopify sales and orders with related dimension tables.", - "href": "http://localhost:8585/api/v1/databaseSchemas/d7be1e2c-b3dc-11ec-b909-0242ac120002" - }, - "customMetrics": [ - { - "name": "CountOfUSAddress", - "expression": "SELECT COUNT(address_id) FROM dim_address WHERE country = 'US'" - }, - { - "name": "CountOfFRAddress", - "expression": "SELECT COUNT(address_id) FROM dim_address WHERE country = 'FR'" - } - ], - "sourceUrl": "http://localhost:8080/ice_global" - }, - { - "name": "mortgage", - "description": "This dimension table contains the billing and shipping addresses of customers. You can join this table with the sales table to generate lists of the billing and shipping addresses. Customers can enter their addresses more than once, so the same address can appear in more than one row in this table. This table contains one row per customer address.", - "version": 0.1, - "updatedAt": 1638354087391, - "updatedBy": "anonymous", - "href": "http://localhost:8585/api/v1/tables/3cda8ecb-f4c6-4ed4-8506-abe965b54b86", - "tableType": "Regular", - "schemaDefinition": "CREATE TABLE dim_address(address_id NUMERIC PRIMARY KEY, shop_id NUMERIC)", - "retentionPeriod": "10D", - "columns": [ - { - "name": "address_::>id", - "dataType": "NUMERIC", - "dataTypeDisplay": "numeric", - "description": "Unique identifier for the address.", - "tags": [], - "ordinalPosition": 1 - }, - { - "name": "shop_id", - "dataType": "NUMERIC", - "dataTypeDisplay": "numeric", - "description": "The ID of the store. This column is a foreign key reference to the shop_id column in the dim_shop table.", - "tags": [], - "ordinalPosition": 2 - }, - { - "name": "first_name", - "dataType": "VARCHAR", - "dataLength": 100, - "dataTypeDisplay": "varchar", - "description": "First name of the customer.", - "tags": [], - "ordinalPosition": 3 - }, - { - "name": "last_name", - "dataType": "VARCHAR", - "dataLength": 100, - "dataTypeDisplay": "varchar", - "description": "Last name of the customer.", - "tags": [], - "ordinalPosition": 4 - }, - { - "name": "address1", - "dataType": "VARCHAR", - "dataLength": 500, - "dataTypeDisplay": "varchar", - "description": "The first address line. For example, 150 Elgin St.", - "tags": [], - "ordinalPosition": 5 - }, - { - "name": "address2", - "dataType": "VARCHAR", - "dataLength": 500, - "dataTypeDisplay": "varchar", - "description": "The second address line. For example, Suite 800.", - "tags": [], - "ordinalPosition": 6 - }, - { - "name": "company", - "dataType": "VARCHAR", - "dataLength": 100, - "dataTypeDisplay": "varchar", - "description": "The name of the customer's business, if one exists.", - "tags": [], - "ordinalPosition": 7 - }, - { - "name": "city", - "dataType": "VARCHAR", - "dataLength": 100, - "dataTypeDisplay": "varchar", - "description": "The name of the city. For example, Palo Alto.", - "tags": [], - "ordinalPosition": 8 - }, - { - "name": "region", - "dataType": "VARCHAR", - "dataLength": 512, - "dataTypeDisplay": "varchar", - "description": "The name of the region, such as a province or state, where the customer is located. For example, Ontario or New York. This column is the same as CustomerAddress.province in the Admin API.", - "tags": [], - "ordinalPosition": 9 - }, - { - "name": "zip", - "dataType": "VARCHAR", - "dataLength": 10, - "dataTypeDisplay": "varchar", - "description": "The ZIP or postal code. For example, 90210.", - "tags": [], - "ordinalPosition": 10, - "customMetrics": [ - { - "name": "CountOfLAZipCode", - "columnName": "zip", - "expression": "SELECT COUNT(zip) FROM dim_address WHERE zip LIKE '900%'" - }, - { - "name": "CountOfOrangeCountyZipCode", - "columnName": "zip", - "expression": "SELECT COUNT(zip) FROM dim_address WHERE zip LIKE '92%'" - } - ] - }, - { - "name": "country", - "dataType": "VARCHAR", - "dataLength": 50, - "dataTypeDisplay": "varchar", - "description": "The full name of the country. For example, Canada.", - "tags": [], - "ordinalPosition": 11 - }, - { - "name": "phone", - "dataType": "VARCHAR", - "dataLength": 15, - "dataTypeDisplay": "varchar", - "description": "The phone number of the customer.", - "tags": [], - "ordinalPosition": 12, - "customMetrics": [ - { - "name": "CountOfNonUsPhoneNumbers", - "columnName": "phone", - "expression": "SELECT COUNT(phone) FROM dim_address WHERE phone NOT LIKE '1%'" - } - ] - } - ], - "tableConstraints": [ - { - "constraintType": "PRIMARY_KEY", - "columns": [ - "address_::>id", - "shop_id" - ] - } - ], - "database": { - "id": "50da1ff8-4e1d-4967-8931-45edbf4dd908", - "type": "database", - "name": "sample_data.ecommerce_db", - "description": "This **mock** database contains tables related to shopify sales and orders with related dimension tables.", - "href": "http://localhost:8585/api/v1/databases/50da1ff8-4e1d-4967-8931-45edbf4dd908" - }, - "tags": [], - "usageSummary": { - "dailyStats": { - "count": 73, - "percentileRank": 45 - }, - "weeklyStats": { - "count": 73, - "percentileRank": 45 - }, - "monthlyStats": { - "count": 67, - "percentileRank": 45 - }, - "date": "2021-12-01" - }, - "followers": [], - "joins": { - "startDate": "2021-11-01", - "dayCount": 30, - "columnJoins": [ - { - "columnName": "shop_id", - "joinedWith": [ - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.shop\".shop_id", - "joinCount": 35 - } - ] - }, - { - "columnName": "address_::>id", - "joinedWith": [ - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.api_client_id", - "joinCount": 49 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.billing_address_id", - "joinCount": 49 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.customer_id", - "joinCount": 49 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.location_id", - "joinCount": 49 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.order_id", - "joinCount": 49 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.product_id", - "joinCount": 49 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.product_variant_id", - "joinCount": 49 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.shipping_address_id", - "joinCount": 49 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.shop_id", - "joinCount": 49 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.user_id", - "joinCount": 49 - } - ] - } - ] - }, - "sampleData": { - "columns": [ - "address_::>id", - "shop_id", - "first_name", - "last_name", - "address1", - "address2", - "company", - "city", - "region", - "zip", - "country", - "phone" - ], - "rows": [ - [ - "bc35100e-2da5-48bb-bfc8-667dafe66532", - "70424951-bc97-4b20-9ce7-be37c4619361", - "Zachary", - "Brett", - "9054 Maria Circle Apt. 296", - "48348 Victoria Valleys Suite 144", - "Robinson Inc", - "Stephanieport", - "048 Moore Turnpike Apt. 061", - "30839", - "Latvia", - "(381)575-6692" - ], - [ - "d9a5b1a0-bf92-4b71-884d-9818308d040d", - "ffdc81e4-b0dc-47b2-8240-8540ba6c3029", - "Melissa", - "Amy", - "6212 William Plaza Suite 362", - "741 Eric Bypass", - "Todd, Henderson and Jenkins", - "Petersonstad", - "363 Gary Mills", - "91794", - "Lesotho", - "828-855-9883" - ], - [ - "facf92d7-05ea-43d2-ba2a-067d63dee60c", - "a8d30187-1409-4606-9259-322a4f6caf74", - "Amber", - "Albert", - "3170 Warren Orchard Apt. 834", - "3204 Brewer Shoal Suite 324", - "Davila-Snyder", - "Nicoleland", - "023 Paul Course", - "14086", - "Sweden", - "438-959-1151" - ], - [ - "bab9a506-e23d-4c53-9402-d070e7704376", - "e02e1fac-b650-4db8-8c9d-5fa5edf5d863", - "Heidi", - "Kelly", - "30942 Gonzalez Stravenue", - "3158 Watts Green", - "Moore PLC", - "West Erica", - "6294 Elliott Ville", - "07418", - "Saint Martin", - "(830)112-9566x8681" - ], - [ - "67ff12ae-5d40-4795-9a82-3afa62a4aea1", - "bf45dc22-8d23-49d9-9d87-7b4bd2dd1762", - "Adam", - "Anna", - "986 Walker Unions", - "5798 Ross Spur Apt. 510", - "Schultz, Allen and Price", - "West Brandyton", - "07379 Alejandra Manors", - "09192", - "Cambodia", - "(859)222-9872x9188" - ], - [ - "97831db3-23df-424e-b2e3-19f196874002", - "cfc3c305-748b-4992-9fef-ddd0aa7ce927", - "Tracey", - "Kaitlin", - "1810 Fletcher Islands", - "6988 Steven Vista Apt. 738", - "Patel-Evans", - "Powellbury", - "8856 Lambert Forest Apt. 010", - "49826", - "Turks and Caicos Islands", - "195.384.1264x84605" - ], - [ - "a405990b-732f-431e-b3ad-0ce05a484671", - "f53ff51f-3365-4029-ae67-a679e1dca626", - "Carmen", - "Jessica", - "58361 Audrey Parks Apt. 128", - "864 Phillips Squares", - "Perez Inc", - "Laurieshire", - "407 Nicole Greens", - "06175", - "Kenya", - "(565)853-4978x18062" - ], - [ - "d3be5a1e-10f0-46e6-8033-d15766e73047", - "ffeea1b4-eb28-452a-8b06-2408e36b1a94", - "Melinda", - "Paul", - "09590 Gonzales Camp Apt. 092", - "146 Carlson Manor Suite 961", - "Mills Ltd", - "South Wendy", - "6273 Victor Springs Apt. 655", - "68154", - "United Arab Emirates", - "(209)678-7748x53000" - ], - [ - "52636d10-1505-4f0a-894a-52a194cdba26", - "8c021bf4-f33a-4d41-b55f-78d801a45d5e", - "Jacob", - "Jamie", - "0952 Colon Greens", - "00913 Natalie Tunnel Apt. 769", - "Sullivan Group", - "Longbury", - "03714 April Landing", - "74874", - "Turkey", - "(038)859-4310x9693" - ], - [ - "b2a1279b-392f-404f-88e0-f755d2bd3c14", - "2351209a-94b2-4b20-a517-1eef888c0d5b", - "Allen", - "Dean", - "8492 Smith Plains Apt. 986", - "420 Hodges Inlet Suite 088", - "Thornton-Mcknight", - "Gregoryborough", - "56904 Tony Branch Suite 945", - "88544", - "Mauritania", - "001-198-032-8011x00683" - ], - [ - "3a7cc826-4e7d-46de-a13d-895d5319a881", - "1a03bf40-3f40-460e-b170-2fadea8bdbee", - "Jill", - "Diana", - "092 Jose Unions", - "36896 Serrano Plaza", - "Wilson and Sons", - "North Justinchester", - "750 Contreras Bridge Apt. 456", - "77859", - "Kazakhstan", - "311.331.9899x4838" - ], - [ - "d4891b70-a002-41a9-a072-a1d3ef99c4d9", - "e49ad3aa-2c30-4148-81f8-4e2980467d1c", - "Jonathan", - "Lauren", - "4416 Christina Ville", - "44992 Katie Inlet Suite 965", - "Bennett, Hicks and Davidson", - "Lake Kendra", - "67281 Lee Drive Suite 987", - "27227", - "Jersey", - "950.930.9189x591" - ], - [ - "fbc3eeda-75b3-41f6-91a3-d671e3cc17d6", - "c3c73e91-020d-4fee-a1a9-e9781d684d9a", - "Gary", - "Jonathan", - "71309 Theresa Trail", - "29432 Brenda Overpass", - "Mccarthy-Huang", - "Lake Amanda", - "000 William Ranch", - "93218", - "Kazakhstan", - "001-109-449-4210x33965" - ], - [ - "684360f0-48c0-4bf7-9476-6231b7861c0b", - "18d728f1-8ec6-4e94-9725-fcd2ed719723", - "Karen", - "Paul", - "2867 Hunter Center Apt. 091", - "46974 Peter Drives Suite 073", - "Stephens, Wall and Johnson", - "Mcdowellfurt", - "33302 Mcintosh Orchard Apt. 884", - "17017", - "Gambia", - "484-039-6675" - ], - [ - "ec768cba-fc73-484a-bfc2-792e1bf29342", - "9c85fb32-1109-4409-a87d-75112fc3708f", - "Edgar", - "Hailey", - "70196 Moore Canyon", - "885 Jimenez Parkways", - "Gomez Group", - "Marktown", - "44624 Lawrence Springs Apt. 502", - "71815", - "Hungary", - "(777)526-6200" - ], - [ - "128eae16-fc8d-4d0e-9f07-78b6e4825709", - "530c610e-ab24-4f28-8d7f-684bb05817c8", - "Don", - "Edgar", - "040 Jessica Mews Apt. 149", - "3454 Lopez Neck", - "Clark, Simon and Griffith", - "Rickborough", - "549 Jeffrey Stream", - "71662", - "Korea", - "4911281340" - ], - [ - "341c94b3-cac4-46f0-bcba-33ccb52eacec", - "9f80457c-dd0e-4c4d-ab1f-cf76f734ad1c", - "Kevin", - "Kimberly", - "29504 Moore Grove", - "0079 Williams Pine Suite 274", - "Gregory-Mcgrath", - "Cantufort", - "5849 Paige River", - "72224", - "Zambia", - "(112)074-5447" - ], - [ - "d05acf85-8f05-40e8-bd8b-00a751ed4b16", - "a8214997-3076-4732-be67-66e0169f894d", - "Candace", - "Donna", - "1110 Powers Neck Suite 716", - "50101 Pamela Orchard Apt. 576", - "Brown, Hunter and Adkins", - "Adrianaville", - "4326 Orr Extensions", - "94064", - "Haiti", - "001-843-960-7631x732" - ], - [ - "44886c82-0e01-4b65-bf46-235d4d1e4e17", - "c0055521-b8d3-4ad8-86c3-cf310b5719c9", - "Holly", - "Tony", - "562 Shaw Burgs", - "568 Reed Vista", - "Ramirez Group", - "West Aaronfurt", - "6008 Brianna Lock Suite 088", - "46723", - "Uganda", - "343.960.6582" - ], - [ - "3ba1f5ff-fcd9-4315-8e72-14b716496a3c", - "3dc80460-e52c-4e94-a3dc-e9234f73e016", - "Melissa", - "Jessica", - "4076 Lisa Unions", - "46781 Brittany Route", - "Williams Inc", - "Harmonmouth", - "4349 Hughes Grove Suite 834", - "94032", - "South Georgia and the South Sandwich Islands", - "195-206-6214x45451" - ], - [ - "f757641c-963a-4696-9314-7f19f2df79fa", - "8d3afcc6-3662-4d23-899a-b9c37108f522", - "Larry", - "Brian", - "1698 Brittany Ridges", - "00442 Terry Via", - "Gallagher Group", - "Smithton", - "4835 Long Hills", - "96036", - "Japan", - "(592)844-2557x28538" - ], - [ - "a2c68229-75c5-43a5-b18b-8a8b504d4f9d", - "d78f0b90-d3a9-4568-b7de-8bb45423b25b", - "Gary", - "Luis", - "909 Carolyn Highway Apt. 717", - "549 Steve Walks Suite 058", - "Serrano, Harrison and Beard", - "South Kimberly", - "18324 Briana Point", - "36285", - "Macao", - "392.711.2369x14285" - ], - [ - "2a89cec7-1cf5-4c9c-ad79-745a1984e36f", - "4035c32c-7a03-409f-a8f4-bb3ff3d7c91d", - "Brittany", - "Brenda", - "2691 Brandon Plaza", - "13209 Alexis Cove Suite 182", - "Durham LLC", - "New Christyton", - "080 Peters Track", - "97880", - "Gabon", - "+1-604-197-7676x09064" - ], - [ - "a391bf33-6665-4caa-a2d7-de3132bf60d3", - "88156561-0c36-4053-a1d7-b58fac121003", - "Debbie", - "Sharon", - "600 Keller Trafficway", - "18809 Peter Village", - "Vazquez, Allen and Washington", - "Singhmouth", - "5628 Terrence Locks Suite 798", - "20287", - "Anguilla", - "001-151-880-6914x699" - ], - [ - "19bcef03-483c-4225-bb61-aafe48a2f981", - "8a35b2d9-8f65-484f-b735-8eb42c2bbfec", - "Mark", - "Ashley", - "3124 Kenneth Mountains Suite 321", - "111 Carter Drives Apt. 942", - "Hill PLC", - "Port Shannonville", - "6035 Calderon Ramp", - "25829", - "Angola", - "441.553.9413x20451" - ] - ] - }, - "tableProfile": { - "timestamp": 1634366539, - "columnCount": 12, - "rowCount": 725, - "customMetrics": [ - { - "name": "CountOfUSAddress", - "value": 15467 - }, - { - "name": "CountOfFRAddress", - "value": 1467 - } - ], - "columnProfile": [ - { - "name": "address_::>id", - "uniqueCount": 9, - "uniqueProportion": 0.52805369, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "shop_id", - "uniqueCount": 29, - "uniqueProportion": 0.2290940013, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "first_name", - "uniqueCount": 13, - "uniqueProportion": 0.1327792, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "last_name", - "uniqueCount": 23, - "uniqueProportion": 0.177126, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "address1", - "uniqueCount": 53, - "uniqueProportion": 0.0396391, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "address2", - "uniqueCount": 76, - "uniqueProportion": 0.0690369, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "company", - "uniqueCount": 23, - "uniqueProportion": 0.1210963, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "city", - "uniqueCount": 6, - "uniqueProportion": 0.024072, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "region", - "uniqueCount": 3, - "uniqueProportion": 0.1478114, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "zip", - "uniqueCount": 11, - "uniqueProportion": 0.1383472, - "distinctCount": 0, - "distinctProportion": 0, - "customMetrics": [ - { - "name": "CountOfLAZipCode", - "value": 3456 - }, - { - "name": "CountOfOrangeCountyZipCode", - "value": 2345 - } - ] - }, - { - "name": "country", - "uniqueCount": 13, - "uniqueProportion": 0.1601013, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "phone", - "uniqueCount": 8, - "uniqueProportion": 0.1297079, - "distinctCount": 0, - "distinctProportion": 0 - } - ] - }, - "databaseSchema": { - "id": "d7be1e2c-b3dc-11ec-b909-0242ac120002", - "type": "databaseSchema", - "name": "sample_data.ecommerce_db.shopify", - "description": "This **mock** Schema contains tables related to shopify sales and orders with related dimension tables.", - "href": "http://localhost:8585/api/v1/databaseSchemas/d7be1e2c-b3dc-11ec-b909-0242ac120002" - }, - "customMetrics": [ - { - "name": "CountOfUSAddress", - "expression": "SELECT COUNT(address_id) FROM dim_address WHERE country = 'US'" - }, - { - "name": "CountOfFRAddress", - "expression": "SELECT COUNT(address_id) FROM dim_address WHERE country = 'FR'" - } - ], - "sourceUrl": "http://localhost:8080/mortgage" - }, - { - "name": "funds_closingprocessdocumentsrelationship", - "description": "This dimension table contains the billing and shipping addresses of customers. You can join this table with the sales table to generate lists of the billing and shipping addresses. Customers can enter their addresses more than once, so the same address can appear in more than one row in this table. This table contains one row per customer address.", - "version": 0.1, - "updatedAt": 1638354087391, - "updatedBy": "anonymous", - "href": "http://localhost:8585/api/v1/tables/3cda8ecb-f4c6-4ed4-8506-abe965b54b86", - "tableType": "Regular", - "schemaDefinition": "CREATE TABLE dim_address(address_id NUMERIC PRIMARY KEY, shop_id NUMERIC)", - "retentionPeriod": "10D", - "columns": [ - { - "name": "address_::>id", - "dataType": "NUMERIC", - "dataTypeDisplay": "numeric", - "description": "Unique identifier for the address.", - "tags": [], - "ordinalPosition": 1 - }, - { - "name": "shop_id", - "dataType": "NUMERIC", - "dataTypeDisplay": "numeric", - "description": "The ID of the store. This column is a foreign key reference to the shop_id column in the dim_shop table.", - "tags": [], - "ordinalPosition": 2 - }, - { - "name": "first_name", - "dataType": "VARCHAR", - "dataLength": 100, - "dataTypeDisplay": "varchar", - "description": "First name of the customer.", - "tags": [], - "ordinalPosition": 3 - }, - { - "name": "last_name", - "dataType": "VARCHAR", - "dataLength": 100, - "dataTypeDisplay": "varchar", - "description": "Last name of the customer.", - "tags": [], - "ordinalPosition": 4 - }, - { - "name": "address1", - "dataType": "VARCHAR", - "dataLength": 500, - "dataTypeDisplay": "varchar", - "description": "The first address line. For example, 150 Elgin St.", - "tags": [], - "ordinalPosition": 5 - }, - { - "name": "address2", - "dataType": "VARCHAR", - "dataLength": 500, - "dataTypeDisplay": "varchar", - "description": "The second address line. For example, Suite 800.", - "tags": [], - "ordinalPosition": 6 - }, - { - "name": "company", - "dataType": "VARCHAR", - "dataLength": 100, - "dataTypeDisplay": "varchar", - "description": "The name of the customer's business, if one exists.", - "tags": [], - "ordinalPosition": 7 - }, - { - "name": "city", - "dataType": "VARCHAR", - "dataLength": 100, - "dataTypeDisplay": "varchar", - "description": "The name of the city. For example, Palo Alto.", - "tags": [], - "ordinalPosition": 8 - }, - { - "name": "region", - "dataType": "VARCHAR", - "dataLength": 512, - "dataTypeDisplay": "varchar", - "description": "The name of the region, such as a province or state, where the customer is located. For example, Ontario or New York. This column is the same as CustomerAddress.province in the Admin API.", - "tags": [], - "ordinalPosition": 9 - }, - { - "name": "zip", - "dataType": "VARCHAR", - "dataLength": 10, - "dataTypeDisplay": "varchar", - "description": "The ZIP or postal code. For example, 90210.", - "tags": [], - "ordinalPosition": 10, - "customMetrics": [ - { - "name": "CountOfLAZipCode", - "columnName": "zip", - "expression": "SELECT COUNT(zip) FROM dim_address WHERE zip LIKE '900%'" - }, - { - "name": "CountOfOrangeCountyZipCode", - "columnName": "zip", - "expression": "SELECT COUNT(zip) FROM dim_address WHERE zip LIKE '92%'" - } - ] - }, - { - "name": "country", - "dataType": "VARCHAR", - "dataLength": 50, - "dataTypeDisplay": "varchar", - "description": "The full name of the country. For example, Canada.", - "tags": [], - "ordinalPosition": 11 - }, - { - "name": "phone", - "dataType": "VARCHAR", - "dataLength": 15, - "dataTypeDisplay": "varchar", - "description": "The phone number of the customer.", - "tags": [], - "ordinalPosition": 12, - "customMetrics": [ - { - "name": "CountOfNonUsPhoneNumbers", - "columnName": "phone", - "expression": "SELECT COUNT(phone) FROM dim_address WHERE phone NOT LIKE '1%'" - } - ] - } - ], - "tableConstraints": [ - { - "constraintType": "PRIMARY_KEY", - "columns": [ - "address_::>id", - "shop_id" - ] - } - ], - "database": { - "id": "50da1ff8-4e1d-4967-8931-45edbf4dd908", - "type": "database", - "name": "sample_data.ecommerce_db", - "description": "This **mock** database contains tables related to shopify sales and orders with related dimension tables.", - "href": "http://localhost:8585/api/v1/databases/50da1ff8-4e1d-4967-8931-45edbf4dd908" - }, - "tags": [], - "usageSummary": { - "dailyStats": { - "count": 73, - "percentileRank": 45 - }, - "weeklyStats": { - "count": 73, - "percentileRank": 45 - }, - "monthlyStats": { - "count": 67, - "percentileRank": 45 - }, - "date": "2021-12-01" - }, - "followers": [], - "joins": { - "startDate": "2021-11-01", - "dayCount": 30, - "columnJoins": [ - { - "columnName": "shop_id", - "joinedWith": [ - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.shop\".shop_id", - "joinCount": 35 - } - ] - }, - { - "columnName": "address_::>id", - "joinedWith": [ - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.api_client_id", - "joinCount": 49 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.billing_address_id", - "joinCount": 49 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.customer_id", - "joinCount": 49 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.location_id", - "joinCount": 49 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.order_id", - "joinCount": 49 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.product_id", - "joinCount": 49 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.product_variant_id", - "joinCount": 49 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.shipping_address_id", - "joinCount": 49 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.shop_id", - "joinCount": 49 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.user_id", - "joinCount": 49 - } - ] - } - ] - }, - "sampleData": { - "columns": [ - "address_::>id", - "shop_id", - "first_name", - "last_name", - "address1", - "address2", - "company", - "city", - "region", - "zip", - "country", - "phone" - ], - "rows": [ - [ - "bc35100e-2da5-48bb-bfc8-667dafe66532", - "70424951-bc97-4b20-9ce7-be37c4619361", - "Zachary", - "Brett", - "9054 Maria Circle Apt. 296", - "48348 Victoria Valleys Suite 144", - "Robinson Inc", - "Stephanieport", - "048 Moore Turnpike Apt. 061", - "30839", - "Latvia", - "(381)575-6692" - ], - [ - "d9a5b1a0-bf92-4b71-884d-9818308d040d", - "ffdc81e4-b0dc-47b2-8240-8540ba6c3029", - "Melissa", - "Amy", - "6212 William Plaza Suite 362", - "741 Eric Bypass", - "Todd, Henderson and Jenkins", - "Petersonstad", - "363 Gary Mills", - "91794", - "Lesotho", - "828-855-9883" - ], - [ - "facf92d7-05ea-43d2-ba2a-067d63dee60c", - "a8d30187-1409-4606-9259-322a4f6caf74", - "Amber", - "Albert", - "3170 Warren Orchard Apt. 834", - "3204 Brewer Shoal Suite 324", - "Davila-Snyder", - "Nicoleland", - "023 Paul Course", - "14086", - "Sweden", - "438-959-1151" - ], - [ - "bab9a506-e23d-4c53-9402-d070e7704376", - "e02e1fac-b650-4db8-8c9d-5fa5edf5d863", - "Heidi", - "Kelly", - "30942 Gonzalez Stravenue", - "3158 Watts Green", - "Moore PLC", - "West Erica", - "6294 Elliott Ville", - "07418", - "Saint Martin", - "(830)112-9566x8681" - ], - [ - "67ff12ae-5d40-4795-9a82-3afa62a4aea1", - "bf45dc22-8d23-49d9-9d87-7b4bd2dd1762", - "Adam", - "Anna", - "986 Walker Unions", - "5798 Ross Spur Apt. 510", - "Schultz, Allen and Price", - "West Brandyton", - "07379 Alejandra Manors", - "09192", - "Cambodia", - "(859)222-9872x9188" - ], - [ - "97831db3-23df-424e-b2e3-19f196874002", - "cfc3c305-748b-4992-9fef-ddd0aa7ce927", - "Tracey", - "Kaitlin", - "1810 Fletcher Islands", - "6988 Steven Vista Apt. 738", - "Patel-Evans", - "Powellbury", - "8856 Lambert Forest Apt. 010", - "49826", - "Turks and Caicos Islands", - "195.384.1264x84605" - ], - [ - "a405990b-732f-431e-b3ad-0ce05a484671", - "f53ff51f-3365-4029-ae67-a679e1dca626", - "Carmen", - "Jessica", - "58361 Audrey Parks Apt. 128", - "864 Phillips Squares", - "Perez Inc", - "Laurieshire", - "407 Nicole Greens", - "06175", - "Kenya", - "(565)853-4978x18062" - ], - [ - "d3be5a1e-10f0-46e6-8033-d15766e73047", - "ffeea1b4-eb28-452a-8b06-2408e36b1a94", - "Melinda", - "Paul", - "09590 Gonzales Camp Apt. 092", - "146 Carlson Manor Suite 961", - "Mills Ltd", - "South Wendy", - "6273 Victor Springs Apt. 655", - "68154", - "United Arab Emirates", - "(209)678-7748x53000" - ], - [ - "52636d10-1505-4f0a-894a-52a194cdba26", - "8c021bf4-f33a-4d41-b55f-78d801a45d5e", - "Jacob", - "Jamie", - "0952 Colon Greens", - "00913 Natalie Tunnel Apt. 769", - "Sullivan Group", - "Longbury", - "03714 April Landing", - "74874", - "Turkey", - "(038)859-4310x9693" - ], - [ - "b2a1279b-392f-404f-88e0-f755d2bd3c14", - "2351209a-94b2-4b20-a517-1eef888c0d5b", - "Allen", - "Dean", - "8492 Smith Plains Apt. 986", - "420 Hodges Inlet Suite 088", - "Thornton-Mcknight", - "Gregoryborough", - "56904 Tony Branch Suite 945", - "88544", - "Mauritania", - "001-198-032-8011x00683" - ], - [ - "3a7cc826-4e7d-46de-a13d-895d5319a881", - "1a03bf40-3f40-460e-b170-2fadea8bdbee", - "Jill", - "Diana", - "092 Jose Unions", - "36896 Serrano Plaza", - "Wilson and Sons", - "North Justinchester", - "750 Contreras Bridge Apt. 456", - "77859", - "Kazakhstan", - "311.331.9899x4838" - ], - [ - "d4891b70-a002-41a9-a072-a1d3ef99c4d9", - "e49ad3aa-2c30-4148-81f8-4e2980467d1c", - "Jonathan", - "Lauren", - "4416 Christina Ville", - "44992 Katie Inlet Suite 965", - "Bennett, Hicks and Davidson", - "Lake Kendra", - "67281 Lee Drive Suite 987", - "27227", - "Jersey", - "950.930.9189x591" - ], - [ - "fbc3eeda-75b3-41f6-91a3-d671e3cc17d6", - "c3c73e91-020d-4fee-a1a9-e9781d684d9a", - "Gary", - "Jonathan", - "71309 Theresa Trail", - "29432 Brenda Overpass", - "Mccarthy-Huang", - "Lake Amanda", - "000 William Ranch", - "93218", - "Kazakhstan", - "001-109-449-4210x33965" - ], - [ - "684360f0-48c0-4bf7-9476-6231b7861c0b", - "18d728f1-8ec6-4e94-9725-fcd2ed719723", - "Karen", - "Paul", - "2867 Hunter Center Apt. 091", - "46974 Peter Drives Suite 073", - "Stephens, Wall and Johnson", - "Mcdowellfurt", - "33302 Mcintosh Orchard Apt. 884", - "17017", - "Gambia", - "484-039-6675" - ], - [ - "ec768cba-fc73-484a-bfc2-792e1bf29342", - "9c85fb32-1109-4409-a87d-75112fc3708f", - "Edgar", - "Hailey", - "70196 Moore Canyon", - "885 Jimenez Parkways", - "Gomez Group", - "Marktown", - "44624 Lawrence Springs Apt. 502", - "71815", - "Hungary", - "(777)526-6200" - ], - [ - "128eae16-fc8d-4d0e-9f07-78b6e4825709", - "530c610e-ab24-4f28-8d7f-684bb05817c8", - "Don", - "Edgar", - "040 Jessica Mews Apt. 149", - "3454 Lopez Neck", - "Clark, Simon and Griffith", - "Rickborough", - "549 Jeffrey Stream", - "71662", - "Korea", - "4911281340" - ], - [ - "341c94b3-cac4-46f0-bcba-33ccb52eacec", - "9f80457c-dd0e-4c4d-ab1f-cf76f734ad1c", - "Kevin", - "Kimberly", - "29504 Moore Grove", - "0079 Williams Pine Suite 274", - "Gregory-Mcgrath", - "Cantufort", - "5849 Paige River", - "72224", - "Zambia", - "(112)074-5447" - ], - [ - "d05acf85-8f05-40e8-bd8b-00a751ed4b16", - "a8214997-3076-4732-be67-66e0169f894d", - "Candace", - "Donna", - "1110 Powers Neck Suite 716", - "50101 Pamela Orchard Apt. 576", - "Brown, Hunter and Adkins", - "Adrianaville", - "4326 Orr Extensions", - "94064", - "Haiti", - "001-843-960-7631x732" - ], - [ - "44886c82-0e01-4b65-bf46-235d4d1e4e17", - "c0055521-b8d3-4ad8-86c3-cf310b5719c9", - "Holly", - "Tony", - "562 Shaw Burgs", - "568 Reed Vista", - "Ramirez Group", - "West Aaronfurt", - "6008 Brianna Lock Suite 088", - "46723", - "Uganda", - "343.960.6582" - ], - [ - "3ba1f5ff-fcd9-4315-8e72-14b716496a3c", - "3dc80460-e52c-4e94-a3dc-e9234f73e016", - "Melissa", - "Jessica", - "4076 Lisa Unions", - "46781 Brittany Route", - "Williams Inc", - "Harmonmouth", - "4349 Hughes Grove Suite 834", - "94032", - "South Georgia and the South Sandwich Islands", - "195-206-6214x45451" - ], - [ - "f757641c-963a-4696-9314-7f19f2df79fa", - "8d3afcc6-3662-4d23-899a-b9c37108f522", - "Larry", - "Brian", - "1698 Brittany Ridges", - "00442 Terry Via", - "Gallagher Group", - "Smithton", - "4835 Long Hills", - "96036", - "Japan", - "(592)844-2557x28538" - ], - [ - "a2c68229-75c5-43a5-b18b-8a8b504d4f9d", - "d78f0b90-d3a9-4568-b7de-8bb45423b25b", - "Gary", - "Luis", - "909 Carolyn Highway Apt. 717", - "549 Steve Walks Suite 058", - "Serrano, Harrison and Beard", - "South Kimberly", - "18324 Briana Point", - "36285", - "Macao", - "392.711.2369x14285" - ], - [ - "2a89cec7-1cf5-4c9c-ad79-745a1984e36f", - "4035c32c-7a03-409f-a8f4-bb3ff3d7c91d", - "Brittany", - "Brenda", - "2691 Brandon Plaza", - "13209 Alexis Cove Suite 182", - "Durham LLC", - "New Christyton", - "080 Peters Track", - "97880", - "Gabon", - "+1-604-197-7676x09064" - ], - [ - "a391bf33-6665-4caa-a2d7-de3132bf60d3", - "88156561-0c36-4053-a1d7-b58fac121003", - "Debbie", - "Sharon", - "600 Keller Trafficway", - "18809 Peter Village", - "Vazquez, Allen and Washington", - "Singhmouth", - "5628 Terrence Locks Suite 798", - "20287", - "Anguilla", - "001-151-880-6914x699" - ], - [ - "19bcef03-483c-4225-bb61-aafe48a2f981", - "8a35b2d9-8f65-484f-b735-8eb42c2bbfec", - "Mark", - "Ashley", - "3124 Kenneth Mountains Suite 321", - "111 Carter Drives Apt. 942", - "Hill PLC", - "Port Shannonville", - "6035 Calderon Ramp", - "25829", - "Angola", - "441.553.9413x20451" - ] - ] - }, - "tableProfile": { - "timestamp": 1634366539, - "columnCount": 12, - "rowCount": 725, - "customMetrics": [ - { - "name": "CountOfUSAddress", - "value": 15467 - }, - { - "name": "CountOfFRAddress", - "value": 1467 - } - ], - "columnProfile": [ - { - "name": "address_::>id", - "uniqueCount": 9, - "uniqueProportion": 0.52805369, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "shop_id", - "uniqueCount": 29, - "uniqueProportion": 0.2290940013, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "first_name", - "uniqueCount": 13, - "uniqueProportion": 0.1327792, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "last_name", - "uniqueCount": 23, - "uniqueProportion": 0.177126, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "address1", - "uniqueCount": 53, - "uniqueProportion": 0.0396391, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "address2", - "uniqueCount": 76, - "uniqueProportion": 0.0690369, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "company", - "uniqueCount": 23, - "uniqueProportion": 0.1210963, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "city", - "uniqueCount": 6, - "uniqueProportion": 0.024072, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "region", - "uniqueCount": 3, - "uniqueProportion": 0.1478114, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "zip", - "uniqueCount": 11, - "uniqueProportion": 0.1383472, - "distinctCount": 0, - "distinctProportion": 0, - "customMetrics": [ - { - "name": "CountOfLAZipCode", - "value": 3456 - }, - { - "name": "CountOfOrangeCountyZipCode", - "value": 2345 - } - ] - }, - { - "name": "country", - "uniqueCount": 13, - "uniqueProportion": 0.1601013, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "phone", - "uniqueCount": 8, - "uniqueProportion": 0.1297079, - "distinctCount": 0, - "distinctProportion": 0 - } - ] - }, - "databaseSchema": { - "id": "d7be1e2c-b3dc-11ec-b909-0242ac120002", - "type": "databaseSchema", - "name": "sample_data.ecommerce_db.shopify", - "description": "This **mock** Schema contains tables related to shopify sales and orders with related dimension tables.", - "href": "http://localhost:8585/api/v1/databaseSchemas/d7be1e2c-b3dc-11ec-b909-0242ac120002" - }, - "customMetrics": [ - { - "name": "CountOfUSAddress", - "expression": "SELECT COUNT(address_id) FROM dim_address WHERE country = 'US'" - }, - { - "name": "CountOfFRAddress", - "expression": "SELECT COUNT(address_id) FROM dim_address WHERE country = 'FR'" - } - ], - "sourceUrl": "http://localhost:8080/funds_closingprocessdocumentsrelationship" - }, - { - "name": "dim_address", - "description": "This dimension table contains the billing and shipping addresses of customers. You can join this table with the sales table to generate lists of the billing and shipping addresses. Customers can enter their addresses more than once, so the same address can appear in more than one row in this table. This table contains one row per customer address.", - "version": 0.1, - "updatedAt": 1638354087391, - "updatedBy": "anonymous", - "href": "http://localhost:8585/api/v1/tables/3cda8ecb-f4c6-4ed4-8506-abe965b54b86", - "tableType": "Regular", - "schemaDefinition": "CREATE TABLE dim_address(address_id NUMERIC PRIMARY KEY, shop_id NUMERIC)", - "retentionPeriod": "10D", - "columns": [ - { - "name": "address_id", - "dataType": "NUMERIC", - "dataTypeDisplay": "numeric", - "description": "Unique identifier for the address.", - "tags": [], - "ordinalPosition": 1 - }, - { - "name": "shop_id", - "dataType": "NUMERIC", - "dataTypeDisplay": "numeric", - "description": "The ID of the store. This column is a foreign key reference to the shop_id column in the dim_shop table.", - "tags": [], - "ordinalPosition": 2 - }, - { - "name": "first_name", - "dataType": "VARCHAR", - "dataLength": 100, - "dataTypeDisplay": "varchar", - "description": "First name of the customer.", - "tags": [], - "ordinalPosition": 3 - }, - { - "name": "last_name", - "dataType": "VARCHAR", - "dataLength": 100, - "dataTypeDisplay": "varchar", - "description": "Last name of the customer.", - "tags": [], - "ordinalPosition": 4 - }, - { - "name": "address1", - "dataType": "VARCHAR", - "dataLength": 500, - "dataTypeDisplay": "varchar", - "description": "The first address line. For example, 150 Elgin St.", - "tags": [], - "ordinalPosition": 5 - }, - { - "name": "address2", - "dataType": "VARCHAR", - "dataLength": 500, - "dataTypeDisplay": "varchar", - "description": "The second address line. For example, Suite 800.", - "tags": [], - "ordinalPosition": 6 - }, - { - "name": "company", - "dataType": "VARCHAR", - "dataLength": 100, - "dataTypeDisplay": "varchar", - "description": "The name of the customer's business, if one exists.", - "tags": [], - "ordinalPosition": 7 - }, - { - "name": "city", - "dataType": "VARCHAR", - "dataLength": 100, - "dataTypeDisplay": "varchar", - "description": "The name of the city. For example, Palo Alto.", - "tags": [], - "ordinalPosition": 8 - }, - { - "name": "region", - "dataType": "VARCHAR", - "dataLength": 512, - "dataTypeDisplay": "varchar", - "description": "The name of the region, such as a province or state, where the customer is located. For example, Ontario or New York. This column is the same as CustomerAddress.province in the Admin API.", - "tags": [], - "ordinalPosition": 9 - }, - { - "name": "zip", - "dataType": "VARCHAR", - "dataLength": 10, - "dataTypeDisplay": "varchar", - "description": "The ZIP or postal code. For example, 90210.", - "tags": [], - "ordinalPosition": 10, - "customMetrics": [ - { - "name": "CountOfLAZipCode", - "columnName": "zip", - "expression": "SELECT COUNT(zip) FROM dim_address WHERE zip LIKE '900%'" - }, - { - "name": "CountOfOrangeCountyZipCode", - "columnName": "zip", - "expression": "SELECT COUNT(zip) FROM dim_address WHERE zip LIKE '92%'" - } - ] - }, - { - "name": "country", - "dataType": "VARCHAR", - "dataLength": 50, - "dataTypeDisplay": "varchar", - "description": "The full name of the country. For example, Canada.", - "tags": [], - "ordinalPosition": 11 - }, - { - "name": "phone", - "dataType": "VARCHAR", - "dataLength": 15, - "dataTypeDisplay": "varchar", - "description": "The phone number of the customer.", - "tags": [], - "ordinalPosition": 12, - "customMetrics": [ - { - "name": "CountOfNonUsPhoneNumbers", - "columnName": "phone", - "expression": "SELECT COUNT(phone) FROM dim_address WHERE phone NOT LIKE '1%'" - } - ] - } - ], - "tableConstraints": [ - { - "constraintType": "PRIMARY_KEY", - "columns": [ - "address_id", - "shop_id" - ] - } - ], - "database": { - "id": "50da1ff8-4e1d-4967-8931-45edbf4dd908", - "type": "database", - "name": "sample_data.ecommerce_db", - "description": "This **mock** database contains tables related to shopify sales and orders with related dimension tables.", - "href": "http://localhost:8585/api/v1/databases/50da1ff8-4e1d-4967-8931-45edbf4dd908" - }, - "tags": [], - "usageSummary": { - "dailyStats": { - "count": 73, - "percentileRank": 45 - }, - "weeklyStats": { - "count": 73, - "percentileRank": 45 - }, - "monthlyStats": { - "count": 67, - "percentileRank": 45 - }, - "date": "2021-12-01" - }, - "followers": [], - "joins": { - "startDate": "2021-11-01", - "dayCount": 30, - "columnJoins": [ - { - "columnName": "shop_id", - "joinedWith": [ - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.shop\".shop_id", - "joinCount": 35 - } - ] - }, - { - "columnName": "address_id", - "joinedWith": [ - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.api_client_id", - "joinCount": 49 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.billing_address_id", - "joinCount": 49 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.customer_id", - "joinCount": 49 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.location_id", - "joinCount": 49 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.order_id", - "joinCount": 49 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.product_id", - "joinCount": 49 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.product_variant_id", - "joinCount": 49 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.shipping_address_id", - "joinCount": 49 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.shop_id", - "joinCount": 49 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.user_id", - "joinCount": 49 - } - ] - } - ] - }, - "sampleData": { - "columns": [ - "address_id", - "shop_id", - "first_name", - "last_name", - "address1", - "address2", - "company", - "city", - "region", - "zip", - "country", - "phone" - ], - "rows": [ - [ - "bc35100e-2da5-48bb-bfc8-667dafe66532", - "70424951-bc97-4b20-9ce7-be37c4619361", - "Zachary", - "Brett", - "9054 Maria Circle Apt. 296", - "48348 Victoria Valleys Suite 144", - "Robinson Inc", - "Stephanieport", - "048 Moore Turnpike Apt. 061", - "30839", - "Latvia", - "(381)575-6692" - ], - [ - "d9a5b1a0-bf92-4b71-884d-9818308d040d", - "ffdc81e4-b0dc-47b2-8240-8540ba6c3029", - "Melissa", - "Amy", - "6212 William Plaza Suite 362", - "741 Eric Bypass", - "Todd, Henderson and Jenkins", - "Petersonstad", - "363 Gary Mills", - "91794", - "Lesotho", - "828-855-9883" - ], - [ - "facf92d7-05ea-43d2-ba2a-067d63dee60c", - "a8d30187-1409-4606-9259-322a4f6caf74", - "Amber", - "Albert", - "3170 Warren Orchard Apt. 834", - "3204 Brewer Shoal Suite 324", - "Davila-Snyder", - "Nicoleland", - "023 Paul Course", - "14086", - "Sweden", - "438-959-1151" - ], - [ - "bab9a506-e23d-4c53-9402-d070e7704376", - "e02e1fac-b650-4db8-8c9d-5fa5edf5d863", - "Heidi", - "Kelly", - "30942 Gonzalez Stravenue", - "3158 Watts Green", - "Moore PLC", - "West Erica", - "6294 Elliott Ville", - "07418", - "Saint Martin", - "(830)112-9566x8681" - ], - [ - "67ff12ae-5d40-4795-9a82-3afa62a4aea1", - "bf45dc22-8d23-49d9-9d87-7b4bd2dd1762", - "Adam", - "Anna", - "986 Walker Unions", - "5798 Ross Spur Apt. 510", - "Schultz, Allen and Price", - "West Brandyton", - "07379 Alejandra Manors", - "09192", - "Cambodia", - "(859)222-9872x9188" - ], - [ - "97831db3-23df-424e-b2e3-19f196874002", - "cfc3c305-748b-4992-9fef-ddd0aa7ce927", - "Tracey", - "Kaitlin", - "1810 Fletcher Islands", - "6988 Steven Vista Apt. 738", - "Patel-Evans", - "Powellbury", - "8856 Lambert Forest Apt. 010", - "49826", - "Turks and Caicos Islands", - "195.384.1264x84605" - ], - [ - "a405990b-732f-431e-b3ad-0ce05a484671", - "f53ff51f-3365-4029-ae67-a679e1dca626", - "Carmen", - "Jessica", - "58361 Audrey Parks Apt. 128", - "864 Phillips Squares", - "Perez Inc", - "Laurieshire", - "407 Nicole Greens", - "06175", - "Kenya", - "(565)853-4978x18062" - ], - [ - "d3be5a1e-10f0-46e6-8033-d15766e73047", - "ffeea1b4-eb28-452a-8b06-2408e36b1a94", - "Melinda", - "Paul", - "09590 Gonzales Camp Apt. 092", - "146 Carlson Manor Suite 961", - "Mills Ltd", - "South Wendy", - "6273 Victor Springs Apt. 655", - "68154", - "United Arab Emirates", - "(209)678-7748x53000" - ], - [ - "52636d10-1505-4f0a-894a-52a194cdba26", - "8c021bf4-f33a-4d41-b55f-78d801a45d5e", - "Jacob", - "Jamie", - "0952 Colon Greens", - "00913 Natalie Tunnel Apt. 769", - "Sullivan Group", - "Longbury", - "03714 April Landing", - "74874", - "Turkey", - "(038)859-4310x9693" - ], - [ - "b2a1279b-392f-404f-88e0-f755d2bd3c14", - "2351209a-94b2-4b20-a517-1eef888c0d5b", - "Allen", - "Dean", - "8492 Smith Plains Apt. 986", - "420 Hodges Inlet Suite 088", - "Thornton-Mcknight", - "Gregoryborough", - "56904 Tony Branch Suite 945", - "88544", - "Mauritania", - "001-198-032-8011x00683" - ], - [ - "3a7cc826-4e7d-46de-a13d-895d5319a881", - "1a03bf40-3f40-460e-b170-2fadea8bdbee", - "Jill", - "Diana", - "092 Jose Unions", - "36896 Serrano Plaza", - "Wilson and Sons", - "North Justinchester", - "750 Contreras Bridge Apt. 456", - "77859", - "Kazakhstan", - "311.331.9899x4838" - ], - [ - "d4891b70-a002-41a9-a072-a1d3ef99c4d9", - "e49ad3aa-2c30-4148-81f8-4e2980467d1c", - "Jonathan", - "Lauren", - "4416 Christina Ville", - "44992 Katie Inlet Suite 965", - "Bennett, Hicks and Davidson", - "Lake Kendra", - "67281 Lee Drive Suite 987", - "27227", - "Jersey", - "950.930.9189x591" - ], - [ - "fbc3eeda-75b3-41f6-91a3-d671e3cc17d6", - "c3c73e91-020d-4fee-a1a9-e9781d684d9a", - "Gary", - "Jonathan", - "71309 Theresa Trail", - "29432 Brenda Overpass", - "Mccarthy-Huang", - "Lake Amanda", - "000 William Ranch", - "93218", - "Kazakhstan", - "001-109-449-4210x33965" - ], - [ - "684360f0-48c0-4bf7-9476-6231b7861c0b", - "18d728f1-8ec6-4e94-9725-fcd2ed719723", - "Karen", - "Paul", - "2867 Hunter Center Apt. 091", - "46974 Peter Drives Suite 073", - "Stephens, Wall and Johnson", - "Mcdowellfurt", - "33302 Mcintosh Orchard Apt. 884", - "17017", - "Gambia", - "484-039-6675" - ], - [ - "ec768cba-fc73-484a-bfc2-792e1bf29342", - "9c85fb32-1109-4409-a87d-75112fc3708f", - "Edgar", - "Hailey", - "70196 Moore Canyon", - "885 Jimenez Parkways", - "Gomez Group", - "Marktown", - "44624 Lawrence Springs Apt. 502", - "71815", - "Hungary", - "(777)526-6200" - ], - [ - "128eae16-fc8d-4d0e-9f07-78b6e4825709", - "530c610e-ab24-4f28-8d7f-684bb05817c8", - "Don", - "Edgar", - "040 Jessica Mews Apt. 149", - "3454 Lopez Neck", - "Clark, Simon and Griffith", - "Rickborough", - "549 Jeffrey Stream", - "71662", - "Korea", - "4911281340" - ], - [ - "341c94b3-cac4-46f0-bcba-33ccb52eacec", - "9f80457c-dd0e-4c4d-ab1f-cf76f734ad1c", - "Kevin", - "Kimberly", - "29504 Moore Grove", - "0079 Williams Pine Suite 274", - "Gregory-Mcgrath", - "Cantufort", - "5849 Paige River", - "72224", - "Zambia", - "(112)074-5447" - ], - [ - "d05acf85-8f05-40e8-bd8b-00a751ed4b16", - "a8214997-3076-4732-be67-66e0169f894d", - "Candace", - "Donna", - "1110 Powers Neck Suite 716", - "50101 Pamela Orchard Apt. 576", - "Brown, Hunter and Adkins", - "Adrianaville", - "4326 Orr Extensions", - "94064", - "Haiti", - "001-843-960-7631x732" - ], - [ - "44886c82-0e01-4b65-bf46-235d4d1e4e17", - "c0055521-b8d3-4ad8-86c3-cf310b5719c9", - "Holly", - "Tony", - "562 Shaw Burgs", - "568 Reed Vista", - "Ramirez Group", - "West Aaronfurt", - "6008 Brianna Lock Suite 088", - "46723", - "Uganda", - "343.960.6582" - ], - [ - "3ba1f5ff-fcd9-4315-8e72-14b716496a3c", - "3dc80460-e52c-4e94-a3dc-e9234f73e016", - "Melissa", - "Jessica", - "4076 Lisa Unions", - "46781 Brittany Route", - "Williams Inc", - "Harmonmouth", - "4349 Hughes Grove Suite 834", - "94032", - "South Georgia and the South Sandwich Islands", - "195-206-6214x45451" - ], - [ - "f757641c-963a-4696-9314-7f19f2df79fa", - "8d3afcc6-3662-4d23-899a-b9c37108f522", - "Larry", - "Brian", - "1698 Brittany Ridges", - "00442 Terry Via", - "Gallagher Group", - "Smithton", - "4835 Long Hills", - "96036", - "Japan", - "(592)844-2557x28538" - ], - [ - "a2c68229-75c5-43a5-b18b-8a8b504d4f9d", - "d78f0b90-d3a9-4568-b7de-8bb45423b25b", - "Gary", - "Luis", - "909 Carolyn Highway Apt. 717", - "549 Steve Walks Suite 058", - "Serrano, Harrison and Beard", - "South Kimberly", - "18324 Briana Point", - "36285", - "Macao", - "392.711.2369x14285" - ], - [ - "2a89cec7-1cf5-4c9c-ad79-745a1984e36f", - "4035c32c-7a03-409f-a8f4-bb3ff3d7c91d", - "Brittany", - "Brenda", - "2691 Brandon Plaza", - "13209 Alexis Cove Suite 182", - "Durham LLC", - "New Christyton", - "080 Peters Track", - "97880", - "Gabon", - "+1-604-197-7676x09064" - ], - [ - "a391bf33-6665-4caa-a2d7-de3132bf60d3", - "88156561-0c36-4053-a1d7-b58fac121003", - "Debbie", - "Sharon", - "600 Keller Trafficway", - "18809 Peter Village", - "Vazquez, Allen and Washington", - "Singhmouth", - "5628 Terrence Locks Suite 798", - "20287", - "Anguilla", - "001-151-880-6914x699" - ], - [ - "19bcef03-483c-4225-bb61-aafe48a2f981", - "8a35b2d9-8f65-484f-b735-8eb42c2bbfec", - "Mark", - "Ashley", - "3124 Kenneth Mountains Suite 321", - "111 Carter Drives Apt. 942", - "Hill PLC", - "Port Shannonville", - "6035 Calderon Ramp", - "25829", - "Angola", - "441.553.9413x20451" - ] - ] - }, - "tableProfile": { - "timestamp": 1634366539, - "columnCount": 12, - "rowCount": 725, - "customMetrics": [ - { - "name": "CountOfUSAddress", - "value": 15467 - }, - { - "name": "CountOfFRAddress", - "value": 1467 - } - ], - "columnProfile": [ - { - "name": "address_id", - "uniqueCount": 9, - "uniqueProportion": 0.52805369, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "shop_id", - "uniqueCount": 29, - "uniqueProportion": 0.2290940013, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "first_name", - "uniqueCount": 13, - "uniqueProportion": 0.1327792, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "last_name", - "uniqueCount": 23, - "uniqueProportion": 0.177126, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "address1", - "uniqueCount": 53, - "uniqueProportion": 0.0396391, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "address2", - "uniqueCount": 76, - "uniqueProportion": 0.0690369, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "company", - "uniqueCount": 23, - "uniqueProportion": 0.1210963, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "city", - "uniqueCount": 6, - "uniqueProportion": 0.024072, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "region", - "uniqueCount": 3, - "uniqueProportion": 0.1478114, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "zip", - "uniqueCount": 11, - "uniqueProportion": 0.1383472, - "distinctCount": 0, - "distinctProportion": 0, - "customMetrics": [ - { - "name": "CountOfLAZipCode", - "value": 3456 - }, - { - "name": "CountOfOrangeCountyZipCode", - "value": 2345 - } - ] - }, - { - "name": "country", - "uniqueCount": 13, - "uniqueProportion": 0.1601013, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "phone", - "uniqueCount": 8, - "uniqueProportion": 0.1297079, - "distinctCount": 0, - "distinctProportion": 0 - } - ] - }, - "databaseSchema": { - "id": "d7be1e2c-b3dc-11ec-b909-0242ac120002", - "type": "databaseSchema", - "name": "sample_data.ecommerce_db.shopify", - "description": "This **mock** Schema contains tables related to shopify sales and orders with related dimension tables.", - "href": "http://localhost:8585/api/v1/databaseSchemas/d7be1e2c-b3dc-11ec-b909-0242ac120002" - }, - "customMetrics": [ - { - "name": "CountOfUSAddress", - "expression": "SELECT COUNT(address_id) FROM dim_address WHERE country = 'US'" - }, - { - "name": "CountOfFRAddress", - "expression": "SELECT COUNT(address_id) FROM dim_address WHERE country = 'FR'" - } - ], - "sourceUrl": "http://localhost:8080/dim_address" - }, - { - "id": "1cda9ecb-f4c6-4ed4-8506-abe965b64c87", - "name": "dim_address_clean", - "description": "Created from dim_address after a small cleanup.", - "version": 0.1, - "updatedAt": 1638354087591, - "updatedBy": "anonymous", - "href": "http://localhost:8585/api/v1/tables/1cda9ecb-f4c6-4ed4-8506-abe965b64c87", - "tableType": "View", - "schemaDefinition": "CREATE VIEW dim_address_clean(address_id NUMERIC PRIMARY KEY, shop_id NUMERIC)", - "columns": [ - { - "name": "address_id", - "dataType": "NUMERIC", - "dataTypeDisplay": "numeric", - "description": "Unique identifier for the address.", - "tags": [], - "ordinalPosition": 1 - }, - { - "name": "shop_id", - "dataType": "NUMERIC", - "dataTypeDisplay": "numeric", - "description": "The ID of the store. This column is a foreign key reference to the shop_id column in the dim_shop table.", - "tags": [], - "ordinalPosition": 2 - }, - { - "name": "first_name", - "dataType": "VARCHAR", - "dataLength": 100, - "dataTypeDisplay": "varchar", - "description": "First name of the customer.", - "tags": [], - "ordinalPosition": 3 - }, - { - "name": "last_name", - "dataType": "VARCHAR", - "dataLength": 100, - "dataTypeDisplay": "varchar", - "description": "Last name of the customer.", - "tags": [], - "ordinalPosition": 4 - }, - { - "name": "address", - "dataType": "VARCHAR", - "dataLength": 500, - "dataTypeDisplay": "varchar", - "description": "Clean address", - "tags": [], - "ordinalPosition": 5 - }, - { - "name": "company", - "dataType": "VARCHAR", - "dataLength": 100, - "dataTypeDisplay": "varchar", - "description": "The name of the customer's business, if one exists.", - "tags": [], - "ordinalPosition": 7 - }, - { - "name": "city", - "dataType": "VARCHAR", - "dataLength": 100, - "dataTypeDisplay": "varchar", - "description": "The name of the city. For example, Palo Alto.", - "tags": [], - "ordinalPosition": 8 - }, - { - "name": "region", - "dataType": "VARCHAR", - "dataLength": 512, - "dataTypeDisplay": "varchar", - "description": "The name of the region, such as a province or state, where the customer is located. For example, Ontario or New York. This column is the same as CustomerAddress.province in the Admin API.", - "tags": [], - "ordinalPosition": 9 - }, - { - "name": "zip", - "dataType": "VARCHAR", - "dataLength": 10, - "dataTypeDisplay": "varchar", - "description": "The ZIP or postal code. For example, 90210.", - "tags": [], - "ordinalPosition": 10 - }, - { - "name": "country", - "dataType": "VARCHAR", - "dataLength": 50, - "dataTypeDisplay": "varchar", - "description": "The full name of the country. For example, Canada.", - "tags": [], - "ordinalPosition": 11 - }, - { - "name": "phone", - "dataType": "VARCHAR", - "dataLength": 15, - "dataTypeDisplay": "varchar", - "description": "The phone number of the customer.", - "tags": [], - "ordinalPosition": 12 - } - ], - "tableConstraints": [ - { - "constraintType": "PRIMARY_KEY", - "columns": [ - "address_id", - "shop_id" - ] - } - ], - "database": { - "id": "50da1ff8-4e1d-4967-8931-45edbf4dd908", - "type": "database", - "name": "sample_data.ecommerce_db", - "description": "This **mock** database contains tables related to shopify sales and orders with related dimension tables.", - "href": "http://localhost:8585/api/v1/databases/50da1ff8-4e1d-4967-8931-45edbf4dd908" - }, - "tags": [], - "usageSummary": { - "dailyStats": { - "count": 87, - "percentileRank": 45 - }, - "weeklyStats": { - "count": 87, - "percentileRank": 45 - }, - "monthlyStats": { - "count": 87, - "percentileRank": 45 - }, - "date": "2021-12-01" - }, - "followers": [], - "sampleData": { - "columns": [ - "address_id", - "shop_id", - "first_name", - "last_name", - "address", - "company", - "city", - "region", - "zip", - "country", - "phone" - ], - "rows": [ - [ - "bc35100e-2da5-48bb-bfc8-667dafe66532", - "70424951-bc97-4b20-9ce7-be37c4619361", - "Zachary", - "Brett", - "9054 Maria Circle Apt. 296", - "Robinson Inc", - "Stephanieport", - "048 Moore Turnpike Apt. 061", - "30839", - "Latvia", - "(381)575-6692" - ], - [ - "d9a5b1a0-bf92-4b71-884d-9818308d040d", - "ffdc81e4-b0dc-47b2-8240-8540ba6c3029", - "Melissa", - "Amy", - "6212 William Plaza Suite 362", - "Todd, Henderson and Jenkins", - "Petersonstad", - "363 Gary Mills", - "91794", - "Lesotho", - "828-855-9883" - ], - [ - "facf92d7-05ea-43d2-ba2a-067d63dee60c", - "a8d30187-1409-4606-9259-322a4f6caf74", - "Amber", - "Albert", - "3170 Warren Orchard Apt. 834", - "Davila-Snyder", - "Nicoleland", - "023 Paul Course", - "14086", - "Sweden", - "438-959-1151" - ], - [ - "bab9a506-e23d-4c53-9402-d070e7704376", - "e02e1fac-b650-4db8-8c9d-5fa5edf5d863", - "Heidi", - "Kelly", - "30942 Gonzalez Stravenue", - "Moore PLC", - "West Erica", - "6294 Elliott Ville", - "07418", - "Saint Martin", - "(830)112-9566x8681" - ], - [ - "67ff12ae-5d40-4795-9a82-3afa62a4aea1", - "bf45dc22-8d23-49d9-9d87-7b4bd2dd1762", - "Adam", - "Anna", - "986 Walker Unions", - "Schultz, Allen and Price", - "West Brandyton", - "07379 Alejandra Manors", - "09192", - "Cambodia", - "(859)222-9872x9188" - ], - [ - "97831db3-23df-424e-b2e3-19f196874002", - "cfc3c305-748b-4992-9fef-ddd0aa7ce927", - "Tracey", - "Kaitlin", - "1810 Fletcher Islands", - "Patel-Evans", - "Powellbury", - "8856 Lambert Forest Apt. 010", - "49826", - "Turks and Caicos Islands", - "195.384.1264x84605" - ], - [ - "a405990b-732f-431e-b3ad-0ce05a484671", - "f53ff51f-3365-4029-ae67-a679e1dca626", - "Carmen", - "Jessica", - "58361 Audrey Parks Apt. 128", - "Perez Inc", - "Laurieshire", - "407 Nicole Greens", - "06175", - "Kenya", - "(565)853-4978x18062" - ], - [ - "d3be5a1e-10f0-46e6-8033-d15766e73047", - "ffeea1b4-eb28-452a-8b06-2408e36b1a94", - "Melinda", - "Paul", - "09590 Gonzales Camp Apt. 092", - "Mills Ltd", - "South Wendy", - "6273 Victor Springs Apt. 655", - "68154", - "United Arab Emirates", - "(209)678-7748x53000" - ], - [ - "52636d10-1505-4f0a-894a-52a194cdba26", - "8c021bf4-f33a-4d41-b55f-78d801a45d5e", - "Jacob", - "Jamie", - "0952 Colon Greens", - "Sullivan Group", - "Longbury", - "03714 April Landing", - "74874", - "Turkey", - "(038)859-4310x9693" - ], - [ - "b2a1279b-392f-404f-88e0-f755d2bd3c14", - "2351209a-94b2-4b20-a517-1eef888c0d5b", - "Allen", - "Dean", - "8492 Smith Plains Apt. 986", - "Thornton-Mcknight", - "Gregoryborough", - "56904 Tony Branch Suite 945", - "88544", - "Mauritania", - "001-198-032-8011x00683" - ], - [ - "3a7cc826-4e7d-46de-a13d-895d5319a881", - "1a03bf40-3f40-460e-b170-2fadea8bdbee", - "Jill", - "Diana", - "092 Jose Unions", - "Wilson and Sons", - "North Justinchester", - "750 Contreras Bridge Apt. 456", - "77859", - "Kazakhstan", - "311.331.9899x4838" - ], - [ - "d4891b70-a002-41a9-a072-a1d3ef99c4d9", - "e49ad3aa-2c30-4148-81f8-4e2980467d1c", - "Jonathan", - "Lauren", - "4416 Christina Ville", - "Bennett, Hicks and Davidson", - "Lake Kendra", - "67281 Lee Drive Suite 987", - "27227", - "Jersey", - "950.930.9189x591" - ], - [ - "fbc3eeda-75b3-41f6-91a3-d671e3cc17d6", - "c3c73e91-020d-4fee-a1a9-e9781d684d9a", - "Gary", - "Jonathan", - "71309 Theresa Trail", - "Mccarthy-Huang", - "Lake Amanda", - "000 William Ranch", - "93218", - "Kazakhstan", - "001-109-449-4210x33965" - ] - ] - }, - "databaseSchema": { - "id": "d7be1e2c-b3dc-11ec-b909-0242ac120002", - "type": "databaseSchema", - "name": "sample_data.ecommerce_db.shopify", - "description": "This **mock** Schema contains tables related to shopify sales and orders with related dimension tables.", - "href": "http://localhost:8585/api/v1/databaseSchemas/d7be1e2c-b3dc-11ec-b909-0242ac120002" - }, - "sourceUrl": "http://localhost:8080/dim_address_clean" - }, - { - "name": "dim.api/client", - "description": "This dimension table contains a row for each channel or app that your customers use to create orders. Some examples of these include Facebook and Online Store. You can join this table with the sales table to measure channel performance.", - "version": 0.1, - "updatedAt": 1638354087454, - "updatedBy": "anonymous", - "href": "http://localhost:8585/api/v1/tables/753833e0-f526-47b6-8555-97f5bb2882d5", - "tableType": "Regular", - "schemaDefinition": "CREATE TABLE dim.api/client(api_client_id NUMERIC PRIMARY KEY, title VARCHAR)", - "columns": [ - { - "name": "api_client_id", - "dataType": "NUMERIC", - "dataTypeDisplay": "numeric", - "description": "ID of the API client that called the Shopify API. For example, the ID for the online store is 580111.", - "tags": [], - "ordinalPosition": 1 - }, - { - "name": "title", - "dataType": "VARCHAR", - "dataLength": 100, - "dataTypeDisplay": "varchar", - "description": "Full name of the app or channel. For example, Point of Sale, Online Store.", - "tags": [], - "ordinalPosition": 2 - } - ], - "database": { - "id": "50da1ff8-4e1d-4967-8931-45edbf4dd908", - "type": "database", - "name": "sample_data.ecommerce_db", - "description": "This **mock** database contains tables related to shopify sales and orders with related dimension tables.", - "href": "http://localhost:8585/api/v1/databases/50da1ff8-4e1d-4967-8931-45edbf4dd908" - }, - "tags": [], - "usageSummary": { - "dailyStats": { - "count": 85, - "percentileRank": 36 - }, - "weeklyStats": { - "count": 85, - "percentileRank": 36 - }, - "monthlyStats": { - "count": 85, - "percentileRank": 36 - }, - "date": "2021-12-01" - }, - "followers": [], - "joins": { - "startDate": "2021-11-01", - "dayCount": 30, - "columnJoins": [ - { - "columnName": "api_client_id", - "joinedWith": [ - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_order.api_client_id", - "joinCount": 30 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_order.customer_id", - "joinCount": 30 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_order.order_id", - "joinCount": 30 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_order.shop_id", - "joinCount": 30 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_order.user_id", - "joinCount": 30 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.api_client_id", - "joinCount": 55 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.billing_address_id", - "joinCount": 55 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.customer_id", - "joinCount": 55 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.location_id", - "joinCount": 55 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.order_id", - "joinCount": 55 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.product_id", - "joinCount": 55 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.product_variant_id", - "joinCount": 55 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.shipping_address_id", - "joinCount": 55 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.shop_id", - "joinCount": 55 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.user_id", - "joinCount": 55 - } - ] - } - ] - }, - "sampleData": { - "columns": [ - "api_client_id", - "title" - ], - "rows": [ - [ - "081bb68c-8517-43e7-9a28-6a19fef8b57b", - "Series page society." - ], - [ - "8f778142-0b2a-4e79-9b70-770012f8ecf3", - "Program able leave." - ], - [ - "45d9513d-bf96-4e97-aaa1-cdf9fae8b686", - "Recognize paper." - ], - [ - "53bf1c17-bc1b-4a67-8098-1719af0a10a1", - "Become officer seek." - ], - [ - "dc3b5e7d-8daa-4258-a016-9da71c12bfd4", - "Box remember onto." - ], - [ - "88e76f19-9637-4602-ad45-4033298d61b8", - "Both administration." - ], - [ - "c1fd8340-e8bb-4aa3-857e-9ce3f962eef9", - "Must smile attack." - ], - [ - "7612984b-c271-4c34-98d2-3261c1d34272", - "Catch campaign." - ], - [ - "7304aa3c-33dc-45b0-bd73-87125807e879", - "Use provide left." - ], - [ - "a87102e5-115f-4a99-8276-065cd15fb653", - "Point yeah." - ], - [ - "18d61d8b-ea59-4d58-8bec-4549dd3a9e61", - "Democratic cold." - ], - [ - "bbb55ed1-3afb-41f7-b547-2b95f47bfb7b", - "Despite brother." - ], - [ - "701b206d-a8e2-448c-9293-d886f1e2324c", - "Environmental." - ], - [ - "c5b55540-b3b2-44b8-a691-6ebd0d3b49ef", - "Seek guy account." - ], - [ - "1e1c9c4b-0a3e-499c-9531-552188bab24e", - "Turn something push." - ], - [ - "6f78b737-e8b8-427f-97f3-9a0b00cc99b5", - "Age tax very." - ], - [ - "75c47d28-bf60-45c7-bf8c-0e99d42e08ac", - "Successful single." - ], - [ - "e76f8c4a-138f-4c52-8169-74d5d66423e0", - "Only bar head ball." - ], - [ - "a3ecc6c2-6525-4353-9f34-1dcf020cf237", - "Difference among." - ], - [ - "989f5855-edae-47f0-b474-83038c092993", - "Member attack." - ], - [ - "96793d22-7a70-409a-8720-e3a4a48944c4", - "Identify face floor." - ], - [ - "cf1ecdca-1466-4ca9-ad95-adc153e02456", - "Determine guy field." - ], - [ - "97a0d6b7-bb46-449b-a45a-a8874888f6c9", - "Practice represent." - ], - [ - "9937cb82-1627-433b-8656-f7909971a7e7", - "First each threat." - ], - [ - "3beab500-cb33-4776-b6b2-5e79728daa79", - "Step he news space." - ] - ] - }, - "tableProfile": { - "timestamp": 1634366539, - "columnCount": 2, - "rowCount": 685, - "columnProfile": [ - { - "name": "api_client_id", - "uniqueCount": 9, - "uniqueProportion": 0.87924166, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "title", - "uniqueCount": 29, - "uniqueProportion": 0.4712713414, - "distinctCount": 0, - "distinctProportion": 0 - } - ] - }, - "databaseSchema": { - "id": "d7be1e2c-b3dc-11ec-b909-0242ac120002", - "type": "databaseSchema", - "name": "sample_data.ecommerce_db.shopify", - "description": "This **mock** Schema contains tables related to shopify sales and orders with related dimension tables.", - "href": "http://localhost:8585/api/v1/databaseSchemas/d7be1e2c-b3dc-11ec-b909-0242ac120002" - }, - "sourceUrl": "http://localhost:8080/dim.api/client" - }, - { - "name": "dim_customer", - "description": "The dimension table contains data about your customers. The customers table contains one row per customer. It includes historical metrics (such as the total amount that each customer has spent in your store) as well as forward-looking metrics (such as the predicted number of days between future orders and the expected order value in the next 30 days). This table also includes columns that segment customers into various categories (such as new, returning, promising, at risk, dormant, and loyal), which you can use to target marketing activities.", - "version": 0.1, - "updatedAt": 1638354087492, - "updatedBy": "anonymous", - "href": "http://localhost:8585/api/v1/tables/9c96042f-311a-4826-b5b2-8658914e2ee8", - "tableType": "Regular", - "schemaDefinition": "CREATE TABLE dim_customer(customer_id NUMERIC PRIMARY KEY, shop_id NUMERIC, average_order_size NUMERIC)", - "columns": [ - { - "name": "customer_id", - "dataType": "NUMERIC", - "dataTypeDisplay": "numeric", - "description": "The ID of the customer. This is the primary key column for this table.", - "tags": [], - "constraint": "PRIMARY_KEY", - "ordinalPosition": 1 - }, - { - "name": "shop_id", - "dataType": "NUMERIC", - "dataTypeDisplay": "numeric", - "description": "The ID of the store. This column is a foreign key reference to the shop_id column in the dim_shop table.", - "tags": [], - "ordinalPosition": 2 - }, - { - "name": "average_order_size", - "dataType": "NUMERIC", - "dataTypeDisplay": "numeric", - "description": "The average amount of money that the customer spends on orders from the store. The value is formatted in the store's currency and it is calculated using the following formula: total_order_value / total_order_count.", - "tags": [], - "ordinalPosition": 3 - }, - { - "name": "total_order_count", - "dataType": "NUMERIC", - "dataTypeDisplay": "numeric", - "description": "The total number of orders that the customer has made from this store across their lifetime.", - "tags": [], - "ordinalPosition": 4 - }, - { - "name": "total_order_value", - "dataType": "NUMERIC", - "dataTypeDisplay": "numeric", - "description": "The total amount of money that the customer has spent on orders from the store across their lifetime. The value is formatted in the store's currency.", - "tags": [], - "ordinalPosition": 5 - }, - { - "name": "first_order_date", - "dataType": "TIMESTAMP", - "dataTypeDisplay": "timestamp", - "description": "The date (ISO 8601) and time (UTC) when the customer placed their first order. The format is YYYY-MM-DD HH:mm:ss (for example, 2016-02-05 17:04:01).", - "tags": [], - "ordinalPosition": 6 - }, - { - "name": "last_order_date", - "dataType": "TIMESTAMP", - "dataTypeDisplay": "timestamp", - "description": "The date (ISO 8601) and time (UTC) when the customer placed their most recent order. The format is YYYY-MM-DD HH:mm:ss (for example, 2016-02-05 17:04:01).", - "tags": [], - "ordinalPosition": 7 - }, - { - "name": "rank", - "dataType": "NUMERIC", - "dataTypeDisplay": "numeric", - "description": "A numeric ranking of the customer's lifetime value for the store relative to all customers.", - "tags": [], - "ordinalPosition": 8 - }, - { - "name": "new", - "dataType": "BOOLEAN", - "dataTypeDisplay": "boolean", - "description": "Returns true if the customer made their first order in the last 30 days. Otherwise returns false.", - "tags": [], - "ordinalPosition": 9 - }, - { - "name": "returning", - "dataType": "BOOLEAN", - "dataTypeDisplay": "boolean", - "description": "Returns true when the customer has made more than one order. Returns false when the customer has made one order only. Returns Null when the customer exists in Shopify, but they have not made any orders. For example, this column can be null because the customer provided their contact information and then abandoned the checkout. Customers can also be created manually in the Shopify admin and by apps that use the Admin API.", - "tags": [], - "ordinalPosition": 10 - }, - { - "name": "loyal", - "dataType": "BOOLEAN", - "dataTypeDisplay": "boolean", - "description": "Returns true when the customer has a high probability of returning, and has placed more orders than the average customer. Otherwise returns false.", - "tags": [], - "ordinalPosition": 11 - }, - { - "name": "at_risk", - "dataType": "BOOLEAN", - "dataTypeDisplay": "boolean", - "description": "Returns true for repeat customers, who have a medium probability of returning and have not placed an order in a while. Otherwise returns false.", - "tags": [], - "ordinalPosition": 12 - }, - { - "name": "dormant", - "dataType": "BOOLEAN", - "dataTypeDisplay": "boolean", - "description": "Returns true when the customer has a very low probability of returning to make another purchase. Otherwise returns false.", - "tags": [], - "ordinalPosition": 13 - }, - { - "name": "promising", - "dataType": "BOOLEAN", - "dataTypeDisplay": "boolean", - "description": "Returns true when the customer has a high probability of returning and becoming a loyal customer. Otherwise returns false.", - "tags": [], - "ordinalPosition": 14 - }, - { - "name": "predicted_average_number_of_days_between_orders", - "dataType": "NUMERIC", - "dataTypeDisplay": "numeric", - "description": "The predicated number of days between future orders.", - "tags": [], - "ordinalPosition": 15 - }, - { - "name": "expected_purchase_value_in_next_30_days", - "dataType": "NUMERIC", - "dataTypeDisplay": "numeric", - "description": "The total purchase amount of the orders that the customer is expected to make in the next 30 days. The value is formatted in the store's currency.", - "tags": [], - "ordinalPosition": 16 - }, - { - "name": "first_name", - "dataType": "VARCHAR", - "dataLength": 100, - "dataTypeDisplay": "varchar", - "description": "The first name of the customer.", - "tags": [], - "ordinalPosition": 17 - }, - { - "name": "last_name", - "dataType": "VARCHAR", - "dataLength": 100, - "dataTypeDisplay": "varchar", - "description": "The last name of the customer.", - "tags": [], - "ordinalPosition": 18 - }, - { - "name": "city", - "dataType": "VARCHAR", - "dataLength": 100, - "dataTypeDisplay": "varchar", - "description": "The city from the customer's billing address. For example, Topeka.", - "tags": [], - "ordinalPosition": 19 - }, - { - "name": "region", - "dataType": "VARCHAR", - "dataLength": 100, - "dataTypeDisplay": "varchar", - "description": "The name of the region, such as the province or state, from the customer's billing address. For example, Alberta, Florida. This column is the same as CustomerAddress.province in the Admin API.", - "tags": [], - "ordinalPosition": 20 - }, - { - "name": "country", - "dataType": "VARCHAR", - "dataLength": 100, - "dataTypeDisplay": "varchar", - "description": "The country from the customer's billing address. For example, United States.", - "tags": [], - "ordinalPosition": 21 - }, - { - "name": "email", - "dataType": "VARCHAR", - "dataLength": 100, - "dataTypeDisplay": "varchar", - "description": "The email of the customer.", - "tags": [], - "ordinalPosition": 22 - }, - { - "name": "phone", - "dataType": "VARCHAR", - "dataLength": 15, - "dataTypeDisplay": "varchar", - "description": "The phone number of the customer.", - "tags": [], - "ordinalPosition": 23 - }, - { - "name": "verified_email", - "dataType": "BOOLEAN", - "dataLength": 15, - "dataTypeDisplay": "boolean", - "description": "Returns true when the customer's email has been verified. Otherwise returns false.", - "tags": [], - "ordinalPosition": 24 - }, - { - "name": "created_at", - "dataType": "TIMESTAMP", - "dataTypeDisplay": "timestamp", - "description": "The date (ISO 8601) and time (UTC) when the customer was added to the store. The format is YYYY-MM-DD HH:mm:ss (for example, 2018-02-05 17:04:01).", - "tags": [], - "ordinalPosition": 25 - }, - { - "name": "accepts_marketing", - "dataType": "BOOLEAN", - "dataTypeDisplay": "boolean", - "description": "Returns true when the customer has agreed to accept marketing. Otherwise returns false.", - "tags": [], - "ordinalPosition": 26 - }, - { - "name": "customer", - "dataType": "STRUCT", - "dataTypeDisplay": "struct", - "description": "Customer Personal Details", - "tags": [], - "ordinalPosition": 27, - "children": [ - { - "name": "username", - "dataType": "VARCHAR", - "dataLength": 20, - "dataTypeDisplay": "VARCHAR(32)", - "tags": [] - }, - { - "name": "name", - "dataType": "VARCHAR", - "dataLength": 20, - "dataTypeDisplay": "VARCHAR(32)", - "tags": [] - }, - { - "name": "sex", - "dataType": "CHAR", - "dataLength": 1, - "dataTypeDisplay": "CHAR(1)", - "tags": [] - }, - { - "name": "address", - "dataType": "VARCHAR", - "dataLength": 128, - "dataTypeDisplay": "VARCHAR(128)", - "tags": [] - }, - { - "name": "mail", - "dataType": "VARCHAR", - "dataLength": 64, - "dataTypeDisplay": "VARCHAR(64)", - "tags": [] - }, - { - "name": "birthdate", - "dataType": "VARCHAR", - "dataLength": 16, - "dataTypeDisplay": "VARCHAR(16)", - "tags": [] - } - ] - }, - { - "name": "shipping_address", - "dataType": "ARRAY", - "arrayDataType": "STRUCT", - "dataTypeDisplay": "array>>", - "children": [ - { - "dataType": "STRING", - "dataTypeDisplay": "string", - "name": "type" - }, - { - "dataType": "ARRAY", - "arrayDataType": "INT", - "dataTypeDisplay": "array", - "name": "provider" - } - ], - "tags": [] - }, - { - "name": "orders", - "dataType": "ARRAY", - "arrayDataType": "STRUCT", - "dataTypeDisplay": "array>", - "tags": [] - } - ], - "database": { - "id": "50da1ff8-4e1d-4967-8931-45edbf4dd908", - "type": "database", - "name": "sample_data.ecommerce_db", - "description": "This **mock** database contains tables related to shopify sales and orders with related dimension tables.", - "href": "http://localhost:8585/api/v1/databases/50da1ff8-4e1d-4967-8931-45edbf4dd908" - }, - "tags": [], - "usageSummary": { - "dailyStats": { - "count": 140, - "percentileRank": 64 - }, - "weeklyStats": { - "count": 140, - "percentileRank": 64 - }, - "monthlyStats": { - "count": 140, - "percentileRank": 64 - }, - "date": "2021-12-01" - }, - "followers": [], - "joins": { - "startDate": "2021-11-01", - "dayCount": 30, - "columnJoins": [ - { - "columnName": "shop_id", - "joinedWith": [ - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.shop\".shop_id", - "joinCount": 50 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_order.api_client_id", - "joinCount": 5 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_order.customer_id", - "joinCount": 5 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_order.order_id", - "joinCount": 5 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_order.shop_id", - "joinCount": 5 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_order.user_id", - "joinCount": 5 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.customer_id", - "joinCount": 45 - } - ] - }, - { - "columnName": "customer_id", - "joinedWith": [ - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.shop\".shop_id", - "joinCount": 50 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_order.api_client_id", - "joinCount": 25 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_order.customer_id", - "joinCount": 25 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_order.order_id", - "joinCount": 25 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_order.shop_id", - "joinCount": 25 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_order.user_id", - "joinCount": 25 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.api_client_id", - "joinCount": 45 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.billing_address_id", - "joinCount": 45 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.customer_id", - "joinCount": 45 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.location_id", - "joinCount": 45 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.order_id", - "joinCount": 45 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.product_id", - "joinCount": 45 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.product_variant_id", - "joinCount": 45 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.shipping_address_id", - "joinCount": 45 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.shop_id", - "joinCount": 45 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.user_id", - "joinCount": 45 - } - ] - } - ] - }, - "sampleData": { - "columns": [ - "customer_id", - "shop_id", - "average_order_size", - "total_order_count", - "total_order_value", - "first_order_date", - "last_order_date", - "rank", - "new", - "returning", - "loyal", - "at_risk", - "dormant", - "promising", - "predicted_average_number_of_days_between_orders", - "expected_purchase_value_in_next_30_days", - "first_name", - "last_name", - "city", - "region", - "country", - "email", - "phone", - "verified_email", - "created_at", - "accepts_marketing", - "customer", - "shipping_address", - "orders" - ], - "rows": [ - [ - "f9c58494-45d2-4870-9be6-cdf44dc3e917", - "26de2184-0c0f-4581-a0fc-8583e7a16be3", - 5319, - 1558, - 4974, - 367945433, - 510452782, - 4924, - true, - true, - true, - false, - false, - true, - 9392, - 7870, - "Patrick", - "Edward", - "Barronton", - "544 Sarah Row", - "Trinidad and Tobago", - "Box trade foot.", - "(068)353-1672x37991", - true, - 419876539, - false, - null, - "253 Susan Centers", - null - ], - [ - "a6ff0477-c421-43ea-8414-9bd2f3c78949", - "9931d7db-c9cd-4638-94f2-c2e116cbf3ba", - 2073, - 420, - 9624, - 1357347243, - 621700477, - 9343, - true, - false, - true, - true, - false, - true, - 3480, - 7169, - "Wayne", - "Joseph", - "Jamesmouth", - "882 Humphrey Port Apt. 168", - "Faroe Islands", - "Major force even.", - "(763)253-6086x937", - false, - 335295527, - false, - null, - "44086 Tina Streets", - null - ], - [ - "29342c8d-31e7-4560-8205-854ea7f4336e", - "93d22fff-e33e-4ec0-bf71-0312d4d6179e", - 7497, - 6458, - 3504, - 124276917, - 799916395, - 9779, - true, - false, - true, - true, - true, - false, - 8410, - 4185, - "Allison", - "Melissa", - "North Mirandaborough", - "82463 Joshua Radial Suite 143", - "Malta", - "Beat bad election.", - "001-085-266-1772x8323", - false, - 50858351, - false, - null, - "4336 Edward Drive Apt. 292", - null - ], - [ - "1a214f40-26e6-4ade-992c-6829dbd59c9e", - "38d6bfc7-de2f-45b8-a199-9f01fbe7bd92", - 1569, - 1183, - 5748, - 467768196, - 228788006, - 425, - false, - true, - true, - false, - false, - false, - 9041, - 6190, - "Andrew", - "Marcus", - "Smithburgh", - "934 Moore Corners Suite 590", - "Serbia", - "Old experience.", - "(689)581-9551", - true, - 947996155, - true, - null, - "339 Riley Wall Suite 684", - null - ], - [ - "fb52187e-5320-4edf-a34b-95134ff90018", - "317510de-74b5-4ad3-a90e-0410267dcd9c", - 6906, - 5929, - 4117, - 1409738836, - 233871433, - 7263, - true, - false, - true, - false, - true, - true, - 7294, - 4125, - "Sandra", - "Deborah", - "Lake Amandaberg", - "7461 Turner Mission Suite 905", - "Thailand", - "Scene allow address.", - "001-721-477-6864x8748", - true, - 1416732054, - false, - null, - "500 Bryan Garden", - null - ], - [ - "55a80144-dc95-4703-bf57-a95c956f7065", - "0cb54c3b-435d-4f5d-aa84-25966ab59314", - 7539, - 3972, - 7652, - 517470935, - 147727199, - 9235, - true, - true, - true, - true, - true, - false, - 3365, - 9730, - "Doris", - "Cameron", - "Robertsonfurt", - "536 Matthew Lodge Suite 549", - "Ecuador", - "Meet air citizen.", - "107.756.2914", - false, - 1048998253, - true, - null, - "5338 Lucas Mountain Apt. 884", - null - ], - [ - "1ea2c7bb-89e8-4a3e-b56b-c96cc7cf9561", - "ab7aacc2-ee3a-4f98-8f57-67f497b183ec", - 7818, - 2697, - 1017, - 1491434403, - 215410698, - 1339, - true, - false, - true, - false, - true, - true, - 629, - 7690, - "Olivia", - "Rebecca", - "Lake Miranda", - "700 Webster Trace Suite 806", - "Turkey", - "Budget whatever.", - "+1-721-613-6430x9546", - false, - 1309931336, - true, - null, - "646 Nancy Drives", - null - ], - [ - "2afac78c-383a-43e8-9b62-c814b77f324f", - "1291baae-bf73-489b-91f9-a7416096d766", - 2448, - 541, - 1194, - 884535487, - 878425140, - 3099, - true, - false, - true, - false, - true, - true, - 5970, - 9577, - "Rachel", - "Stephanie", - "Port Jennifermouth", - "565 Aguilar Mount Apt. 296", - "Pakistan", - "Child mission even.", - "913-203-4857x4647", - true, - 1186856044, - false, - null, - "91586 James Lane Suite 503", - null - ], - [ - "80d91657-eaab-46e3-9f3e-71f64df65d44", - "216f3c77-a518-4b82-a159-054aaa7a1452", - 1562, - 2186, - 9272, - 679613782, - 1394852136, - 6245, - false, - true, - false, - true, - true, - false, - 2327, - 7096, - "Steven", - "Neil", - "Bettyport", - "6512 Kaitlyn Ranch", - "Panama", - "Candidate believe.", - "8662237021", - false, - 858437579, - false, - null, - "43975 Warren Stream Suite 326", - null - ], - [ - "e0d7db0b-6efd-4c53-8294-4e170b93247e", - "f0de4645-9fa9-4083-811f-3d70a254632f", - 4712, - 1961, - 2642, - 1156583664, - 1631650029, - 9022, - false, - false, - true, - true, - true, - false, - 7267, - 1595, - "Amanda", - "Nancy", - "Brandonberg", - "084 Michelle Union Apt. 950", - "Faroe Islands", - "Even central real.", - "968.498.1302", - false, - 1580783443, - false, - null, - "982 Foster Station", - null - ], - [ - "b0d51628-0d03-4476-9ea6-2134d4d28502", - "52d3ab6e-087d-4c94-ab21-0978c059e896", - 6184, - 2784, - 8462, - 648418748, - 349810293, - 6447, - true, - false, - false, - false, - false, - false, - 5827, - 4004, - "Natalie", - "Howard", - "Thompsonside", - "2122 Veronica Way Apt. 530", - "Pitcairn Islands", - "Property have water.", - "(029)549-9084x8301", - true, - 660479383, - false, - null, - "33483 Bailey Neck", - null - ], - [ - "f59c5a8c-4ab0-46a9-8561-f755cee3a37f", - "f912d10c-c38e-45ff-93d1-f58a317c02e9", - 6547, - 9446, - 4131, - 808549396, - 1501798860, - 2157, - true, - false, - false, - false, - false, - false, - 8917, - 4489, - "Brian", - "Tonya", - "New Linda", - "870 Griffin Prairie Apt. 161", - "Grenada", - "Personal before.", - "(348)802-1390x27988", - false, - 670649664, - false, - null, - "863 Duran Mission Suite 209", - null - ], - [ - "df3627ca-c932-4966-9951-d8107f56ea8e", - "56ff18c1-abf5-4cf2-aea5-bc6adb31e831", - 9222, - 2252, - 4526, - 856829887, - 602649169, - 7675, - true, - true, - false, - true, - true, - false, - 8085, - 8066, - "Jenny", - "Catherine", - "Katherineport", - "50112 Dennis Road", - "Reunion", - "Behind recently.", - "184.739.4000x5831", - true, - 965981062, - false, - null, - "31462 Powell Groves Apt. 566", - null - ], - [ - "1dd21462-4ec2-4929-98fd-e2d72dbb7d9f", - "cf4a1b08-2e10-45f6-b2c2-986faee52828", - 7639, - 3887, - 9894, - 993882477, - 879070683, - 460, - true, - false, - false, - true, - true, - true, - 7741, - 7867, - "Ryan", - "Lisa", - "Thompsonfurt", - "4425 Butler Lights", - "Syrian Arab Republic", - "Present office.", - "191-309-8922x99260", - true, - 27228521, - true, - null, - "76874 Johnson Turnpike Apt. 511", - null - ], - [ - "b3c4150f-6121-479b-8091-ba250c5fc1b9", - "de7e46c5-6bfa-44a9-a2ed-a75f8c480175", - 3738, - 1455, - 550, - 403194769, - 928198748, - 4020, - true, - true, - false, - false, - true, - false, - 7827, - 4088, - "Amanda", - "Crystal", - "East Tiffany", - "092 John Shoals", - "Madagascar", - "Give we provide.", - "(120)768-3344x140", - false, - 861503917, - false, - null, - "697 Ross Flats", - null - ], - [ - "223a0d00-356e-416f-884a-63926fcbfa0a", - "455a445a-1879-427a-b6b2-3eb65cbf732b", - 2345, - 1500, - 2012, - 1359212099, - 384937168, - 1786, - true, - true, - true, - false, - true, - true, - 1416, - 2357, - "Lori", - "Jon", - "Shannonshire", - "72470 Mary Motorway Apt. 916", - "Anguilla", - "Already cause.", - "+1-309-585-5193x3363", - false, - 795153702, - false, - null, - "7128 Perry Hills Suite 151", - null - ], - [ - "90b4aad9-3159-4215-a04e-8547be7faf6d", - "b24cd33d-ffa5-4348-acbe-4b32acb4474c", - 7218, - 4776, - 6668, - 198257958, - 864841376, - 7200, - true, - true, - true, - true, - false, - true, - 7220, - 867, - "Victoria", - "Andrew", - "Crystalview", - "1028 Turner Meadows Suite 969", - "Netherlands", - "Matter professor.", - "(169)702-1259x355", - false, - 1219179342, - false, - null, - "554 Amy Creek", - null - ], - [ - "648e56a6-1665-4ef7-8c23-1b111b2a86fd", - "ed219903-f3a5-4ef9-b427-badf22adf5d9", - 8918, - 1344, - 7247, - 107452387, - 1153183417, - 1895, - true, - true, - true, - true, - false, - true, - 4277, - 7750, - "Andrea", - "Chad", - "Perezberg", - "016 Melanie Via Apt. 393", - "Kenya", - "Action service.", - "+1-587-667-4017x9913", - false, - 1474320474, - false, - null, - "15578 Gerald Circles", - null - ], - [ - "58301780-86c5-42c8-b230-4b7b8a3eb073", - "be781906-fe68-4748-9351-9fb60035256a", - 828, - 8081, - 7949, - 101160326, - 291354655, - 3713, - true, - true, - false, - false, - false, - true, - 783, - 8214, - "Toni", - "Patrick", - "Scottville", - "921 Stephanie Gardens", - "Qatar", - "Prevent special.", - "+1-272-659-0626x740", - false, - 248306083, - true, - null, - "2835 Patrick Stream", - null - ], - [ - "763a3bf5-6c4a-4b14-bece-de5cf8bff813", - "c556ac3a-f845-41c5-a4ed-2b40f192715b", - 1338, - 8378, - 8288, - 1112128417, - 821860765, - 3217, - false, - true, - false, - true, - true, - false, - 3397, - 2925, - "Jamie", - "James", - "Stevenview", - "9747 Mcguire Extensions Apt. 601", - "Ecuador", - "Manage car produce.", - "067-724-8353", - false, - 1484532795, - false, - null, - "70111 Lewis Mountain Suite 358", - null - ], - [ - "693e7261-8cc1-433e-9707-633f0e72ba60", - "defd3a6b-42bb-4001-8653-5f2bb40f025b", - 3773, - 9858, - 3006, - 381120202, - 1408551053, - 9228, - true, - true, - false, - true, - false, - true, - 1241, - 1094, - "Ronald", - "Jeremy", - "Susanborough", - "4483 Donald Junctions Apt. 404", - "Eritrea", - "Gun tax kitchen.", - "771.209.9651", - false, - 511352396, - false, - null, - "1204 Johnson Camp Apt. 394", - null - ], - [ - "85af84bc-996a-41f9-909d-c47bb0aa597e", - "79828744-48d1-43af-8d2c-6128da5a40a5", - 9541, - 2212, - 390, - 1325925002, - 134242007, - 411, - true, - true, - false, - true, - false, - false, - 9743, - 9748, - "Amy", - "Lauren", - "Katelynland", - "53114 Olson Views Suite 233", - "Israel", - "Officer agent.", - "(715)372-9676", - false, - 164768061, - true, - null, - "773 Patrick Point", - null - ], - [ - "93f705b3-cb83-43f2-b5c0-cf7eed0066bf", - "c01455d4-0b31-41cb-bedf-f74a4354e0a3", - 4975, - 1888, - 34, - 823798884, - 369505402, - 1936, - true, - true, - false, - false, - true, - true, - 3677, - 1343, - "Erin", - "James", - "New Mollyland", - "43337 Perez Fort Suite 720", - "British Virgin Islands", - "Open memory want.", - "(622)003-4143", - false, - 1566620876, - true, - null, - "3284 Rebecca Course", - null - ], - [ - "051f6d67-4203-4286-b7dd-c340eac92b97", - "2d11246d-3303-4255-97e8-bc435cc86138", - 3599, - 1688, - 5817, - 762620541, - 1489086202, - 6413, - true, - false, - true, - true, - false, - true, - 5960, - 4176, - "Sarah", - "Stephen", - "South Kaitlyn", - "0164 Maxwell Ridge Suite 956", - "Argentina", - "Whatever weight.", - "0646215715", - false, - 301754573, - false, - null, - "80343 Long Ville", - null - ], - [ - "8fc76355-2475-48dd-af7a-c3c3cfbba89f", - "58700ac0-1706-4a31-b56c-08e8e5ff1130", - 5329, - 2914, - 5668, - 361725472, - 1560794667, - 2510, - false, - true, - true, - false, - false, - true, - 1089, - 7599, - "Barbara", - "Michael", - "Ronaldside", - "6746 Sanchez Squares Apt. 026", - "Russian Federation", - "Painting represent.", - "+1-998-905-8089x1214", - true, - 1285084061, - true, - null, - "224 Michael Manor Suite 604", - null - ] - ] - }, - "tableProfile": { - "timestamp": 1634366539, - "columnCount": 29, - "rowCount": 169, - "columnProfile": [ - { - "name": "customer_id", - "uniqueCount": 46, - "uniqueProportion": 0.4556834255, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "shop_id", - "uniqueCount": 36, - "uniqueProportion": 0.412740311, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "average_order_size", - "uniqueCount": 9, - "uniqueProportion": 0.4848320849, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "total_order_count", - "uniqueCount": 16, - "uniqueProportion": 0.274374675, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "total_order_value", - "uniqueCount": 19, - "uniqueProportion": 0.1779729031, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "first_order_date", - "uniqueCount": 5, - "uniqueProportion": 0.403198425, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "last_order_date", - "uniqueCount": 41, - "uniqueProportion": 0.5763257885, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "rank", - "uniqueCount": 1, - "uniqueProportion": 0.271483578, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "new", - "uniqueCount": 18, - "uniqueProportion": 0.54392552, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "returning", - "uniqueCount": 48, - "uniqueProportion": 0.457357716, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "loyal", - "uniqueCount": 47, - "uniqueProportion": 0.1455819185, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "at_risk", - "uniqueCount": 25, - "uniqueProportion": 0.502421822, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "dormant", - "uniqueCount": 10, - "uniqueProportion": 0.4514540014, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "promising", - "uniqueCount": 5, - "uniqueProportion": 0.643516191, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "predicted_average_number_of_days_between_orders", - "uniqueCount": 37, - "uniqueProportion": 0.1991445491, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "expected_purchase_value_in_next_30_days", - "uniqueCount": 23, - "uniqueProportion": 0.3934633215, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "first_name", - "uniqueCount": 10, - "uniqueProportion": 0.521182903, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "last_name", - "uniqueCount": 41, - "uniqueProportion": 0.577276297, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "city", - "uniqueCount": 15, - "uniqueProportion": 0.1038962515, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "region", - "uniqueCount": 24, - "uniqueProportion": 0.4806029226, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "country", - "uniqueCount": 23, - "uniqueProportion": 0.285063012, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "email", - "uniqueCount": 4, - "uniqueProportion": 0.502737667, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "phone", - "uniqueCount": 4, - "uniqueProportion": 0.424923401, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "verified_email", - "uniqueCount": 39, - "uniqueProportion": 0.1127764811, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "created_at", - "uniqueCount": 35, - "uniqueProportion": 0.5043061999, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "accepts_marketing", - "uniqueCount": 32, - "uniqueProportion": 0.370361415, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "customer", - "uniqueCount": 47, - "uniqueProportion": 0.983529122, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "shipping_address", - "uniqueCount": 38, - "uniqueProportion": 0.1136043573, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "orders", - "uniqueCount": 29, - "uniqueProportion": 0.0639865, - "distinctCount": 0, - "distinctProportion": 0 - } - ] - }, - "databaseSchema": { - "id": "d7be1e2c-b3dc-11ec-b909-0242ac120002", - "type": "databaseSchema", - "name": "sample_data.ecommerce_db.shopify", - "description": "This **mock** Schema contains tables related to shopify sales and orders with related dimension tables.", - "href": "http://localhost:8585/api/v1/databaseSchemas/d7be1e2c-b3dc-11ec-b909-0242ac120002" - }, - "sourceUrl": "http://localhost:8080/dim_customer" - }, - { - "id": "e64426b9-852a-468e-ac16-1231bb01fe96", - "name": "dim_location", - "description": "The dimension table contains metrics about your Shopify POS. This table contains one row per Shopify POS location. You can use this table to generate a list of the Shopify POS locations or you can join the table with the sales table to measure sales performance.", - "version": 0.1, - "updatedAt": 1638354087532, - "updatedBy": "anonymous", - "href": "http://localhost:8585/api/v1/tables/e64426b9-852a-468e-ac16-1231bb01fe96", - "tableType": "Regular", - "schemaDefinition": "CREATE TABLE dim_location(location_id NUMERIC PRIMARY KEY, shop_id NUMERIC)", - "columns": [ - { - "name": "location_id", - "dataType": "NUMERIC", - "dataTypeDisplay": "numeric", - "tags": [], - "constraint": "PRIMARY_KEY", - "ordinalPosition": 1 - }, - { - "name": "shop_id", - "dataType": "NUMERIC", - "dataTypeDisplay": "numeric", - "description": "The ID of the store. This column is a foreign key reference to the shop_id column in the dim_shop table.", - "tags": [], - "ordinalPosition": 2 - }, - { - "name": "name", - "dataType": "VARCHAR", - "dataLength": 100, - "dataTypeDisplay": "varchar", - "description": "Name of the POS location as provided by the merchant. For example, 150 Elgin Street or Downtown Boutique.", - "tags": [], - "ordinalPosition": 3 - }, - { - "name": "address", - "dataType": "STRUCT", - "dataTypeDisplay": "struct>", - "tags": [], - "children": [ - { - "name": "street_name", - "dataType": "VARCHAR", - "dataLength": 24, - "dataTypeDisplay": "VARCHAR(24)", - "tags": [] - }, - { - "name": "zipcode", - "dataType": "INT", - "dataTypeDisplay": "int", - "tags": [] - }, - { - "name": "city", - "dataType": "VARCHAR", - "dataLength": 100, - "dataTypeDisplay": "VARCHAR(100)", - "tags": [] - }, - { - "name": "country", - "dataType": "STRUCT", - "dataTypeDisplay": "struct", - "tags": [], - "children": [ - { - "name": "country_code", - "dataType": "INT", - "dataTypeDisplay": "INT", - "tags": [] - }, - { - "name": "country_name", - "dataType": "VARCHAR", - "dataLength": 100, - "dataTypeDisplay": "VARCHAR(100)", - "tags": [] - } - ] - } - ] - } - ], - "database": { - "id": "50da1ff8-4e1d-4967-8931-45edbf4dd908", - "type": "database", - "name": "sample_data.ecommerce_db", - "description": "This **mock** database contains tables related to shopify sales and orders with related dimension tables.", - "href": "http://localhost:8585/api/v1/databases/50da1ff8-4e1d-4967-8931-45edbf4dd908" - }, - "tags": [], - "usageSummary": { - "dailyStats": { - "count": 75, - "percentileRank": 18 - }, - "weeklyStats": { - "count": 75, - "percentileRank": 18 - }, - "monthlyStats": { - "count": 75, - "percentileRank": 18 - }, - "date": "2021-12-01" - }, - "followers": [], - "joins": { - "startDate": "2021-11-01", - "dayCount": 30, - "columnJoins": [ - { - "columnName": "location_id", - "joinedWith": [ - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.api_client_id", - "joinCount": 50 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.billing_address_id", - "joinCount": 50 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.customer_id", - "joinCount": 50 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.location_id", - "joinCount": 50 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.order_id", - "joinCount": 50 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.product_id", - "joinCount": 50 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.product_variant_id", - "joinCount": 50 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.shipping_address_id", - "joinCount": 50 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.shop_id", - "joinCount": 50 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.user_id", - "joinCount": 50 - } - ] - } - ] - }, - "sampleData": { - "columns": [ - "location_id", - "shop_id", - "name", - "address" - ], - "rows": [ - [ - "f035fc0a-4678-4507-9b69-98230c9f160d", - "addb1f78-7a4a-429e-9d73-d973afbc5d43", - "Aaron", - "44702 Alicia Harbors" - ], - [ - "f1b785da-b15d-4ccd-845d-e5aaec5d469c", - "3e476c6e-7e86-4238-878e-239c56f27bea", - "Natalie", - "48377 Chan Valleys Apt. 887" - ], - [ - "de5c95ed-a23d-4342-8fb2-eb1e003c4d7b", - "252b17e5-5f64-4b41-973d-abd994eb713f", - "Amber", - "3696 Robert Tunnel" - ], - [ - "7a55f43a-5c4c-41b9-a8ad-3fc0082a6fb2", - "1f9f9bfb-93c7-40bc-a676-99adda621780", - "Kevin", - "2673 Matthew Square Suite 836" - ], - [ - "558c0821-a61f-42c4-bdb4-6bb2bf998965", - "83323f76-d892-4c9a-80cd-56be1a5ff7fd", - "Joel", - "57327 Vaughn Mill" - ], - [ - "03795134-1b27-48a4-94bf-09ee80dc2081", - "159672ac-6157-4c58-8c28-3c74feaa1caf", - "Jonathan", - "98365 Boyer Knoll Apt. 788" - ], - [ - "576ffe20-638c-4f77-8bf6-4e60ec2ec545", - "0d1278de-163d-4acf-a85f-40d57c60c9ad", - "Jason", - "97522 Davis Drives Suite 575" - ], - [ - "016c16b7-42cc-461b-98fa-254f9d69e351", - "54e74aa7-8597-48fd-9a01-65dd84491aa1", - "Brendan", - "181 Richard Street" - ], - [ - "f2ab0ecd-6ac2-4f1d-bcbd-3fda28cda6a4", - "ab41e0dc-2155-4729-8b1f-3c988d530a92", - "Jennifer", - "687 West Ridges" - ], - [ - "4e5ce53b-d12a-4a31-afa9-25025187d484", - "0063a75c-8b2a-4baf-9653-435f638968dd", - "Michelle", - "18836 Williams Spurs Suite 496" - ], - [ - "bd6eac1f-a29f-4e2c-829e-05178f9bf0eb", - "677367b0-9754-4f45-9c49-ab4457624ae8", - "Jose", - "64010 Christy Common Suite 031" - ], - [ - "d683fcef-42aa-410c-b3ad-7246002cc813", - "e9c96a55-409c-418d-8d42-a6fa11766809", - "Elizabeth", - "726 Anne Circles" - ], - [ - "0bd18ae2-2e0c-4e74-a609-82310d9785a6", - "101c74fb-000c-460e-99cd-96ab8bca1ac2", - "Christopher", - "543 Paige Vista Suite 556" - ], - [ - "6b5b96db-3379-4723-8b59-7166892b8c78", - "99a0b164-35dd-45b0-a7eb-9e2a03a6a10e", - "Erika", - "0158 Carpenter Divide Apt. 262" - ], - [ - "c8a89f7f-0fea-4dac-93f1-891dd7454bb7", - "325bb9c0-b85d-4fa5-9080-df329786012c", - "Joseph", - "55639 Jasmine Spurs Apt. 709" - ], - [ - "e5780594-577f-4dc3-9500-83e9f857dc4e", - "149cc993-f440-4da0-b490-2650c68624df", - "Ricky", - "0990 Molly Crescent" - ], - [ - "7baafe41-1bfa-4c03-8aef-27a801e161b2", - "f10bfdc0-cb0c-4a7b-ae04-54388ac39634", - "Allison", - "9879 Abigail Underpass" - ], - [ - "3503dfac-5247-4787-9b39-aaf8fd7bd4bf", - "7310921d-fc29-40a6-b9d1-3b5246d8b24a", - "Kelly", - "32519 Davis Loop Apt. 089" - ], - [ - "929d9624-96fc-4cc9-9c60-0b5b494c4f55", - "06a31b40-7137-404f-aac5-68ab53651346", - "Steven", - "0946 Willis Throughway Apt. 244" - ], - [ - "e2d91bc9-5078-416a-907a-0cfb800dcfc3", - "d8f1357f-07b9-40a6-978a-55d3d70e1a70", - "Robert", - "52348 David Passage Apt. 761" - ], - [ - "427d7182-ad8a-4f28-87a1-d68c52ea9ae2", - "d3de8dc2-9f7f-44c4-85b8-6ccb8e55161c", - "David", - "73453 Jason Burg Suite 848" - ], - [ - "afff8dd8-ec0b-4999-9b26-0d7da77f087f", - "ad016378-9258-430d-a980-9b650dabd251", - "Sarah", - "28112 Aaron Falls" - ], - [ - "950e15b1-632f-4913-a24f-a6d22602d464", - "00babad4-7dc6-4b64-a5a0-237e64d7e981", - "Cassandra", - "083 Moore Flat Suite 646" - ], - [ - "8fc9225f-a8d1-4099-af68-1f13da7c62f6", - "1f042c7d-9bf9-4665-9414-65618cf80147", - "Daniel", - "3783 Flores Route" - ], - [ - "aa578c85-d5fc-43e8-80e0-ad65ad9bfba5", - "a0c9eeac-fd9c-49e7-8504-326c42925d79", - "Benjamin", - "521 Dyer Shoal Suite 145" - ] - ] - }, - "databaseSchema": { - "id": "d7be1e2c-b3dc-11ec-b909-0242ac120002", - "type": "databaseSchema", - "name": "sample_data.ecommerce_db.shopify", - "description": "This **mock** Schema contains tables related to shopify sales and orders with related dimension tables.", - "href": "http://localhost:8585/api/v1/databaseSchemas/d7be1e2c-b3dc-11ec-b909-0242ac120002" - }, - "sourceUrl": "http://localhost:8080/dim_location" - }, - { - "name": "dim.product", - "description": "This dimension table contains information about each of the products in your store. This table contains one row per product. This table reflects the current state of products in your Shopify admin.", - "version": 0.1, - "updatedAt": 1638354087567, - "updatedBy": "anonymous", - "href": "http://localhost:8585/api/v1/tables/f888bde6-ce08-42c3-96aa-1d726e248930", - "tableType": "Regular", - "schemaDefinition": "CREATE TABLE dim.produc(product_id NUMERIC PRIMARY KEY, shop_id NUMERIC)", - "columns": [ - { - "name": "product_id", - "dataType": "NUMERIC", - "dataTypeDisplay": "numeric", - "description": "Unique identifier for the product. This column is the primary key for this table.", - "tags": [], - "constraint": "PRIMARY_KEY", - "ordinalPosition": 1 - }, - { - "name": "shop_id", - "dataType": "NUMERIC", - "dataTypeDisplay": "numeric", - "description": "ID of the store. This column is a foreign key reference to the shop_id column in the dim_shop table.", - "tags": [], - "ordinalPosition": 2 - }, - { - "name": "title", - "dataType": "VARCHAR", - "dataLength": 100, - "dataTypeDisplay": "varchar", - "description": "Name of the product.", - "tags": [], - "ordinalPosition": 3 - }, - { - "name": "vendor", - "dataType": "VARCHAR", - "dataLength": 100, - "dataTypeDisplay": "varchar", - "description": "Name of the manufacturer, wholesaler, or other vendor of the product.", - "tags": [], - "ordinalPosition": 4 - }, - { - "name": "created_at", - "dataType": "TIMESTAMP", - "dataTypeDisplay": "timestamp", - "description": "Date (ISO 8601) and time (UTC) when the product was added to the store. The format is YYYY-MM-DD HH:mm:ss (for example, 2016-02-05 17:04:01).", - "tags": [], - "ordinalPosition": 5 - }, - { - "name": "deleted_at", - "dataType": "TIMESTAMP", - "dataTypeDisplay": "timestamp", - "description": "Date (ISO 8601) and time (UTC) when the product was deleted. The format is YYYY-MM-DD HH:mm:ss (for example, 2016-02-05 17:04:01).", - "tags": [], - "ordinalPosition": 6 - } - ], - "database": { - "id": "50da1ff8-4e1d-4967-8931-45edbf4dd908", - "type": "database", - "name": "sample_data.ecommerce_db", - "description": "This **mock** database contains tables related to shopify sales and orders with related dimension tables.", - "href": "http://localhost:8585/api/v1/databases/50da1ff8-4e1d-4967-8931-45edbf4dd908" - }, - "tags": [], - "usageSummary": { - "dailyStats": { - "count": 130, - "percentileRank": 55 - }, - "weeklyStats": { - "count": 130, - "percentileRank": 55 - }, - "monthlyStats": { - "count": 130, - "percentileRank": 55 - }, - "date": "2021-12-01" - }, - "followers": [], - "joins": { - "startDate": "2021-11-01", - "dayCount": 30, - "columnJoins": [ - { - "columnName": "shop_id", - "joinedWith": [ - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.shop\".shop_id", - "joinCount": 5 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.product\".product_id", - "joinCount": 5 - } - ] - }, - { - "columnName": "product_id", - "joinedWith": [ - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.shop\".shop_id", - "joinCount": 5 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim.product.variant:product_id", - "joinCount": 5 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim.product.variant:shop_id", - "joinCount": 5 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.api_client_id", - "joinCount": 40 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.billing_address_id", - "joinCount": 40 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.customer_id", - "joinCount": 40 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.location_id", - "joinCount": 40 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.order_id", - "joinCount": 40 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.product_id", - "joinCount": 40 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.product_variant_id", - "joinCount": 40 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.shipping_address_id", - "joinCount": 40 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.shop_id", - "joinCount": 40 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.user_id", - "joinCount": 40 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.product\".product_id", - "joinCount": 5 - } - ] - } - ] - }, - "sampleData": { - "columns": [ - "product_id", - "shop_id", - "title", - "vendor", - "created_at", - "deleted_at" - ], - "rows": [ - [ - "661f0de1-f6f0-4877-a1e3-2a157fbc9706", - "a8420c5d-0692-40b7-a80f-735ed92966e3", - "See attention that.", - "College two phone.", - 1391919218, - 809884763 - ], - [ - "b8717275-3dcd-4307-8566-3f76908f974e", - "df2a5c89-8036-4b35-94cc-eb18f502c106", - "Because week.", - "Responsibility sign.", - 539679338, - 1342567968 - ], - [ - "175c0dbd-2395-489a-aca2-fcfd41630b7e", - "2120473c-cc9b-4664-ba3a-29c3a612f7c9", - "Into here cover.", - "Short direction.", - 1143055098, - 13723803 - ], - [ - "95dd8eee-ec2e-4158-93a4-ded484e7323e", - "9e6eb722-2bcc-4966-b938-5c628f9e2b9f", - "Suffer way store.", - "Become near could.", - 107378074, - 688928881 - ], - [ - "e9058b4b-0850-41d3-9203-1e80f9e804a6", - "d2a4cb89-c67a-4793-bfe8-b430a3730f3d", - "While ever no.", - "True perhaps rate.", - 463349038, - 1128306091 - ], - [ - "d06536b2-96f7-4595-a689-7731b0e54990", - "fc0e942f-994d-4295-845c-25b718780175", - "Wear term stage.", - "Significant dream.", - 1201296348, - 614007941 - ], - [ - "6b769531-2e42-4d5e-9368-9254664719b4", - "2d4cd470-f705-4d6d-8163-bca5f246c094", - "Black land worry.", - "Tonight care agent.", - 501155544, - 1484839133 - ], - [ - "4de2cbe8-60fa-46c0-8417-0c8ba1bf374b", - "a710d09e-f92b-4644-84ac-1d2440818ff7", - "Southern probably.", - "Loss politics.", - 1156222784, - 578690595 - ], - [ - "534e7079-373a-4999-8d28-cfc4987785bb", - "b7f7fb4a-554f-494a-a7a7-e88d60567e63", - "Nature eight catch.", - "American serve bad.", - 26607643, - 1238027743 - ], - [ - "091d5a67-0fad-4e3c-886a-f273a7020c5c", - "3462666d-cc0a-4e94-af6e-977fa5ab0b1a", - "South even.", - "Debate sure many.", - 1407695353, - 872139355 - ], - [ - "7e908943-4b1c-465d-9af3-043deab5a2cb", - "ec0aa48a-ff0c-405f-9c6d-b58c0a7be5fc", - "Security hot.", - "Whether agree.", - 23871212, - 1625000067 - ], - [ - "33427615-c5f8-4241-a8da-f005a6cf98a4", - "99dec98d-0da8-43a7-bc53-1eca30aea55c", - "Though economic.", - "Television tough.", - 1298483856, - 1188769012 - ], - [ - "ad4fed03-5669-4d48-ae4b-129191e8cbbb", - "def509c7-ebc2-4f0c-85ee-a658936d37f5", - "Single everything.", - "Road whom personal.", - 1306130907, - 1335422105 - ], - [ - "56a85347-a5a3-4692-8deb-cade720b949f", - "daee7db1-a517-4bd1-93d7-5b941337b8c1", - "Hope ok series.", - "Lead figure son.", - 174205637, - 469043529 - ], - [ - "4dfaf0aa-2c7d-43b0-9754-353d0e98ba8e", - "da2f1f64-fc55-435f-9e34-8a2d1d76af5a", - "Surface fight.", - "Choose former move.", - 655601704, - 1565914645 - ], - [ - "ead2bfa1-3566-49e6-a7f2-e87b395d9b2c", - "d23aff7d-9b54-4489-af0f-5e7145ced405", - "Give thing way mind.", - "Always culture.", - 1366107704, - 546920841 - ], - [ - "e6d0fb26-8aff-4b1e-8f79-6d23401101e1", - "e1a86394-9a31-47ed-ad12-c1ba7e04cc01", - "Phone movement.", - "Hot suffer nothing.", - 597512529, - 1463830519 - ], - [ - "e77acb90-64d1-4e80-8fcd-e42aaa6142b6", - "1f13b491-76cb-4c85-a640-3bcc9e13001b", - "Special Mrs house.", - "Practice tonight.", - 169901236, - 31279141 - ], - [ - "50d9a630-09ee-479b-af64-4a9f972163a5", - "491f230e-da6f-489a-b5ce-e82a3c8618e7", - "His since meeting.", - "Game concern.", - 1255723873, - 733960969 - ], - [ - "ad7a01ae-7180-4c60-91ba-5cd69041c324", - "9b60517e-afe3-403d-8de0-708ed334b18c", - "Vote key full look.", - "Source answer issue.", - 649655884, - 1199940762 - ], - [ - "b7bd0a2b-eb40-4ca8-b4be-62a9babf8778", - "e6dc1566-82ef-4084-84c3-fd75140fdc8e", - "There until indeed.", - "Purpose magazine.", - 1107111218, - 1198036826 - ], - [ - "8bd07567-1218-4c34-a35b-1fc65a4688f6", - "138d9082-c7d7-49a6-8ec4-0dab7f175c26", - "Explain evening.", - "Which notice yes.", - 188387496, - 1128149432 - ], - [ - "3f5906b6-24d8-4f8d-ab17-4f49ecc5896e", - "8e5ec9ca-56b2-4e69-b5b4-cc1e16efbfff", - "Surface fine catch.", - "Nor make religious.", - 101727784, - 259041292 - ], - [ - "6f0e8f34-20f8-41c4-85bb-a6fd5de0ffe4", - "3137e26b-008c-4c7f-9d56-a203f54d3157", - "Law run moment deal.", - "Race go tough.", - 1310468732, - 1087135074 - ], - [ - "79ab2bd9-76e2-4e9e-b140-33674a44e93d", - "b9953a51-0e05-4a8c-8c6f-53b55941d806", - "Between over center.", - "Shoulder could.", - 1317233677, - 1387172028 - ] - ] - }, - "databaseSchema": { - "id": "d7be1e2c-b3dc-11ec-b909-0242ac120002", - "type": "databaseSchema", - "name": "sample_data.ecommerce_db.shopify", - "description": "This **mock** Schema contains tables related to shopify sales and orders with related dimension tables.", - "href": "http://localhost:8585/api/v1/databaseSchemas/d7be1e2c-b3dc-11ec-b909-0242ac120002" - }, - "sourceUrl": "http://localhost:8080/dim.product" - }, - { - "name": "dim.product.variant", - "description": "This dimension table contains current information about each of the product variants in your store. This table contains one row per product variant.", - "version": 0.1, - "updatedAt": 1638354087601, - "updatedBy": "anonymous", - "href": "http://localhost:8585/api/v1/tables/c71690a3-0764-4791-a1d3-0c47f1e0c2ab", - "tableType": "Regular", - "schemaDefinition": "CREATE TABLE dim.product.variant(product_variant_id NUMERIC PRIMARY KEY, shop_id NUMERIC)", - "columns": [ - { - "name": "product_variant_id", - "dataType": "NUMERIC", - "dataTypeDisplay": "numeric", - "description": "The ID of the product variant. This column is the primary key for this table.", - "tags": [], - "constraint": "PRIMARY_KEY", - "ordinalPosition": 1 - }, - { - "name": "product_id", - "dataType": "NUMERIC", - "dataTypeDisplay": "numeric", - "description": "The ID of the product. This column is a foreign key reference to the product_id column in dim.product table.", - "tags": [], - "ordinalPosition": 2 - }, - { - "name": "shop_id", - "dataType": "NUMERIC", - "dataTypeDisplay": "numeric", - "description": "The ID of the store. This column is a foreign key reference to the shop_id column in the dim_shop table.", - "tags": [], - "ordinalPosition": 3 - }, - { - "name": "title", - "dataType": "VARCHAR", - "dataLength": 100, - "dataTypeDisplay": "varchar", - "description": "The title of the product variant.", - "tags": [], - "ordinalPosition": 4 - }, - { - "name": "barcode", - "dataType": "VARCHAR", - "dataLength": 100, - "dataTypeDisplay": "varchar", - "description": "The Barcode, UPC, or ISBN number of the product variant.", - "tags": [], - "ordinalPosition": 5 - }, - { - "name": "sku", - "dataType": "VARCHAR", - "dataLength": 100, - "dataTypeDisplay": "varchar", - "description": "The SKU of the product variant.", - "tags": [], - "ordinalPosition": 6 - }, - { - "name": "price", - "dataType": "NUMERIC", - "dataTypeDisplay": "numeric", - "description": "The price of the product variant, in your store's currency.", - "tags": [], - "ordinalPosition": 7 - }, - { - "name": "grams", - "dataType": "NUMERIC", - "dataTypeDisplay": "numeric", - "description": "Number of grams that the product variant weighs.", - "tags": [], - "ordinalPosition": 8 - }, - { - "name": "created_at", - "dataType": "TIMESTAMP", - "dataTypeDisplay": "timestamp", - "description": "The date (ISO 8601) and time (UTC) when the product variant was added to the store. The format is YYYY-MM-DD HH:mm:ss (for example, 2016-02-05 17:04:01).", - "tags": [], - "ordinalPosition": 9 - }, - { - "name": "deleted_at", - "dataType": "TIMESTAMP", - "dataTypeDisplay": "timestamp", - "description": "The date (ISO 8601) and time (UTC) when the product variant was deleted. The format is YYYY-MM-DD HH:mm:ss (for example, 2016-02-05 17:04:01).", - "tags": [], - "ordinalPosition": 10 - } - ], - "database": { - "id": "50da1ff8-4e1d-4967-8931-45edbf4dd908", - "type": "database", - "name": "sample_data.ecommerce_db", - "description": "This **mock** database contains tables related to shopify sales and orders with related dimension tables.", - "href": "http://localhost:8585/api/v1/databases/50da1ff8-4e1d-4967-8931-45edbf4dd908" - }, - "tags": [], - "usageSummary": { - "dailyStats": { - "count": 35, - "percentileRank": 9 - }, - "weeklyStats": { - "count": 35, - "percentileRank": 9 - }, - "monthlyStats": { - "count": 35, - "percentileRank": 9 - }, - "date": "2021-12-01" - }, - "followers": [], - "joins": { - "startDate": "2021-11-01", - "dayCount": 30, - "columnJoins": [ - { - "columnName": "shop_id", - "joinedWith": [ - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.shop\".shop_id", - "joinCount": 5 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.product\".product_id", - "joinCount": 5 - } - ] - }, - { - "columnName": "product_id", - "joinedWith": [ - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.shop\".shop_id", - "joinCount": 5 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.product\".product_id", - "joinCount": 5 - } - ] - } - ] - }, - "sampleData": { - "columns": [ - "product_variant_id", - "product_id", - "shop_id", - "title", - "barcode", - "sku", - "price", - "grams", - "created_at", - "deleted_at" - ], - "rows": [ - [ - "f8e574f1-7b65-4525-8e32-c29b7aff7825", - "8b7630c3-158f-42d9-9a52-61be4d01672b", - "a851ac9c-6e2e-4fff-a27c-2affc81ce9c5", - "News operation down.", - "7936417038073", - "Price less south.", - "$250.48", - 7066, - 427075190, - 1206889650 - ], - [ - "279a3ed7-0417-4254-bba5-656f3e05361f", - "acb37a80-466f-4e8c-bc01-3e0f2b40e746", - "b09da22d-ee1d-480a-acdf-946e6868b7c2", - "Job kid what boy.", - "8966399070630", - "Ball should.", - "$400.90", - 6511, - 1456734040, - 1291946721 - ], - [ - "0aa55c68-adb5-4f40-b396-6dc3487d29d0", - "379c1f5f-2a1d-4f0d-a914-f5f7ebe68a5e", - "5269402e-f7d4-4a7d-a9e8-9fccabcd623c", - "Source experience.", - "9957618409866", - "Beat water him open.", - "$4,171.77", - 8113, - 405809724, - 1007479831 - ], - [ - "9eb91380-94d8-479e-a839-9233c3571cbe", - "70653dc4-45d7-4c8a-af4a-7c1d2c1c1abb", - "3a124e0e-ce60-4b15-8285-494bbbee4456", - "Other that read.", - "3255433181902", - "Section offer fund.", - "$5.43", - 1552, - 530384818, - 1508396248 - ], - [ - "3dfca165-e6e7-434b-9d53-0212731d993f", - "8d03ba68-3d35-40dc-9393-3a0fc17919f4", - "092c0a50-4800-4f46-bcf7-7288e0fa30f4", - "Recent tax explain.", - "2624033252502", - "Likely to little.", - "$7,887.44", - 167, - 525380879, - 290044417 - ], - [ - "e578f327-6fbe-476b-8252-8c764724f3b6", - "504f6592-834f-4081-87f1-8c9eb7eef2cc", - "79b8cad2-34eb-4fa6-85b2-7d872089365e", - "Really around.", - "2099062423696", - "Unit water minute.", - "$17,128.81", - 19, - 214772399, - 899266403 - ], - [ - "23306430-bb25-46fc-b9fa-c9daccc2b074", - "82e0b6a1-b735-4554-917d-eecc2d974c09", - "036e7fcd-fb1e-4e78-8160-6e274e06e906", - "Organization.", - "4478308756466", - "Leave after.", - "$0.52", - 7568, - 1075317167, - 420696680 - ], - [ - "85328c0e-4849-4182-990e-c2f240ceea9f", - "3552ff0e-d990-4fe5-808c-5fe598ba7c13", - "ae845257-c942-4485-8e3b-4db656f55515", - "Think Republican.", - "0413649746299", - "Democratic both.", - "$2.66", - 5756, - 1387396840, - 632760573 - ], - [ - "ff71be9d-d6c3-45f1-87ce-74ad1eb453aa", - "954a3197-cee9-41ba-bbca-e8ee8ad6dacb", - "db76bbdc-058e-43f0-9ec1-790f19836ed8", - "Trade blood cost.", - "7569118847073", - "Baby per east read.", - "$933.46", - 8595, - 730344114, - 378278379 - ], - [ - "06f705ad-0555-4e81-83d0-28d6132659f6", - "3a079e5d-4b18-44ce-9dc1-46c4b02524a0", - "34e8076a-95a2-4bc5-84e2-14a774136e2e", - "Yes they leg book.", - "7791562905287", - "Speak like.", - "$644.92", - 1743, - 63503825, - 151268813 - ], - [ - "93af182a-80d8-445c-90f4-a9e912e8ecc3", - "097113de-f75e-4965-bf0c-0bbfc8156de7", - "fa4a3b7a-949e-4048-8107-fadf65fbc8d3", - "Another present.", - "8676340278793", - "Total increase.", - "$801.86", - 8378, - 151451418, - 164805548 - ], - [ - "8a7dcb40-6ec5-4d74-91bd-395ec47b7ae1", - "d7f096c3-bead-456d-b158-d2a7a3ad5941", - "f814db8b-c4f5-4dff-8d52-ece9d8386a66", - "Difference attorney.", - "1331491143549", - "Figure stock cell.", - "$666.04", - 8540, - 1202149330, - 1483850114 - ], - [ - "138d8552-264a-4945-83ea-434b141f98c5", - "bf119bc4-d0ca-4e09-a0eb-884300c0310a", - "534c5e1f-78e3-4730-b0de-ba483efe6c07", - "Itself consumer.", - "1491282862155", - "Official interview.", - "$660.07", - 2615, - 485479324, - 294641735 - ], - [ - "c5937576-3bd4-48e6-b1ad-a817ca17629c", - "3789ae30-ae61-4d83-9b3d-00d916802b9e", - "7b1a3920-ba36-438c-ad66-a90866d9db29", - "Piece member thing.", - "5597020850302", - "Determine cold.", - "$494.87", - 1167, - 300864344, - 238901819 - ], - [ - "07c3af7a-f99a-438a-b28d-ed145b260f24", - "595a87a1-3256-4d27-856e-ea644f3d0273", - "980156c7-8d34-4943-8dd1-6264b10608a3", - "Support leg star.", - "2221719473468", - "Little population.", - "$9,924.11", - 6756, - 1050274923, - 1332654848 - ], - [ - "7b979ee3-8869-41e5-bd58-4bab0370a4f8", - "57ff5bbf-20af-4590-a224-344be4bb733f", - "47160f11-9c84-42a5-b0de-b073951188aa", - "Style six itself.", - "1692328633580", - "Sing place board.", - "$8,404.62", - 4933, - 919655628, - 1396988348 - ], - [ - "965c3643-53df-4938-9b18-094e64839daa", - "f46d2000-e339-4e26-b239-8c0850bbdb52", - "34da7b4e-eaa7-4a5e-99c6-4634aad5a57e", - "Measure spring.", - "4630255797576", - "Trade last reality.", - "$74.12", - 2928, - 1115674851, - 1415470840 - ], - [ - "3a862535-95f9-422d-a4d0-1713c861e2f2", - "dea1a3bc-a0bd-4704-9582-aa83b41947b7", - "8adc8335-9fe0-4f25-968e-f4b87283761e", - "Team especially Mrs.", - "9325007455648", - "Lead arm grow.", - "$24,699.20", - 8020, - 735668150, - 566344182 - ], - [ - "0c56876d-33a4-4c31-bdca-474bd73374dd", - "22b793d0-d488-4e38-a1c2-42f6ad97cbd8", - "34c2f96e-fd95-45c6-a108-9e7c2b4bc76d", - "Our table theory.", - "8912237142939", - "Better traditional.", - "$85,954.64", - 1302, - 40289469, - 1370650300 - ], - [ - "f8b93294-d943-4f56-a646-547ddeda1501", - "dd8b5ffd-8fe7-4198-96ed-112c358013df", - "c1aa38b0-cb2e-48b3-8900-c0d8f398d753", - "Hair little.", - "4129099981024", - "One wish which.", - "$2.78", - 1063, - 1070717512, - 64944778 - ], - [ - "4dccb731-dce6-4caa-aea4-ad2eb337882e", - "193dd38b-a12c-4188-beb8-7a32ddab4b69", - "bbbfa46f-d5cb-421b-aa89-2dc33ccfedc4", - "Want see draw hot.", - "4039135387249", - "Back security.", - "$82.11", - 7892, - 588398263, - 1577016457 - ], - [ - "223e7377-8a1c-4fe0-9924-af98daa5d1ae", - "98e3fbdb-17d3-466a-af1b-56540e25e84e", - "5b39d7f4-927a-4c51-84c2-6e836b987f4a", - "Result parent.", - "5070705235767", - "City build manager.", - "$35.85", - 187, - 122536199, - 452023822 - ], - [ - "49abe75f-71e1-4d63-8553-62d52b1c424f", - "b7884d13-707f-4f22-a6be-339bdbaa0b4a", - "3a66e445-d681-49c5-bf1f-4e8658f18dfd", - "Education without.", - "1768026006725", - "Exist office green.", - "$7,620.33", - 3179, - 79366133, - 97513892 - ], - [ - "733603db-fdfc-4a9b-8cc8-243152340020", - "46b2dfb2-a474-4658-9f90-2ecbb69b8344", - "ffc7cf83-93e4-45ed-8b51-4eca82f0d28c", - "Camera population.", - "2633598136110", - "Meet health land.", - "$35.94", - 204, - 1574347690, - 935455382 - ], - [ - "fdd8ca54-353c-419d-a9e6-49d5ba080609", - "c39b8a09-b490-4610-b49e-9fca2418641e", - "0839292d-622d-4ede-8b9e-7b03753f64e8", - "Increase moment.", - "2188578645422", - "Hold popular always.", - "$6,830.85", - 8791, - 1334803113, - 532964825 - ] - ] - }, - "databaseSchema": { - "id": "d7be1e2c-b3dc-11ec-b909-0242ac120002", - "type": "databaseSchema", - "name": "sample_data.ecommerce_db.shopify", - "description": "This **mock** Schema contains tables related to shopify sales and orders with related dimension tables.", - "href": "http://localhost:8585/api/v1/databaseSchemas/d7be1e2c-b3dc-11ec-b909-0242ac120002" - }, - "sourceUrl": "http://localhost:8080/dim.product.variant" - }, - { - "name": "dim.shop", - "description": "This dimension table contains online shop information. This table contains one shop per row.", - "version": 0.1, - "updatedAt": 1638354087633, - "updatedBy": "anonymous", - "href": "http://localhost:8585/api/v1/tables/bf6a7486-617d-474c-8d40-0f3735cc9272", - "tableType": "Regular", - "columns": [ - { - "name": "shop_id", - "dataType": "NUMERIC", - "dataTypeDisplay": "numeric", - "description": "Unique identifier for the store. This column is the primary key for this table.", - "tags": [], - "constraint": "PRIMARY_KEY", - "ordinalPosition": 1 - }, - { - "name": "name", - "dataType": "VARCHAR", - "dataLength": 100, - "dataTypeDisplay": "varchar", - "description": "Name of your store.", - "tags": [], - "ordinalPosition": 2 - }, - { - "name": "domain", - "dataType": "VARCHAR", - "dataLength": 1000, - "dataTypeDisplay": "varchar", - "description": "Primary domain specified for your online store. Your primary domain is the one that your customers and search engines see. For example, www.mycompany.com.", - "tags": [], - "ordinalPosition": 3 - } - ], - "database": { - "id": "50da1ff8-4e1d-4967-8931-45edbf4dd908", - "type": "database", - "name": "sample_data.ecommerce_db", - "description": "This **mock** database contains tables related to shopify sales and orders with related dimension tables.", - "href": "http://localhost:8585/api/v1/databases/50da1ff8-4e1d-4967-8931-45edbf4dd908" - }, - "tags": [], - "usageSummary": { - "dailyStats": { - "count": 195, - "percentileRank": 82 - }, - "weeklyStats": { - "count": 195, - "percentileRank": 82 - }, - "monthlyStats": { - "count": 195, - "percentileRank": 82 - }, - "date": "2021-12-01" - }, - "followers": [], - "joins": { - "startDate": "2021-11-01", - "dayCount": 30, - "columnJoins": [ - { - "columnName": "shop_id", - "joinedWith": [ - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_staff.shop_id", - "joinCount": 35 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_staff.user_id", - "joinCount": 35 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.api_client_id", - "joinCount": 40 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.billing_address_id", - "joinCount": 40 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.customer_id", - "joinCount": 40 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.location_id", - "joinCount": 40 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.order_id", - "joinCount": 40 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.product_id", - "joinCount": 40 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.product_variant_id", - "joinCount": 40 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.shipping_address_id", - "joinCount": 40 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.shop_id", - "joinCount": 40 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.user_id", - "joinCount": 40 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_address.shop_id", - "joinCount": 35 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_customer.customer_id", - "joinCount": 50 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_customer.shop_id", - "joinCount": 50 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim.product_variant:product_id", - "joinCount": 5 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim.product_variant:shop_id", - "joinCount": 5 - } - ] - } - ] - }, - "sampleData": { - "columns": [ - "shop_id", - "name", - "domain" - ], - "rows": [ - [ - "3e828749-345b-4ca6-8e3f-c790eacd102b", - "Thomas", - "Less father move." - ], - [ - "e5abb88b-96e0-4e18-818a-72e81150efbb", - "Hunter", - "Father last." - ], - [ - "f3c2e753-ed20-44f9-8b33-cf68b1390daf", - "Jennifer", - "Modern finally." - ], - [ - "f74574d0-728e-494d-8984-d28d40d64e8a", - "David", - "Type consider clear." - ], - [ - "bc417736-6bc9-49fe-86a7-ef4a85caabdf", - "Megan", - "Education debate." - ], - [ - "7db25894-ab37-4d1c-b59f-6fb3205970d9", - "Stacy", - "News man deal." - ], - [ - "41e0f0e0-4117-42d0-b513-7b15570a1517", - "Andrew", - "Study three there." - ], - [ - "e3ccfec5-fd3e-4f34-a544-b9c56619ba8d", - "Michael", - "Authority interview." - ], - [ - "88f55d3c-f3f1-460e-bbca-123fd54bf69e", - "Willie", - "Wall firm agent say." - ], - [ - "e242ba13-86b5-4a4b-98ae-c693e852588b", - "Brooke", - "Every recent father." - ], - [ - "05549f9c-2338-4d9a-b88a-8ad04161c0ba", - "Sarah", - "Medical then end." - ], - [ - "197b9cbe-0082-4e55-8f25-bf08f12f177d", - "Jamie", - "Rest sound us." - ], - [ - "48034cc4-1946-46f9-bba4-d50ebcee2e23", - "Mark", - "Left necessary move." - ], - [ - "84758913-2c94-46fd-8813-b165aee87b64", - "Jeffrey", - "Report heavy for." - ], - [ - "c14e1dbf-dbe5-4123-932b-c3c668020696", - "Jonathan", - "Relationship simple." - ], - [ - "17648e55-b162-4fc8-98fc-5e6f1f98b129", - "Stacey", - "Significant nation." - ], - [ - "0c22e11c-2548-4985-83e5-8f2a26171393", - "Thomas", - "Than woman whose." - ], - [ - "495d7dc2-7a3b-4fe2-a48d-c0b085614345", - "Julie", - "Beautiful fall deep." - ], - [ - "4cc379f7-5b57-4b3f-a540-826acf5177e9", - "Kimberly", - "Near know various." - ], - [ - "8849b853-3316-40d0-bc4e-67ce79859d0b", - "April", - "Task toward no." - ], - [ - "29c1f8fa-2cbe-499a-8045-3e912e2a8528", - "David", - "Leader simply agent." - ], - [ - "5d5455ab-6302-4028-b26d-0631ec08a5af", - "Vanessa", - "Say ten ago." - ], - [ - "bb270f1d-20e0-44d3-98e0-ec765273e037", - "Selena", - "Like firm man find." - ], - [ - "dff27b59-2ee5-49ea-873d-f7c46164c05c", - "Stephanie", - "Available involve." - ], - [ - "d94414b7-5bba-4a52-94af-c778e3c1a5b5", - "Nicholas", - "Several west." - ] - ] - }, - "databaseSchema": { - "id": "d7be1e2c-b3dc-11ec-b909-0242ac120002", - "type": "databaseSchema", - "name": "sample_data.ecommerce_db.shopify", - "description": "This **mock** Schema contains tables related to shopify sales and orders with related dimension tables.", - "href": "http://localhost:8585/api/v1/databaseSchemas/d7be1e2c-b3dc-11ec-b909-0242ac120002" - }, - "sourceUrl": "http://localhost:8080/dim.shop" - }, - { - "name": "dim(shop)", - "description": "This dimension table contains online shop information with weird characters.", - "version": 0.1, - "updatedAt": 1638354087633, - "updatedBy": "anonymous", - "tableType": "Regular", - "columns": [ - { - "name": "shop(id)", - "dataType": "NUMERIC", - "dataTypeDisplay": "numeric", - "description": "Unique identifier for the store. This column is the primary key for this table.", - "tags": [], - "constraint": "PRIMARY_KEY", - "ordinalPosition": 1 - }, - { - "name": "shop(name)", - "dataType": "VARCHAR", - "dataLength": 100, - "dataTypeDisplay": "varchar", - "description": "Name of your store.", - "tags": [], - "ordinalPosition": 2 - }, - { - "name": "shop(domain)", - "dataType": "VARCHAR", - "dataLength": 1000, - "dataTypeDisplay": "varchar", - "description": "Primary domain specified for your online store. Your primary domain is the one that your customers and search engines see. For example, www.mycompany.com.", - "tags": [], - "ordinalPosition": 3 - } - ], - "database": { - "id": "50da1ff8-4e1d-4967-8931-45edbf4dd908", - "type": "database", - "name": "sample_data.ecommerce_db", - "description": "This **mock** database contains tables related to shopify sales and orders with related dimension tables.", - "href": "http://localhost:8585/api/v1/databases/50da1ff8-4e1d-4967-8931-45edbf4dd908" - }, - "databaseSchema": { - "id": "d7be1e2c-b3dc-11ec-b909-0242ac120002", - "type": "databaseSchema", - "name": "sample_data.ecommerce_db.shopify", - "description": "This **mock** Schema contains tables related to shopify sales and orders with related dimension tables.", - "href": "http://localhost:8585/api/v1/databaseSchemas/d7be1e2c-b3dc-11ec-b909-0242ac120002" - }, - "tags": [], - "sourceUrl": "http://localhost:8080/dim(shop)" - }, - { - "name": "магазин", - "description": "This dimension table contains online shop information with weird characters.", - "version": 0.1, - "updatedAt": 1638354087633, - "updatedBy": "anonymous", - "tableType": "Regular", - "columns": [ - { - "name": "идентификатор", - "dataType": "NUMERIC", - "dataTypeDisplay": "numeric", - "description": "идентификатор", - "tags": [], - "constraint": "PRIMARY_KEY", - "ordinalPosition": 1 - }, - { - "name": "имя", - "dataType": "VARCHAR", - "dataLength": 100, - "dataTypeDisplay": "varchar", - "description": "имя", - "tags": [], - "ordinalPosition": 2 - }, - { - "name": "домен", - "dataType": "VARCHAR", - "dataLength": 1000, - "dataTypeDisplay": "varchar", - "description": "домен", - "tags": [], - "ordinalPosition": 3 - } - ], - "database": { - "id": "50da1ff8-4e1d-4967-8931-45edbf4dd908", - "type": "database", - "name": "sample_data.ecommerce_db", - "description": "This **mock** database contains tables related to shopify sales and orders with related dimension tables.", - "href": "http://localhost:8585/api/v1/databases/50da1ff8-4e1d-4967-8931-45edbf4dd908" - }, - "databaseSchema": { - "id": "d7be1e2c-b3dc-11ec-b909-0242ac120002", - "type": "databaseSchema", - "name": "sample_data.ecommerce_db.shopify", - "description": "This **mock** Schema contains tables related to shopify sales and orders with related dimension tables.", - "href": "http://localhost:8585/api/v1/databaseSchemas/d7be1e2c-b3dc-11ec-b909-0242ac120002" - }, - "tags": [], - "sourceUrl": "http://localhost:8080/\\u043c\\u0430\\u0433\\u0430\\u0437\\u0438\\u043d" - }, - { - "name": "dim_staff", - "description": "This dimension table contains information about the staff accounts in the store. It contains one row per staff account. Use this table to generate a list of your staff accounts, or join it with the sales, API clients and locations tables to analyze staff performance at Shopify POS locations.", - "version": 0.1, - "updatedAt": 1638354087663, - "updatedBy": "anonymous", - "href": "http://localhost:8585/api/v1/tables/7a0483c9-68c8-4faa-a553-a353e135aeff", - "tableType": "Regular", - "columns": [ - { - "name": "user_id", - "dataType": "NUMERIC", - "dataTypeDisplay": "numeric", - "description": "Unique identifier for the user of your Shopify POS or your Shopify admin.", - "tags": [], - "constraint": "PRIMARY_KEY", - "ordinalPosition": 1 - }, - { - "name": "shop_id", - "dataType": "NUMERIC", - "dataTypeDisplay": "numeric", - "description": "The ID of the store. This column is a foreign key reference to the shop_id column in the dim.shop table.", - "tags": [], - "ordinalPosition": 2 - }, - { - "name": "first_name", - "dataType": "VARCHAR", - "dataLength": 100, - "dataTypeDisplay": "varchar", - "description": "First name of the staff member.", - "tags": [], - "ordinalPosition": 3 - }, - { - "name": "last_name", - "dataType": "VARCHAR", - "dataLength": 100, - "dataTypeDisplay": "varchar", - "description": "Last name of the staff member.", - "tags": [], - "ordinalPosition": 4 - }, - { - "name": "email", - "dataType": "VARCHAR", - "dataLength": 100, - "dataTypeDisplay": "varchar", - "description": "Email address of the staff member.", - "tags": [], - "ordinalPosition": 5 - } - ], - "database": { - "id": "50da1ff8-4e1d-4967-8931-45edbf4dd908", - "type": "database", - "name": "sample_data.ecommerce_db", - "description": "This **mock** database contains tables related to shopify sales and orders with related dimension tables.", - "href": "http://localhost:8585/api/v1/databases/50da1ff8-4e1d-4967-8931-45edbf4dd908" - }, - "tags": [], - "usageSummary": { - "dailyStats": { - "count": 75, - "percentileRank": 18 - }, - "weeklyStats": { - "count": 75, - "percentileRank": 18 - }, - "monthlyStats": { - "count": 75, - "percentileRank": 18 - }, - "date": "2021-12-01" - }, - "followers": [], - "joins": { - "startDate": "2021-11-01", - "dayCount": 30, - "columnJoins": [ - { - "columnName": "shop_id", - "joinedWith": [ - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_order.user_id", - "joinCount": 20 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.user_id", - "joinCount": 20 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim.shop:shop_id", - "joinCount": 35 - } - ] - }, - { - "columnName": "user_id", - "joinedWith": [ - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_order.api_client_id", - "joinCount": 20 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_order.customer_id", - "joinCount": 20 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_order.order_id", - "joinCount": 20 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_order.shop_id", - "joinCount": 20 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_order.user_id", - "joinCount": 20 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.api_client_id", - "joinCount": 20 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.billing_address_id", - "joinCount": 20 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.customer_id", - "joinCount": 20 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.location_id", - "joinCount": 20 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.order_id", - "joinCount": 20 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.product_id", - "joinCount": 20 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.product_variant_id", - "joinCount": 20 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.shipping_address_id", - "joinCount": 20 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.shop_id", - "joinCount": 20 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.user_id", - "joinCount": 20 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.shop\".shop_id", - "joinCount": 35 - } - ] - } - ] - }, - "sampleData": { - "columns": [ - "user_id", - "shop_id", - "first_name", - "last_name", - "email" - ], - "rows": [ - [ - "5a115c0e-f391-4710-a95f-0ad88ccc7f88", - "af67bd87-537f-49be-8de8-2909b0dccfee", - "Raymond", - "Nicholas", - "Say peace peace." - ], - [ - "1071d5ae-5f8d-4127-a733-99dd11de25d2", - "1d4e87a3-6beb-48e4-a878-c03a75f57875", - "Elizabeth", - "James", - "Program rather go." - ], - [ - "46beb027-cf83-4819-a78f-fe1d159d2f89", - "5dc337ae-5f73-4873-bd8e-4a88ce60194e", - "Jill", - "Peggy", - "Often his fund page." - ], - [ - "bcb6ef92-01df-4936-a7dd-a2aed7a19ed0", - "088cd1f4-5bb1-455d-a764-c515fe5d3d2b", - "Juan", - "Mark", - "Control contain." - ], - [ - "7b0d1d34-0268-490f-9458-746e9af720c1", - "4c609b04-c16d-47e2-9648-160da772ed28", - "Matthew", - "Hunter", - "Him TV history." - ], - [ - "550bcf02-ef57-4c14-b02c-c45c84dbc144", - "fbb3857e-e3a3-4db0-a403-927a4905177e", - "Donald", - "Heather", - "Writer detail often." - ], - [ - "14fd206d-bf3f-4011-883b-56c999ee7bfe", - "48177436-2bb0-43e4-a0a2-15c801b82db7", - "Craig", - "Kristie", - "Might organization." - ], - [ - "20c22271-e1a7-4076-a1ee-87dc421ef767", - "1d4ec979-f837-4685-a5aa-cdacae76b8b4", - "Steven", - "Kenneth", - "Lead reveal but." - ], - [ - "d2806695-8993-4da3-8f6f-9f205a9f494c", - "d8aee504-e8e5-4ce7-bb7a-f99599c29db5", - "Sarah", - "Riley", - "Build statement." - ], - [ - "256faf2d-923c-4cb9-94ef-bb281c108588", - "6c39e01d-f762-4d08-a44c-c0bcb1c0bb75", - "Anita", - "Jeremy", - "Hospital long." - ], - [ - "7aa67031-4f01-43f8-9f5c-8fc2a85fb00d", - "3f707384-5ca1-442d-bfdb-1dd96df1b531", - "Manuel", - "Stephen", - "Address tend gas." - ], - [ - "edd0f656-2a72-4946-8049-afdbcb177ca4", - "0e323531-0ae3-4520-97f2-86fd4894af35", - "Jerry", - "Cody", - "Community wind." - ], - [ - "6472792d-49eb-4da6-b21c-e797b60c5842", - "ff89c994-8d01-431f-9e44-33ad84259edb", - "Jared", - "Kari", - "Sign medical color." - ], - [ - "3eabd386-6616-4ed0-8e34-40f49fd7a3bf", - "167885a2-2e71-4b26-976e-e4e99cb9f63d", - "Sandra", - "Jeffery", - "Bar know beyond." - ], - [ - "710b8fb2-ed25-4bf0-aee1-a8017a3f6b73", - "f69d5f7b-55dc-43d6-bb04-3c3fde491a2b", - "Randy", - "Samantha", - "Red matter measure." - ], - [ - "7cf8961e-2d83-4af8-ad87-b97db04289b6", - "ade9e289-d929-42de-8099-4da22dd9c3b2", - "Kevin", - "John", - "Manager seat hold." - ], - [ - "fd68c724-0b9b-4f4b-99d8-dadad426600c", - "7aa91f61-358e-46dd-ab7d-500859c61b6d", - "Austin", - "David", - "Be determine travel." - ], - [ - "77a81aa9-bc0b-4441-b680-cea2eb2a47a0", - "e93ef096-f856-43a9-b198-d1edbc7f2bab", - "Jeffrey", - "Kelly", - "Thought be light." - ], - [ - "1e847c44-493f-4bfc-b7d6-0a70e0c0c188", - "e514969c-6118-4a37-8e56-39e0820d5dc0", - "Kelly", - "Jacqueline", - "Page language tree." - ], - [ - "7786d7a8-c39a-4106-8cb5-b0e962c490a5", - "65ad391c-85ac-4a9c-8157-90276dfee419", - "Kimberly", - "Victoria", - "Environment simply." - ], - [ - "1c2cc040-cc10-4206-9a7f-c16bdcb2f345", - "458f2c22-b2a2-40f9-8cbc-d9ae24a4a904", - "Melanie", - "Christopher", - "Theory above yet." - ], - [ - "225bce46-ba8a-4cda-acbb-12a246e22d03", - "7d305f39-9a57-4df4-97d7-510aaf5084d1", - "Jeremy", - "Anthony", - "Condition report." - ], - [ - "4ce2b96a-4311-4499-864c-d065c1502054", - "246f1a6a-62e3-4068-b5b5-5b4c8e600832", - "Bruce", - "Shelby", - "Thank get shake." - ], - [ - "d2ffd834-e487-4afa-9c1a-ddd2191182cb", - "c45bee6f-df30-4966-97b7-14d9a1326fe4", - "Sean", - "Jennifer", - "Compare blood store." - ], - [ - "bf84f8d3-5140-4e38-9649-6e0998feefaf", - "64e750b8-7acf-4632-90fc-4c8e7a856651", - "Walter", - "Jessica", - "Nation medical to." - ] - ] - }, - "tableProfile": { - "timestamp": 1634366539, - "columnCount": 5, - "rowCount": 100, - "columnProfile": [ - { - "name": "user_id", - "uniqueCount": 100.0, - "uniqueProportion": 1.0, - "nullCount": 0.0, - "nullProportion": 0.0, - "sum": 5050, - "min": 1, - "max": 100, - "mean": 50.5, - "stddev": 28.86607004772212 - }, - { - "name": "shop_id", - "uniqueCount": 100.0, - "uniqueProportion": 1.0, - "nullCount": 0.0, - "nullProportion": 0.0, - "sum": 5050, - "min": 1, - "max": 100, - "mean": 50.5, - "stddev": 28.86607004772212 - }, - { - "name": "first_name", - "uniqueCount": 79.0, - "uniqueProportion": 0.79, - "nullCount": 1, - "nullProportion": 0.01, - "minLength": 5, - "maxLength": 19 - }, - { - "name": "last_name", - "uniqueCount": 100.0, - "uniqueProportion": 1.0, - "nullCount": 0, - "nullProportion": 0.0, - "minLength": 7, - "maxLength": 15 - }, - { - "name": "email", - "uniqueCount": 100.0, - "uniqueProportion": 1.0, - "nullCount": 0, - "nullProportion": 0.0, - "minLength": 12, - "maxLength": 30 - } - ] - }, - "databaseSchema": { - "id": "d7be1e2c-b3dc-11ec-b909-0242ac120002", - "type": "databaseSchema", - "name": "sample_data.ecommerce_db.shopify", - "description": "This **mock** Schema contains tables related to shopify sales and orders with related dimension tables.", - "href": "http://localhost:8585/api/v1/databaseSchemas/d7be1e2c-b3dc-11ec-b909-0242ac120002" - }, - "sourceUrl": "http://localhost:8080/dim_staff" - }, - { - "name": "fact_line_item_Lorem_ipsum_dolor_sit_amet_consectetur_adipiscing_elit_sed_do_eiusmod_tempor_incididunt_ut_labore_et_dolore_magna_aliqua_Ut_enim_ad_minim_veniam_quis_nostrud_exercitation_ullamco_laboris_nisi_ut_aliquip_ex_ea_commodo_consequat_Duis_aute_iru", - "fullyQualifiedName": "sample_data.shopify.fact_line_item_Lorem_ipsum_dolor_sit_amet_consectetur_adipiscing_elit_sed_do_eiusmod_tempor_incididunt_ut_labore_et_dolore_magna_aliqua_Ut_enim_ad_minim_veniam_quis_nostrud_exercitation_ullamco_laboris_nisi_ut_aliquip_ex_ea_commodo_consequat_Duis_aute_iru", - "description": "The fact table contains information about the line items in orders. Each row in the table is a line item in an order. It contains product and product variant details as they were at the time of the order. This table does not include information about returns. Join this table with the TODO fact_sales table to get the details of the product on the day it was sold. This data will match what appears on the order in your Shopify admin as well as the in the Sales reports.", - "version": 0.1, - "updatedAt": 1638354087696, - "updatedBy": "anonymous", - "href": "http://localhost:8585/api/v1/tables/ebb535b6-234a-477f-8713-b0bc7ff5897f", - "tableType": "Regular", - "columns": [ - { - "name": "line_item_id", - "dataType": "NUMERIC", - "dataTypeDisplay": "numeric", - "description": "ID of the line item. This column is the primary key for the this table.", - "fullyQualifiedName": "sample_data.shopify.fact_line_item.line_item_id", - "tags": [], - "constraint": "PRIMARY_KEY", - "ordinalPosition": 1 - }, - { - "name": "billing_address_id", - "dataType": "NUMERIC", - "dataTypeDisplay": "numeric", - "fullyQualifiedName": "sample_data.shopify.fact_line_item.billing_address_id", - "tags": [], - "ordinalPosition": 2 - }, - { - "name": "order_id", - "dataType": "NUMERIC", - "dataTypeDisplay": "numeric", - "description": "ID of the order. This column is a foreign key reference to the orders_id column in the fact_order table.", - "fullyQualifiedName": "sample_data.shopify.fact_line_item.order_id", - "tags": [], - "ordinalPosition": 3 - }, - { - "name": "product_id", - "dataType": "NUMERIC", - "dataTypeDisplay": "numeric", - "description": "ID of the product ordered, unless the line item is for shipping costs (you can add custom items using a draft order). This column is a foreign key reference to the product_id column in the dim.product table.", - "fullyQualifiedName": "sample_data.shopify.fact_line_item.product_id", - "tags": [], - "ordinalPosition": 4 - }, - { - "name": "product_variant_id", - "dataType": "NUMERIC", - "dataTypeDisplay": "numeric", - "fullyQualifiedName": "sample_data.shopify.fact_line_item.product_variant_id", - "tags": [], - "ordinalPosition": 5 - }, - { - "name": "shop_id", - "dataType": "NUMERIC", - "dataTypeDisplay": "numeric", - "description": "ID of the store. This column is a foreign key reference to the shop_id column in the dim_shop table.", - "fullyQualifiedName": "sample_data.shopify.fact_line_item.shop_id", - "tags": [], - "ordinalPosition": 6 - }, - { - "name": "name", - "dataType": "VARCHAR", - "dataLength": 100, - "dataTypeDisplay": "varchar", - "description": "Name of the line item. This name combines the product title and the variant title into the following format: product-title - variant-title. If there is no variant title, then the format is product-title. This column is the same as order.line_items.name\"in the Admin API.", - "fullyQualifiedName": "sample_data.shopify.fact_line_item.name", - "tags": [], - "ordinalPosition": 7 - }, - { - "name": "product_title", - "dataType": "VARCHAR", - "dataLength": 150, - "dataTypeDisplay": "varchar", - "description": "Name of the product ordered. This column is the same as order.line_items.title in the Admin API.", - "fullyQualifiedName": "sample_data.shopify.fact_line_item.product_title", - "tags": [], - "ordinalPosition": 8 - }, - { - "name": "price", - "dataType": "NUMERIC", - "dataTypeDisplay": "numeric", - "description": "Price of the product variant.", - "fullyQualifiedName": "sample_data.shopify.fact_line_item.price", - "tags": [], - "ordinalPosition": 9 - }, - { - "name": "quantity", - "dataType": "NUMERIC", - "dataTypeDisplay": "numeric", - "description": "Number of product variant items ordered in the line item.", - "fullyQualifiedName": "sample_data.shopify.fact_line_item.quantity", - "tags": [], - "ordinalPosition": 10 - }, - { - "name": "requires_shipping", - "dataType": "BOOLEAN", - "dataTypeDisplay": "boolean", - "description": "Whether the product variant requires fulfillment (shipping). For example, online gift cards don't require shipping.", - "fullyQualifiedName": "sample_data.shopify.fact_line_item.requires_shipping", - "tags": [], - "ordinalPosition": 11 - }, - { - "name": "taxable", - "dataType": "BOOLEAN", - "dataTypeDisplay": "boolean", - "description": "Whether taxes are charged for the product variant, otherwise contains 0. For example, when the line item is a gift card, taxes are not charged.", - "fullyQualifiedName": "sample_data.shopify.fact_line_item.taxable", - "tags": [], - "ordinalPosition": 12 - }, - { - "name": "gift_card", - "dataType": "BOOLEAN", - "dataTypeDisplay": "boolean", - "description": "Whether the product variant is a gift card.", - "fullyQualifiedName": "sample_data.shopify.fact_line_item.gift_card", - "tags": [], - "ordinalPosition": 13 - }, - { - "name": "grams", - "dataType": "NUMERIC", - "dataTypeDisplay": "numeric", - "description": "Weight of a single unit of the product variant. Contains 0 when the product variant is a gift card.", - "fullyQualifiedName": "sample_data.shopify.fact_line_item.grams", - "tags": [], - "ordinalPosition": 14 - }, - { - "name": "product_vendor", - "dataType": "VARCHAR", - "dataLength": 200, - "dataTypeDisplay": "varchar", - "description": "Name of the manufacturer, wholesaler, or other vendor of the product.", - "fullyQualifiedName": "sample_data.shopify.fact_line_item.product_vendor", - "tags": [], - "ordinalPosition": 15 - }, - { - "name": "fulfillable_quantity", - "dataType": "NUMERIC", - "dataTypeDisplay": "numeric", - "description": "Number of product variant items in the line item that require fulfillment. Some product variants, such as gift cards and digital products, do not need to be fulfilled.", - "fullyQualifiedName": "sample_data.shopify.fact_line_item.fulfillable_quantity", - "tags": [], - "ordinalPosition": 16 - }, - { - "name": "fulfillment_service", - "dataType": "VARCHAR", - "dataLength": 100, - "dataTypeDisplay": "varchar", - "description": "Name of the fulfillment service provider that fulfilled (shipped) the variant ordered. Contains manual when there is no fulfillment service specified for the variant.", - "fullyQualifiedName": "sample_data.shopify.fact_line_item.fulfillment_service", - "tags": [], - "ordinalPosition": 17 - } - ], - "database": { - "id": "50da1ff8-4e1d-4967-8931-45edbf4dd908", - "type": "database", - "name": "sample_data.ecommerce_db", - "description": "This **mock** database contains tables related to shopify sales and orders with related dimension tables.", - "href": "http: //localhost:8585/api/v1/databases/50da1ff8-4e1d-4967-8931-45edbf4dd908" - }, - "tags": [], - "usageSummary": { - "dailyStats": { - "count": 20, - "percentileRank": 0 - }, - "weeklyStats": { - "count": 20, - "percentileRank": 0 - }, - "monthlyStats": { - "count": 20, - "percentileRank": 0 - }, - "date": "2021-12-01" - }, - "followers": [], - "joins": { - "startDate": "2021-11-01", - "dayCount": 30, - "columnJoins": [ - { - "columnName": "line_item_id", - "joinedWith": [ - { - "fullyQualifiedName": "sample_data.shopify.fact_sale.line_item_id", - "joinCount": 20 - } - ] - } - ] - }, - "sampleData": { - "columns": [ - "line_item_id", - "billing_address_id", - "order_id", - "product_id", - "product_variant_id", - "shop_id", - "name", - "product_title", - "price", - "quantity", - "requires_shipping", - "taxable", - "gift_card", - "grams", - "product_vendor", - "fulfillable_quantity", - "fulfillment_service" - ], - "rows": [ - [ - "caf62cec-4b00-4ffc-a9b2-f1617bbd40b4", - "45c1b8aa-d030-4f74-bf39-6fe5bbc572c4", - "be33281e-01a8-419f-88a4-242b2785564b", - "c1670659-21d3-4b4d-b137-3f99c37f7f9e", - "4de2c6c6-c0cc-4479-85b4-0ae47eefc362", - "a9b2ebdc-50c4-4cf1-8840-dee5c54e7dfc", - "Christine", - "Your serious care.", - "$0.22", - 5410, - true, - false, - false, - 1217, - "Training television.", - 511, - "Task training item." - ], - [ - "811e4fea-8f00-4dfc-803c-6554ee7ac79a", - "324e62ea-2bb3-4690-85a1-27cfbc7b61ca", - "9a2d99c7-3691-458c-8d6b-1027213bd484", - "03682530-5784-4a09-92ae-6920e6162eac", - "efe5fc7a-2fd9-4a00-8359-3d5c57914efd", - "518f6c06-448a-41c3-8104-b2c3dc647ced", - "Nathan", - "Responsibility wind.", - "$4,790.50", - 821, - false, - true, - true, - 6101, - "Whether month.", - 6345, - "Ability pick." - ], - [ - "9fad94b5-d43c-4bab-9f37-ee53e24acf6a", - "4f743593-fc43-446e-9729-ffe29c03ee1c", - "75173209-4c6c-45b5-8c1f-0a0f65290955", - "4b69968d-5b6a-47e7-a7bb-7124835b6597", - "cbbc6eda-c6ed-4a87-afbe-5a94a8ddd4e4", - "f07997a6-74da-4028-9197-8319dfd3df17", - "Christina", - "None color space.", - "$12.29", - 1945, - true, - false, - false, - 969, - "Sister why build.", - 7578, - "Whatever cell." - ], - [ - "bb5598f5-e377-4ade-be9c-340d8c59f090", - "c92a8323-1dfb-4fd2-aa5d-ceb3200a631d", - "936e64bb-3d3b-497d-af36-2e51069aadca", - "1f4eb29d-042f-4edb-b7cd-26ef52feaadd", - "2f88dbdc-a269-4f32-8e61-781fd83264cd", - "87df410e-73fc-4624-bfd3-98c912974c4b", - "Anne", - "Fill book remain.", - "$854.32", - 7149, - false, - false, - false, - 5365, - "Group.", - 8436, - "Total school try." - ], - [ - "58fd9210-5622-4be7-8149-fc05feca7b1b", - "15082f5a-f2a3-417a-8ff6-21a4dafd904d", - "0d61513e-78b8-4d21-9502-dd48b4f95272", - "b3ddecdd-629e-4dbf-9fee-71c11b09e0e1", - "c0b89e3c-f08e-425e-86b7-64b35469f387", - "5fe2e03e-03a6-41f2-9c1b-61a74108ff2a", - "Walter", - "Agree billion.", - "$81,446.38", - 3925, - true, - true, - false, - 8420, - "Theory me present.", - 3328, - "Half share lose." - ], - [ - "32b5c6ea-6b06-4e96-9128-a9b5ccb2969f", - "051157c1-3598-4080-b64e-2e0f213ba5b4", - "5c3dd77f-fb1f-4d45-99fe-c5c817581033", - "ec252f77-4d67-453a-bc7a-aa69ddc0eba2", - "b663492e-2939-4513-b94f-8ad855c36c7e", - "c8da2a4c-bf19-4aea-b8d7-9a1f714d38e7", - "Jason", - "Executive argue.", - "$11,595.28", - 6048, - true, - true, - false, - 4149, - "Wonder kitchen read.", - 9302, - "Everybody maintain." - ], - [ - "51c4e70c-ab9f-4b3f-84ec-c013ad7ff274", - "2022da68-ce13-4525-a89b-237effa94660", - "8923b30c-c2a1-4e71-b5b1-52b913b3a818", - "343f35db-0eb9-45c7-9c4c-1a4b2d615384", - "bc060108-2d02-4310-8de1-be803a081505", - "d5f2d13d-48bb-425a-93a6-324308058862", - "Andrew", - "These role or to.", - "$868.60", - 3297, - true, - true, - true, - 9627, - "True citizen.", - 8715, - "Near food one." - ], - [ - "0931a2c8-463e-433a-ba47-4f19d748d172", - "9801c52d-494e-404e-afe8-346a2d166ba7", - "a0581acf-e73f-42e0-9e48-b528d51b4165", - "e1831af3-90a5-4ca5-bc64-6604abad65fe", - "e386274c-d7cb-4ee5-927b-2a8eba927b95", - "1b5fdb4a-f7f6-4af1-a5d7-8061b27d714b", - "Andrew", - "Magazine quickly.", - "$6.62", - 6648, - true, - true, - false, - 6454, - "Wife Congress game.", - 4741, - "Build whatever." - ], - [ - "f576b10a-3105-4d11-bd46-ec9b38f34603", - "1153716f-4306-4876-8823-15bbc5993291", - "1a2b443e-8b15-4267-9d94-6e2bc0fa7981", - "faf135e6-8b1b-4c4e-af57-f4b92de10112", - "fe963623-3bec-4f3b-ae27-3b7c8b941fae", - "9b6efc48-2911-4157-955c-40c6828f5840", - "Michael", - "Mrs investment.", - "$0.24", - 4869, - false, - true, - false, - 6911, - "Accept action free.", - 864, - "Media once hand." - ], - [ - "31909989-7a11-4376-bf4f-7af2b93410c1", - "76bbcc46-7a11-4efc-aaa6-4c41656ad49f", - "e31aff33-7fcc-4ab3-a328-d9e1f3786ded", - "2db22b8c-e26e-4dd3-b03b-b2fcc94d6eec", - "8bf6ea7e-a48c-451e-96ac-1188c6b00f88", - "88d10f55-a51d-4f4d-8ab0-27039684bbe8", - "Rhonda", - "Family treat.", - "$57,756.68", - 8416, - true, - true, - false, - 8619, - "Such southern.", - 1668, - "Analysis simple." - ], - [ - "322d0c26-c14b-4c0f-9b14-88a5edfea60d", - "404a99f2-5819-4dc7-8976-e553f6c07d9a", - "960e91c8-299f-4855-a89d-24e517acf632", - "2ea754c4-e7e7-4b31-a272-0d3b5000c118", - "08c64160-30c3-45f6-add9-30f6834c927e", - "5d095b49-82d0-428f-9208-f9b8f8e32c55", - "Holly", - "Name name community.", - "$482.13", - 1428, - true, - false, - true, - 9965, - "Size difficult yard.", - 1359, - "Lot your hotel." - ], - [ - "92619045-493b-4297-bae7-6b470e2c32a3", - "7ad7c54a-cccd-4705-a517-7cdfa07fd221", - "089417bd-5454-46d8-9332-5c6ff7dba1da", - "bee89d40-a69a-47ee-9b47-68d20368acf5", - "21043bd1-db06-48c0-ba5d-cc643c5d8de2", - "86199146-afdb-40da-9359-6ca41ee83088", - "Laura", - "Decide agreement.", - "$753.95", - 2098, - true, - false, - false, - 1522, - "Money attorney.", - 2128, - "Study move continue." - ], - [ - "eb41d693-b99a-4932-b873-2948f9f85c61", - "038c3043-ae10-4c30-9396-e1d9bca951b9", - "ce112fa3-ce27-4086-aa0b-67372891a588", - "abd6eaf4-1874-4768-9b7d-0759100cd9d7", - "c315052c-b7d2-4f5e-bf5f-e6835629cbe0", - "9dd2e6e1-32e6-4947-acf7-621a8dc8b400", - "Scott", - "Put herself.", - "$5.98", - 422, - false, - false, - true, - 4028, - "Seem baby media.", - 4306, - "Two and action any." - ], - [ - "d35b8e12-4aae-45f4-b30e-6f880d71e64c", - "7870502f-6c7d-498d-80ce-1214dd1a83be", - "42fee410-5833-4121-80a3-bc4553152c52", - "6da95eab-1755-4935-918e-be33ceccf56b", - "850f4cda-0e7c-4d68-bfb7-1f34ab81c8d8", - "abdcfd04-31b5-4877-8e53-2ec9a0b9c578", - "Nicole", - "Mention somebody.", - "$69.07", - 3194, - false, - true, - false, - 5359, - "Let simply peace.", - 7339, - "Stuff executive." - ], - [ - "4c3abe8d-6d44-4a20-96f9-30779e67a52f", - "1a6bef97-8529-4cff-ac56-79d1087e7449", - "56787818-a07f-49fd-ba87-4865d81128c7", - "54c05689-98c1-4ab2-ba2a-eca8a085bb8f", - "190029f4-b7e7-41f9-a28b-ec7480171e85", - "b7a53024-3716-432e-98cc-5db33dfda844", - "Jennifer", - "Yet foot turn seek.", - "$32.81", - 5984, - true, - true, - false, - 3366, - "Watch window board.", - 8225, - "Family perhaps ago." - ], - [ - "91c410e2-7f21-455d-8d5f-d87fe343e14a", - "6c858400-f8b8-405b-92a9-f3d9f51e0403", - "31a146a7-d5ec-4f14-8b7c-e00e0c6a30c3", - "3306abe9-ff27-431d-a1e7-9c0c60639a32", - "b1d8c70f-ade5-4b5e-8b03-c14b3ff159a5", - "734b066f-fd60-4998-a8e6-7b1885260b6c", - "Sara", - "What gun owner draw.", - "$8.91", - 4929, - true, - true, - false, - 3112, - "Foot central course.", - 9262, - "Like finish image." - ], - [ - "6962e613-5218-4b79-9ef2-653b6f43b523", - "16f834aa-5915-47fe-b1a4-033eb0fad403", - "4996c590-9737-4a80-8750-f8c03696d8df", - "0a0c6529-1d82-4bf5-8b40-45057d71afdf", - "4c0f3de2-3538-4b19-8886-664e735485a3", - "ef453d1b-0e14-4bfe-8076-28077b559b2f", - "Robert", - "Accept professor.", - "$760.64", - 4474, - true, - false, - true, - 39, - "Local force fear.", - 5799, - "Government several." - ], - [ - "51b3cd12-20db-435c-a078-cc43a4e90941", - "7ef898ab-2f14-44b6-94d2-5b1f407e08dd", - "114c7cf1-2e0f-469d-883d-27d29e74fa05", - "ea51c431-989a-482c-acd9-d59ad143bc2c", - "ffb76f35-f739-4366-b247-9d89aabbece8", - "a2cd8edc-5eab-4b04-ab16-90832f5eab1b", - "Debra", - "Whose I quality.", - "$7.14", - 9673, - false, - false, - false, - 2072, - "Decision outside.", - 9614, - "Difference almost." - ], - [ - "d5db3dac-7356-4408-b2a1-82681c4a4e36", - "bf510650-e3be-46b1-aa22-152716f2ef80", - "2085c239-addb-4c6f-ad3a-904ae3a1e3a0", - "565ef209-f4b0-4186-bb71-2611fc16977e", - "643f459c-fa85-4ce5-8184-fddc814622c2", - "e91123cf-7efb-4818-8468-c14dd0c8baa3", - "Monique", - "Close raise five.", - "$7,463.33", - 8775, - false, - true, - false, - 2721, - "Local take success.", - 6073, - "Point recognize." - ], - [ - "d90fa279-b785-4a9e-89a0-1900e234dcd8", - "7bbdcc42-80ac-443b-8ae4-2fe65cc9e9f4", - "536b0728-1a05-4479-9f32-84210caba740", - "90bd0200-cad9-49d2-9bc0-44605f7e071c", - "4f248393-ecb5-4dbe-972e-0b4d6f84ec9a", - "45e621bb-11ee-414e-9e5a-a78b69c3cda0", - "Taylor", - "Say rock pick.", - "$16,954.50", - 2660, - true, - false, - false, - 3249, - "Live PM staff.", - 5587, - "Property national." - ], - [ - "f6b95b9a-77c5-4e70-9d64-14bcab8c0bf8", - "a17f86cb-75e9-4dcc-981c-1a9f867d7183", - "724c49e6-0d23-4836-9fd2-1b0bd05509b5", - "32be68f4-147a-421e-b16d-288dac8af802", - "134b27e7-7931-4df1-a45a-8051baece41a", - "fee026c6-a7d6-46f4-9ee2-6cce8ad36eaa", - "David", - "Forward south their.", - "$98.77", - 93, - false, - false, - false, - 4292, - "Turn of play prove.", - 4887, - "President second." - ], - [ - "0ae37a6c-3169-4623-8319-a876ab7f3d99", - "b31afbeb-ab75-492b-b7c5-5d1945dd4c4a", - "8a9c07bf-93a1-488f-b5a4-cfb257affd9b", - "8ca34b19-416f-48c1-b108-7c52570b9165", - "dfae8570-40f4-4fc1-8905-df4fad88dfbe", - "b2b4142b-3551-4bd4-8b0f-6dcf43c38cca", - "Colin", - "Body baby adult.", - "$29,486.21", - 7956, - false, - true, - false, - 7494, - "Southern deep three.", - 9357, - "Eat size party." - ], - [ - "ea17c92b-485b-44f3-95fc-bf6ff7cfc255", - "ef30375e-8742-4e8b-8106-97d251d896e2", - "ee357436-7cd3-47b2-901a-f9fcef6ed9e0", - "5efd4eb7-5a81-4010-bea3-85910250e4b1", - "84ae57ee-e2fd-4dc0-a9eb-8ea24d0b8019", - "d5cafc0e-0100-45c9-93db-10d5261f6e96", - "Kaitlyn", - "Produce others road.", - "$9,333.25", - 6641, - true, - false, - true, - 6862, - "For chair brother.", - 4377, - "Ok open." - ], - [ - "07fbb6b8-f80d-4c43-8481-f7708e44964a", - "de3ae369-cca3-4b7e-98da-e75e8a76c116", - "0dec7fea-edd4-43ff-bf0d-f3b6b9fac73d", - "1a64014d-996e-44e1-bbc0-21434e382bf0", - "32b6e4b5-9ab0-419b-8a39-2ac95e98882f", - "fbf0d690-724f-4ae7-8284-7429cc9c6fd9", - "Anne", - "Discuss serve PM.", - "$919.15", - 6955, - true, - false, - true, - 48, - "And before election.", - 7869, - "Whole perhaps firm." - ], - [ - "73007911-d93d-4132-bdc1-add7a20a072a", - "43bf6af0-2fd2-4a68-982b-626e8600b549", - "b3626f2b-16c0-441a-97be-6eac8bebdaa7", - "95704989-cda2-4cf0-a290-f88980d69131", - "75bbe4bd-fed0-4b76-bd32-031d7b7be6f7", - "e3ef79e4-ddc2-4dbd-ba49-01140871d3e2", - "Austin", - "Before identify.", - "$10,686.43", - 2675, - true, - true, - false, - 4372, - "Wonder issue.", - 8660, - "Begin line cultural." - ] - ] - }, - "databaseSchema": { - "id": "d7be1e2c-b3dc-11ec-b909-0242ac120002", - "type": "databaseSchema", - "name": "sample_data.ecommerce_db.shopify", - "description": "This **mock** Schema contains tables related to shopify sales and orders with related dimension tables.", - "href": "http://localhost:8585/api/v1/databaseSchemas/d7be1e2c-b3dc-11ec-b909-0242ac120002" - }, - "sourceUrl": "http://localhost:8080/fact_line_item_Lorem_ipsum_dolor_sit_amet_consectetur_adipiscing_elit_sed_do_eiusmod_tempor_incididunt_ut_labore_et_dolore_magna_aliqua_Ut_enim_ad_minim_veniam_quis_nostrud_exercitation_ullamco_laboris_nisi_ut_aliquip_ex_ea_commodo_consequat_Duis_aute_iru" - }, - { - "name": "fact_order", - "fullyQualifiedName": "sample_data.shopify.fact_order", - "description": "The orders table contains information about each order in your store. Although this table is good for generating order lists and joining with the dim_customer, use the sales table instead for computing financial or other metrics.", - "version": 0.1, - "updatedAt": 1638354087730, - "updatedBy": "anonymous", - "href": "http://localhost:8585/api/v1/tables/6bd37162-1eb2-4c22-88ef-aedb7bf35d23", - "tableType": "Regular", - "columns": [ - { - "name": "order_id", - "dataType": "NUMERIC", - "dataTypeDisplay": "numeric", - "description": "Unique numeric identifier for the order across Shopify stores. In your Shopify admin, this ID is used internally. Most merchants are familiar with the other ID that appears on orders in the Shopify admin. This ID can be found in the Name column.", - "fullyQualifiedName": "sample_data.shopify.fact_order.order_id", - "tags": [], - "constraint": "PRIMARY_KEY", - "ordinalPosition": 1 - }, - { - "name": "api_client_id", - "dataType": "NUMERIC", - "dataTypeDisplay": "numeric", - "description": "The ID of the API client that called the Shopify API. This column is a foreign key reference to the api_client_id column in the dim_api_client table.", - "fullyQualifiedName": "sample_data.shopify.fact_order.api_client_id", - "tags": [], - "ordinalPosition": 2 - }, - { - "name": "billing_address_id", - "dataType": "NUMERIC", - "dataTypeDisplay": "numeric", - "fullyQualifiedName": "sample_data.shopify.fact_order.billing_address_id", - "tags": [], - "ordinalPosition": 3 - }, - { - "name": "customer_id", - "dataType": "NUMERIC", - "dataTypeDisplay": "numeric", - "description": "The ID of the customer. This column is a foreign key reference to the customer_id column in the dim_customer table.", - "fullyQualifiedName": "sample_data.shopify.fact_order.customer_id", - "tags": [], - "ordinalPosition": 4 - }, - { - "name": "location_id", - "dataType": "NUMERIC", - "dataTypeDisplay": "numeric", - "fullyQualifiedName": "sample_data.shopify.fact_order.location_id", - "tags": [], - "ordinalPosition": 5 - }, - { - "name": "shipping_address_id", - "dataType": "NUMERIC", - "dataTypeDisplay": "numeric", - "fullyQualifiedName": "sample_data.shopify.fact_order.shipping_address_id", - "tags": [], - "ordinalPosition": 6 - }, - { - "name": "shop_id", - "dataType": "NUMERIC", - "dataTypeDisplay": "numeric", - "description": "The ID of the store. This column is a foreign key reference to the shop_id column in the dim.shop table.", - "fullyQualifiedName": "sample_data.shopify.fact_order.shop_id", - "tags": [], - "ordinalPosition": 7 - }, - { - "name": "user_id", - "dataType": "NUMERIC", - "dataTypeDisplay": "numeric", - "description": "The ID of the staff member who created the order. This column is a foreign key reference to the ID in the dim_staff table. This column applies to Shopify POS orders and to orders that were converted from draft orders.", - "fullyQualifiedName": "sample_data.shopify.fact_order.user_id", - "tags": [], - "ordinalPosition": 8 - }, - { - "name": "name", - "dataType": "VARCHAR", - "dataLength": 100, - "dataTypeDisplay": "varchar", - "description": "The identifier of the order that the merchant and customer sees. This is the ID that appears on the order in the Shopify admin. For example, #1001. By default, this identifier is unique to one store. If you have multiple stores, then use the order_id column to guarantee uniqueness across multiple stores.", - "fullyQualifiedName": "sample_data.shopify.fact_order.name", - "tags": [], - "ordinalPosition": 9 - }, - { - "name": "total_price", - "dataType": "NUMERIC", - "dataTypeDisplay": "numeric", - "description": "The total price of the order, including shipping and taxes. This column includes gift card sales, but does not include returns. This value may not be accurate for API-imported orders. Do not use this column for financial calculations. Instead, use the total_price column in the sales table.", - "fullyQualifiedName": "sample_data.shopify.fact_order.total_price", - "tags": [], - "ordinalPosition": 10 - }, - { - "name": "discount_code", - "dataType": "VARCHAR", - "dataLength": 100, - "dataTypeDisplay": "varchar", - "description": "The discount code that was applied to the order.", - "fullyQualifiedName": "sample_data.shopify.fact_order.discount_code", - "tags": [], - "ordinalPosition": 11 - }, - { - "name": "processed_at", - "dataType": "TIMESTAMP", - "dataTypeDisplay": "timestamp", - "description": "The date (ISO 8601) and time (UTC) when the order was created. The format is YYYY-MM-DD HH:mm:ss (for example, 2016-02-05 17:04:01).", - "fullyQualifiedName": "sample_data.shopify.fact_order.processed_at", - "tags": [], - "ordinalPosition": 12 - }, - { - "name": "canceled_at", - "dataType": "TIMESTAMP", - "dataTypeDisplay": "timestamp", - "description": "If the order was canceled, then this column contains the date (ISO 8601) and time (UTC) when the order was canceled. The format is YYYY-MM-DD HH:mm:ss (for example, 2016-02-05 17:04:01).", - "fullyQualifiedName": "sample_data.shopify.fact_order.canceled_at", - "tags": [], - "ordinalPosition": 13 - }, - { - "name": "deleted_at", - "dataType": "TIMESTAMP", - "dataTypeDisplay": "timestamp", - "description": "If the order was deleted, then this column contains the date (ISO 8601) and time (UTC) when the order was deleted. The format is YYYY-MM-DD HH:mm:ss (for example, 2016-02-05 17:04:01).", - "fullyQualifiedName": "sample_data.shopify.fact_order.deleted_at", - "tags": [], - "ordinalPosition": 14 - }, - { - "name": "test", - "dataType": "BOOLEAN", - "dataTypeDisplay": "boolean", - "description": "True when the order is a test order, False otherwise.", - "fullyQualifiedName": "sample_data.shopify.fact_order.test", - "tags": [], - "ordinalPosition": 15 - } - ], - "database": { - "id": "50da1ff8-4e1d-4967-8931-45edbf4dd908", - "type": "database", - "name": "sample_data.ecommerce_db", - "description": "This **mock** database contains tables related to shopify sales and orders with related dimension tables.", - "href": "http://localhost:8585/api/v1/databases/50da1ff8-4e1d-4967-8931-45edbf4dd908" - }, - "tags": [], - "usageSummary": { - "dailyStats": { - "count": 185, - "percentileRank": 73 - }, - "weeklyStats": { - "count": 185, - "percentileRank": 73 - }, - "monthlyStats": { - "count": 185, - "percentileRank": 73 - }, - "date": "2021-12-01" - }, - "followers": [], - "joins": { - "startDate": "2021-11-01", - "dayCount": 30, - "columnJoins": [ - { - "columnName": "shop_id", - "joinedWith": [ - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.order_id", - "joinCount": 60 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_api_client.api_client_id", - "joinCount": 30 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_customer.customer_id", - "joinCount": 25 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_customer.shop_id", - "joinCount": 5 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_staff.user_id", - "joinCount": 20 - } - ] - }, - { - "columnName": "api_client_id", - "joinedWith": [ - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.order_id", - "joinCount": 60 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_api_client.api_client_id", - "joinCount": 30 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_customer.customer_id", - "joinCount": 25 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_customer.shop_id", - "joinCount": 5 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_staff.user_id", - "joinCount": 20 - } - ] - }, - { - "columnName": "user_id", - "joinedWith": [ - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.order_id", - "joinCount": 60 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_api_client.api_client_id", - "joinCount": 30 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_customer.customer_id", - "joinCount": 25 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_customer.shop_id", - "joinCount": 5 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_staff.shop_id", - "joinCount": 20 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_staff.user_id", - "joinCount": 20 - } - ] - }, - { - "columnName": "customer_id", - "joinedWith": [ - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.order_id", - "joinCount": 60 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_api_client.api_client_id", - "joinCount": 30 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_customer.customer_id", - "joinCount": 25 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_customer.shop_id", - "joinCount": 5 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_staff.user_id", - "joinCount": 20 - } - ] - }, - { - "columnName": "order_id", - "joinedWith": [ - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.api_client_id", - "joinCount": 60 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.billing_address_id", - "joinCount": 60 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.customer_id", - "joinCount": 60 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.location_id", - "joinCount": 60 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.order_id", - "joinCount": 60 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.product_id", - "joinCount": 60 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.product_variant_id", - "joinCount": 60 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.shipping_address_id", - "joinCount": 60 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.shop_id", - "joinCount": 60 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_sale.user_id", - "joinCount": 60 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_api_client.api_client_id", - "joinCount": 30 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_customer.customer_id", - "joinCount": 25 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_customer.shop_id", - "joinCount": 5 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_staff.user_id", - "joinCount": 20 - } - ] - } - ] - }, - "sampleData": { - "columns": [ - "order_id", - "api_client_id", - "billing_address_id", - "customer_id", - "location_id", - "shipping_address_id", - "shop_id", - "user_id", - "name", - "total_price", - "discount_code", - "processed_at", - "canceled_at", - "deleted_at", - "test" - ], - "rows": [ - [ - "0019b10f-76f2-42ec-afa2-ad13831183cc", - "31e2ee37-82c2-48fb-8655-b819b5d45d8e", - "7138de47-7b48-4f3e-8ea6-acc76705b932", - "ec72e3b3-03e2-4877-9858-685e28bcccc4", - "698cb99d-c04c-4e87-8f48-3ce0e7d1dfd6", - "c604bda8-13e6-49d3-86b8-7581cdaeabe0", - "32cf9f27-166a-425d-9362-88f58b61a464", - "f16c292e-fb47-46c9-bf35-e3859c3b0732", - "Kevin", - "$4,876.62", - "Type foot sure.", - 1330822026, - 1172638267, - 795158014, - true - ], - [ - "25ff7292-cc68-477e-8d4c-5dc8d70f3a11", - "83733c95-df99-44ef-898b-c1d2eb40ec40", - "ace17e1a-d5c6-4973-8ee9-c3b0eee6c7c6", - "d0b8bdbe-5d0a-4b9e-aa86-b15a74335a9e", - "e51696cb-b1f1-4b94-aa20-a4dbb08faad2", - "99b359d8-9494-4b1b-add3-602f759549c3", - "f9f3ccc7-87ad-4ab2-b9c8-177eb2372d61", - "5fd3b1bb-7bc0-4bb8-9ad3-a22daad6f984", - "James", - "$84.00", - "Wind quickly go.", - 209718384, - 1240669505, - 828006070, - false - ], - [ - "e9205e81-ab8d-4188-b314-f5e588072f02", - "f7be5599-f02c-4b37-9013-592262ddfd81", - "e1bafe7a-0dc1-47cb-9af0-7486d75d57c2", - "99df4b43-d979-4585-a969-bf3b2e2be73e", - "cd1ddb3d-b9d6-42a2-adf3-b97b8d9aa014", - "494d218d-e1b2-44be-a46d-20147d254bc3", - "96f9cf38-068c-4777-ba6d-f1b9199b14bf", - "bd46373f-8850-426f-8407-dd74f38018df", - "Katherine", - "$562.91", - "Low force artist.", - 271367568, - 943058240, - 651331950, - true - ], - [ - "66eb9e24-96cc-4e23-ad94-29c7561e24c0", - "7091069b-bfca-4c48-9b48-2d3a224619e3", - "3f3e9a1c-719c-4dcf-b8cf-52c3ac2d3aff", - "68efcf09-b770-40a7-9c25-b734256e5718", - "5c1ce28a-dd51-4c58-abda-8691a158396c", - "cba01865-f1ef-4518-953b-6c31edf136d2", - "fb1ea029-d6ef-4af1-b380-7659edc69a9f", - "82897b74-9060-43a3-8cf3-751146f55663", - "Mark", - "$64,496.85", - "Address edge.", - 1067626376, - 1365640111, - 693825800, - false - ], - [ - "f673f103-8fe0-4f9d-9caf-87e37a40240d", - "c1eaf748-f5e6-4de3-b425-4ba8701bcb7e", - "cb7487b1-2cc0-45b7-9ecd-872a9b14f691", - "d01bb7ac-6479-4378-8751-c5a69980f4da", - "fc915e2a-cf4b-4328-a9c0-c5bd2d728e9d", - "9e1d850a-0290-49f8-ab16-1135845f2ee4", - "cd87edc9-1453-4896-998c-a29ec6403a0d", - "89cc1d02-b950-412e-836f-19d4301a5ed5", - "Randy", - "$49.17", - "Phone energy.", - 1348762878, - 823081134, - 1229190846, - true - ], - [ - "27e6550c-4020-4600-a727-ad4f73576cbf", - "44f68ded-1d72-45d8-bfea-004e80073ab8", - "d9cae9d1-5ed7-45b3-a39b-d4711f9a6603", - "09861c1f-10ba-473c-9940-b31ac19f1230", - "da671371-75e0-4da7-927c-d2b6b4c7b943", - "df30c033-9398-45b0-b0d8-652c542415b7", - "38909ba2-7ffe-431d-b1f7-36d51c5935a6", - "c319c0da-eda4-4bb8-9065-fbdbc0b1cced", - "Lisa", - "$607.55", - "Rise else several.", - 951870865, - 290834368, - 1535738533, - false - ], - [ - "08455fd6-dfa0-40a4-a132-909da25c9324", - "684c9f92-628d-487f-9d85-ba0d875e12fe", - "16647e52-50ca-41ca-9ec2-a6aa0cbf0d8d", - "26dabc61-fa73-488a-8f7a-accab7a9224a", - "be068572-f178-4e60-bec0-ef99909a15bd", - "795e8c13-8485-455a-a84d-1c68dc8dcb93", - "61ccf99d-9d8d-46c8-9205-b1a9cde9fc0c", - "41b0e3fd-9efc-49a3-a480-d904dc54f1ba", - "Michael", - "$40.46", - "These stand fall.", - 862344559, - 557731044, - 1624851328, - true - ], - [ - "e57aacae-2116-4a4b-9b78-87a9768e1f82", - "3ba05c37-6457-4fc6-b02f-d4bc0a307c23", - "5606d94d-fafb-471b-b0ce-6be16cc3951b", - "af1d5f27-996a-4292-930e-713f9e3ba7a2", - "321fad21-e792-47ce-b082-cbeaf6e2b859", - "74cc53f6-2505-45e0-a2c3-cc54d22be0ad", - "fafce953-69f8-4e3d-a116-9d8e047d2c32", - "90db6a19-df22-430c-b115-9b659682f8af", - "Kelly", - "$587.00", - "Speak forget listen.", - 416779978, - 884711303, - 1628971191, - false - ], - [ - "c2a75d81-eab3-4359-9a2b-f21592b638ba", - "54091f30-4f62-40f7-902e-73ca128b6931", - "ae273897-22f2-454e-b463-958f7051bff1", - "8e199bc3-9c13-433d-99b0-0b878a173d6b", - "6b0276e7-5c70-4346-90ae-478a2a9bbbea", - "c919d0c8-f86c-4646-b840-166d63b8feb4", - "07e53e22-78da-453b-818a-ad78e9a08164", - "6d7d696e-5c5d-4a16-a3b2-4e648425b0ac", - "Candace", - "$575.79", - "Entire able key.", - 436729383, - 498327663, - 1623652014, - false - ], - [ - "5a2ebb24-8895-4697-b0d0-254b21ede831", - "5702d9e7-e448-4297-b9bd-3bfae602d04a", - "92e42382-3079-4ed4-a656-2b0745a70de2", - "5a25fbd1-0756-4a1c-aa0f-337ae309d8ea", - "21c9b38a-71b2-44bf-96b3-00b7aa12f280", - "8348352b-c34f-455a-9882-b4d6522be2ae", - "b8929ff7-d5a4-400c-ba55-5aebb1b6a986", - "6991b755-de3a-4028-af41-dd2acf30891c", - "Patrick", - "$85.62", - "Family agency.", - 468971003, - 193560193, - 1418575416, - false - ], - [ - "d78c8ab3-fa7e-482d-b8b6-62db339c9f26", - "39bc6843-3203-4149-9ba5-808fdee24cdb", - "38ab5990-2504-4955-a52a-be932fdf168b", - "2e086c6e-b064-4b7e-a499-8e82b404e8d8", - "25caac5f-0da8-4b8b-bbc4-98894a8a5904", - "18470996-56f2-417c-b8e1-b45feeba8a64", - "8255cd30-2055-414b-a859-02ae9975206d", - "5fa40c06-a767-4df0-bcea-7ec71a325006", - "Joshua", - "$5,839.64", - "Into mention city.", - 1110815783, - 1407146953, - 663939071, - false - ], - [ - "d5f698a6-2325-4519-b05c-39f78a1859a5", - "e02a5f14-2d0e-4ed3-be7b-df16cf53b7cf", - "cd9394e2-d0b5-4b79-979e-88668d60eadf", - "9315fc61-0155-4292-9c51-d991cd15795d", - "911d9455-b858-4c01-8b51-3fb92ed6fbf9", - "49696d0e-b523-477b-a4c0-dac56a56ac42", - "6bd8d0af-f08a-4f95-90e5-2dabf204b31a", - "2bba2732-5040-4077-a083-b36c507978f0", - "Daniel", - "$6,173.56", - "Positive car.", - 844476823, - 1394511954, - 533633929, - false - ], - [ - "cee67dc3-1200-46e3-88fa-54c463d72883", - "870b09cb-8169-43ec-83c0-d278cea3c4b3", - "77da90c4-ec2a-459f-a3df-d0b59c3ab77a", - "9770725b-2ac8-489c-9454-3dedbf502301", - "cc01dae2-efe1-4bfb-b900-e035f46558e7", - "185e7959-acbf-4b8c-93c0-5be199f6a866", - "d03ca4a5-e7df-41a0-868b-5239b939878d", - "656bb299-8757-4f45-9da6-3c9e743007a9", - "Gregory", - "$37.33", - "Use according agree.", - 773396054, - 1498285731, - 944616094, - true - ], - [ - "00b468d8-50b1-47fc-92bb-86af95661fbf", - "cad12cb3-eddb-42c3-9ee2-f4cbf9fdc336", - "7738dd75-b6c1-4a66-b6cc-256ada084b7e", - "b59dc589-af12-494c-a81a-b60d776adb5b", - "0417ef13-ee1e-4805-93cd-59e7949cb7eb", - "b09f7852-cf4f-4f9c-a603-061747a1f8c9", - "31dc6f7b-eb02-4755-b37d-f39a42f5fc86", - "20a8da7d-ee2c-4050-a998-560ce89eedea", - "Sandra", - "$93.13", - "Owner boy question.", - 820444532, - 1113721739, - 688566671, - true - ], - [ - "92ab3cf1-f9c3-4956-8a0e-5204589d74d2", - "a2df0411-db4f-473c-be4c-c2fa28ff62b7", - "22513b1f-70b9-4565-b33a-95a7df9f24fb", - "097f8098-51c8-4c6f-9f14-11e763472dc1", - "b724183e-c91d-410e-9a26-a86402127d7f", - "86bf8e15-88bc-4fd4-8b13-f700c6c15b2b", - "429780e1-4f9e-4e9d-9024-bea9df3f896e", - "0ae0e172-ce7e-486f-849a-d7bdbc4abbe6", - "Alexandra", - "$734.93", - "Animal account.", - 757022691, - 1167174991, - 904906980, - true - ], - [ - "3ca514d4-df1d-4887-9e35-be54eb0b8a3c", - "eed1c95d-dabd-48a4-b838-aa8d702accd2", - "4f369e3e-a48d-43fa-a7d1-ac532e2683b1", - "60dae650-7e1a-4619-a958-f140dc10e7e7", - "c83741ba-2023-4143-b085-a99c27b0b842", - "2ee80cba-aa8a-46df-bd7a-2d930c831f70", - "2d7e9eec-801e-4033-8a82-9198cbec7507", - "4bac2964-cf88-4ba0-83fd-d9b7a8422d67", - "Cynthia", - "$31,495.27", - "Office course food.", - 386384756, - 580520471, - 693179450, - false - ], - [ - "15eb04ae-d3a3-4a32-8e60-325367d62d16", - "3d8ee72a-f31c-4462-8933-858168761bd9", - "902649e0-3cbb-41f3-b3cb-60f5d46f166e", - "0ed471bb-680d-4af8-aa71-1088527b8836", - "0faffa3f-b644-440c-93a0-bf4205b81e1c", - "f1bf3efc-14c6-4f1a-96a7-6fa31a5dfdd1", - "ec1d5846-fa8d-4a15-b2e5-a7e54eed2884", - "e186202a-add7-4228-a64e-1f49ae3326ff", - "Michelle", - "$1,731.66", - "Indeed whatever.", - 46505037, - 757140056, - 835637940, - true - ], - [ - "166de01e-08d7-4a1a-ab86-42bae8b81e30", - "55095bb0-e6bb-4939-8804-32be1690b6d5", - "77465240-29fb-4a9a-9b6e-a637df41be5d", - "1bbf0b9c-6f5d-48ae-a000-63e5c3fd2780", - "3e3150ca-295a-4d92-a22c-99107964f6c0", - "96a94f44-746f-4019-801f-f2dc76fc10d9", - "e5c65552-ea5b-479d-b45b-e74a25cda105", - "1d6018bd-cb73-4d5a-ac2b-0270afe74a48", - "Samantha", - "$74,181.42", - "Feeling along.", - 1461218241, - 564414629, - 313737510, - false - ], - [ - "9f24ef9a-44a9-4022-a768-d6a161a3350b", - "056476bb-b06a-4854-a72d-833a36e02391", - "97d2cdda-579b-4311-8d63-79b38da31495", - "c0a7136c-9e7e-4643-a553-c045f57ab9a9", - "27ceefce-d16c-4a6e-b6ed-702548fa2040", - "6ccc3654-10de-4753-8d51-aa4cb5984005", - "0f1cceaf-bfe8-484a-bfcd-7c3d178fbc41", - "4d309625-4995-4492-9cbd-0e8c0d0826fb", - "Holly", - "$485.16", - "Fall song well.", - 38327487, - 699788905, - 370739973, - false - ], - [ - "6d7ec565-83f4-4b10-938e-3febe38aa2db", - "269800a0-3591-4052-9695-ab46fb5c6c42", - "f0d1ecfa-e835-418e-8d35-30dbff8cc0f6", - "6ed4be68-e918-4b44-a93b-b45ee9e6cdb8", - "1ab105c7-c798-45ae-b7b7-fa10e9820064", - "045458ea-f015-47a1-8d63-558ab4671484", - "931b5d89-dc5a-4def-80ea-772a231f4ac4", - "432329a9-bf35-48a6-8ff5-27cd34d29ecb", - "Jacqueline", - "$24,503.28", - "Doctor leg itself.", - 34548489, - 199179362, - 520165416, - true - ], - [ - "4dc2cb1b-aed7-4595-a84b-f7c8aa15eb34", - "ef5bfa69-f7d6-4c62-af36-9b0ac7878a9c", - "a7a7758a-ad69-4af4-bcc9-23a57a09b31d", - "2c2de154-02bc-4a1e-a32d-3f798a43ad34", - "af3a90aa-fe51-44d9-867b-7315e601c41c", - "eb77e3c7-3ea8-4d40-98de-1b5c675d58bb", - "209d0d33-8629-4fd5-a0a2-9d611251d8b3", - "8129ba04-2e75-4141-ae22-c30ac09dbe83", - "Douglas", - "$811.53", - "Great nor weight.", - 544327693, - 1513681008, - 1411054372, - false - ], - [ - "6167c236-88d8-4e56-b7d6-eb5f3e8687df", - "2bf84799-b67f-4846-bde0-696173193140", - "1113e259-83ac-468e-a4ad-d63d32fc137a", - "8cde66c8-e243-404b-84b6-7767be5bd833", - "6024e8d4-55c5-44e0-ae50-16672b012f01", - "22b3024d-62a4-4da3-9a77-4f713e4ba572", - "fdf34eb7-c7b4-4fd7-9ba0-1d96941161d8", - "df6bd2d5-5647-466a-8785-d31787c048bb", - "Penny", - "$68.03", - "Respond choice.", - 1109476113, - 587958791, - 1034320844, - false - ], - [ - "93e0dd03-4804-4388-a5af-74840d70909b", - "5f2daa2e-8ebe-43ff-9721-550b0a56b5d8", - "8df9927d-fe77-4d0d-908b-eb2f9a09bdbb", - "21bd3f45-4fb4-43bb-a6f2-a1692c074641", - "547322cd-e102-4e98-8ae3-1e85e28f7933", - "cb642707-30ae-4bb1-991b-48d910d74769", - "98e55302-6b0f-408f-93df-9fb2ad6119ec", - "ba2fb921-9d27-4ac1-815b-96eedc2f5f96", - "Jennifer", - "$2.67", - "Feeling outside.", - 487057894, - 1087022588, - 66620370, - false - ], - [ - "eede5d50-93f1-4eff-a3b0-89abbedd6363", - "6788643e-e79d-425a-a6db-7ac50fbc2fc5", - "8466cd85-e7d7-4b09-94c6-c71364b38338", - "f3e9237d-12a9-4361-ac2a-6a7b0334bbf2", - "ff9ab501-407c-4d9c-a948-21f6a8719943", - "051b9e8a-c23d-4c56-ae41-0b75dfed8f49", - "6ace4312-2a16-4115-872b-269e5a4320b9", - "bb2c3606-6787-4e12-b2a5-31eb4058274f", - "Kevin", - "$281.87", - "Court indeed same.", - 1134763669, - 408896593, - 1571008614, - true - ], - [ - "98e94513-a735-4a52-9da2-df4c710df091", - "e1c86dea-7154-4421-8d72-62e9e83ee708", - "4b917b7a-19c3-48bd-b5ae-5b253aed0c9c", - "3743affb-8221-475f-9055-1c0a2b89757b", - "c2e3b4d5-afe9-4327-aa65-cacd1c582d3c", - "ce61c793-8f2b-492f-9ddf-f59cb041a311", - "e2ef459b-2edc-45a5-a808-177076c99e39", - "4bf6a6eb-de2c-4028-88d8-8117392f6e20", - "Eric", - "$44.14", - "Training once fall.", - 166643348, - 266519710, - 1080831241, - false - ] - ] - }, - "databaseSchema": { - "id": "d7be1e2c-b3dc-11ec-b909-0242ac120002", - "type": "databaseSchema", - "name": "sample_data.ecommerce_db.shopify", - "description": "This **mock** Schema contains tables related to shopify sales and orders with related dimension tables.", - "href": "http://localhost:8585/api/v1/databaseSchemas/d7be1e2c-b3dc-11ec-b909-0242ac120002" - }, - "sourceUrl": "http://localhost:8080/fact_order" - }, - { - "name": "fact_sale", - "fullyQualifiedName": "sample_data.shopify.fact_sale", - "description": "The fact table captures the value of products sold or returned, as well as the values of other charges such as taxes and shipping costs. The sales table contains one row per order line item, one row per returned line item, and one row per shipping charge. Use this table when you need financial metrics.", - "version": 0.1, - "updatedAt": 1638354087762, - "updatedBy": "anonymous", - "href": "http://localhost:8585/api/v1/tables/d16bcfa1-a63b-4f06-b042-9dd39a8c429b", - "tableType": "Regular", - "columns": [ - { - "name": "sale_id", - "dataType": "NUMERIC", - "dataTypeDisplay": "numeric", - "description": "ID of the sale row. This column is the primary key for this table.", - "fullyQualifiedName": "sample_data.shopify.fact_sale.sale_id", - "tags": [], - "constraint": "PRIMARY_KEY", - "ordinalPosition": 1 - }, - { - "name": "billing_address_id", - "dataType": "NUMERIC", - "dataTypeDisplay": "numeric", - "description": "ID of the billing address of the customer. This column is a foreign key reference to the address_id column in the dim_address table.", - "fullyQualifiedName": "sample_data.shopify.fact_sale.billing_address_id", - "tags": [], - "ordinalPosition": 2 - }, - { - "name": "api_client_id", - "dataType": "NUMERIC", - "dataTypeDisplay": "numeric", - "description": "ID of the API client from which the adjustment was made. This column is a foreign key reference to the ID of the API client in the dim_api_client table.", - "fullyQualifiedName": "sample_data.shopify.fact_sale.api_client_id", - "tags": [], - "ordinalPosition": 3 - }, - { - "name": "customer_id", - "dataType": "NUMERIC", - "dataTypeDisplay": "numeric", - "description": "ID of the customer. This column is a foreign key reference to the customer_id column in the dim_customer table.", - "fullyQualifiedName": "sample_data.shopify.fact_sale.customer_id", - "tags": [], - "ordinalPosition": 4 - }, - { - "name": "line_item_id", - "dataType": "NUMERIC", - "dataTypeDisplay": "numeric", - "description": "ID of the line item. This column is a foreign key reference to line_item_id column in the fact_line_item table. When the row describes a shipping charge, there is no line_item_id value.", - "fullyQualifiedName": "sample_data.shopify.fact_sale.line_item_id", - "tags": [], - "ordinalPosition": 5 - }, - { - "name": "location_id", - "dataType": "NUMERIC", - "dataTypeDisplay": "numeric", - "description": "ID of the Shopify POS location. This column is a foreign key reference to the location_id column in the dim_location table. When the order is not a POS order, then there is no location ID.", - "fullyQualifiedName": "sample_data.shopify.fact_sale.location_id", - "tags": [], - "ordinalPosition": 6 - }, - { - "name": "order_id", - "dataType": "NUMERIC", - "dataTypeDisplay": "numeric", - "description": "ID of the order. This column is a foreign key reference to order_id column in the fact_order table.", - "fullyQualifiedName": "sample_data.shopify.fact_sale.order_id", - "tags": [], - "ordinalPosition": 7 - }, - { - "name": "product_id", - "dataType": "NUMERIC", - "dataTypeDisplay": "numeric", - "description": "ID of the product sold or returned. This column is a foreign key reference to the product_id column in the dim.product table. When the line item describes a shipping charge, then there is no product ID.", - "fullyQualifiedName": "sample_data.shopify.fact_sale.product_id", - "tags": [], - "ordinalPosition": 8 - }, - { - "name": "product_variant_id", - "dataType": "NUMERIC", - "dataTypeDisplay": "numeric", - "description": "ID of the product variant sold or returned. This column is a foreign key reference to the product_variant_id column in the dim.product_variant table. When the row describes a shipping charge, then there is no product variant ID.", - "fullyQualifiedName": "sample_data.shopify.fact_sale.product_variant_id", - "tags": [], - "ordinalPosition": 9 - }, - { - "name": "shipping_address_id", - "dataType": "NUMERIC", - "dataTypeDisplay": "numeric", - "description": "ID of the shipping address of the customer who made the order. This column is a foreign key reference to the address_id column in the dim_address table. Some sales, such as those made using Shopify POS, do not have a customer's shipping address associated with them.", - "fullyQualifiedName": "sample_data.shopify.fact_sale.shipping_address_id", - "tags": [], - "ordinalPosition": 10 - }, - { - "name": "shop_id", - "dataType": "NUMERIC", - "dataTypeDisplay": "numeric", - "description": "ID of your store. This column is a foreign key reference to the shop_id column in the dim.shop table.", - "fullyQualifiedName": "sample_data.shopify.fact_sale.shop_id", - "tags": [], - "ordinalPosition": 11 - }, - { - "name": "user_id", - "dataType": "NUMERIC", - "dataTypeDisplay": "numeric", - "description": "ID of the staff member who is associated with the sale. This column is a foreign key reference to the user_id column in the dim_staff table. Not all sales have a staff member associated with them.", - "fullyQualifiedName": "sample_data.shopify.fact_sale.user_id", - "tags": [], - "ordinalPosition": 12 - }, - { - "name": "gross_sales", - "dataType": "NUMERIC", - "dataTypeDisplay": "numeric", - "description": "Price of the product purchased multiplied by the quantity ordered. This value is formatted in the currency of your store. If the product purchased is a gift card, then 0 is returned because gift cards are not included in gross sales calculations. The gross sales amount also does not include any discounts, returns, taxes or shipping charges. The gross_sales column is calculated using the following formula: product (excluding gift cards) price x quantity (before taxes, shipping, discounts, and returns). Canceled, pending, and unpaid orders will have a value for this column, but test and deleted orders will not.", - "fullyQualifiedName": "sample_data.shopify.fact_sale.gross_sales", - "tags": [], - "ordinalPosition": 13 - }, - { - "name": "net_sales", - "dataType": "NUMERIC", - "dataTypeDisplay": "numeric", - "description": "Net sales of the line item. The value of the line item's gross sales minus any discounts minus the value of any returned items. Net sales does not include taxes or shipping costs, or the sale of gift cards. If the line item contains gift cards, then the field contains 0. Net sales is calculated by using the following formula: gross_sales - discounts - returns.", - "fullyQualifiedName": "sample_data.shopify.fact_sale.net_sales", - "tags": [], - "ordinalPosition": 14 - }, - { - "name": "total_sales", - "dataType": "NUMERIC", - "dataTypeDisplay": "numeric", - "description": "Total sales of the line item. This value does not include gift cards. Total sales is calculated using the following formula: net_sales + shipping + taxes.", - "fullyQualifiedName": "sample_data.shopify.fact_sale.total_sales", - "tags": [], - "ordinalPosition": 15 - }, - { - "name": "returns", - "dataType": "NUMERIC", - "dataTypeDisplay": "numeric", - "description": "Value of the products returned by the customer regardless of the amount that the merchant actually receives from the customer. This value is usually a negative number, but it can also be zero (for example, if the item being returned was a free gift with purchase). Taxes and shipping charges are not included. The returns amount is calculated by using the following formula: 0 - (product variant price * quantity) + discounts.", - "fullyQualifiedName": "sample_data.shopify.fact_sale.returns", - "tags": [], - "ordinalPosition": 16 - }, - { - "name": "discounts", - "dataType": "NUMERIC", - "dataTypeDisplay": "numeric", - "description": "Total amount discounted from the line item. The discounts column contains the sum of any line item discounts plus the line item's portion of any order-level discount. The value of the discount is either negative or zero. The discounts column is calculated using the following formula: line item discount + order level discount share.", - "fullyQualifiedName": "sample_data.shopify.fact_sale.discounts", - "tags": [], - "ordinalPosition": 17 - }, - { - "name": "shipping", - "dataType": "NUMERIC", - "dataTypeDisplay": "numeric", - "description": "When the line item is for a shipping charge, this column contains the amount charged for shipping the order or the amount of the shipping charge that is refunded when an item is returned. This value is positive for a shipping charge, and negative for the value returned. Any applicable taxes charged for shipping costs are recorded in the Taxes column. This column is calculated using the following formula: shipping charge or refund - shipping discount..", - "fullyQualifiedName": "sample_data.shopify.fact_sale.shipping", - "tags": [], - "ordinalPosition": 18 - }, - { - "name": "taxes", - "dataType": "NUMERIC", - "dataTypeDisplay": "numeric", - "description": "The amount of taxes charged or returned for the line item. This value will be positive for a sale and negative for a return. Tax on an order is split proportionally amongst the line items to which it applies. Gift cards are not taxed. If multiple taxes are applied (for example, State and City sales taxes), then this column contains the sum of those tax amounts. This column can include taxes charged on shipping, if they are applicable.", - "fullyQualifiedName": "sample_data.shopify.fact_sale.taxes", - "tags": [], - "ordinalPosition": 19 - }, - { - "name": "gift_card_discounts", - "dataType": "NUMERIC", - "dataTypeDisplay": "numeric", - "description": "Total amount discounted from gift card sales. For example, if a $50 gift card is sold at a $10 discount for $40, then this column will contain $10.", - "fullyQualifiedName": "sample_data.shopify.fact_sale.gift_card_discounts", - "tags": [], - "ordinalPosition": 20 - }, - { - "name": "gift_card_gross_sales", - "dataType": "NUMERIC", - "dataTypeDisplay": "numeric", - "description": "Total face value of gift cards sold. For example, a $50 gift card is sold at a $10 discount for $40. In this example, the gift_card_gross_sales column will contain $50. Use this column to measure the increase in liabilities due to gift cards being issued (even though this value will not balance against the actual payments that you receive).", - "fullyQualifiedName": "sample_data.shopify.fact_sale.gift_card_gross_sales", - "tags": [], - "ordinalPosition": 21 - }, - { - "name": "gift_cards_issued", - "dataType": "NUMERIC", - "dataTypeDisplay": "numeric", - "description": "Net amount that the gift cards sold for, after discounts. For example, for a $50 gift card sold at a $10 discount for $40, this column will contain $40. Use this column to balance against the payments that you receive.", - "fullyQualifiedName": "sample_data.shopify.fact_sale.gift_cards_issued", - "tags": [], - "ordinalPosition": 22 - }, - { - "name": "quantity", - "dataType": "NUMERIC", - "dataTypeDisplay": "numeric", - "description": "Quantity of the items sold or returned. This value will be negative for returns and zero for line items that contain shipping charges.", - "fullyQualifiedName": "sample_data.shopify.fact_sale.quantity", - "tags": [], - "ordinalPosition": 23 - }, - { - "name": "currency", - "dataType": "VARCHAR", - "dataLength": 200, - "dataTypeDisplay": "varchar", - "description": "Three-letter ISO currency code of the payment. For example, USD is the code for United States Dollar. This is the currency of the store at the time of the order.", - "fullyQualifiedName": "sample_data.shopify.fact_sale.currency", - "tags": [], - "ordinalPosition": 24 - }, - { - "name": "is_deleted", - "dataType": "BOOLEAN", - "dataTypeDisplay": "boolean", - "description": "Contains 1 when the sale's order was deleted, otherwise contains 0.", - "fullyQualifiedName": "sample_data.shopify.fact_sale.is_deleted", - "tags": [], - "ordinalPosition": 25 - }, - { - "name": "test", - "dataType": "BOOLEAN", - "dataTypeDisplay": "boolean", - "description": "Whether the sale is a test order. Returns True when the sale is a test sale. See Test orders.", - "fullyQualifiedName": "sample_data.shopify.fact_sale.test", - "tags": [], - "ordinalPosition": 26 - }, - { - "name": "happened_at", - "dataType": "TIMESTAMP", - "dataTypeDisplay": "timestamp", - "description": "Date (ISO 8601) and time (UTC) when the order was created for a sale or when the order was returned.", - "fullyQualifiedName": "sample_data.shopify.fact_sale.happened_at", - "tags": [], - "ordinalPosition": 27 - } - ], - "database": { - "id": "50da1ff8-4e1d-4967-8931-45edbf4dd908", - "type": "database", - "name": "sample_data.ecommerce_db", - "description": "This **mock** database contains tables related to shopify sales and orders with related dimension tables.", - "href": "http://localhost:8585/api/v1/databases/50da1ff8-4e1d-4967-8931-45edbf4dd908" - }, - "tags": [], - "usageSummary": { - "dailyStats": { - "count": 400, - "percentileRank": 91 - }, - "weeklyStats": { - "count": 400, - "percentileRank": 91 - }, - "monthlyStats": { - "count": 400, - "percentileRank": 91 - }, - "date": "2021-12-01" - }, - "followers": [], - "joins": { - "startDate": "2021-11-01", - "dayCount": 30, - "columnJoins": [ - { - "columnName": "billing_address_id", - "joinedWith": [ - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_address.address_id", - "joinCount": 49 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_api_client.api_client_id", - "joinCount": 55 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_customer.customer_id", - "joinCount": 45 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_location.location_id", - "joinCount": 50 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.product\".product_id", - "joinCount": 40 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.shop\".shop_id", - "joinCount": 40 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_staff.user_id", - "joinCount": 20 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_order.order_id", - "joinCount": 60 - } - ] - }, - { - "columnName": "shop_id", - "joinedWith": [ - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_address.address_id", - "joinCount": 49 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_api_client.api_client_id", - "joinCount": 55 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_customer.customer_id", - "joinCount": 45 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_location.location_id", - "joinCount": 50 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.product\".product_id", - "joinCount": 40 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.shop\".shop_id", - "joinCount": 40 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_staff.user_id", - "joinCount": 20 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_order.order_id", - "joinCount": 60 - } - ] - }, - { - "columnName": "line_item_id", - "joinedWith": [ - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_line_item:line_item_id", - "joinCount": 20 - } - ] - }, - { - "columnName": "shipping_address_id", - "joinedWith": [ - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_address.address_id", - "joinCount": 49 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_api_client.api_client_id", - "joinCount": 55 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_customer.customer_id", - "joinCount": 45 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_location.location_id", - "joinCount": 50 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.product\".product_id", - "joinCount": 40 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.shop\".shop_id", - "joinCount": 40 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_staff.user_id", - "joinCount": 20 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_order.order_id", - "joinCount": 60 - } - ] - }, - { - "columnName": "api_client_id", - "joinedWith": [ - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_address.address_id", - "joinCount": 49 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_api_client.api_client_id", - "joinCount": 55 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_customer.customer_id", - "joinCount": 45 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_location.location_id", - "joinCount": 50 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.product\".product_id", - "joinCount": 40 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.shop\".shop_id", - "joinCount": 40 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_staff.user_id", - "joinCount": 20 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_order.order_id", - "joinCount": 60 - } - ] - }, - { - "columnName": "user_id", - "joinedWith": [ - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_address.address_id", - "joinCount": 49 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_api_client.api_client_id", - "joinCount": 55 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_customer.customer_id", - "joinCount": 45 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_location.location_id", - "joinCount": 50 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.product\".product_id", - "joinCount": 40 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.shop\".shop_id", - "joinCount": 40 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_staff.shop_id", - "joinCount": 20 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_staff.user_id", - "joinCount": 20 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_order.order_id", - "joinCount": 60 - } - ] - }, - { - "columnName": "product_id", - "joinedWith": [ - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_address.address_id", - "joinCount": 49 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_api_client.api_client_id", - "joinCount": 55 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_customer.customer_id", - "joinCount": 45 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_location.location_id", - "joinCount": 50 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.product\".product_id", - "joinCount": 40 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.shop\".shop_id", - "joinCount": 40 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_staff.user_id", - "joinCount": 20 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_order.order_id", - "joinCount": 60 - } - ] - }, - { - "columnName": "product_variant_id", - "joinedWith": [ - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_address.address_id", - "joinCount": 49 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_api_client.api_client_id", - "joinCount": 55 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_customer.customer_id", - "joinCount": 45 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_location.location_id", - "joinCount": 50 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.product\".product_id", - "joinCount": 40 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.shop\".shop_id", - "joinCount": 40 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_staff.user_id", - "joinCount": 20 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_order.order_id", - "joinCount": 60 - } - ] - }, - { - "columnName": "customer_id", - "joinedWith": [ - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_address.address_id", - "joinCount": 49 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_api_client.api_client_id", - "joinCount": 55 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_customer.customer_id", - "joinCount": 45 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_customer.shop_id", - "joinCount": 45 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_location.location_id", - "joinCount": 50 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.product\".product_id", - "joinCount": 40 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.shop\".shop_id", - "joinCount": 40 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_staff.user_id", - "joinCount": 20 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_order.order_id", - "joinCount": 60 - } - ] - }, - { - "columnName": "order_id", - "joinedWith": [ - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_address.address_id", - "joinCount": 49 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_api_client.api_client_id", - "joinCount": 55 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_customer.customer_id", - "joinCount": 45 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_location.location_id", - "joinCount": 50 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.product\".product_id", - "joinCount": 40 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.shop\".shop_id", - "joinCount": 40 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_staff.user_id", - "joinCount": 20 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_order.api_client_id", - "joinCount": 60 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_order.customer_id", - "joinCount": 60 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_order.order_id", - "joinCount": 60 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_order.shop_id", - "joinCount": 60 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_order.user_id", - "joinCount": 60 - } - ] - }, - { - "columnName": "location_id", - "joinedWith": [ - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_address.address_id", - "joinCount": 49 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_api_client.api_client_id", - "joinCount": 55 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_customer.customer_id", - "joinCount": 45 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_location.location_id", - "joinCount": 50 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.product\".product_id", - "joinCount": 40 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.\"dim.shop\".shop_id", - "joinCount": 40 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_staff.user_id", - "joinCount": 20 - }, - { - "fullyQualifiedName": "sample_data.ecommerce_db.shopify.fact_order.order_id", - "joinCount": 60 - } - ] - } - ] - }, - "sampleData": { - "columns": [ - "sale_id", - "billing_address_id", - "api_client_id", - "customer_id", - "line_item_id", - "location_id", - "order_id", - "product_id", - "product_variant_id", - "shipping_address_id", - "shop_id", - "user_id", - "gross_sales", - "net_sales", - "total_sales", - "returns", - "discounts", - "shipping", - "taxes", - "gift_card_discounts", - "gift_card_gross_sales", - "gift_cards_issued", - "quantity", - "currency", - "is_deleted", - "test", - "happened_at" - ], - "rows": [ - [ - "2b3c04be-73a4-400f-bad6-a3fa88b26a2d", - "9f502eb9-0455-43d2-99a7-7ab028578674", - "93bad0ce-cff9-4d02-8599-e6eff696ec06", - "5392f3b6-5490-4388-adda-f6a0e8d3b6f1", - "b4a0a627-4caa-44ea-9293-5321e4a9a615", - "3113c34b-4f56-43ef-b2f7-85a1b846b33e", - "cc86d5ed-aaf4-4593-adbf-b012ecd835bd", - "eeeddd3a-378d-4f76-93eb-fe61301fa6eb", - "dc9212a3-9412-4018-b860-6119f932edec", - "509c725c-e864-4b07-a220-cf06a6649eca", - "efb07aef-4188-4e75-81b5-8ac26fe1d6e9", - "ad839ed0-e65b-4bc3-8223-5460d66204e3", - 8231, - 1725, - 106, - 3753, - 7806, - 2792, - 3092, - 8243, - 1418, - 5164, - 3480, - "$46.92", - true, - false, - 284557208 - ], - [ - "8fcae9f7-ae17-4d48-aa59-00e969a06f44", - "4f9c05f2-1fef-4649-bd86-ed9cf3bb2bd0", - "bac3dd4c-d429-4dd7-be53-51b4e27ba176", - "56b9b7bd-2a80-49a5-86ee-b9f3c0bfc3e5", - "c845bf4d-1eb4-47fa-ab83-a36f0e3ed5ae", - "96e01920-05be-46c2-8e32-417461c2e8dc", - "f868cead-99d1-4970-be51-1fb067a95269", - "598c47ff-1e8b-49ca-8fcc-93f2c35b4a69", - "4d05cba7-e7d1-4977-8657-2d88d9b9f4ae", - "546990a0-ffe2-4aab-bd7a-b393af144272", - "0cc3ec68-f212-4790-affd-94f66c3ffddb", - "6139e1cd-5a97-4ab7-bb50-0bca429e0aba", - 9685, - 6667, - 2513, - 6084, - 6759, - 8739, - 797, - 339, - 6306, - 1216, - 8844, - "$2,623.03", - false, - false, - 1165807870 - ], - [ - "936c6b79-6cbc-462d-b743-69acf9566bfc", - "a4ad788d-b510-4c97-8d44-ef75f91a754a", - "ba19e3ea-a877-4b10-86dd-00b75f96695f", - "a76458e9-b7a4-4c37-902e-dfe5a6e1da66", - "264a1986-4b8b-4218-a459-0538a1317327", - "aafa7ecf-9ac0-4250-a920-26b8ac34c6af", - "16be2745-fe1b-47b9-b6f3-9bcee6b5c73c", - "4984879e-30d8-4efe-93a8-a6b92da9e381", - "54631da9-abef-4380-bb04-e52af3dbda2d", - "abfe4536-80b3-41ec-a9c1-95e3262895a1", - "2021fc9e-ef78-4e02-a150-75f7465354bc", - "c6aa8fe3-eba8-40d9-a59d-d90a8c534b21", - 1272, - 234, - 1070, - 4010, - 3001, - 7753, - 8539, - 7659, - 3972, - 3286, - 2301, - "$7.95", - false, - true, - 1604012068 - ], - [ - "a53309ce-f22e-4b4c-8e62-e1285cd698f4", - "583cd55c-9e84-4c94-bd6a-50b44012f8cd", - "d3c53275-3e80-4a2e-bc90-4286031120b2", - "34808169-7cc0-4c94-b628-522c7bcd5e0e", - "89735063-8b40-404b-98de-971b94b25af3", - "10b09906-dfd7-4964-aae8-b494d2b3c74c", - "e2d06093-b366-4d9c-87f4-4f00ec8b8c32", - "9822f269-e7b7-4f64-a844-4fe585eb1dac", - "2c0e857a-d732-49b7-96a0-4859a97b1731", - "ec880ad7-6fec-4ffa-b0a5-e25c0832e43c", - "9c3e947f-2892-4db3-9634-c07f03771969", - "794176f1-1e1c-47ac-a386-81b1548edad6", - 299, - 3495, - 5647, - 6889, - 107, - 9414, - 9714, - 2413, - 8378, - 4747, - 5553, - "$79,363.75", - false, - false, - 299334621 - ], - [ - "a8399308-f107-4d53-b307-a5f5abb41a47", - "d3bafb8c-8638-4dfe-b5e4-f431395b0384", - "ae1bdefa-946d-4ab5-9690-7e3cb15bedf6", - "75137797-5189-407a-b94c-91d82935445c", - "10580d7d-9a8a-4c86-9a58-27e065cf519c", - "cbf77ea6-cefb-45f3-bbdd-0ef72873474c", - "ee10a5a2-b424-4515-b8af-59352a1bdb20", - "dc08c325-3545-4ec4-9f66-fdcbe0a3c492", - "51b87d0e-194b-44c0-800b-b4cd133998ac", - "8212d97b-2cb4-4b02-89b1-6f4bf0eb06b0", - "3ecfd126-266a-4989-bd00-5821e8a04baa", - "46aac7a8-011d-4549-88dc-6232de00d0ea", - 1576, - 6465, - 9893, - 5649, - 8218, - 398, - 4581, - 1324, - 6938, - 5328, - 9213, - "$62,247.04", - false, - false, - 1448369157 - ], - [ - "6e352cb7-1e09-403b-9a6a-356102224fdd", - "79963a33-01f2-43f0-9a54-f495bfafcbfd", - "64a70aff-5c07-467e-90ac-422aa8cec80c", - "26d67968-4777-4b57-b331-deb8f7e6de72", - "3f66c791-8b67-4ee5-991c-538f6a715b38", - "dfe713a2-5218-4ac7-b959-22d8aca0f57c", - "dfb14016-7b2e-4565-9df0-c632923cdfa3", - "187bcb21-b94c-4502-90a4-007cebd1fdbf", - "299b5e9e-ca57-4ceb-98c4-334c5c8d5008", - "14a0914f-2447-49cc-96dd-34b72c8af541", - "e9307e60-3110-41cd-b43c-4d1829701e1d", - "3e50c0f1-589e-4d2b-ba37-ade60e926ac2", - 9592, - 5431, - 4444, - 6037, - 5351, - 4806, - 8592, - 2378, - 6936, - 9134, - 5586, - "$935.60", - false, - true, - 1355810610 - ], - [ - "9d863a14-a8eb-4273-a71b-438e0a6463b9", - "83445e17-4c54-483a-b9ce-b93daf1e2428", - "96531125-8159-4f53-bc5b-ab6b73a390bd", - "0a914623-08b3-4627-aeed-096d2d3e7857", - "21f219fa-a1a1-44c7-8bdc-2c794321051c", - "c7ed7c7b-e3e9-407f-9ca8-52762fb9634a", - "afdf8182-e24c-40b1-84e3-b3900bf27fc8", - "5d188a80-6575-4675-9aef-2785ddc1859a", - "1cda1f3c-3480-41c4-bc85-791c8815bc26", - "f85863d9-96c2-494f-881e-6b169367d2ce", - "8d182f00-84a0-4376-b4e1-39594ab28654", - "d2be77f4-c1fa-4f36-a2b0-4d8546094408", - 9000, - 5292, - 5760, - 8378, - 3333, - 9404, - 7258, - 773, - 8982, - 2613, - 8005, - "$3.54", - false, - false, - 1098380999 - ], - [ - "61d859cf-b4a2-4e15-8ca9-3a39b90cfcae", - "5e097c8d-b850-4a7c-a3ba-d042ea23f5ee", - "f6f8e533-49f4-4762-bfe3-89a5ac75a8c5", - "ad4a9a50-55b7-4058-a3a7-5cdcaa19fb7e", - "7ebc82c6-790f-4926-9150-7bb731d2555f", - "ad29ab7b-ef22-4b2f-bffc-f5e8e11f54ca", - "6c2af61e-f718-48cf-963e-f0050dc31f38", - "2ef661ec-e80c-40ce-bd82-9da3d323cff8", - "14d77096-93e7-44e0-ac67-8e623c8a756f", - "270ba39c-8b2e-45d7-b02a-1a7abc809086", - "bfe0754d-4761-4e4e-80b0-9a22a1095569", - "f428829c-581f-4efd-a07b-2ac0cfa21ac8", - 5882, - 1748, - 6641, - 2990, - 3310, - 1722, - 2671, - 1155, - 1433, - 5236, - 4526, - "$9,201.71", - false, - true, - 953790452 - ], - [ - "d0816df5-1d9e-4323-91f7-c13ce94f2ca6", - "eec855e3-4326-422f-8896-67c46303b1ba", - "d0828f25-ade4-49f5-9f42-ab845a7f4abf", - "d704320b-9dbd-4d4f-b8e3-2252608663ae", - "1e93fd8b-195d-4c35-8b10-7cd12f8107b9", - "52fa5ea3-2098-490e-9372-f9498954c502", - "7c6b8701-8d31-4bfa-ba8c-f12ecb72614e", - "f638a858-0238-4482-bbf3-3a4bfb1de854", - "2806b9c2-ba75-403f-9dd2-80dfa45f6855", - "3a893e6a-aaed-4927-9b54-2c45affbb26a", - "7e192612-5199-4aee-920f-8c49ad40f5c7", - "7f11d049-b5f7-4e90-9ed6-9d2a901a4c4f", - 8984, - 6145, - 496, - 1217, - 9939, - 5554, - 6502, - 8280, - 4494, - 3572, - 5054, - "$5.88", - false, - true, - 303959178 - ], - [ - "890bf664-8d87-4837-aec8-97a55dd9ff7a", - "e4acba3b-0bf6-4877-b141-6705285219ef", - "fd5f0ee8-b393-4ead-82e5-cded5ad20500", - "a1e08252-0e07-41ae-8d74-216122b66d43", - "0e032f12-fb27-4740-b249-c4b64d719e0a", - "a203daa6-f767-4a45-88cd-476042f3dd2b", - "07eb39c9-add1-409b-9d3c-9dd1b238a29a", - "fe2a18ca-51ca-47a4-a454-129d118161eb", - "8800e830-5002-4dff-a224-f4e596e0fa71", - "79af2b40-8843-44ff-85bd-459ab59b2574", - "274f5dd7-6ffe-44d6-8ecb-6f8807242cfc", - "61ef45a5-5428-41a5-aefe-9ae00a83072a", - 6360, - 6497, - 7353, - 6607, - 3722, - 9038, - 5543, - 7766, - 1889, - 633, - 5121, - "$47.87", - false, - false, - 1039960039 - ], - [ - "5a8499ed-6f72-4dbf-b6b8-7bd6bed694e8", - "27414077-6221-4590-b74b-555788183b28", - "25b09185-52dd-4d5a-991c-165c1748b8fd", - "daec26fc-8af8-4314-a1ce-8a6821e888c5", - "453c114b-0863-4f2c-8e59-47e9e03e0a30", - "0ba608c2-1942-45e7-8186-469384bde17c", - "20a0e41b-a53b-429f-b802-6834949802b2", - "8f23f415-be88-478f-894f-41d194be0d72", - "99ac479e-03a9-4951-9ceb-5248e25501d0", - "7a122c4d-9f7d-4612-89be-26e8f2633384", - "3203ebc8-f040-4a22-8051-53e26d7c75ae", - "2c16205f-3b8f-49d2-8d2e-4eda27090445", - 2267, - 6585, - 2498, - 6670, - 3673, - 28, - 8265, - 4186, - 8002, - 3080, - 929, - "$50.78", - true, - true, - 381526739 - ], - [ - "53d83b72-00a4-401b-b2fd-88ef216cb370", - "7b1d6340-19d7-404a-9bcf-b4391a06975b", - "e9f25e28-5986-407a-bb1a-aca42dd0809a", - "363c1eef-7e00-4b70-9a19-be63bbec2ce3", - "489de0b3-9a11-46dc-b474-7d5196e16bf0", - "5b1f0260-2723-48c4-9125-8885cf296c5f", - "493a2976-e2ca-4f1d-b73e-c3fe45caeef4", - "82b35f15-8e07-4031-bc9e-e1bc2c29376f", - "10ef9479-9503-41c5-85ee-9acee9efac8f", - "834bd950-eff8-4b4d-af76-9260328fd027", - "c930bd9a-462b-46d3-a439-b8698f438020", - "768c2392-70af-437e-9e0b-524cbdeefec1", - 2292, - 2119, - 9645, - 1916, - 3729, - 1024, - 8782, - 3913, - 1945, - 5367, - 3681, - "$68.87", - true, - false, - 1018476339 - ], - [ - "743aedce-c19b-4de6-a3a5-44abe76b631b", - "60fc4181-517e-465c-863e-96682c63a4da", - "20c1ad74-3e3e-43fd-b70e-8d865357f610", - "4f739c5d-ec5e-4a73-8368-07a87b54156a", - "404a8ca0-2ea5-4a50-9710-3f18d22bcbc3", - "df47cd8c-3c29-42db-9e5a-13bbe6d3dcdc", - "415027d7-0068-43b8-b0f3-1c5ed4e6fed1", - "aa92bc72-96bb-40dd-bfff-8e87966adebe", - "c9701d6e-8732-47e9-84bc-6d6f7dd88248", - "791a23d4-2c45-4292-a627-ebf75c744298", - "53223798-8f75-46b0-8b3b-fa12d9a352a8", - "32fea79c-b81e-43c4-91e2-862b1a51c099", - 4879, - 1918, - 3797, - 4178, - 1959, - 1899, - 5322, - 1860, - 4216, - 8385, - 2282, - "$29,275.45", - true, - true, - 286911468 - ], - [ - "6e6a97bf-eb88-41a3-a955-61e094d8a13a", - "1c642fe1-96c8-40f0-9117-9041ca09e99e", - "023ae957-b57b-4117-ac11-638b9908b25f", - "0cbab8d7-e9ce-4643-b737-09aba2d41ce0", - "c8915f98-590f-426a-8625-50aad5769f76", - "1bd71906-c7f6-4d22-a3d5-e8149bc7d7e4", - "208aaf57-8cdd-4118-ac51-f056d651a275", - "1d72eca8-d193-4cd0-8211-dadfe0941525", - "8c1f025b-d8b6-4c11-bba4-d2ad969df182", - "7650b35f-82d6-41c8-96e9-cc8568d73377", - "3568937d-4adc-4a50-8fa2-7e5b4290ee39", - "990c1e00-6c0b-44a2-a708-b37ade17183c", - 540, - 6727, - 7227, - 6665, - 3119, - 935, - 4720, - 6822, - 9858, - 8392, - 1658, - "$3,792.19", - true, - false, - 721743265 - ], - [ - "dc773f73-6bda-4dcf-be72-e973163471d9", - "c5f2d4f0-4f72-470e-a6ca-2e6041f7f697", - "15df4ab0-cee5-49ea-9b3f-29a6e530d089", - "140d6b1e-4845-4b86-a482-1c9f8272092b", - "104d6c75-043e-4e16-891f-eb0586b11c5e", - "d34790c1-b8a3-48ef-969e-f5adcbf61626", - "7daaa9da-7fb6-4889-8bad-76f92bbb4a4b", - "782e22df-7a32-418d-8556-92e019cae26b", - "8577dc80-5cd8-4106-9063-d3b2453793e8", - "a3bde947-a0b1-4568-8413-307156083836", - "11433e85-35c2-4bed-ac63-ac4e0aa6862b", - "4867e7d0-c8f5-42bc-ac52-9dcadc012925", - 5385, - 6449, - 8863, - 9314, - 3756, - 1082, - 685, - 3472, - 4900, - 7137, - 2266, - "$4,157.40", - false, - false, - 573408267 - ], - [ - "69c04e11-d7d4-49b3-8ab7-950265ff9f75", - "06413298-2aca-42ec-82d0-5990710e1721", - "be268375-168e-46bc-9bce-5ce288b35434", - "31ae938b-4b73-47e0-a3eb-f92f1b73db57", - "e63aa99c-7386-4517-8f67-43300e6635f4", - "2ee28606-5b0f-41cd-8c4c-16d13ae3ea02", - "23be1744-540c-4a3a-9be7-62b6fc325201", - "2fccec1a-e7f4-4ece-afd5-7a2a8f6a8df1", - "494575e8-164c-4e15-b07b-ed3c7a5ed4e0", - "ce749e24-a440-4745-874b-bbab0c236ead", - "5e443e05-b176-436c-8d8b-9f7a00098c8c", - "d718c74f-bd0b-4eb4-b4b8-aec7447c1ba6", - 1516, - 9572, - 9670, - 9036, - 4119, - 4095, - 2286, - 64, - 3755, - 2480, - 8931, - "$52,331.57", - true, - true, - 482254965 - ], - [ - "68c07db1-c2f0-4675-8917-5af457bd4a90", - "d9a612e8-87eb-4882-8ed9-840607094ac8", - "7271e44e-ed87-4a4e-b0b7-68e0cebab9f3", - "6939ee3f-a206-4627-a973-8111941815b8", - "9438bacf-067d-4d5b-a33f-9cb252c45ab1", - "e1401d2d-1aa6-4246-87d9-1708756a4b97", - "0b7aa5a0-b8c7-4f12-a88e-2ee86bfe2d78", - "b7da4535-6391-4dd9-81f1-fdc543c659bb", - "5e78ab47-99cc-4d6d-a74f-332565bdfbd0", - "8265b4f4-f1f8-4aed-817f-339417a3a7eb", - "6ece7a65-e5cf-4c76-be9d-085d934ad4fa", - "3a86a20e-b51c-44ed-93bc-c642d0c2f186", - 6012, - 1607, - 4333, - 6309, - 3880, - 3050, - 3961, - 2494, - 2996, - 2456, - 9075, - "$5.53", - true, - false, - 36764188 - ], - [ - "ec308a11-90e8-46a0-a6fc-60683ea84b0d", - "c1adb720-56d5-4d5d-aeef-4ba12a3d4c55", - "1a51e955-8486-446f-a29c-01c8de70acf6", - "c37c9395-ec46-4595-b751-be38674a30af", - "086b598d-25fb-4b6d-8f40-340f95d081d1", - "97e5c602-7076-42c4-95f8-d81cba0f3ba9", - "b89560fc-6ad1-41a2-9c3c-c059c558410a", - "c7cc6b50-0165-41ef-a0d2-2feea084f017", - "858572cf-7196-4f51-a9d1-01f130332562", - "326bc1c7-f74e-40ec-8dfc-b6ae0e6625ab", - "f02b21c9-f7d8-4d84-9243-4cb9bfbc58a6", - "0a281b23-2297-409c-82f5-1d4ae0873976", - 2585, - 1583, - 4676, - 2627, - 9317, - 2904, - 5912, - 1359, - 9534, - 1879, - 7107, - "$86,570.00", - false, - true, - 329450801 - ], - [ - "f84538e7-de61-4808-81e2-5eb700739b1d", - "a0a6b33c-0ebc-40af-b30d-efed93660807", - "20719997-f363-4a3c-afa8-34df186c853d", - "e396ffde-4655-4c5b-8f83-1d9135cbe27b", - "510f52b2-8f65-47f9-80bc-c30a13370f9d", - "b13b1ebc-d017-47b9-8303-c20b78fe4dbd", - "3a8c9275-2b43-4f99-b957-4e35bf019995", - "0578ce68-1f46-4508-95d6-4005b525afc4", - "47991b09-8a6b-467b-9923-06da64b7eae1", - "f793564f-4e06-4f69-a2a5-9b6a96b0c6b1", - "6b3ff4d3-0784-4d8f-b52d-7c4c3879568c", - "af7e8460-7347-42c1-8f19-61722743c4e1", - 6305, - 3006, - 9550, - 782, - 9062, - 195, - 2849, - 713, - 1033, - 606, - 567, - "$73,100.01", - false, - false, - 122218817 - ], - [ - "8720fc05-3237-4dc7-b741-69f3e8288923", - "d54e1508-cd8b-4903-b132-c07d1c03be3d", - "895392e8-1269-4f00-86c3-3bb9a5b49eef", - "ffc62a8a-ab28-43b5-b818-38db57d162db", - "be828999-92ca-4e7e-b8aa-30af27753d24", - "c4eadc41-3766-42a6-9178-f3eac740f173", - "89417c63-6b52-4f67-8b0d-8ba157e68d8c", - "b7df5178-3cd8-4f7c-a7a6-0d33790d1994", - "305688fe-7834-40ab-97f5-0929d537055a", - "3807dc06-827d-4342-9c51-06f2d4189eec", - "3ba42fb6-7cfd-40fb-a56c-887fe0c53251", - "42a10220-32ee-4e02-a0a4-60567077a194", - 9203, - 3879, - 2850, - 8466, - 4365, - 1642, - 8816, - 2453, - 7777, - 3818, - 5959, - "$4,648.39", - false, - false, - 105214299 - ], - [ - "322f1f9a-e867-494c-b90f-3e8d56d6ef66", - "8bc7dc0c-aa3f-455e-a794-feec40db0d8e", - "33f9f306-3fd0-4b30-9ef2-7c885ef1fe73", - "b2a91029-20f8-4e0c-a80b-77a5a403c236", - "103d835f-cfb2-47c2-bf1a-b861b4c7bf2c", - "8eeab758-1750-4e3f-b00a-efefb99a39bc", - "abfa4bbf-9c41-47ed-b995-0deba717efc1", - "aebfd886-8118-4196-97fe-1f441ab64f3d", - "e82465ac-d258-4251-ba8a-a784f6e0bf33", - "49414b22-fd2a-474e-a0ee-748eb6078e57", - "066fd4fa-9911-4bf5-b372-67306571d0a4", - "b533ab4e-e310-48e4-86e0-a808b55994a5", - 1129, - 5225, - 5837, - 4812, - 386, - 4638, - 4239, - 6761, - 6384, - 9874, - 6791, - "$784.35", - false, - false, - 1018673412 - ], - [ - "aa5479f6-7660-48c2-af0f-5c75e8a9fe92", - "8d45bcfd-1c6e-43b4-a1f1-4e2827d9d86c", - "29e5c746-0f70-4f27-9569-e829f0b87e3d", - "f3dda666-af5c-4185-87ae-8d566caa83bc", - "5fc19676-3def-47e7-a01e-35cb9457812e", - "2e926907-a8dc-4b52-9400-d55c5d5b5f37", - "59d1563f-7fff-4ea6-bb1a-e060bdd669aa", - "4d88fca5-0af5-42f6-bdfd-5c2bfc99575d", - "dc5531b2-b88c-4dcd-9d44-3d502c60e108", - "fff573cb-c933-44df-a46c-5563c78d7d03", - "e8e5fec6-7745-4901-999e-fa70d3198866", - "e74d1dc4-cb29-4d87-ae88-931d14c1132c", - 700, - 7100, - 5983, - 7188, - 5428, - 7233, - 9312, - 9439, - 5866, - 9497, - 4106, - "$5,791.84", - true, - false, - 264597060 - ], - [ - "4e9aa62b-04bf-4e0e-9b45-9a3aa7575e95", - "939f2927-a851-4dde-8558-ab0bfac7c955", - "4a2ab727-826b-472c-a89b-2dd1f3d33085", - "7697ddf9-2466-4532-8b53-2b0f25b576c7", - "17c7bfc6-bf9f-4f43-9b10-440338582742", - "8d517785-6f59-4e0e-a7eb-9cd9328ef44a", - "b9a36ef0-1862-4575-8856-ab82d6a8e753", - "1c29486e-a7d8-40d6-94b4-0200a25d7920", - "7986995f-a6b4-456d-9d1a-cb1eb324a1f9", - "a0dd01be-886c-4c7c-8447-a054920d2966", - "655c236f-6535-4644-8992-9761557e65fc", - "796ae1f9-d32c-40b3-afbc-bce2c105050a", - 2662, - 1231, - 4638, - 1932, - 1848, - 7118, - 3026, - 2298, - 724, - 5500, - 2145, - "$9.05", - false, - true, - 593894528 - ], - [ - "e066ab9f-75c8-489e-88a5-450995a9e473", - "d7b47277-cde3-40d9-9420-2f5532fb407b", - "b7649563-3e7c-4e6c-b9c4-a7e9420d2e96", - "04e7d3ba-11bf-4370-9866-9f2b7a67cb59", - "c011cd14-9489-4aec-82d0-ac70fa0849e4", - "3b2352fb-2ca1-4e2b-8b9e-f8c1435863cc", - "52fe65c2-40f4-473f-8557-ebeb5fbad816", - "986aefb6-27e4-4ea6-a211-87abd39c8fcd", - "7cc9d8d8-4fa5-4f8a-8d17-fc15ffe4294b", - "b7b730ce-d885-41dc-969d-f270c5d437f4", - "b31708ec-bf62-420c-b6d3-c539f1162646", - "0779b465-b645-406a-b4bf-a85aec5ade49", - 7388, - 3460, - 9981, - 6913, - 347, - 801, - 2762, - 299, - 7911, - 6267, - 9401, - "$6.50", - true, - true, - 1601338936 - ], - [ - "cecf3e7a-7e8f-4bca-88bf-c7b734129104", - "89f07a3d-b136-4e2e-b410-ed67aa27907e", - "835bc3f5-2f9c-452c-b3b1-4b5f7b1879f2", - "ce2883dc-eec9-45e8-8186-e4cc9e026b85", - "1d591e91-51f8-4ae3-8780-526da640ef5c", - "d2825593-d565-44aa-9411-c25631a16dd6", - "43bd19a3-11fc-4227-a7e7-3ea92e6c5014", - "b879d37b-147d-4e67-ab8b-695de181d23c", - "6d411488-1a83-4032-928f-e9beb2bf3128", - "078559d9-6055-464b-914e-049e45672645", - "34d11ccb-cd43-4971-b442-8c764b104066", - "3daa9228-f5f7-4f5c-b401-ca09e9c46556", - 8213, - 3569, - 9156, - 3945, - 1461, - 8180, - 3053, - 3003, - 3060, - 1485, - 2639, - "$21,405.64", - false, - true, - 321602929 - ] - ] - }, - "tableProfile": { - "timestamp": 1634366539, - "columnCount": 27, - "rowCount": 169, - "columnProfile": [ - { - "name": "sale_id", - "uniqueCount": 46, - "uniqueProportion": 0.4556834255, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "billing_address_id", - "uniqueCount": 36, - "uniqueProportion": 0.412740311, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "api_client_id", - "uniqueCount": 9, - "uniqueProportion": 0.4848320849, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "customer_id", - "uniqueCount": 16, - "uniqueProportion": 0.274374675, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "line_item_id", - "uniqueCount": 19, - "uniqueProportion": 0.1779729031, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "location_id", - "uniqueCount": 5, - "uniqueProportion": 0.403198425, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "order_id", - "uniqueCount": 41, - "uniqueProportion": 0.5763257885, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "product_id", - "uniqueCount": 1, - "uniqueProportion": 0.271483578, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "product_variant_id", - "uniqueCount": 18, - "uniqueProportion": 0.54392552, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "shipping_address_id", - "uniqueCount": 48, - "uniqueProportion": 0.457357716, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "shop_id", - "uniqueCount": 47, - "uniqueProportion": 0.1455819185, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "user_id", - "uniqueCount": 25, - "uniqueProportion": 0.502421822, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "gross_sales", - "uniqueCount": 10, - "uniqueProportion": 0.4514540014, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "net_sales", - "uniqueCount": 5, - "uniqueProportion": 0.643516191, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "total_sales", - "uniqueCount": 37, - "uniqueProportion": 0.1991445491, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "returns", - "uniqueCount": 23, - "uniqueProportion": 0.3934633215, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "discounts", - "uniqueCount": 10, - "uniqueProportion": 0.521182903, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "shipping", - "uniqueCount": 41, - "uniqueProportion": 0.577276297, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "taxes", - "uniqueCount": 15, - "uniqueProportion": 0.1038962515, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "gift_card_discounts", - "uniqueCount": 24, - "uniqueProportion": 0.4806029226, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "gift_card_gross_sales", - "uniqueCount": 23, - "uniqueProportion": 0.285063012, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "gift_cards_issued", - "uniqueCount": 4, - "uniqueProportion": 0.502737667, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "quantity", - "uniqueCount": 4, - "uniqueProportion": 0.424923401, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "currency", - "uniqueCount": 39, - "uniqueProportion": 0.1127764811, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "is_deleted", - "uniqueCount": 35, - "uniqueProportion": 0.5043061999, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "test", - "uniqueCount": 32, - "uniqueProportion": 0.370361415, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "happened_at", - "uniqueCount": 47, - "uniqueProportion": 0.983529122, - "distinctCount": 0, - "distinctProportion": 0 - } - ] - }, - "databaseSchema": { - "id": "d7be1e2c-b3dc-11ec-b909-0242ac120002", - "type": "databaseSchema", - "name": "sample_data.ecommerce_db.shopify", - "description": "This **mock** Schema contains tables related to shopify sales and orders with related dimension tables.", - "href": "http://localhost:8585/api/v1/databaseSchemas/d7be1e2c-b3dc-11ec-b909-0242ac120002" - }, - "sourceUrl": "http://localhost:8080/fact_sale" - }, - { - "id": "e12a4906-aaa3-47f8-960c-f19409a5e5a4", - "name": "fact_session", - "description": "This fact table contains information about the visitors to your online store. This table has one row per session, where one session can contain many page views. If you use Urchin Traffic Module (UTM) parameters in marketing campaigns, then you can use this table to track how many customers they direct to your store.", - "version": 0.1, - "updatedAt": 1638354087797, - "updatedBy": "anonymous", - "href": "http://localhost:8585/api/v1/tables/e12a4906-aaa3-47f8-960c-f19409a5e5a4", - "tableType": "Regular", - "columns": [ - { - "name": "derived_session_token", - "dataType": "VARCHAR", - "dataLength": 200, - "dataTypeDisplay": "varchar", - "description": "The ID of the visitor session. This column is the primary key for the table.", - "tags": [], - "constraint": "PRIMARY_KEY", - "ordinalPosition": 1 - }, - { - "name": "shop_id", - "dataType": "NUMERIC", - "dataTypeDisplay": "numeric", - "description": "The ID of the store. This column is a foreign key reference to the shop_id column in the dim_shop table.", - "tags": [], - "ordinalPosition": 2 - }, - { - "name": "session_duration", - "dataType": "NUMERIC", - "dataTypeDisplay": "numeric", - "description": "The time that the visitor spent in your store during the session. This value is the sum of the time spent on each page view (except for the last page viewed) during the session. The maximum value is 1800 seconds (30 minutes).", - "tags": [], - "ordinalPosition": 3 - }, - { - "name": "count_of_pageviews", - "dataType": "NUMERIC", - "dataTypeDisplay": "numeric", - "description": "The number of pages viewed during the session.", - "tags": [], - "ordinalPosition": 4 - }, - { - "name": "session_started_at", - "dataType": "TIMESTAMP", - "dataTypeDisplay": "timestamp", - "description": "The date (ISO 8601) and time (UTC) when this visitor session begins. It is the timestamp when the visitor first visits the store during this session. The format is YYYY-MM-DD HH:mm:ss (for example, 2016-02-05 17:04:01).", - "tags": [], - "ordinalPosition": 5 - }, - { - "name": "session_token", - "dataType": "VARCHAR", - "dataLength": 200, - "dataTypeDisplay": "varchar", - "description": "The ID of the session token that is created by the browser. A session token expires after 30 minutes of inactivity.", - "tags": [], - "ordinalPosition": 6 - }, - { - "name": "user_token", - "dataType": "VARCHAR", - "dataLength": 20, - "dataTypeDisplay": "varchar", - "description": "The unique token assigned to the user. A user token expires after 2 years of inactivity.", - "tags": [], - "constraint": "UNIQUE", - "ordinalPosition": 7 - }, - { - "name": "landing_page_url", - "dataType": "VARCHAR", - "dataLength": 1000, - "dataTypeDisplay": "varchar", - "description": "The full URL of the first page visited during the session. For example, https://www.myshop.com/products/cool-tshirt?utm_source=Shop&utm_medium=....", - "tags": [], - "ordinalPosition": 8 - }, - { - "name": "exit_page_path", - "dataType": "VARCHAR", - "dataLength": 1000, - "dataTypeDisplay": "varchar", - "description": "The path portion of the URL of the last page that the visitor visited during the session. This field is the same as exit_page_url except that it doesn\\u2019t contain the name of the store or any parameters. For example, /products/cool-tshirt.", - "tags": [], - "ordinalPosition": 9 - }, - { - "name": "exit_page_url", - "dataType": "VARCHAR", - "dataLength": 1000, - "dataTypeDisplay": "varchar", - "description": "The full URL of the last page that the visitor visited during the session. For example, https://www.myshop.com/products/cool-tshirt?utm_source=Shop&utm_medium=....", - "tags": [], - "ordinalPosition": 10 - }, - { - "name": "referrer_tld", - "dataType": "VARCHAR", - "dataLength": 100, - "dataTypeDisplay": "varchar", - "description": "The top-level domain of the referring website. For example, if the hostname is www.facebook.com, then the referrer_tld is com.", - "tags": [], - "ordinalPosition": 11 - }, - { - "name": "ua_browser", - "dataType": "VARCHAR", - "dataLength": 200, - "dataTypeDisplay": "varchar", - "description": "The name of the browser that the visitor used. For example, Mobile Safari, Chrome.", - "tags": [], - "ordinalPosition": 12 - }, - { - "name": "ua_raw", - "dataType": "VARCHAR", - "dataLength": 2000, - "dataTypeDisplay": "varchar", - "description": "The string that identifies the user agent of the user. User agent shows data about the operating system and device that a visitor uses to browse your store.", - "tags": [], - "ordinalPosition": 13 - }, - { - "name": "count_of_orders_completed", - "dataType": "NUMERIC", - "dataTypeDisplay": "numeric", - "description": "The number of orders created during the session.", - "tags": [], - "ordinalPosition": 14 - }, - { - "name": "completed_first_order_at", - "dataType": "TIMESTAMP", - "dataTypeDisplay": "timestamp", - "description": "The date (ISO 8601) and time (UTC) when the visitor completes their first order during this session. Contains NULL if the visitor never completes an order during this session. The format is YYYY-MM-DD HH:mm:ss (for example, 2016-02-05 17:04:01).", - "tags": [], - "ordinalPosition": 15 - }, - { - "name": "hit_first_checkout_at", - "dataType": "TIMESTAMP", - "dataTypeDisplay": "timestamp", - "description": "The date (ISO 8601) and time (UTC) when the visitor first visits the checkout page during this session. Contains NULL if the visitor never visits the checkout page during the session. The format is YYYY-MM-DD HH:mm:ss (for example, 2016-02-05 17:04:01).", - "tags": [], - "ordinalPosition": 16 - }, - { - "name": "started_first_checkout_at", - "dataType": "TIMESTAMP", - "dataTypeDisplay": "timestamp", - "description": "The date (ISO 8601) and time (UTC) when the visitor first starts entering their information into the checkout fields. Contains NULL if the visitor never enters their information during the session. The format is YYYY-MM-DD HH:mm:ss (for example, 2016-02-05 17:04:01).", - "tags": [], - "ordinalPosition": 17 - }, - { - "name": "count_of_cart_additions", - "dataType": "NUMERIC", - "dataTypeDisplay": "numeric", - "description": "The number of items added to the cart during the session. For example, if a customer adds 5 t-shirts and 1 lipstick to their cart, and then removes one of the t-shirts, then the value in this column is 6.", - "tags": [], - "ordinalPosition": 18 - }, - { - "name": "count_of_distinct_products_added_to_cart", - "dataType": "NUMERIC", - "dataTypeDisplay": "numeric", - "description": "The number of distinct products added to the cart during the session. For example, if a customer adds 5 t-shirts and 1 lipstick are added to the cart, then the value in this column is 2.", - "tags": [], - "ordinalPosition": 19 - }, - { - "name": "count_of_distinct_product_variants_added_to_cart", - "dataType": "NUMERIC", - "dataTypeDisplay": "numeric", - "description": "The number of distinct product variants added to the cart during the session. For example, if a customer adds 2 small and 3 large t-shirts and 1 lipstick to the cart, then the value in this column is 3.", - "tags": [], - "ordinalPosition": 20 - }, - { - "name": "had_error", - "dataType": "BOOLEAN", - "dataTypeDisplay": "boolean", - "description": "True when an an error appears during the checkout that is not a payment error, False otherwise.", - "tags": [], - "ordinalPosition": 21 - }, - { - "name": "had_payment_error", - "dataType": "BOOLEAN", - "dataTypeDisplay": "boolean", - "description": "True when a payment error occurs during the checkout, False otherwise.", - "tags": [], - "ordinalPosition": 22 - }, - { - "name": "had_out_of_stock_warning", - "dataType": "BOOLEAN", - "dataTypeDisplay": "boolean", - "description": "True when an out-of-stock warning appears on the checkout page, False otherwise.", - "tags": [], - "ordinalPosition": 23 - }, - { - "name": "had_credit_card_info_error", - "dataType": "BOOLEAN", - "dataTypeDisplay": "boolean", - "description": "True when a payment error occurs because of a credit card error, False otherwise.", - "tags": [], - "ordinalPosition": 24 - }, - { - "name": "had_discount", - "dataType": "BOOLEAN", - "dataTypeDisplay": "boolean", - "description": "True when a checkout error occurs because of a discount error, False otherwise.", - "tags": [], - "ordinalPosition": 25 - }, - { - "name": "had_free_shipping", - "dataType": "BOOLEAN", - "dataTypeDisplay": "boolean", - "description": "True when the order has no shipping cost, False otherwise.", - "tags": [], - "ordinalPosition": 26 - }, - { - "name": "location_city", - "dataType": "VARCHAR", - "dataLength": 100, - "dataTypeDisplay": "varchar", - "description": "The name of the city where the visitor is located. For example, Topeka.", - "tags": [], - "ordinalPosition": 27 - }, - { - "name": "location_region", - "dataType": "VARCHAR", - "dataLength": 100, - "dataTypeDisplay": "varchar", - "description": "The name of the region, such as a province or state, where the visitor is located. For example, Kansas.", - "tags": [], - "ordinalPosition": 28 - }, - { - "name": "location_region_code", - "dataType": "VARCHAR", - "dataLength": 200, - "dataTypeDisplay": "varchar", - "description": "The code for the region, such as a province or state, where the visitor is located. For example, KS.", - "tags": [], - "ordinalPosition": 29 - }, - { - "name": "location_country", - "dataType": "VARCHAR", - "dataLength": 100, - "dataTypeDisplay": "varchar", - "description": "The name of the country where the visitor is located. For example, United States.", - "tags": [], - "ordinalPosition": 30 - }, - { - "name": "location_country_code", - "dataType": "VARCHAR", - "dataLength": 100, - "dataTypeDisplay": "varchar", - "description": "The two-digit ISO country code where the visitor is located. For example, US.", - "tags": [], - "ordinalPosition": 31 - } - ], - "database": { - "id": "50da1ff8-4e1d-4967-8931-45edbf4dd908", - "type": "database", - "name": "sample_data.ecommerce_db", - "description": "This **mock** database contains tables related to shopify sales and orders with related dimension tables.", - "href": "http://localhost:8585/api/v1/databases/50da1ff8-4e1d-4967-8931-45edbf4dd908" - }, - "tags": [], - "usageSummary": { - "dailyStats": { - "count": 0, - "percentileRank": 0 - }, - "weeklyStats": { - "count": 0, - "percentileRank": 0 - }, - "monthlyStats": { - "count": 0, - "percentileRank": 0 - }, - "date": "2021-12-01" - }, - "followers": [], - "joins": { - "startDate": "2021-11-01", - "dayCount": 30, - "columnJoins": [] - }, - "sampleData": { - "columns": [ - "derived_session_token", - "shop_id", - "session_duration", - "count_of_pageviews", - "session_started_at", - "session_token", - "user_token", - "landing_page_url", - "exit_page_path", - "exit_page_url", - "referrer_tld", - "ua_browser", - "ua_raw", - "count_of_orders_completed", - "completed_first_order_at", - "hit_first_checkout_at", - "started_first_checkout_at", - "count_of_cart_additions", - "count_of_distinct_products_added_to_cart", - "count_of_distinct_product_variants_added_to_cart", - "had_error", - "had_payment_error", - "had_out_of_stock_warning", - "had_credit_card_info_error", - "had_discount", - "had_free_shipping", - "location_city", - "location_region", - "location_region_code", - "location_country", - "location_country_code" - ], - "rows": [ - [ - "Business notice.", - "98f2964f-28cf-4669-80ea-da1b8212ec38", - 6515, - 9710, - 280757041, - "Upon or direction.", - "Could my but.", - "Goal yourself by.", - "Oil million.", - "Throw tough picture.", - "State minute bad.", - "Chair effect window.", - "Item group loss.", - 3161, - 1441261638, - 997312254, - 204032729, - 9843, - 310, - 1859, - false, - false, - true, - false, - false, - false, - "New Ronaldchester", - "12597 Banks Fort Suite 100", - "533 Smith Ports", - "Cape Verde", - "Armenia" - ], - [ - "Maybe office kid it.", - "e3f0f5ed-a1e1-446d-8a6e-fce226d6db5b", - 8174, - 6925, - 412037667, - "Talk support season.", - "Tough former.", - "Wish both.", - "Someone debate.", - "Simply doctor bed.", - "Week space you.", - "Hear describe.", - "Full drop according.", - 3694, - 931612130, - 1263390104, - 237627849, - 8205, - 3120, - 5149, - false, - false, - false, - true, - true, - true, - "Seanport", - "898 Brown Way Suite 282", - "436 Saunders Heights", - "Tanzania", - "Burkina Faso" - ], - [ - "Administration.", - "438c9481-e054-498e-bd5c-59f02d67f36d", - 6751, - 4028, - 1224417435, - "City this plant.", - "Tell when.", - "Industry page.", - "Act see control.", - "Thus center general.", - "Close key quickly.", - "Example common.", - "Own figure among.", - 8669, - 343269703, - 1633098523, - 1233982170, - 7359, - 8691, - 5784, - true, - true, - true, - false, - false, - false, - "New Alexanderland", - "5071 Deborah Corners Suite 422", - "48742 Jessica Vista", - "Algeria", - "Eritrea" - ], - [ - "When raise model.", - "17bfef3d-674e-4a25-afe0-3e030c02b6c7", - 7732, - 2403, - 1610852338, - "Bill relate stuff.", - "Capital stuff.", - "Later tax prove.", - "Nation call radio.", - "International arm.", - "Chance final.", - "Someone tough.", - "Care amount.", - 241, - 1505323989, - 1491500018, - 894620757, - 4673, - 2966, - 1548, - false, - true, - true, - false, - false, - true, - "Thomaschester", - "6604 Angela Ranch", - "6081 Barbara Stravenue", - "San Marino", - "Colombia" - ], - [ - "Behavior once light.", - "9a7deeee-bfe6-4f05-a926-accdf93182d6", - 2159, - 6916, - 1487502234, - "Moment within.", - "Republican.", - "Up design.", - "View among apply.", - "And it building.", - "Operation yourself.", - "Skin enter hear.", - "Brother amount.", - 8706, - 1166851191, - 235523384, - 723103612, - 9832, - 8422, - 9680, - false, - true, - true, - true, - true, - false, - "South Dillon", - "41371 Vazquez Manors", - "7067 Charles Vista Suite 442", - "Equatorial Guinea", - "Spain" - ], - [ - "Here tell fight.", - "5a515461-e4d0-4bfb-abc4-3cc4d8c73ca7", - 1736, - 6863, - 1291026877, - "Talk partner thing.", - "Group look somebody.", - "Cold family amount.", - "Approach world.", - "Head benefit they.", - "Mouth station true.", - "Choice them sit Mr.", - "Figure training leg.", - 7814, - 26942572, - 1484045398, - 1561774354, - 698, - 1058, - 74, - true, - true, - false, - false, - false, - false, - "Katherinehaven", - "098 Bowers Keys", - "4487 Wilson Park Suite 958", "Lao People's Democratic Republic", - "Saint Pierre and Miquelon" - ], - [ - "Feel strong church.", - "7a13aeef-893f-4189-8a46-628b7ebb16f0", - 5304, - 4831, - 435244341, - "Sure thank drive.", - "Wonder and public.", - "Just condition.", - "Series require view.", - "Against.", - "Stay somebody.", - "Somebody beat model.", - "Discuss budget.", - 2533, - 1474089924, - 1255696124, - 731399725, - 8451, - 8613, - 2382, - true, - true, - true, - false, - true, - true, - "Lake Bruce", - "907 Tina Summit", - "382 Johnson Valley", - "Albania", - "Benin" - ], - [ - "Country likely give.", - "03687649-a91d-47d5-b6b8-8de89c71d514", - 7798, - 3998, - 496696572, - "Certainly rich.", - "Trip interesting.", - "Watch pay Congress.", - "Second table player.", - "Along defense chair.", - "Until member.", - "Author message ok.", - "Role popular one.", - 119, - 1051439649, - 591220914, - 973401506, - 9246, - 2375, - 321, - true, - true, - true, - true, - false, - false, - "Codystad", - "972 Reed Island Suite 687", - "4871 Jarvis Light Suite 130", - "Saudi Arabia", - "Marshall Islands" - ], - [ - "Performance second.", - "6e02c51d-42d1-474d-aa85-569f5b5c86c0", - 7600, - 4493, - 432525693, - "Affect fear there.", - "Involve day imagine.", - "Instead word play.", - "Child dog care rich.", - "Note special social.", - "Anything box large.", - "Office start change.", - "Several material.", - 2435, - 147427601, - 578274942, - 1081063955, - 4733, - 3173, - 8865, - true, - true, - false, - false, - true, - false, - "Garrettview", - "654 Miller Crossing", - "249 Oliver Hill", - "Tuvalu", - "Faroe Islands" - ], - [ - "Budget radio.", - "ceba06f1-0fa3-4d77-9c5b-35891760e077", - 3654, - 4476, - 704799217, - "Reduce city herself.", - "Happen see various.", - "Every open art.", - "Important section.", - "Exactly wish friend.", - "Employee message PM.", - "Area statement.", - "As bill continue.", - 1591, - 970778500, - 130938177, - 736565299, - 7071, - 4068, - 108, - false, - false, - true, - false, - true, - false, - "Port William", - "094 Strong Square Suite 958", - "841 Laura Pass Suite 842", - "Anguilla", - "United States Minor Outlying Islands" - ], - [ - "Available ability.", - "fad425cf-e3b6-42e7-929c-feaa160e8c0e", - 9268, - 6476, - 1173901969, - "Issue shake think.", - "Common child.", - "Clear pull Mrs.", - "Next central agent.", - "Draw perhaps trade.", - "Visit speak leader.", - "Plan herself poor.", - "Indicate summer.", - 5450, - 204688764, - 292994356, - 172115308, - 3591, - 5133, - 9949, - false, - false, - false, - false, - false, - true, - "Lake Tristantown", - "87174 Wood Branch Suite 727", - "543 Corey Falls", - "Liechtenstein", - "Turkmenistan" - ], - [ - "Room reveal worry.", - "5fc7157d-cb00-4d17-8032-fa12028a12af", - 1364, - 694, - 586527428, - "Officer political.", - "Fight risk.", - "Many people paper.", - "Material out those.", - "Buy else evidence.", - "Wonder cost woman.", - "Would including.", - "And reflect little.", - 1842, - 1357578437, - 26876047, - 170184137, - 4454, - 27, - 4854, - true, - true, - true, - true, - true, - false, - "Markland", - "3337 Allen Springs", - "979 Olivia Islands Apt. 324", - "Heard Island and McDonald Islands", - "Indonesia" - ], - [ - "Perform.", - "ae727b8a-86ac-4fda-a42d-ced170c53e4e", - 7466, - 5998, - 40704571, - "Base car painting.", - "Decade close no.", - "Debate realize.", - "Final special view.", - "Much whole follow.", - "Either seven guy.", - "No eye woman.", - "Billion ago help.", - 2895, - 810980449, - 539358416, - 774895786, - 922, - 9762, - 7865, - false, - true, - true, - false, - false, - true, - "East Richardside", - "1213 Taylor Trail", - "1574 Francis Row Suite 125", - "Liechtenstein", - "Aruba" - ], - [ - "Be end its reflect.", - "4a4f2406-8cd2-4bb0-b81a-df628cba0be7", - 6830, - 5576, - 480168726, - "Campaign.", - "Likely enter.", - "Nor smile east plan.", - "Their action too.", - "Coach whole.", - "Number politics.", - "Safe I camera along.", - "Finish brother.", - 9003, - 1393742198, - 384345696, - 189895868, - 8487, - 9745, - 6128, - false, - false, - true, - false, - true, - false, - "Douglaston", - "9562 Nunez Cliff", - "7541 Luis Spurs Apt. 805", - "Dominica", - "Malaysia" - ], - [ - "Certain her company.", - "e015e331-897e-4dd7-a1f1-83e93463580a", - 6509, - 656, - 607992192, - "Tonight those.", - "Argue quickly sit.", - "Almost rate ten.", - "Baby century.", - "Get our too within.", - "Change challenge be.", - "Oil talk on.", - "Article site.", - 587, - 678673148, - 744279088, - 677055702, - 1193, - 8991, - 4302, - true, - false, - true, - false, - false, - false, - "Guerreroville", - "415 Cross Isle Apt. 078", - "93918 Kathleen Overpass", - "Morocco", - "Israel" - ], - [ - "Only how around.", - "af6ffb39-82ff-4cd6-aa9e-6711f388f912", - 6394, - 3315, - 70235596, - "These finally.", - "Hope better town my.", - "His it though true.", - "Keep spring save.", - "Former live.", - "Century back.", - "Baby around brother.", - "Foreign sing great.", - 4163, - 233881613, - 250786674, - 141383656, - 6951, - 585, - 6701, - false, - false, - false, - true, - false, - false, - "Kellyshire", - "90374 Larson Villages", - "9936 Bridget Underpass Apt. 972", - "Netherlands Antilles", - "Burundi" - ], - [ - "Voice eight source.", - "642a1847-9f2d-4320-81bd-a044e9b308d7", - 2368, - 4802, - 1042891754, - "Sister quite before.", - "Security thousand.", - "Responsibility.", - "Born act help.", - "Reach worker piece.", - "Skill power artist.", - "Friend well.", - "Purpose true.", - 9419, - 471428438, - 1627026861, - 783147999, - 8534, - 9271, - 8214, - true, - false, - false, - false, - true, - false, - "West Brianburgh", - "805 Jackson Ford", - "06227 Jeffrey Mall Suite 164", - "Macedonia", - "British Virgin Islands" - ], - [ - "Believe prevent.", - "bea6c1b7-9a4d-450c-9d18-e3ec60743456", - 5919, - 3483, - 595007266, - "Hand keep ahead.", - "Example although.", - "Poor hot whose edge.", - "Condition computer.", - "Stuff style.", - "Machine east appear.", - "Her bar she expert.", - "Operation agent.", - 6403, - 1388332969, - 1616852117, - 1438180483, - 1939, - 1212, - 8257, - false, - true, - false, - false, - true, - true, - "Campbellchester", - "698 Brian Lakes Apt. 206", - "1931 Kevin Pines Suite 659", - "Denmark", - "Algeria" - ], - [ - "They question staff.", - "a0dd3c2b-8ad0-4e6a-9334-72bc5c3b1fdb", - 6511, - 789, - 1331850766, - "Week huge student.", - "Think dog medical.", - "Else church into.", - "Throw save fine.", - "Draw level main.", - "Appear attention.", - "Interview message.", - "If can if structure.", - 6329, - 1035217232, - 1333096297, - 840548559, - 4085, - 2628, - 467, - false, - true, - false, - false, - true, - true, - "Williamborough", - "537 Jackson Key", - "77788 Savage Port", - "Guam", - "Palau" - ], - [ - "News spend certain.", - "f410ac5a-4e27-4089-9a7e-0b0e162c976f", - 4022, - 3124, - 1536351773, - "Can artist garden.", - "Chair pretty leader.", - "Above among six.", - "Fill news statement.", - "Professional hour.", - "Democratic right.", - "Be item it over far.", - "Computer attack.", - 547, - 1405627132, - 307673336, - 242604845, - 1810, - 2144, - 6498, - false, - false, - true, - true, - true, - true, - "East Douglas", - "71969 James Villages Apt. 379", - "203 Gabriella Field Apt. 881", - "Tonga", - "French Guiana" - ], - [ - "Stop participant.", - "2e205929-03c9-468f-87b0-3781cede3dc2", - 9437, - 873, - 1245660893, - "Tax vote point.", - "Property fill.", - "Man miss wall five.", - "Effect meet ball.", - "Day sit away table.", - "Guess former owner.", - "Age drive carry.", - "Something food.", - 5558, - 1259355110, - 1337043292, - 845326975, - 2203, - 6178, - 3171, - true, - false, - false, - true, - true, - true, - "Kingburgh", - "663 Peterson Neck Apt. 497", - "69994 Wilson Freeway", - "France", - "Georgia" - ], - [ - "Although my your.", - "acca98c9-ee3a-499d-825c-1c47cd79d9e2", - 7368, - 4842, - 5544025, - "Approach government.", - "Move hit defense.", - "Carry past.", - "As wall see.", - "Its anything.", - "Only Mr explain.", - "Something worry.", - "Like first night.", - 9104, - 1373299729, - 68614905, - 1597002138, - 8656, - 4294, - 2861, - false, - false, - false, - false, - false, - true, - "North Donna", - "9989 Austin Roads Apt. 017", - "939 Patel Hills", - "Guinea", - "Denmark" - ], - [ - "City blue strategy.", - "4eaff441-62b1-4e1e-9303-19aa4a9bcb71", - 8071, - 8684, - 1252352129, - "Carry media now.", - "Toward gun sport.", - "Business society.", - "Recently bad walk.", - "Difference few lot.", - "Member near perform.", - "Cup cut film grow.", - "With able character.", - 8093, - 833346127, - 810480019, - 642457174, - 7654, - 8179, - 8758, - false, - true, - true, - false, - false, - false, - "Michaelburgh", - "839 Terri Meadows Apt. 423", - "786 Hooper Hollow", - "Iran", - "Oman" - ], - [ - "Citizen brother.", - "fc4153f2-5760-42a2-998f-b84237678f88", - 3261, - 3692, - 1500168233, - "Each environment.", - "Method treat art.", - "Series change born.", - "Strategy policy our.", - "Case expect fact.", - "Miss cut price week.", - "Family claim keep.", - "Laugh test across.", - 1807, - 947812854, - 815459721, - 532021274, - 2750, - 1807, - 9275, - false, - true, - false, - false, - false, - false, - "Davisport", - "724 Bryan Spurs", - "8220 Mahoney Valley Suite 178", - "South Georgia and the South Sandwich Islands", - "France" - ], - [ - "Leader school.", - "1d8fc84c-6e7f-44be-9a9f-53bc742bd0de", - 8491, - 3382, - 563712244, - "Cultural listen.", - "Vote view church.", - "Score arm success.", - "Task hotel cover.", - "Away maybe hit real.", - "Game whether seem.", - "Finish room lawyer.", - "Avoid movie data.", - 8749, - 358835628, - 580816579, - 1571849556, - 5319, - 241, - 8684, - false, - true, - false, - false, - false, - true, - "North Ricky", - "3036 Wong Loaf", - "2895 Marissa Expressway", - "Montenegro", - "Ethiopia" - ] - ] - }, - "tableProfile": { - "timestamp": 1634366539, - "columnCount": 31, - "rowCount": 169, - "columnProfile": [ - { - "name": "derived_session_token", - "uniqueCount": 46, - "uniqueProportion": 0.4556834255, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "shop_id", - "uniqueCount": 36, - "uniqueProportion": 0.412740311, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "session_duration", - "uniqueCount": 9, - "uniqueProportion": 0.4848320849, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "count_of_pageviews", - "uniqueCount": 16, - "uniqueProportion": 0.274374675, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "session_started_at", - "uniqueCount": 19, - "uniqueProportion": 0.1779729031, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "session_token", - "uniqueCount": 5, - "uniqueProportion": 0.403198425, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "user_token", - "uniqueCount": 1, - "uniqueProportion": 0.5763257885, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "landing_page_url", - "uniqueCount": 1, - "uniqueProportion": 0.271483578, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "exit_page_path", - "uniqueCount": 18, - "uniqueProportion": 0.54392552, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "exit_page_url", - "uniqueCount": 8, - "uniqueProportion": 0.457357716, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "referrer_tld", - "uniqueCount": 47, - "uniqueProportion": 0.1455819185, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "ua_browser", - "uniqueCount": 25, - "uniqueProportion": 0.502421822, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "ua_raw", - "uniqueCount": 10, - "uniqueProportion": 0.4514540014, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "count_of_orders_completed", - "uniqueCount": 5, - "uniqueProportion": 0.643516191, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "completed_first_order_at", - "uniqueCount": 37, - "uniqueProportion": 0.1991445491, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "hit_first_checkout_at", - "uniqueCount": 23, - "uniqueProportion": 0.3934633215, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "started_first_checkout_at", - "uniqueCount": 10, - "uniqueProportion": 0.521182903, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "count_of_distinct_products_added_to_cart", - "uniqueCount": 41, - "uniqueProportion": 0.577276297, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "count_of_distinct_product_variants_added_to_cart", - "uniqueCount": 15, - "uniqueProportion": 0.1038962515, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "had_error", - "uniqueCount": 24, - "uniqueProportion": 0.4806029226, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "had_payment_error", - "uniqueCount": 23, - "uniqueProportion": 0.285063012, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "had_out_of_stock_warning", - "uniqueCount": 4, - "uniqueProportion": 0.502737667, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "had_credit_card_info_error", - "uniqueCount": 4, - "uniqueProportion": 0.424923401, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "had_discount", - "uniqueCount": 39, - "uniqueProportion": 0.1127764811, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "had_free_shipping", - "uniqueCount": 35, - "uniqueProportion": 0.5043061999, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "location_city", - "uniqueCount": 32, - "uniqueProportion": 0.370361415, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "location_region", - "uniqueCount": 47, - "uniqueProportion": 0.983529122, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "location_region_code", - "uniqueCount": 38, - "uniqueProportion": 0.1136043573, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "location_country", - "uniqueCount": 29, - "uniqueProportion": 0.0639865, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "location_country_code", - "uniqueCount": 29, - "uniqueProportion": 0.0639865, - "distinctCount": 0, - "distinctProportion": 0 - } - ] - }, - "databaseSchema": { - "id": "d7be1e2c-b3dc-11ec-b909-0242ac120002", - "type": "databaseSchema", - "name": "sample_data.ecommerce_db.shopify", - "description": "This **mock** Schema contains tables related to shopify sales and orders with related dimension tables.", - "href": "http://localhost:8585/api/v1/databaseSchemas/d7be1e2c-b3dc-11ec-b909-0242ac120002" - }, - "sourceUrl": "http://localhost:8080/fact_session" - }, - { - "id": "d3e3283f-9a51-4de9-add7-c12c3ed58ba1", - "name": "raw_customer", - "description": "This is a raw customers table as represented in our online DB. This contains personal, shipping and billing addresses and details of the customer store and customer profile. This table is used to build our dimensional and fact tables", - "version": 0.1, - "updatedAt": 1638354087833, - "updatedBy": "anonymous", - "href": "http://localhost:8585/api/v1/tables/d3e3283f-9a51-4de9-add7-c12c3ed58ba1", - "tableType": "Regular", - "columns": [ - { - "name": "comments", - "dataType": "STRING", - "dataLength": 1, - "dataTypeDisplay": "string", - "tags": [], - "constraint": "NULL", - "ordinalPosition": 1 - }, - { - "name": "creditcard", - "dataType": "STRING", - "dataLength": 1, - "dataTypeDisplay": "string", - "tags": [], - "constraint": "NULL", - "ordinalPosition": 2 - }, - { - "name": "membership", - "dataType": "STRING", - "dataLength": 1, - "dataTypeDisplay": "string", - "tags": [], - "constraint": "NULL", - "ordinalPosition": 4 - }, - { - "name": "orders", - "dataType": "ARRAY", - "arrayDataType": "STRUCT", - "dataLength": 1, - "dataTypeDisplay": "array>", - "tags": [], - "constraint": "NULL", - "ordinalPosition": 5 - }, - { - "name": "platform", - "dataType": "STRING", - "dataLength": 1, - "dataTypeDisplay": "string", - "tags": [], - "constraint": "NULL", - "ordinalPosition": 6 - }, - { - "name": "preference", - "dataType": "MAP", - "dataLength": 1, - "dataTypeDisplay": "map", - "tags": [], - "constraint": "NULL", - "ordinalPosition": 7 - }, - { - "name": "shipping_address", - "dataType": "ARRAY", - "arrayDataType": "STRUCT", - "dataLength": 1, - "dataTypeDisplay": "array>", - "tags": [], - "constraint": "NULL", - "ordinalPosition": 8 - }, - { - "name": "shipping_date", - "dataType": "STRING", - "dataLength": 1, - "dataTypeDisplay": "string", - "tags": [], - "constraint": "NULL", - "ordinalPosition": 9 - }, - { - "name": "transaction_date", - "dataType": "STRING", - "dataLength": 1, - "dataTypeDisplay": "string", - "tags": [], - "constraint": "NULL", - "ordinalPosition": 10 - }, - { - "name": "customer", - "dataType": "STRUCT", - "dataLength": 1, - "dataTypeDisplay": "struct", - "tags": [], - "constraint": "NULL", - "ordinalPosition": 3, - "children": [ - { - "name": "username", - "dataType": "VARCHAR", - "dataLength": 32, - "dataTypeDisplay": "character varying(32)", - "tags": [], - "constraint": "NULL" - }, - { - "name": "name", - "dataType": "VARCHAR", - "dataLength": 32, - "dataTypeDisplay": "character varying(32)", - "tags": [], - "constraint": "NULL" - }, - { - "name": "sex", - "dataType": "CHAR", - "dataLength": 1, - "dataTypeDisplay": "char(1)", - "tags": [], - "constraint": "NULL" - }, - { - "name": "address", - "dataType": "VARCHAR", - "dataLength": 128, - "dataTypeDisplay": "character varying(128)", - "tags": [], - "constraint": "NULL" - }, - { - "name": "mail", - "dataType": "VARCHAR", - "dataLength": 64, - "dataTypeDisplay": "character varying(64)", - "tags": [], - "constraint": "NULL" - }, - { - "name": "birthdate", - "dataType": "VARCHAR", - "dataLength": 16, - "dataTypeDisplay": "character varying(16)", - "tags": [], - "constraint": "NULL" - } - ] - } - ], - "database": { - "id": "50da1ff8-4e1d-4967-8931-45edbf4dd908", - "type": "database", - "name": "sample_data.ecommerce_db", - "description": "This **mock** database contains tables related to shopify sales and orders with related dimension tables.", - "href": "http://localhost:8585/api/v1/databases/50da1ff8-4e1d-4967-8931-45edbf4dd908" - }, - "tags": [], - "usageSummary": { - "dailyStats": { - "count": 0, - "percentileRank": 0 - }, - "weeklyStats": { - "count": 0, - "percentileRank": 0 - }, - "monthlyStats": { - "count": 0, - "percentileRank": 0 - }, - "date": "2021-12-01" - }, - "followers": [], - "joins": { - "startDate": "2021-11-01", - "dayCount": 30, - "columnJoins": [] - }, - "sampleData": { - "columns": [ - "comments", - "creditcard", - "membership", - "orders", - "platform", - "preference", - "shipping_address", - "shipping_date", - "transaction_date", - "customer" - ], - "rows": [ - [ - null, - null, - null, - null, - null, - null, - "4623 Mitchell Crossroad Apt. 206", - 242084248, - 80893208, - null - ], - [ - null, - null, - null, - null, - null, - null, - "80527 Jessica Courts", - 287198341, - 1135534568, - null - ], - [ - null, - null, - null, - null, - null, - null, - "951 Holland Flats", - 814078750, - 192700469, - null - ], - [ - null, - null, - null, - null, - null, - null, - "697 Hess Villages Apt. 365", - 97483440, - 1232399547, - null - ], - [ - null, - null, - null, - null, - null, - null, - "20835 Julia Extension Apt. 352", - 1550867691, - 678711020, - null - ], - [ - null, - null, - null, - null, - null, - null, - "438 George Green Suite 652", - 1199543048, - 412335178, - null - ], - [ - null, - null, - null, - null, - null, - null, - "6206 Stephanie Dam", - 456586033, - 1409312217, - null - ], - [ - null, - null, - null, - null, - null, - null, - "9654 Henderson Keys", - 1185594873, - 504953059, - null - ], - [ - null, - null, - null, - null, - null, - null, - "626 Mays Forest", - 652053668, - 667525459, - null - ], - [ - null, - null, - null, - null, - null, - null, - "7916 Daniel Valley", - 1018918703, - 850455966, - null - ], - [ - null, - null, - null, - null, - null, - null, - "61398 Roberson Plains", - 61323024, - 1225264804, - null - ], - [ - null, - null, - null, - null, - null, - null, - "70819 Jamie Prairie Apt. 427", - 725256829, - 1191992354, - null - ], - [ - null, - null, - null, - null, - null, - null, - "030 Riley Summit Apt. 640", - 88691594, - 970878935, - null - ], - [ - null, - null, - null, - null, - null, - null, - "0646 Carrie Valleys", - 726140153, - 1209684435, - null - ], - [ - null, - null, - null, - null, - null, - null, - "342 Steele Point Suite 388", - 536416165, - 487566360, - null - ], - [ - null, - null, - null, - null, - null, - null, - "0064 Walker Courts Suite 141", - 445703097, - 57868792, - null - ], - [ - null, - null, - null, - null, - null, - null, - "8394 Carter Plains", - 304850404, - 671543822, - null - ], - [ - null, - null, - null, - null, - null, - null, - "3967 Kristin Ramp Apt. 788", - 682198675, - 209589233, - null - ], - [ - null, - null, - null, - null, - null, - null, - "0890 Durham Stravenue Suite 927", - 1546709381, - 30232173, - null - ], - [ - null, - null, - null, - null, - null, - null, - "8507 Christopher Spurs Apt. 508", - 1226200217, - 239895098, - null - ], - [ - null, - null, - null, - null, - null, - null, - "2732 Kimberly Pike", - 221054516, - 1014280311, - null - ], - [ - null, - null, - null, - null, - null, - null, - "717 Wolf Flats", - 583955725, - 816705266, - null - ], - [ - null, - null, - null, - null, - null, - null, - "67983 Morgan Mountains Suite 694", - 109726711, - 1102451601, - null - ], - [ - null, - null, - null, - null, - null, - null, - "2164 Chambers Way", - 846170119, - 1297650242, - null - ], - [ - null, - null, - null, - null, - null, - null, - "88439 Brown Road", - 333730714, - 844310983, - null - ] - ] - }, - "tableProfile": { - "timestamp": 1634366539, - "columnCount": 10, - "rowCount": 1909, - "columnProfile": [ - { - "name": "comments", - "uniqueCount": 9, - "uniqueProportion": 0.49029275, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "creditcard", - "uniqueCount": 29, - "uniqueProportion": 0.4956064142, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "membership", - "uniqueCount": 13, - "uniqueProportion": 0.1327792, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "orders", - "uniqueCount": 23, - "uniqueProportion": 0.177126, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "platform", - "uniqueCount": 69, - "uniqueProportion": 0.0396391, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "preference", - "uniqueCount": 86, - "uniqueProportion": 0.0690369, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "shipping_address", - "uniqueCount": 23, - "uniqueProportion": 0.1210963, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "shipping_date", - "uniqueCount": 6, - "uniqueProportion": 0.024072, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "transaction_date", - "uniqueCount": 3, - "uniqueProportion": 0.1478114, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "customer", - "uniqueCount": 11, - "uniqueProportion": 0.1383472, - "distinctCount": 0, - "distinctProportion": 0 - } - ] - }, - "databaseSchema": { - "id": "d7be1e2c-b3dc-11ec-b909-0242ac120002", - "type": "databaseSchema", - "name": "sample_data.ecommerce_db.shopify", - "description": "This **mock** Schema contains tables related to shopify sales and orders with related dimension tables.", - "href": "http://localhost:8585/api/v1/databaseSchemas/d7be1e2c-b3dc-11ec-b909-0242ac120002" - }, - "sourceUrl": "http://localhost:8080/raw_customer" - }, - { - "id": "96b4af15-3bdf-4483-a602-3014bbd8ebc6", - "name": "raw_order", - "description": "This is a raw orders table as represented in our online DB. This table contains all the orders by the customers and can be used to buid our dim and fact tables", - "version": 0.1, - "updatedAt": 1638354087862, - "updatedBy": "anonymous", - "href": "http://localhost:8585/api/v1/tables/96b4af15-3bdf-4483-a602-3014bbd8ebc6", - "tableType": "Regular", - "columns": [ - { - "name": "comments", - "dataType": "STRING", - "dataLength": 1, - "dataTypeDisplay": "string", - "tags": [], - "constraint": "NULL", - "ordinalPosition": 1 - }, - { - "name": "creditcard", - "dataType": "STRING", - "dataLength": 1, - "dataTypeDisplay": "string", - "tags": [], - "constraint": "NULL", - "ordinalPosition": 2 - }, - { - "name": "membership", - "dataType": "STRING", - "dataLength": 1, - "dataTypeDisplay": "string", - "tags": [], - "constraint": "NULL", - "ordinalPosition": 4 - }, - { - "name": "orders", - "dataType": "ARRAY", - "arrayDataType": "STRUCT", - "dataLength": 1, - "dataTypeDisplay": "array>", - "tags": [], - "constraint": "NULL", - "ordinalPosition": 5 - }, - { - "name": "platform", - "dataType": "STRING", - "dataLength": 1, - "dataTypeDisplay": "string", - "tags": [], - "constraint": "NULL", - "ordinalPosition": 6 - }, - { - "name": "preference", - "dataType": "MAP", - "dataLength": 1, - "dataTypeDisplay": "map", - "tags": [], - "constraint": "NULL", - "ordinalPosition": 7 - }, - { - "name": "shipping_address", - "dataType": "ARRAY", - "arrayDataType": "STRUCT", - "dataLength": 1, - "dataTypeDisplay": "array>", - "tags": [], - "constraint": "NULL", - "ordinalPosition": 8 - }, - { - "name": "shipping_date", - "dataType": "STRING", - "dataLength": 1, - "dataTypeDisplay": "string", - "tags": [], - "constraint": "NULL", - "ordinalPosition": 9 - }, - { - "name": "transaction_date", - "dataType": "STRING", - "dataLength": 1, - "dataTypeDisplay": "string", - "tags": [], - "constraint": "NULL", - "ordinalPosition": 10 - }, - { - "name": "total_order_count", - "dataType": "NUMERIC", - "dataTypeDisplay": "numeric", - "description": "The total number of orders that the customer has made from this store across their lifetime.", - "tags": [], - "ordinalPosition": 11 - }, - { - "name": "total_order_value", - "dataType": "NUMERIC", - "dataTypeDisplay": "numeric", - "description": "The total amount of money that the customer has spent on orders from the store across their lifetime. The value is formatted in the store's currency.", - "tags": [], - "ordinalPosition": 12 - }, - { - "name": "first_order_date", - "dataType": "TIMESTAMP", - "dataTypeDisplay": "timestamp", - "description": "The date (ISO 8601) and time (UTC) when the customer placed their first order. The format is YYYY-MM-DD HH:mm:ss (for example, 2016-02-05 17:04:01).", - "tags": [], - "ordinalPosition": 13 - }, - { - "name": "last_order_date", - "dataType": "TIMESTAMP", - "dataTypeDisplay": "timestamp", - "description": "The date (ISO 8601) and time (UTC) when the customer placed their most recent order. The format is YYYY-MM-DD HH:mm:ss (for example, 2016-02-05 17:04:01).", - "tags": [], - "ordinalPosition": 14 - } - ], - "database": { - "id": "50da1ff8-4e1d-4967-8931-45edbf4dd908", - "type": "database", - "name": "sample_data.ecommerce_db", - "description": "This **mock** database contains tables related to shopify sales and orders with related dimension tables.", - "href": "http://localhost:8585/api/v1/databases/50da1ff8-4e1d-4967-8931-45edbf4dd908" - }, - "tags": [], - "usageSummary": { - "dailyStats": { - "count": 0, - "percentileRank": 0 - }, - "weeklyStats": { - "count": 0, - "percentileRank": 0 - }, - "monthlyStats": { - "count": 0, - "percentileRank": 0 - }, - "date": "2021-12-01" - }, - "followers": [], - "joins": { - "startDate": "2021-11-01", - "dayCount": 30, - "columnJoins": [] - }, - "sampleData": { - "columns": [ - "comments", - "creditcard", - "membership", - "orders", - "platform", - "preference", - "shipping_address", - "shipping_date", - "transaction_date", - "total_order_count", - "total_order_value", - "first_order_date", - "last_order_date" - ], - "rows": [ - [ - null, - null, - null, - null, - null, - null, - "9987 Shepard Underpass Suite 829", - 726665767, - 1383088348, - 1571, - 7937, - 811170544, - 369445530 - ], - [ - null, - null, - null, - null, - null, - null, - "59776 Diaz Isle Suite 373", - 683412101, - 667229183, - 7919, - 8768, - 1522699896, - 720783033 - ], - [ - null, - null, - null, - null, - null, - null, - "471 Steven Lane Apt. 977", - 315943873, - 1564383968, - 4652, - 5735, - 443842581, - 1573056643 - ], - [ - null, - null, - null, - null, - null, - null, - "789 Rose Unions Apt. 755", - 682296623, - 921937561, - 2610, - 3176, - 813522623, - 1006715929 - ], - [ - null, - null, - null, - null, - null, - null, - "151 Evans Lodge Apt. 634", - 1415425597, - 1145198666, - 6610, - 1433, - 1506967973, - 190645326 - ], - [ - null, - null, - null, - null, - null, - null, - "853 David Glen", - 657463840, - 658896020, - 3705, - 8549, - 415916199, - 285083290 - ], - [ - null, - null, - null, - null, - null, - null, - "9697 Scott Locks Suite 197", - 1259222247, - 1393361062, - 5824, - 8881, - 1316015631, - 1598135866 - ], - [ - null, - null, - null, - null, - null, - null, - "0425 Fletcher Village", - 1246898499, - 1633228030, - 4173, - 1583, - 102436863, - 865031571 - ], - [ - null, - null, - null, - null, - null, - null, - "15751 Castro Point Suite 451", - 1608682680, - 1567114050, - 6340, - 625, - 375666873, - 991232919 - ], - [ - null, - null, - null, - null, - null, - null, - "05084 Faulkner Lodge Suite 811", - 1132871794, - 1622046526, - 772, - 9411, - 1458743867, - 429475162 - ], - [ - null, - null, - null, - null, - null, - null, - "6043 Lyons Court", - 1185224522, - 1231382502, - 5032, - 9998, - 1397469241, - 543255694 - ], - [ - null, - null, - null, - null, - null, - null, - "17041 Davis Cove", - 453587971, - 1074564089, - 9406, - 2881, - 1574941539, - 1451844711 - ], - [ - null, - null, - null, - null, - null, - null, - "42460 Jones Turnpike", - 1089742451, - 1087758203, - 9593, - 1850, - 1312021573, - 1016819160 - ], - [ - null, - null, - null, - null, - null, - null, - "8956 Tamara Extensions", - 1149893805, - 1209792156, - 2942, - 9917, - 1433423752, - 152115175 - ], - [ - null, - null, - null, - null, - null, - null, - "534 Scott Bridge Apt. 956", - 636656520, - 1585062193, - 6475, - 5061, - 509996865, - 873299671 - ], - [ - null, - null, - null, - null, - null, - null, - "36067 Brown Meadows Apt. 313", - 98615505, - 500312618, - 3339, - 9186, - 914419085, - 1336484763 - ], - [ - null, - null, - null, - null, - null, - null, - "97987 Gibson Center Suite 910", - 1464868669, - 1591300671, - 1966, - 7667, - 1289436427, - 1417368621 - ], - [ - null, - null, - null, - null, - null, - null, - "74146 Greene Summit Apt. 670", - 683704052, - 88935361, - 1801, - 6764, - 437414813, - 1467065017 - ], - [ - null, - null, - null, - null, - null, - null, - "27141 John Meadow Suite 478", - 734027591, - 1462987480, - 2653, - 2830, - 1013641348, - 604204487 - ], - [ - null, - null, - null, - null, - null, - null, - "270 Thomas Port Apt. 134", - 1081559903, - 560070050, - 7936, - 8981, - 206058058, - 1540427936 - ], - [ - null, - null, - null, - null, - null, - null, - "03414 Cooper Mission", - 1096111091, - 1458766140, - 3272, - 7285, - 1461188519, - 357692491 - ], - [ - null, - null, - null, - null, - null, - null, - "013 Gould Square Suite 463", - 1506204555, - 1286834827, - 5367, - 6441, - 781185782, - 51915773 - ], - [ - null, - null, - null, - null, - null, - null, - "77002 Hatfield Garden", - 982757396, - 552038278, - 2895, - 9044, - 833014857, - 143130829 - ], - [ - null, - null, - null, - null, - null, - null, - "8349 Garcia Knolls Apt. 841", - 91042733, - 1566249656, - 1277, - 1321, - 763231604, - 1532686309 - ], - [ - null, - null, - null, - null, - null, - null, - "884 King Point Suite 294", - 1281958163, - 1507082407, - 564, - 7247, - 1035048614, - 1366169091 - ] - ] - }, - "tableProfile": { - "timestamp": 1634366539, - "columnCount": 13, - "rowCount": 295, - "columnProfile": [ - { - "name": "comments", - "uniqueCount": 9, - "uniqueProportion": 0.93902492, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "creditcard", - "uniqueCount": 29, - "uniqueProportion": 0.3763427824, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "membership", - "uniqueCount": 13, - "uniqueProportion": 0.1327792, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "orders", - "uniqueCount": 23, - "uniqueProportion": 0.177126, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "platform", - "uniqueCount": 11, - "uniqueProportion": 0.0396391, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "preference", - "uniqueCount": 93, - "uniqueProportion": 0.0690369, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "shipping_address", - "uniqueCount": 23, - "uniqueProportion": 0.1210963, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "shipping_date", - "uniqueCount": 6, - "uniqueProportion": 0.024072, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "transaction_date", - "uniqueCount": 3, - "uniqueProportion": 0.1478114, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "total_order_count", - "uniqueCount": 11, - "uniqueProportion": 0.1383472, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "total_order_value", - "uniqueCount": 13, - "uniqueProportion": 0.1601013, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "first_order_date", - "uniqueCount": 8, - "uniqueProportion": 0.1297079, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "last_order_date", - "uniqueCount": 16, - "uniqueProportion": 0.1968912, - "distinctCount": 0, - "distinctProportion": 0 - } - ] - }, - "databaseSchema": { - "id": "d7be1e2c-b3dc-11ec-b909-0242ac120002", - "type": "databaseSchema", - "name": "sample_data.ecommerce_db.shopify", - "description": "This **mock** Schema contains tables related to shopify sales and orders with related dimension tables.", - "href": "http://localhost:8585/api/v1/databaseSchemas/d7be1e2c-b3dc-11ec-b909-0242ac120002" - }, - "sourceUrl": "http://localhost:8080/raw_order" - }, - { - "name": "raw_product_catalog", - "description": "This is a raw product catalog table contains the product listing, price, seller etc.. represented in our online DB. ", - "version": 0.1, - "updatedAt": 1638354087891, - "updatedBy": "anonymous", - "href": "http://localhost:8585/api/v1/tables/afce49e7-8ae1-41e3-971e-8f79c254b24a", - "tableType": "Regular", - "columns": [ - { - "name": "comments", - "dataType": "STRING", - "dataLength": 1, - "dataTypeDisplay": "string", - "tags": [], - "constraint": "NULL", - "ordinalPosition": 1 - }, - { - "name": "products", - "dataType": "ARRAY", - "arrayDataType": "STRUCT", - "dataLength": 1, - "dataTypeDisplay": "array>", - "tags": [], - "constraint": "NULL", - "ordinalPosition": 2 - }, - { - "name": "platform", - "dataType": "STRING", - "dataLength": 1, - "dataTypeDisplay": "string", - "tags": [], - "constraint": "NULL", - "ordinalPosition": 3 - }, - { - "name": "store_address", - "dataType": "ARRAY", - "arrayDataType": "STRUCT", - "dataLength": 1, - "dataTypeDisplay": "array>", - "tags": [], - "constraint": "NULL", - "ordinalPosition": 4 - }, - { - "name": "first_order_date", - "dataType": "TIMESTAMP", - "dataTypeDisplay": "timestamp", - "description": "The date (ISO 8601) and time (UTC) when the customer placed their first order. The format is YYYY-MM-DD HH:mm:ss (for example, 2016-02-05 17:04:01).", - "tags": [], - "ordinalPosition": 5 - }, - { - "name": "last_order_date", - "dataType": "TIMESTAMP", - "dataTypeDisplay": "timestamp", - "description": "The date (ISO 8601) and time (UTC) when the customer placed their most recent order. The format is YYYY-MM-DD HH:mm:ss (for example, 2016-02-05 17:04:01).", - "tags": [], - "ordinalPosition": 6 - } - ], - "database": { - "id": "50da1ff8-4e1d-4967-8931-45edbf4dd908", - "type": "database", - "name": "sample_data.ecommerce_db", - "description": "This **mock** database contains tables related to shopify sales and orders with related dimension tables.", - "href": "http://localhost:8585/api/v1/databases/50da1ff8-4e1d-4967-8931-45edbf4dd908" - }, - "tags": [], - "usageSummary": { - "dailyStats": { - "count": 0, - "percentileRank": 0 - }, - "weeklyStats": { - "count": 0, - "percentileRank": 0 - }, - "monthlyStats": { - "count": 0, - "percentileRank": 0 - }, - "date": "2021-12-01" - }, - "followers": [], - "joins": { - "startDate": "2021-11-01", - "dayCount": 30, - "columnJoins": [] - }, - "sampleData": { - "columns": [ - "comments", - "products", - "platform", - "store_address", - "first_order_date", - "last_order_date" - ], - "rows": [ - [ - null, - null, - null, - "58000 Alvarez Rapids Apt. 602", - 1337535723, - 173852881 - ], - [ - null, - null, - null, - "59905 Jonathan Port Apt. 854", - 337858914, - 1594712176 - ], - [ - null, - null, - null, - "40350 Kathleen Landing Suite 912", - 1206793251, - 1506434078 - ], - [ - null, - null, - null, - "847 Alexander Ramp Suite 306", - 259712382, - 1239249801 - ], - [ - null, - null, - null, - "4964 Ashley Mountains", - 188897650, - 334242022 - ], - [ - null, - null, - null, - "74837 Tiffany Alley", - 757965137, - 776394228 - ], - [ - null, - null, - null, - "763 Hannah Estates", - 1249754037, - 1478052123 - ], - [ - null, - null, - null, - "24884 Leroy Loop Apt. 655", - 969552490, - 165488316 - ], - [ - null, - null, - null, - "06999 Nichols Views Apt. 320", - 410594012, - 550998064 - ], - [ - null, - null, - null, - "349 Contreras Stream", - 333525897, - 108686257 - ], - [ - null, - null, - null, - "337 Karl Gateway", - 552663349, - 937172198 - ], - [ - null, - null, - null, - "3563 Dennis Ferry Suite 409", - 163818763, - 230897049 - ], - [ - null, - null, - null, - "863 Hanson Mission", - 1487177042, - 473147042 - ], - [ - null, - null, - null, - "4028 Ronald Tunnel Apt. 090", - 1473895366, - 475982676 - ], - [ - null, - null, - null, - "1201 Mcgee Point", - 1539252599, - 428568512 - ], - [ - null, - null, - null, - "606 Flowers Ford Suite 893", - 1501457023, - 401440766 - ], - [ - null, - null, - null, - "681 Julie Park", - 528766306, - 793954315 - ], - [ - null, - null, - null, - "409 Shelton Mount Suite 426", - 603721333, - 1405236818 - ], - [ - null, - null, - null, - "651 William Divide", - 740076176, - 1228091432 - ], - [ - null, - null, - null, - "73284 Lisa Wall Suite 046", - 1510947807, - 346862909 - ], - [ - null, - null, - null, - "395 Medina Islands Apt. 657", - 1253153538, - 1521782431 - ], - [ - null, - null, - null, - "4705 Derek Harbor Suite 536", - 128632467, - 709287170 - ], - [ - null, - null, - null, - "61049 Riley Burgs", - 343143504, - 1144081467 - ], - [ - null, - null, - null, - "12461 Daniels Terrace Suite 962", - 252933637, - 1182238431 - ], - [ - null, - null, - null, - "563 Lewis Lock", - 1081671745, - 1073198203 - ] - ] - }, - "tableProfile": { - "timestamp": 1634366539, - "columnCount": 6, - "rowCount": 215, - "columnProfile": [ - { - "name": "comments", - "uniqueCount": 9, - "uniqueProportion": 0.17377999, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "products", - "uniqueCount": 29, - "uniqueProportion": 0.1434539832, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "platform", - "uniqueCount": 13, - "uniqueProportion": 0.1327792, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "store_address", - "uniqueCount": 23, - "uniqueProportion": 0.177126, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "store_address", - "uniqueCount": 78, - "uniqueProportion": 0.0396391, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "first_order_date", - "uniqueCount": 48, - "uniqueProportion": 0.0690369, - "distinctCount": 0, - "distinctProportion": 0 - }, - { - "name": "last_order_date", - "uniqueCount": 23, - "uniqueProportion": 0.1210963, - "distinctCount": 0, - "distinctProportion": 0 - } - ] - }, - "databaseSchema": { - "id": "d7be1e2c-b3dc-11ec-b909-0242ac120002", - "type": "databaseSchema", - "name": "sample_data.ecommerce_db.shopify", - "description": "This **mock** Schema contains tables related to shopify sales and orders with related dimension tables.", - "href": "http://localhost:8585/api/v1/databaseSchemas/d7be1e2c-b3dc-11ec-b909-0242ac120002" - }, - "sourceUrl": "http://localhost:8080/raw_product_catalog" - } - ] -======= { "name": "birthdate", "dataType": "VARCHAR", @@ -48514,5 +32493,4 @@ "tags": [] } ] ->>>>>>> c90138501f (Fix #21822: OpenSearch by default limits the number of characters it will analyze for highlighting to 1,000,000 characters. If your description field is very large (e.g. Markdown docs, embedded HTML, or verbose documentation), this limit gets exceeded. (#21821)) } \ No newline at end of file