[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"navigation":3,"/docs/data-sources/inbound-api":100,"/docs/data-sources/inbound-api-surround":884},[4,23,48,68],{"title":5,"path":6,"stem":7,"children":8,"icon":22},"Getting Started","/docs/getting-started","1.docs/1.getting-started/1.index",[9,12,17],{"title":10,"path":6,"stem":7,"icon":11},"Introduction","i-lucide-house",{"title":13,"path":14,"stem":15,"icon":16},"Creating an Account","/docs/getting-started/installation","1.docs/1.getting-started/2.installation","i-lucide-user-plus",{"title":18,"path":19,"stem":20,"icon":21},"Quick Start","/docs/getting-started/usage","1.docs/1.getting-started/3.usage","i-lucide-rocket",false,{"title":24,"path":25,"stem":26,"children":27,"page":22},"Data Sources","/docs/data-sources","1.docs/2.data-sources",[28,33,38,43],{"title":29,"path":30,"stem":31,"icon":32},"Manual Data","/docs/data-sources/manual-data","1.docs/2.data-sources/1.manual-data","i-lucide-file-text",{"title":34,"path":35,"stem":36,"icon":37},"API Sources","/docs/data-sources/api-sources","1.docs/2.data-sources/2.api-sources","i-lucide-globe",{"title":39,"path":40,"stem":41,"icon":42},"Managing Sources","/docs/data-sources/managing-sources","1.docs/2.data-sources/3.managing-sources","i-lucide-settings",{"title":44,"path":45,"stem":46,"icon":47},"Inbound API","/docs/data-sources/inbound-api","1.docs/2.data-sources/4.inbound-api","i-lucide-webhook",{"title":49,"path":50,"stem":51,"children":52,"page":22},"Visualization","/docs/visualization","1.docs/3.visualization",[53,58,63],{"title":54,"path":55,"stem":56,"icon":57},"Charts","/docs/visualization/charts","1.docs/3.visualization/1.charts","i-lucide-chart-line",{"title":59,"path":60,"stem":61,"icon":62},"Combined Views","/docs/visualization/combined-views","1.docs/3.visualization/2.combined-views","i-lucide-layers",{"title":64,"path":65,"stem":66,"icon":67},"Correlations","/docs/visualization/correlations","1.docs/3.visualization/3.correlations","i-lucide-git-compare",{"title":69,"path":70,"stem":71,"children":72,"icon":79},"Projections","/docs/projections","1.docs/4.projections/1.index",[73,75,80,85,90,95],{"title":69,"path":70,"stem":71,"icon":74},"i-lucide-chart-spline",{"title":76,"path":77,"stem":78,"icon":79},"Linear trend projection","/docs/projections/linear","1.docs/4.projections/2.linear","i-lucide-trending-up",{"title":81,"path":82,"stem":83,"icon":84},"Moving average projection","/docs/projections/moving-average","1.docs/4.projections/3.moving-average","i-lucide-activity",{"title":86,"path":87,"stem":88,"icon":89},"Exponential smoothing projection","/docs/projections/exponential-smoothing","1.docs/4.projections/4.exponential-smoothing","i-lucide-waves",{"title":91,"path":92,"stem":93,"icon":94},"Logarithmic projection","/docs/projections/logarithmic","1.docs/4.projections/5.logarithmic","i-lucide-log-in",{"title":96,"path":97,"stem":98,"icon":99},"Growth rate (CAGR) projection","/docs/projections/growth-rate","1.docs/4.projections/6.growth-rate","i-lucide-percent",{"id":101,"title":44,"body":102,"description":878,"extension":879,"meta":880,"navigation":881,"path":45,"seo":882,"stem":46,"__hash__":883},"docs/1.docs/2.data-sources/4.inbound-api.md",{"type":103,"value":104,"toc":871},"minimark",[105,109,114,125,137,141,148,203,206,291,294,383,386,468,472,804,808,819,832,835,839,846,867],[106,107,108],"p",{},"POST JSON to your project endpoint and TotalKPI captures it as a data source. No polling required - your backend pushes data whenever it has something new.",[110,111,113],"h2",{"id":112},"endpoint","Endpoint",[115,116,121],"pre",{"className":117,"code":119,"language":120},[118],"language-text","POST /api/inbound/YOUR_API_KEY\nContent-Type: application/json\n","text",[122,123,119],"code",{"__ignoreMap":124},"",[106,126,127,128,131,132,136],{},"Replace ",[122,129,130],{},"YOUR_API_KEY"," with a key from ",[133,134,135],"strong",{},"Settings → Security",". Each key is scoped to your project.",[110,138,140],{"id":139},"payload-format","Payload format",[106,142,143,144,147],{},"Any flat or nested JSON object works. Include a ",[122,145,146],{},"timestamp"," field (ISO 8601) to record when each data point occurred - otherwise the server's receive time is used.",[115,149,153],{"className":150,"code":151,"language":152,"meta":124,"style":124},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{ \"cpu_usage\": 72.4, \"timestamp\": \"2025-01-15T10:00:00Z\" }\n","json",[122,154,155],{"__ignoreMap":124},[156,157,160,164,167,171,174,177,181,184,186,188,190,192,194,198,200],"span",{"class":158,"line":159},"line",1,[156,161,163],{"class":162},"sMK4o","{",[156,165,166],{"class":162}," \"",[156,168,170],{"class":169},"spNyl","cpu_usage",[156,172,173],{"class":162},"\"",[156,175,176],{"class":162},":",[156,178,180],{"class":179},"sbssI"," 72.4",[156,182,183],{"class":162},",",[156,185,166],{"class":162},[156,187,146],{"class":169},[156,189,173],{"class":162},[156,191,176],{"class":162},[156,193,166],{"class":162},[156,195,197],{"class":196},"sfazB","2025-01-15T10:00:00Z",[156,199,173],{"class":162},[156,201,202],{"class":162}," }\n",[106,204,205],{},"Send multiple fields in one payload to track them all from the same request:",[115,207,209],{"className":150,"code":208,"language":152,"meta":124,"style":124},"{\n  \"cpu_usage\": 72.4,\n  \"memory_usage\": 85.1,\n  \"disk_usage\": 43.0,\n  \"timestamp\": \"2025-01-15T10:00:00Z\"\n}\n",[122,210,211,216,233,250,267,285],{"__ignoreMap":124},[156,212,213],{"class":158,"line":159},[156,214,215],{"class":162},"{\n",[156,217,219,222,224,226,228,230],{"class":158,"line":218},2,[156,220,221],{"class":162},"  \"",[156,223,170],{"class":169},[156,225,173],{"class":162},[156,227,176],{"class":162},[156,229,180],{"class":179},[156,231,232],{"class":162},",\n",[156,234,236,238,241,243,245,248],{"class":158,"line":235},3,[156,237,221],{"class":162},[156,239,240],{"class":169},"memory_usage",[156,242,173],{"class":162},[156,244,176],{"class":162},[156,246,247],{"class":179}," 85.1",[156,249,232],{"class":162},[156,251,253,255,258,260,262,265],{"class":158,"line":252},4,[156,254,221],{"class":162},[156,256,257],{"class":169},"disk_usage",[156,259,173],{"class":162},[156,261,176],{"class":162},[156,263,264],{"class":179}," 43.0",[156,266,232],{"class":162},[156,268,270,272,274,276,278,280,282],{"class":158,"line":269},5,[156,271,221],{"class":162},[156,273,146],{"class":169},[156,275,173],{"class":162},[156,277,176],{"class":162},[156,279,166],{"class":162},[156,281,197],{"class":196},[156,283,284],{"class":162},"\"\n",[156,286,288],{"class":158,"line":287},6,[156,289,290],{"class":162},"}\n",[106,292,293],{},"Nested objects are supported - you'll select the exact path when mapping:",[115,295,297],{"className":150,"code":296,"language":152,"meta":124,"style":124},"{\n  \"server\": \"web-01\",\n  \"metrics\": { \"cpu_usage\": 72.4, \"memory_usage\": 85.1 },\n  \"timestamp\": \"2025-01-15T10:00:00Z\"\n}\n",[122,298,299,303,323,363,379],{"__ignoreMap":124},[156,300,301],{"class":158,"line":159},[156,302,215],{"class":162},[156,304,305,307,310,312,314,316,319,321],{"class":158,"line":218},[156,306,221],{"class":162},[156,308,309],{"class":169},"server",[156,311,173],{"class":162},[156,313,176],{"class":162},[156,315,166],{"class":162},[156,317,318],{"class":196},"web-01",[156,320,173],{"class":162},[156,322,232],{"class":162},[156,324,325,327,330,332,334,337,339,342,344,346,348,350,352,354,356,358,360],{"class":158,"line":235},[156,326,221],{"class":162},[156,328,329],{"class":169},"metrics",[156,331,173],{"class":162},[156,333,176],{"class":162},[156,335,336],{"class":162}," {",[156,338,166],{"class":162},[156,340,170],{"class":341},"sBMFI",[156,343,173],{"class":162},[156,345,176],{"class":162},[156,347,180],{"class":179},[156,349,183],{"class":162},[156,351,166],{"class":162},[156,353,240],{"class":341},[156,355,173],{"class":162},[156,357,176],{"class":162},[156,359,247],{"class":179},[156,361,362],{"class":162}," },\n",[156,364,365,367,369,371,373,375,377],{"class":158,"line":252},[156,366,221],{"class":162},[156,368,146],{"class":169},[156,370,173],{"class":162},[156,372,176],{"class":162},[156,374,166],{"class":162},[156,376,197],{"class":196},[156,378,284],{"class":162},[156,380,381],{"class":158,"line":269},[156,382,290],{"class":162},[106,384,385],{},"To send multiple data points in one request, use an array:",[115,387,389],{"className":150,"code":388,"language":152,"meta":124,"style":124},"[\n  { \"cpu_usage\": 72.4, \"timestamp\": \"2025-01-15T10:00:00Z\" },\n  { \"cpu_usage\": 68.1, \"timestamp\": \"2025-01-15T11:00:00Z\" }\n]\n",[122,390,391,396,429,463],{"__ignoreMap":124},[156,392,393],{"class":158,"line":159},[156,394,395],{"class":162},"[\n",[156,397,398,401,403,405,407,409,411,413,415,417,419,421,423,425,427],{"class":158,"line":218},[156,399,400],{"class":162},"  {",[156,402,166],{"class":162},[156,404,170],{"class":169},[156,406,173],{"class":162},[156,408,176],{"class":162},[156,410,180],{"class":179},[156,412,183],{"class":162},[156,414,166],{"class":162},[156,416,146],{"class":169},[156,418,173],{"class":162},[156,420,176],{"class":162},[156,422,166],{"class":162},[156,424,197],{"class":196},[156,426,173],{"class":162},[156,428,362],{"class":162},[156,430,431,433,435,437,439,441,444,446,448,450,452,454,456,459,461],{"class":158,"line":235},[156,432,400],{"class":162},[156,434,166],{"class":162},[156,436,170],{"class":169},[156,438,173],{"class":162},[156,440,176],{"class":162},[156,442,443],{"class":179}," 68.1",[156,445,183],{"class":162},[156,447,166],{"class":162},[156,449,146],{"class":169},[156,451,173],{"class":162},[156,453,176],{"class":162},[156,455,166],{"class":162},[156,457,458],{"class":196},"2025-01-15T11:00:00Z",[156,460,173],{"class":162},[156,462,202],{"class":162},[156,464,465],{"class":158,"line":252},[156,466,467],{"class":162},"]\n",[110,469,471],{"id":470},"code-examples","Code examples",[473,474,475,529,683,727],"code-group",{},[115,476,481],{"className":477,"code":478,"filename":479,"language":480,"meta":124,"style":124},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","curl -X POST https://totalkpi.com/api/inbound/YOUR_API_KEY \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"cpu_usage\": 72.4, \"memory_usage\": 85.1, \"timestamp\": \"2025-01-15T10:00:00Z\"}'\n","cURL","bash",[122,482,483,501,515],{"__ignoreMap":124},[156,484,485,488,491,494,497],{"class":158,"line":159},[156,486,487],{"class":341},"curl",[156,489,490],{"class":196}," -X",[156,492,493],{"class":196}," POST",[156,495,496],{"class":196}," https://totalkpi.com/api/inbound/YOUR_API_KEY",[156,498,500],{"class":499},"sTEyZ"," \\\n",[156,502,503,506,508,511,513],{"class":158,"line":218},[156,504,505],{"class":196},"  -H",[156,507,166],{"class":162},[156,509,510],{"class":196},"Content-Type: application/json",[156,512,173],{"class":162},[156,514,500],{"class":499},[156,516,517,520,523,526],{"class":158,"line":235},[156,518,519],{"class":196},"  -d",[156,521,522],{"class":162}," '",[156,524,525],{"class":196},"{\"cpu_usage\": 72.4, \"memory_usage\": 85.1, \"timestamp\": \"2025-01-15T10:00:00Z\"}",[156,527,528],{"class":162},"'\n",[115,530,535],{"className":531,"code":532,"filename":533,"language":534,"meta":124,"style":124},"language-js shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","await fetch(\"https://totalkpi.com/api/inbound/YOUR_API_KEY\", {\n  method: \"POST\",\n  headers: { \"Content-Type\": \"application/json\" },\n  body: JSON.stringify({\n    cpu_usage: 72.4,\n    memory_usage: 85.1,\n    timestamp: \"2025-01-15T10:00:00Z\"\n  })\n});\n","Node.js","js",[122,536,537,562,579,606,626,637,648,662,671],{"__ignoreMap":124},[156,538,539,543,547,550,552,555,557,559],{"class":158,"line":159},[156,540,542],{"class":541},"s7zQu","await",[156,544,546],{"class":545},"s2Zo4"," fetch",[156,548,549],{"class":499},"(",[156,551,173],{"class":162},[156,553,554],{"class":196},"https://totalkpi.com/api/inbound/YOUR_API_KEY",[156,556,173],{"class":162},[156,558,183],{"class":162},[156,560,561],{"class":162}," {\n",[156,563,564,568,570,572,575,577],{"class":158,"line":218},[156,565,567],{"class":566},"swJcz","  method",[156,569,176],{"class":162},[156,571,166],{"class":162},[156,573,574],{"class":196},"POST",[156,576,173],{"class":162},[156,578,232],{"class":162},[156,580,581,584,586,588,590,593,595,597,599,602,604],{"class":158,"line":235},[156,582,583],{"class":566},"  headers",[156,585,176],{"class":162},[156,587,336],{"class":162},[156,589,166],{"class":162},[156,591,592],{"class":566},"Content-Type",[156,594,173],{"class":162},[156,596,176],{"class":162},[156,598,166],{"class":162},[156,600,601],{"class":196},"application/json",[156,603,173],{"class":162},[156,605,362],{"class":162},[156,607,608,611,613,616,619,622,624],{"class":158,"line":252},[156,609,610],{"class":566},"  body",[156,612,176],{"class":162},[156,614,615],{"class":499}," JSON",[156,617,618],{"class":162},".",[156,620,621],{"class":545},"stringify",[156,623,549],{"class":499},[156,625,215],{"class":162},[156,627,628,631,633,635],{"class":158,"line":269},[156,629,630],{"class":566},"    cpu_usage",[156,632,176],{"class":162},[156,634,180],{"class":179},[156,636,232],{"class":162},[156,638,639,642,644,646],{"class":158,"line":287},[156,640,641],{"class":566},"    memory_usage",[156,643,176],{"class":162},[156,645,247],{"class":179},[156,647,232],{"class":162},[156,649,651,654,656,658,660],{"class":158,"line":650},7,[156,652,653],{"class":566},"    timestamp",[156,655,176],{"class":162},[156,657,166],{"class":162},[156,659,197],{"class":196},[156,661,284],{"class":162},[156,663,665,668],{"class":158,"line":664},8,[156,666,667],{"class":162},"  }",[156,669,670],{"class":499},")\n",[156,672,674,677,680],{"class":158,"line":673},9,[156,675,676],{"class":162},"}",[156,678,679],{"class":499},")",[156,681,682],{"class":162},";\n",[115,684,689],{"className":685,"code":686,"filename":687,"language":688,"meta":124,"style":124},"language-python shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import requests\n\nrequests.post(\"https://totalkpi.com/api/inbound/YOUR_API_KEY\", json={\n    \"cpu_usage\": 72.4,\n    \"memory_usage\": 85.1,\n    \"timestamp\": \"2025-01-15T10:00:00Z\"\n})\n","Python","python",[122,690,691,696,702,707,712,717,722],{"__ignoreMap":124},[156,692,693],{"class":158,"line":159},[156,694,695],{},"import requests\n",[156,697,698],{"class":158,"line":218},[156,699,701],{"emptyLinePlaceholder":700},true,"\n",[156,703,704],{"class":158,"line":235},[156,705,706],{},"requests.post(\"https://totalkpi.com/api/inbound/YOUR_API_KEY\", json={\n",[156,708,709],{"class":158,"line":252},[156,710,711],{},"    \"cpu_usage\": 72.4,\n",[156,713,714],{"class":158,"line":269},[156,715,716],{},"    \"memory_usage\": 85.1,\n",[156,718,719],{"class":158,"line":287},[156,720,721],{},"    \"timestamp\": \"2025-01-15T10:00:00Z\"\n",[156,723,724],{"class":158,"line":650},[156,725,726],{},"})\n",[115,728,733],{"className":729,"code":730,"filename":731,"language":732,"meta":124,"style":124},"language-php shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","file_get_contents(\"https://totalkpi.com/api/inbound/YOUR_API_KEY\", false,\n  stream_context_create([\n    \"http\" => [\n      \"method\" => \"POST\",\n      \"header\" => \"Content-Type: application/json\",\n      \"content\" => json_encode([\n        \"cpu_usage\" => 72.4,\n        \"memory_usage\" => 85.1,\n        \"timestamp\" => \"2025-01-15T10:00:00Z\"\n      ])\n    ]\n  ])\n);\n","PHP","php",[122,734,735,740,745,750,755,760,765,770,775,780,786,792,798],{"__ignoreMap":124},[156,736,737],{"class":158,"line":159},[156,738,739],{},"file_get_contents(\"https://totalkpi.com/api/inbound/YOUR_API_KEY\", false,\n",[156,741,742],{"class":158,"line":218},[156,743,744],{},"  stream_context_create([\n",[156,746,747],{"class":158,"line":235},[156,748,749],{},"    \"http\" => [\n",[156,751,752],{"class":158,"line":252},[156,753,754],{},"      \"method\" => \"POST\",\n",[156,756,757],{"class":158,"line":269},[156,758,759],{},"      \"header\" => \"Content-Type: application/json\",\n",[156,761,762],{"class":158,"line":287},[156,763,764],{},"      \"content\" => json_encode([\n",[156,766,767],{"class":158,"line":650},[156,768,769],{},"        \"cpu_usage\" => 72.4,\n",[156,771,772],{"class":158,"line":664},[156,773,774],{},"        \"memory_usage\" => 85.1,\n",[156,776,777],{"class":158,"line":673},[156,778,779],{},"        \"timestamp\" => \"2025-01-15T10:00:00Z\"\n",[156,781,783],{"class":158,"line":782},10,[156,784,785],{},"      ])\n",[156,787,789],{"class":158,"line":788},11,[156,790,791],{},"    ]\n",[156,793,795],{"class":158,"line":794},12,[156,796,797],{},"  ])\n",[156,799,801],{"class":158,"line":800},13,[156,802,803],{},");\n",[110,805,807],{"id":806},"mapping-payloads-to-data-sources","Mapping payloads to data sources",[106,809,810,811,814,815,818],{},"The first time your endpoint receives a new payload structure, it appears in ",[133,812,813],{},"Settings → Inbound"," under ",[133,816,817],{},"Unmapped Payloads",". Click it to open the mapping modal:",[820,821,822,826,829],"ol",{},[823,824,825],"li",{},"Pick which numeric field(s) to track.",[823,827,828],{},"Set a name, unit, and target page for each field.",[823,830,831],{},"Save - a template is created for this payload structure.",[106,833,834],{},"Every subsequent payload with the same structure is processed automatically using that template.",[110,836,838],{"id":837},"templates","Templates",[106,840,841,842,845],{},"Templates are listed in ",[133,843,844],{},"Settings → Inbound → Saved Payload Templates",". You can:",[847,848,849,855,861],"ul",{},[823,850,851,854],{},[133,852,853],{},"Pause"," a template to stop storing new data without deleting it.",[823,856,857,860],{},[133,858,859],{},"Add paths"," to an existing template by clicking \"View payload\" and selecting an unmapped field.",[823,862,863,866],{},[133,864,865],{},"Delete"," a template, optionally deleting the linked data source too.",[868,869,870],"style",{},"html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}",{"title":124,"searchDepth":218,"depth":218,"links":872},[873,874,875,876,877],{"id":112,"depth":218,"text":113},{"id":139,"depth":218,"text":140},{"id":470,"depth":218,"text":471},{"id":806,"depth":218,"text":807},{"id":837,"depth":218,"text":838},"Push JSON data to your project endpoint to automatically create and update chart data sources.","md",{},{"icon":47},{"title":44,"description":878},"_PESjvclGwIWYTiXRmwbGyWg1qpZBcbnQRQg9grWNv4",[885,887],{"title":39,"path":40,"stem":41,"description":886,"icon":42,"children":-1},"Edit, update, and remove your data sources.",{"title":54,"path":55,"stem":56,"description":888,"icon":57,"children":-1},"Interactive line charts for visualizing your data over time."]